Сокрытие документа в заведомо непроверяемых файлах - Защита от утечки информации (DLP) и шифрование - Форумы Anti-Malware.ru Перейти к содержанию
Сергей Ильин

Сокрытие документа в заведомо непроверяемых файлах

Recommended Posts

Сергей Ильин

Я думаю многие знают фокус с тем, чтобы спрятать документ или целый набор документов внутри другого файла. Например, можно легко "прикрепить" офисные документы с конфиденциальными данными к изображению JPEG.

Как это делается подробно описано, например, здесь

http://www.rusdoc.ru/articles/kak_sprjatat...azhenija/15806/

Таким образом, DLP система на шлюзе, если такая в компании есть, может и не заметить утечку. Кроме того, вручную такое обнаружить будет почти нереально, даже если буду читаться все письма. Конечно при условии, что к маленькой картинке не прицепили пару десятков мегабайт доков :)

Хочется обсудить, какие DLP продукты будут детектить такой трюк, а какие нет?

И какие вообще методы есть для борьбы с этим?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
priv8v

Лучший метод подробно описан в фильме Час расплаты - суть в стирании того, что запомнил человек в период работы и полная изоляция от мира - все это гарантировало отсутствие утечек информации...

А если серьезно, то только текст разрешать передавать - т.к вшить документы можно в любой файл таким или подобным образом. Даже с текстом можно что-то придумать...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
priv8v

Сергей Ильин, а сами что думаете по этому поводу? Дайте старт обсуждению!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
andrey golubev
Хочется обсудить, какие DLP продукты будут детектить такой трюк, а какие нет?

И какие вообще методы есть для борьбы с этим?

Любой нормально реализованный продукт на основе меток или грифов должен такое ловить.

Как пример могу привести SecrecyKeeper, который у нас используется, он это делает так:

1. на файл ставится степень секретности;

2. после того, как пользователь открывает файл, программа которой открыли файл становится "меченой", на нее накладываются ограничения по доступу к каналам передачи (сеть, подключаемые устройства, печать), в соответствии с уровнями допуска пользователя, степенью секретности информации и уровнями безопасности рабочей станции;

3. при сохранении картинки в которую добавили документ, сохраненный файл будет иметь такой же гриф какой был у документа.

4. вместо файла может быть сетевой ресурс, например сетевая папка, веб-портал, БД или другая клиент-серверная система.

Похожим образом должны работать SecretNet и СтражNT. Но их я не проверял.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
priv8v

Можете пояснить более подробно? Я приведу ниже последовательность действий, а Вы, если не сложно расскажете на каких этапах ставятся метки и как отслеживаются действия.

1. На документ Х.doc выставлена какая-то секретность

2. Происходит его копирование в Х2.doc

3. Происходит его архивация с паролем в файл Х2.rar (иными словами: этот файл открывает архиватор, считывает оттуда данные и в это же время пишет какие-то непонятные данные в некий файл)

4. Происходит переименовывание архива в Х3.rar

5. Происходит соединение этого архива с картинкой как показано по ссылке выше.

Это был классический путь. Теперь немного изменим пятый пункт (сделаем два его варианта - новые виды пятого пункта см.ниже):

5.1. Данный архив открывается через hex-редактор и копируется (ctrl+c) как набор циферок и затем эти циферки пишутся в текстовый файл (ctrl+v) и уже этот файл соединяется как описано выше с картинкой)

5.2. Доходим до массива циферок как в пункте 5.1, но не копируем массив, а делаем его скриншот средствами системы и затем получившееся изображение джойним к картинке.

Пожалуйста, расскажите что и как будет отслеживаться на каждом из этапов. Заранее благодарен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
andrey golubev

2. Процесс копирования происходит следующим образом:

2.1. Программа (word, explorer, copy и т.п.) открывает и читает файл Х.doc - SecrecyKeeper устанавливает для процесса copy.exe уровень равный степени секретности Х.doc;

2.2. copy.exe создает и пишет данные в Х2.doc - SecrecyKeeper устанавливает для Х2.doc секретность равную уровню процесса copy.exe;

3. Архивация полностью аналогична копированию. сами данные не анализируются, степень секретности технически к содержимому не привязана, она устанавливается для контейнера;

4. Происходит переименовывание архива в Х3.rar - если переименование внутри тома (дискового), то это тот же файл, просто с другим именем, если перенос - то это копирование + переименование внутри тома;

5. Происходит соединение этого архива с картинкой как показано по ссылке выше.

все в точности как в п2 - copy открывает секретный файл, после этого любой созданный им файл станет секретным, что бы туда не писалось;

5.1. Данный архив открывается через hex-редактор и копируется (ctrl+c) как набор циферок и затем эти циферки пишутся в текстовый файл (ctrl+v) и уже этот файл соединяется как описано выше с картинкой)

5.1.1. hex-редактору ставится уровень секретности;

5.1.2. для буфера обмена ставится метка секретности, т.к. туда сделал запись меченый процесс;

5.1.3. для текстового редактора ставится уровень секретности, т.к. он прочитал данные из меченого буфера обмена;

долее все как в п2

