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

Все авторские права соблюдены. Напишите нам, если Вы не согласны.
Описание книги "Защита от хакеров корпоративных сетей"
Описание и краткое содержание "Защита от хакеров корпоративных сетей" читать бесплатно онлайн.
В книге рассматривается современный взгляд на хакерство, реинжиниринг и защиту информации. Авторы предлагают читателям список законов, которые определяют работу систем компьютерной безопасности, рассказывают, как можно применять эти законы в хакерских технологиях. Описываются типы атак и возможный ущерб, который они могут нанести компьютерным системам. В книге широко представлены различные методы хакинга, такие, как поиск различий, методы распознавания шифров, основы их вскрытия и схемы кодирования. Освещаются проблемы безопасности, возникающие в результате непредсказуемого ввода данных пользователем, методы использования машинно-ориентированного языка, возможности применения мониторинга сетевых коммуникаций, механизмы туннелирования для перехвата сетевого трафика. В книге представлены основные сведения о хакерстве аппаратных средств, вирусах, троянских конях и червях. В этой книге читатель узнает о методах, которые в случае неправильного их применения приведут к нарушению законодательства и связанным с этим последствиям.
Лучшая защита – это нападение. Другими словами, единственный способ остановить хакера заключается в том, чтобы думать, как он. Эти фразы олицетворяют подход, который, по мнению авторов, позволит наилучшим образом обеспечить безопасность информационной системы.
Перевод: Александр Петренко
Почему нужно знать о различиях файлов?
Какая необходимость искать различия в файле или памяти до и после каких-либо действий? Причин может быть несколько. Например, потребуется найти местонахождение представляющих интерес данных. Если в распоряжении хакера окажется двоичный файл паролей приложения в неизвестном ему формате, то, скорее всего, ему будет интересно узнать, где именно в файле они хранятся.
Для этого ему следует сделать копию файла, сменить пароль и сравнить копию с измененным файлом. Различия между этими файлами, а их может быть несколько, позволит найти пароль. Зная место (места) хранения пароля, хакер может изменять двоичный файл в обход исследуемой программы. В этой главе будет рассмотрен пример, поясняющий сказанное. В подобных случаях целью злоумышленника является непосредственное изменение хранимых в файле данных.
Иногда злоумышленник в большей степени заинтересован в декодировке информации, а не в ее изменении. До обнаружения различий последовательность действий может совпадать с уже рассмотренной. После выявления различий, вместо того чтобы записать по найденным адресам свою информацию, злоумышленника могут заинтересовать причины и условия подобных изменений.
Другая причина поиска различий кроется в исследовании безопасности программ. Во времена всеобщей открытости обычной практикой производителей остается выпуск обновлений программ без раскрытия их сути. Виновники этой практики – некоторые ведущие производители программного обеспечения, как, например, Microsoft, Hewlett-Packard и Caldera. С другой стороны, производители Linux (за исключением Caldera) – исключение из этого правила. А ряд компаний занимают промежуточную точку зрения по этому вопросу, как, например, Cisco.
Метод поиска различий позволяет изучить заявленную производителем уязвимость, но до конца им не раскрытую. В результате выявления различий в исходных текстах двух программ становятся ясны недостатки программы, и можно оценить их влияние на безопасность. Кроме того, выявленные различия позволят найти ошибки, которые производитель устранил без лишнего шума в старших версиях программы.
Просмотр исходного текста программы
Вернемся к обсуждению различий в исходных текстах программ. На рисунках 5.1 и 5.2 приведен исходный текст двух версий одной и той же программы. В первой версии программы выполнение функции strcpy могло привести к переполнению буфера, поэтому во второй версии ошибка была исправлена заменой функции strcpy на strncpy.
Благодаря отчету команды diff, приведенному на рис. 5.3, можно найти два исправления в исходном тексте программы. Первое состоит в добавлении переменной size_t в программу sncpyfix.c. Второе – в замене функции strcpy в программе scpybufo.c на функцию strncpy в программе sncpyfix.c.
Найти ошибки в открытых программных средствах относительно легко. (open source software – открытые программные средства – лицензионные программы вместе с их исходными текстами, не связанные ограничениями на дальнейшую модификацию и распространение с сохранением информации о первичном авторстве и внесенных изменениях). Зачастую это объясняется возможностью инсталляции файлов, устраняющих ошибки. Это можно наблюдать на примере патчей (заплаток), выпущенных производителями операционных систем семейства UNIX, например Linux и BSD. Проанализируйте патч на рис. 5.4 выявленной уязвимости FreeBSD-SA-02:02 (FreeBSD Security Advisory FreeBSD-SA-02:02).
Рис. 5.4. Исходный текст патча pw.patch FreeBSDЭтот патч представлен в унифицированном формате различий. Хотя предоставленная службой компьютерной безопасности FreeBSD информация о патче содержит все необходимые сведения, включая детальное описание уязвимости, анализ отчета результата сравнения двух файлов позволяет понять ее суть. Из первой строки протокола патча ясно, что он применяется к программе pwupd.c из директории usr.sbin/pw/.
Утилита pw операционной системы FreeBSD предназначена для добавления, удаления или модификации пользователей системы либо их групп. Выявленная уязвимость состояла в том, что при работе утилиты pw создавался временный файл с разрешениями, которые позволяли всем пользователям читать его. Разрешения временного файла в отчете выделены знаком минус (-). В результате пользователь мог получить доступ к зашифрованным паролям системы.
Автор самостоятельно проанализировал исходный текст утилиты pw. После получения двух версий исходных текстов (файл pwupd.c) утилиты (до и после внесения изменений) и их сравнения при помощи команды diff можно найти различия в исходных текстах данной программы, как это показано на рис. 5.5.
Рис. 5.5. Протокол различий программы pwupd.c версий 1.12.2.3.2.1 и 1.17Из сравнения двух версий программы видны различия, аналогичные изменениям, показанным на рис. 5.4.
...Приоткрывая завесу
Рекурсивный просмотр директорий
Что делать, если неизвестен файл, в который были внесены изменения? Что делать, если вместо подробной информации об уязвимости доступна только новая версия программы, содержащая многочисленные директории исходных текстов программ? Это именно тот случай, когда наиболее удобно воспользоваться командой diff для сравнения директорий.
Используя флаг рекурсии – г, содержимое директории может быть исследовано при помощи команды diff. При сравнении директорий в этом режиме сравниваются все файлы директории и все поддиректории заданной директории. Возможность рекурсивного сравнения присутствует в команде GNU diff и отсутствует в версиях других операционных систем.
Например, возможность рекурсивного сравнения отсутствует в команде diff операционной системы Solaris 8 и более ранних. Хотя, используя некоторые изощренные приемы работы с командной строкой, это можно выполнить. В соответствии с IAOQ (IAOQ – Ryan Tennant\'s (Argoth) Solaris Infrequently Asked Obscure Questions – список наиболее часто задаваемых вопросов повышенной сложности по системе Solaris Райана Теннанта (Argoth)) рекурсивный просмотр директорий может быть выполнен при помощи следующей команды:
/usr/bin/find. | /usr/bin/xargs /usr/bin/grep PATTERN
Список IAOQ находится по адресу http://shells.devunix.org/~argoth/iaoq.
В поисках золота. Игровой пример
В тринадцать лет автор загорелся идеей оказания воздействия на приложение путем непосредственной работы с файлами. В то время у него был компьютер Apple][+ и он в меру увлекался компьютерными играми. С точки зрения игр он вполне был на уровне мастерства, достигаемого за один-два года практики. Его любимой игрой была Ultima 2. Ultima 2 – это ролевая фантастическая игра, где вам предлагается сыграть роль героя, который в поисках золота может выбирать оружие для истребления монстров. Как в типичных играх этого жанра, цель состоит в повышении уровня мастерства и опыта в деле поиска золота. А попутно при этом решается еще ряд вопросов. Чем опытнее игрок, тем эффективнее он истребляет монстров, тем больше у него золота, тем лучшее оружие и амуницию он может купить.
Однажды автор захотел обмануть игру. Он устал честно убивать монстров. Уже в этом возрасте у него появились мысли, как подправить игру, обманув ее. Первое, что пришло ему в голову, – это изменить количество золотого запаса. Он знал, что при сохранении игры на диск записывается какая-то информация об игре. Нужно было только найти, где именно на диск сохраняются сведения о золотом запасе, и изменить их.
Использованная автором техника немного отличается от изложенной в этой главе, главным образом потому, что тогда в распоряжении автора были программные средства более примитивные, чем сегодня. Запомнив количество золота, автор сохранял игру, а затем завершал ее. В его распоряжении был редактор секторов – программа, позволяющая непосредственно редактировать сектора диска, обычно в шестнадцатеричном формате. Используя функцию поиска редактора, можно было по имени своего героя найти приблизительное место хранения информации, интересующей автора. Короче говоря, автор нашел несколько чисел, соответствующих золотому запасу героя на момент сохранения игры. Увеличив эти числа и сохранив изменения на диске, после загрузки игры автор убедился, что золотой запас героя возрос. Эврика! Это был первый хакинг автора. Таким образом, автор наткнулся на прием, который будет служить ему в течение многих лет.
Автор смог расширить свое маленькое исследование и написал редактор героев Ultima 2, который позволил ему изменять такие свойства героев, как их сила, ум, количество и тип оружия, амуниция и т. д. Конечно, сегодня, по прошествии многих лет, он раскаивается по поводу содеянного. (К сведению читателя автор сообщает, что недавно вышла Ultima IX. В среднем производитель выпускает новую версию игры каждые 2 года.) В настоящее время автор играет в разные фантастические ролевые игры, например Heroes of Might and Magic II, где игрок играет роль героя, пытающегося добыть золото, совершенствующего свое мастерство в деле убийства монстров… Ну, вы поняли идею. На рисунке 5.6 показан старт типичной игры.
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!
Похожие книги на "Защита от хакеров корпоративных сетей"
Книги похожие на "Защита от хакеров корпоративных сетей" читать онлайн или скачать бесплатно полные версии.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Отзывы о "Коллектив авторов - Защита от хакеров корпоративных сетей"
Отзывы читателей о книге "Защита от хакеров корпоративных сетей", комментарии и мнения людей о произведении.