на главную | войти | регистрация | DMCA | контакты | справка | donate |      

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Э Ю Я


моя полка | жанры | рекомендуем | рейтинг книг | рейтинг авторов | впечатления | новое | форум | сборники | читалки | авторам | добавить



Состязания по взломам и хакерству

Мы часто сталкиваемся с объявлениями: «Компания X предлагает 10 000 долларов каждому, кто прорвется через ее брандмауэр (взломает ее алгоритм, успешно использует ее протокол в мошеннической операции или сделает что-либо подобное)». Эти состязания хакеров проводятся для демонстрации того, насколько сильна и надежна защита объектов, подвергающихся нападениям. Логика здесь примерно такова: «Мы предложили приз за взлом цели, но никто не сделал этого. Значит, цель хорошо защищена».

Но это не так.

Состязания – негодный способ демонстрации безопасности. Очевидно, продукт (или система, протокол, алгоритм), выдержавший испытание, заслуживает не больше доверия, нежели тот, который ему не подвергался. Результаты состязаний вообще не содержат никакой полезной информации. Тому есть четыре основных причины.

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

Состязания по взлому компьютеров ничем не лучше. Они не раскрывают того, как используются программные продукты, поэтому ничего нельзя сказать относительно того, что является причиной взлома: изъяны самого продукта или ошибки, допущенные при его установке или конфигурировании. Они выявляют особенности различных частей системы: если в состязании проверяется надежность брандмауэра, то что можно сказать об уязвимости операционной системы, из-за недостатков которой этот брандмауэр может оказаться неэффективным?

Правила, по которым определяют победителя состязаний, также произвольны. В 1999 году Microsoft установила веб-сервер Windows 2000 и рискнула предложить хакерам взломать его. Внезапно сервер исчез из Интернета. Вскоре он появился вновь, и Microsoft успокоила, что причиной небытия было отключение питания. (Как это ни странно, похоже, что действительно просто забыли установить систему бесперебойного питания и это сказалось на испытании.)

Нечестные соревнования не новы. В середине 1980-х проводили состязание авторы алгоритма шифрования, названного FEAL. Они предложили файл с зашифрованным текстом и обещали награду первому, кто его прочитает. С тех пор алгоритм неоднократно взламывался. Все признают, что FEAL совершенно ненадежен, однако никто так и не был признан победителем.

Во-вторых, результаты состязания невозможно проанализировать. Они представляют собой случайные, бессистемные испытания. Вправе ли мы считать, что работа десяти человек, каждый из которых затратил по 100 часов, соответствует 1000 часов анализа? Может быть, все они пытались провести одни и те же нападения? Обладают ли они достаточной компетенцией для такого исследования, или они только случайные люди, которые услышали о состязании и захотели испытать удачу? Одно только то обстоятельство, что никто не побеждает в конкурсе, не означает, что цель надежно защищена. Из него следует всего лишь, что никто не признан победителем…

В 1999 году журнал PC Magazine объявил одновременно состязания по взлому Windows NT и Linux box. Первой была взломана вторая. Свидетельствует ли это о том, что Linux менее надежен? Конечно, нет; это означает только, что участники игры сначала проникли в Linux box.

В-третьих, объявленная награда редко бывает достаточным стимулом для участия профессионалов в состязаниях. Анализ безопасности требует большого труда. Люди, хорошо разбирающиеся в этих вопросах, берутся за такую работу по разным мотивам (деньги, престиж, борьба со скукой), но стремление выиграть тенниску едва ли побудит их к этому. Профессионалы в области безопасности зарабатывают гораздо больше, занимаясь своей обычной работой на заказчика или публикуя статьи с результатами своих исследований.

Взглянем на ситуацию с позиций материальной заинтересованности. В среднем час работы компетентного аналитика криптографии или ведущего специалиста по компьютерной безопасности стоит 200 долларов. Всего за неделю работы они получают 10 000 долларов. Этого времени недостаточно, чтобы разобраться с кодом. Вознаграждение в 100 000 долларов выглядит соблазнительно, но обратное проектирование – скучное занятие, а для исчерпывающего изучения все равно не хватит времени. Награда в миллион долларов уже вызывает интерес, но большинство компаний не могут позволить себе предложить такую сумму. Да и исследователь не имеет никакой гарантии в получении вознаграждения: он может ничего не найти или, смертельно устав от бесплодных попыток, проиграть кому-то другому, кроме того, компания способна изменить правила игры и ничего не заплатить. Неужели кто-то будет жертвовать своим временем (и рисковать добрым именем) ради рекламной акции какой-то компании?

И в-четвертых, состязания никогда не приводят к положительному результату в отношении безопасности. Если что-то было взломано, понятно, что это ненадежно. Но если цель устояла, это вовсе не означает, что она защищена.

Все эти четыре причины являются общим правилом. Бывают и исключения, но редко. Состязания по взлому RSA, как с помощью разложения на множители, так и путем лобовой атаки на симметричный алгоритм, – все это честные и хорошие соревнования. Эти соревнования успешны не потому, что исследователи борются за денежные призы, а вследствие того, что интерес к проблеме взлома этого алгоритма тем или иным способом присутствует всегда. Просто соревнования фокусируют внимание на том, что само по себе интересно. Конкурсы по взлому AES – больше соревнования, чем криптоаналитические расчеты, но они также были честными.

Состязания, если они правильно проводятся, могут принести пользу в отдельных областях исследований. Они помогают находить недостатки и исправлять их. Но они бесполезны для оценки безопасности. Хозяин может предложить 10 000 долларов тому, кто проникнет в его дом и украдет книгу с определенной полки. Но если никто не сделает этого в установленный срок, то это не значит, что дом надежно защищен. Возможно, никто из потенциальных взломщиков просто не слышал о конкурсе. Возможно, они были слишком заняты другими делами. Возможно, они не знали, как проникнуть в дом, но знали обходной путь: как подделать свидетельство о праве на недвижимость и перевести дом на свое имя. Может быть, они проникли в дом, но осмотрелись и поспешили убраться, прихватив нечто, стоящее больше 10 000 долларов. Поэтому состязания ничего не доказывают.

Состязания по криптоанализу – вообще не более чем реклама продукции. Даже честность устроителей не гарантирует того, что будет проведен анализ безопасности цели. Если цель устоит, это не будет означать, что нет недостатков в ее защите.


Перепроектирование и закон | Секреты и ложь. Безопасность данных в цифровом мире | Оценка и выбор продуктов безопасности