5.2. Доходим до массива циферок как в пункте 5.1, но не копируем массив, а делаем его скриншот средствами системы и затем получившееся изображение джойним к картинке.

Если в пользовательской сессии есть хоть один процесс, получивший доступ к секретным данным (а раз вы открыли секретный файл, то так и есть), то скриншот будет иметь секретность равную секретности самого секретного процесса, при сохранении его в файл, этот файл также станет секретным.

Если что-то описал не внятно, спрашивайте, постараюсь уточнить.

  • Upvote 10

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
priv8v
Если в пользовательской сессии есть хоть один процесс, получивший доступ к секретным данным (а раз вы открыли секретный файл, то так и есть)...

Иными словами - если пользователь открывал секретный документ чем-либо, то на все сохраняемые файлы в этом сеансе ставится такая-же метка секретности, как и на файл?

для буфера обмена ставится метка секретности, т.к. туда сделал запись меченый процесс

это какой процесс делал туда запись-то? ;)

Программа (word, explorer, copy и т.п.) открывает и читает файл Х.doc

что такое copy? мы делаем все через проводник. какому процессу (может системной библиотеке?))) ставится индекс секретности?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
andrey golubev

Если в пользовательской сессии есть хоть один процесс, получивший доступ к секретным данным (а раз вы открыли секретный файл, то так и есть)...

Иными словами - если пользователь открывал секретный документ чем-либо, то на все сохраняемые файлы в этом сеансе ставится такая-же метка секретности, как и на файл?

На все сохраняемые ЭТИМ ПРОЦЕССОМ файлы. Плюс отслеживается межпроцессорное взаимодействие - через буфер обмена например.

для буфера обмена ставится метка секретности, т.к. туда сделал запись меченый процесс

это какой процесс делал туда запись-то? wink.gif

Тот который открыл секретный файл. Например, вы открыли секретный файл вордом, скопировали инфу в буфер обмена. Буфер обмена отмечается как содержащий секреты. Вы открыли не секретный файл другим экземпляром ворда, скопировали инфу в буфер обмена. Отметка секретности с буфера снимается. В первом ворде вы работаете с секретным файлом, во втором с общедоступным.

Программа (word, explorer, copy и т.п.) открывает и читает файл Х.doc

что такое copy? мы делаем все через проводник. какому процессу (может системной библиотеке?))) ставится индекс секретности?

copy утилита командной строки виндовс из приведенного в первом посте примера.

Будете копировать проводником - метка будет установлена на проводник. На конкретный экземпляр процесса, не на екзешник или библиотеку. Различие идет по процесс ид. Через GUI SecrecyKeeper'а или с консоли управления можно посмотреть какие процессы обращались к секретной информации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Н.Зенин
Любой нормально реализованный продукт на основе меток или грифов должен такое ловить.

Большая часть классических DLP-решений (Symantec, Websnese, Trend Micro) распознают форматы документов, уходящих в потоке при помощи лицензируемой ими технологии KeyView (разработчик - Autonomy). Поэтому, картинку они определят как картинку - по сигнатуре. Будет ли происходить дальнейший анализ и поиск чего-то, дописанного в конце jpeg-а, - неизвестно. Скорее - нет.

Попытка спрятать документ перед отправкой - это ведь признак злонамеренности, а DLP-решения всё-таки больше нацелены на защиту от халатных действий сотрудников. У меня, например, на рабочем месте нельзя выполнять операции с командной строкой (отключено, прав администратора нет, hex-редактор установить невозможно), просто так я не могу обмануть систему. А это - стандартное требование политик безопасности. В идеале, с попытками обхода системы лучше бороться превентивно, - не допускать возможности их технической реализации.

А если интересно померить силами DLP и инсайдера, пытающегося спрятать и отправить секретики, вот еще пара продуктов-кандидатов (агентские DLP решения), которые способны противостоять некоторым сценариям: McAfee Host DLP и Verdasys Digital Guardian. Оба решения способны отслеживать операции на уровне рабочей станции с документами, помеченными тегами и присваивать теги производным документам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
andrey golubev
Попытка спрятать документ перед отправкой - это ведь признак злонамеренности, а DLP-решения всё-таки больше нацелены на защиту от халатных действий сотрудников.

Т.е. от халатности одно средство, от злонамеренности еще одно ?

У меня, например, на рабочем месте нельзя выполнять операции с командной строкой (отключено, прав администратора нет, hex-редактор установить невозможно), просто так я не могу обмануть систему. А это - стандартное требование политик безопасности. В идеале, с попытками обхода системы лучше бороться превентивно, - не допускать возможности их технической реализации.

Полностью согласен. У нас пользователям тоже ни чего нельзя, чего не положено. Но у любой системы защиты должно быть несколько рубежей. И кроме пользователей есть еще админы и продвинутые пользователи.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Андрей-001
изображение джойним к картинке

Что это значит и каким образом?

Сработает ли система, если к примеру текстовый документ doc заархивировать, потом сменить архивное расширение на jpg/gif и в таком миллипиперном виде сбагрить его куда-то? Или наоборот, или в другой последовательности?

Как пример могу привести SecrecyKeeper

Наверное этот - SecrecyKeeper.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Umnik
Что это значит и каким образом?

http://www.computerra.ru/gid/rtfm/graphic/341031/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
priv8v
На все сохраняемые ЭТИМ ПРОЦЕССОМ файлы.

А кнопка принт_скрин куда относится? Как будет определено, что нужно детектить секретным то, что будет сохраняться в пейнте из буфера после снятия скрина?

Буфер обмена отмечается как содержащий секреты. Вы открыли не секретный файл другим экземпляром ворда, скопировали инфу в буфер обмена. Отметка секретности с буфера снимается. В первом ворде вы работаете с секретным файлом, во втором с общедоступным.

Тогда попробуем так: открываем секретный документ вордом и копируем оттуда текст в буфер обмена. Закрываем сей документ. Затем открываем общедоступный и вставляем текст туда. Сохраняем его. Этот документ станет тоже секретным?

Еще несколько вопросов к Вам:

Имеем секретный файл. Копируем его в текущую директорию с расширением bak. Затем удаляем его (через проводник). После этого прибиваем процесс проводника и снова его стартим. Затем достаем из корзины документ в какую-то директорию.

Как метки будут в этом случае расставляться?

Сохраняются ли метки секретности при перезагрузке?

Как все это работает? Перехваты в юзермоде?

Сработает или система, если к примеру текстовый документ doc заархивировать, потом сменить архивное расширение на jpg/gif и в таком миллипиперном виде сбагрить его куда-то?

Посмотрите на пункты выше по переименованию - ведь смена расширения это ничто иное как переименование документа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
andrey golubev
Сработает или система, если к примеру текстовый документ doc заархивировать, потом сменить архивное расширение на jpg/gif и в таком миллипиперном виде сбагрить его куда-то? Или наоборот или в другой последовательности?

Сработает. Смотрите п2 моего ответа priv8v. Все абсолютно тоже самое, просто другие названия программ. И от того, что эти действия повторять несколько раз меняя последовательность ничего не изменится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
andrey golubev
А кнопка принт_скрин куда относится? Как будет определено, что нужно детектить секретным то, что будет сохраняться в пейнте из буфера после снятия скрина?

Не знаю куда относится кнопка принт-скрин, я ведь не разработчик :) Возможно к эксплореру.

Но сначала буфер, а потом пейнт будут помечены SecrecyKeeper'ом как секретные. И соответственно при попытке сохранить буфер ы файл он станет секретным.

Тогда попробуем так: открываем секретный документ вордом и копируем оттуда текст в буфер обмена.

буфер метится как секретный

Закрываем сей документ.

на буфере остается метка секретности, убийство процесса ни чего в этом плане не дает

Затем открываем общедоступный и вставляем текст туда. Сохраняем его. Этот документ станет тоже секретным?

после выполнения операции вставки новый процесс ворда становится меченым. это можно отследить через gui secrecykeeper'а

там отображаются уровни всех процессов и можно посмотреть, где появилась метка

Еще несколько вопросов к Вам:

Имеем секретный файл. Копируем его в текущую директорию с расширением bak. Затем удаляем его (через проводник). После этого прибиваем процесс проводника и снова его стартим. Затем достаем из корзины документ в какую-то директорию.

Как метки будут в этом случае расставляться?

Агент вырубает корзину, если ее включить руками, то при удалении секретного файла вся корзина становится секретной и ядро SecrecyKeeper'а и windows начинают пугать пользователя не понятными сообщениями. Но секретность сохраняется.

Сохраняются ли метки секретности при перезагрузке?

Как все это работает? Перехваты в юзермоде?

При перезагрузке метки конечно сохраняются. Насколько я понимаю, SecrecyKeeper хранит гриф в файловой системе.

Как это работает я Вам точно рассказать не смогу, это к авторам надо :)

Могу только сказать, что там несколько драйверов - файловый, сетевой и еще вроде какие-то, соответственно перехваты на уровне ядра.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
andrey golubev

Кстати, мы делали еще такие проверки.

1. Секретный файл приатачить к письму и послать его самому себе.

Если уровень допуска пользователя к сети ниже уровня секретности файла SecrecyKeeper письмо отослать не дает

2. Секретный файл приатачить к письму и сохранить в черновиках.

Сохранить в черновиках письмо SecrecyKeeper не дает, правда Outlook ругается, хотя не падает. Но пользователя не понятная ругань может напрячь.

В SecrecyKeeper 3.2 можно пометить Outlook как программу, которая не может получать доступ к данным, если их уровень секретности ниже, чем уровень допуска пользователя к сети. То же можно сделать например с аськой и скайпом. Теперь кроме сообщения от SecrecyKeeper ни какой ругани больше нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dr_dizel
Кстати, мы делали еще такие проверки.

Защищаются ли области памяти, где находятся секретные данные?

Помечается ли своп, если данные вытесняются из памяти?

Помечается ли дамп памяти, если сбой произошел во время работы с секретными данными?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
dot_sent
...

При перезагрузке метки конечно сохраняются. Насколько я понимаю, SecrecyKeeper хранит гриф в файловой системе.

Как это работает я Вам точно рассказать не смогу, это к авторам надо :)

Могу только сказать, что там несколько драйверов - файловый, сетевой и еще вроде какие-то, соответственно перехваты на уровне ядра.

