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

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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

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

Что касается официальной классификации, ошибки форматирующей строки на самом деле нельзя выделить в отдельную категорию ошибок программного обеспечения, как, например, ошибка «состояние гонок» (race conditions) при конкуренции программ за ресурсы или переполнение буфера. Скорее, ошибки форматирующей строки относятся к категории ошибок проверки входных данных (input validation bugs). Основная причина их появления состоит в том, что программисты включают в форматирующую строку входные непроверенные данные программ.

...

Приоткрывая завесу

Сравнение ошибок форматирующей строки и переполнения буфера

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

В случае переполнения буфера отказ программного обеспечения наступает при выполнении таких ответственных операций, как, например, копирование памяти при условии, что размер входных данных не соответствует размеру принимающего буфера. Переполнение буфера часто происходит при копировании строк функциями языка C. В языке C строки являются массивами переменной длины с последним нулевым байтом. Функция копирования строки strcpy() библиотеки языка C libc копирует байты из исходной строки в буфер до тех пор, пока в исходной строке не встретится нулевой байт. Если исходная строка, сформированная из входных данных программы, больше по размеру буфера, в который копируются данные, то функция strcpy() перезапишет данные смежных с буфером участков памяти. Программы переполнения буфера основаны на подмене критических данных на данные злоумышленника во время копирования строк.

Причина ошибок форматирующей строки состоит в том, что полученные извне данные включаются в форматирующую строку. Подобные ошибки можно рассматривать как сбой проверки входных данных. И по своей природе они не имеют ничего общего с ошибками определения размеров обрабатываемых данных. Злоумышленники используют ошибки форматирующей строки для записи нужных им данных в определенные области памяти. А при переполнении буфера атакующий лишен возможности выбора перезаписываемой области памяти. Другим источником путаницы является то, что использование функции sprintf() может привести как к переполнению буфера, так и к ошибкам форматирующей строки. Для того чтобы понять разницу между ними, нужно хорошо знать, что на самом деле делает функция sprintf(). Функция sprintf() позволяет программисту формировать строки с использованием стиля форматирования функции printf() и записывать их в буфер памяти. Переполнение буфера возникает тогда, когда размер сформированной строки оказывается больше размера предназначенного для нее буфера. Часто это происходит при использовании спецификации вывода строки %s, которая в формируемую строку вставляет строку переменной длины, завершающуюся нулевым байтом. Если переменная, соответствующая спецификации вывода строки %s, формируется из входных данных и ее размер не контролируется, то это может привести к переполнению буфера при записи в него отформатированной строки. Необходимо заметить, что возникшая из-за неправильного использования функции sprintf() ошибка форматирующей строки по своей сути ничем не отличается от других ошибок форматирующей строки, наступивших вследствие формирования строки из непроверенных входных данных программы.

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

Уязвимость форматирующей строки

Для понимания сути уязвимости форматирующей строки необходимо иметь четкие представления о работе функции printf().

Часто программистам требуется сформировать строку из нескольких переменных разного типа во время работы программы. Зачастую при разработке программы точное количество переменных, необходимых для формирования строки, и порядок их следования неизвестны. В основном для этих целей используется семейство функций printf, предоставляющее гибкие возможности создания и форматирования строк во время выполнения программы. Функции семейства printf входят в стандартную библиотеку языка C. Возможности функций семейства printf реализованы и в других языках, например Perl.

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

...

Инструментарий и ловушки

Функции семейства printf

Ниже приведен список функций семейства printf, входящих в стандартную библиотеку языка C. При неправильном использовании каждая из них может привести к ошибкам форматирующей строки.

• Функция printf() позволяет сформировать и записать отформатированную строку в стандартный поток вывода.

• Функция fprintf() позволяет сформировать и записать отформатированную строку в определяемый библиотекой libc файловый поток вывода, имя которого задается программистом.

• Функция sprintf() позволяет сформировать и записать отформатированную строку в область памяти. Неправильное использование этой функции часто приводит к переполнению буфера.

• Функция snprintf() позволяет сформировать и записать отформатированную строку заданной длины в область памяти. Является безопасной заменой функции sprintf() при защите от переполнения буфера.

В стандартную библиотеку языка C также включены функции vprintf(), vfprintf(), vsprintf() и vsnprintf(). Они выполняют те же функции, что и ранее перечисленные, но их входным параметром может быть структура varargs, описывающая переменное число аргументов.

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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