Коллектив авторов - Защита от хакеров корпоративных сетей
- Название:Защита от хакеров корпоративных сетей
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Коллектив авторов - Защита от хакеров корпоративных сетей краткое содержание
В книге рассматривается современный взгляд на хакерство, реинжиниринг и защиту информации. Авторы предлагают читателям список законов, которые определяют работу систем компьютерной безопасности, рассказывают, как можно применять эти законы в хакерских технологиях. Описываются типы атак и возможный ущерб, который они могут нанести компьютерным системам. В книге широко представлены различные методы хакинга, такие, как поиск различий, методы распознавания шифров, основы их вскрытия и схемы кодирования. Освещаются проблемы безопасности, возникающие в результате непредсказуемого ввода данных пользователем, методы использования машинно-ориентированного языка, возможности применения мониторинга сетевых коммуникаций, механизмы туннелирования для перехвата сетевого трафика. В книге представлены основные сведения о хакерстве аппаратных средств, вирусах, троянских конях и червях. В этой книге читатель узнает о методах, которые в случае неправильного их применения приведут к нарушению законодательства и связанным с этим последствиям.
Лучшая защита – это нападение. Другими словами, единственный способ остановить хакера заключается в том, чтобы думать, как он. Эти фразы олицетворяют подход, который, по мнению авторов, позволит наилучшим образом обеспечить безопасность информационной системы.
Перевод: Александр Петренко
Защита от хакеров корпоративных сетей - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
На рисунке 14.10 показан структурный слой исследуемого чипа типичного устройства стираемой программируемой постоянной памяти EPROM, чьи логические элементы устанавливаются электрическими импульсами, а стираются прямым ультрафиолетовым светом. В зависимости от использованной технологии изготовления кремниевых приборов дальнейшее увеличение изображения и удаление кремниевого слоя приведет к показанному на рис. 14.11 изображению. На этом изображении видно, что у устройства 16 столбцов и 10 строк для обеспечения 160 бит памяти. Каждый бит отвечает за представление наличия или отсутствия данных с помощью цифр «1» или «0» соответственно. Например, верхний ряд соответствует битовой строке «0000010011100001».
Рис. 14.10. Типичное устройство стираемой программируемой постоянной памяти EPROMРис. 14.11. Увеличенное изображение части постоянного запоминающего устройства ROM с показом битов фактических данных
Для анализа кристаллов требуются современные инструментальные средства и оборудование, которыми часто оснащены академические лаборатории. Некоторые компании, например Semiconductor Insights (www.semiconductor.com), предлагают услуги по инженерному анализу аппаратных средств и оказывают помощь в функциональном исследовании, извлечении и моделировании интегральных схем. Также они могут проанализировать полупроводниковый прибор и процессы его изготовления, используемые при этом методы и материалы. Такие услуги полезны при отсутствии доступного оборудования у исследователя.
Криптоанализ и методы запутывания
Для защиты записанных в память компонентов секретных данных устройства часто используют простые способы, затуманивающие смысл хранимой информации. Простая путаница и обратимые преобразования внушают пользователю ложное ощущение защищенности. Даже стойкие криптографические алгоритмы подвергаются опасности, если могут быть найдены и идентифицированы секретные компоненты.
После извлечения данных из устройства потребуется проанализировать их для определения реальных значений данных. В этом поможет знание простых криптографических алгоритмов (описанных в главе 6) и обычно используемых в таких случаях методов запутывания смысла. Известны также более сложные механизмы защиты / запутывания данных, например программа Tamper Resistant Software компании Cloakware Corporation (www.cloakware.com). Также в этом случае может помочь книга Брюса Шнайера (Bruce Schneier) «Прикладная криптография» (Applied Cryptography, John Wiley & Sons, 1996). В книге описана история криптографии и представлены десятки криптографических протоколов, алгоритмов и примеров реализующих программ. В целом это неплохая отправная точка для криптографического анализа извлеченных из устройства данных.
Одним из примеров слабой, обратимой схемы кодирования является схема, используемая операционной системой для защиты системного пароля: запутанный преобразованиями пароль сохраняется в системной памяти. К тому же этот пароль часто передается через последовательный или инфракрасный порт во время операции HotSync, которую легко контролировать. В консультации Кингпина (Kingpin) «Декодирование и извлечение пароля операционной системы Palm» («Palm OS Password Retrieval and Decoding») (www.atstake.com/research/advisories/2000/a092600-1.txt) показано, как можно легко определить фактический пароль. Пароль устанавливается законным пользователем при помощи приложения Palm «Security». Его максимальная длина составляет 31 символ ASCII. Независимо от числа образующих пароль символов в результате получается блок закодированной информации длиной 32 байта. В зависимости от длины пароля используются два метода кодирования пароля ASCII. В качестве примера рассмотрим схему для паролей из четырех символов и менее. Контролируя при помощи PortMon передаваемые через последовательный порт данные во время выполнения операции HotSync и сравнивая закодированные блоки различных коротких паролей, было определено, что 32-байтовый блок закодированной информации получается в результате выполнения простой логической операции XOR «Исключительное ИЛИ» над блоком пароля ASCII и 32-байтовым константным блоком. Для расшифровки закодированного таким способом пароля оказалось достаточно выполнить операцию XOR над константным и закодированным блоками.Let A = Original ASCII password
Let B = 32-byte constant block
Let C = 32-byte encoded password blockДля пароля из четырех символов или менее константа B может быть следующей:
09 02 13 45 07 04 13 44 0C 08 13 5A 32 15 13 5D D2 17 EA D3 B5 DF 55 63 22 E9 A1 4A99 4B 0F 88
Сначала вычислим начальный индекс j, определяющий позицию в константном блоке, начиная с которой будут выбираться данные для операции XOR по модулю 32. Индекс j вычисляется по следующему правилу: к количеству символов пароля добавляется десятичное значение первого символа в кодировке ASCII. Например, если паролем является слово «test», то количеством символов пароля или его длиной является число 4, к которому будет добавлено число 116 (десятичное значение символа «t» в кодировке ASCII равно 116) по модулю 32. Таким образом, в этом примере операция XOR начнется с 24-го символа 32-байтового константного блока.
j = (A[0] + strlen(A)) % 32;
Затем 32 раза выполняется простой цикл, в котором выполняется операция XOR над содержимым исходной строки пароля, индексированной переменной j, и константного блока, индексированного переменной i. Начальное значение индекса j вычисляется по описанному выше правилу, а начальное значение индекса i равно 0. После каждой операции значение индексов i и j увеличивается на 1. Полученный результат сохраняется в массиве C.
for (i = 0; i < 32; ++i, ++j)
{
// wrap around to beginning
if (j == 32) j = 0;
C[i] = A[i] XOR B[j];
}В результате в блок C записывается закодированное значение пароля. В случае, если значение пароля было равно «test», то результат кодирования представлен ниже. Обратите внимание, что только 4 байта закодированного пароля отличаются от содержимого приведенного выше константного блока. Так выглядит закодированная версия пароля.
56 8C D2 3E99 4B 0F 88 09 02 13 45 07 04 13 44 0C 08 13 5A 32 15 13 5D D2 17 EA D3 B5 DF 55 63
Зная константный блок и закодированное значение пароля, можно легко определить первоначальный пароль ASCII. Для этого надо сравнить два блока, циклически сдвигая константный блок до тех пор, пока не совпадут все похожие байты, а затем по отдельности выполнить операцию XOR над каждыми различающимися байтами. Например, 0x56 XOR 0x22 = 0x74 (что соответствует символу «t»), 0x8C XOR 0xE9 = 0x65 («e»), 0xD2 XOR 0xA1 = 0x65 («s») и т. д.
Необходимый набор инструментов
Необходимый для хакинга набор инструментальных средств отличается от средств, используемых для сетевого или программного анализа. Для реализации большинства способов хакинга аппаратных средств не требуются лаборатории мирового класса. Очевидно, что современные методы требуют современного оборудования (типа химикатов для удаления эпоксидной смолы и вскрытия интегральных схем), но большинство исследований могут быть выполнены минимальным количеством ресурсов.
Читать дальшеИнтервал:
Закладка: