Логично предположить, что эти продукты безопасны и правильно выполняют свои функции, но я выяснил, что это совсем не так. В данной статье будем рассматривать исключительно СЗИ от НСД под операционную систему Windows, так как не смотря на тренд импортозамещения, большинство госкомпьтеров всё равно работает под ней. В Windows есть множество особенностей и тонкостей, которые могут сыграть злую шутку с разработчиками средств защиты. Не будем сейчас говорить обо всех нюансах, разберем только один, который позволяет обойти политики разграничения доступа к файлам.
Не секрет, что основная файловая система, используемая в Windows, это NTFS. В NTFS есть такая штука, как атрибуты, доступ к которым можно получить путем добавления двойного двоеточия после имени файла. Атрибутов у файлов много, но нас интересует один — $DATA, он содержит содержимое файла. Обращение к file.txt и file.txt::$DATA тождественно, но механизм работы внутри операционной системы разный. Я решил посмотреть, знают ли об этой особенности разработчики СЗИ. Практическая часть проста — создавался файл test.txt с содержанием «Hello, world!», в интерфейсе СЗИ выставлялись права доступа, запрещающие чтение файла для всех пользователей, затем проверялось чтение файла по имени и по атрибуту $DATA, под непривилегированным пользователем.
Я хотел посмотреть на максимально возможном числе СЗИ, но оказалось, что свободно получить демо-версию можно только для двух продуктов — Dallas Lock и Secret Net. В открытом доступе есть еще Aura, но она не обновлялась с 2011 года и вряд ли ей кто-то еще пользуется. Все остальные (Страж, Блокхост, Diamond) получить в демо не удалось — в открытом доступе их нет, на запросы производитель либо не отвечает, либо требует гарантийные письма, либо вместо демо-версии предлагают прослушать вебинар.
Dallas Lock
Устанавливаем разрешения:
Проверяем:
И вот оно — любой пользователь может прочитать содержимое любого файла, полностью игнорируя все настроенные правила разграничения доступа.
Уязвимая версия:
Secret Net
Устанавливаем разрешения:
Проверяем:
В Secret Net данный фокус не работает, похоже, их разработчики разбираются в NTFS (хотя и не очень понимают в безопасности драйверов).
Проверял на этой версии, возможно, более ранние всё-таки уязвимы:
Я буду рад если вы протестируете доступные вам СЗИ и опубликуете результат в комментариях. И будьте осторожны с «сертифицированными средствами защиты», не стоит слепо доверять сертификатам и лицензиям.
Комментарии (8)
Fukurou
03.06.2016 18:26+1Мне приходилось работь с СЗИ от НСД в контексте защиты гостайны. Могу сказать следующее:
Помимо разграничения прав, должно также быть ограничение по грифу секретности (как грифов пользователей, так и грифов папок и документов) и ограничения на запуск программ (разрешения/запрет на запуск, гриф программ).
Проблема в том, что рассматривать только один нюанс в данном случае не совсем корректно, поскольку на живой системе настраивается все вместе. При обработке документов командная строка не нужна. Если СЗИ настраивалась параноиком, запуск cmd будет запрещен. Или же будет разрешен, но только в несекретном режиме. А программа с грифом несекретно не должна получать доступ к документам с грифом выше.
Kibsez попробуйте такой же трюк как в статье проделать с грифованными файлами.DartRaven
04.06.2016 23:27+2К сожалению, ограничения на запуск программ тут не помогут. Тот же wordpad, к примеру, вполне нормально откроет документ вот так: «wordpad d:\tmp\test.txt::$DATA».
lostpassword
05.06.2016 13:12Ну с политикой ограничения программ возможно — а вот с мандатным разграничением доступа действительно интересно.
Если задать файлу гриф «конфиденциально», а пользователю доступ к конфиденциальной информации не давать — какой будет результат?
Правда, Secret Net и так прошла проверку, а с Dallas Lock я не работал — не знаю, реализовано ли там в принципе мандатное разграничение доступа.
Ambroyz
06.06.2016 09:02Перефразируя длинный комментарий: дискреционный контроль не сработал, попробуйте мандатный. Ответ с 99% вероятностью будет: аналогично не работает. Дело в том, что оба контроля сидят в описателе безопасности, который в данной системе подвязан почему-то к имени, а не к объекту.
Удивительно, что автор статьи нашел хоть какие-то продукты такого рода в общем доступе, да еще официальное демо. Это может объяснять архитектурные просчеты.lostpassword
06.06.2016 11:36Должен сказать, что несколько лет назад (году так в 2011) я общался с «Кодом безопасности» (производитель СЗИ «Secret Net»), и впечатления у меня остались самые положительные.
Я как раз запрашивал у них комплект демо-лицензий — и этот вопрос решили очень быстро, постоянно помогали, во многом пошли навстречу.
Так что конкретно к «Коду безопасности» вопросов вообще быть не должно, ИМХО.)
msuhanov
06.06.2016 23:25Для оценки эффективности средства защиты информации нужно выбрать модель угроз. Или хотя бы определиться с тем, от кого мы защищаемся. И если мы защищаемся от злобного регулятора, то и оценивать нужно те свойства средства защиты информации, которые позволяют прикрыть пятую точку, то есть наличие сертификатов, формуляров и так далее. В противном случае, если модель угроз не была выбрана правильно, то, скорее всего, будут неверными и критерии оценки средства защиты информации. Вот какое отношение к защите от злобного регулятора имеет отсутствие контроля за чтением потоков NTFS? Никакого!
Loreweil
08.06.2016 05:46+1С СЗИ от НСД «Страж NT 3.0» был короткий опыт общения. Это чудовище прежде чем загрузить систему от 3 до 10 раз подряд стабильно показывает BSOD. Это даже есть в документации на софтину, правда там это называется «в редких случаях».
Представьте как был «доволен» заказчик. Хорошо, что использование именно этого средства защиты было прихотью именно заказчика.
TargetSan
А вы авторам Dallas Lock сообщили о баге?