Защита от хакеров корпоративных сетей
Реклама. ООО «ЛитРес», ИНН: 7719571260.
Оглавление
Коллектив авторов. Защита от хакеров корпоративных сетей
Благодарности
От автора Предисловие (версия 1.5)
Глава 1. Хакерские методы
Введение
Что понимают под «хакерскими методами»
Зачем применяют хакерские методы?
Обзор содержимого книги
Правовое обеспечение хакинга
Конспект
Часто задаваемые вопросы
Глава 2. Законы безопасности
Введение
Обзор законов безопасности
Закон 1. Невозможно обеспечить безопасность клиентской части
Закон 2. Нельзя организовать надежный обмен ключами шифрования без совместно используемой порции информации
Закон 3. От кода злоумышленника нельзя защититься на 100 %
Закон 4. Всегда может быть создана новая сигнатура кода, которая не будет восприниматься как угроза
Закон 5. Межсетевые экраны не защищают на 100 % от атаки злоумышленника
Социотехника
Нападение на незащищенные сервера
Прямое нападение на межсетевой экран
Бреши в системе безопасности клиентской части
Закон 6. От любой системы обнаружения атак можно уклониться
Закон 7. Тайна криптографических алгоритмов не гарантируется
Закон 8. Без ключа у вас не шифрование, а кодирование
Закон 9. Пароли не могут надежно храниться у клиента, если только они не зашифрованы другим паролем
Закон 10. Для того чтобы система начала претендовать на статус защищенной, она должна пройти независимый аудит безопасности
Закон 11. Безопасность нельзя обеспечить покровом тайны
Резюме
Конспект
Часто задаваемые вопросы
Глава 3. Классы атак
Введение
Обзор классов атак
Отказ в обслуживании
Утечка информации
Нарушения прав доступа к файлу
Дезинформация
Доступ к специальным файлам / базам данных
Удаленное выполнение программ
Расширение прав
Методы тестирования уязвимостей
Доказательство возможности нападения
Стандартные методы исследования
Резюме
Конспект
Часто задаваемые вопросы
Глава 4. Методология
Введение
Суть методологии исследования уязвимости
Анализ исходного текста программы
Анализ двоичного кода
Значение экспертизы исходного текста программы
Поиск функций, подверженных ошибкам
Технологии реинжиниринга
Дизассемблеры, декомпиляторы и отладчики
Тестирование методом «черного ящика»
Чипы
Резюме
Конспект
Часто задаваемые вопросы
Глава 5. Поиск различий
Введение
Суть поиска различий
Почему нужно знать о различиях файлов?
Просмотр исходного текста программы
Исследование инструментария поиска различий
Применение инструментария сравнения файлов
Работа с шестнадцатеричными редакторами
Использование инструментария мониторинга файловой системы
Другие инструментальные средства
Поиск неисправностей
Проблемы контрольных сумм и кэширования
Проблемы сжатия и шифрования
Резюме
Конспект
Часто задаваемые вопросы
Глава 6. Криптография
Введение
Концепции криптографии
Историческая справка
Типы криптосистем
Стандарты алгоритмов шифрования
Симметричные алгоритмы
Асимметричные алгоритмы
«Грубая сила»
Основы метода «грубой силы»
Применение метода «грубой силы» для расшифровки паролей
Неверное использование алгоритмов шифрования
Неверно организованный обмен ключами
Кэширование пароля по частям
Генерация длинного ключа из короткого пароля
Ошибки хранения частных или секретных ключей
Любительская криптография
Классификация зашифрованного текста
Моноалфавитные шифры
Другие способы скрытия информации
Резюме
Конспект
Часто задаваемые вопросы
Глава 7. Непредвиденные входные данные
Введение
Опасность непредвиденных входных данных
Поиск обусловленных непредвиденными входными данными уязвимостей
Локальные приложения и утилиты
Протокол HTTP и язык разметки HTML
Непредвиденные данные в запросах SQL
Аутентификация приложений
Маскировка непредвиденных данных
Методы поиска и устранения уязвимостей, обусловленных непредвиденными входными данными
Тестирование методом «черного ящика»
Анализ исходных текстов программ
Контроль данных
Пропуск символов
Язык Perl
Язык разметки COLD Fusion
Технология ASP
Язык PHP
Защита запросов SQL
Удалять неверные данные или сообщить об ошибке?
Функции контроля непредвиденных данных
Подмена значений
Использование средств безопасности языков программирования для обработки непредвиденных данных
Язык Perl
Система программирования PHP
Язык разметки ColdFusion
Технология ASP
Система управления базами данных MySQL
Инструментарий обработки непредвиденных данных
Программа Web Sleuth
Программа CGIAudit
Инструментарий RATS
Сценарий Flawfinder
Сканер Retina
Программа Hailstorm
Программа Pudding
Резюме
Конспект
Часто задаваемые вопросы
Глава 8. Переполнение буфера
Введение
Стек
Дамп стека
Разнообразие стеков
Стековый фрейм функции
Основные сведения
Передача параметров в функцию. Простой пример
Стековый фрейм и соглашения о вызове функций
Основы переполнения буфера
Простое неуправляемое переполнение: программа-пример
Пример программы, уязвимой к переполнению буфера
Программа, уязвимая к переполнению буфера
Программа переполнения буфера
Современные способы переполнения буфера
Фильтрация входных данных
Перезапись указателя функции в стеке
Переполнения области динамически распределяемой памяти
Новаторские принципы построения программного кода полезной нагрузки
Использование того, что у вас есть
Резюме
Конспект
Часто задаваемые вопросы
Глава 9. Ошибки форматирующей строки
Введение
Уязвимость форматирующей строки
Как и почему возникают ошибки форматирующей строки?
Как устранить уязвимость форматирующей строки?
Способы использования ошибок форматирующей строки для атаки
Принципы работы программ атаки, использующих ошибки форматирующих строк
Что перезаписывать?
Пример уязвимой программы
Тестирование программ способом случайной форматирующей строки
Программа атаки с использованием форматирующей строки
Резюме
Конспект
Часто задаваемые вопросы
Глава 10. Прослушивание сетевого графика
Введение
Что такое прослушивание сетевого трафика?
Как это работает?
Что прослушивать?
Получение информации аутентификации
Перехват другого сетевого трафика
Популярное программное обеспечение для прослушивания сетевого трафика
Ethereal
Network Associates Sniffer Pro
NT Network Monitor
WildPackets
TCPDump
dsniff
Ettercap
Esniff.c
Sniffit
Carnivore
Дополнительная информация
Усовершенствованные методы прослушивания сетевого трафика
Атаки «человек посередине» (MITM)
Взлом паролей
Обман коммутаторов
Игры маршрутизации
Исследование программных интерфейсов приложений операционных систем
Linux
BSD
Libpcap
Windows
Защитные меры
Обеспечение шифрования
Secure Sockets Layers (SSL)
PGP и S/MIME
Коммутация
Применение методов обнаружения
Локальное обнаружение
Сетевое обнаружение
Резюме
Конспект
Часто задаваемые вопросы
Глава 11. Перехват сеанса
Введение
Основные сведения о перехвате сеанса
Перехват сеанса TCP
Перехват TCP-сессий при помощи блокировки пакетов
Перехват пользовательского протокола данных UDP
Популярные инструментальные средства перехвата сеанса
Программа Juggernaut
Программа Hunt
Программа Ettercap
Программа SMBRelay
Наблюдатели перегрузки сети
Исследование атак типа MITM в зашифрованных соединениях
Атаки типа MITM
Инструментальное средство Dsniff
Другие разновидности перехвата
Резюме
Конспект
Часто задаваемые вопросы
Глава 12. Подмена сетевых объектов: атаки на доверенную идентичность
Введение
Определение спуфинга
Спуфинг – подлог идентификационных данных
Спуфинг – активная атака против процедур идентификации
Спуфинг возможен на любом уровне
Спуфинг никогда не бывает случайным
Спуфинг и предательство – разные вещи
Спуфинг не обязательно злонамерен
В спуфинге нет ничего нового
Теоретические основы спуфинга
Важность идентификации
Эволюция доверия
Асимметрия отношений идентификации между людьми
Установление идентичности в компьютерных сетях
Возврат части данных отправителю сообщения
Вначале была… передача
Способность сомневаться
Методологии конфигурации: построение индекса потенциального доверия
Обман пользователей настольных компьютеров
Напасть автообновлений приложений
Эффект обмана
Утонченные фальсификации и экономический саботаж
Малоизвестные подробности: разработка систем спуфинга
Плевок против ветра: создание скелета маршрутизатора в пространстве пользователя
Малоизвестное: спуфинг через асимметричные межсетевые экраны
Резюме
Конспект
Часто задаваемые вопросы
Глава 13. Туннелирование
Введение
Основные требования к системам туннелирования
Конфиденциальность: «Куда уходит мой трафик?»
Трассируемость: «Через какую сеть можно передавать данные?»
Удобство: «Какие усилия могут потребоваться для инсталляции программ и их выполнения?»
Гибкость: «Какие еще существуют варианты использования туннеля?»
Качество: «Насколько безболезненно обслуживание системы?»
Проектирование сквозных систем туннелирования
Прокладка туннеля с помощью протокола SSH
Сезам, откройся: аутентификация
Основной способ получения доступа: аутентификация при помощи пароля
Прозрачный способ получения доступа: аутентификация при помощи личного ключа
Переадресация команд: применение переадресации команд для непосредственного выполнения скриптов и каналов
Переадресация портов: доступ к ресурсам удаленных сетей
Переадресация локального порта
Переадресация динамического порта
Переадресация удаленного порта
Когда-то в Риме: пересекая непокорную сеть
Прохождение моста: доступ к модулям доступа прокси с помощью опции ProxyCommand
Что еще сказать о HTTP? Изменение последовательности передаваемых пакетов
Покажи свой значок: аутентификация стесненного бастиона
Предоставление горы возможностей: экспортирование SSHD-доступа
Эхо на чуждом языке: перекрестное соединение взаимно защищенных межсетевыми экранами хостов
На полпути: что теперь?
Стандартная передача файла при помощи протокола SSH
Инкрементная передача файла по протоколу SSH
Запись на компакт-диск по протоколу SSH
Акустический канал: передача аудиоданных с помощью протоколов TCP и SSH
Резюме
Конспект
Часто задаваемые вопросы
Глава 14. Хакинг аппаратных средств
Введение
Основные сведения о хакинге аппаратных средств
Вскрытие устройства: атаки на корпус устройства и его механическую часть
Типы механизмов защиты
Внешние интерфейсы
Анализ протокола
Электромагнитные излучения и электростатический разряд
Внутренний анализ устройства: атаки на электрическую схему
Реинжиниринг устройства
Основные способы: общие атаки
Современные способы атак: удаление эпоксидной смолы и вскрытие интегральных схем
Криптоанализ и методы запутывания
Необходимый набор инструментов
Расширенный комплект инструментальных средств
Пример: хакинг устройства идентификации DS1991 MultiKey iButton
Эксперименты над устройством
Реинжиниринг «случайного» ответа
Пример: хакинг устройства NetStructure 7110 E-commerce Accelerator
Вскрытие устройства
Поиск файловой системы
Реинжиниринг генератора пароля
Резюме
Конспект
Часто задаваемые вопросы
Глава 15. Вирусы, Троянские программы и черви
Введение
Различия между вирусами, Троянскими программами и червями
Вирусы
Черви
Макровирусы
Троянские программы
Мистификации
Строение вирусов
Распространение
«Полезная нагрузка»
Прочие уловки
Инфицирование различных платформ
Java
Макровирусы
Перекомпиляция
Shockwave Flash
Поводы для беспокойства
Червь Морриса
ADMw0rm
Черви Melissa и I love you
Червь Sadmind
Черви Code Red
Червь Nimda
Создание вредоносного кода
Новые методы доставки
Ускоренные методы распространения
Дополнительные аспекты создания вредоносного кода
Защита от вредоносного кода
Антивирусное программное обеспечение
Обновления и пакеты исправлений
Безопасность браузеров
Антивирусные исследования
Резюме
Конспект
Часто задаваемые вопросы
Глава 16. Уклонения от системы обнаружения вторжения
Введение
Принципы работы, основанной на анализе сигнатур системы обнаружения вторжений
Ложные срабатывания и упущения
Оповещение о лавинообразном процессе
Уклонение на уровне пакетов
Опции протокола IP
Фрагментация IP
Заголовок TCP
Синхронизация TCP
Использование программ fragrouter и congestant
Контрмеры
Уклонение на уровне приложений
Защита вдогонку
Уклонение от проверки характерных признаков сетевой деятельности на соответствие сигнатуре
Способы атак в сети
Контрмеры
Уклонение при помощи морфизма кода
Резюме
Конспект
Часто задаваемые вопросы
Глава 17. Обзор автоматизированных средств оценки безопасности
Введение
Краткие сведения об автоматизированных средствах оценки безопасности
Анализ коммерческих инструментальных средств
Исследование свободно распространяемых инструментальных средств
Применение автоматизированных инструментальных средств для тестирования на проникновение
Тестирование коммерческих инструментальных средств
Тестирование свободно распространяемых инструментальных средств
Случаи, когда инструментальных средств недостаточно
Новое лицо тестирования уязвимости
Резюме
Конспект
Часто задаваемые вопросы
Глава 18. Сообщения о проблемах безопасности
Введение
Почему необходимо сообщать о проблемах безопасности
Полное раскрытие
Когда и кому направить сообщение
Кому направить сообщение о проблемах безопасности?
Какие подробности следует опубликовать
Публикация кода, использующего уязвимость
Проблемы
Резюме
Конспект
Часто задаваемые вопросы
Отрывок из книги
В этой главе обсуждаются следующие темы:
• Что понимают под «хакерскими методами»
.....
Один из лучших способов обхода защиты межсетевого экрана основан на использовании ее слабых мест. Кроме уязвимостей Web-браузера, в состав программ с возможными брешами в системе защиты входят такие программы, как AOL Instant Messenger, MSN Chat, ICQ, клиент IRC и даже Telnet и клиенты ftp. Возможно, потребуются дополнительные исследования, терпение и немного удачи, для того чтобы воспользоваться слабыми местами в их системе защиты. Рекомендуется найти пользователя в организации, намеченной для нападения, который сможет запустить одну из этих программ. Многие из программ интерактивной переписки содержат средства обнаружения собеседников, поэтому нет ничего необычного в том, что люди публикуют свой номер ICQ на своей домашней страничке. (I Seek You – система интерактивного общения в Internet, позволяющая находить в сети партнеров по интересам и обмениваться с ними сообщениями в реальном масштабе времени.) Значит, легко найти программу victim.com и номер ICQ, которые будут использованы для обхода системы защиты. А затем дождаться, когда предполагаемый человек будет на работе, и совершить задуманное с использованием его номера ICQ. Если воспользоваться серьезной брешью в системе безопасности, то, вероятно, удастся передать выполнимый код через межсетевой экран, который может сделать все, что вы захотите.
Во время написания книги уже существовали сотни производителей программно-аппаратных средств обнаружения вторжения (IDS – intrusion detection system), объединенных с межсетевыми экранами и средствами защиты от вирусов или реализованных как автономные системы. Принцип работы системы обнаружения вторжения слегка отличается от работы межсетевых экранов. Межсетевые экраны предназначены для остановки небезопасного трафика в сети, а системы обнаружения вторжения – для его определения, но не обязательно его остановки (хотя ряд систем обнаружения вторжения будет взаимодействовать с межсетевыми экранами для запрещения трафика). Системы обнаружения вторжения способны распознать подозрительный трафик при помощи ряда алгоритмов. Одни из них основаны на совпадении трафика с известными образцами нападений, очень схожими с базой данных сигнатур антивирусной программы. Другие проверяют трафик на соответствие правилам оформления трафика и его признаков. Третьи – анализируют признаки стандартного трафика и наблюдаемого на предмет отличия от статистической нормы. Поскольку системы обнаружения вторжения постоянно контролируют сеть, то они помогают обнаружить нападения и необычные условия как внутри сети, так и вне ее и обеспечить новый уровень безопасности от внутреннего нападения.
.....