Почему криптосистемы ненадежны?
| | | |[| | | | | |
| | | |p| | | | | |
| | | |i| | | | | |
| | | |c| | | | | |
| | | |]| | | | | |
| | | | |<!-- Russian | | | | |
| | | | |LinkExchange code | | | | |
| | | | |START --> | | | | |
| | | | |[pic] | | | | |
| | | | |Russian LinkExchange | | | | |
| | | | |Member | | | | |
| | | | |<!-- Russian | | | | |
| | | | |LinkExchange code END| | | | |
| | | | |--> | | | | |
|[pic|•|Securi| | | | | | |
|] | |ty | |Почему криптосистемы | | | | |
| | |Page | |ненадежны? | | | | |
| | | | | | | | | |
| | | | |Павел Семьянов, Центр| | | | |
| | | | |Защиты Информации | | | | |
| | | | |СПбГТУ | | | | |
| | | | |В современном | | | | |
| | | | |программном | | | | |
| | | | |обеспечении (ПО) | | | | |
| | | | |криптоалгоритмы | | | | |
| | | | |широко применяются не| | | | |
| | | | |только для задач | | | | |
| | | | |шифрования данных, но| | | | |
| | | | |и для аутентификации | | | | |
| | | | |и проверки | | | | |
| | | | |целостности. На | | | | |
| | | | |сегодняшний день | | | | |
| | | | |существуют хорошо | | | | |
| | | | |известные и | | | | |
| | | | |апробированные | | | | |
| | | | |криптоалгоритмы (как | | | | |
| | | | |с симметричными, так | | | | |
| | | | |и несимметричными | | | | |
| | | | |ключами), | | | | |
| | | | |криптостойкость | | | | |
| | | | |которых либо доказана| | | | |
| | | | |математически, либо | | | | |
| | | | |основана на | | | | |
| | | | |необходимости решения| | | | |
| | | | |математически сложной| | | | |
| | | | |задачи (факторизации,| | | | |
| | | | |дискретного | | | | |
| | | | |логарифмирования и | | | | |
| | | | |т.п.). К наиболее | | | | |
| | | | |известным из них | | | | |
| | | | |относятся DES, ГОСТ, | | | | |
| | | | |RSA. Таким образом, | | | | |
| | | | |они не могут быть | | | | |
| | | | |вскрыты иначе, чем | | | | |
| | | | |полным перебором или | | | | |
| | | | |решением указанной | | | | |
| | | | |задачи. | | | | |
| | | | |С другой стороны, в | | | | |
| | | | |компьютерном и | | | | |
| | | | |околокомпьютерном | | | | |
| | | | |мире все время | | | | |
| | | | |появляется информация| | | | |
| | | | |об ошибках или | | | | |
| | | | |"дырах" в той или | | | | |
| | | | |иной программе (в | | | | |
| | | | |т.ч. применяющей | | | | |
| | | | |криптоалгоритмы), или| | | | |
| | | | |о том, что она была | | | | |
| | | | |взломана (cracked). | | | | |
| | | | |Это создает недоверие| | | | |
| | | | |как к конкретным | | | | |
| | | | |программам, так и к | | | | |
| | | | |возможности вообще | | | | |
| | | | |защитить что-либо | | | | |
| | | | |криптографичеcкими | | | | |
| | | | |методами не только от| | | | |
| | | | |спецслужб, но и от | | | | |
| | | | |простых хакеров. | | | | |
| | | | |Поэтому знание | | | | |
| | | | |истории атак и "дыр" | | | | |
| | | | |в криптосистемах, а | | | | |
| | | | |также понимание | | | | |
| | | | |причин, по которым | | | | |
| | | | |они имели место, | | | | |
| | | | |является одним из | | | | |
| | | | |необходимых условий | | | | |
| | | | |разработки защищенных| | | | |
| | | | |систем. Перспективным| | | | |
| | | | |направлением | | | | |
| | | | |исследований в этой | | | | |
| | | | |области является | | | | |
| | | | |анализ успешно | | | | |
| | | | |проведенных атак или | | | | |
| | | | |выявленных | | | | |
| | | | |уязвимостей в | | | | |
| | | | |криптосистемах с | | | | |
| | | | |целью их обобщения, | | | | |
| | | | |классификации и | | | | |
| | | | |выявления причин и | | | | |
| | | | |закономерностей их | | | | |
| | | | |появления и | | | | |
| | | | |существования. Это и | | | | |
| | | | |будет являться | | | | |
| | | | |задачей данной | | | | |
| | | | |статьи. | | | | |
| | | | |По аналогии с | | | | |
| | | | |таксономией причин | | | | |
| | | | |нарушения | | | | |
| | | | |безопасности ВС [1], | | | | |
| | | | |выделим следующие | | | | |
| | | | |причины ненадежности | | | | |
| | | | |криптографических | | | | |
| | | | |программ (см. рис. | | | | |
| | | | |1): | | | | |
| | | | |Невозможность | | | | |
| | | | |применения стойких | | | | |
| | | | |криптоалгоритмов; | | | | |
| | | | |Ошибки в реализации | | | | |
| | | | |криптоалгоритмов; | | | | |
| | | | |Неправильное | | | | |
| | | | |применение | | | | |
| | | | |криптоалгоритмов; | | | | |
| | | | |Человеческий фактор. | | | | |
| | | | |Отметим сразу, что | | | | |
| | | | |рассматриваемые ниже | | | | |
| | | | |причины покрывают | | | | |
| | | | |только два вида | | | | |
| | | | |потенциально | | | | |
| | | | |возможных угроз: | | | | |
| | | | |раскрытия и | | | | |
| | | | |целостности, оставляя| | | | |
| | | | |в стороне угрозу | | | | |
| | | | |отказа в | | | | |
| | | | |обслуживании, которая| | | | |
| | | | |приобретает все | | | | |
| | | | |большее значение по | | | | |
| | | | |мере развития | | | | |
| | | | |распределенных | | | | |
| | | | |криптосистем. | | | | |
| | | | |[pic] | | | | |
| | | | |Рис. 1. Причины | | | | |
| | | | |ненадежности | | | | |
| | | | |криптосистем. | | | | |
| | | | |Невозможность | | | | |
| | | | |применения стойких | | | | |
| | | | |криптоалгоритмов | | | | |
| | | | |Эта группа причин | | | | |
| | | | |является наиболее | | | | |
| | | | |распространенной | | | | |
| | | | |из-за следующих | | | | |
| | | | |факторов. | | | | |
| | | | |Малая скорость | | | | |
| | | | |стойких | | | | |
| | | | |криптоалгоритмов | | | | |
| | | | |Это основной фактор, | | | | |
| | | | |затрудняющий | | | | |
| | | | |применение хороших | | | | |
| | | | |алгоритмов в, | | | | |
| | | | |например, системах | | | | |
| | | | |"тотального" | | | | |
| | | | |шифрования или | | | | |
| | | | |шифрования "на лету".| | | | |
| | | | |В частности, | | | | |
| | | | |программа Norton | | | | |
| | | | |DiskReet, хотя и | | | | |
| | | | |имеет реализацию DES,| | | | |
| | | | |при смене | | | | |
| | | | |пользователем ключа | | | | |
| | | | |может не | | | | |
| | | | |перешифровывать весь | | | | |
| | | | |диск, т.к. это займет| | | | |
| | | | |слишком много | | | | |
| | | | |времени. Аналогично, | | | | |
| | | | |программа компрессии | | | | |
| | | | |"на лету" Stacker | | | | |
| | | | |фирмы Stac | | | | |
| | | | |Electronics имеет | | | | |
| | | | |опцию закрытия | | | | |
| | | | |паролем | | | | |
| | | | |компрессируемых | | | | |
| | | | |данных. Однако она не| | | | |
| | | | |имеет физической | | | | |
| | | | |возможности | | | | |
| | | | |зашифровать этим | | | | |
| | | | |паролем свой файл, | | | | |
| | | | |обычно имеющий | | | | |
| | | | |размеры в несколько | | | | |
| | | | |сот мегабайт, поэтому| | | | |
| | | | |она ограничивается | | | | |
| | | | |очень слабым | | | | |
| | | | |алгоритмом и хранит | | | | |
| | | | |хэш-функцию от пароля| | | | |
| | | | |вместе с защищаемыми | | | | |
| | | | |данными. Величина | | | | |
| | | | |криптостойкости1 этой| | | | |
| | | | |функции была | | | | |
| | | | |исследована и | | | | |
| | | | |оказалась равной 28, | | | | |
| | | | |т.е. пароль может | | | | |
| | | | |быть вскрыт | | | | |
| | | | |тривиально. | | | | |
| | | | |Экспортные | | | | |
| | | | |ограничения | | | | |
| | | | |Это причина, | | | | |
| | | | |связанная с экспортом| | | | |
| | | | |криптоалгоритмов или | | | | |
| | | | |с необходимостью | | | | |
| | | | |приобретать патент | | | | |
| | | | |или права на них. В | | | | |
| | | | |частности, из США | | | | |
| | | | |запрещен экспорт | | | | |
| | | | |криптоалгоритмов с | | | | |
| | | | |длиной ключа более 40| | | | |
| | | | |бит2. Очевидно, что | | | | |
| | | | |такая криптостойкость| | | | |
| | | | |не может считаться | | | | |
| | | | |надежной при | | | | |
| | | | |современных | | | | |
| | | | |вычислительных | | | | |
| | | | |мощностях и даже на | | | | |
| | | | |персональном | | | | |
| | | | |компьютере, положив | | | | |
| | | | |скорость перебора в | | | | |
| | | | |50 000 паролей/сек, | | | | |
| | | | |получим время | | | | |
| | | | |перебора в среднем | | | | |
| | | | |порядка 4 месяцев. | | | | |
| | | | |Известные примеры | | | | |
| | | | |программ, | | | | |
| | | | |подверженных | | | | |
| | | | |экспортным | | | | |
| | | | |ограничениям - это | | | | |
| | | | |последние версии | | | | |
| | | | |броузеров (browser) | | | | |
| | | | |Интернета, в | | | | |
| | | | |частности Netscape | | | | |
| | | | |Navigatorфирмы | | | | |
| | | | |Netscape | | | | |
| | | | |Communications и | | | | |
| | | | |Internet Explorer | | | | |
| | | | |фирмы Microsoft. Они | | | | |
| | | | |предоставляют | | | | |
| | | | |шифрование со | | | | |
| | | | |128-битным ключом для| | | | |
| | | | |пользователей внутри | | | | |
| | | | |США и с 40-битным | | | | |
| | | | |ключом для всех | | | | |
| | | | |остальных. | | | | |
| | | | |Также в эту группу | | | | |
| | | | |попадает последняя | | | | |
| | | | |версия архиватора ARJ| | | | |
| | | | |2.60, известного | | | | |
| | | | |своим слабым | | | | |
| | | | |алгоритмом шифрования| | | | |
| | | | |архивов. Теперь | | | | |
| | | | |пользователи внутри | | | | |
| | | | |США могут | | | | |
| | | | |использовать | | | | |
| | | | |криптостойкий | | | | |
| | | | |алгоритм ГОСТ. Комизм| | | | |
| | | | |ситуации в том, что | | | | |
| | | | |хотя этот алгоритм | | | | |
| | | | |является российским, | | | | |
| | | | |даже россияне по | | | | |
| | | | |законам США все равно| | | | |
| | | | |не могут | | | | |
| | | | |воспользоваться им в | | | | |
| | | | |программе ARJ. | | | | |
| | | | |Использование | | | | |
| | | | |собственных | | | | |
| | | | |криптоалгоритмов | | | | |
| | | | |Незнание или | | | | |
| | | | |нежелание | | | | |
| | | | |использовать | | | | |
| | | | |известные алгоритмы -| | | | |
| | | | |такая ситуация, как | | | | |
| | | | |ни парадоксально, | | | | |
| | | | |также имеет место | | | | |
| | | | |быть, особенно в | | | | |
| | | | |программах типа | | | | |
| | | | |Freeware и Shareware,| | | | |
| | | | |например, | | | | |
| | | | |архиваторах. | | | | |
| | | | |Как уже говорилось, | | | | |
| | | | |архиватор ARJ (до | | | | |
| | | | |версии 2.60 | | | | |
| | | | |включительно) | | | | |
| | | | |использует (по | | | | |
| | | | |умолчанию) очень | | | | |
| | | | |слабый алгоритм | | | | |
| | | | |шифрования - простое | | | | |
| | | | |гаммирование. | | | | |
| | | | |Казалось бы, что в | | | | |
| | | | |данном случае | | | | |
| | | | |использование его | | | | |
| | | | |допустимо, т.к. | | | | |
| | | | |архивированный текст | | | | |
| | | | |должен быть | | | | |
| | | | |совершенно | | | | |
| | | | |неизбыточен и | | | | |
| | | | |статистические методы| | | | |
| | | | |криптоанализа здесь | | | | |
| | | | |не подходят. Однако, | | | | |
| | | | |после более | | | | |
| | | | |детального изучения | | | | |
| | | | |оказалось, что в | | | | |
| | | | |архивированном тексте| | | | |
| | | | |присутствует (и это | | | | |
| | | | |оказывается | | | | |
| | | | |справедливым для | | | | |
| | | | |любых архиваторов) | | | | |
| | | | |некоторая неслучайная| | | | |
| | | | |информация - | | | | |
| | | | |например, таблица | | | | |
| | | | |Хаффмана и некоторая | | | | |
| | | | |другая служебная | | | | |
| | | | |информация. Поэтому, | | | | |
| | | | |точно зная или | | | | |
| | | | |предсказав с | | | | |
| | | | |некоторой | | | | |
| | | | |вероятностью значение| | | | |
| | | | |этих служебных | | | | |
| | | | |переменных, можно с | | | | |
| | | | |той же вероятностью | | | | |
| | | | |определить и | | | | |
| | | | |соответствующие | | | | |
| | | | |символы пароля. | | | | |
| | | | |Далее, использование | | | | |
| | | | |слабых алгоритмов | | | | |
| | | | |часто приводит к | | | | |
| | | | |успеху атаки по | | | | |
| | | | |открытому тексту. В | | | | |
| | | | |случае архиватора | | | | |
| | | | |ARJ, если | | | | |
| | | | |злоумышленнику | | | | |
| | | | |известен хотя бы один| | | | |
| | | | |файл из | | | | |
| | | | |зашифрованного | | | | |
| | | | |архива, он с | | | | |
| | | | |легкостью определит | | | | |
| | | | |пароль архива и | | | | |
| | | | |извлечет оттуда все | | | | |
| | | | |остальные файлы | | | | |
| | | | |(криптостойкость ARJ | | | | |
| | | | |при наличии открытого| | | | |
| | | | |текста - 20 !). Даже | | | | |
| | | | |если ни одного файла | | | | |
| | | | |в незашифрованном | | | | |
| | | | |виде нет, то все | | | | |
| | | | |равно простое | | | | |
| | | | |гаммирование | | | | |
| | | | |позволяет достичь | | | | |
| | | | |скорости перебора в | | | | |
| | | | |350000 паролей/сек. | | | | |
| | | | |на машине класса | | | | |
| | | | |Pentium. | | | | |
| | | | |Аналогичная ситуация | | | | |
| | | | |имеет место и в | | | | |
| | | | |случае с популярными | | | | |
| | | | |программами из | | | | |
| | | | |Microsoft Office - | | | | |
| | | | |для определения | | | | |
| | | | |пароля там необходимо| | | | |
| | | | |знать всего 16 байт | | | | |
| | | | |файла .doc или .xls, | | | | |
| | | | |после чего достаточно| | | | |
| | | | |перебрать всего 24 | | | | |
| | | | |вариантов. В | | | | |
| | | | |Microsoft Office 97 | | | | |
| | | | |сделаны значительные | | | | |
| | | | |улучшения алгоритмов | | | | |
| | | | |шифрования, в | | | | |
| | | | |результате чего | | | | |
| | | | |осталась возможность | | | | |
| | | | |только полного | | | | |
| | | | |перебора, но... не | | | | |
| | | | |везде - MS Access 97 | | | | |
| | | | |использует | | | | |
| | | | |примитивнейший | | | | |
| | | | |алгоритм, причем | | | | |
| | | | |шифруются не данные, | | | | |
| | | | |а сам пароль | | | | |
| | | | |операцией XOR с | | | | |
| | | | |фиксированной | | | | |
| | | | |константой! | | | | |
| | | | |В сетевой ОС Novell | | | | |
| | | | |Netware фирмы Novell | | | | |
| | | | |(версии 3.х и 4.х) | | | | |
| | | | |также применяется | | | | |
| | | | |собственный алгоритм | | | | |
| | | | |хэширования. На входе| | | | |
| | | | |хэш-функция получает | | | | |
| | | | |32-байтовое значение,| | | | |
| | | | |полученное из | | | | |
| | | | |оригинального пароля | | | | |
| | | | |пользователя путем | | | | |
| | | | |либо сжатия пароля | | | | |
| | | | |длиной более 32 | | | | |
| | | | |символов с помощью | | | | |
| | | | |операции XOR, либо | | | | |
| | | | |размножением пароля | | | | |
| | | | |длиной менее 32 | | | | |
| | | | |символов; а на выходе| | | | |
| | | | |- 16-байтовое | | | | |
| | | | |хэш-значение | | | | |
| | | | |(Hash16). Именно оно | | | | |
| | | | |(для Novell Netware | | | | |
| | | | |3.х) хранится в базе | | | | |
| | | | |данных связок | | | | |
| | | | |(bindery) в виде | | | | |
| | | | |свойства "PASSWORD". | | | | |
| | | | |Одним из основных | | | | |
| | | | |свойств криптостойкой| | | | |
| | | | |хэш-функции должно | | | | |
| | | | |быть то, что она не | | | | |
| | | | |должна допускать | | | | |
| | | | |легкого построения | | | | |
| | | | |коллизий (таковой, | | | | |
| | | | |например, является | | | | |
| | | | |функция crypt(), | | | | |
| | | | |используемая в UNIX, | | | | |
| | | | |которая основана на | | | | |
| | | | |DES). Именно это | | | | |
| | | | |свойство нарушено в | | | | |
| | | | |хэш-функции, | | | | |
| | | | |применяемой в Novell | | | | |
| | | | |Netware. | | | | |
| | | | |Была построена | | | | |
| | | | |процедура, которая из| | | | |
| | | | |данного хэш-значения | | | | |
| | | | |путем небольшого | | | | |
| | | | |перебора (несколько | | | | |
| | | | |секунд на машине | | | | |
| | | | |класса 80486DX2-66) | | | | |
| | | | |получает 32-байтовую | | | | |
| | | | |последовательность, | | | | |
| | | | |которая, конечно, не | | | | |
| | | | |является истинным | | | | |
| | | | |паролем, но тем не | | | | |
| | | | |менее воспринимается | | | | |
| | | | |Novell Netware как | | | | |
| | | | |таковой, т.к. | | | | |
| | | | |применение к ней | | | | |
| | | | |хэш-алгоритма, выдает| | | | |
| | | | |в точности имеющееся | | | | |
| | | | |хэш-значение. | | | | |
| | | | |Рассмотренный | | | | |
| | | | |хэш-алгоритм остался | | | | |
| | | | |и в 4 версии Novell | | | | |
| | | | |Netware. | | | | |
| | | | |В свою очередь, фирма| | | | |
| | | | |Microsoft также имеет| | | | |
| | | | |серьезнейшие | | | | |
| | | | |недостатки в своем | | | | |
| | | | |основном | | | | |
| | | | |хэш-алгоритме, | | | | |
| | | | |применяемом во всех | | | | |
| | | | |своих ОС, начиная с | | | | |
| | | | |Windows 3.11, при | | | | |
| | | | |аутентификации в | | | | |
| | | | |локальных (протокол | | | | |
| | | | |NetBIOS) и глобальных| | | | |
| | | | |(протоколы CIFS и | | | | |
| | | | |http) сетях, | | | | |
| | | | |называемым LM (Lan | | | | |
| | | | |Manager)-хэш [4]. | | | | |
| | | | |(Впрочем, Microsoft | | | | |
| | | | |ссылается на то, что | | | | |
| | | | |он остался еще со | | | | |
| | | | |времен OS/2 и что его| | | | |
| | | | |разрабатывала IBM). | | | | |
| | | | |Он вычисляется | | | | |
| | | | |следующим образом: | | | | |
| | | | |Пароль превращается в| | | | |
| | | | |14-символьную строку | | | | |
| | | | |путем либо отсечки | | | | |
| | | | |болеет длинных | | | | |
| | | | |паролей, либо | | | | |
| | | | |дополнения коротких | | | | |
| | | | |паролей нулевыми | | | | |
| | | | |элементами. | | | | |
| | | | |Все символы нижнего | | | | |
| | | | |регистра заменяются | | | | |
| | | | |на символы верхнего | | | | |
| | | | |регистра. Цифры и | | | | |
| | | | |специальные символы | | | | |
| | | | |остаются без | | | | |
| | | | |изменений. | | | | |
| | | | |14-байтовая строка | | | | |
| | | | |разбивается на две | | | | |
| | | | |семибайтовых | | | | |
| | | | |половины. | | | | |
| | | | |Используя каждую | | | | |
| | | | |половину строки в | | | | |
| | | | |роли ключа DES, с ним| | | | |
| | | | |шифруется | | | | |
| | | | |фиксированная | | | | |
| | | | |константа, получая на| | | | |
| | | | |выходе две 8-байтовые| | | | |
| | | | |строки. | | | | |
| | | | |Эти строки сливаются | | | | |
| | | | |для создания | | | | |
| | | | |16-разрядного | | | | |
| | | | |значения хэш-функции.| | | | |
| | | | | | | | | |
| | | | |Очевидно, что атаки | | | | |
| | | | |на LM-хэш легко | | | | |
| | | | |достигают успеха по | | | | |
| | | | |следующим причинам: | | | | |
| | | | |Преобразование всех | | | | |
| | | | |символов в верхний | | | | |
| | | | |регистр ограничивает | | | | |
| | | | |и без того небольшое | | | | |
| | | | |число возможных | | | | |
| | | | |комбинаций для | | | | |
| | | | |каждого | | | | |
| | | | |(26+10+32=68). | | | | |
| | | | |Две семибайтовых | | | | |
| | | | |"половины" пароля | | | | |
| | | | |хэшируются независимо| | | | |
| | | | |друг от друга. Таким | | | | |
| | | | |образом, две половины| | | | |
| | | | |могут подбираться | | | | |
| | | | |перебором независимо | | | | |
| | | | |друг от друга, и | | | | |
| | | | |пароли, длина которых| | | | |
| | | | |превышает семь | | | | |
| | | | |символов, не сильнее,| | | | |
| | | | |чем пароли с длиной | | | | |
| | | | |семь символов. Таким | | | | |
| | | | |образом, для | | | | |
| | | | |гарантированного | | | | |
| | | | |нахождения пароля | | | | |
| | | | |необходимо перебрать | | | | |
| | | | |вместо 940+941+... | | | | |
| | | | |9414 ~4L1027 всего | | | | |
| | | | |лишь | | | | |
| | | | |2L(680+681+...+687) | | | | |
| | | | |~1L1013 (т.е. почти в| | | | |
| | | | |1014 раз меньше) | | | | |
| | | | |комбинаций. Кроме | | | | |
| | | | |того, те пароли, | | | | |
| | | | |длина которых не | | | | |
| | | | |превышает семь | | | | |
| | | | |символов, очень | | | | |
| | | | |просто распознать, | | | | |
| | | | |поскольку вторая | | | | |
| | | | |половина хэша будет | | | | |
| | | | |одним и тем же | | | | |
| | | | |значением | | | | |
| | | | |AAD3B435B51404EE, | | | | |
| | | | |получаемой при | | | | |
| | | | |шифровании | | | | |
| | | | |фиксированной | | | | |
| | | | |константы с помощью | | | | |
| | | | |ключа из семи нулей. | | | | |
| | | | | | | | | |
| | | | |Нет элемента | | | | |
| | | | |случайности (salt), | | | | |
| | | | |как это сделано в | | | | |
| | | | |crypt() - два | | | | |
| | | | |пользователя с | | | | |
| | | | |одинаковыми паролями | | | | |
| | | | |всегда будут иметь | | | | |
| | | | |одинаковые значения | | | | |
| | | | |хэш-функции. Таким | | | | |
| | | | |образом, можно | | | | |
| | | | |заранее составить | | | | |
| | | | |словарь хэшированных | | | | |
| | | | |паролей и | | | | |
| | | | |осуществлять поиск | | | | |
| | | | |неизвестного пароля в| | | | |
| | | | |нем. | | | | |
| | | | |Неправильная | | | | |
| | | | |реализация | | | | |
| | | | |криптоалгоритмов | | | | |
| | | | |Несмотря на то, что в| | | | |
| | | | |этом случае | | | | |
| | | | |применяются | | | | |
| | | | |криптостойкие или | | | | |
| | | | |сертифицированные | | | | |
| | | | |алгоритмы, эта группа| | | | |
| | | | |причин приводит к | | | | |
| | | | |нарушениям | | | | |
| | | | |безопасности | | | | |
| | | | |криптосистем из-за их| | | | |
| | | | |неправильной | | | | |
| | | | |реализации. | | | | |
| | | | |Уменьшение | | | | |
| | | | |криптостойкости при | | | | |
| | | | |генерации ключа | | | | |
| | | | |Эта причина с весьма | | | | |
| | | | |многочисленными | | | | |
| | | | |примерами, когда | | | | |
| | | | |криптосистема либо | | | | |
| | | | |обрезает пароль | | | | |
| | | | |пользователя, либо | | | | |
| | | | |генерирует из него | | | | |
| | | | |данные, имеющие | | | | |
| | | | |меньшее количество | | | | |
| | | | |бит, чем сам пароль. | | | | |
| | | | |Примеры: | | | | |
| | | | |Во многих (старых) | | | | |
| | | | |версиях UNIX пароль | | | | |
| | | | |пользователя | | | | |
| | | | |обрезается до 8 байт | | | | |
| | | | |перед хэшированием. | | | | |
| | | | |Любопытно, что, | | | | |
| | | | |например, Linux 2.0, | | | | |
| | | | |требуя от | | | | |
| | | | |пользователей ввода | | | | |
| | | | |паролей, содержащих | | | | |
| | | | |обязательно буквы и | | | | |
| | | | |цифры, не проверяет, | | | | |
| | | | |чтобы 8-символьное | | | | |
| | | | |начало пароля также | | | | |
| | | | |состояло из букв и | | | | |
| | | | |цифр. Поэтому | | | | |
| | | | |пользователь, задав, | | | | |
| | | | |например, достаточно | | | | |
| | | | |надежный пароль | | | | |
| | | | |passwordIsgood19, | | | | |
| | | | |будет весьма удивлен,| | | | |
| | | | |узнав, что хакер | | | | |
| | | | |вошел в систему под | | | | |
| | | | |его именем с помощью | | | | |
| | | | |элементарного пароля | | | | |
| | | | |password. | | | | |
| | | | |Novell Netware | | | | |
| | | | |позволяет | | | | |
| | | | |пользователям иметь | | | | |
| | | | |пароли до 128 байт, | | | | |
| | | | |что дает (считая | | | | |
| | | | |латинские буквы без | | | | |
| | | | |учета регистра, цифры| | | | |
| | | | |и спецсимволы) 68128 | | | | |
| | | | |~2779 комбинаций. Но | | | | |
| | | | |при этом, во-первых, | | | | |
| | | | |хэш-функция (см. | | | | |
| | | | |выше) получает на | | | | |
| | | | |входе всего лишь | | | | |
| | | | |32-байтовое значение,| | | | |
| | | | |что ограничивает | | | | |
| | | | |эффективную длину | | | | |
| | | | |пароля этой же | | | | |
| | | | |величиной. Более | | | | |
| | | | |того, во-вторых, на | | | | |
| | | | |выходе хэш-значение | | | | |
| | | | |имеет длину всего 128| | | | |
| | | | |бит, что | | | | |
| | | | |соответствует 2128 | | | | |
| | | | |комбинаций. Это | | | | |
| | | | |дополнительно снижает| | | | |
| | | | |эффективную длину до | | | | |
| | | | |[pic]=21 символа3, | | | | |
| | | | |т.е. в 6 раз по | | | | |
| | | | |сравнению с | | | | |
| | | | |первоначальной. | | | | |
| | | | |Полностью аналогичная| | | | |
| | | | |ситуация происходит с| | | | |
| | | | |архиватором RAR | | | | |
| | | | |версий 1.5x - выбор | | | | |
| | | | |пароля больше 10 | | | | |
| | | | |символов не приводит | | | | |
| | | | |к росту времени, | | | | |
| | | | |необходимого на его | | | | |
| | | | |вскрытие. | | | | |
| | | | |Если длина пароля | | | | |
| | | | |"сверху" в этом | | | | |
| | | | |случае определяется | | | | |
| | | | |реализацией | | | | |
| | | | |криптоалгоритмов, то | | | | |
| | | | |ограничение на длину | | | | |
| | | | |"снизу" уже связано с| | | | |
| | | | |понятием единицы | | | | |
| | | | |информации или | | | | |
| | | | |энтропии. В | | | | |
| | | | |рассмотренном примере| | | | |
| | | | |с Novell Netware для | | | | |
| | | | |создания хэш-значения| | | | |
| | | | |с энтропией 128 бит | | | | |
| | | | |длина пароля должна | | | | |
| | | | |быть не менее | | | | |
| | | | |[pic]=69 бит4 или не | | | | |
| | | | |менее 22 символов5. | | | | |
| | | | |То, что многие | | | | |
| | | | |криптосистемы не | | | | |
| | | | |ограничивают | | | | |
| | | | |минимальную длину | | | | |
| | | | |пароля, как раз и | | | | |
| | | | |приводит к успеху | | | | |
| | | | |атак перебором не | | | | |
| | | | |ключей, а паролей. | | | | |
| | | | |Отсутствие проверки | | | | |
| | | | |на слабые ключи | | | | |
| | | | |Некоторые | | | | |
| | | | |криптоалгоритмы (в | | | | |
| | | | |частности, DES, IDEA)| | | | |
| | | | |при шифровании со | | | | |
| | | | |специфическими | | | | |
| | | | |ключами не могут | | | | |
| | | | |обеспечить должный | | | | |
| | | | |уровень | | | | |
| | | | |криптостойкости. | | | | |
| | | | |Такие ключи называют | | | | |
| | | | |слабыми (weak). Для | | | | |
| | | | |DES известно 4 слабых| | | | |
| | | | |и 12 полуслабых | | | | |
| | | | |(semi-weak) ключей. И| | | | |
| | | | |хотя вероятность | | | | |
| | | | |попасть в них | | | | |
| | | | |равняется | | | | |
| | | | |[pic]~2L10-16, для | | | | |
| | | | |серьезных | | | | |
| | | | |криптографических | | | | |
| | | | |систем пренебрегать | | | | |
| | | | |ей нельзя. | | | | |
| | | | |Мощность множества | | | | |
| | | | |слабых ключей IDEA | | | | |
| | | | |составляет не много -| | | | |
| | | | |не мало - 251 | | | | |
| | | | |(впрочем, из-за того,| | | | |
| | | | |что всего ключей | | | | |
| | | | |2128, вероятность | | | | |
| | | | |попасть в него в | | | | |
| | | | |3L107 раз меньше, чем| | | | |
| | | | |у DES). | | | | |
| | | | |Недостаточная | | | | |
| | | | |защищенность от РПС | | | | |
| | | | |РПС (разрушающие | | | | |
| | | | |программные средства)| | | | |
| | | | |- это компьютерные | | | | |
| | | | |вирусы, троянских | | | | |
| | | | |кони, программные | | | | |
| | | | |закладки и т.п. | | | | |
| | | | |программы, способные | | | | |
| | | | |перехватить секретный| | | | |
| | | | |ключ или сами | | | | |
| | | | |нешифрованные данные,| | | | |
| | | | |а также просто | | | | |
| | | | |подменить алгоритм на| | | | |
| | | | |некриптостойкий. В | | | | |
| | | | |случае, если | | | | |
| | | | |программист не | | | | |
| | | | |предусмотрел | | | | |
| | | | |достаточных способов | | | | |
| | | | |защиты от РПС, они | | | | |
| | | | |легко способны | | | | |
| | | | |нарушить безопасность| | | | |
| | | | |криптосистемы. | | | | |
| | | | |Особенно это | | | | |
| | | | |актуально для | | | | |
| | | | |операционных систем, | | | | |
| | | | |не имеющих встроенных| | | | |
| | | | |средств защиты или | | | | |
| | | | |средств разграничения| | | | |
| | | | |доступа - типа MS DOS| | | | |
| | | | |или Windows 95: | | | | |
| | | | |Перехват пароля. Как | | | | |
| | | | |пример можно привести| | | | |
| | | | |самый старый способ | | | | |
| | | | |похищения пароля, | | | | |
| | | | |известный еще со | | | | |
| | | | |времен больших ЭВМ, | | | | |
| | | | |когда | | | | |
| | | | |программа-"фантом" | | | | |
| | | | |эмулирует приглашение| | | | |
| | | | |ОС, предлагая ввести | | | | |
| | | | |имя пользователя и | | | | |
| | | | |пароль, запоминает | | | | |
| | | | |его в некотором файле| | | | |
| | | | |и прекращает работу с| | | | |
| | | | |сообщением "Invalid | | | | |
| | | | |password". Для MS DOS| | | | |
| | | | |и Windows существует | | | | |
| | | | |множество закладок | | | | |
| | | | |для чтения и | | | | |
| | | | |сохранения паролей, | | | | |
| | | | |набираемых на | | | | |
| | | | |клавиатуре (через | | | | |
| | | | |перехват | | | | |
| | | | |соответствующего | | | | |
| | | | |прерывания), | | | | |
| | | | |например, при работе | | | | |
| | | | |утилиты Diskreet v. | | | | |
| | | | |6.0. | | | | |
| | | | |Подмена | | | | |
| | | | |криптоалгоритма. | | | | |
| | | | |Примером реализации | | | | |
| | | | |этого случая является| | | | |
| | | | |закладка, маскируемая| | | | |
| | | | |под прикладную | | | | |
| | | | |программу-"ускоритель| | | | |
| | | | |" типа Turbo Krypton.| | | | |
| | | | |Эта закладка заменяет| | | | |
| | | | |алгоритм шифрования | | | | |
| | | | |ГОСТ 28147-89, | | | | |
| | | | |реализуемой платой | | | | |
| | | | |"Krypton-3" | | | | |
| | | | |(демонстрационный | | | | |
| | | | |вариант), другим, | | | | |
| | | | |простым и легко | | | | |
| | | | |дешифруемым | | | | |
| | | | |алгоритмом [1]. | | | | |
| | | | |Троянский конь в | | | | |
| | | | |электронной почте. | | | | |
| | | | |Последним примером | | | | |
| | | | |служит имевшие место | | | | |
| | | | |в июне 1998 года | | | | |
| | | | |попытки проникновения| | | | |
| | | | |троянского коня через| | | | |
| | | | |электронную почту. В | | | | |
| | | | |письмо были вложены | | | | |
| | | | |порнографическая | | | | |
| | | | |картинка и EXE-файл | | | | |
| | | | |FREECD.EXE, который | | | | |
| | | | |за то время, пока | | | | |
| | | | |пользователь | | | | |
| | | | |развлекался с | | | | |
| | | | |письмом, | | | | |
| | | | |расшифровывал пароли | | | | |
| | | | |на соединение с | | | | |
| | | | |провайдером (Dial-Up)| | | | |
| | | | |и отправлял их на | | | | |
| | | | |адрес ispp@usa.net. | | | | |
| | | | |Наличие зависимости | | | | |
| | | | |во времени обработки | | | | |
| | | | |ключей | | | | |
| | | | |Это сравнительно | | | | |
| | | | |новый аспект | | | | |
| | | | |недостаточно | | | | |
| | | | |корректной реализации| | | | |
| | | | |криптоалгоритмов, | | | | |
| | | | |рассмотренный в | | | | |
| | | | |статье [2]. Там | | | | |
| | | | |показано, что многие | | | | |
| | | | |криптосистемы | | | | |
| | | | |неодинаково быстро | | | | |
| | | | |обрабатывают разные | | | | |
| | | | |входные данные. Это | | | | |
| | | | |происходит как из-за | | | | |
| | | | |аппаратных (разное | | | | |
| | | | |количество тактов на | | | | |
| | | | |операцию, попадание в| | | | |
| | | | |процессорный кэш и | | | | |
| | | | |т.п.), так и | | | | |
| | | | |программных причин | | | | |
| | | | |(особенно при | | | | |
| | | | |оптимизации программы| | | | |
| | | | |по времени). Время | | | | |
| | | | |может зависеть как от| | | | |
| | | | |ключа шифрования, так| | | | |
| | | | |и (рас)шифруемых | | | | |
| | | | |данных. | | | | |
| | | | |Поэтому | | | | |
| | | | |злоумышленник, | | | | |
| | | | |обладая детальной | | | | |
| | | | |информацией о | | | | |
| | | | |реализации | | | | |
| | | | |криптоалгоритма, имея| | | | |
| | | | |зашифрованные данные,| | | | |
| | | | |и будучи способным | | | | |
| | | | |каким-то образом | | | | |
| | | | |измерять время | | | | |
| | | | |обработки этих данных| | | | |
| | | | |(например, анализируя| | | | |
| | | | |время отправки | | | | |
| | | | |пакетов с данными), | | | | |
| | | | |может попытаться | | | | |
| | | | |подобрать секретный | | | | |
| | | | |ключ. В работе | | | | |
| | | | |подробно описывается | | | | |
| | | | |тактика атак на | | | | |
| | | | |системы, реализующие | | | | |
| | | | |алгоритмы RSA, | | | | |
| | | | |Диффи-Хеллмана и DSS,| | | | |
| | | | |причем ключ можно | | | | |
| | | | |получать, уточняя бит| | | | |
| | | | |за битом, а | | | | |
| | | | |количество | | | | |
| | | | |необходимых измерений| | | | |
| | | | |времени прямо | | | | |
| | | | |пропорционально длине| | | | |
| | | | |ключа. | | | | |
| | | | |И хотя пока не | | | | |
| | | | |удалось довести эти | | | | |
| | | | |исследования до | | | | |
| | | | |конкретного | | | | |
| | | | |результата (вычислить| | | | |
| | | | |секретный ключ), этот| | | | |
| | | | |пример показывает, | | | | |
| | | | |что программирование | | | | |
| | | | |систем критического | | | | |
| | | | |назначения (в т.ч. и | | | | |
| | | | |криптосистем) должно | | | | |
| | | | |быть особенно | | | | |
| | | | |тщательным и, | | | | |
| | | | |возможно, для этого | | | | |
| | | | |необходимо применять | | | | |
| | | | |особые защитные | | | | |
| | | | |методы | | | | |
| | | | |программирования и | | | | |
| | | | |специализированные | | | | |
| | | | |средства разработки | | | | |
| | | | |(особенно | | | | |
| | | | |компиляторы). | | | | |
| | | | |Ошибки в программной | | | | |
| | | | |реализации | | | | |
| | | | |Ясно, что пока | | | | |
| | | | |программы будут | | | | |
| | | | |писаться людьми, этот| | | | |
| | | | |фактор всегда будет | | | | |
| | | | |иметь место. Хороший | | | | |
| | | | |пример - ОС Novell | | | | |
| | | | |Netware 3.12, где, | | | | |
| | | | |несмотря на | | | | |
| | | | |достаточно | | | | |
| | | | |продуманную систему | | | | |
| | | | |аутентификации, при | | | | |
| | | | |которой, по | | | | |
| | | | |заявлениям фирмы | | | | |
| | | | |Novell, | | | | |
| | | | |"нешифрованный пароль| | | | |
| | | | |никогда не передается| | | | |
| | | | |по сети", удалось | | | | |
| | | | |найти ошибку в | | | | |
| | | | |программе SYSCON v. | | | | |
| | | | |3.76, при которой | | | | |
| | | | |пароль именно в | | | | |
| | | | |открытом виде | | | | |
| | | | |попадает в один из | | | | |
| | | | |сетевых пакетов. | | | | |
| | | | |Этого не наблюдается | | | | |
| | | | |ни с более ранними, | | | | |
| | | | |ни с более поздними | | | | |
| | | | |версиями этой | | | | |
| | | | |программы, что | | | | |
| | | | |позволяет говорить | | | | |
| | | | |именно о чисто | | | | |
| | | | |программистской | | | | |
| | | | |ошибке. Этот ошибка | | | | |
| | | | |проявляется только | | | | |
| | | | |если супервизор | | | | |
| | | | |меняет пароль | | | | |
| | | | |кому-либо (в том | | | | |
| | | | |числе и себе). | | | | |
| | | | |Видимо, каким-то | | | | |
| | | | |образом в сетевой | | | | |
| | | | |пакет попадает | | | | |
| | | | |клавиатурный буфер. | | | | |
| | | | |Наличие люков | | | | |
| | | | |Причины наличия люков| | | | |
| | | | |в криптосистемах | | | | |
| | | | |очевидны: разработчик| | | | |
| | | | |хочет иметь контроль | | | | |
| | | | |над обрабатываемой в | | | | |
| | | | |его системе | | | | |
| | | | |информацией и | | | | |
| | | | |оставляет для себя | | | | |
| | | | |возможность | | | | |
| | | | |расшифровывать ее, не| | | | |
| | | | |зная ключа | | | | |
| | | | |пользователя. | | | | |
| | | | |Возможно также, что | | | | |
| | | | |они используются для | | | | |
| | | | |отладки и по какой-то| | | | |
| | | | |причине не убираются | | | | |
| | | | |из конечного | | | | |
| | | | |продукта. | | | | |
| | | | |Естественно, что это | | | | |
| | | | |рано или поздно | | | | |
| | | | |становится известным | | | | |
| | | | |достаточно большому | | | | |
| | | | |кругу лиц и ценность | | | | |
| | | | |такой криптосистемы | | | | |
| | | | |становится почти | | | | |
| | | | |нулевой. Самыми | | | | |
| | | | |известными примерами | | | | |
| | | | |здесь являются AWARD | | | | |
| | | | |BIOS (до версии | | | | |
| | | | |4.51PG) с его | | | | |
| | | | |универсальным паролем| | | | |
| | | | |"AWARD_SW" и СУБД | | | | |
| | | | |Paradox фирмы Borland| | | | |
| | | | |International, также | | | | |
| | | | |имеющая "суперпароли"| | | | |
| | | | |"jIGGAe" и "nx66ppx".| | | | |
| | | | | | | | | |
| | | | |Вплотную к наличию | | | | |
| | | | |люков в реализации | | | | |
| | | | |(очевидно, что в этом| | | | |
| | | | |случае они используют| | | | |
| | | | |явно нестойкие | | | | |
| | | | |алгоритмы или хранят | | | | |
| | | | |ключ вместе с | | | | |
| | | | |данными) примыкают | | | | |
| | | | |алгоритмы, дающие | | | | |
| | | | |возможность третьему | | | | |
| | | | |лицу читать | | | | |
| | | | |зашифрованное | | | | |
| | | | |сообщение, как это | | | | |
| | | | |сделано в нашумевшем | | | | |
| | | | |проекте CLIPPER, где | | | | |
| | | | |третьим лицом | | | | |
| | | | |выступает | | | | |
| | | | |государство, всегда | | | | |
| | | | |любящее совать нос в | | | | |
| | | | |тайны своих граждан. | | | | |
| | | | |Недостатки датчика | | | | |
| | | | |случайных чисел (ДСЧ)| | | | |
| | | | | | | | | |
| | | | |Хороший, | | | | |
| | | | |математически | | | | |
| | | | |проверенный и | | | | |
| | | | |корректно | | | | |
| | | | |реализованный ДСЧ | | | | |
| | | | |также важен для | | | | |
| | | | |криптосистемы, как и | | | | |
| | | | |хороший, | | | | |
| | | | |математически стойкий| | | | |
| | | | |и корректный | | | | |
| | | | |криптоалгоритм, иначе| | | | |
| | | | |его недостатки могут | | | | |
| | | | |повлиять на общую | | | | |
| | | | |криптостойкость | | | | |
| | | | |системы. При этом для| | | | |
| | | | |моделирования ДСЧ на | | | | |
| | | | |ЭВМ обычно применяют | | | | |
| | | | |датчики | | | | |
| | | | |псевдослучайных чисел| | | | |
| | | | |(ПСЧ), | | | | |
| | | | |характеризующиеся | | | | |
| | | | |периодом, разбросом, | | | | |
| | | | |а также | | | | |
| | | | |необходимостью его | | | | |
| | | | |инициализации (seed).| | | | |
| | | | |Применение ПСЧ для | | | | |
| | | | |криптосистем вообще | | | | |
| | | | |нельзя признать | | | | |
| | | | |удачным решением, | | | | |
| | | | |поэтому хорошие | | | | |
| | | | |криптосистемы | | | | |
| | | | |применяют для этих | | | | |
| | | | |целей физический ДСЧ | | | | |
| | | | |(специальную плату), | | | | |
| | | | |или, по крайней мере,| | | | |
| | | | |вырабатывают число | | | | |
| | | | |для инициализации ПСЧ| | | | |
| | | | |с помощью физических | | | | |
| | | | |величин (например, | | | | |
| | | | |времени нажатия на | | | | |
| | | | |клавиши | | | | |
| | | | |пользователем). | | | | |
| | | | |Малый период и плохой| | | | |
| | | | |разброс относятся к | | | | |
| | | | |математическим | | | | |
| | | | |недостаткам ДСЧ и | | | | |
| | | | |появляются в том | | | | |
| | | | |случае, если по | | | | |
| | | | |каким-то причинам | | | | |
| | | | |выбирается | | | | |
| | | | |собственный ДСЧ. | | | | |
| | | | |Иначе говоря, выбор | | | | |
| | | | |собственного ДСЧ так | | | | |
| | | | |же опасен, как и | | | | |
| | | | |выбор собственного | | | | |
| | | | |криптоалгоритма. | | | | |
| | | | |В случае малого | | | | |
| | | | |периода (когда | | | | |
| | | | |псевдослучайных | | | | |
| | | | |значений, | | | | |
| | | | |вырабатываемых | | | | |
| | | | |датчиком, меньше, чем| | | | |
| | | | |возможных значений | | | | |
| | | | |ключа) злоумышленник | | | | |
| | | | |может сократить время| | | | |
| | | | |поиска ключа, | | | | |
| | | | |перебирая не сами | | | | |
| | | | |ключи, а | | | | |
| | | | |псевдослучайные | | | | |
| | | | |значения и генерируя | | | | |
| | | | |из них ключи. | | | | |
| | | | |При плохом разбросе | | | | |
| | | | |датчика злоумышленник| | | | |
| | | | |также может уменьшить| | | | |
| | | | |среднее время поиска,| | | | |
| | | | |если начнет перебор с| | | | |
| | | | |самых вероятных | | | | |
| | | | |значений | | | | |
| | | | |псевдослучайных | | | | |
| | | | |чисел. | | | | |
| | | | |Самой | | | | |
| | | | |распространенной | | | | |
| | | | |ошибкой, | | | | |
| | | | |проявляющейся и в | | | | |
| | | | |случае хорошего ПСЧ, | | | | |
| | | | |является его | | | | |
| | | | |неправильная | | | | |
| | | | |инициализация. В этом| | | | |
| | | | |случае число, | | | | |
| | | | |используемое для | | | | |
| | | | |инициализации, имеет | | | | |
| | | | |либо меньшее число | | | | |
| | | | |бит информации, чем | | | | |
| | | | |сам датчик, либо | | | | |
| | | | |вычисляется из | | | | |
| | | | |неслучайных чисел и | | | | |
| | | | |может быть | | | | |
| | | | |предсказано стой или | | | | |
| | | | |иной степенью | | | | |
| | | | |вероятности. | | | | |
| | | | |Такая ситуация имела | | | | |
| | | | |место в программе | | | | |
| | | | |Netscape Navigator | | | | |
| | | | |версии 1.1. Она | | | | |
| | | | |инициализировала ПСЧ,| | | | |
| | | | |используя текущее | | | | |
| | | | |время в секундах | | | | |
| | | | |(sec) и микросекундах| | | | |
| | | | |(usec), а также | | | | |
| | | | |идентификаторы | | | | |
| | | | |процесса (pid и | | | | |
| | | | |ppid). Как выяснили | | | | |
| | | | |исследователи Я. | | | | |
| | | | |Голдберг и Д. Вагнер,| | | | |
| | | | |при такой схеме как | | | | |
| | | | |максимум получалось | | | | |
| | | | |47 значащих бит | | | | |
| | | | |информации (при том, | | | | |
| | | | |что этот датчик | | | | |
| | | | |использовался для | | | | |
| | | | |получения 40- или 128| | | | |
| | | | |(!)-битных ключей). | | | | |
| | | | |Но, если у | | | | |
| | | | |злоумышленника | | | | |
| | | | |была возможность | | | | |
| | | | |перехватить пакеты, | | | | |
| | | | |передаваемые по сети;| | | | |
| | | | |и | | | | |
| | | | |был доступ (account) | | | | |
| | | | |на компьютер, где | | | | |
| | | | |запущена программа, | | | | |
| | | | |то для него не | | | | |
| | | | |составляло труда с | | | | |
| | | | |большой степенью | | | | |
| | | | |вероятности узнать | | | | |
| | | | |sec, pid и ppid. Если| | | | |
| | | | |условие (2) не | | | | |
| | | | |удовлетворялось, то | | | | |
| | | | |злоумышленник все | | | | |
| | | | |равно мог попытаться | | | | |
| | | | |установить время | | | | |
| | | | |через сетевые демоны | | | | |
| | | | |time, pid мог бы быть| | | | |
| | | | |получен через демон | | | | |
| | | | |SMTP (обычно он | | | | |
| | | | |входит в поле | | | | |
| | | | |Message-ID), а ppid | | | | |
| | | | |либо не сильно | | | | |
| | | | |отличается от pid, | | | | |
| | | | |либо вообще равен 1. | | | | |
| | | | |Исследователи | | | | |
| | | | |написали программу | | | | |
| | | | |unssl, которая, | | | | |
| | | | |перебирая | | | | |
| | | | |микросекунды, | | | | |
| | | | |находила секретный | | | | |
| | | | |40-битный ключ в | | | | |
| | | | |среднем за минуту. | | | | |
| | | | |Неправильное | | | | |
| | | | |применение | | | | |
| | | | |криптоалгоритмов | | | | |
| | | | |Эта группа причин | | | | |
| | | | |приводит к тому, что | | | | |
| | | | |оказывается | | | | |
| | | | |ненадежными | | | | |
| | | | |криптостойкие и | | | | |
| | | | |корректно | | | | |
| | | | |реализованные | | | | |
| | | | |алгоритмы. | | | | |
| | | | |Малая длина ключа | | | | |
| | | | |Это самая очевидная | | | | |
| | | | |причина. Возникает | | | | |
| | | | |вопрос: как стойкие | | | | |
| | | | |криптоалгоритмы могут| | | | |
| | | | |иметь малую длину | | | | |
| | | | |ключа? Видимо, | | | | |
| | | | |вследствие двух | | | | |
| | | | |факторов: | | | | |
| | | | |некоторые алгоритмы | | | | |
| | | | |могут работать с | | | | |
| | | | |переменной длиной | | | | |
| | | | |ключа, обеспечивая | | | | |
| | | | |разную | | | | |
| | | | |криптостойкость - и | | | | |
| | | | |именно задача | | | | |
| | | | |разработчика выбрать | | | | |
| | | | |необходимую длину, | | | | |
| | | | |исходя из желаемой | | | | |
| | | | |криптостойкости и | | | | |
| | | | |эффективности. Иногда| | | | |
| | | | |на это желание | | | | |
| | | | |накладываются и иные | | | | |
| | | | |обстоятельства - | | | | |
| | | | |такие, как экспортные| | | | |
| | | | |ограничения. | | | | |
| | | | |некоторые алгоритмы | | | | |
| | | | |разрабатывались | | | | |
| | | | |весьма давно, когда | | | | |
| | | | |длина используемого в| | | | |
| | | | |них ключа считалась | | | | |
| | | | |более чем достаточной| | | | |
| | | | |для соблюдения | | | | |
| | | | |нужного уровня | | | | |
| | | | |защиты. | | | | |
| | | | |С резким скачком | | | | |
| | | | |производительности | | | | |
| | | | |вычислительной | | | | |
| | | | |техники сначала | | | | |
| | | | |столкнулся алгоритм | | | | |
| | | | |RSA, для вскрытия | | | | |
| | | | |которого необходимо | | | | |
| | | | |решать задачу | | | | |
| | | | |факторизации. В марте| | | | |
| | | | |1994 была закончена | | | | |
| | | | |длившаяся в течение 8| | | | |
| | | | |месяцев факторизация | | | | |
| | | | |числа из 129 цифр | | | | |
| | | | |(428 бит6). Для этого| | | | |
| | | | |было задействовано | | | | |
| | | | |600 добровольцев и | | | | |
| | | | |1600 машин, связанных| | | | |
| | | | |посредством | | | | |
| | | | |электронной почты. | | | | |
| | | | |Затраченное машинное | | | | |
| | | | |время было | | | | |
| | | | |эквивалентно примерно| | | | |
| | | | |5000 MIPS-лет7. | | | | |
| | | | |Прогресс в решении | | | | |
| | | | |проблемы факторизации| | | | |
| | | | |во многом связан не | | | | |
| | | | |только с ростом | | | | |
| | | | |вычислительных | | | | |
| | | | |мощностей, но и с | | | | |
| | | | |появлением в | | | | |
| | | | |последнее время новых| | | | |
| | | | |эффективных | | | | |
| | | | |алгоритмов. (На | | | | |
| | | | |факторизацию | | | | |
| | | | |следующего числа из | | | | |
| | | | |130 цифр ушло всего | | | | |
| | | | |500 MIPS-лет). На | | | | |
| | | | |сегодняшний день в | | | | |
| | | | |принципе реально | | | | |
| | | | |факторизовать | | | | |
| | | | |512-битные числа. | | | | |
| | | | |Если вспомнить, что | | | | |
| | | | |такие числа еще | | | | |
| | | | |недавно | | | | |
| | | | |использовались в | | | | |
| | | | |программе PGP, то | | | | |
| | | | |можно утверждать, что| | | | |
| | | | |это самая быстро | | | | |
| | | | |развивающаяся область| | | | |
| | | | |криптографии и теории| | | | |
| | | | |чисел. | | | | |
| | | | |29 января 1997 фирмой| | | | |
| | | | |RSA Labs был объявлен| | | | |
| | | | |конкурс на вскрытие | | | | |
| | | | |симметричного | | | | |
| | | | |алгоритма RC5. | | | | |
| | | | |40-битный ключ был | | | | |
| | | | |вскрыт через 3.5 часа| | | | |
| | | | |после начала | | | | |
| | | | |конкурса! (Для этого | | | | |
| | | | |даже не потребовалась| | | | |
| | | | |связывать компьютеры | | | | |
| | | | |через Интернет - | | | | |
| | | | |хватило локальной | | | | |
| | | | |сети из 250 машин в | | | | |
| | | | |Берклевском | | | | |
| | | | |университете). Через | | | | |
| | | | |313 часов был вскрыт | | | | |
| | | | |и 48-битный ключ. | | | | |
| | | | |Таким образом, всем | | | | |
| | | | |стало очевидно, что | | | | |
| | | | |длина ключа, | | | | |
| | | | |удовлетворяющая | | | | |
| | | | |экспортным | | | | |
| | | | |ограничениям, не | | | | |
| | | | |может обеспечить даже| | | | |
| | | | |минимальной | | | | |
| | | | |надежности. | | | | |
| | | | |Параллельно со | | | | |
| | | | |вскрытием RC5 был дан| | | | |
| | | | |вызов и столпу | | | | |
| | | | |американской | | | | |
| | | | |криптографии - | | | | |
| | | | |алгоритму DES, | | | | |
| | | | |имеющему ключ в 56 | | | | |
| | | | |бит. И он пал 17 июня| | | | |
| | | | |1997 года, через 140 | | | | |
| | | | |дней после начала | | | | |
| | | | |конкурса (при этом | | | | |
| | | | |было протестировано | | | | |
| | | | |около 25% всех | | | | |
| | | | |возможных ключей и | | | | |
| | | | |затрачено примерно | | | | |
| | | | |450 MIPS-лет). Это | | | | |
| | | | |было безусловно | | | | |
| | | | |выдающееся | | | | |
| | | | |достижение, которое | | | | |
| | | | |означало фактическую | | | | |
| | | | |смерть DES как | | | | |
| | | | |стандарта шифрования.| | | | |
| | | | |И действительно, | | | | |
| | | | |когда в начала 1998 | | | | |
| | | | |года следующее | | | | |
| | | | |соревнование по | | | | |
| | | | |нахождению ключа DES | | | | |
| | | | |привело к успеху | | | | |
| | | | |всего за 39 дней, | | | | |
| | | | |национальный институт| | | | |
| | | | |стандартов США (NIST)| | | | |
| | | | |объявил конкурс на | | | | |
| | | | |утверждение нового | | | | |
| | | | |стандарта AES | | | | |
| | | | |(Advanced Encryption | | | | |
| | | | |Standard). AES должен| | | | |
| | | | |быть полностью | | | | |
| | | | |открытым симметричным| | | | |
| | | | |алгоритмом с ключом | | | | |
| | | | |размером 128, 192, | | | | |
| | | | |256 бит и блоком | | | | |
| | | | |шифрования размером | | | | |
| | | | |128 бит. | | | | |
| | | | |Ошибочный выбор | | | | |
| | | | |класса алгоритма | | | | |
| | | | |Это также весьма | | | | |
| | | | |распространенная | | | | |
| | | | |причина, при которой | | | | |
| | | | |разработчик выбирает | | | | |
| | | | |пусть и хороший, но | | | | |
| | | | |совершенно | | | | |
| | | | |неподходящий к его | | | | |
| | | | |задаче алгоритм. Чаще| | | | |
| | | | |всего это выбор | | | | |
| | | | |шифрования вместо | | | | |
| | | | |хэширования или выбор| | | | |
| | | | |симметричного | | | | |
| | | | |алгоритма вместо | | | | |
| | | | |алгоритма с открытыми| | | | |
| | | | |ключами. | | | | |
| | | | |Примеров здесь масса | | | | |
| | | | |- это почти все | | | | |
| | | | |программы, | | | | |
| | | | |ограничивающие доступ| | | | |
| | | | |к компьютеру паролем | | | | |
| | | | |при его включении или| | | | |
| | | | |загрузке, например, | | | | |
| | | | |AMI BIOS, хранящий | | | | |
| | | | |вместо хэша пароля | | | | |
| | | | |его зашифрованный | | | | |
| | | | |вариант, который, | | | | |
| | | | |естественно, легко | | | | |
| | | | |дешифруется. | | | | |
| | | | |Во всех сетевых | | | | |
| | | | |процедурах | | | | |
| | | | |аутентификации | | | | |
| | | | |естественно применять| | | | |
| | | | |ассиметричную | | | | |
| | | | |криптографию, которая| | | | |
| | | | |не позволит подобрать| | | | |
| | | | |ключ даже при полном | | | | |
| | | | |перехвате трафика. | | | | |
| | | | |Однако такие | | | | |
| | | | |алгоритмы (из сетевых| | | | |
| | | | |OC) пока реализует | | | | |
| | | | |только Novell Netware| | | | |
| | | | |4.x, остальные же | | | | |
| | | | |довольствуются (в | | | | |
| | | | |лучшем случае!) | | | | |
| | | | |стандартной схемой | | | | |
| | | | |"запрос-отклик", при | | | | |
| | | | |которой можно вести | | | | |
| | | | |достаточно быстрый | | | | |
| | | | |перебор по | | | | |
| | | | |перехваченным | | | | |
| | | | |значениям "запроса" и| | | | |
| | | | |"отклика". | | | | |
| | | | |Повторное наложение | | | | |
| | | | |гаммы шифра | | | | |
| | | | |Уже классическим | | | | |
| | | | |примером стала | | | | |
| | | | |уязвимость в Windows | | | | |
| | | | |3.x и первых версиях | | | | |
| | | | |Windows 95, связанная| | | | |
| | | | |с шифрованием. В этом| | | | |
| | | | |случае программисты | | | | |
| | | | |фирмы Microsoft, | | | | |
| | | | |хорошо известные | | | | |
| | | | |своими знаниями в | | | | |
| | | | |области безопасности,| | | | |
| | | | |применяли алгоритм | | | | |
| | | | |RC4 (представляющем | | | | |
| | | | |собой ни что иное, | | | | |
| | | | |как шифрование | | | | |
| | | | |гаммированием), не | | | | |
| | | | |меняя гаммы, | | | | |
| | | | |несколько раз к | | | | |
| | | | |разным данным - | | | | |
| | | | |сетевым ресурсам, | | | | |
| | | | |хранящимся в файлах | | | | |
| | | | |типа .pwl. | | | | |
| | | | |Оказалось, что один | | | | |
| | | | |из наборов данных | | | | |
| | | | |файла .pwl | | | | |
| | | | |представлял из себя | | | | |
| | | | |более чем специфичный| | | | |
| | | | |текст - 20-символьное| | | | |
| | | | |имя пользователя (в | | | | |
| | | | |верхнем регистре) и | | | | |
| | | | |набор указателей на | | | | |
| | | | |ресурсы (см. рис. 2).| | | | |
| | | | |Таким образом, угадав| | | | |
| | | | |им пользователя | | | | |
| | | | |(которое в | | | | |
| | | | |большинстве случаев к| | | | |
| | | | |тому же совпадает с | | | | |
| | | | |именем файла) можно | | | | |
| | | | |вычислить по крайней | | | | |
| | | | |мере 20 байт гаммы. | | | | |
| | | | |Т.к. гамма не | | | | |
| | | | |меняется при | | | | |
| | | | |шифровании других | | | | |
| | | | |ресурсов (в этом | | | | |
| | | | |состоит основная | | | | |
| | | | |ошибка применения RC4| | | | |
| | | | |в этом случае), могут| | | | |
| | | | |быть вычислены первые| | | | |
| | | | |20 байт всех | | | | |
| | | | |ресурсов, в которые | | | | |
| | | | |входит длина каждого | | | | |
| | | | |из них. Вычислив | | | | |
| | | | |длину, можно найти | | | | |
| | | | |значения указателей и| | | | |
| | | | |тем самым прибавить | | | | |
| | | | |еще несколько | | | | |
| | | | |десятков байт к | | | | |
| | | | |угаданной гамме. Этот| | | | |
| | | | |алгоритм реализован в| | | | |
| | | | |известной программе | | | | |
| | | | |glide. | | | | |
| | | | |[pic] | | | | |
| | | | |Рис. 2. Формат файла | | | | |
| | | | |.PWL. | | | | |
| | | | |Хранение ключа вместе| | | | |
| | | | |с данными | | | | |
| | | | |Эта причина приводит | | | | |
| | | | |к тому, что данные, | | | | |
| | | | |зашифрованные с | | | | |
| | | | |помощью | | | | |
| | | | |криптостойкого и | | | | |
| | | | |корректно | | | | |
| | | | |реализованного | | | | |
| | | | |алгоритма, могут быть| | | | |
| | | | |легко дешифрованы. | | | | |
| | | | |Это связано со | | | | |
| | | | |спецификой решаемой | | | | |
| | | | |задачи, при которой | | | | |
| | | | |невозможно вводить | | | | |
| | | | |ключ извне и он | | | | |
| | | | |хранится где-то | | | | |
| | | | |внутри в практически | | | | |
| | | | |незашифрованном виде.| | | | |
| | | | |Иначе говоря, здесь | | | | |
| | | | |наиболее уязвимым | | | | |
| | | | |будет алгоритм | | | | |
| | | | |шифрования не ключом,| | | | |
| | | | |а ключа (с помощью | | | | |
| | | | |некоего вторичного | | | | |
| | | | |ключа). Но так как | | | | |
| | | | |(что опять-таки | | | | |
| | | | |очевидно следует из | | | | |
| | | | |специфики задачи) | | | | |
| | | | |этот вторичный ключ | | | | |
| | | | |хранить извне нельзя,| | | | |
| | | | |то основные данные | | | | |
| | | | |рано или поздно будут| | | | |
| | | | |расшифрованы без | | | | |
| | | | |использования методов| | | | |
| | | | |перебора. | | | | |
| | | | |Типичным примером | | | | |
| | | | |здесь будут все WWW-,| | | | |
| | | | |ftp-, e-mail-клиенты.| | | | |
| | | | |Дело в том, что для | | | | |
| | | | |базовой (наиболее | | | | |
| | | | |часто встречающейся) | | | | |
| | | | |аутентификации в этих| | | | |
| | | | |протоколах пароль | | | | |
| | | | |должен передаваться | | | | |
| | | | |серверу в открытом | | | | |
| | | | |виде. Поэтому | | | | |
| | | | |клиентские программы | | | | |
| | | | |вынуждены шифровать | | | | |
| | | | |(а не хэшировать) | | | | |
| | | | |пароль, причем с | | | | |
| | | | |фиксированным ключом,| | | | |
| | | | |чтобы не надоедать | | | | |
| | | | |пользователю | | | | |
| | | | |постоянными | | | | |
| | | | |вопросами. Отсюда | | | | |
| | | | |следует, что где-то | | | | |
| | | | |внутри любого | | | | |
| | | | |броузера, почтового | | | | |
| | | | |или ftp-клиента (будь| | | | |
| | | | |то Netscape | | | | |
| | | | |Communicator, Eudora,| | | | |
| | | | |Outlook, FAR и т.п.) | | | | |
| | | | |лежат все ваши пароли| | | | |
| | | | |в практически | | | | |
| | | | |открытом виде, и что | | | | |
| | | | |расшифровать их не | | | | |
| | | | |представляет труда. | | | | |
| | | | |(Чаще всего, кстати, | | | | |
| | | | |пароль в таких | | | | |
| | | | |программах даже не | | | | |
| | | | |шифруется, а | | | | |
| | | | |кодируется алгоритмом| | | | |
| | | | |типа base-64). | | | | |
| | | | |Человеческий фактор | | | | |
| | | | |В любой критической | | | | |
| | | | |системе ошибки | | | | |
| | | | |человека-оператора | | | | |
| | | | |являются чуть ли не | | | | |
| | | | |самыми дорогостоящими| | | | |
| | | | |и распространенными. | | | | |
| | | | |В случае криптосистем| | | | |
| | | | |непрофессиональные | | | | |
| | | | |действия пользователя| | | | |
| | | | |сводят на нет самый | | | | |
| | | | |стойкий | | | | |
| | | | |криптоалгоритм и | | | | |
| | | | |самую корректную его | | | | |
| | | | |реализацию и | | | | |
| | | | |применение. | | | | |
| | | | |В первую очередь это | | | | |
| | | | |связано с выбором | | | | |
| | | | |паролей. Очевидно, | | | | |
| | | | |что короткие или | | | | |
| | | | |осмысленные пароли | | | | |
| | | | |легко запоминаются | | | | |
| | | | |человеком, но они | | | | |
| | | | |гораздо проще для | | | | |
| | | | |вскрытия. | | | | |
| | | | |Использование длинных| | | | |
| | | | |и бессмысленных | | | | |
| | | | |паролей безусловно | | | | |
| | | | |лучше с точки зрения | | | | |
| | | | |криптостойкости, но | | | | |
| | | | |человек обычно не | | | | |
| | | | |может их запомнить и | | | | |
| | | | |записывает на | | | | |
| | | | |бумажке, которая | | | | |
| | | | |потом либо теряется, | | | | |
| | | | |либо попадает в руки | | | | |
| | | | |злоумышленнику. | | | | |
| | | | |В последние годы | | | | |
| | | | |много внимания | | | | |
| | | | |уделяется разрешению | | | | |
| | | | |этого противоречия, | | | | |
| | | | |но рекомендации по | | | | |
| | | | |выбору хороших | | | | |
| | | | |паролей выходят за | | | | |
| | | | |рамки этой статьи. | | | | |
| | | | |Именно из того, что | | | | |
| | | | |неискушенные | | | | |
| | | | |пользователи обычно | | | | |
| | | | |выбирают либо | | | | |
| | | | |короткие, либо | | | | |
| | | | |осмысленные пароли, | | | | |
| | | | |существуют два метода| | | | |
| | | | |их вскрытия: атака | | | | |
| | | | |полным перебором и | | | | |
| | | | |атака по словарю. | | | | |
| | | | |С связи с резким | | | | |
| | | | |ростом вычислительных| | | | |
| | | | |мощностей атаки | | | | |
| | | | |полным перебором | | | | |
| | | | |имеют гораздо больше | | | | |
| | | | |шансов на успех, чем | | | | |
| | | | |раньше (см. также | | | | |
| | | | |"Малая длина ключа").| | | | |
| | | | |Если для системы UNIX| | | | |
| | | | |функция crypt(), | | | | |
| | | | |которая отвечает за | | | | |
| | | | |хэширование паролей, | | | | |
| | | | |была реализована так,| | | | |
| | | | |что выполнялась почти| | | | |
| | | | |1 секунду на машину | | | | |
| | | | |класса PDP, то за | | | | |
| | | | |двадцать лет скорость| | | | |
| | | | |ее вычисления | | | | |
| | | | |увеличилась в 15000 | | | | |
| | | | |раз (!). Поэтому если| | | | |
| | | | |раньше хакеры (и | | | | |
| | | | |разработчики, которые| | | | |
| | | | |ограничили длину | | | | |
| | | | |пароля 8 символами) и| | | | |
| | | | |представить себе не | | | | |
| | | | |могли полный перебор,| | | | |
| | | | |то сегодня такая | | | | |
| | | | |атака в среднем | | | | |
| | | | |приведет к успеху за | | | | |
| | | | |80 дней8. Скорость | | | | |
| | | | |перебора паролей для | | | | |
| | | | |различных | | | | |
| | | | |криптосистем | | | | |
| | | | |приведена в табл. 1. | | | | |
| |•|Securi| |Криптосистема | | |Скорость, | |
| | |ty | | | | |паролей/cек. | |
| | |News | | | | | | |
| |•|Безопа| |ARJ 2.50 | | |350 000 | |
| | |сность| | | | | | |
| | |в Unix| | | | | | |
| |•|Безопа| |RC5 - 56 бит | | |150 000 | |
| | |сность| | | | | | |
| | |в | | | | | | |
| | |Window| | | | | | |
| | |s | | | | | | |
| |•|Сборни| |LM-хэш | | |50 000 | |
| | |к | | | | | | |
| | |FAQ'ов| | | | | | |
| |•|Телефо| |Novell Netware 3.x | | |25 000 | |
| | |ния, | | | | | | |
| | |фрикин| | | | | | |
| | |г | | | | | | |
| |•|Кредит| |MS Office 97 | | |15 000 | |
| | |ные | | | | | | |
| | |карты | | | | | | |
| |•|Крипто| |UNIX - crypt() | | |15 000 | |
| | |графия| | | | | | |
| |•|Истори| |RAR 2.0 | | |1 000 | |
| | |и о | | | | | | |
| | |хакера| | | | | | |
| | |х | | | | | | |
| |•|Програ| |UNIX -MD5 | | |500 | |
| | |ммы, | | | | | | |
| | |утилит| | | | | | |
| | |ы | | | | | | |
| |•|CGI | |Табл. 1. Скорость | | | | |
| | |скрипт| |полного перебора на | | | | |
| | |ы | |компьютере класса | | | | |
| | | | |Pentium/166. | | | | |
| | | | |Однако вернемся на | | | | |
| | | | |несколько лет назад, | | | | |
| | | | |когда вычислительной | | | | |
| | | | |мощности для полного | | | | |
| | | | |перебора всех паролей| | | | |
| | | | |не хватало. Тем не | | | | |
| | | | |менее, хакерами был | | | | |
| | | | |придуман остроумный | | | | |
| | | | |метод, основанный на | | | | |
| | | | |том, что качестве | | | | |
| | | | |пароля человеком | | | | |
| | | | |выбирается | | | | |
| | | | |существующее слово | | | | |
| | | | |или какая-либо | | | | |
| | | | |информация о себе или| | | | |
| | | | |своих знакомых (имя, | | | | |
| | | | |дата рождения и т. | | | | |
| | | | |п.). Ну, а поскольку | | | | |
| | | | |в любом языке не | | | | |
| | | | |более 100000 слов, то| | | | |
| | | | |их перебор займет | | | | |
| | | | |весьма небольшое | | | | |
| | | | |время, и от 40 до 80%| | | | |
| | | | |существующих паролей | | | | |
| | | | |может быть угадано с | | | | |
| | | | |помощью такой простой| | | | |
| | | | |схемы, называемой | | | | |
| | | | |"атакой по словарю". | | | | |
| | | | |(Кстати, до 80% этих | | | | |
| | | | |паролей может быть | | | | |
| | | | |угадано с | | | | |
| | | | |использованием | | | | |
| | | | |словаря размером | | | | |
| | | | |всего 1000 слов!). | | | | |
| | | | |Даже вирус Морриса (в| | | | |
| | | | |1988 г.!) применял | | | | |
| | | | |такой способ, тем | | | | |
| | | | |более что в UNIX "под| | | | |
| | | | |рукой" часто | | | | |
| | | | |оказывается | | | | |
| | | | |файл-словарь, обычно | | | | |
| | | | |используемый | | | | |
| | | | |программами-корректор| | | | |
| | | | |ами. Что же касается | | | | |
| | | | |"собственных" | | | | |
| | | | |паролей, то файл | | | | |
| | | | |/etc/passwd может | | | | |
| | | | |дать немало | | | | |
| | | | |информации о | | | | |
| | | | |пользователе: его | | | | |
| | | | |входное имя, имя и | | | | |
| | | | |фамилию, домашний | | | | |
| | | | |каталог. Вирус | | | | |
| | | | |Морриса с успехом | | | | |
| | | | |пользовался | | | | |
| | | | |следующими | | | | |
| | | | |предположениями [3]: | | | | |
| | | | |в качестве пароля | | | | |
| | | | |берется входное им | | | | |
| | | | |пользователя; | | | | |
| | | | |пароль представляет | | | | |
| | | | |собой двойной повтор | | | | |
| | | | |имени пользователя; | | | | |
| | | | |то же, но прочитанное| | | | |
| | | | |справа налево; | | | | |
| | | | |имя или фамилия | | | | |
| | | | |пользователя; | | | | |
| | | | |то же, но в нижнем | | | | |
| | | | |регистре. | | | | |
| | | | |Пусть сегодня | | | | |
| | | | |пользователи уже | | | | |
| | | | |понимают, что | | | | |
| | | | |выбирать такие пароли| | | | |
| | | | |нельзя, но до тех | | | | |
| | | | |пор, пока с | | | | |
| | | | |компьютером работает | | | | |
| | | | |человек9, эксперты по| | | | |
| | | | |компьютерной | | | | |
| | | | |безопасности не | | | | |
| | | | |дождутся | | | | |
| | | | |использования таких | | | | |
| | | | |простых и радующих | | | | |
| | | | |душу паролей, как | | | | |
| | | | |34jXs5U@bTa!6. | | | | |
| | | | |Поэтому даже | | | | |
| | | | |искушенный | | | | |
| | | | |пользователь хитрит и| | | | |
| | | | |выбирает такие | | | | |
| | | | |пароли, как hope1, | | | | |
| | | | |user1997, pAsSwOrD, | | | | |
| | | | |toor, roottoor, | | | | |
| | | | |parol, gfhjkm, asxz. | | | | |
| | | | |Видно, что все они, | | | | |
| | | | |как правило, | | | | |
| | | | |базируются на | | | | |
| | | | |осмысленном слове и | | | | |
| | | | |некотором простом | | | | |
| | | | |правиле его | | | | |
| | | | |преобразования: | | | | |
| | | | |прибавить цифру, | | | | |
| | | | |прибавить год, | | | | |
| | | | |перевести через букву| | | | |
| | | | |в другой регистр, | | | | |
| | | | |записать слово | | | | |
| | | | |наоборот, прибавить | | | | |
| | | | |записанное наоборот | | | | |
| | | | |слово, записать | | | | |
| | | | |русское слово | | | | |
| | | | |латинскими буквами, | | | | |
| | | | |набрать русское слово| | | | |
| | | | |на клавиатуре с | | | | |
| | | | |латинской раскладкой,| | | | |
| | | | |составить пароль из | | | | |
| | | | |рядом расположенных | | | | |
| | | | |на клавиатуре клавиш | | | | |
| | | | |и т. п. | | | | |
| | | | |Поэтому не надо | | | | |
| | | | |удивляться, если | | | | |
| | | | |такой "хитрый" пароль| | | | |
| | | | |будет вскрыт хакерами| | | | |
| | | | |- они не глупее самих| | | | |
| | | | |пользователей, и уже | | | | |
| | | | |вставили в свои | | | | |
| | | | |программы те правила,| | | | |
| | | | |по которым может идти| | | | |
| | | | |преобразование слов. | | | | |
| | | | |В самых продвинутых | | | | |
| | | | |программах (John The | | | | |
| | | | |Ripper, Password | | | | |
| | | | |Cracking Library) эти| | | | |
| | | | |правила могут быть | | | | |
| | | | |программируемыми и | | | | |
| | | | |задаваться с помощью | | | | |
| | | | |специального языка | | | | |
| | | | |самим хакером. | | | | |
| | | | |Приведем пример | | | | |
| | | | |эффективности такой | | | | |
| | | | |стратегии перебора. | | | | |
| | | | |Во многих книгах по | | | | |
| | | | |безопасности | | | | |
| | | | |предлагается выбирать| | | | |
| | | | |в качестве надежного | | | | |
| | | | |пароля два | | | | |
| | | | |осмысленных слова, | | | | |
| | | | |разделенных некоторым| | | | |
| | | | |знаком, например | | | | |
| | | | |"good!password". | | | | |
| | | | |Подсчитаем, за | | | | |
| | | | |сколько времени в | | | | |
| | | | |среднем будут сломаны| | | | |
| | | | |такие пароли, если | | | | |
| | | | |такое правило | | | | |
| | | | |включено в набор | | | | |
| | | | |программы-взломщика | | | | |
| | | | |(пусть словарь 10000 | | | | |
| | | | |слов, разделительными| | | | |
| | | | |знаками могут быть 10| | | | |
| | | | |цифр и 32 знака | | | | |
| | | | |препинания и | | | | |
| | | | |специальных символа, | | | | |
| | | | |машина класса Pentium| | | | |
| | | | |со скоростью 15000 | | | | |
| | | | |crypt/сек):[pic]=140 | | | | |
| | | | |000 секунд или менее | | | | |
| | | | |1.5 дней! | | | | |
| | | | |Заключение | | | | |
| | | | |С момента начала | | | | |
| | | | |написания этой статьи| | | | |
| | | | |в 1996 году положение| | | | |
| | | | |в применении средств | | | | |
| | | | |криптографии в | | | | |
| | | | |прикладных программах| | | | |
| | | | |бесспорно меняется в | | | | |
| | | | |лучшую сторону. | | | | |
| | | | |Постепенно | | | | |
| | | | |разработчики осознают| | | | |
| | | | |необходимость | | | | |
| | | | |применения | | | | |
| | | | |зарекомендовавших | | | | |
| | | | |себя алгоритмов, | | | | |
| | | | |сдвигаются с мертвой | | | | |
| | | | |точки позиции | | | | |
| | | | |некоторых стран в | | | | |
| | | | |вопросе экспорта | | | | |
| | | | |криптоалгоритмов, | | | | |
| | | | |разрабатываются новые| | | | |
| | | | |алгоритмы и стандарты| | | | |
| | | | |с большей длиной | | | | |
| | | | |ключа и | | | | |
| | | | |эффективностью для | | | | |
| | | | |реализации на всех | | | | |
| | | | |типах процессоров, от| | | | |
| | | | |8-битных до RISC. | | | | |
| | | | |Тем не менее, | | | | |
| | | | |остается огромная | | | | |
| | | | |пропасть между | | | | |
| | | | |уровнем стойкости и | | | | |
| | | | |надежности | | | | |
| | | | |существующего сейчас | | | | |
| | | | |ПО, применяющего | | | | |
| | | | |криптоалгоритмы, в | | | | |
| | | | |котором до сих пор | | | | |
| | | | |находятся "детские" | | | | |
| | | | |дыры (последний | | | | |
| | | | |пример - реализация | | | | |
| | | | |PPTP от Microsoft | | | | |
| | | | |[4]) и тем уровнем | | | | |
| | | | |криптостойкости, | | | | |
| | | | |который демонстрируют| | | | |
| | | | |последние, независимо| | | | |
| | | | |проанализированные | | | | |
| | | | |ведущими | | | | |
| | | | |криптоаналитиками | | | | |
| | | | |алгоритмы и | | | | |
| | | | |протоколы, где | | | | |
| | | | |серьезной уязвимостью| | | | |
| | | | |считается, например, | | | | |
| | | | |та, что требует 265 | | | | |
| | | | |блоков шифрованного | | | | |
| | | | |текста и затем 258 | | | | |
| | | | |перебора вариантов | | | | |
| | | | |или одного открытого | | | | |
| | | | |текста, | | | | |
| | | | |зашифрованного 233 | | | | |
| | | | |разными, но | | | | |
| | | | |зависимыми друг от | | | | |
| | | | |друга ключами и затем| | | | |
| | | | |сложности анализа, | | | | |
| | | | |равного 257[5]. | | | | |
| | | | |Хочется надеяться, | | | | |
| | | | |что будущие | | | | |
| | | | |реализации и | | | | |
| | | | |применение этих | | | | |
| | | | |алгоритмов сохранят | | | | |
| | | | |столь высокую степень| | | | |
| | | | |их надежности. | | | | |
| | | | |Резюме | | | | |
| | | | |Можно выделить 4 | | | | |
| | | | |основных группы | | | | |
| | | | |причин ненадежности | | | | |
| | | | |криптографических | | | | |
| | | | |систем: применение | | | | |
| | | | |нестойких алгоритмов,| | | | |
| | | | |неправильная | | | | |
| | | | |реализация или | | | | |
| | | | |применение | | | | |
| | | | |криптоалгоритмов, а | | | | |
| | | | |также человеческий | | | | |
| | | | |фактор. При этом | | | | |
| | | | |видна четкая | | | | |
| | | | |параллель между ними | | | | |
| | | | |и причинами нарушения| | | | |
| | | | |безопасности | | | | |
| | | | |вычислительных | | | | |
| | | | |систем. | | | | |
| | | | |Из-за описанных | | | | |
| | | | |причин имелись или | | | | |
| | | | |имеются проблемы в | | | | |
| | | | |безопасности у всех | | | | |
| | | | |классов программных | | | | |
| | | | |продуктов, | | | | |
| | | | |использующие | | | | |
| | | | |криптоалгоритмы, будь| | | | |
| | | | |то операционные | | | | |
| | | | |системы; | | | | |
| | | | |криптопротоколы; | | | | |
| | | | |клиенты и сервера, их| | | | |
| | | | |поддерживающие; | | | | |
| | | | |офисные программы; | | | | |
| | | | |пользовательские | | | | |
| | | | |утилиты шифрования; | | | | |
| | | | |популярные | | | | |
| | | | |архиваторы. | | | | |
| | | | |Для того, чтобы | | | | |
| | | | |грамотно реализовать | | | | |
| | | | |собственную | | | | |
| | | | |криптосистему, | | | | |
| | | | |необходимо не только | | | | |
| | | | |ознакомится с | | | | |
| | | | |ошибками других и | | | | |
| | | | |понять причины, по | | | | |
| | | | |которым они | | | | |
| | | | |произошли, но и, | | | | |
| | | | |возможно, применять | | | | |
| | | | |особые защитные | | | | |
| | | | |приемы | | | | |
| | | | |программирования и | | | | |
| | | | |специализированные | | | | |
| | | | |средства разработки. | | | | |
| | | | | | | | | |
| | | | | | | | | |
| | | | |1 Под | | | | |
| | | | |криптостойкостью | | | | |
| | | | |здесь и далее будет | | | | |
| | | | |пониматься количество| | | | |
| | | | |вариантов для | | | | |
| | | | |нахождения ключа | | | | |
| | | | |перебором. | | | | |
| | | | |2 Это было до | | | | |
| | | | |недавнего времени. | | | | |
| | | | |Сейчас - 56 бит. | | | | |
| | | | |3 [ ] - целая часть | | | | |
| | | | |(ближайшее целое | | | | |
| | | | |снизу). | | | | |
| | | | |4 ] [ - ближайшее | | | | |
| | | | |целое сверху. | | | | |
| | | | |5 Ясно, что и здесь и| | | | |
| | | | |в примере выше | | | | |
| | | | |получаются одни и те | | | | |
| | | | |же числа, но за счет | | | | |
| | | | |округления в разные | | | | |
| | | | |стороны оказывается | | | | |
| | | | |разница в 1 символ. | | | | |
| | | | |6 что приблизительно | | | | |
| | | | |соответствует 56 | | | | |
| | | | |битам для | | | | |
| | | | |симметричных | | | | |
| | | | |алгоритмов. | | | | |
| | | | |7 миллион инструкций | | | | |
| | | | |в секунду в течении | | | | |
| | | | |года. | | | | |
| | | | |8 Используя | | | | |
| | | | |специальные платы или| | | | |
| | | | |распараллеливание, | | | | |
| | | | |это время можно | | | | |
| | | | |уменьшить на | | | | |
| | | | |несколько порядков. | | | | |
| | | | |9 :-) | | | | |
| | | | | | | | | |
| | | | |Литература. | | | | |
| | | | |1. Теория и практика | | | | |
| | | | |обеспечения | | | | |
| | | | |информационной | | | | |
| | | | |безопасности. Под | | | | |
| | | | |редакцией Зегжды П.Д.| | | | |
| | | | |- М., Яхтсмен, 1996. | | | | |
| | | | |2. П. Кочер. | | | | |
| | | | |Временной анализ | | | | |
| | | | |реализаций | | | | |
| | | | |Диффи-Хеллмана, RSA, | | | | |
| | | | |DSS и других систем | | | | |
| | | | |3. Mark W. Eichin, | | | | |
| | | | |Jon A. Rochils. With | | | | |
| | | | |Microscope and | | | | |
| | | | |Tweezers: An Analysis| | | | |
| | | | |of the Internet virus| | | | |
| | | | |of November 1988. | | | | |
| | | | |4. Б. Шнайер, П. | | | | |
| | | | |Мюдж. Криптоанализ | | | | |
| | | | |протокола PPTP от | | | | |
| | | | |Microsoft. | | | | |
| | | | |5. Eli Biham, Lars R.| | | | |
| | | | |Knudsen. | | | | |
| | | | |Cryptanalysis of the | | | | |
| | | | |ANSI X9.52 CBCM Mode.| | | | |
| | | | |Proceedings of | | | | |
| | | | |Eurocrypt'98. | | | | |
| | | | |Дополнительные | | | | |
| | | | |ссылки. | | | | |
| | | | |Баpичев Сеpгей. | | | | |
| | | | |Kpиптогpафия без | | | | |
| | | | |секpетов. | | | | |
| | | | |Bruce Schneier. Why | | | | |
| | | | |Cryptography Is | | | | |
| | | | |Harder Than It Looks | | | | |
| | | | | | | | | |
| | | | |© Павел Семьянов, | | | | |
| | | | |1996-98 г. | | | | |
| | | | |e-mail: | | | | |
| | | | |psw@ssl.stu.neva.ru | | | | |
| | | | |WWW: | | | | |
| | | | |http://www.ssl.stu.ne| | | | |
| | | | |va.ru/psw | | | | |
| | | | | | | | | |
|[pic| | | |[pic] |[| | | |
|] | | | | |p| | | |
| | | | | |i| | | |
| | | | | |c| | | |
| | | | | |]| | | |
| | | | | | | | | |
|[|_e| | | | | | | | |
|p|l@| | | | | | | | |
|i|ge| | | | | | | | |
|c|oc| | | | | | | | |
|]|it| | | | | | | | |
| |ie| | | | | | | | |
| |s.| | | | | | | | |
| |co| | | | | | | | |
| |m | | | | | | | | |
|[pic| | | | | | | | |
|] | | | | | | | | |