Kniga-Online.club
» » » » Коллектив авторов - Защита от хакеров корпоративных сетей

Коллектив авторов - Защита от хакеров корпоративных сетей

Читать бесплатно Коллектив авторов - Защита от хакеров корпоративных сетей. Жанр: Прочая околокомпьютерная литература издательство неизвестно, год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:

Из-за ограниченности быстродействия устройства DS1991 и быстродействия шины его однопроводного интерфейса время транзакции при каждой попытке ввода пароля ограничено 0,116 с. Поэтому нельзя атаковать устройство способом грубой силы, перебирая всевозможные значения пароля в 64-битном ключевом пространстве. Только на перебор печатных символов ASCII потребовалось бы около 22 406 645 лет. Но успешная атака со словарем из обычно используемых паролей вполне возможна.

Реинжиниринг «случайного» ответа

Сравнивая «случайные» ответы устройства на известные неправильные пароли длиной в 48 байт, было выяснено, что они были вычислены в простом цикле, как показано ниже. Хотя код может показаться сложным, на самом деле в нем выполняется ряд операций XOR над последовательностью константных строк.

Пусть A_j – j-ый байт восьмибайтового пароля A (в случае, если длина пароля меньше 8 байт, то остаток области пароля дополняется до 8 байт константами 0x20)

Пусть B_k – k-ый байт 12 Кб константного блока B (массива из 256 48 байтовых элементов)

Пусть C_m – m-ый байт C 48-байтового кода возврата устройства (инициализированного константами 0x00)

for (j = 0; j < 8; ++j) // For each remaining character in p/w

{

for (m = 0; m < 48; ++m) // For each byte in the response

{

if (m + j < 48) // Catch overflow above 48-bytes long

{

k = A_j; // Perform a look-up into the constant block

// based on the jth byte of the password

C_(m + j) ^= B_k; // XOR the response with the value

// of the constant block (shifted

// j bytes)

}

}

}

В случае если последний символ пароля (A_7) является числом со знаком (значение символа больше величины 0x7F), предпринимается дополнительный шаг. В этом случае предварительно вычисленное значение подключа складывается по модулю 2 (выполняется операция XOR) со значением другого константного блока, представленного в виде массива из 128 элементов по 48 байт каждый. Неясно, почему устройство iButton так делает. Возможно, чтобы еще больше запутать исследователя и добавить таинственности «случайному» ответу. Как видно из только что приведенного программного кода, константный блок используется для поиска 48-байтной строки для каждого байта введенного пароля. В случае ввода неправильного пароля для получения окончательного ответа каждая строка складывается по модулю 2 и возвращается устройством iButton. Для приведенного ниже примера рассмотрим использование пароля «hello» (дополненного до 8 символов байтом пробела 0x20) и вычислим 48 байт строки «неверного пароля». В целях экономии места рассмотрим только первые 16 байт результирующего 48-байтного кода возврата.

Пусть A = “hello ” = 68 65 6C 6C 6F 20 20 20

B_68 (“h”) = D8 F6 57 6C AD DD CF 47 CC 05 0B 5B 9C FC 37 93 ...

B_65 (“e”) = 03 08 DD C1 18 26 36 CF 75 65 6A D0 0F 03 51 81 ...

B_6C (“l”) = A4 33 51 D2 20 55 32 34 D8 BF B1 29 40 03 5C 9C ...

B_6C (“l”) = A4 33 51 D2 20 55 32 34 D8 BF B1 29 40 03 5C 9C ...

B_6F (“o”) = 45 E0 D3 62 45 F3 33 11 57 4C 42 0C 59 03 33 98 ...

B_20 (“ “) = E0 2B 36 F0 6D 44 EC 9F A3 D0 D5 95 E3 FE 5F 7B ...

B_20 (“ “) = E0 2B 36 F0 6D 44 EC 9F A3 D0 D5 95 E3 FE 5F 7B ...

B_20 (“ “) = E0 2B 36 F0 6D 44 EC 9F A3 D0 D5 95 E3 FE 5F 7B ...

D8 F6 57 6C AD DD CF 47 CC 05 0B 5B 9C FC 37 93 ...

03 08 DD C1 18 26 36 CF 75 65 6A D0 0F 03 51 ...

A4 33 51 D2 20 55 32 34 D8 BF B1 29 40 03 ...

A4 33 51 D2 20 55 32 34 D8 BF B1 29 40 ...

45 E0 D3 62 45 F3 33 11 57 4C 42 0C ...

E0 2B 36 F0 6D 44 EC 9F A3 D0 D5 ...

E0 2B 36 F0 6D 44 EC 9F A3 D0 ...

E0 2B 36 F0 6D 44 EC 9F A3 ...

Результирующий предварительно вычисленный код возврата складывается по модулю 2 со всеми вышерасположенными строками, сохраняя наиболее значащие 48 байт. Обратите внимание, что эта строка является шестнадцатеричным представлением «мусора» на рис. 14.12, который был возвращен в ответ на ввод неправильного пароля «hello»:

D8 F5 FB 26 4B 46 03 9B CC 2E 68 82 22 F7 F3 2B ...

Если вводится неверный пароль, то устройство DS1991 возвращает 48-байтную строку «неверного пароля», как это было продемонстрировано в нашем примере. При вводе одинаковых паролей предварительно вычисленное значение для любого устройства будет всегда одним и тем же. Поэтому если предварительно вычисленное значение совпадает с кодом возврата, возвращенным устройством DS1991, то введенный пароль неверен, а если не совпадает, то предполагаемый пароль – правильный. Так происходит из-за того, что устройство возвращает записанные в области подключа данные быстрее «случайных» данных, обычно возвращаемых при вводе неверного пароля.

Инструментарий демонстрации правильности идеи концепции вместе с исходным текстом доступен по адресу www.atstake.com/research/advisories/2001/ds1991.zip. Он отображает содержимое 12 Кб константного блока и демонстрирует возможность атаки со словарем на устройство DS1991 iButton. Демонстрационный пример выполняет следующие действия.

1. Находит устройство DS1991 iButton на определенном по умолчанию COM-порте.

2. Считывает входной файл, в котором записаны слова словаря атаки. Вычисляет предполагаемый 48-байтный код возврата устройства при вводе неверного пароля.

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

Пример: хакинг устройства NetStructure 7110 E-commerce Accelerator

Устройство Intel NetStructure 7110 e-Commerce Accelerator (www.intel.com/network/idc/products/accel_7110.htm) является поддерживающим протокол защищенных сокетов SSL криптографическим акселератором, который разгружает главный Web-сервер сети от выполнения криптографических функций, позволяя тем самым увеличить производительность его работы с остальными сайтами сети. Устройство помещается между маршрутизатором и Web-сервером и может обрабатывать до 200 безопасных подключений в секунду. NetStructure 7110 использует последовательный порт при помощи пульта управления, расположенного на передней стенке устройства. Благодаря этому оно может быть скомпрометировано, позволяя злоумышленнику получить полный доступ к внутреннему устройству системы.

Этот пример показывает, каким образом пользователь или администратор может получить доступ к устройству, не имея на то законных полномочий. Устройство было физически вскрыто, и была исследована его операционная система, записанная на простой плате памяти. В результате анализа различных частей кода при помощи программных методов реинжиниринга у некоторых доработок NetStructure 7110 был обнаружен недокументированный пароль администратора, который позволяет контролировать любые настройки системы и получить полный доступ к внутренним компонентам устройства и его файловой системе. Этот пример основан на рекомендациях Брайона Обливиона (Brian Oblivion) «Потайная дверь в устройство NetStructure 7110 через его консоль» (NetStructure 7110 Console Backdoor), www.atstake.com/research/advisories/2000/ipivot7110.html. Пример был проверен на устройстве, изготовленном в апреле 2000 года.

Вскрытие устройства

Устройство NetStructure 7110 размещено в стандартном 19-дюймовом устанавливаемом в стойку корпусе и закрыто малозаметными винтами (рис. 14.13). Вскрытие устройства позволило обнаружить внутри стандартную материнскую плату PC и процессор Pentium II 333 МГц. Плата Rainbow CryptoSwift Accelerator (www.rainbow.com/cryptoswift/PCI.html) была подключена к локальной шине PCI материнской платы. Внутри устройства не оказалось жесткого диска, поскольку файловая система размещается в постоянном запоминающем устройстве на плате запоминающего устройства CompactFlash (www.CompactFlash.org). Не было обнаружено никаких явных защитных механизмов, разве только небольшой слой изоляции (пломба) на внешней стороне корпуса, который был тщательно удален перед вскрытием и заменен по окончании исследования.

Рис. 14.13. Внешний вид устройства Intel NetStructure 7110 e-Commerce Accelerator

Поиск файловой системы

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

Сначала плата CompactFlash была отсоединена от устройства NetStructure и вставлена в адаптер PCMCIA CompactFlash, который может быть подключен к портативному или настольному компьютеру (рис. 14.14).

Рис. 14.14. Установка платы CompactFlash в PCMCIA адаптор CompactFlash

Платы CompactFlash совместимы со спецификацией ATA/IDE для жесткого диска, поэтому большинство операционных систем обнаружит их автоматически, не требуя для этого установки дополнительных драйверов. Плата была автоматически обнаружена портативным компьютером типа лаптоп с установленной операционной системой OpenBSD 3.0:

wdc2 at pcmcia1 function 0 “CL ATA FLASH CARD LEXAR ,

TIDALWV, V.17B” port 0xa000/16

wd1 at wdc2 channel 0 drive 0: <LEXAR_ATA_FLASH>

wd1: 1-sector PIO, LBA, 31MB, 1004 cyl, 2 head, 32 sec,

64256 sectors

wd1(wdc2:0:0): using BIOS timings

После этого воспользовались командой dd для создания точного образа платы CompactFlash. В качестве входного файла был определен /dev/wda1 (который на самом деле является платой CompactFlash), а в качестве выходного – fs.bin. Кроме того, было указано, что размер блока равен 1 байту (минимально возможный размер блока):

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

Коллектив авторов читать все книги автора по порядку

Коллектив авторов - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


Защита от хакеров корпоративных сетей отзывы

Отзывы читателей о книге Защита от хакеров корпоративных сетей, автор: Коллектив авторов. Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*