Pull to refresh

Обход правил разграничения доступа в средствах защиты от НСД

Information Security
Sandbox
На российском рынке информационной безопасности существует целый класс продуктов, разработанных для выполнения требований регуляторов (ФСТЭК, ФСБ, Роскомнадзор и прочие). Эти продукты называются «СЗИ от НСД», что означает — средства защиты информации от несанкционированного доступа. Основные функции таких продуктов — реализация независимо от операционной системы аутентификации пользователей, правил разграничения доступа к файлам и директориям (дискреционно — как в операционных системах, и мандатно — для гостайны, где есть разные уровни информации), контроль целостности, управление подключением устройств и всякие другие функции. Про подобные продукты на Хабре есть короткая статья, правда ей уже больше пяти лет, но в целом мало что изменилось. Все эти продукты, по большей части, нужны для комплаинса в чистом виде, но, тем не менее, с помощью этих средств реализуется большинство политик безопасности в госорганах, госкомпаниях, оборонке и т.д.

Логично предположить, что эти продукты безопасны и правильно выполняют свои функции, но я выяснил, что это совсем не так. В данной статье будем рассматривать исключительно СЗИ от НСД под операционную систему 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 (хотя и не очень понимают в безопасности драйверов).

Проверял на этой версии, возможно, более ранние всё-таки уязвимы:



Я буду рад если вы протестируете доступные вам СЗИ и опубликуете результат в комментариях. И будьте осторожны с «сертифицированными средствами защиты», не стоит слепо доверять сертификатам и лицензиям.
Tags:средства защиты информацииdallas locksecret netуязвимостикомплаинсcomplianceФСТЭК
Hubs: Information Security
Total votes 13: ↑12 and ↓1 +11
Views27.3K

Comments 8

Only those users with full accounts are able to leave comments. Log in, please.

Popular right now

Security engineer
to 170,000 ₽PleskНовосибирскRemote job
.net developer
from 100,000 to 200,000 ₽БАРС ГрупКазаньRemote job
Security Engineer
from 2,000 to 5,000 $CoinLoanRemote job
.NET программист
from 80,000 to 150,000 ₽ByndyusoftЧелябинск
Разработчик .NET / C#
from 90,000 to 150,000 ₽nopCommerceЯрославль

Top of the last 24 hours