Ловушка конкурсов по взлому

https://www.schneier.com/crypto-gram-9812.html
  • Перевод
В продолжение этого топика и новости о конкурсе от разработчиков Telegram предлагаю вашему вниманию перевод статьи Брюса Шнайера 1998 года. В упомянутом топике ссылались на другую его статью, но именно эта, мне кажется, хорошо раскрывает тему бессмысленности затеи с конкурсами. Кстати, именно Брюс, одним из первых, если не первым, заподозрил закладку в затронутом там же ГПСЧ от АНБ.

image

Вы слышите про них постоянно: «Компания Х выплатит $1,000,000 любому, кто сможет пробить их фаервол/взломать их алгоритм/провести мошенническую транзакцию и использованием их протокола/что угодно еще». Это конкурсы по взлому, и они предназначены, чтобы показать, как защищены и безопасны объекты этих конкурсов. Логика примерно такая: мы предложили много денег за взлом нашего продукта, но никто не взломал. Следовательно, продукт безопасен.

Отнюдь.



Конкурсы — ужасный способ продемонстрировать безопасность. Продукт/система/протокол/алгоритм, выдержавший конкурс, очевидно, ничуть не более надежен, чем тот, что никогда не участвовал в конкурсах.
Лучшие продукты/системы и т.д. на сегодня не были объектами конкурсов и, скорее всего, никогда не будут. Конкурсы вообще не производят полезной информации. И тому есть основные причины.

1. Конкурсы в большинстве случаев нечестны

Криптоанализ подразумевает, что атакующий знает все, кроме секрета (пароля). У него есть доступ к алгоритмам и протоколам, исходному коду, ко всему. Он знает шифротекст и исходный текст. Он даже может знать кое-что о ключе.

И результатом криптоанализа может стать все, что угодно. Это может оказаться и полный взлом: результат, ломающий защиту за разумное время. Может быть взлом теоретический: результат непригоден для реального взлома, но, тем не менее, демонстрирует, что защита не так хороша, как обещалось. Может быть и что-то среднее между этими двумя случаями.

Большинство конкурсов по криптоанализу имеет деспотичные правила, определяющие, с чем придется работать атакующему и как выглядит успешный взлом. Jaws Technologies предлагали шифротекст и, не объясняя, как работает их алгоритм, предлагали приз любому, кто сможет восстановить исходный текст. Криптоанализ так не работает; если никто не выиграет такой конкурс, это не будет значить ничего.

Большинство конкурсов не раскрывают алгоритм. И поскольку большинство криптоаналитиков не достаточно подкованы в обратном инжиниринге (лично я нахожу его скучным и утомительным), они даже не пытаются анализировать систему. Вот почему COMP128, CMEA, ORYX, шифрование Firewire, шифрование DVD, и Netscape PRNG были взломаны через считанные месяцы с момента обнародования (несмотря на то, что некоторые из них широко использовались многие годы). После раскрытия алгоритма изъян часто легко виден, но могут пройти годы, прежде чем у кого-нибудь дойдут руки разгадать и опубликовать алгоритм. И конкурсы тут не помогут.

(Предыдущий параграф, конечно, не справедлив для военных целей. Существует бессчетное количество успешных примеров реверс-инжиниринга [VENONA, PURPLE]. Но академический мир живет по другим законам, к счастью или к сожалению.)

Нечестные конкурсы — не новинка. Еще в середине 80-х авторы алгоритма шифрования FEAL устроили соревнование. Они дали файл с шифротекстом и предложили приз за расшифровку. Алгоритм неоднократно взламывался криптографами путем дифференциального, а после и линейного криптоанализа, и путем прочих статистических атак. Все согласны, что алгоритм безнадежно плох. Но, соревнование, тем не менее, никто так и не выиграл.

2. Анализ никак не контролируется

Конкурсы суть случайные тесты. Можно ли считать, что 10 человек, каждый потративший по 100 часов на взлом, наработали 1000 часов криптоанализа вместе? Или они пробовали одни и те же вещи? Являются ли они компетентными аналитиками или же это просто случайные люди, узнавшие про конкурс и решившие попытать счастья? То, что никто не победил, не значит, что объект надежен… просто никто не победил.

3. Вознаграждения в конкурсах редко оказываются хорошими стимулами

Криптоанализ алгоритма, протокола или системы может потребовать много сил и времени. Люди, умеющие это делать, готовы это делать по разным причинам — деньги, престиж, скука — но нечасто лишь из желания выиграть конкурс. Криптосообществе относится к конкурсам скептически: большинство компаний-спонсоров соревнований малоизвестны, и люди не верят, что судейство будет честным. Да и победа в конкурсе, конечно, не гарантирована: кто-то может вас обойти, оставив вас без вознаграждения за всю вашу работу. Криптоаналитики скорее готовы анализировать системы, где им платят за саму их работу по анализу, или где они смогут опубликовать статью, объясняющую их результаты.

Посмотрим для интереса на экономику. Возьмем осторожно $125 в час за работу компетентного аналитика, приз $10,000 — это две недели работы, зачастую не достаточно даже чтобы как следует разобраться в коде. За $100,000 можно попробовать ввязаться, но реверс-инжиниринг вещь утомительная, и опять времени вряд ли окажется достаточно для тщательной работы. $1000,000 выглядит интересно, но большинство компаний этого себе позволить не могут. А аналитик, между тем, не имеет гарантии оплаты: он может ничего не найти, его могут обойти конкуренты, или компания может и вовсе передумать и не заплатить. Должен ли криптоаналитик жертвовать своим временем (и добрым именем) во благо пиар-акции компании?

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

Настоящей мерой надежности можно считать лишь общий объем проведенного анализа, а не то, проводился или нет конкурс. А анализ — процесс долгий и трудный. Люди доверяют криптографическим алгоритмам (DES, RSA), протоколам (Kerberos), и системам (PGP, IPSec) не из-за конкурсов, но благодаря годам (даже десятилетиям) взаимного рецензирования и анализа. И анализировались эти алгоритмы не из-за неуловимого приза, а потому, что были интересны или широко использовались. Анализ 15 кандидатов на AES займет несколько лет (напомню, это 1998 год /прим. пер./). Во всем мире не найдется такого приза, из-за которого лучшие криптоаналитики бросят все свои дела и побегут исследовать продукцию Meganet Corporation или RPK Security Inc.(две компании, недавно объявившие конкурсы по взлому). Гораздо интереснее найти уязвимости в Java, Windows NT или защите сотовых сетей.



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

Наш собственный конкурс по криптоанализу Twofish предлагает $10,000 за лучшие негативные комментарии об алгоритме, не написанные авторами. Деспотичных правил, что считается победой, нет. Нет шифротекста для взлома или ключей для раскрытия. Мы просто хотим поощрить наиболее существенное исследование, каким бы оно ни было и насколько успешным (или неуспешным) оно ни было. Еще раз, конкурс честен, ибо 1) алгоритм полностью известен, 2) нет волюнтаристских правил, и 3) алгоритм в общественном достоянии ( 4) у него другая цель — НЕ доказать надежность алгоритма /прим. пер./)

Конкурсы, если правильно организованы, могут дать много полезной информации и вознаградить конкретную область исследования. Но они не могут быть мерилом безопасности. Я мог бы предложить $10,000 первому, кто вломится ко мне домой и украдет книгу с полки. Если никто этого не сделает до конца конкурса, вряд ли я могу быть спокоен за безопасность моего жилища. Может оказаться, что приличные грабители просто не слышали про мой конкурс. А может, они заняты другими делами. Или они не смогли вломиться в дом, но придумали, как подделать право собственности и оформить его на себя. Или таки залезли в дом, но оглядевшись, решили подождать и вернуться, когда на кону окажется что-нибудь получше $10,000. Конкурс не доказал ничего.
Поделиться публикацией
Ой, у вас баннер убежал!

Ну. И что?
Реклама
Комментарии 44
    +60
    Суть многих его статей

      +31
      И ведь чаще всего он прав, так оно и есть.
        +14
        Можно такое же написать про любую сферу деятельности. И это снова будет правдой. :) Потому что очень маленький % людей занимается своей работой серьезно.

        Асфальт?
        вы кладете его неправильно

        Машины?
        вы водите их как обезьяны

        Интерфейсы?
        вы вообще в курсе, что это слово не про цвет кнопочек

        и т.п.
          +14
          А как же самое каноничное в рунете: «ваша визитка — говно»
            +1
            Этот канон прошел мимо меня, к счастью или сожалению. :) Я взял примеры из головы, просто глядя на экран монитора и в окно.
            –3
            Интерфейсы?
            вы вообще в курсе, что это слово не про цвет кнопочек

            Не только про цвет кнопочек (если вы про GUI).
              0
              Цвет кнопочек приходит в интерфейс (тот, который GUI) опосредовано. :)
                0
                Цветовое кодирование, всё-таки, важная вещь. И он приходит в GUI непосредственно. Красные рычаги стопкранов, зелёные таблички с направлением выхода, синие указатели, зелёные знаки автомагистрали и т.п. — это всё часть GUI, позволяющая сделать его более интуитивно-понятным.

                Если перевести цвет кнопочки GUI на интерфейсы ООП, получим примерно следующие асоциации:
                Красная кнопка -> interface RedButton extends Button, DangerControl

                Так что цвет — это вполне себе часть интерфейса в определённых условиях (при использовании цветового кодирования).
                  0
                  Интерфейс — не про цвет. Цвет — это проекция на наше восприятие задач, стоящих перед интерфейсом.
                    0
                    Цвет — это проекция на наше восприятие задач, стоящих перед интерфейсом

                    Цветовое кодирование — это один из методов решения задач интерфейса с учётом специфики восприятия целевой аудитории.
                0
                Хотя, наверное, надо было использовать «дизайн» вместо «интерфейс».
                  0
                  Как я понял, вы именно GUI и имели ввиду. Так как дизайн, по сути, это тоже не только про GUI, а про проектирование в целом.

                  Но в целом, конечно, согласен, одним цветом кнопочек хороший GUI не сделаешь.
                  0
                  То есть, API уже не интерфейс? Ну как же, кнопочек нет, и не GUI. А к чему там буковка «I» в конце? ;)
                    0
                    Я привык думать в контексте.

                    Если вырвать, например, ваш комментарий из контекста, то может показаться, что я оспариваю тот факт, что API — интерфейс.

                    Теперь поставьте рядом два слова — «кнопочки» и «интерфейс» и подумайте, о каком интерфейсе говорил автор: habrahabr.ru/post/206738/#comment_7123376
              +3
              Последний раз послушав его на конференции про то, как работают спец.службы в России сидел с улыбкой на лице. Он отлично рассказывает всем про то, что все знают и хотят знать, но заметил сравнивая со своим опытом, что многое сильно расходиться с реальностью.
              +1
              А как насчет компаний-конкурентов, желающих доказать что продукт того, кто создал конкурс — незащищенный? Теоретически возможен такими компаниями конкурентами найм криптоаналитиков для удержания своих позиций?
                +1
                По условиям конкурса ты скорее всего должен будешь рассказать о методе взлома, а значит авторы дырку смогут закрыть. Конкурентам это невыгодно.
                  0
                  Дырку то закроют, но новость о том что «ххх был взломан! без смс!» разойдётся далеко и быстро. Тем более дырку всё равно в конечном итоге рано или поздно закроют, но без широкой огласки.
                    +1
                    Дорого :)

                    Чем хорош конкурс? Скорее всего не взломают, денюжка останется при компании, и можно заявить, что лучшие криптографы не смогли поломать продукт в конкурсе за $XXXXXXX.
                    А найм криптоаналитиков — удовольствие дорогое; мало того, они еще могут и не найти ничего. Особенно, если конкурент алгоритм в секрете держит.
                      0
                      Дорого и ненадежно — судить о квалификации криптоаналитиков, чтобы нанять их для дискредитации конкурентов, для неквалифицированного менеджера — слишком сложно.
                +10
                Должен ли криптоаналитик жертвовать своим временем (и добрым именем) во благо пиар-акции компании?


                Действительно, вся эта затея с телеграмом, дешевый пиар и все. Я кстати, не знал про него до этого конкурса. Можно считать, что PR-акция и брендинг нового продукта успешно выполнены :) Done!
                  0
                  Да, зато какой пиар! Всего неделю назад я про Телеграмм слыхом не слыхивал, а сейчас, благодаря статьям на хабре (в том числе и уничтожительным), уже сколько знаю хорошего про них.
                  0
                  А как же немаловажный фактор — профит от эксплуатации уязвимости? И совсем не обязательно результатом будут деньги. Какие там конкурсы…
                    +26
                    В мире тайных операций о способности Моссада войти в любую закрытую дверь рассказывали легенды. Долгое время считалось, что в науке о кражах со взломом Моссаду нет и не может быть равных. Если бы в Уотергейте работала бригада из отдела Невиот, никто никогда ни о чем бы не узнал.
                    Репутация израильских специалистов была настолько высока, что когда британские промышленники выпускали новый образец замка и посылали его на проверку в Интеллидженс сервис и Сенчери хаус, последний отправлял образец дальше, в Тель Авив. Хитрые моссадовцы изучали замок, находили способ, как при необходимости его можно будет открыть, и затем возвращали в Лондон с характеристикой «неуязвимый для взлома».

                    Ф. Форсайт «Кулак Аллаха»
                    +1
                    Забавно. Статья 1998 года — а мне-то казалось, что тенденция проведения конкурсов только в последние 2-3 года набрала такую силу.
                      –1
                      Так это российская тенденция. Мы просто отстали на N лет.
                        +4
                        Мы отстаем на полтора десятилетия от всего мира? :) Это… новость?
                        +1
                        Если я правильно понимаю, первый пункт не применим к телеграмному конкурсу, потому что алгоритм открыт и любой человек может повторить каждый из этапов обмена сообщениями с полным набором данных.
                          +2
                          Применим, хоть не на 100%.
                          Результатом криптоанализа весьма редко является взлом конкретного зашифрованного сообщения. Вспомните ломаный-переломаный WEP: чтобы разгадать ключ, надо что-то около пары минут собирать пакеты, но, имея на руках один единственной зашифрованный пакет, не думаю, что у вас будет шанс его расшифровать.
                            –1
                            Я так понимаю, надо просто найти в алгоритме дырку, а потом уже использовать ее для взлома конкретного дампа.

                            Для нахождения дырки есть открытый API, несколько его программных реализаций и столько дампов, сколько человек сможет себе нагенерить самостоятельно.

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

                            Да, с открытыми исходниками серверной части конкурс был бы больше похож на «доказательство безопасности». Но лишь похож.
                              +5
                              Не факт, что дырка позволит взломать конкретный дамп.

                              Вот, например, MD5 дыряв настолько, что даже сделали поддельный сертификат. Но это не поможет восстановить произвольно взятый хеш.
                                +7
                                Мой третий абзац именно про это. ;)

                                В параллельном посте, кстати, уже привели ответ Дурова на многочисленные предъявы: с каждым этапом конкурса будут открываться все новые и новые инструменты. Естественно, это пиар, но хороший, правильный, умелый пиар. :) У нас в стране мало кто умеет его делать, кстати.
                                  0
                                  И тем не менее, он упорно не хочет вылезать из ловушки, о которой пишет Шнайер:

                                  If Telegram proves to be robust in this respect, more tools to manipulate traffic and wider contests with similar prizes are to follow. Like all startups, this contest by Telegram starts from solving a basic but most important problem, then gradually gets more complicated in functionality and scope


                                  А так, флаг ему в руки, конечно, с его велосипедом.
                                  С точки зрения криптографии, мне куда больше нравятся идеи OTR.
                                    +2
                                    Для кого это является ловушкой? :) Я же написал — да, это пиар. До момента доступа к исходным кодам серверной части это будет пиаром. После доступа — еще более громким, но тоже пиаром, потому что практика показала невозможность быстрого нахождения уязвимостей/закладок в реализациях сложных криптоалгоритмах. Так в чем разница?
                                      +2
                                      Ок, согласен, пиар.
                                      Интересно, будет ли это развиваться в сторону нормального исследования (деньги-то у Дурова на это вполне найдутся) или в цепочку пиар-доказательств?
                                        +1
                                        Я не уверен, что можно в рамках использования общедоступной инфраструктуры серверов произвести математическое доказательство стойкости конкретной реализации протокола, которое будет верно в течении сколько-нибудь пристойного времени (см. статью про то, что можно услышать RSA шифрование).

                                        Опять же, любая безопасность — это просто повышение цены ее преодоления. Потому что если кому-то что-то будет действительно интересно, то никто не отменял ректальный криптоанализ на всех 7 уровнях OSI. И если кто-то захочет использовать свои OSI, то можно спуститься до 8-го и просто узнать все у одного из участников беседы. :)
                          –2
                          Было бы неправильно не упомянуть в этом обсуждении тот факт, что Дуров собирается сделать этот конкурс постоянным — если в текущем конкурсе будет победитель, то после устранения уязвимости будет объявлен следующий конкурс с большее высокой наградой, а если победитель до марта не найдется — второй конкурс будет также объявлен, а затем третий, четвертый, и так далее. Пруф на английском языке и перевод на русский.
                            0
                            Неудивительно — пиариться-то надо. Почему конкурсы такого рода бессмысленны с точки зрения доказательства криптостойкости, Шнайер прекрасно объяснил. А с точки зрения пиара шаг прекрасный.

                            Правильный конкурс был бы такой: выкладываются полные исходные коды клиента и сервера, делайте, что хотите, выплата — от $min до $max в зависимости от серьезности уязвимости.
                            +13
                            Крайне забавно, когда за найденную уязвимость предлагают 10000$, в то время когда эксплуатация уязвимости в преступных целях принесет намного больше денег (эксплуатация или продажа). Поэтому такие конкурсы выглядят как «Хехей! Я придумал амбарный замок, которым запирают банковские хранилища с 1000000 баксов! Если вы покажете как вы взломаете мой замок, я дам вам 100 баксов.»
                              0
                              Ну в данном случае не 10, а 200 тысяч. Мне кажется, 200 тысяч — неплохой стимул не связываться с криминалом.
                              0
                              Неплохим доказательством неуязвимости было бы продление конкурса с повышением ставок. До полумиллиона. Пауза. До миллиона.

                              (Хотя после пары итераций может найтись тот,
                              кто будет тянуть с ответом, чтобы получить побольше денег,
                              но это можно обойти заявив, что «служба безопасности» компании также взламывает и правит найденные баги,
                              делая алгоритм более устойчивым,

                              ну или еще как-нибудь)
                                0
                                Смысл поста пролетел мимо вас, к сожалению.

                                Во всем мире не найдется такого приза, из-за которого лучшие криптоаналитики бросят все свои дела и побегут исследовать продукцию Meganet Corporation или RPK Security Inc.(две компании, недавно объявившие конкурсы по взлому). Гораздо интереснее найти уязвимости в Java, Windows NT или защите сотовых сетей.
                                  0
                                  Тут ещё есть такая проблема: компания в принципе не обязана разглашать истинные результаты конкурса, а сами конкурсанты в 99% случаев не имеют на это право. В результате баги могут быть найдены и за 10000$, а потенциальные клиенты будут видеть плашку «ололо, наш продукт так никто и не взломал».
                                  +2
                                  С телеграмом все очень просто. Никто в здравом уме не доверит действительно конфиденциальные данные третьей стороне — а (особенно!) когда используется не десятилетиями проверенный протокол, а что-то наколеночное. Единственный правильный шаг — открытие полных исходных кодов и клиента, и сервера — Дуров по понятным причинам не сделает. Потому проводятся вот такие пиар-акции, на которые многие поведутся. Даже здесь некоторые ведутся, а что уж говорить о тех, кто вообще не в теме.

                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                  Самое читаемое