Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
SSL.docx
Скачиваний:
7
Добавлен:
15.04.2015
Размер:
561.52 Кб
Скачать

2. От теории к практике: взлом ssl

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

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

MD5

Одним из самых широко распространенных алгоритмов хэширования является Message-Digest algorithm 5, или попросту MD5. Он был разработан еще в начале 90-х и благодаря своему использованию в различных интернет-спецификациях широко применяется везде, где требуется функция хеширования. Как и любой другой алгоритм, связанный с безопасностью, он пристально изучался экспертами непосредственно с момента своего появления.

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

В конечном итоге, способ проведения подобной атаки на MD5 был найден; однако это не единственная существующая ее разновидность. В 2004 году был разработан метод, позволяющий создать два файла с одинаковым хешем MD5. Создаваемые файлы должны были быть практически идентичными, за исключением 128 смежных байтов, которые могли отличаться.

Несмотря на то, что достигнутый результат обеспокоил специалистов в области шифрования, повсеместного отказа от MD5 так и не произошло. Многие полагали, что возможности для практической реализации такой атаки будут весьма ограниченными и сочли обнаруженную уязвимость не заслуживающей особенного внимания. Другими словами, это была лишь теоретическая возможность, а не практический недостаток алгоритма.

Впрочем, в 2007 году способ проведения атаки был доработан, что позволило создавать конфликты с куда большей степенью свободы. Данный метод получил название "атаки с подобранным префиксом" (chosen prefix attack). Он позволял атакующим взять два произвольных файла (подобранных префикса) и затем сгенерировать такие суффиксы для каждого из файлов, которые позволяли создать хэш MD5, одинаковый для них обоих.

И если случай со 128 байтами не привел к отказу от MD5, то после этой ситуации отмена MD5 уж точно должна была состояться. Однако реакция специалистов оказалась идентичной той, которая наблюдалась в 2004 году – метод был признан лишь интересной теорией, а не практической уязвимостью. А между тем, он позволял проделывать весьма конкретные трюки – такие как подготовка фальшивых предсказаний относительно исхода президентских выборов в США в 2008 году, хотя и не подвергал непосредственной опасности системы, строящие свою защиту с использованием MD5.

И наконец, доклад, представленный на 25-й конференции Chaos Communication Congress, должен окончательно похоронить все доводы о том, что дыра в MD5 является "теоретической".

PKI

Одной из систем, которые могут использовать MD5, является инфраструктура открытых ключей (PKI). PKI - это механизм, позволяющий машинам и людям доказывать свою идентичность другим компьютерным системам. Самым видимым вариантом применения PKI могут считаться сертификаты безопасных сайтов, которые подтверждают, что, например, безопасное соединение с https://amazon.com/ - это действительно соединение с компьютерами Amazon, а не проделка какого-нибудь хитроумного хакера. Делается это с помощью организации иерархической архитектуры доверенных структур.

В корне системы, на самом доверительном уровне, располагаются центры сертификации. Это компании наподобие Verisign и Thawte. Считается, что они выдают сертификаты только тем людям и организациям, которые подтвердили заявленные о себе данные. В случае если все условия соблюдены, центр сертификации выпускает сертификат, представляющий из себя небольшой файл, который содержит текст примерно следующего содержания: "этот сервер находится под контролем Amazon, подтверждено Verisign".

Каждый сертификат содержит ссылку на выпустившую его организацию, а некоторые сертификаты (так называемые "сертификаты промежуточных центров сертификации", Intermediate CA) позволяют создавать дополнительные сертификаты, образуя таким образом многоуровневую структуру, основанную на доверии. Сертификаты, выпускаемые непосредственно центрами сертификации, обычно уже загружены в браузеры и операционные системы, и компьютер доверяет им автоматически.

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

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

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

Сертификаты обычно заказывают онлайн. Тот, кому нужен сертификат, заполняет запрос на подпись сертификата (Certificate Signing Request, CSR), внося в него персональную информацию, указывая тип необходимого сертификата, имя домена, на который будет выдан сертификат, а также некоторую криптографическую информацию. После этого запрос отсылается в центр сертификации, который после проверки всех данных криптографически подписывает его, создавая, таким образом, сертификат.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]