Основные требования безопасности к БД и СУБД мало чем отличаются от требований к защищенности в других компьютерных системах:
в контроле доступа;
криптозащите;
проверке целостности;
и т. д.
Под проверкой целостности имеется в виду защита информации базы данных от неверного ее изменения или вообще разрушения. То есть подразумевается использование корректности в значениях элементов БД, а также корректность в налаживании взаимосвязи среди элементов базы.
Почему требования к безопасности БД и СУБД настолько высоки
Мир потихоньку «оцифровывается», и сейчас много конфиденциальной информации содержится в различных базах данных. Это могут быть:
финансовые сведения о компании или сотрудниках;
персональные данные пользователей или клиентов;
данные интеллектуальной собственности;
различные секретные исследования;
данные на конкурентов;
платежные данные компаний, клиентов, сотрудников;
и мн. др.
Это лишь небольшая часть данных из «баз», которые вызывают особый интерес у web-преступников. «Стоимость» некоторых сведений требует особой защищенности, чтобы они не попали не в те руки. Поэтому защита информации в БД — это не просто слова или очередной тренд. Это острая необходимость и требования современного интернета к защищенности БД и СУБД. Для этого уже разработан комплекс мер, о которых мы сегодня поговорим. Но хочется сразу заметить, что меры безопасности все время меняются, потому что постоянно обновляются и появляются новейшие угрозы взлома, к которым нужно быть готовым.
Многие веб-разработчики СУБД в комплексе уже предлагают определенные меры защищенности. Но, как правило, эти меры ориентируются на уже известные дыры в безопасности и не распространяются на «новинки» хакинга.
Как развивались требования к защищенности БД и СУБД
Требования к защищенности БД и СУБД возникали как ответ на уже сформировавшуюся угрозу или даже действия киберпреступников. И редко когда получалось предугадать возможность хакинга.
Можно выделить 4 подхода к обеспечению безопасности:
обеспечение полного доступа всем пользователям к базе данных;
внедрение СУБД для деления пользователей на тех, кому можно доверять, и тех, кому можно доверять лишь частично;
внедрение при помощи СУБД аудита всего списка пользователей, когда проверяются логи всех их действий;
внедряется особая зашифрованность информации; аутентификация выносится из СУБД внутрь операционной системы или дополнительного программного обеспечения; происходит отказ от администраторов, которым якобы «можно доверять».
Как уже говорилось, внедрение новых мер в безопасность происходило в ответ на уже имеющуюся угрозу. Однако это не давало возможности формировать общий комплекс безопасности и никак не позволяло «угадывать» новые угрозы.
Из-за того, что не сформировался четкий подход к безопасности БД и не был разработан единый комплекс решений, на данный момент мы имеем очень разносторонние средства защиты и очень разных специалистов по безопасности данных.
Современная проблема в защищенности БД
По большому счету уязвимости БД и СУБД не сильно изменились в последние годы. Изменился только подход к их использованию. Но почему тогда до сих пор есть инциденты взлома БД, если о брешах в безопасности известно? Да потому что причины возникновения таких инцидентов никак не меняются. Можно выделить несколько популярных:
Высокие требования к безопасности БД и СУБД заметны лишь в крупных компаниях; в более мелких, как правило, ограничиваются только стандартными подходами;
Специалисты по БД и администраторы «баз» просто не уделяют должного внимания к защищенности;
Многие специалисты по кибербезопасности не разделяют требования к БД в зависимости от объема хранимых данных, а на самом деле подходы разные;
Используется новая модель или вид хранения информации, который мало изучен и менее безопасен, чем традиционный.
Лидером среди причин «взломов» БД является человеческая невнимательность и лень самих «специалистов» по безопасности. Элементарно, лидер среди способов получить доступ к базе данных — это простая SQL-инъекция. «Заносится» через веб-приложения, запросам которых не уделяют должного внимания.
Особенности в безопасности БД
Любые современные информационные хранилища состоят из 2-х основных компонентов:
хранимая информация — это и есть база данных;
софт для управления — это и есть СУБД.
Обеспечить полную безопасность данных самой БД никак не получится без обеспечения безопасности управляющего софта. Поэтому можно смело выделить, что безопасность СУБД делится на 2 категории:
Безопасность зависит от самих данных.
Безопасность не зависит от самих данных.
Все проблемы, которые относятся к безопасности, не зависящей от данных, похожи на уязвимости любого другого ПО:
несвоевременно обновляется СУБД;
присутствуют функции, которые не используются;
неквалифицированные пользователи ПО.
Но основные требования к безопасности СУБД зависят именно от самих данных, потому что основные уязвимости так или иначе связаны непосредственно с хранящимися данными.
Требования к безопасности БД и СУБД
Исходя из того, что мы разделили защищенность СУБД на 2 категории, требования к ее обеспечению тоже делятся.
Требования защищенности БД и СУБД, когда она не зависит от хранимых данных:
БД должна функционировать в доверительной среде. То есть вся инфраструктура функционирования и защитный механизм БД и СУБД должны быть налажены согласно требуемой политике безопасности.
Должна быть организована физическая защищенность файлов. Данное требование ничем не отличается от обеспечения физической безопасности любых других программ и приложений.
Должна быть организована безопасная, профессиональная, актуальная настройка СУБД. То есть все должен делать профессионал: качественно установить, использовать эффективный подбор паролей, отключить ненужные функции, вовремя все должно обновляться.
Требования защищенности БД и СУБД, когда она зависит от хранимых данных:
Организовать безопасное пользовательское ПО. То есть любое ПО, которое имеет доступ к данным, должно быть лицензионным. Его доступ к данным должен быть проверен и настроен качественно.
Организовать безопасную работу с данными. Это самое ключевое требование. Фактически правильная организованная работа с данными обеспечит должную безопасность БД. Потому что на данный момент основной причиной взлома БД является именно организация неправильной работы с данными. Поэтому основные усилия должны быть сосредоточены на этом пункте.
Как создать защищенную базу данных
Для создания защищенной БД необходим комплекс ваших собственных мер. В первую очередь нужно ориентироваться не на метод закрытия существующих уязвимостей, а на метод комплексного подхода по предотвращению возможных брешей. Для этого можно выделить следующие этапы:
В первую очередь нужно самостоятельно разработать комплекс методов для обеспечения защищенности самой БД.
Нужно оценить и по возможности классифицировать угрозы и уязвимости вашей СУБД. Это даст возможность установить взаимосвязь между брешами безопасности и причинами их появления, а значит, появится возможность их предотвращать.
Нужно разработать собственные механизмы обеспечения защиты информации в базе данных. Это вынужденная мера, потому что разработчики и производители СУБД не могут предоставить полный комплекс защиты своим продуктам. Поэтому придется искать индивидуальный подход, возможно, основываясь на опыте других пользователей.
Как вы, наверное, заметили, требования безопасности и защита информации БД и СУБД — это только ваша ответственность. И нужно как минимум дополнять предоставленные производителями ПО механизмы защиты их продукта своими собственными наработками, ориентируясь в первую очередь на сферу применения БД.
Другое