Стартовал Тайный конкурс C 2015


Был запущен последний ежегодный Тайный конкурс C, в котором была поставлена новая задача по написанию невинного на вид кода C, который является настолько читаемым, понятным и, казалось бы, заслуживающим доверия, насколько это возможно, но скрыто реализует вредоносную функцию.

Конкурс проходит уже 8-й год и продолжает набирать популярность, тем самым тратя много часов полезного времени на разработку, поскольку программисты придумывают неясные способы скрыть скрытое поведение в явно чистом коде.

Идея заключается в том, что ваш исходный код должен выглядеть простым, чтобы другой программист прочитал код и не обнаружил проблемы. В то же время код должен делать что-то ” вредоносное’. Предыдущие проблемы включали в себя неправильный подсчет голосов, выбивание денег из финансовых операций и утечку информации для подслушивающего устройства.

Тема этого года звучит решительно изворотливо и запутанно.

Задача состоит в том, чтобы подделать ответы на испытания ядерного расщепляющегося материала. Люди, проводящие Тайный конкурс C, сотрудничают с Инициативой по ядерной угрозе (http://www.nti.org/), некоммерческая, беспартийная организация, работающая над уменьшением угрозы ядерного, химического и биологического оружия.

В реальном мире необходимость мониторинга ядерного оружия и проверки, когда страны утверждают, что они вывели из эксплуатации или уничтожили ядерный материал, очевидно, является сложной и серьезной задачей. В менее серьезном мире конкуренции задача заключается в проверке данных, свидетельствующих о наличии или отсутствии ядерного расщепляющегося материала. Изюминка заключается в том, что код также должен предоставить неверный результат (по порядку), показывающий, что расщепляющийся материал присутствует, когда на самом деле его нет.

Как поясняет сайт конкурса:

“Две страны, Народная Славная Демократическая Республика Алиса и Славная Народно-Демократическая Республика Боб, договорились о договоре о ядерном разоружении. На практике это осуществляется ядерными инспекторами, посещающими каждую страну и проверяющими наличие расщепляющегося материала, такого как плутоний, в боеголовке, после чего боеголовка может быть уничтожена”.

К сожалению, ни одна из сторон не хочет, чтобы инспекторы соперника видели такие данные, как радиограмма или гамма-спектр тестируемого объекта, потому что это выдало бы слишком много информации. Вместо этого страны соглашаются разработать компьютерную программу, которая берет результат сканирования, определяет, соответствует ли он некоторому эталонному шаблону, и выводит только “да” или “нет”.”

Закулисная часть конкурса заключается в том, что ваша программа должна точно ответить ” да ” или “нет”, но также должна быть в состоянии показать, что ядерный материал присутствует, даже если его нет. Этот неправильный ответ должен быть дан только при определенных обстоятельствах, по существу, под вашим контролем. Код для этого должен быть трудно обнаружить, и вы получаете очки, если ошибочный код можно правдоподобно отрицать как невинную ошибку программирования.

Как всегда, дополнительные баллы начисляются за юмористические, злобные или ироничные ошибки, такие как склонное к ошибкам поведение в процедуре проверки ошибок.

Код должен быть представлен до 15 ноября, и победитель конкурса этого года получит 1000 долларов. НТИ вносит свой вклад в конкурс этого года, как предлагая приз, так и планируя последующий совместный конкурс по программированию после завершения регулярного Скрытого конкурса. 


Добавить комментарий