Security runtime что это
По статистике 90% инцидентов безопасности возникают в результате использования злоумышленниками известных программных ошибок. Естественно, что устранение уязвимостей на этапе разработки ПО значительно снижает риски информационной безопасности.
Для этого в помощь разработчикам был создан целый ряд технологий, позволяющих выявлять недостатки безопасности на ранних этапах, избавляясь от них до релиза продукта. К таким технологиям можно отнести:
Основное назначение программы
Sentinel protection installer представляет собой программный комплекс, основной задачей которого является защита программного обеспечения и другой интеллектуальной собственности по средствам аппаратных ключей.
Говоря простыми словами, если вы хоть раз сталкивались с программами, которые работают только со вставленной в USB порт компьютера флешкой (аппаратный ключ защиты), то sentinel protection installer это та программа, которая позволяет этой самой защите работать.
В данный программный комплекс входят:
- Parallel Driver — драйвер виртуализации;
- USB System Driver — драйвер, обеспечивающий обнаружение USB ключей;
- Sentinel Protection Server — модуль сервера защиты;
- Sentinel Keys Server — сервер лицензионных ключей;
- Sentinel Security Runtime — модуль запуска защищенного приложения.
Можно ли ее удалить?
Если у вас нет приложений, использующих защиту Sentinel, то Sentinel protection installer может быть удален. Этим шагом вы сделаете невозможным запуск программ, требующих наличие данной защиты.
Как правило, с проблемой того, что система просит произвести удаление Sentinel Runtime Drivers, сталкиваются пользователи стандартной восьмой версии Windows при попытке апдейта до модификации 8.1.
Посмотрим, для чего это нужно и как произвести подобные операции или обновление в целом с помощью некоторых стандартных методик.
Sentinel Runtime Drivers: как удалить компоненты при помощи официальной утилиты
Наконец, переходим к деинсталляции Sentinel Runtime Drivers. Как удалить их? Проще простого! После загрузки дистрибутива нужно открыть архив и найти в нем файл haspdinst, имеющий расширение .exe и перенести его в корень системного раздела (диск C).
Теперь следует запустить командную строку с правами админа, после чего прописать команду с:haspdinst.exe –purge и нажать клавишу ввода. Заметьте, строку нужно прописать вручную, а не копировать из какого-то текстового фрагмента. В случае копирования с последующей вставкой команда не сработает. Далее остается только дождаться завершения исполнения скрипта, а после этого можно будет совершенно без проблем сделать апгрейд системы до модификации 8.1.
Заключение
Итак, главное выяснили:
- RuntimePack — сборка необходимых компонентов/библиотек для нормальный работы разного софта, включая игры.
- Можно скачать в интернете, есть на многих софт-порталах.
- Советую перед использованием проверить на вирусы, например на сайте VirusTotal.
Удачи и добра, до новых встреч господа!
Откуда программа взялась на компьютере?
Чаще всего она устанавливается вместе с программой, которая работает только через защиту Sentinel. Обычно это какие — то банковские или налоговые приложения, типа клиент — банка и программ отправки налоговых деклараций.
Заключение
Так обстоят дела с компонентами Sentinel Runtime Drivers. Как удалить их, если это действительно нужно, наверняка уже понятно. В принципе, никаких сложностей в процессе использования официальной утилиты возникнуть не должно. Но еще раз хочется подчеркнуть, что, во-первых, запуск командной строки должен производиться исключительно на администраторском уровне, а во-вторых, команда должна вводиться вручную с клавиатуры. В противном случае эффекта она не возымеет. Ну а работа скрипта происходит полностью в автоматическом режиме, так что пользователю останется только сидеть и наблюдать. Как видим, все до неимоверности просто, и особые знания и навыки здесь не потребуются.
Напоследок остается добавить, что удалять эти компоненты в виде системных файлов формата SYS нельзя ни в коем случае, поскольку в этой ситуации система вообще может оказаться совершенно неработоспособной.
Приветствую друзья! Итак, у нас сегодня тема — RuntimePack, моя задача — узнать максимум информации об этой программе и написать все простыми словами, для чего она нужна то! Поехали разбираться))
SAST и DAST
SAST (Static Application Security Testing) — тестирование «белого ящика», существует уже более десяти лет. Позволяет разработчикам находить уязвимости безопасности в исходном коде приложения на ранних этапах жизненного цикла разработки ПО. SAST также обеспечивает соответствие руководствам и стандартам кодирования без фактического выполнения базового кода.
DAST (Dynamic Application Security Testing) — тестирование «черного ящика», может обнаруживать уязвимости и слабые места в работающем приложении, обычно веб-приложениях. Это достигается за счет использования методов внедрения ошибок в приложении, таких как передача вредоносных данных в программное обеспечение, для выявления распространенных уязвимостей безопасности, например, SQL-инъекций и межсайтовых сценариев.
DAST также может пролить свет на проблемы времени выполнения, такие как:
- проблемы аутентификации и конфигурации сервера
- недостатки, видимые только при входе известного пользователя
Обнаружить это с помощью статистического анализа нельзя.
SAST и DAST часто используются в тандеме, так как:
- SAST не будет обнаруживать ошибки времени выполнения
- DAST не будет отмечать ошибки кодирования, по крайней мере, до номера строки кода
SAST хорошо работает, когда дело доходит до обнаружения ошибки в строке кода, например, слабой генерации случайных чисел, но обычно не очень эффективен при обнаружении недостатков потока данных. Кроме того, решения SAST известны большим количеством ложноположительных или ложноотрицательных результатов.
Абстрактная интерпретация
Некоторый успех в уменьшении или полном исключении ложных срабатываний был достигнут с помощью так называемой абстрактной интерпретации. Однако для получения наилучших результатов алгоритмы абстрактной интерпретации должны быть адаптированы к:
- кодам, использующим домен приложения, который включает его архитектуру
- способам использования определенных числовых алгоритмов
- типам структур данных, которыми оно манипулирует
Несмотря на все недостатки SAST, он и по сей день остается фаворитом среди команд разработчиков.
Основной критерий выбора – возможность сканировать проект на уровне кода.
Это позволяет находить недостатки на ранних этапах разработки продукта, что способствует снижению затрат на их устранение.
Более того, SAST можно автоматизировать и прозрачно интегрировать в рабочий процесс проекта. Это устраняет некоторые проблемы, обычно связанные с тестированием приложений на безопасность. Данная особенность сильно контрастирует с DAST, где для крупных проектов придется создавать отдельную инфраструктуру, выполнять специальные тесты и запускать несколько экземпляров приложения параллельно с различными входными данными.
Зато DAST понимает аргументы и вызовы функций, чего не скажешь о SAST.
IAST (Interactive Application Security Testing) — интерактивное тестирование безопасности приложений. SAST и DAST являются относительно старыми технологиями, поэтому бытует мнение, что они не лучший выбор для тестирования современных:
Например, SAST плохо работает с:
А все это присутствует практически в каждом современном приложении.
Аналогично и с фреймворками. Статический инструмент не обнаружит ничего неправильного в:
Все потому, что он не может понять их структуру.
IAST разработан для устранения недостатков SAST и DAST путем объединения элементов обоих подходов. IAST выполняет весь анализ в режиме реального времени:
- в любом месте процесса разработки IDE
- непрерывной интегрированной среде
- производственной среде
Поскольку IAST работает внутри приложения, он может анализировать:
По сравнению с SAST или DAST доступ ко всей этой информации позволяет механизму IAST:
- покрывать больше кода
- выдавать более точные результаты
- проверять более широкий спектр правил безопасности
RASP (Run-time Application Security Protection) — защита безопасности приложений во время выполнения. Как и IAST работает внутри приложения, но это скорее инструмент безопасности, а не тестирования. Он подключается к приложению или его среде выполнения и может контролировать выполнение приложения. Это позволяет RASP защитить приложение, даже если защита периметра сети нарушена, а приложения содержат уязвимости безопасности.
RASP позволяет приложению проводить непрерывные проверки безопасности и отвечать на атаки в реальном времени, завершая сеанс злоумышленника и предупреждая защитников об атаке.
Недостатки RASP
Главная проблема RASP заключается в том, что он может создать у команды разработчиков ощущение ложной безопасности. Некоторые меры безопасности могут игнорироваться по причине, — «Если мы что-то упустим, RASP это исправит».
Еще к недостаткам технологии RASP можно отнести ухудшение производительности приложений. Такой же минус есть и у IAST. Несмотря на то, что с ускорителями технологий можно свести снижение производительности к минимуму, неприятный осадок все равно остается.
У всех вышеперечисленных технологий есть свои достоинства и недостатки, поэтому их комбинация друг с другом обеспечит более высокий уровень безопасности. Однако использование даже одной технологии на ранних этапах разработки позволяет создать более безопасное ПО, а главное сделать это быстрее и с меньшими затратами, чем привязывать все тесты уже столкнувшись с проблемой на поздних этапах.
Хочу поделиться своим опытом успешной сдачи экзамена Certified Kubernetes Security (CKS) от Linux Foundation. Данный экзамен, как нетрудно догадаться, проверяет наши способности настраивать различные аспекты безопасности кластера Kubernetes и приложений, работающих в нем. Экзамен мне понравился, он рассматривает безопасность с различных точек зрения, а также использует очень полезные внешние инструменты, такие как Falco, Trivy, kube-bench, Open Policy Agent, gVisor и др. Сам экзамен мне показался умеренно сложным, в отличие от CKA, который больше ориентирован на новичков в Kubernetes.
Вначале я расскажу в целом об экзамене и подготовке к нему, а затем перейду к темам, затрагиваемым на экзамене.
На текущий момент существует всего два экзамена по безопасности Kubernetes - это, собственно, сам CKS, а также Red Hat Certified Specialist in Security: Containers and OpenShift, имеющий дело с безопасностью OpenShift. Эти два экзамена во многом пересекаются, однако по Опеншифту я считаю экзамен все же сложнее (его я благополучно завалил).
Экзамен отдельно стоит стоит 300$, официальный курс Kubernetes Security Fundamentals (LFS260) стоит 299$, можно купить курс и экзамен вместе за 499$. Я купил курс и экзамен вместе за 199$ на традиционной Cyber Monday распродаже от Linux Foundation.
Необходимым условием для сдачи CKS является наличие действующего сертификата CKA (Certified Kubernetes Administrator). Вы можете купить CKS, но не сможете назначить экзамен, пока не получите CKA. Звучит логично, поскольку экзамен CKS является гораздо более сложным чем CKA.
Но ближе к делу. Для подготовки я использовал два курса:
Официальный курс от Linux Foundation: Kubernetes Security Fundamentals (LFS260). Не хочу ничего плохого говорить о Linux Foundation, но данный курс у них вышел неудачным. Нет внятного объяснения, как работает та или иная технология или фича, сначала несколько общих красивых слов о том, какая это крутая технология, а затем сразу какая-то невнятная лаба в PDF (вы что, серьезно?!), в которой также ничего толком не объясняется. Такое ощущение, что курс делали в последнюю минуту в большой спешке. Притом, что экзамен получился очень даже неплохим.
Экзамен состоит из 15-20 вопросов, продолжительность экзамена ровно 2 часа т.е. в среднем 6-8 минут на каждый вопрос. Это довольно сжатые сроки. Лично я, имея много опыта с Kubernetes и просмотрев два курса и сделав два тестовых экзамена на killer.sh, уложился в 1 час 40 минут.
Проходной балл на экзамене 67%, что на мой взгляд довольно демократично. Экзамен легким не назовешь, но низкий проходной балл видимо призван сгладить этот "недостаток".
В комплекте с экзаменом идет одна бесплатная пересдача. Это очень круто и здорово успокаивает нервы, облегчая подготовку.
Теперь самое интересное - темы экзамена. Официальный список тем можно посмотреть на странице описания CKS. На всякий случай продублирую его здесь:
Список тем экзамена
Cluster Setup (10%)
Use Network security policies to restrict cluster level access
Use CIS benchmark to review the security configuration of Kubernetes components (etcd, kubelet, kubedns, kubeapi)
Properly set up Ingress objects with security control
Protect node metadata and endpoints
Minimize use of, and access to, GUI elements
Verify platform binaries before deploying
Cluster Hardening (15%)
Restrict access to Kubernetes API
Use Role Based Access Controls to minimize exposure
Exercise caution in using service accounts e.g. disable defaults, minimize permissions on newly created ones
Update Kubernetes frequently
System Hardening15%
Minimize host OS footprint (reduce attack surface)
Minimize IAM roles
Minimize external access to the network
Appropriately use kernel hardening tools such as AppArmor, seccomp
Minimize Microservice Vulnerabilities (20%)
Setup appropriate OS level security domains e.g. using PSP, OPA, security contexts
Manage Kubernetes secrets
Use container runtime sandboxes in multi-tenant environments (e.g. gvisor, kata containers)
Implement pod to pod encryption by use of mTLS
Supply Chain Security20%
Minimize base image footprint
Secure your supply chain: whitelist allowed registries, sign and validate images
Use static analysis of user workloads (e.g.Kubernetes resources, Docker files)
Scan images for known vulnerabilities
Monitoring, Logging and Runtime Security20%
Perform behavioral analytics of syscall process and file activities at the host and container level to detect malicious activities
Detect threats within physical infrastructure, apps, networks, data, users and workloads
Detect all phases of attack regardless where it occurs and how it spreads
Perform deep analytical investigation and identification of bad actors within environment
Ensure immutability of containers at runtime
Use Audit Logs to monitor access
Признаться, когда я вначале прочитал данный список, то подумал, что экзамен будет невозможно сдать - слишком много тем и все очень обширные. Но потом подумал, что скорее всего многие темы будут освещены в курсе, а в экзамен не попадут. Примерно так и вышло.
Экзамен реально интересный и при подготовке я узнал много нового. Больше всего мне понравилась тулза под названием Falco от Sysdig. Эта тулза мониторит системные вызовы ядра Linux и поднимает алерты, если обнаруживает подозрительную активность. В комплекте с Falco идет множество полезных предустановленных правил, например:
Запуск привилегированного контейнера или запуск контейнера с hostPID или hostNetwork
Попытка контейнера примонтировать важные хостовые директории через hostPath
Попытка повышения привилегий процессом в контейнере
Попытка процессов читать или писать в важные системные файлы, например в каталоге /etc
Попытка открыть сетевое соединение с IP-адресами не из разрешенного списка
Установка пакетов в контейнере
. и многие другие.
Помимо этого, Falco поддерживает мониторинг аудит логов Kubernetes, позволяя поднимать алерты в случае подозрительной активности на уровне Kubernetes API, например:
Создание привилегированного контейнера или запуск контейнера с hostPID или hostNetwork .
Запуск контейнера не из разрешенного списка имейджей
Запуск подов в неймспейсе kube-system
Создание ClusterRoleBinding с cluster-admin кластер ролью
. и опять же многие другие.
При этом важно обратить внимание, что Falco по факту не может ничего запретить. Это лишь инструмент для анализа аудит логов, т.е. он постфактум дает представление о том, что уже произошло. Тем не менее, Falco оказался действительно очень мощным и полезным инструментом, о котором я не знал до начала подготовки к экзамену.
Если мы хотим иметь больше контроля над изменениями в кластере Kubernetes, при этом стандартного RBAC нам недостаточно, то в курсе описывается еще один инструмент под названием Open Policy Agent (OPA). Этот инструмент позволяет отслеживать соответствие объектов в Kubernetes определенным политикам безопасности, которые описываются на языке описания политик Rego. В Kubernetes он ставится в виде validating admission webhook под названием OPA Gatekeeper. Сами политики описываются в виде Custom Resource Definition. Вот пример политики, которая требует при создании или изменении неймспейса обязательного наличия лейбла costcenter.
При попытке создания неймспейса без лейбла costcenter вылезет ошибка:
Возможности OPA Gatekeeper постоянно расширяются, например он может работать в режиме аудита, т.е. лишь информировать об объектах Kubernetes, которые не соответствуют политике, но не запрещать их создание. Помимо этого, существует возможность переключить Gatekeeper в режим mutating webhook, т.е. автоматически приводить объекты в соответствие политике, например добавлять нужные лэйблы.
Кстати, у языка Rego есть собственный playground, в котором можно потестировать политики. Также, там есть ряд примеров политик для Kubernetes, что очень удобно.
Следующий инструмент, который показался мне полезным, это сканер уязвимостей контейнеров Trivy от Aquasecurity. В принципе, инструмент полезный, вроде как база уязвимостей у него шире, чем у того же Clair, но по большому счету все эти тулзы похожи.
Другие темы экзамена:
Network Policy. Тут все довольно просто, однако нужно знать про один важный нюанс from и to селекторов. В целом проблем с сетевыми политиками возникнуть не должно.
RBAC. Очень важно понимать разницу между Role и ClusterRole , RoleBinding и ClusterRoleBinding . Также надо помнить, что с ClusterRole можно создать ClusterRoleBinding , в этом случае эта роль будет действовать на всем кластере, а можно создать и простой RoleBinding , в таком случае ClusterRole будет действовать только в пределах одного неймспейса (самый частый пример, это кластерные роли admin , edit и view , которые можно давать юзерам на конкретные неймспейсы).
В отличие от этого с Role можно создавать только RoleBinding , то есть простая роль всегда существует и ограничена неймспейсом, в котором она существует. Существование двух ролей с одним именем в двух разных неймспейсах с разными наборами привилегий совершенно легально, хотя вряд ли это можно назвать хорошей практикой.
Также, очень важно понимать, для чего нужны сервисаккаунты, и как можно авторизовываться в кластере с их токеном ("Authorization: Bearer $TOKEN" и все такое).
Аудит логи Kubernetes. Нужно уметь настраивать аудит логи как в связке с Falco, так и простое логирование в файл. Нужно уметь писать политику аудита, также иметь представление о флагах kube-apiserver, которые связаны с настройками аудит логов.
Kube-bench. Нужно уметь пользоваться тулзой и исправлять найденные тулзой потенциальные бреши в безопасности кластера.
Уметь работать с флагами запуска kube-apiserver, kube-scheduler, kube-controller-manager и kubelet. Поскольку в экзамене встречаются только кластеры, созданные с помощью kubeadm, то исправление манифестов не представляет большого труда. Нужно только помнить о том, что если после исправление манифеста, компонент, например kube-apiserver, в течение минуты не запускается, то нужно идти и смотреть логи ( /var/log/pods/* ), т.к. скорее всего допущена опечатка или ошибка в манифесте.
Статический анализ безопасности YAML-манифестов Kubernetes и Докерфайлов. Здесь нужно просто смотреть глазами и находить потенциально небезопасные участки кода, например запуск контейнера от рута, использование секретов, излишние привилегии и др.
AppArmor. Нужно уметь включить профиль AppArmor на ноде и запустить под с данным профилем. Писать профили с нуля уметь не нужно (фух!)
Seccomp. Требования те же, что и с AppArmor.
Запускать поды с альтернативными RuntimeClass, типа gVisor. Знать, как их устанавливать, не нужно.
PodSecurityPolicy (PSP). Нужно помнить, что PSP в большинстве случаев носит запрещающий характер, т.е. может отклонять поды с небезопасными настройками, но также иногда может вносить изменения в настройки подов, например принудительно запускать поды с AppArmor профилями и управлять дефолтными настройками securityContext, например defaultAllowPrivilegeEscalation и defaultAddCapabilities .
Помимо этого, чтобы воспользоваться PodSecurityPolicy нужно дать соответствующему сервисаккаунту право use на эту PSP через роль. Очень легко об этом забыть на экзамене.
Kubernetes Dashboard. Полезно изучить флаги запуска Kubernetes Dashboard, которые имеют отношение к безопасности, например режим авторизации в дашборде.
Во время экзамена можно открывать одну и только одну дополнительную вкладку браузера с документацией (кстати, у меня экзамен не запустился на Chrome, пришлось по просьбе проктора установить Vivaldi). Разрешены следующие ресурсы:
Надеюсь, статья была полезной и поможет вам успешно получить сертификат Certified Kubernetes Security.
Sentinel Protection Installer — установщик драйверов USB/LPT для аппаратных средств защиты в виде ключей Sentinel SuperPro, Sentinel UltraPro и сервера лицензий Sentinel Protection Server, который отвечает за работу ключей в локальных сетях (LAN).
Начиная с версии Sentinel Protection Installer 7.2.2 появилась возможность установки драйверов при инсталляции основной программы.
Данное ПО относится к безопасности и может быть установлено на предприятии, в банковских системах, в финансовых компаниях и т.д. У обычных пользователей данная программа не пользуется спросом.
Данную программу категорически не рекомендуется загружать из непроверенных источников, так как приложение касается безопасности.
Установочное окно инсталлятора, где в меню присутствует возможность выбора дополнительных модулей:
Sentinel System Driver — основные драйвера, устанавливать обязательно. Parallel Driver — драйвер Parallel (имеет отношение к виртуализации). USB System Driver — необходима установка при использовании аппаратных USB-ключей. Sentinel Protection Server — модуль для сервера протекций. Sentinel Keys Server — сервер лицензий, необходим при наличии самого сервера. Sentinel Security Runtime — модуль, необходимый для работы программы. При выборе каждого модуля напротив, в правой части, будет описание (Feature Description). Вышеприведенное изображение — окно Windows XP, что свидетельствует о наличии поддержки данной системы.
Файл Sentinel Protection Installer в папке SHK_Installer представляет из себя ничто иное как установщик ПО:
Удалять его можно в том случае, если вы не собираетесь устанавливать Sentinel Protection Installer.
Данное приложение устанавливает в систему свои службы — Sentinel HASP License Manager, Sentinel Keys Server, Sentinel Protection Server, Sentinel Security Runtime:
Данные службы влияют на работу программы, поэтому отключать их строго не рекомендуется. Возможно наличие и других служб с появлением новой версии ПО.
К данному ПО принадлежит процесс spnsrvnt.exe, возможно процесс одной из служб Sentinel:
Запускается из папки:
C:\Program Files\Common Files\SafeNet Sentinel\Sentinel Protection Server\WinNT
Помимо процесса spnsrvnt.exe также может наблюдаться и PwdGenUtility.exe (возможно относится к генерации ключей):
Опционально может быть установлен модуль Sentinel SuperPro Developer’s Toolkit (инструмент разработчика):
После установки ПО Sentinel Protection в диспетчере устройств появятся новые устройства, среди которых могут быть Universal Serial Bus controllers, SafeNet USB SuperPro/UltraPro:
Данные устройства запрещено отключать, в противном случае стабильная работа будет нарушена.
Cофт
Изучая список установленных программ на своем компьютере, некоторые пользователи сталкиваются с неким приложением под названием Sentinel protection installer. Далеко не всем известно что это за программа и для чего она нужна. Ответы на эти вопросы вы найдете в данной статье и на основании их сможете принять решение об удалении этой программы.
Sentinel Runtime Drivers: проблемы с обновлением Windows 8
Самое печальное состоит в том, что даже при загрузке пакета апдейтов из сервиса «Магазин», который занимает 3,63 Гб, обновление у многих юзеров устанавливаться не хочет.
RuntimePack — что это такое?
Сборка самых необходимых библиотек и компонентов для Windows. То есть это даже не программа, а как бы сборка компонентов, например таких как Microsoft Visual C++, OpenAL, NET Framework, NVIDIA PhysX, DirectX, Java Platform, Microsoft Silverlight, Unity Web Player, Vulkan Runtime и другие.
Зачем нужно? Просто чтобы сэкономить время на установке каждого, можно просто установить все сразу. Нужно, чтобы не было таких ошибок как например нет той DLL-библиотеки или другой, что часто бывает при использовании мультимедийного софта или игр.
Сама сборка существует в двух вариантах — версии Full и Lite. Отличия? Full это все библиотеки, в то время как в версии Lite — Microsoft Visual C++ отсутствует. Версия Lite весит намного меньше.
Простыми словами сборка позволит избавиться от многих ошибок, которые начинаются с.. например с запуск программы невозможен, так как на ПК отсутствует та или иная библиотека..
Устанавливается программа просто — вы скачали, запустили, она все сама сделает, а после — делаете перезагрузку.
Если у вас прога идет как x86/x64, то это означает что она поддерживает как 32-битные операционки, так и 64-битные.
Вот собственно и весь процесс установки:
И таких ошибок, как вы понимаете — может быть много))
Чтобы примерно понимать что входит в пак, то можно глянуть на эту картинку:
И это только маленькая часть того, что содержит в себе пак RuntimePack))
SAST и DAST
SAST (Static Application Security Testing) — тестирование «белого ящика», существует уже более десяти лет. Позволяет разработчикам находить уязвимости безопасности в исходном коде приложения на ранних этапах жизненного цикла разработки ПО. SAST также обеспечивает соответствие руководствам и стандартам кодирования без фактического выполнения базового кода.
DAST (Dynamic Application Security Testing) — тестирование «черного ящика», может обнаруживать уязвимости и слабые места в работающем приложении, обычно веб-приложениях. Это достигается за счет использования методов внедрения ошибок в приложении, таких как передача вредоносных данных в программное обеспечение, для выявления распространенных уязвимостей безопасности, например, SQL-инъекций и межсайтовых сценариев.
DAST также может пролить свет на проблемы времени выполнения, такие как:
- проблемы аутентификации и конфигурации сервера
- недостатки, видимые только при входе известного пользователя
Обнаружить это с помощью статистического анализа нельзя.
SAST и DAST часто используются в тандеме, так как:
- SAST не будет обнаруживать ошибки времени выполнения
- DAST не будет отмечать ошибки кодирования, по крайней мере, до номера строки кода
SAST хорошо работает, когда дело доходит до обнаружения ошибки в строке кода, например, слабой генерации случайных чисел, но обычно не очень эффективен при обнаружении недостатков потока данных. Кроме того, решения SAST известны большим количеством ложноположительных или ложноотрицательных результатов.
Абстрактная интерпретация
Некоторый успех в уменьшении или полном исключении ложных срабатываний был достигнут с помощью так называемой абстрактной интерпретации. Однако для получения наилучших результатов алгоритмы абстрактной интерпретации должны быть адаптированы к:
- кодам, использующим домен приложения, который включает его архитектуру
- способам использования определенных числовых алгоритмов
- типам структур данных, которыми оно манипулирует
Несмотря на все недостатки SAST, он и по сей день остается фаворитом среди команд разработчиков.
Основной критерий выбора – возможность сканировать проект на уровне кода.
Это позволяет находить недостатки на ранних этапах разработки продукта, что способствует снижению затрат на их устранение.
Более того, SAST можно автоматизировать и прозрачно интегрировать в рабочий процесс проекта. Это устраняет некоторые проблемы, обычно связанные с тестированием приложений на безопасность. Данная особенность сильно контрастирует с DAST, где для крупных проектов придется создавать отдельную инфраструктуру, выполнять специальные тесты и запускать несколько экземпляров приложения параллельно с различными входными данными.
Зато DAST понимает аргументы и вызовы функций, чего не скажешь о SAST.
IAST (Interactive Application Security Testing) — интерактивное тестирование безопасности приложений. SAST и DAST являются относительно старыми технологиями, поэтому бытует мнение, что они не лучший выбор для тестирования современных:
Например, SAST плохо работает с:
А все это присутствует практически в каждом современном приложении.
Аналогично и с фреймворками. Статический инструмент не обнаружит ничего неправильного в:
Все потому, что он не может понять их структуру.
IAST разработан для устранения недостатков SAST и DAST путем объединения элементов обоих подходов. IAST выполняет весь анализ в режиме реального времени:
- в любом месте процесса разработки IDE
- непрерывной интегрированной среде
- производственной среде
Поскольку IAST работает внутри приложения, он может анализировать:
По сравнению с SAST или DAST доступ ко всей этой информации позволяет механизму IAST:
- покрывать больше кода
- выдавать более точные результаты
- проверять более широкий спектр правил безопасности
RASP (Run-time Application Security Protection) — защита безопасности приложений во время выполнения. Как и IAST работает внутри приложения, но это скорее инструмент безопасности, а не тестирования. Он подключается к приложению или его среде выполнения и может контролировать выполнение приложения. Это позволяет RASP защитить приложение, даже если защита периметра сети нарушена, а приложения содержат уязвимости безопасности.
RASP позволяет приложению проводить непрерывные проверки безопасности и отвечать на атаки в реальном времени, завершая сеанс злоумышленника и предупреждая защитников об атаке.
Недостатки RASP
Главная проблема RASP заключается в том, что он может создать у команды разработчиков ощущение ложной безопасности. Некоторые меры безопасности могут игнорироваться по причине, — «Если мы что-то упустим, RASP это исправит».
Еще к недостаткам технологии RASP можно отнести ухудшение производительности приложений. Такой же минус есть и у IAST. Несмотря на то, что с ускорителями технологий можно свести снижение производительности к минимуму, неприятный осадок все равно остается.
У всех вышеперечисленных технологий есть свои достоинства и недостатки, поэтому их комбинация друг с другом обеспечит более высокий уровень безопасности. Однако использование даже одной технологии на ранних этапах разработки позволяет создать более безопасное ПО, а главное сделать это быстрее и с меньшими затратами, чем привязывать все тесты уже столкнувшись с проблемой на поздних этапах.
Хочу поделиться своим опытом успешной сдачи экзамена Certified Kubernetes Security (CKS) от Linux Foundation. Данный экзамен, как нетрудно догадаться, проверяет наши способности настраивать различные аспекты безопасности кластера Kubernetes и приложений, работающих в нем. Экзамен мне понравился, он рассматривает безопасность с различных точек зрения, а также использует очень полезные внешние инструменты, такие как Falco, Trivy, kube-bench, Open Policy Agent, gVisor и др. Сам экзамен мне показался умеренно сложным, в отличие от CKA, который больше ориентирован на новичков в Kubernetes.
Вначале я расскажу в целом об экзамене и подготовке к нему, а затем перейду к темам, затрагиваемым на экзамене.
На текущий момент существует всего два экзамена по безопасности Kubernetes - это, собственно, сам CKS, а также Red Hat Certified Specialist in Security: Containers and OpenShift, имеющий дело с безопасностью OpenShift. Эти два экзамена во многом пересекаются, однако по Опеншифту я считаю экзамен все же сложнее (его я благополучно завалил).
Экзамен отдельно стоит стоит 300$, официальный курс Kubernetes Security Fundamentals (LFS260) стоит 299$, можно купить курс и экзамен вместе за 499$. Я купил курс и экзамен вместе за 199$ на традиционной Cyber Monday распродаже от Linux Foundation.
Необходимым условием для сдачи CKS является наличие действующего сертификата CKA (Certified Kubernetes Administrator). Вы можете купить CKS, но не сможете назначить экзамен, пока не получите CKA. Звучит логично, поскольку экзамен CKS является гораздо более сложным чем CKA.
Но ближе к делу. Для подготовки я использовал два курса:
Официальный курс от Linux Foundation: Kubernetes Security Fundamentals (LFS260). Не хочу ничего плохого говорить о Linux Foundation, но данный курс у них вышел неудачным. Нет внятного объяснения, как работает та или иная технология или фича, сначала несколько общих красивых слов о том, какая это крутая технология, а затем сразу какая-то невнятная лаба в PDF (вы что, серьезно?!), в которой также ничего толком не объясняется. Такое ощущение, что курс делали в последнюю минуту в большой спешке. Притом, что экзамен получился очень даже неплохим.
Экзамен состоит из 15-20 вопросов, продолжительность экзамена ровно 2 часа т.е. в среднем 6-8 минут на каждый вопрос. Это довольно сжатые сроки. Лично я, имея много опыта с Kubernetes и просмотрев два курса и сделав два тестовых экзамена на killer.sh, уложился в 1 час 40 минут.
Проходной балл на экзамене 67%, что на мой взгляд довольно демократично. Экзамен легким не назовешь, но низкий проходной балл видимо призван сгладить этот "недостаток".
В комплекте с экзаменом идет одна бесплатная пересдача. Это очень круто и здорово успокаивает нервы, облегчая подготовку.
Теперь самое интересное - темы экзамена. Официальный список тем можно посмотреть на странице описания CKS. На всякий случай продублирую его здесь:
Список тем экзамена
Cluster Setup (10%)
Use Network security policies to restrict cluster level access
Use CIS benchmark to review the security configuration of Kubernetes components (etcd, kubelet, kubedns, kubeapi)
Properly set up Ingress objects with security control
Protect node metadata and endpoints
Minimize use of, and access to, GUI elements
Verify platform binaries before deploying
Cluster Hardening (15%)
Restrict access to Kubernetes API
Use Role Based Access Controls to minimize exposure
Exercise caution in using service accounts e.g. disable defaults, minimize permissions on newly created ones
Update Kubernetes frequently
System Hardening15%
Minimize host OS footprint (reduce attack surface)
Minimize IAM roles
Minimize external access to the network
Appropriately use kernel hardening tools such as AppArmor, seccomp
Minimize Microservice Vulnerabilities (20%)
Setup appropriate OS level security domains e.g. using PSP, OPA, security contexts
Manage Kubernetes secrets
Use container runtime sandboxes in multi-tenant environments (e.g. gvisor, kata containers)
Implement pod to pod encryption by use of mTLS
Supply Chain Security20%
Minimize base image footprint
Secure your supply chain: whitelist allowed registries, sign and validate images
Use static analysis of user workloads (e.g.Kubernetes resources, Docker files)
Scan images for known vulnerabilities
Monitoring, Logging and Runtime Security20%
Perform behavioral analytics of syscall process and file activities at the host and container level to detect malicious activities
Detect threats within physical infrastructure, apps, networks, data, users and workloads
Detect all phases of attack regardless where it occurs and how it spreads
Perform deep analytical investigation and identification of bad actors within environment
Ensure immutability of containers at runtime
Use Audit Logs to monitor access
Признаться, когда я вначале прочитал данный список, то подумал, что экзамен будет невозможно сдать - слишком много тем и все очень обширные. Но потом подумал, что скорее всего многие темы будут освещены в курсе, а в экзамен не попадут. Примерно так и вышло.
Экзамен реально интересный и при подготовке я узнал много нового. Больше всего мне понравилась тулза под названием Falco от Sysdig. Эта тулза мониторит системные вызовы ядра Linux и поднимает алерты, если обнаруживает подозрительную активность. В комплекте с Falco идет множество полезных предустановленных правил, например:
Запуск привилегированного контейнера или запуск контейнера с hostPID или hostNetwork
Попытка контейнера примонтировать важные хостовые директории через hostPath
Попытка повышения привилегий процессом в контейнере
Попытка процессов читать или писать в важные системные файлы, например в каталоге /etc
Попытка открыть сетевое соединение с IP-адресами не из разрешенного списка
Установка пакетов в контейнере
. и многие другие.
Помимо этого, Falco поддерживает мониторинг аудит логов Kubernetes, позволяя поднимать алерты в случае подозрительной активности на уровне Kubernetes API, например:
Создание привилегированного контейнера или запуск контейнера с hostPID или hostNetwork .
Запуск контейнера не из разрешенного списка имейджей
Запуск подов в неймспейсе kube-system
Создание ClusterRoleBinding с cluster-admin кластер ролью
. и опять же многие другие.
При этом важно обратить внимание, что Falco по факту не может ничего запретить. Это лишь инструмент для анализа аудит логов, т.е. он постфактум дает представление о том, что уже произошло. Тем не менее, Falco оказался действительно очень мощным и полезным инструментом, о котором я не знал до начала подготовки к экзамену.
Если мы хотим иметь больше контроля над изменениями в кластере Kubernetes, при этом стандартного RBAC нам недостаточно, то в курсе описывается еще один инструмент под названием Open Policy Agent (OPA). Этот инструмент позволяет отслеживать соответствие объектов в Kubernetes определенным политикам безопасности, которые описываются на языке описания политик Rego. В Kubernetes он ставится в виде validating admission webhook под названием OPA Gatekeeper. Сами политики описываются в виде Custom Resource Definition. Вот пример политики, которая требует при создании или изменении неймспейса обязательного наличия лейбла costcenter.
При попытке создания неймспейса без лейбла costcenter вылезет ошибка:
Возможности OPA Gatekeeper постоянно расширяются, например он может работать в режиме аудита, т.е. лишь информировать об объектах Kubernetes, которые не соответствуют политике, но не запрещать их создание. Помимо этого, существует возможность переключить Gatekeeper в режим mutating webhook, т.е. автоматически приводить объекты в соответствие политике, например добавлять нужные лэйблы.
Кстати, у языка Rego есть собственный playground, в котором можно потестировать политики. Также, там есть ряд примеров политик для Kubernetes, что очень удобно.
Следующий инструмент, который показался мне полезным, это сканер уязвимостей контейнеров Trivy от Aquasecurity. В принципе, инструмент полезный, вроде как база уязвимостей у него шире, чем у того же Clair, но по большому счету все эти тулзы похожи.
Другие темы экзамена:
Network Policy. Тут все довольно просто, однако нужно знать про один важный нюанс from и to селекторов. В целом проблем с сетевыми политиками возникнуть не должно.
RBAC. Очень важно понимать разницу между Role и ClusterRole , RoleBinding и ClusterRoleBinding . Также надо помнить, что с ClusterRole можно создать ClusterRoleBinding , в этом случае эта роль будет действовать на всем кластере, а можно создать и простой RoleBinding , в таком случае ClusterRole будет действовать только в пределах одного неймспейса (самый частый пример, это кластерные роли admin , edit и view , которые можно давать юзерам на конкретные неймспейсы).
В отличие от этого с Role можно создавать только RoleBinding , то есть простая роль всегда существует и ограничена неймспейсом, в котором она существует. Существование двух ролей с одним именем в двух разных неймспейсах с разными наборами привилегий совершенно легально, хотя вряд ли это можно назвать хорошей практикой.
Также, очень важно понимать, для чего нужны сервисаккаунты, и как можно авторизовываться в кластере с их токеном ("Authorization: Bearer $TOKEN" и все такое).
Аудит логи Kubernetes. Нужно уметь настраивать аудит логи как в связке с Falco, так и простое логирование в файл. Нужно уметь писать политику аудита, также иметь представление о флагах kube-apiserver, которые связаны с настройками аудит логов.
Kube-bench. Нужно уметь пользоваться тулзой и исправлять найденные тулзой потенциальные бреши в безопасности кластера.
Уметь работать с флагами запуска kube-apiserver, kube-scheduler, kube-controller-manager и kubelet. Поскольку в экзамене встречаются только кластеры, созданные с помощью kubeadm, то исправление манифестов не представляет большого труда. Нужно только помнить о том, что если после исправление манифеста, компонент, например kube-apiserver, в течение минуты не запускается, то нужно идти и смотреть логи ( /var/log/pods/* ), т.к. скорее всего допущена опечатка или ошибка в манифесте.
Статический анализ безопасности YAML-манифестов Kubernetes и Докерфайлов. Здесь нужно просто смотреть глазами и находить потенциально небезопасные участки кода, например запуск контейнера от рута, использование секретов, излишние привилегии и др.
AppArmor. Нужно уметь включить профиль AppArmor на ноде и запустить под с данным профилем. Писать профили с нуля уметь не нужно (фух!)
Seccomp. Требования те же, что и с AppArmor.
Запускать поды с альтернативными RuntimeClass, типа gVisor. Знать, как их устанавливать, не нужно.
PodSecurityPolicy (PSP). Нужно помнить, что PSP в большинстве случаев носит запрещающий характер, т.е. может отклонять поды с небезопасными настройками, но также иногда может вносить изменения в настройки подов, например принудительно запускать поды с AppArmor профилями и управлять дефолтными настройками securityContext, например defaultAllowPrivilegeEscalation и defaultAddCapabilities .
Помимо этого, чтобы воспользоваться PodSecurityPolicy нужно дать соответствующему сервисаккаунту право use на эту PSP через роль. Очень легко об этом забыть на экзамене.
Kubernetes Dashboard. Полезно изучить флаги запуска Kubernetes Dashboard, которые имеют отношение к безопасности, например режим авторизации в дашборде.
Во время экзамена можно открывать одну и только одну дополнительную вкладку браузера с документацией (кстати, у меня экзамен не запустился на Chrome, пришлось по просьбе проктора установить Vivaldi). Разрешены следующие ресурсы:
Надеюсь, статья была полезной и поможет вам успешно получить сертификат Certified Kubernetes Security.
Sentinel Protection Installer — установщик драйверов USB/LPT для аппаратных средств защиты в виде ключей Sentinel SuperPro, Sentinel UltraPro и сервера лицензий Sentinel Protection Server, который отвечает за работу ключей в локальных сетях (LAN).
Начиная с версии Sentinel Protection Installer 7.2.2 появилась возможность установки драйверов при инсталляции основной программы.
Данное ПО относится к безопасности и может быть установлено на предприятии, в банковских системах, в финансовых компаниях и т.д. У обычных пользователей данная программа не пользуется спросом.
Данную программу категорически не рекомендуется загружать из непроверенных источников, так как приложение касается безопасности.
Установочное окно инсталлятора, где в меню присутствует возможность выбора дополнительных модулей:
Sentinel System Driver — основные драйвера, устанавливать обязательно. Parallel Driver — драйвер Parallel (имеет отношение к виртуализации). USB System Driver — необходима установка при использовании аппаратных USB-ключей. Sentinel Protection Server — модуль для сервера протекций. Sentinel Keys Server — сервер лицензий, необходим при наличии самого сервера. Sentinel Security Runtime — модуль, необходимый для работы программы. При выборе каждого модуля напротив, в правой части, будет описание (Feature Description). Вышеприведенное изображение — окно Windows XP, что свидетельствует о наличии поддержки данной системы.
Файл Sentinel Protection Installer в папке SHK_Installer представляет из себя ничто иное как установщик ПО:
Удалять его можно в том случае, если вы не собираетесь устанавливать Sentinel Protection Installer.
Данное приложение устанавливает в систему свои службы — Sentinel HASP License Manager, Sentinel Keys Server, Sentinel Protection Server, Sentinel Security Runtime:
Данные службы влияют на работу программы, поэтому отключать их строго не рекомендуется. Возможно наличие и других служб с появлением новой версии ПО.
К данному ПО принадлежит процесс spnsrvnt.exe, возможно процесс одной из служб Sentinel:
Запускается из папки:
C:\Program Files\Common Files\SafeNet Sentinel\Sentinel Protection Server\WinNT
Помимо процесса spnsrvnt.exe также может наблюдаться и PwdGenUtility.exe (возможно относится к генерации ключей):
Опционально может быть установлен модуль Sentinel SuperPro Developer’s Toolkit (инструмент разработчика):
После установки ПО Sentinel Protection в диспетчере устройств появятся новые устройства, среди которых могут быть Universal Serial Bus controllers, SafeNet USB SuperPro/UltraPro:
Данные устройства запрещено отключать, в противном случае стабильная работа будет нарушена.
Cофт
Изучая список установленных программ на своем компьютере, некоторые пользователи сталкиваются с неким приложением под названием Sentinel protection installer. Далеко не всем известно что это за программа и для чего она нужна. Ответы на эти вопросы вы найдете в данной статье и на основании их сможете принять решение об удалении этой программы.
Проверка автоматического обновления
В самом простом варианте следует войти в раздел «Центра обновления» и проверить, включен ли автоматический апдейт.
Дело тут в том, что для установки апгрейда до 8.1 сначала нужно установить недостающие обновления. Из-за их отсутствия в «Магазине» ссылка на пакет апгрейда может попросту отсутствовать.
В соответствующем разделе, даже при включенном автоматическом апдейте, нужно задать поиск доступных обновлений в ручном режиме. После того как они будут найдены, следует использовать ссылку, указывающую на доступные важные обновления и кнопку ниже для немедленной установки. По окончании процесса компьютер будет полностью перезагружен, а затем апгрейд пойдет в автоматическом режиме.
Опять же, возможно, система будет перегружена несколько раз.
Тут следует обратить внимание еще и на тот факт, что корпоративные или профессиональные версии «восьмерки», в которых использовался активатор KMS, бесплатный апгрейд не поддерживают. В равной степени это относится и к случаям использования так называемых ключей многократной активации.
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.
Читайте также: