Коллектив авторов - Защита от хакеров корпоративных сетей
- Название:Защита от хакеров корпоративных сетей
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Коллектив авторов - Защита от хакеров корпоративных сетей краткое содержание
В книге рассматривается современный взгляд на хакерство, реинжиниринг и защиту информации. Авторы предлагают читателям список законов, которые определяют работу систем компьютерной безопасности, рассказывают, как можно применять эти законы в хакерских технологиях. Описываются типы атак и возможный ущерб, который они могут нанести компьютерным системам. В книге широко представлены различные методы хакинга, такие, как поиск различий, методы распознавания шифров, основы их вскрытия и схемы кодирования. Освещаются проблемы безопасности, возникающие в результате непредсказуемого ввода данных пользователем, методы использования машинно-ориентированного языка, возможности применения мониторинга сетевых коммуникаций, механизмы туннелирования для перехвата сетевого трафика. В книге представлены основные сведения о хакерстве аппаратных средств, вирусах, троянских конях и червях. В этой книге читатель узнает о методах, которые в случае неправильного их применения приведут к нарушению законодательства и связанным с этим последствиям.
Лучшая защита – это нападение. Другими словами, единственный способ остановить хакера заключается в том, чтобы думать, как он. Эти фразы олицетворяют подход, который, по мнению авторов, позволит наилучшим образом обеспечить безопасность информационной системы.
Перевод: Александр Петренко
Защита от хакеров корпоративных сетей - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
Реинжиниринг «случайного» ответа
Сравнивая «случайные» ответы устройства на известные неправильные пароли длиной в 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). Не было обнаружено никаких явных защитных механизмов, разве только небольшой слой изоляции (пломба) на внешней стороне корпуса, который был тщательно удален перед вскрытием и заменен по окончании исследования.
Читать дальшеИнтервал:
Закладка: