Чтение онлайн

на главную - закладки

Жанры

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

авторов Коллектив

Шрифт:

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

Многие инструментальные средства так или иначе имеют отношение к обработке непредусмотренных данных. Некоторые из них полезны программистам для отладки их кода, другие – злоумышленникам или консультантам при обнаружении прорех в системе защиты. Поскольку подобных инструментальных средств очень много, то далее будут рассмотрены лишь самые популярные.

Программа Web Sleuth

Web Sleuth (сыщик сети) – разработанная Дэйвом Циммером (Dave Zimmer) программа для Windows, позволяющая пользователю модифицировать HTTP-запросы и HTML-формы. Программа Web Sleuth

широко использует возможности ядра Internet Explorer, добавляя свои собственные. Последняя версия программы Web Sleuth стала расширяемой благодаря применению подключаемых программ (plug-ins). В настоящий момент в число доступных подключаемых программ входят программы вскрытия HTTP-сессий методом «грубой силы», исследования Web-сайтов и тестирования SQL-запросов с помощью внесения в них изменений. Программа свободно доступна по адресу http://geocities.com/dizzie/sleuth.

Программа CGIAudit

CGIAudit – автоматизированная программа тестирования интерфейса CGI методом «черного ящика», которая получает от пользователя HTML-форму и методично тестирует каждый ее элемент на известные уязвимости: переполнение буфера, выполнение метасимволов и внесение изменений в запросы SQL. В программе реализованы возможности Web-паука и поддерживается модуль доступа к сети Интернет (прокси-поддержка). CGIAudit написан на языке С и доступен по адресу www.innu.org/~super.

Инструментарий RATS

RATS (Rough Auditing Tool for Security – инструментарий первичного аудита безопасности) – средство анализа исходных текстов программ на языках C, C++, Python, Perl и PHP. RATS просматривает исходный текст программ и сообщает о любых потенциально опасных ситуациях, включая статически размещаемые буфера и небезопасные функции. Инструментарий первичного аудита безопасности RATS не решает всех проблем, но помогает снизить потенциальные угрозы безопасности. RATS доступен по адресу www.securesw.com/rats.

Сценарий Flawfinder

Flawfinder (определитель уязвимостей) – сценарий на языке Python, по своим функциональным возможностям схожий с RATS, но анализирует только программы на языке С. Создатель сценария Дэвид Уэллер (David Wheeler) отмечает, что Flawfinder распознает уязвимости там, где RATS бессилен. Его конечная цель – объединиться с RATS, но пока этого не случилось. Сценарий Flawfinder можно найти по адресу www.dhwheeler.com/flawfinder.

Сканер Retina

Retina – разработанный eEye коммерческий сканер уязвимостей позволяет исследователю сканировать приложения для выявления уязвимостей. В основе продукта лежат основные методы атак хакеров CHAM (Common Hacking Attack Methods), основанные на идеях «искусственного интеллекта», в основном автоматизирующие рутинный процесс поиска уязвимостей, например поиск переполнения буфера и схожих проблем в общедоступных сетевых сервисах. Сканер Retina можно приобрести по адресу www.eeye.com.

Программа Hailstorm

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

по адресу www.clicktosecure.com.

Программа Pudding

Программа-посредник протокола HTTP (прокси-HTTP) Pudding написана Рольфом Теммингом (Roelef Temmingh) на языке Perl. Программа Pudding позволяет внести закодированные хитроумные вставки в проходящие через нее унифицированные указатели информационных ресурсов URL в запросах по протоколу HTTP вне зависимости от источника запросов: Web-браузера пользователя или инструментария оценки работы сети. Наиболее широко в программе используются кодировки UTF-8/Unicode. Программа Pudding может быть использована для уклонения от систем обнаружения вторжений IDS. Она доступна по адресу www.securityfocus.com/tools/1960.

Резюме

Проблемы безопасности возникают преимущественно из-за непредвиденных действий злоумышленника по отношению к приложению c целью обмана системы безопасности, логики работы приложения и т. д. Переполнение буфера происходит при пересылке в него большего количества данных, чем предусматривалось разработчиком программы. В результате изменения запроса SQL в запрос добавляются дополнительные команды SQL. К сожалению, во многих приложениях не предусмотрена даже простейшая фильтрация неверных данных. Похвалы достойны те, которые выполняет ее. Фильтрация данных позволит выиграть отдельные сражения, но не всю войну в целом. Для разработки действительно надежного и безопасного приложения следует сместить центр усилий от «удаления плохого» к «сохранению хорошего». Только тогда приложение сможет противостоять различным неправильным, поврежденным или непредсказуемым либо непредвиденным данным.

Непредсказуемые данные могут поразить любое приложение, начиная от программ c интерфейсом командной строки и заканчивая Web-приложениями интерфейса CGI, работающими в оперативном режиме. Процедуры аутентификации, сравнения данных и формирования SQL-запросов уязвимы по своей сути. Для определения уязвимости приложения широко используется метод «черного ящика», который позволяет найти, или, как некоторые говорят, разгадать, хитроумные уловки в конструкции приложения, изучая реакцию приложения на входные данные. Просмотр исходного текста программ приложения (подход, при котором программный код приложения внимательно анализируется c целью выявления уязвимостей) сулит исследователю больше выгоды.

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

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

Конспект

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

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

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

Поделиться:
Популярные книги

Мимик нового Мира 10

Северный Лис
9. Мимик!
Фантастика:
юмористическое фэнтези
альтернативная история
постапокалипсис
рпг
5.00
рейтинг книги
Мимик нового Мира 10

Польская партия

Ланцов Михаил Алексеевич
3. Фрунзе
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Польская партия

Здравствуй, 1984-й

Иванов Дмитрий
1. Девяностые
Фантастика:
альтернативная история
6.42
рейтинг книги
Здравствуй, 1984-й

Темный Лекарь 3

Токсик Саша
3. Темный Лекарь
Фантастика:
фэнтези
аниме
5.00
рейтинг книги
Темный Лекарь 3

Назад в СССР: 1986 Книга 5

Гаусс Максим
5. Спасти ЧАЭС
Фантастика:
попаданцы
альтернативная история
5.75
рейтинг книги
Назад в СССР: 1986 Книга 5

Наследница Драконов

Суббота Светлана
2. Наследница Драконов
Любовные романы:
современные любовные романы
любовно-фантастические романы
6.81
рейтинг книги
Наследница Драконов

Кодекс Охотника. Книга XIII

Винокуров Юрий
13. Кодекс Охотника
Фантастика:
боевая фантастика
попаданцы
аниме
7.50
рейтинг книги
Кодекс Охотника. Книга XIII

Не кровный Брат

Безрукова Елена
Любовные романы:
эро литература
6.83
рейтинг книги
Не кровный Брат

Ты нас предал

Безрукова Елена
1. Измены. Кантемировы
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Ты нас предал

Возвышение Меркурия. Книга 5

Кронос Александр
5. Меркурий
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 5

Последний Паладин. Том 7

Саваровский Роман
7. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 7

Клан

Русич Антон
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Клан

Калибр Личности 1

Голд Джон
1. Калибр Личности
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Калибр Личности 1

Вторая жизнь майора. Цикл

Сухинин Владимир Александрович
Вторая жизнь майора
Фантастика:
героическая фантастика
боевая фантастика
попаданцы
5.00
рейтинг книги
Вторая жизнь майора. Цикл