|
Тестирование КВИС на наличие уязвимости ⇐ ПредыдущаяСтр 3 из 3 При вводе в эксплуатацию системы, требующей соответствия какому-либо уровню защищенности, хорошей практикой является ее предварительная проверка на наличие уязвимостей. Данная проверка производится с использованием СПО, осуществляющего автоматическое тестирование продукта на наличие уязвимости, с помощью организаций, производящих такие проверки, или самостоятельно, вручную, в тех частях системы, где по-вашему, это необходимо. В ходе проверки, необходимо обнаружить SQL-инъекцию и затем “закрыть дыру” в, безопасности вашего продукта. Подтверждением того, что в какой-либо части системы была обнаружена уязвимость будет служить некорректный поток данных системы. На рисунках 1 и 2 приведены примеры корректной и некорректной работы КВИС в штатном режиме работы и во время реализации уязвимости, соответственно. Рисунок 1 – Поток данных в КВИС в штатном режиме работы На рисунке 1 показан поток данных системы в штатном режиме работы. Пользователь посылает GET запрос по адресу сервера, который затем преобразуется в SQL-запрос к базе данных системы. При правильном значении параметра 'id’ GET-запроса, пользователю возвращается документ под соответствующим номером. Это нормальный режим работы КВИС. На втором же рисунке, при проверке наличия уязвимости в данном параметре, мы наблюдаем изменения данных, отдаваемых КВИС пользователю. При правильном изменении передаваемого параметра, становится возможным исполнить произвольный код в СУБД MySQL. Это может привести к полному копированию базы данных и, следовательно, получения доступа ко всем хранящимся в ней сведениям. В приведенным примере уязвимость используется, чтобы похитить пароль пользователя системы. Рисунок 2 – Поток данных в КВИС во время реализации уязвимости Фильтрация потока данных во время работы системы Третьим способом является фильтрация входящих данных в виде GET-запросов, заголовков, user agent-ов и т.д. во время работы видов SQL-запросов, фильтрация которых поможет отсеять потенциальные SQL-инъекции. 1. SQL, в котором предложение UNION, вызывает обращение к другой таблице или представлению. 2. SQL, в котором добавлен необоснованный SUB-SELECT. 3. SQL, в котором предложение WHERE было зациклено, путем дополнения строки типа '' = '' или 1=1. 4. SQL, в котором происходит необоснованный вызов встроенных или сохраненных процедур. 5. SQL, в котором выполнен доступ к системным таблицам и/или пользовательским приложениям и идентификационным таблицам. 6. SQL, в котором, предложение WHERE было сокращено с помощью комментария – ‘—'. 7. Анализ некоторых классов ошибок, указывающих на то, что выбранные классы имеют неправильное количество аргументов или неправильный тип данных. Это может указать на то, что кто-то пытается создать дополнительный запрос, используя предложение UNION. Данные приемы типичны для попыток реализации данной уязвимости и с очень маленькой вероятностью являются запросами пользователей. Однако, при составлении правил фильтрации следует быть осторожным. Важно не “перегнуть палку” с предположениями о том, что действительно является легальным SQL, а что создано злоумышленником. Остерегайтесь ложных плюсов. Делайте это просто и действенно - используйте, если возможно, более одного метода, расширяйтесь и учитесь. На рисунке 3 приведена схема системы с установленным фильтром запросов и ее работа во время попытки реализации уязвимости. Рисунок 3 – Использование Firewall-а для защиты от SQL-инъекции.
Выводы
В данной работе было приведено определение уязвимости типа SQL-инъекция, проведена классификация уязвимостей данного вида, а также классификация данной уязвимости в соответствии с ГОСТ, был представлен паспорт уязвимости. Так же данная уязвимость была реализована, посредством взлома базы данных сайта в сети Интернет. Был произведен обзор средств и методов защиты критически важных информационных сегментов от уязвимости типа SQL-инъекция. Таким образом, в конечном итоге, все эти методы сводятся к одному — внимательности разработчика.
Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор... Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем... Живите по правилу: МАЛО ЛИ ЧТО НА СВЕТЕ СУЩЕСТВУЕТ? Я неслучайно подчеркиваю, что место в голове ограничено, а информации вокруг много, и что ваше право... Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|