Коллектив авторов - Защита от хакеров корпоративных сетей
- Название:Защита от хакеров корпоративных сетей
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Коллектив авторов - Защита от хакеров корпоративных сетей краткое содержание
В книге рассматривается современный взгляд на хакерство, реинжиниринг и защиту информации. Авторы предлагают читателям список законов, которые определяют работу систем компьютерной безопасности, рассказывают, как можно применять эти законы в хакерских технологиях. Описываются типы атак и возможный ущерб, который они могут нанести компьютерным системам. В книге широко представлены различные методы хакинга, такие, как поиск различий, методы распознавания шифров, основы их вскрытия и схемы кодирования. Освещаются проблемы безопасности, возникающие в результате непредсказуемого ввода данных пользователем, методы использования машинно-ориентированного языка, возможности применения мониторинга сетевых коммуникаций, механизмы туннелирования для перехвата сетевого трафика. В книге представлены основные сведения о хакерстве аппаратных средств, вирусах, троянских конях и червях. В этой книге читатель узнает о методах, которые в случае неправильного их применения приведут к нарушению законодательства и связанным с этим последствиям.
Лучшая защита – это нападение. Другими словами, единственный способ остановить хакера заключается в том, чтобы думать, как он. Эти фразы олицетворяют подход, который, по мнению авторов, позволит наилучшим образом обеспечить безопасность информационной системы.
Перевод: Александр Петренко
Защита от хакеров корпоративных сетей - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
(gdb) s
printf (format=0x8048440 “Hello World\n”) at printf.c:30
printf.c: No such file or directory.После задания командой s(«step») режима пошагового выполнения программы в отладчике выполняется переход к вызову функции printf. GDB сообщает о невозможности дальнейшей детализации функции printf из-за отсутствия в распоряжении отладчика исходного кода функции printf.
(gdb) s
31 in printf.c
(gdb) s
Hello World
35 in printf.c
(gdb) c
Continuing.Далее выполняется несколько шагов реализации программы внутри функции printf и программа завершается. По команде c(«continue») программа будет выполнена до следующей точки прерывания или будет завершена.
Program exited normally. (gdb)
В число аналогичных программ входят программы nm и objdump пакета GNU. Программа objdump позволяет управлять объектными файлами. Она применяется для отображения символов объектного файла, его заголовка и даже дизассемблирования. Nm выполняет аналогичные действия, что и objdump, позволяя просматривать символьные ссылки на объектные файлы.
Инструментарий и ловушки
Инструментарий никогда не заменит знаний
Некоторые из средств дизассемблирования и отладки предлагают фантастические возможности. Но они, как и любой другой инструментарий, несовершенны. Особенно это проявляется при анализе злонамеренного кода (вирусов, червей, Троянских коней) или специально разработанных программ. Обычно авторы подобных поделок делают все возможное для затруднения их анализа и снижения эффекта от применения отладчиков, дизассемблеров и других подобных инструментальных средств. Например, вирус RST для Linux в случае обнаружения, что он работает под управлением отладчика, завершает свою работу. Этот же вирус при инфицировании исполняемых и компонуемых файлов ELF (Executable and Linkable Format – формат исполняемых и компонуемых модулей) модифицирует их заголовки таким образом, что некоторые дизассемблеры не могут дизассемблировать двоичный код вируса (обычно это достигается путем размещения кода вируса в необъявленном программном сегменте). Часто злоумышленный код шифруется или сжимается, что защищает его от экспертизы. Черви Code Red распространялись половинками своих программ, маскируясь под строки переполнения, и, таким образом, формат их двоичных данных не подходил ни под один из стандартных заголовков файла.
Поэтому при анализе двоичных данных нужно знать не только о том, какие инструментальные средства и как применять, но и как обойтись без них. Анализируя заголовок файла, возможно, потребуется определить, какие данные в файле модифицированы, как и с какой целью. Вероятно, потребуется проанализировать зашифрованные данные и процедуру их расшифровки, восстановить алгоритм работы программы и выяснить результаты ее работы.
Необходимо знать ассемблер не только в объеме, достаточном для чтения ассемблерных программ, но и для написания программ расшифровки или восстановления данных. Писать на ассемблере намного сложнее, чем читать программы, написанные на этом языке.
Из этого не следует, что инструментальные средства бесполезны. Далеко не так. Нужно только выявить часть программы, оказавшуюся не по зубам инструментальным средствам, и проанализировать ее самостоятельно, а остальную часть программы – при помощи инструментальных средств. Кроме того, иногда для лучшего понимания логики работы программы следует воспользоваться инструментарием.
Тестирование методом «черного ящика»
Термин «черный ящик» относится к любым компонентам или частям системы, чьи внутренние функции скрыты от пользователя системы. При тестировании методом «черного ящика» главное внимание уделяется изучению результатов работы системы в зависимости от ее входных данных без рассмотрения настройки и управления работой ее внутренних компонентов.
Тестирование методом «черного ящика» может быть сравнено с бинарным аудитом (binary auditing). Любой аудит так или иначе имеет дело с бинарными данными, предусматривающими одну возможность из двух. Известны различные толкования «черного ящика» в зависимости от знаний исследователя о его внутреннем строении (его прозрачности). В книге рассматриваются два типа ящиков: «черный ящик» и «ящик из обсидиана». Конечно, это мысленные, а не реальные физические объекты. Тип ящика отражает уровень знаний исследователя о происходящих в системе внутренних явлениях.
Как и следовало ожидать, для большинства хакеров сама идея «черного ящика» – проклятие. В их головах не укладывается, как можно знать о наличии привлекательной функции и не пытаться узнать, как она работает. В книге будут обсуждены подходы к изучению абсолютно «черного ящика», хотя большее внимание будет уделено изучению внутреннего устройства систем.
Чипы
Предположим, что в руки исследователя попало электронное устройство, про которое хотелось бы знать, как оно работает. В настоящее время большинство электронных устройств построено на микросхемах. Вскрыв устройство, можно обнаружить, что оно состоит из множества немаркированных микросхем. Вытащив таинственную микросхему из слота, как определить, что это за чип?
Неизвестная микросхема – удачный пример встречающегося на практике «черного ящика». Без маркировки определить предназначение чипа очень сложно.
Что можно вынести из визуального осмотра? Только то, что у чипа 16 контактов или что-то подобное этому. Исследовав монтажную плату и токопроводящие слои, довольно легко можно определить контакты питания. Их можно проверить вольтметром. Но если предположение о контактах питания окажется ошибочным, микросхема будет сожжена.
Кроме того, следует попытаться сделать выводы, основываясь на других компонентах устройства. Можно составить список компонентов, подсоединенных к чипу, и выяснить, к каким контактам они подсоединены. Например, может оказаться, что два контакта в конечном счете подключены к светодиоду LED (LED – Light-Emitting Diode – светоизлучающий диод).
Если окажется, что чип – простое устройство TTL-логики (transistor-transistor logic – транзисторно-транзисторные логические схемы), то можно определить реализуемые этим чипом простые логические функции, подавая на различные контакты напряжение, эквивалентное сигналам «истина/ложь» и одновременно измеряя выходное напряжение на других контактах. Если удастся определить, что чип относится, например, к классу схем И-НЕ (NAND (not-and) gate), то по каталогу микросхем можно определить исследуемый чип или его аналог.
С другой стороны, чип может оказаться по своей сложности сравнимым с небольшим микропроцессором или встроенной вычислительной системой. В последнем случае для определения соответствия между входными и выходными сигналами методом проб и ошибок потребуется рассмотреть слишком много комбинаций. Вполне возможно, что во встроенной системе окажутся аналоговые компоненты (например, динамик), которые сведут на нет все попытки установления закономерностей двоичной логики.
Читать дальшеИнтервал:
Закладка: