Читаем Кибероружие и кибербезопасность. О сложных вещах простыми словами полностью

Так как р — простое число, то существуют такое число е, что е-Q = Р. Нахождение е — вычислительно сложная задача дискретного логарифмирования на эллиптической кривой, для решения которой на сегодняшний день не существует эффективных алгоритмов. Но если предположить, что злоумышленник знает е, то получается следующая атака: Если х=ti — очередной выход генератора, и если существует такое у, что у2 = хЗ + ах + b mod р, то точка А = (х, у), лежит на кривой и для неё выполняется следующее равенство: А = ri Q. Зная число е можно вычислить: si+1 = ср(е • А) = <р(с ri • Q) =

2. Ошибка в реализации протокола проверки сертификатов TLS от компании Apple

Исследователями компании Яндекс была обнаружена уязвимость в реализации протокола TLS в одном из программных продуктов Apple. По их мнению, данная ошибка вполне может оказаться бэк-дором, намеренно встроенным в алгоритм кем-то из разработчиков.

Как можно видеть, после второго оператора if стоят две строчки goto fail, и вторая строчка выполняется всегда, независимо от результата if. Таким образом процедура проверки сертификата проходит не полностью. Злоумышленник, знающий об этой уязвимости, может легко подделать сертификат и пройти проверку подлинности. Это позволит ему организовать атаку типа «Человек посередине», тем самым вмешаться в защищённое соединение между клиентом и сервером. Исследователи, обнаружившие данную ошибку в реализации, не могут точно сказать, намеренно она была сделана или случайно. Вполне возможно, что это бэкдор, встроенный в алгоритм кем-то из разработчиков.

3. Специально подобранные константы

Очень многие современные криптографические алгоритмы используют при своей работе определённый набор внутренних констант. Как правило, эти константы задаются стандартом и выбираются из соображений криптографической стойкости к известным на данный момент видам криптоанализа. Но выбор констант при стандартизации алгоритма теоретически может быть использован разработчиками и со злым умыслом: например, для создания определённых уязвимостей и бэкдоров в алгоритме.

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

криптографической хэш-функции SHA1 путём модификации её раундовых констант. Отметим, что предложенная авторами исследования атака не является атакой на саму хэш-функцию SHA1, она позволяет лишь находить коллизии при условии возможности изменения раундовых констант и только для определённых типов файлов.

Краткое описание SHA1

SHA1 — современная раундовая хэш-функция. Алгоритм хэширования следующий:

• инициализируются 32-битные значения а = hO, b = hl, с = h2, d = h3, е = h4;

• входное сообщение разбивается на блоки длиной 512 бит;

• каждый блок сообщения обрабатывается и дополняется специальным образом, по алгоритму, определённому в стандарте;

• полученный блок сообщения хэшируется в 4 этапа по 20 раундов в каждом, причём для каждого этапа используется своя константа KI, К2, КЗ или К4;

• выходом функции для каждого блока будут новые значения а, Ь, с, d, е, которые добавляются к результату: hO = hO + а, hl =hl +b,h2 = h2 + c, h3 = h3 + d, h4 = h4 + e;

• итоговым результатом хэширования будет 160-битное значение, полученное конкатенацией пяти 32-битных значений hO, hl, h2, h3, h4 после обработки последнего блока сообщения.

Построение коллизий

Целью рассматриваемой атаки является нахождение таких констант KI, К2, КЗ, К4 и таких сообщений Ml, М2, что Hash(Ml) = Hash(M2). Данная атака модифицирует только первые 512 бит (1-й блок) сообщений для которых требуется построить коллизию. Алгоритм базируется на уже известной разностной атаке на SHA1, предложенной в 2005 году и имеющей сложность порядка 269 операций, что делает её трудноосуществимой на практике. Поэтому до настоящего времени ни одной реальной коллизии для SHA1 найдено не было.

Но в случае создания вредоносного варианта SHA1 злоумышленник может варьировать нс только блоки сообщений Ml и М2, но и раундовые константы KI, К2, КЗ, К4. Согласно исследованиям, это сильно снижает сложность атаки до порядка 248 операций и делает построение таких коллизий реальной задачей, которую можно выполнить на нескольких компьютерах. Таким образом, авторам исследования удалось построить одноблоковые коллизии для многих известных типов файлов.

Одноблоковая коллизия

Ml и М2 — первые блоки сообщений (512 бит), которые отличаются между собой, но дают одинаковую хэш-сумму.

Content — остальное содержимое, которое одинаково для обоих файлов.

Пример использования вредоносного хэширования для создания бэкдоров.

С помощью описанной атаки были созданы два sh-скрипта, которые при выборе KI = 5а827999, К2 = 88е8са68, КЗ = 578059dc, К4 = 54324а39 дают одинаковую хэш-сумму SHA1, но работают по-разному.

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

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

При этом аппаратные бэкдоры имеют ряд преимуществ над программными:

• не могут быть обнаружены антивирусами, сканерами кода и другим защитным ПО;

• не могут быть устранены обновлением или заменой программного обеспечения.

Примером аппаратного бэкдора может быть вредоносная прошивка BIOS. Согласно исследованиям, такая прошивка может быть построена на основе свободных прошивок Coreboot и SeaBIOS. Coreboot не является полноценным BIOS: он отвечает только за обнаружение имеющегося на машине оборудования и передачу управления самой «начинке BIOS», в качестве которой может быть использован модифицированный злоумышленником под свои нужды SeaBIOS.

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

Перейти на страницу:

Похожие книги

Компьютер для тех, кому за…
Компьютер для тех, кому за…

В наш век высоких технологий без компьютера не обходится практически ни один человек. Но что делать, если вам уже за…, а компьютер вы так и не освоили? Не стоит отчаиваться! Эта книга была написана специально для тех, кто по каким-то причинам не смог освоить его раньше. Легким и доступным языком в книге изложены основные принципы работы на компьютере. Вы узнаете, как создать документ в текстовом редакторе, выстроить таблицы и диаграммы в экселе, освоите графический редактор, который позволит вам рисовать и редактировать фото и рисунки, научитесь самостоятельно подключать принтер и печать, общаться с родными и друзьями по скайпу и ICQ, узнаете, какие бывают игры, как выбрать игру для себя, и многое-многое другое.Никогда не поздно осваивать что-то новое! А уж тем более — компьютер. Он откроет вам целый мир безграничных возможностей. Не упустите свой шанс узнать что-то новое и интересное — дайте компьютеру прочно войти в вашу жизнь. Ведь пользоваться им так же просто, как и обычным телефоном, только в тысячу раз интереснее!

Оксана Грибова

Зарубежная компьютерная, околокомпьютерная литература / Интернет / Программное обеспечение / Прочая компьютерная литература / Книги по IT