Был знаком с одним из аналогичных продуктов отечественного производства - так тот хранил свои метки в файловых Security-дескрипторах NTFS.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
priv8v

andrey golubev, спасибо за ответы, но мне не все ясно и поэтому еще несколько вопросов:

1). На каком основании то, что помещает в буфер обмена принт_скрин становится секретным? Т.е независимо от того, что мы будем скринить б.о будет секретным?

2). Допустим, открыли мы секретный документ вордом. Значит ворд станет секретным. И все что он создает или модифицирует тоже будет секретным? (а ведь он создает/редактирует кучу файлов, временных файлов, реестр и т.д - т.е все это тоже будет секретным?)

3). Допустим, мы откроем секретный документ каким-то приложением. После этого это самое приложение тоже становится секретным. Вопрос в следующим: что именно перехватывается из деятельности этого приложения кроме редактирования других файлов или их создания. Если это приложение большое, то оно может делать кучу всего - сканировать, создавать процессы, завершать их, загружать либы, выгружать их. Так что из деятельности детектируется что бы не упустить секретную инфу, которая может быть у него в памяти?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
andrey golubev
andrey golubev, спасибо за ответы, но мне не все ясно и поэтому еще несколько вопросов:

1). На каком основании то, что помещает в буфер обмена принт_скрин становится секретным? Т.е независимо от того, что мы будем скринить б.о будет секретным?

Это происходит, если в текущей сессии был открыт секретный файл. В этом случае не зависимо от того есть ли на экране секретная информация или нет SecrecyKeeper пометит скриншот как секретный.

andrey golubev, спасибо за ответы, но мне не все ясно и поэтому еще несколько вопросов:

2). Допустим, открыли мы секретный документ вордом. Значит ворд станет секретным. И все что он создает или модифицирует тоже будет секретным? (а ведь он создает/редактирует кучу файлов, временных файлов, реестр и т.д - т.е все это тоже будет секретным?)

Да, SecrecyKeeper это все отслеживает, всех деталей реализации не знаю, но например временные файлы становятся секретными и удаляются при закрытии процесса их создавшего. В служебные файлы (например конфиги), запись секретной информации запрещается. Но например клиент 1С после этого просто падает, поэтому для служебных файлов можно сделать исключения - разрешить туда писать, но при этом повышать степень секретности. В этом случае 1С переходит на секретность сразу при запуске,а не после подключения к серверу. В принципе это не мешает.

andrey golubev, спасибо за ответы, но мне не все ясно и поэтому еще несколько вопросов:

3). Допустим, мы откроем секретный документ каким-то приложением. После этого это самое приложение тоже становится секретным. Вопрос в следующим: что именно перехватывается из деятельности этого приложения кроме редактирования других файлов или их создания. Если это приложение большое, то оно может делать кучу всего - сканировать, создавать процессы, завершать их, загружать либы, выгружать их. Так что из деятельности детектируется что бы не упустить секретную инфу, которая может быть у него в памяти?

В документации ответа на этот вопрос нет. По своему опыту могу сказать, что отслеживаются обращения к файловой системе, сети, устройствам, межроцессное взаимодействие. На сколько это качественно реализовано сказать не могу, когда мы тестировали продукт, нас уровень реализации устроил. За время боевой эксплуатации почти год, в сети размером порядка 220 компов тоже критичных недостатков не выявили.

  • Upvote 5

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
priv8v
По своему опыту могу сказать, что отслеживаются обращения к файловой системе, сети, устройствам, межроцессное взаимодействие.

1). Детектируются ли запись в реестр? (туда тоже можно записать кучу инфы из секретного файла)

2). Еще такой трюк: наша программа открывает секретный файл и делает следующее: считывает оттуда всю инфу, затем создает bat-файл, который создаст другой файл и запишет в него секретную инфу и запускает этот батник. После чего удаляет батник. Понятно, что бат файл будет секретным (т.к он создан секретным приложением), а что будет с созданным файлом (тем, который создал батник)?

3). Какое межпроцессовое взаимодействие палится? Создание удаленных потоков? Мьютексов может ? :) А посылка сообщений GUI детектируется? Ведь можно через посылку сообщений отправить всю секретную информацию ;)

4). Самомодификация как будет показываться в SecrecyKeeper? Ведь считавшее приложение вполне может с некоторыми танцами с бубном зашить в себя (в файл) секретную инфу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
andrey golubev
1). Детектируются ли запись в реестр? (туда тоже можно записать кучу инфы из секретного файла)

3). Какое межпроцессовое взаимодействие палится? Создание удаленных потоков? Мьютексов может ? :) А посылка сообщений GUI детектируется? Ведь можно через посылку сообщений отправить всю секретную информацию ;)

Мы тестировали SecrecyKeeper в рамках своей модели нарушителя. Все Вами перечисленное закрывается с помощью политики ограничения на запуск программ.

2). Еще такой трюк: наша программа открывает секретный файл и делает следующее: считывает оттуда всю инфу, затем создает bat-файл, который создаст другой файл и запишет в него секретную инфу и запускает этот батник. После чего удаляет батник. Понятно, что бат файл будет секретным (т.к он создан секретным приложением), а что будет с созданным файлом (тем, который создал батник)?

