Jump to content

Конкурс «Закулисный C»

Конкурс Underhanded C представлял собой соревнование по программированию , целью которого было создание вредоносного кода, но проходящего тщательную проверку и выглядящего как честная ошибка, даже если она была обнаружена . В правилах конкурса определены задача и вредоносный компонент. Заявки должны выполнить задачу злонамеренным образом, как это определено конкурсом, и скрыть злой умысел. Участникам разрешается использовать компилируемые языки типа C для создания своих программ. [1]

Конкурс организовал доктор Скотт Крейвер. [2] кафедры электротехники Бингемтонского университета . Первоначально конкурс был вдохновлен конкурсом Дэниела Хорна Obfuscated V осенью 2004 года. [3] В конкурсах 2005–2008 годов призом был подарочный сертификат ThinkGeek на 100 долларов . Приз конкурса 2009 года был увеличен до 200 долларов из-за очень позднего объявления победителей, а призом конкурса 2013 года также является подарочный сертификат на 200 долларов.

Конкурсы

[ редактировать ]

Задача конкурса 2005 года заключалась в базовой обработке изображений , такой как повторная выборка или сглаживание, но скрытой вставке « отпечатков пальцев в изображение уникальных и полезных данных ». В работах-победителях 2005 года использовались неинициализированные структуры данных, повторное использование указателей и встраивание машинного кода в константы .

В конкурсе 2006 года требовались заявки для подсчета вхождений слов, но время выполнения на разных платформах было совершенно разным. Для выполнения задачи в записях использовались ошибки реализации форка, проблемы оптимизации, различия в порядке байтов и различные различия в реализации API. Победитель вызывал strlen() в цикле, что приводило к квадратичной сложности, которая была оптимизирована компилятором Linux, но не Windows.

Для участия в конкурсе 2007 года требовалось зашифровать и расшифровать файлы с помощью надежного и легкодоступного алгоритма шифрования, позволяющего за достаточно короткое время взломать небольшой процент (1–0,01%) зашифрованных файлов. Конкурс начался 16 апреля и завершился 4 июля. В работах использовались неправильные реализации RC4, неправильные вызовы API и неправильные прототипы функций.

Конкурс 2008 года требовал от участников отредактировать прямоугольную часть изображения PPM таким образом, чтобы эту часть можно было реконструировать. Разрешался любой метод «блокирования» прямоугольника при условии, что исходные пиксели были удалены, а реконструкция пикселей не обязательно должна быть идеальной. [4] (хотя при оценке будет учитываться соответствие реконструкции исходному файлу). Конкурс начался 12 июня и завершился 30 сентября. Записи имели тенденцию либо исключать регион с помощью извлекаемой псевдослучайной маски, либо добавлять замаскированные данные в конец формата файла. Обе программы, занявшие второе место, использовали неправильно определенные макросы, в то время как победитель, выбрав работу с необычным текстовым форматом, обнулил значения пикселей, сохранив при этом количество цифр.

Конкурс 2009 года требовал от участников написать программу, которая анализирует директивы маршрутизации, но перенаправляет часть багажа на основе какого-то безобидного на вид комментария в файле входных данных, разделенном пробелами. Конкурс начался 29 декабря 2009 г. и должен был завершиться 1 марта 2010 г. [5] Однако в течение трех лет никакой активности не наблюдалось. Победители были объявлены только 1 апреля 2013 года: один абсолютный победитель и шесть, занявшие вторые места. [6] [7]

Конкурс 2013 года был объявлен 1 апреля 2013 года и должен был состояться 4 июля 2013 года; Результаты были объявлены 29 сентября 2014 года. [8] Речь шла о вымышленном социальном сайте ObsessBook. Задача заключалась в том, чтобы написать функцию для вычисления DERPCON (степени достижимого личного соединения) между двумя пользователями, которая «случайно» вычисляет слишком малое расстояние для специального пользователя.

Конкурс 2014 года был объявлен 2 ноября 2014 года и должен был состояться 1 января 2015 года. Результаты были объявлены 1 июня 2015 года. [9] Целью было написать код наблюдения для Twitter , похожей на службы социальной сети , чтобы выполнить секретный правительственный запрос на наблюдение; но по неочевидным причинам код должен незаметно передавать пользователю информацию о слежке. Общий подход заключается в том, чтобы скрыть запись в пользовательские данные как запись в данные наблюдения, и победившая запись сделала это, реализовав ошибочную функцию проверки времени, которая перезаписывает входные данные.

Конкурс 2015 года был объявлен 15 августа 2015 года и должен был состояться 15 ноября 2015 года. Результаты были объявлены 15 января 2016 года. Сценарием был процесс ядерного разоружения между Народной Славной Демократической Республикой Алисы и Славной Демократической Народной Республикой. Боба ( Алиса и Боб ), и миссия заключалась в написании тестовой функции для сравнения потенциально расщепляющегося материала с эталонным образцом, которая при определенных обстоятельствах помечала бы боеголовку как содержащую расщепляющийся материал, хотя на самом деле это не так. Около трети представленных материалов использовали отравление NaN ошибочными операциями с плавающей запятой, что генерирует больше NaN в последующих вычислениях и всегда дает значение false для сравнения.Победившая работа использовала путаницу типов данных между double и float, чтобы исказить значения.

См. также

[ редактировать ]
  1. ^ «Возобновление конкурса закулисного C» . Я Программист. 6 апреля 2013 года . Проверено 4 октября 2014 г.
  2. Страница преподавателей и сотрудников кафедры ЭЭ Бингемтонского университета. Архивировано 29 мая 2010 г., в Wayback Machine.
  3. ^ «Часто задаваемые вопросы по конкурсу «Закулисный C»» . Конкурс «Закулисный C» . Проверено 28 февраля 2015 г.
  4. Правила конкурса 2008 г. Архивировано 22 марта 2015 г. в Wayback Machine.
  5. ^ The Underhanded C Contest » , xcott.com (архивировано из оригинального архива от 6 октября 2014 г., на Wayback Machine 18 июля 2011 г.)
  6. ^ «Конкурс Underhanded C» Кроме того, мы ищем хороших аспирантов» . 8 января 2010 года. Архивировано из оригинала 8 января 2010 года . Проверено 12 марта 2019 г.
  7. ^ «Конкурс закулисного C» . Архивировано из оригинала 9 апреля 2013 года . Проверено 3 апреля 2013 г.
  8. ^ Скотт Крейвер (29 сентября 2014 г.). «Победители 2013 года» . Проверено 22 июня 2017 г.
  9. ^ Скотт Крейвер (2 ноября 2014 г.). «Седьмой конкурс Underhanded C открыт» . Проверено 18 декабря 2014 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5fddeda1759f1920eab289dd1a11367d__1713292140
URL1:https://arc.ask3.ru/arc/aa/5f/7d/5fddeda1759f1920eab289dd1a11367d.html
Заголовок, (Title) документа по адресу, URL1:
Underhanded C Contest - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)