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

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

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

Защита от хакеров корпоративных сетей - описание и краткое содержание, автор Коллектив авторов, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

Лучшая защита – это нападение. Другими словами, единственный способ остановить хакера заключается в том, чтобы думать, как он. Эти фразы олицетворяют подход, который, по мнению авторов, позволит наилучшим образом обеспечить безопасность информационной системы.

Перевод: Александр Петренко

Защита от хакеров корпоративных сетей - читать онлайн бесплатно ознакомительный отрывок

Защита от хакеров корпоративных сетей - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Коллектив авторов
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Загрузка новых динамически подключаемых библиотек

Наиболее современные операционные системы поддерживают концепцию совместно используемых библиотек. Они предназначены для уменьшения расхода памяти и многократного использования кода. Уже упоминалось о возможности использования в своих интересах программного кода, загруженного в память, но иногда может потребоваться то, что еще не загружено.

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

В Windows NT есть пара функций, которыми всегда может воспользоваться программа: LoadLibrary() и GetProcAddress(). Они позволяют загрузить любую динамически подключаемую библиотеку DLL и вызвать функцию. В системе UNIX для этих целей служат функции dlopen() и dlsym().

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

Функции загрузки библиотеки LoadLibrary() или dlopen() загружают совместно используемую часть кода в доступную программе память. Совсем не обязательно, что загружаемый код будет выполняться, но после загрузки он доступен для использования. В основном загружаемый код впоследствии выполняется.

Функции GetProcAddress() и dlsym() определяют в таблице функций динамически подключаемой библиотеки адрес экспортируемой функции. Для поиска в таблице функций используются символические имена и, возможно, необязательные порядковые целые числа – индексы. Входным параметром этих функций является имя искомой функции или ее индекс, а выходным – адрес искомой функции.

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

Известны два основных способа поиска функции при использовании динамических библиотек. Можно или жестко запрограммировать адреса функций, или найти их в таблице импортируемых символов (таблице перехода) атакованного процесса во время его выполнения.

Программа с жестко запрограммированными адресами функций работает быстро и безошибочно, но, как правило, непереносима с одной платформы на другую. Для Windows NT это означает ограничение работоспособности программы переполнения буфера рамками единственного служебного пакета service pack и составом операционной системы OS combo. В зависимости от используемой платформы и библиотек в UNIX она может вообще не заработать.

Второй способ основан на определении адреса функции по таблице импортируемых символов атакованного процесса во время его выполнения. В этом случае программа работает лучше и переносима на другие платформы, но больше по размеру. В условиях недостатка памяти это серьезный минус, который может привести к непригодности способа. Для поиска адреса функции в управляющем коде должны быть предусмотрены возможности поиска. Лучше найти уже загруженную в память функцию определения адреса функции и использовать ее. Конечно, этот способ предполагает, что функция загружена в память. Часто так и бывает, но вообще это дело случая. Для успешного применения способа необходимо ясно представлять используемый в операционной системе механизм редактирования связей. Для Windows NT он реализован в виде переносимого выполнимого формата PE (portable executable format). Для большинства систем UNIX это выполнимый формат редактирования связей ELF (executable and linking format).

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

Вложенный программный код полезной нагрузки

Один из самых интересных типов программного кода полезной нагрузки известен под названием вложенного программного кода полезной нагрузки (eggshellpayload). Под вложенностью понимается использование одного кода полезной нагрузки внутри другого. Цель подобных манипуляций заключается в использовании программы с незначительными правами и внедренным кодом полезной нагрузки для атаки на привилегированную программу.

Этот способ позволяет с помощью простой программы переполнения буфера сначала переступить одной ногой через порог, а затем с бандой вломиться в дом. Благодаря нему результат достигается с меньшими усилиями и за меньшее время, поскольку нападение комплексное: удаленная атака на непривилегированный процесс объединяется с локальным нападением на привилегированный процесс, образуя разрушительную комбинацию.

Вложенный программный код полезной нагрузки использован в программе IISHACK1.5, которая компрометирует Windows NT Server с установленным информационным сервером Интернет IIS 4. Подробный анализ программы и ее код можно найти в документе www.eeye.com/html/Research/Advisories/AD20001003.html. Для внедрения программой asp-файла на сервер был использован непривилегированный код, реализующий атаку «Unicode». Атака «Unicode» выполняется в пространстве процесса IUSR_MACHINE, который обычно является непривилегированным процессом.

Атака «Unicode» была объединена с атакой переполнения буфера на неназванный синтаксический анализатор. ASP, который выполнялся в контексте LOCAL_SYSTEM. Их комбинация позволила добиться полной компрометации системы.

Резюме

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

Обязательным условием понимания приведенных в главе способов переполнения буфера является знание принципов работы стека. Стек используется почти каждой функцией для передачи входных и выходных параметров. Регистр ESP указывает на вершину локального стека, а регистр EBP – на базовый регистр стека. При вызове функции содержимое регистров EIP и EBP сохраняется в стеке для того, чтобы в конце работы функции обеспечить дальнейшую работу программы.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


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

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




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


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


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x