Не прокатит. Бат файл секретный, следовательно процес будет меченый и любой созданный им файл будет секретный.

4). Самомодификация как будет показываться в SecrecyKeeper? Ведь считавшее приложение вполне может с некоторыми танцами с бубном зашить в себя (в файл) секретную инфу?

Аналогично пункту 2 этого поста.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
priv8v
Мы тестировали SecrecyKeeper в рамках своей модели нарушителя. Все Вами перечисленное закрывается с помощью политики ограничения на запуск программ.

Не :)

Меня мало интересуют политики, которые можно в винде делать на запуск, на исполнение, на открытие и т.д - я просто интересуюсь функциями SecrecyKeeperа и возможностями его обхода с условием, что он это единственная защита от утечек на уровне ОС.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
andrey golubev
Не :)

Меня мало интересуют политики, которые можно в винде делать на запуск, на исполнение, на открытие и т.д - я просто интересуюсь функциями SecrecyKeeperа и возможностями его обхода с условием, что он это единственная защита от утечек на уровне ОС.

Сферический конь в вакууме ?:)

Тогда можно не мучится, снять диск и утащить его в темный угол. Или если SecrecyKeeper запрещает держать секреты локально, подключить свой ноут к сети. Мне кажется средства защиты нельзя рассматривать отдельно от среды в которой они применяются. Вернее можно, но только в науно-познавательных целях :)

Кстати разработчика SecrecyKeeper принципиально не дублируют в нем функционал ОС. Например в одной из ранних версий там была своя реализация SRP, а потом ее оттуда выкинули, сказали, что виндовая начиная с ХР вполне достаточна.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Вадим Волков
Тогда можно не мучится, снять диск и утащить его в темный угол.

А у вас возможна такая ситуация? Как в политике безопасности учитывается такая возможность?

И если не возражаете ещё несколько вопросов:

На всех ПК у пользователей отобраны права не только установки программ, но и запуска всех кроме необходимых(т.е. есть белые списки) и биос запоролен?

Какая ситуация с ноутбуками?

Какие права на доступ к секретным документам у сисадминов?

Если необходимо убрать секретность документа - то как это происходит?

Какова реакция системы на нарушение правил - просто запрет операции или возможна блокировка ПК?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • Ego Dekker
      Домашние антивирусы для Windows были обновлены до версии 19.0.14.
    • PR55.RP55
      Microsoft ускоряет Проводник в Windows 11 с помощью предзагрузки https://www.comss.ru/page.php?id=18618
    • AM_Bot
      Вендор Crosstech Solutions Group выпустил решение для защиты контейнерной инфраструктуры Crosstech Container Security (CTCS). Оно обеспечивает безопасность контейнерных сред: от сканирования образов до контроля запуска рабочих нагрузок и реагирования на инциденты в средах выполнения.      ВведениеФункциональные возможности Crosstech Container Security2.1. Анализ и контроль безопасности образов2.2. Контроль запуска контейнеров2.3. Безопасность в средах выполнения (Runtime Security)2.4. Безопасность окружения2.5. Внешние интеграцииАрхитектура Crosstech Container Security3.1. Основные компоненты Crosstech Container SecurityСистемные требования и лицензирование Crosstech Container Security4.1. Лицензирование4.2. Требования к аппаратной части4.3. Требования к программной части4.4. Процесс установкиСценарии использования5.1. Сценарий №1. Сканирование образов5.2. Сценарий №2. Политики безопасности образов контейнеров5.3. Сценарий №3. Контроль запуска контейнеров5.4. Сценарий №4. Мониторинг безопасности сред выполненияВыводыВведениеРоссийский рынок контейнерных разработок постоянно растёт. В 2024 году затраты на ПО для контейнеризации достигли 3 млрд рублей — это на 66 % больше, чем в 2023. Контейнерные технологии ускоряют процессы разработки, экономят ресурсы компаний, поэтому их всё чаще внедряют в свою работу ИТ-департаменты.Вместе с ростом масштабов контейнеризации увеличивается и поверхность атак: уязвимости в образах, ошибки конфигураций, несанкционированные действия внутри контейнеров. Crosstech Container Security помогает компаниям выстраивать комплексную систему защиты контейнерной инфраструктуры.Функциональные возможности Crosstech Container SecurityCrosstech Container Security объединяет функции анализа, мониторинга и управления безопасностью контейнерных сред. Решение охватывает весь жизненный цикл контейнера — от момента его создания до удаления. Продукт помогает DevSecOps-командам выявлять уязвимости, проверять конфигурации, контролировать сетевую активность и реагировать на инциденты в режиме реального времени.Анализ и контроль безопасности образовCrosstech Container Security интегрируется с реестрами хранения образов и позволяет проводить их сканирование как в ручном режиме, так и по расписанию. В результате анализа система обнаруживает дефекты в образах: уязвимости, неправильные конфигурации, секреты, а также фиксирует используемые в образах OSS-лицензии для пакетов и библиотек. По каждому найденному дефекту предоставляется детальная информация.CTCS поддерживает экспорт SBOM в форматах SPDX и CycloneDx, что упрощает аудит и обмен данными с другими решениями. Интерфейс продукта предоставляет визуализацию образов с маппингом (сопоставлением данных) на дефекты безопасности. CTCS также осуществляет дискаверинг (обнаружение) образов, располагающихся в защищаемых кластерах и на standalone-хостах.Для автоматизации контроля доступны настраиваемые политики безопасности образов, разделяемые по критериям:наличие уязвимостей в образах контейнеров выше заданной оценки критичности;наличие уязвимостей в образах контейнеров согласно заданным идентификаторам;обнаружение root в Dockerfile;возможность указания перечня образов, на которые будет распространяться созданная политика безопасности образов.При нарушении хотя бы одного из критериев политики администратор получает уведомление в интерфейсе CTCS и может оперативно принять меры: заблокировать образ, исключить его из деплоя или добавить в список исключений с указанием причины. Такой подход обеспечивает прозрачность процессов и повышает уровень доверия к среде разработки и эксплуатации.Контроль запуска контейнеровРешение обеспечивает контроль запуска контейнеров как в средах Kubernetes, так и на отдельных standalone-хостах в соответствии с заданными политиками безопасности. Это позволяет предотвращать запуск рабочих нагрузок, не соответствующих требованиям безопасности компании, ещё на этапе их инициализации.В зависимости от настроек администратор может выбрать режим реагирования: блокирование или оповещение о нарушении политики безопасности. Информация обо всех срабатываниях отображается в интерфейсе системы, обеспечивая прозрачность и возможность оперативного реагирования.Политики безопасности включают следующие критерии:попытка запуска контейнеров на базе образов, не соответствующих политикам безопасности;попытка запуска контейнеров из-под пользователя root;попытка запуска контейнеров с повышенными привилегиями ядра Linux;контроль запуска контейнеров на базе образов, не прошедших сканирование CTCS.Дополнительно решение поддерживает интеграцию с OPA Gatekeeper и имеет возможность создания и импорта политик через интерфейс CTCS.Безопасность в средах выполнения (Runtime Security)CTCS использует возможности инструмента Tetragon для создания и применения кастомных политик безопасности, позволяющих контролировать сетевые взаимодействия внутри контейнеров. Администраторы могут выбрать набор кластеров для распространения политик, что обеспечивает гибкость при внедрении требований безопасности.Вся информация о срабатываниях политик фиксируется в интерфейсе CTCS, предоставляя специалистам по информационной безопасности прозрачную картину активности в средах выполнения и возможность оперативного реагирования на инциденты.Безопасность окруженияРешение выполняет сканирование кластеров на соответствие стандартам конфигурирования CIS Kubernetes Benchmarks. Аналогично система проводит проверку standalone-хостов на соответствие CIS Docker Benchmarks. Дополнительно CTCS поддерживает сканирование конфигурационных файлов, расположенных в директориях нод кластеров, выполняя роль сканера на основе IaC (Infrastructure as Code, управление инфраструктурой через использование кода).Внешние интеграцииРешение поддерживает интеграцию с реестрами хранения образов, что обеспечивает доступ к актуальным данным для анализа и контроля безопасности контейнеров. Также CTCS поддерживает передачу журналов событий в системы сбора по протоколу Syslog для их централизованного хранения и обработки.Доступна интеграция с системой идентификации, управления доступом Keycloak с поддержкой OAuth и доменными службами каталогов. Это позволяет пользователям авторизовываться в интерфейсе системы через доменные учётные записи. Рисунок 1. Планы по развитию Crosstech Container Security Архитектура Crosstech Container SecurityАрхитектура CTCS реализована в формате однонаправленных соединений со стороны ядра системы в сторону агентов защиты (протокол TCP/IP), располагающихся в защищаемых кластерах. Такой подход позволяет использовать инстанс ядра в единственном экземпляре для инфраструктур, сегментированных по уровням доверия. Рисунок 2. Логическая архитектура Crosstech Container Security Основные компоненты Crosstech Container SecurityCTCS состоит из 3 основных компонентов:CTCS Core — группа микросервисов, отвечающая за управление системой: хранение данных, настроек, создание политик безопасности, бизнес-логика продукта, а также взаимодействие со смежными системами.CTCS Agent-Manager: модуль агент-менеджера реализован в формате оператора Kubernetes с целью контроля за установкой и изменениями кастомных ресурсов (custom resource definition, CRD), а также управления и передачи информации агент-воркерам, устанавливаемым на каждую защищаемую ноду в формате DaemonSet.CTCS Scanner — модуль, сканирующий образы контейнеров на уязвимости, неправильные конфигурации, конфиденциальные данные, информацию по OSS-лицензиям для пакетов и библиотек из состава образа, а также сканирующий кластеры на соответствие стандартам конфигурирования.Системные требования и лицензирование Crosstech Container SecurityПеред выбором модели лицензирования заказчикам рекомендуется оценить масштаб защищаемой инфраструктуры и нагрузку на кластеры. Crosstech Container Security предусматривает гибкий подход: ядро и агенты могут разворачиваться в разных сегментах сети, включая тестовые и продуктивные среды. Такой принцип позволяет оптимально распределять ресурсы и лицензии, избегая избыточных затрат.ЛицензированиеCTCS лицензируется по количеству защищаемых нод, на которые распространяются агенты защиты.В продукте реализовано гибкое лицензирование, которое позволяет заказчикам самостоятельно выбирать перечень защищаемых объектов. При достижении лимита по количеству лицензий, предусмотренных договором, администратор может отключить часть текущих объектов защиты и переназначить лицензии на новые кластеры и ноды. Рисунок 3. Включение/выключение агентов защиты Рисунок 4. Лицензии CTCS На странице лицензирования доступна подробная информация о параметрах действующей лицензии. Пользователь видит:количество оставшихся дней действия лицензии;количество нод, предусмотренных лицензией;актуальные данные о числе используемых нод в рамках лицензии;сведения о типе лицензии;информация о поставщике;информация о владельце лицензии.Рисунок 5. Страница «Лицензирование» Требования к аппаратной частиКластер, на котором производится установка CTCS, должен соответствовать минимальным характеристикам, приведённым ниже. Для определения значений millicpu (единицы времени процессора, эквивалентной тысячной части работы, которую может выполнить одно ядро CPU) рекомендуется воспользоваться документацией Kubernetes.Кластер, на который будет установлен helm-чарт ядра (без учёта сканера) должен иметь характеристики не ниже 8190 millicpu, 7410 MiB RAM.Для каждого экземпляра сканера: 3 CPU, 6 GB RAM, при добавлении дополнительных экземпляров значения увеличиваются пропорционально.В случае использования большего количества реплик значения пропорционально умножаются на их число. По умолчанию в чарте допускается до 6 реплик, что требует 18 CPU, 36 GB RAM.Каждый кластер для развёртывания чарт-агента должен иметь 2 CPU, 8 GB RAM.Необходимый минимум для каждой используемой СУБД PostgreSQL: 4 CPU, 8 GB RAM, 100 GB.Приведённые требования указаны для усреднённой конфигурации и могут быть изменены в зависимости от количества одновременных сканирований образов, генерируемых событий, деплоев, пространств имён (namespaces) и подов.Требования к программной частиДля корректной интеграции и работы приложение CTCS должно быть развёрнуто в кластере Kubernetes. При настройке системы в конфигурационном файле helm-чарта должны быть настроены необходимые параметры.Поддерживаемые контейнерные среды CRI (container runtime interface): containerd и docker.В момент выполнения инструкции на хосте администратора должны быть установлены следующие утилиты для выполнения установки:tar;helm;kubectl.Необходимые сервисы в инфраструктуре:PostgreSQL: рекомендуется размещать базу данных для хранения логов на отдельном инстансе от основной БД, чтобы избежать падения производительности основных операций при большом объёме логируемых событий;Keycloak (опционально, имеется возможность поставки в составе дистрибутива);Vault (опционально, имеется возможность использования стандартного объекта Kubernetes Secret).Требования к операционной системе и ядру:рекомендуется использовать ОС с версией ядра 5.4 или выше для обеспечения поддержки Tetragon;в ядре должна быть включена функция BTF;должны быть активированы модули eBPF и cgroup, а также корректным образом настроены или отключены модули безопасности Linux (LSM), контролирующие запуск eBPF-программ (в соответствии с официальной документацией Tetragon).Требования к версиям Kubernetes:центральная управляющая часть кластера – не ниже версии 1.23;дочерние кластеры – версия 1.23 или выше.Дополнительные требования:В кластере Kubernetes должен быть установлен, подключён и настроен storage class, в котором будет минимум 10 GB свободного места.В master-кластер должен быть установлен External Secrets (опционально).В дочерние кластеры должен быть установлен External Secrets (опционально).Во всех кластерах, где развёртывается ядро и агенты CTCS, должен быть установлен ingress-контроллер.Совокупность этих требований обеспечивает стабильную работу системы и корректное взаимодействие всех модулей CTCS. При соблюдении указанных параметров производительность решения остаётся предсказуемой даже при высокой интенсивности сканирований и большом количестве событий безопасности. Такой подход гарантирует надёжность, масштабируемость и устойчивость контейнерной инфраструктуры.Процесс установкиДля развёртывания CTCS вендор предоставляет архив, содержащий helm-чарты и образы системных контейнеров. При необходимости может быть предоставлена учётная запись для выгрузки дистрибутивов из репозиториев вендора напрямую.Сценарии использованияCrosstech Container Security закрывает ключевые задачи обеспечения безопасности контейнерных платформ — от анализа уязвимостей до защиты на уровне среды выполнения. Решение органично интегрируется в процессы DevSecOps и помогает компаниям повысить устойчивость инфраструктуры к современным киберугрозам без потери скорости разработки.Сценарий №1. Сканирование образовCTCS позволяет выполнять сканирование образов контейнеров, хранящихся как в интегрированных реестрах образов, так и локально в защищаемых кластерах. Рисунок 6. Подключённые реестры После интеграции с реестрами образов на вкладке «Образы» – «Реестры» отображается подключённый реестр и информация о хранящихся в нём образах. Реализовано в формате иерархии:Реестры.Название образа и количество его версий (тегов).Название образа и его версии.Карточка конкретного образа.Рисунок 7. Образ и список его версий Рисунок 8. Карточка образа На каждом уровне иерархии есть возможность запуска сканирования по требованию с выбором типа дефектов, которые будут учитываться в процессе сканирования. Дополнительно предоставляется общая информация об образе, данные о его соответствии установленным политикам, сведения о слоях образов с маппингом на обнаруженные дефекты. Рисунок 9. Слои образа На странице интеграций с реестрами в настройках доступно выставление расписания для проведения автоматизированного сканирования. Рисунок 10. Сканирование по расписанию Для работы с образами, обнаруженными локально в защищаемых кластерах, доступна отдельная вкладка «Образы» – «Локальные образы». Рисунок 11. Таблица локальных образов При запуске процесса сканирования доступен выбор ноды, на которой он будет проводиться. Если обнаруженный образ находится в интегрированном реестре, сканирование будет приоритетно выполняться на стороне ядра системы в рамках интеграции с реестром. Рисунок 12. Выбор нода для проведения сканирования Сценарий №2. Политики безопасности образов контейнеровВ рамках Crosstech Container Security реализовано создание политик безопасности для образов контейнеров. После их настройки система автоматически проверяет все известные образы на соответствие заданным критериям. По результатам проверки на карточке каждого образа отображается информация о соответствии или несоответствии политикам безопасности (Рисунок 7). Если образ нарушает несколько политик безопасности одновременно, в карточке отображается, какие именно политики безопасности были нарушены. Рисунок 13. Создание политики безопасности образов Сценарий №3. Контроль запуска контейнеровВ CTCS доступна интеграция с OPA Gatekeeper, обеспечивающая валидацию контейнерных деплоев и реагирование в соответствии с заданными политиками безопасности.При настройке политик безопасности доступен выбор режима реагирования — оповещение либо блокировка — а также определение перечня критериев безопасности, по которым будет осуществляться контроль. Рисунок 14. Таблица политик валидации и контроля запусков Политики безопасности могут создаваться по выделенным критериям (Рисунок 13) или импортироваться в виде кастомных политик (Рисунок 14). Рисунок 15. Создание политики валидации и контроля запусков Рисунок 16. Импорт кастомных политик безопасности Результаты срабатывания политик доступны в интерфейсе системы, что позволяет оперативно анализировать инциденты и корректировать настройки безопасности. Рисунок 17. Срабатывание политик валидации и контроля запусков Сценарий №4. Мониторинг безопасности сред выполненияВ текущей версии реализован мониторинг безопасности сред выполнения на базе Tetragon, что позволяет контролировать эксплуатацию рабочих нагрузок.В CTCS доступна форма для создания или импорта готовых политик безопасности с возможностью выбора области применения. Рисунок 18. Создание политики среды выполнения При срабатывании политик система отображает перечень событий в формате таблицы. Для каждого события можно перейти в режим детального просмотра, где отображается его идентификатор, дата и время создания, короткое описание и содержание в формате json. Рисунок 19. Событие срабатывания политики среды выполнения ВыводыАнализ решения Crosstech Container Security показал, что в версии 3.0.0 продукт предоставляет широкие функциональные возможности для защиты контейнерной инфраструктуры: от обеспечения безопасности образов контейнеров до контроля запуска и реагирования на нелегитимные процессы в средах выполнения в соответствии с политиками безопасности. CTCS также предоставляет инструменты для проведения сканирований защищаемых кластеров на соответствие стандартам конфигурирования, что повышает уровень безопасности контейнерной инфраструктуры.Достоинства:Архитектура. Благодаря однонаправленным соединениям со стороны ядра системы в сторону агентов защиты обеспечивается соответствие требованиям заказчиков, которые используют «Zero Trust»-модель на уровне сегментов инфраструктуры.Широкая площадь покрытия. CTCS обеспечивает контроль запуска контейнеров не только в рамках оркестратора Kubernetes, но и на отдельных хостах контейнеризации за счёт использования standalone-агентов.Гибкие возможности при работе с API. Весь функционал из веб-интерфейса CTCS также доступен для вызова через API, что позволяет специалистам заказчика решать нетривиальные задачи в рамках своей рабочей деятельности и интегрировать продукт в существующие процессы.Удобство при работе со сканированием образов. Иерархический подход обеспечивает гибкость при выборе области сканирования и повышает прозрачность анализа.Недостатки:Отсутствие возможности встраивания в процесс сборки (CI/CD) (планируется к реализации в первом квартале 2026 года).Отсутствие данных по ресурсам Kubernetes (Workloads, RBAC, Custom Resources, Feature Gates): планируется в 4-м квартале 2025 – 1-м квартале 2026).Отсутствие настройки гибкого разграничения прав доступа пользователей в интерфейс системы (реализация запланирована на первый квартал 2026).Отсутствие отчётности по результатам работы с системой (планируется в первом квартале 2026).Реклама, 18+. ООО «Кросстех Солюшнс Групп» ИНН 7722687219ERID: 2VfnxvVGwXfЧитать далее
    • demkd
    • PR55.RP55
      И ещё это: https://www.comss.ru/page.php?id=18330 Это и на работе Образов с Live CD может сказаться ?
×