В начале было слово …

… и слово было 4 бита, потому как первый микропроцессор Intel 4004, выпущенный в 1971 году, был 4-разрядным. К процессорам, их характеристикам и их эволюции мы еще неоднократно вернемся в этом блоге, но для начала позвольте представиться.

Меня зовут Павел Семьянов, я уже более 15 лет занимаюсь компьютерной безопасностью и работаю в Санкт-Петербургском Политехническом Университете. Одним из моих увлечений с самого начала стала криптография, в особенности ее практическое применение в различных компьютерных системах, а одним из моих хобби, тесно связанным с работой, стало написание программ для анализа уязвимостей криптографических систем и, в основном, взлома (иначе говоря, восстановления) паролей. (Я обязательно коснусь разницы в терминах “взлом паролей” и “восстановление паролей”, в том числе юридической, в одной из следующих записей).  Поэтому надеюсь, что информация из первых рук о практической криптографии, которой я располагаю, будет небезынтересна широкому кругу читателей.

В результате этих моих увлечений я создал в 1998 году сайт “Криптографический ликбез”, который до сих пор является одним из наиболее упоминаемых ресурсов по криптографии, и этот сайт, “Russian Password Crackers”, который тогда представлял из себя одну страничку. Постепенно сайт развивался, переехал на домен www.password-crackers.com, а с 2006 года появился его русскоязычный аналог. И вот сегодня блог выходит сначала именно на русском сайте, а потом я запущу его англоязычный вариант.

По поводу названия сайта - он появилось спонтанно. Во-первых, практически все известные мне тогда взломщики паролей были написаны в России, поэтому гордость за соотечественников проявилась в названии сайта. (Кстати, и сегодня, думаю, около 80% всех компаний, предлагающих услуги по восстановлению паролей, - русские или основаны русскими).  Во-вторых, более нейтральный термин - “password recovery” - видимо, был неизвестен мне тогда, и поэтому появилось более злонамеренное слово “crackers”. Это слово в названии впоследствии доставило мне немало проблем, но теперь уже поздно что-то менять. Но, кстати, в описании сайта всегда подчеркивалось, что он размещает только программы, использующие те или иные уязвимости в криптосистемах, и не имеет ничего общего с остальными взломщиками -  программ, почтовых ящиков и т.п.

На сайт я тогда выложил и систематизировал все известные и хорошие, по моему мнению, взломщики, и это тоже стало особенностью сайта - я не добавляю на него программы, которые по всем параметрам не лучше, чем уже представленные. Оказалось, что наиболее популярные категории для взлома паролей - это пароли архивов, BIOS, Microsoft Office, Windows - в общем, то же, что и сейчас. На основе этих программ и используемых ими уязвимостей я создал классификацию уязвимостей криптосистем, которая вошла в статью “Почему криптосистемы ненадежны”. Понятно, что за 10 лет эта статья значительно устарела, но основы классификации остались такими же. Прояснить современное состояние криптографической защиты в прикладных программах - и есть одна из целей данного блога.

В заключении первой записи хотел бы вернуться к процессорам, а именно к прогрессу вычислительной техники. Я прекрасно помню, что тестируя программу для взлома паролей ARJ (YACC)  на тогда очень мощном процессоре Intel 386DX-40, я ее оставлял и уходил обедать, она считала около получаса. Недавно я запустил этот тест на современном Core 2 Duo.  Результат - 1 секунда 61 сотая! Скорость - более 10 миллионов паролей в секунду! Этот тестовый файл сохранил свою дату создания - 21.07.2004, итого почти за 15 лет скорость процессоров в персональных компьютерах возросла более чем в 1000 раз!

За счет чего? Во-первых, тактовая частота. 1.86 ГГц против 40 МГц - это 50 раз. Уменьшение количества тактов для выполнения каждой операции - пусть еще в 2-3 раза. Далее, выполнение нескольких инструкций за такт за счет конвейеров - еще втрое быстрее. Кэширование, предсказание переходов, предвыборка инструкций, более быстрая память - еще в 2 раза. Итого почти сходится -  около 1000 раз. Это притом, что программа не поддерживает многопроцессорность, иначе бы на двуядерным Core 2 было бы еще вдвое быстрее!

Нет комментариев

Еще нет комментариев.

RSS лента комментариев к этой записи. TrackBack URI

Оставить комментарий

You must be logged in to post a comment.

WordPress Themes