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

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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Благодаря алгоритму работы утилиты Screen злоумышленник может воспользоваться обсуждаемой уязвимостью форматирующей строки при помощи способа однократной записи по спецификации преобразования %n. Для атаки ему не потребуется ни управляющего кода, ни задания адресов памяти. В основе идеи использования уязвимости форматирующей строки лежит подмена сохраненного идентификатора пользователя userid на другой, выбранный злоумышленником, например 0 – идентификатор суперпользователя.

Для того чтобы воспользоваться уязвимостью форматирующей строки, злоумышленник должен сделать следующее. Во-первых, присвоить одному из параметров небезопасной функции printf() адрес области сохранения идентификатора пользователя в памяти. Во-вторых, создать форматирующую строку со спецификацией преобразования %n, которая соответствует параметру, передающему адрес области сохранения идентификатора пользователя. Выбрав правильное смещение от начала области сохранения идентификатора пользователя, для обнуления идентификатора пользователя злоумышленнику достаточно записать старшие разряды величины, соответствующей спецификации %n. В результате идентификатор пользователя будет заменен идентификатором суперпользователя. Теперь, когда атакующий создаст новое окно, родительский процесс утилиты Screen, прочитав из памяти нулевое значение, установит права доступа процессам потомкам равными правам суперпользователя.

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

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

Кратко еще раз. Спецификация преобразования %n используется для вывода текущего числа символов отформатированной строки на момент ее обработки. Злоумышленник может увеличить это значение, но не настолько, чтобы оно стало равным какому-либо адресу памяти, например равным указателю на управляющий программный код. Поэтому при помощи способа однократной записи нельзя подменить значение в памяти на любое другое. По этой причине злоумышленник вынужден использовать ряд операций записи по нескольким спецификациям преобразования %n для получения нужного ему слова байт за байтом. Так можно перезаписать любое слово произвольной длины. Именно таким образом можно создать условия для выполнения произвольного кода.

Принципы работы программ атаки, использующих ошибки форматирующих строк

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

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

Обычно злоумышленнику доступен более простой способ определения искомой позиции в стеке. В большинстве уязвимых программ форматирующая строка, передаваемая функции printf(), сама хранится в стеке как локальная переменная. Из-за того, что обычно в стеке хранится не так много локальных переменных, форматирующая строка расположена недалеко от стекового фрейма вызванной уязвимой функции printf(). Злоумышленник может воспользоваться уязвимой функцией для записи данных в нужные ему адреса памяти, если он включит их в список параметров функции printf(), а в форматирующей строке разместит в нужные позиции спецификации преобразования %n.

Злоумышленник всегда сможет определить, откуда из стека функция printf() считывает свой параметр, соответствующий спецификации преобразования %n. Используя такие спецификации формата, как, например, %x или %p, он может воспользоваться функцией printf() для перемещения по стеку до адреса, помещенного злоумышленником в стек. Предполагая, что при записи в стек данные пользователя не обрезались, злоумышленник с помощью функции printf() сможет считывать данные из стека до тех пор, пока не доберется до нужного ему адреса в стеке. После этого останется только разместить в форматирующей строке спецификацию преобразования %n для записи данных по адресу, заданному злоумышленником.

...

Примечание

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

Например, если злоумышленник захочет использовать адрес из стека, хранящийся в 32 байтах от первого параметра функции printf(), то он должен определить в своей форматирующей строке 8 спецификаций преобразования %x. Спецификация преобразования %x – это спецификация вывода шестнадцатеричного целого числа без знака длиной в слово. На 32-разрядной платформе Intel длина слова равна 4 байтам. Каждый раз, встречая в форматирующей строке спецификацию преобразования %x, функция printf() считывает из стека очередные четыре байта, в которых хранится переменная, соответствующая найденной спецификации. Кроме рассмотренной, для чтения данных из стека можно воспользоваться и другими спецификациями преобразования, а для записи данных в нужную область памяти существует спецификация преобразования %n.

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

Интервал:

Закладка:

Сделать


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

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




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


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


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

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