Intel: «Бычья гора» на фоне ландшафта

(Сентябрь 2011)

Начиная с чипов нового семейства Ivy Bridge, компания  Intel стала аппаратно встраивать в свои микропроцессоры цифровой криптогенератор  на основе подлинно случайных чисел… Проблема в том, что декларируемая фирмой сильная криптография не вписывается в современную политическую обстановку.

rng

Новая криптографическая технология получила кодовое наименование Bull Mountain (то есть «Бычья гора», по названию населенного пункта в штате Орегон, неподалеку от исследовательского центра Intel’s Circuit Research Lab в г. Хиллсборо, где была разработана система).

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

Читать «Intel: «Бычья гора» на фоне ландшафта» далее

Неслучайные случайности

(ноябрь 2007)

randig

Одно из главных светил открытой криптографии, израильский профессор Ади Шамир (Adi Shamir, более всего знаменитый как «S» в криптосхеме RSA), опубликовал работу без преувеличения взрывного характера (Microprocessor Bugs Can Be Security Disasters).

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

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

Примером тому может служить случайное открытие в середине 1990-х – глубоко спрятавшийся «баг деления» в процессорах Pentium. Или совсем недавно обнаруженная ошибка умножения в программе Microsoft Excel.

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

Потому что тогда ЛЮБОЙ ключ в ЛЮБОЙ криптопрограмме на основе RSA, работающей на ЛЮБОМ из миллионов компьютеров с этим процессором, может быть тривиально взломан с помощью единственного сообщения специально подобранного вида. Читать «Неслучайные случайности» далее

Хитрости крипторемесла

(Впервые опубликовано – декабрь 2007)

В теории хорошо известно, как делать сильные шифры. Однако в жизни криптография обычно оказывается слабой. Как это происходит.

crypto

Что такое «уязвимость»

Группой израильских криптографов из университетов Иерусалима и Хайфы (Benny Pinkas, Zvi Gutterman, Leo Dorrendorf), недавно была вскрыта схема работы генератора псевдослучайных чисел, используемого Microsoft во всех криптоприложениях операционной системы Windows 2000 [eprint.iacr.org/2007/419].

Знание работы этого алгоритма позволило исследователям проанализировать общую стойкость подсистемы защиты и выявить в ней серьезнейшую уязвимость.

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

Система Windows 2000 по сию пору используется многими компаниями и организациями, оставаясь, согласно общим оценкам, второй по популярности ОС Microsoft после XP. Но когда разнеслась весть о слабостях в PRNG (от pseudo-random number generator), то всех, естественно, взволновал вопрос об уязвимости крипто в более новых системах, XP и Vista. А именно, можно ли и их атаковать аналогичным образом?

Первая реакция Microsoft на подобные вопросы была довольно уклончивой и сводилась к заверениям публики в том, что последние версии Windows «содержат разнообразные изменения и доработки в схеме генератора случайных чисел».

Но коль скоро уже вскрытую схему выявить в системе гораздо легче, чем неизвестную, в Microsoft все же решились сказать правду и чуть позже признали, что Windows XP тоже уязвима для атаки, описанной в работе Пинкаса, Гуттермана и Доррендорфа.

Что же касается систем Windows Vista, Windows Server 2003 SP2 и планируемой к скорому выпуску Windows Server 2008, то там, по свидетельству Microsoft, схема генерации псевдослучайных чисел работает иначе и поэтому обладает иммунитетом к подобному методу взлома.

Попутно тут же была предпринята попытка интерпретировать работу израильтян не как выявление серьезной и реальной угрозы для безопасности XP (о старой Win2000 речи вообще не идет), а как сугубо «теоретическую атаку». Ибо, по официальному мнению Microsoft, выявленный «баг» не отвечает определению «уязвимость», поскольку для эксплуатации слабостей в PRNG злоумышленник должен обладать правами администратора.

Или, цитируя дословно, «поскольку администраторы по определению имеют доступ ко всем файлам и ресурсам системы, это [восстановление внутреннего состояния PRNG и вычисление ключей] не является недопустимым раскрытием информации».

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

Однако, дабы публика не слишком уж волновалась, Microsoft пообещала залатать-таки выявленную проблему в PRNG – где-нибудь в первой половине следующего года, вместе с выходом третьего сервис-пака, Windows XP SP3.

Иначе говоря, проблему хотят представить как нечто маловажное и не особо серьезное. Однако реальная проблема тут, строго говоря, заключается в ином.

Дело в том, что базовые принципы, на основе которых должен работать криптографически качественный PRNG, прекрасно известны. Грамотному разработчику, можно сказать, проще выбрать известный хороший криптоалгоритм, нежели разрабатывать собственный плохой.

Однако в программных продуктах Microsoft криптография всегда оказывается существенно слабее, чем могла бы быть. И вовсе не секрет, почему так происходит. Увидеть это совсем несложно, если взглянуть на историю вопроса в ретроспективе. Читать «Хитрости крипторемесла» далее