Возможно ли самостоятельно разработать антивирус - Страница 25 - Современные угрозы и защита от них - Форумы Anti-Malware.ru Перейти к содержанию
vpv

Возможно ли самостоятельно разработать антивирус

Recommended Posts

Vad
Немного мыслей по поводу ИТ и ИБ в России

http://habrahabr.ru/post/171301/

так оно всё и есть. А ещё есть такое, когда заказывается у подрядчика разработка, выделяются деньги как будто на полноценный продукт, ЦЕЛЕНАПРАВЛЕНО делается фуфло по себестоимости недельной работы. Главное, чтобы не зависла при запуске. После приёмки проекта деньги делятся между главным конструктором АСУ и гендиректором фирмы-разработчика.

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


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

Продолжаю постить самые интересные моменты иммунитета. Что происходит, когда мы нажимаем кнопку сканирование?

Сначала дропается дроппер (опять немецкий). На этот раз он, видимо, хочет какой-то пароль, но дропы в его теле не зашифрованы, поэтому их можно просто сдампить. А можно во время сканирование порыться во временных папках (C:\Users\<USER_NAME>\AppData\Local\Temp\DABB.tmp\ или вроде того) и найти там 5 файлов.

1) Form.exe - приложение. Является пустышкой. Показывается на время построения списка сканируемых файлов (все заметили, как окно подменяется через секунду?)

2) Батник scan.bat

@echo offsetlocal enabledelayedexpansionchcp 1251>nulstart Form.exeset a1="%1"for /f "tokens=4* skip=2" %%a in ('reg query "HKEY_CLASSES_ROOT\*\shell\Иммунитет: Проверить на вирусы\command"') do (set y=%%a)set y=%y:~1,-9%set x=%0set x=%x:~1,-9%copy "%y%System\Scan.cpp" "%x%Scan.cpp"copy "%y%base.dll" "%x%base.dll"::if "%a1:~0,2%"=="~0,2" goto :endset b=%a1:~1,-1%dir /a-d /b /s "%b%" >scanftaskkill /f /im Form.exe"Scan.exe"del /f Scan.exedel /f Form.exedel /f Scan.cppdel /f base.dllmove scanx "%y%viruslist.ini"exit:endecho Программа не может быть запущена в режиме standalone^! 1>notepnotepad notep

Как видно, он показывает форму-пустышку, строит в файле scanf список файлов для сканирования и запускает Scan.exe, убивая пустышку.

3) Scan.exe - сам "сканер", вместе с формой.

4) scanf - список файлов для сканирования. Примечательно, что сканирование можно остановить найдя этот файл и удалив все содержимое.

5) scanx - результат сканирования.

Теперь смотрим код сканера:

Private Sub Timer1_Timer() '450218  'Data Table: 42DEA8  Dim var_8C As String  Dim var_A8 As Variant  Dim var_94 As Long  Dim var_90 As Long  Dim var_B8 As Variant  Dim var_DC As Variant  Dim var_96 As Integer  Dim var_2D8 As Variant  loc_44FBE4: Timer1.Enabled = &H0  loc_44FBFB: var_8C = scca.Text  loc_44FC12: If (CDbl(var_8C) = CDbl(&H10000)) Then  loc_44FC1D:   Me.Caption = "Иммунитет: Полное сканирование файлов"  loc_44FC22: End If  loc_44FC31: var_8C = scca.Text  loc_44FC46: If (CDbl(var_8C) = CDbl(4096)) Then  loc_44FC51:   Me.Caption = "Иммунитет: Частичное сканирование файлов"  loc_44FC56: End If  loc_44FC5D: Me.Enabled = &H0  loc_44FC75: vir.Caption = CStr(&H0)  loc_44FCB5: SendMessage(CLng(var_88.??@??@??@), &H409, &H0, &HFF0000)  loc_44FCC3: On Error Goto 0  loc_44FCCF: Open "scanx" For Output As &H5 Len = &HFF  loc_44FCDC: Open "scanf" For Input As &H2 Len = &HFF  loc_44FCEA: var_94 = FileLen("scanf")  loc_44FCED: ' Referenced from: 4500C4  loc_44FCF7: If Not(EOF) Then  loc_44FD04:   LineInput &H2, Me.global_56  loc_44FD19:   var_90 = ((var_90 + Len(Me.global_56)) + &H2)  loc_44FD3A:   arg_5CVar(((CDbl(var_90) / CDbl(var_94)) * CDbl(&H64))).???????B????? = var_88  loc_44FD68:   arg_1CVar(CStr(((CDbl(var_90) / CDbl(var_94)) * CDbl(&H64))) & ").???????B????? = var_88  loc_44FD90:   arg_1CVar("Проверяется файл:" & Me.global_56).???????B????? = var_88  loc_44FDC0:   var_DC = CVar(CStr(var_88.??@??@??@??@??@) & "Файл:" & Me.global_56) 'String  loc_44FDCE:   var_205.MemConst_FFFF = var_E0  loc_44FE14:   Text6.Caption = CStr((CDbl("".label.Caption) + CDbl(&H1)))  loc_44FE31:   var_96 = FreeFile  loc_44FE4B:   If Not((push FileLen(Me.global_56) = &H0)) Then  loc_44FE5B:     Open Me.global_56 For Binary As var_96 Len = &HFF  loc_44FE8C:     Me.global_68 = CStr(Input(CLng(scca.Text), var_96))  loc_44FEAE:     var_A8 = compet(Me.global_68)  loc_44FEC7:     If Not((Me.global_64 = "")) Then  loc_44FFC2:       var_2D8 = CVar(CStr(CVar(CStr("".??@??@??@??@??@) & "(cHex:") & Hex(CVar(Asc(CStr(Mid$(Me.global_68, &H1, 2))))) & "" & Hex(CVar(Asc(CStr(Mid$(Me.global_68, &H2, 2))))) & "" & Hex(CVar(Asc(CStr(Mid$(Me.global_68, &H3, 2))))) & ") -" & CVar(Me.global_64))) 'String  loc_44FFD0:       var_205.MemConst_FFFF = var_E0  loc_450016:     End If  loc_450016:   End If  loc_45003A:   If Not(("".Number = &H0)) Then  loc_450058:     var_DC = CVar(CStr("".??@??@??@??@??@) & vbCrLf) 'String  loc_450066:     var_205.MemConst_FFFF = var_E0  loc_45007C:     GoTo loc_4500C0  loc_45007F:   End If  loc_45009C:   var_DC = CVar(CStr("".??@??@??@??@??@) & vbCrLf) 'String  loc_4500AA:   var_205.MemConst_FFFF = var_E0  loc_4500C0:   ' Referenced from: 45007C  loc_4500C4:   GoTo loc_44FCED  loc_4500C7: End If  loc_4500CB: Close &H2  loc_4500D1: Close &H5  loc_4500E5: arg_1"Готово".???????B????? = ""  loc_4500FF: arg_1"100%".???????B????? = ""  loc_45012B: arg_5CVar(CDbl("".????????)).???????B????? = var_E0  loc_45014E: var_8C = CStr("".??@??@??@??@??@)  loc_45015F: If (var_8C = "") Then  loc_450164:   var_B8 = "Опасных объектов не обнаружено!"  loc_450174:   var_205.MemConst_FFFF = ""  loc_45017C: End If  loc_45018D: var_8C = "".label.Caption  loc_4501A1: If (CDbl(var_8C) = CDbl(&H0)) Then  loc_4501B3:   vir.Caption = "не обнаружено!"  loc_4501CC:   vir.Forecolor = &HFF0000  loc_4501D4: End If  loc_4501D8: var_B8 = "Проверка завершена!"  loc_4501E8: arg_1var_B8.???????B????? = ""  loc_4501FE: var_B8.Timer.Enabled = &H0  loc_45020D: Me.Enabled = &HFF  loc_450214: Exit SubEnd Sub

Видимо, отличие глубокого и неглубокого сканирования заключается в соответствующей надписи.

Теперь метод complet:

Public Function compet(txt) '44F26C  'Data Table: 42DEA8  loc_44F0D4: If (txt = "MZ*") Then '44F0EE  loc_44F0E7:   Me.global_64 = Me.global_64 & "Приложение;"  loc_44F0EE: End If  loc_44F0F6: If (txt = "UPX*") Then '44F110  loc_44F109:   Me.global_64 = Me.global_64 & "Упакован UPX;"  loc_44F110: End If  loc_44F118: If (txt = "Rar!*") Then '44F132  loc_44F12B:   Me.global_64 = Me.global_64 & "Архив RAR;"  loc_44F132: End If  loc_44F13A: If (txt = "ID3*") Then '44F154  loc_44F14D:   Me.global_64 = Me.global_64 & "Файл MP3;"  loc_44F154: End If  loc_44F15C: If (txt = "BM*") Then '44F176  loc_44F16F:   Me.global_64 = Me.global_64 & "Рисунок BMP;"  loc_44F176: End If  loc_44F17E: If (txt = "‰PNG*") Then '44F198  loc_44F191:   Me.global_64 = Me.global_64 & "Рисунок PNG;"  loc_44F198: End If  loc_44F1A0: If (txt = "GIF*") Then '44F1BA  loc_44F1B3:   Me.global_64 = Me.global_64 & "Рисунок GIF;"  loc_44F1BA: End If  loc_44F1C2: If (txt = "яШя*") Then '44F1DC  loc_44F1D5:   Me.global_64 = Me.global_64 & "Рисунок JPG;"  loc_44F1DC: End If  loc_44F1E4: If (txt = "РП*") Then '44F1FE  loc_44F1F7:   Me.global_64 = Me.global_64 & "Документ DOC;"  loc_44F1FE: End If  loc_44F206: If (txt = "DF*") Then '44F220  loc_44F219:   Me.global_64 = Me.global_64 & "Документ PDF;"  loc_44F220: End If  loc_44F228: If (txt = "PK*") Then '44F242  loc_44F23B:   Me.global_64 = Me.global_64 & "Архив ZIP;"  loc_44F242: End If  loc_44F24A: If (txt = "RIF*") Then '44F264  loc_44F25D:   Me.global_64 = Me.global_64 & "WAV контент;"  loc_44F264: End If  loc_44F264: Result = arg_10: Exit SubEnd Function

Вот что значит его хваленое "сканирование по заголовку"? Оригинально. Если срабатывает какой-то из "вердиктов" - он дописывается к имени файла в логе сканирования, вместе с несколькими HEX-байтами. Пример:

Файл: C:\Users\Anton\1234.zip (cHex: 50 4B 3) - Архив ZIP;Файл: C:\Users\Anton\NTUSER.DAT (cHex: 50 4B 3) - Архив ZIP;Файл: C:\Users\Anton\ntuser.dat.LOG1 (cHex: 50 4B 3) - Архив ZIP;

(Да-да, при невозможности открытия файла он тупо присваивает ему предыдущий вердикт).

По коду видно, что нигде нет вывода в scanx (результат), а также не может быть выведено чего-либо кроме "Опасных объектов не обнаружено!".

Возвращаясь к ГУИ. Особенно доставляет функция сканирования оперативной памяти:

Private Sub UserControl12_ '566E5C  'Data Table: 422148  loc_566E49: MsgBox("Проверка оперативной памяти уже была запущена на уровне службы " & Chr(34) & "Антивирус Иммунитет" & Chr(34) & ". Повторный запуск невозможен во время выполнения первого.", &H30, "Внимание!", var_E4, var_104)  loc_566E59: Exit SubEnd Sub

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


Ссылка на сообщение
Поделиться на другие сайты
Vad
Бида бида. Если бы он осилил чуть больше, чем эта красивая легенда, то знал бы о чем в статье речь.

2Бабушкин: Срочно три со стены это позорище, лол. Сначала прочти о чем пишут в статье и пойми её смысл.

Так вот откуда эта идея у г-на Бабушкина :facepalm: . Алёша, я знаю, ты читаешь тему :) Тебе опять надо стирать написанное. Речь в твоей ссылке идёт о восстановлении данных, а не об архивации.

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


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

Опечатка. Дроппер не дропается, а запускается.

И кстати, интересно. Почему у него сканирование 64кб ассоциируется с ПОЛНЫМ сканированием файла?:)

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


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

UPD: в конфиге переключатель между частичным и полным сканированием файла ни на что не влияет. Сканирование всегда идет частичное. При этом если сигнатурка ухала на 1 байт от начала файла - она уже не распознается.

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


Ссылка на сообщение
Поделиться на другие сайты
Vad
про то что идею архивации он тоже украл, тоже уже писали в топике ;) ...
...По словам разработчика системы, выпуск первой коммерческой версии "Архиватора Лыщенко 1.0" намечен на середину 2004 года...
Ну раз Лыщенко просрочил с выпуском своего коммерческого архиватора будем ждать Архиватор Бабушкина. А про авторство идеи он (Бабушкин) не заявлял вроде.

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

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

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


Ссылка на сообщение
Поделиться на другие сайты
teaspammer
Опечатка. Дроппер не дропается, а запускается.

И кстати, интересно. Почему у него сканирование 64кб ассоциируется с ПОЛНЫМ сканированием файла?:)

http://stud-forum.ru/catalog.aspx?CatalogI...&DocId=2970

Проверять файлы не по всей структуре, а только по заголовку и точке входа, включая OEP

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


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

Во-первых, OEP не обязана входить в первые 64кб. Оно запросто может быть где-то в конце файла (часто так и бывает).

Во-вторых, она даже эти 64кб толком не сканирует. Он проверяет из них первые 2-4 байта. Хотя считывает из файла действительно 64кб.

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


Ссылка на сообщение
Поделиться на другие сайты
ARCHANGEL
Во-первых, OEP не обязана входить в первые 64кб. Оно запросто может быть где-то в конце файла (часто так и бывает).

Во-вторых, она даже эти 64кб толком не сканирует. Он проверяет из них первые 2-4 байта. Хотя считывает из файла действительно 64кб.

Мы видим это из ваших листингов. Было бы прекрасно, если б описали подробнее начало с дроппером и избавили бы меня от необходимости ресёрча этого куска, тогда я б его скопипастил бы в черновик, и можно было б продолжать.

А так - ну, мы ж уже поняли, что это УГ, а не антивирус, так чему вы удивляетесь? Хотя... я вот несколько раз пересматривал видео с Бабушкиным, и каждый раз удивляюсь, неужели не нашлось кого-то, кто бы подошёл к нему и снисходительно произнёс: "Шарик, ты балбес!".

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


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

Спасибо за ваш анализ, с интересом наблюдаю за темой. Есть предложение, которое должно помочь журналистам разобраться в документе и облегчить написание разоблачительных статей :) Предлагаю в начале документа сделать краткие выводы из анализа, написанные простым языком в формате "<заявленная фича>: <краткий вывод о ее (не)работоспособности>".

Например:

Полное сканирование файлов:Не выполняется. Программа анализирует только несколько байт в начале файла.

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


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

Немного подправленый пример:

Полное сканирование файлов:Не выполняется. Программа анализирует только несколько байт в начале файла. Этого недостаточно для обнаружения вируса в абсолютном большинстве случаев.
Отредактировал spirit

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


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

подскажите Бабушкину: нужно проверять первые два байта на предмет их равности MZ :)

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


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

Флэшка-маркер тоже украдена тынц

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


Ссылка на сообщение
Поделиться на другие сайты
JIghtuse
Флэшка-маркер тоже украдена тынц

:facepalm: просто талант. Я думал, что хоть это на самом деле "изобрёл".

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


Ссылка на сообщение
Поделиться на другие сайты
Раджа
:facepalm: просто талант. Я думал, что хоть это на самом деле "изобрёл".

Дык он же улучшил и расширил. :D У Лёхи оно вроде как на бумаге еще писать собиралось.

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


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

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


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

Фееричный дол***б... Раз у меня скачивает с вирусом, то это все подсунули злые дядьки! А то что у меня с сайта автора, с таким же вердиктом скачивалось никого не волнует.

Троль он какой-то. А может сам Бабушкин.

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


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

Намеренно троллит для трафика на свой блог

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


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

Не знаю, не знаю

Лично для меня - выдвигать себя таким "Пастернака не читал, но осуждаю" было бы западло

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


Ссылка на сообщение
Поделиться на другие сайты
AlexxSun
...... Троль он какой-то. А может сам Бабушкин.

Ну, это вы подзагнули, это точно не Бабушкин. Он в инфе «Обо мне» честно даёт инфу про себя. Просто сочувствующий.

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


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

Этот Иван Шипилов пишет статьи, почитав которые хочется автора кое куда послать если честно! И все больше я думаю что он или пишит их для повышения рейтинга своего сайта или ему проплаченно!

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


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

Да по ссылке прочитайте внимательно:

После того, как встретился с Антоном, мы 3 часа бегали под дождем по Иркутску
Уж не знаю, наверное это везение или сказалась стрессовая ситуация, но вел я машину уверенно как никогда. Мы благополучно добрались до Байкала

Здесь может быть всё намного проще — он может быть лично знаком с сабжем этой темы ))

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


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

Admiral

ты только, что повысил ему цитируемость

Бабушкин - тру металлист

2884231362304668250_1_.jpg

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


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

  • Сообщения

    • 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 может сказаться ?
×