Kniga-Online.club
» » » » Коллектив авторов - Защита от хакеров корпоративных сетей

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

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

К счастью, противостояние непредвиденным данным – не та область, где каждый сам за себя. В большинстве из общедоступных языков программирования (Perl, CFML и PHP) предусмотрены средства противодействия непредвиденным и поврежденным данным пользователя. Вдобавок ко всему есть еще дополнительные инструментальные средства, которые оказывают широкий спектр услуг исследователю от анализа исходного текста программ и выявления в нем уязвимостей до оказания помощи по правильному применению метода «черного ящика».

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

Конспект

Опасность непредвиденных входных данных

· Почти все приложения взаимодействуют с пользователем, получая от него данные.

· В приложении должен быть предусмотрен контроль действий пользователя.

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

Поиск обусловленных непредвиденными входными данными уязвимостей

· Любое приложение, взаимодействующее с пользователем или другим непроверенным приложением, может стать жертвой непредвиденных данных. С непредвиденными данными чаще всего сталкиваются:

– локальные приложения suid/sgid системы UNIX;

– серверы HTTP и другие Web-технологии построения приложений;

– запросы SQL;

– средства аутентификации приложений;

– методы маскировки данных, используемые при построении программ противодействия системам обнаружения вторжения IDS.

Методы поиска и устранения уязвимостей, обусловленных непредвиденными входными данными

· Просмотр исходного текста программы и метод «черного ящика» помогут обнаружить уязвимости и являются главным средством поиска потенциальных проблем.

· С непредвиденными данными можно бороться правильной фильтрацией данных или пропуском неверных символов. Во многие языки программирования (например, Perl, CFML,ASP, PHP и даже API SQL) встроены подобные возможности.

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

Использование средств безопасности языков программирования для обработки непредвиденных данных

· Встроенные средства безопасности многих языков программирования позволяют во всеоружии встретить неверные данные.

· Своевременная установка нужных опций конфигурации (установка режимов проверки «дыр» в Perl или безопасной работы «safe_mode» в PHP, настройки «песочницы» (sandbox) в CFML) поможет предотвратить опасные последствия непредвиденных данных пользователя.

· Соответствующие настройки сервера, например отключение опции Enable Parent Paths информационного сервера Интернет IIS, помогут предотвратить доступ приложения к файлу вне корневой Web-директории.

· Установка нужных привилегий пользователь / запрос в MySQL предотвращает вызов из запросов запрещенных функций, например функций доступа к файлам.

Инструментарий обработки непредвиденных данных

· Программа Web Sleuth используется для взаимодействия и работы с Web-приложениями, предоставляя различные механизмы обхода и взлома протокола HTTP. Программа CGIAudit автоматически находит известные уязвимости интерфейса CGI.

· Программы RATS и Flawfinder просматривают исходные тексты программ, выявляя в них потенциально опасные места.

· Коммерческие продукты Retina и Hailstorm предназначены для методического зондирования и провоцирования сетевых приложений для обнаружения уязвимостей и возможности их использования.

· Прокси-HTTP Pudding маскирует запросы HTTP при помощи различных форм кодирования URL, включая сверхдлинное кодирование Unicode/UTF-8.

Часто задаваемые вопросы

Вопрос: Стоит ли заботиться о проверке и фильтрации входных данных?

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

Вопрос: Какой язык программирования самый безопасный? Ответ: На этот вопрос нельзя ответить однозначно. В языках Perl and PHP реализована прекрасная возможность автоматического распределения памяти, которая позволяет разместить в памяти любое количество входных данных. Но написанные на этих языках программы плохо масштабируются из-за того, что они выполняются в режиме интерпретации. Языки программирования C/C ++ требуют от разработчика принятия дополнительных мер по обеспечению безопасности. Но написанные на языках C/C ++ программы компилируются в выполнимый код, который работает быстрее и лучше масштабируется. Окончательный выбор языка должен быть основан на предъявляемых к приложению требованиях и навыках программиста работы со средствами разработки.

Вопрос: Где можно найти дополнительные сведения об аудите исходного текста программ? Ответ: В книге «Hack Proofing Your Web Applications» издательства Syngress читатель найдет много намеков, подсказок, хитроумных приемов и указаний по аудиту исходных текстов программ для выявления в них уязвимостей.

Глава 8 Переполнение буфера

В этой главе обсуждаются следующие темы:

Стек

Стековый фрейм функции

Основы переполнения буфера

Пример программы, уязвимой к переполнению буфера

Современные способы переполнения буфера

Новаторские принципы построения программного кода полезной нагрузки

· Резюме

· Конспект

· Часто задаваемые вопросы

Введение

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

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

Эта глава разделена на две части: для новичка и для квалифицированного читателя. Если читатель знаком с переполнением буфера и понимает, как им можно воспользоваться, то он может пропустить раздел для новичка. Но в любом случае рекомендуется просмотреть материал, предназначенный для квалифицированного читателя. Некоторые из вошедших в него способов входили в арсенал средств злоумышленников, например использовались при создании червя Code Red.

Стек

Стек – абстрактная структура данных, устроенная по принципу LIFO «последний вошел – первый вышел» (last in, first out – LIFO). Наглядно стек может быть представлен стопкой подносов в кафетерии. Например, если кто-то кладет поднос на вершину стопки, то этот поднос будет первым, который другой возьмет. В поддержке стека важная роль отводится внутренним компонентам процессора, прежде всего регистрам процессора ESP и EBP, которые облегчают его использование.

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

...

Примечание

Все приведенные в главе примеры откомпилированы в операционной системе Windows 2000 компилятором VC++ 6 SP5 (Msdn.microsoft.com), если об этом ничего не сказано. Для большей ясности и простоты при компиляции примеров использовалась возможность построения выполнимой версии программы с отключенными опциями оптимизации программного кода. Примеры дизассемблирования подготовлены с использованием дизассемблера IDA pro 4.18 (www.datarescue.com). Все примеры предполагают использование стандартного чипсета x86.

Перейти на страницу:

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

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


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

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


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*