Конспект
Конспект
Опасность непредвиденных входных данных
· Почти все приложения взаимодействуют с пользователем, получая от него данные.
· В приложении должен быть предусмотрен контроль действий пользователя.
· Особое внимание в приложении должно быть обращено на предотвращение переполнения буфера, изменение логики работы и контроль данных, передаваемых системным функциям.
Поиск обусловленных непредвиденными входными данными уязвимостей
· Любое приложение, взаимодействующее с пользователем или другим непроверенным приложением, может стать жертвой непредвиденных данных. С непредвиденными данными чаще всего сталкиваются:
– локальные приложения 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.
Данный текст является ознакомительным фрагментом.