Молодая американская фирма Application Security (http://www.appsecinc.com), недавно пришедшая на российский ИТ-рынок, занимается защитой баз данных и предлагает решения, призванные не допустить само нападение на них. Основной продукт компании, AppDetective, — это программное средство выявления и анализа уязвимости баз данных. Оно позволяет оценить защищенность БД на трех уровнях — самой базы данных, Web-интерфейса и приложений, работающих на этой БД.
Первоначально система AppDetective была разработана для защиты баз данных Oracle. Случилось это в 2001 г., когда была основана и сама компания. И почти сразу Oracle объявила, что к ее новому ПО за номером 9i применим термин unbreakable, т. е. «невзламываемое». На волне ажиотажа, вызванного этим заявлением, Application Security выпустила в январе 2002 г. вторую версию системы и предложила желающим убедиться, что Oracle 9i вполне даже breakable.
При этом Application Security работала над тем, чтобы предложить защиту и других БД. Следующим стал вариант AppDetective для Microsoft SQL Server, поскольку как раз тогда появились черви для этой БД — Voyager Alpha Force и Spida Worm. Затем возможности AppDetective были расширены на другие продукты — Sybase, Microsoft SQL Server, IBM DB2, Lotus Notes/Domino, Oracle Application Server и разнообразные Web-приложения.
Сегодня у AppDetective три связанных между собой задачи и, следовательно, три режима работы. Во-первых, AppDetective сканирует сеть, в которой находится, и выявляет все легально и нелегально установленные в ней СУБД. После этого система готова искать уязвимости. Поиск может идти по двум сценариям: прежде всего это «тест на проникновение» — имитация возможных действий внешнего злоумышленника. И уж если система может найти брешь, то нарушитель тоже в состоянии это сделать. И, наконец, последнее — это выявление уязвимости БД по отношению к вредоносным либо просто неразумным действиям авторизованного пользователя. В AppDetective можно задать пароль для доступа к базе данных, будь то администратор или рядовой пользователь, и получить вид СУБД «изнутри». Этот вид работы программы назван аудитом.
Один из видов исследования базы данных на защищенность от внешнего воздействия — проверка паролей пользователей или администраторов. Для этого к программе прилагаются несколько текстовых файлов (от 570 до 50 тыс. слов), содержащих слова, которые злоумышленник может использовать при взломе пароля. Есть и несколько файлов с именами и фамилиями — от 3 до 13 тыс. слов. Организация может создавать и собственные файлы для проверки паролей.
AppDetective также проверяет, нельзя ли вместо нудного подбора паролей просто «обойти» процесс аутентификации и уязвима ли БД для DoS-атак и переполнения буфера. Она также определяет, являются ли используемые версии программ самыми свежими, установлены ли все вышедшие обновления к ним.
Не забыты и более замысловатые уязвимости, такие, как различные способы эскалации привилегий (например, через «демона» базы данных MySQL, которому присвоены права пользователя с низкими привилегиями). Если злоумышленник проникнет в такую базу данных, то он может повысить права «демона» и получить контроль над всей ОС. Отслеживает AppDetective и потенциальную опасность того, что пользователь с незначительными правами сможет, например, стирать всю базу, как в MySQL версии 4.0.5.
Проверка БД на защищенность от авторизованного пользователя включает в себя проверку правильности распределения прав доступа, целостности приложения и состояния паролей. Примером последнего может служить выявление паролей, которые не используются долгое время, или установленных производителем по умолчанию.
Для улучшения ситуации с безопасностью БД Application Security выпускает системы AppRadar и DbEncrypt. AppRadar — это продукт, имеющий два назначения: обнаружение атак на базы данных и аудит безопасности БД. Он обнаруживает определенные виды известных атак по их образцам (сигнатурам). Аудит безопасности в данном случае означает, что администратор может задавать определенные правила доступа к базе, а AppRadar будет выявлять случаи их нарушения.
Мониторинг атак ведется в AppRadar на уровне хоста. В последней версии, вышедшей в начале этого года, добавилось сетевое обнаружение атак для баз данных Oracle.
Разумеется, никто не предлагает использовать AppRadar вместо сетевой системы обнаружения, а тем более предотвращения атак. Речь идет лишь о том, чтобы с помощью AppRadar выявлять специфические атаки, направленные именно на базу данных. В частности, сетевая система обнаружения атак не может выявить атаку легального пользователя на БД, если он не имеет прав доступа к компонентам БД. Система обнаружения атак для БД может сделать это, хотя о предотвращении атак пока речь не идет.
Система обнаружения атак Application Security просто определяет вредоносные запросы SQL, такие, как переполнение буфера, эскалация привилегий, попытка хищения паролей, доступ к критически важным ресурсам ОС. Она также обнаруживает атаки на БД, ведущиеся через Web-приложение этой БД, — например, атаки с сайта на сайт с помощью скриптов, атаки типа SQL injection, кражи данных.
С помощью современных криптоалгоритмов DbEncrypt выполняет шифрование на уровне столбца в таблице, входящей в состав БД.
Пока охват различных видов баз данных у систем AppRadar и DbEncrypt значительно скромнее, чем у AppDetective, — они поддерживают только Oracle и Microsoft SQL Server.
Управление своими продуктами Application Security удачно реализовала в системе AppSecInc Console.
Надо полагать, что компании Application Security хватит работы на нашем рынке. На сегодняшний день с ней сотрудничают российские интеграторы «АйТи» и «Информзащита».