SOT

Security Orchestration Tools

SIEM
Security Information and Event Management

Мониторинг событий ИБ

EDR
Endpoint Detection and Response

Защита конечных точек

SOAR
Security Orchestration, Automation and Response

Автоматизация реагирования на инциденты ИБ

NG SOAR
Next Generation SOAR

Автоматизация реагирования на инциденты ИБ со встроенной базовой корреляцией, сбором сырых событий непосредственно с СЗИ, динамическими плейбуками, выстраиванием цепочки атаки и объектно-ориентированным подходом

AM
Asset Management

Инвентаризация и управление ИТ-активами

VM
Vulnerability Management

Устранение уязвимостей с автопатчингом

VS
Vulnerability Scanner

Поиск технических уязвимостей на активах

SPC
Security Profile Compliance

Управление конфигурациями безопасности активов

ГосСОПКА
Государственная Система Обнаружения Предупреждения и Ликвидации Последствий Компьютерных Атак

Двустороннее взаимодействие с НКЦКИ

FinCERT
Financial Computer Emergency Response Team

Двустороннее взаимодействие с ЦБ

Напишите нам на sales@securityvision.ru или закажите демонстрацию

Открытый и закрытый исходный код, различные типы лицензий и их влияние на кибербезопасность

Открытый и закрытый исходный код, различные типы лицензий и их влияние на кибербезопасность

Руслан Рахметов, Security Vision

 

Импортозамещение часто ассоциируют с переходом не только на отечественный софт, но и на Open Source решения, при этом компании сталкиваются с выбором между свободным и проприетарным ПО, между различными типами лицензий и моделями предоставления ПО. Существуют полярные мнения: некоторые считают, что проприетарное ПО в силу закрытости кода более надежно, а коммерческий платный софт более надежен, чем свободно распространяемое ПО, но энтузиасты Open Source уверены ровно в противоположном. Специалистам по кибербезопасности часто приходится управлять соответствующими юридическими рисками и рисками информационных систем и делать выбор между различными типами ПО и видами лицензий, учитывая долгосрочное влияние этого выбора на ИТ-инфраструктуру и поверхность атаки компании. В данной статье мы обсудим различные типы ПО и лицензий, а также оценим их влияние на кибербезопасность.

 

Начнем с базовой классификации типов ПО по назначению:

  • Системное (общее) ПО: управляет взаимодействием прикладного программного обеспечения с аппаратным обеспечением устройства и обеспечивает работу прикладного ПО. Примерами системного ПО будут операционные системы (ОС), драйверы устройств, утилиты ОС, микропрограммы (прошивки) устройства, системы управления базами данных (СУБД), средства разработки ПО, а также средства защиты информации.

  • Прикладное (специальное) ПО: выполняет бизнес-задачи посредством взаимодействия с пользователями. Примерами прикладного ПО будут различные офисные приложения (почтовые клиенты, редакторы документов и таблиц), средства совместной работы, мессенджеры, браузеры, бизнес-приложения (ERP, HRM, CRM системы и т.д.).

 

По способу приобретения, использования и распространения ПО можно разделить на следующие типы:


1. Свободное и открытое программное обеспечение (англ. FOSS, Free and open-source software)


1.1. Свободное ПО

Свободное ПО - это софт, который распространяется на условиях, позволяющих пользователям эксплуатировать его в любых целях. В английской интерпретации такой тип ПО называется Free software или Libre software - второе название подчеркивает не бесплатное его распространение, а именно свободу пользователя распоряжаться своей копией как угодно, вне зависимости от цены, которую он заплатил за такое ПО. Программа считается свободной, если она буквально "уважает" свободы пользователя, а именно предоставляет ему 4 права:

  • Исполнять (запускать) программу в любых целях;

  • Изучать работу программы и изменять (модифицировать) её так, чтобы она соответствовала специфическим требованиям пользователя;

  • Распространять копии исходной программы;

  • Распространять копии модифицированной пользователем программы.

 

Идеология свободного ПО подразумевает, что оно может быть коммерческим, поддерживается и стремление коммерческих компаний по оказанию платной профессиональной технической поддержки свободного ПО. Продажа свободного ПО (и исходного, и модифицированного) также поддерживается, при этом подчеркивается, что если лицензия на ПО запрещает пользователям делать копии программы и продавать их, то такая лицензия (и программа) не является свободной. При работе со свободным ПО важно учитывать и юридические правила: была разработана концепция «копилефт» (англ. Copyleft, буквально «авторское лево») в противовес привычного всем «копирайта» (англ. Copyright, авторское право), которая подразумевает, что разработчик программы официально признаёт её свободной и требует, чтобы все модифицированные и расширенные её версии также были свободными. Кроме копилефт-лицензий есть и более либеральные системы лицензирования - например, «разрешительная лицензия» (permissive software license) не требует, чтобы модифицированные версии программы были свободными, при этом должна сохранятся информация о разработчике оригинала с указанием авторских прав, а лицензия типа «общественное достояние» (public domain) не предусматривает оформление и защиту авторских прав вообще.

 

Американская некоммерческая организация «Фонд свободного программного обеспечения» (англ. Free Software Foundation, сокращенно FSF), основанная в 1985 году идеологом свободного софта Ричардом Столлманом, подчеркивает, что у авторов свободных программ есть юридические способы защиты от попыток недобросовестных игроков сделать его программу закрытой - фактически, присвоить себе программу, например, с целью дальнейшей продажи без указания авторства. Одним из таких способов является использование лицензии GPL (GNU General Public License) версии 3 - это копилефт-лицензия, которая юридически защищает свободное ПО от попыток наложить дополнительные ограничения на программу и превратить её в проприетарную. Версия GPL v3 была выпущена в 2007 году, а Ричард Столлман указывал, что с её выходом будет урегулирована некорректная практика использования ПО с лицензией GPL старых версий в некоторых устройствах, разработчики которых запрещают пользователям изменять и запускать модифицированные версии ПО. Члены FSF до сих пор внимательно относятся к свободам пользователей конечных устройств - например, недавно был анонсирован проект Librephone, в рамках которого планируется разработать ОС для смартфонов на базе Linux, которую будет поддерживать сообщество свободного ПО.

 

1.2. Открытое ПО

Открытое программное обеспечение (англ. Open Source) поставляется вместе с исходными текстами программ и должно соответствовать ряду критериев:

  • распространение и продажа программ не ограничивается;

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

  • разрешается распространение модифицированных версий программы с сохранением условий Open Source-лицензии оригинальной версии программы;

  • запрещается дискриминация людей, групп, отраслей и направлений бизнеса, права на программу в соответствии с Open Source-лицензией передаются вместе с передачей программы, а лицензия не должна быть привязана к конкретной реализации, не должна запрещать совместное использование с программами с другими типами лицензий и должна быть технологически-нейтральной.

 

Таким образом, открытое ПО имеет много общего со свободным ПО - например, концепция свободного ПО требует, чтобы программу можно было изменять и распространять её модифицированные копии, для чего требуется доступ к исходному коду, поэтому большинство Open Source программ являются также и свободными программами. Однако у данных двух подходов есть определенные идеологические отличия, которые подчеркивает Ричард Столлман.

 

Open Source Initiative является американской коммерческой организацией, основанной в 1998 году для поддержки разработчиков и продвижения открытого ПО. На сайте Open Source Initiative приведен список различных типов Open Source-лицензий - в частности, там присутствуют такие популярные лицензии, как:

 

2. Проприетарное ПО


Противоположностью свободному ПО является проприетарное ПО, в котором правообладатель (автор, разработчик) сохраняет за собой все права на ПО и запрещает конечным пользователям распространять и модифицировать его. У проприетарного ПО может быть как закрытый исходный код (closed-source software), так и доступный исходный код (source-available software), что, однако, не делает его софтом с открытым исходным кодом (Open Source). Кроме того, проприетарное ПО может быть как платным (коммерческим), так и бесплатным (freeware).


Примерами моделей монетизации платного ПО могут быть:

  • коммерческое ПО (COTS/MOTS, поговорим о нём далее);

  • Adware - программа бесплатна, но пользователи видят рекламу, доход от показа которой идёт разработчику;

  • Donationware - программа бесплатна, но разработчик предлагает пользователям сделать ему добровольное пожертвование (донат);

  • Shareware - условно-бесплатное ПО, которое либо работает в течение определенного времени (trial, триал), а потом требует приобретения, либо отображает пользователю навязчивые сообщения (nags, наги) о необходимости купить программу. Сюда же можно отнести ПО, распространяемое по модели Freemium, в котором бесплатен только базовый функционал, а продвинутые возможности доступны уже после оплаты.

 

3. Готовое коммерческое программное обеспечение (англ. COTS, Commercial-off-the-Shelf)


Коммерческое ПО, доступное для покупки широкому кругу бизнес-пользователей, подразумевает «коробочное» исполнение (без кастомных модулей), внедрять и настраивать которое может либо сам покупатель, либо интегратор (партнер производителя), при этом для ПО обеспечивается техническая поддержка от производителя. Большинство программных продуктов на рынке - это именно COTS-решения, однако, если речь идёт о разработке или доработке решения на заказ (кастомизация от производителя), то будет использоваться уже другой термин - MOTS (Modified Off-The-Shelf, модифицированное производителем ПО), иногда встречается термин bespoke software (буквально - сделанное на заказ ПО).

 

Рассматривая различные типы ПО и СЗИ, которые планируется внедрять в компании, специалисту по ИБ нужно учитывать ряд аспектов:


1) Обязательно нужно следить за лицензионной чистотой используемого ПО и СЗИ. Например, лицензия может запрещать использование ПО/СЗИ в интересах третьих лиц, поэтому в холдинговой структуре будет юридически некорректно использовать продукт (скажем, SIEM) для защиты дочерних компаний. Аналогичные сложности могут возникнуть и в случае необходимости установки какого-либо ПО на устройство, которое не принадлежит компании - скажем, на личный смартфон руководителя или на ноутбук, стоящий на балансе другого юридического лица.


2) Сложившееся мнение о высокой безопасности Open Source решений по сравнению с проприетарным ПО связано с распространенностью программ этих типов. Например, Microsoft выпускает массу многофункциональных коммерческих решений, которые эксплуатируются в крупных компаниях по всему миру и этим привлекают злоумышленников, регулярно находящих опасные уязвимости в них; с другой стороны ОС семейства BSD (FreeBSD, NetBSD, OpenBSD) достаточно компактны и выполняют базовый набор функций, а их относительно небольшая распространенность (по сравнению с теми же ОС Windows) снижает интерес атакующих к ним. Несмотря на то, что уязвимостей в продуктах Microsoft было найдено на порядки больше, чем в BSD, сложно однозначно утверждать, что BSD ОС лучше написаны и более безопасны - если они станут такими же популярными, как Windows, то станут такой же мишенью для хакеров.


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


4) Управление уязвимостями может быть нетривиальным при работе с Open Source: необходимость следить за уязвимостями в upstream-пакетах, различные модули и компоненты, многообразие версий и типов ОС, высокие требования к экспертизе Linux-администраторов могут осложнить оперативное выявление и устранение уязвимостей и ошибок.


5) Зависимость крупномасштабных Open Source продуктов от кода, который пишут никем не контролируемые энтузиасты, также является вызовом. С одной стороны, многие атакующие нацелены на популярные GitHub-проекты, получив доступ к которым можно внести широкомасштабные вредоносные изменения - для этого взламывают аккаунты разработчиков или пытаются получить права на внесение изменений за счет социальной инженерии (например, представляясь готовым помочь энтузиастом). С другой стороны, сами разработчики могут нарушить правила Open Source сообщества об отсутствии дискриминации и внедрить деструктивные возможности в проект из-за хактивизма - так случилось в 2022 году с популярным npm-пакетом node-ipc, в который автор внес деструктивный функционал, атаковавший российских и белорусских пользователей.


6) Злоумышленники пользуются неразберихой и быстрыми изменениями в Open Source сообществе - например, используют технику typosquatting для создания поддельных вредоносных пакетов, имена которых похожи на оригинальные, и атакуют пользователей, допускающих опечатки при поиске.


7) Атаки на цепочки поставок стали большой сложностью в мире ИБ, и Open Source страдает от них в большой степени. Например, в 2024 году атакующие внедрили бэкдор в утилиту для сжатия данных XZ, которая входит в состав большинства дистрибутивов Linux - их действия были обнаружены, но в случае успеха атаки они получили бы несанкционированный удаленный доступ к миллионам инсталляций.


8) Отсутствие технической поддержки некоторых Open Source продуктов тоже может отпугнуть те компании, у которых в штате нет сильного Linux-администратора, который способен самостоятельно решить проблему. С учетом дефицита опытных специалистов, возможны сложности с поиском и удержанием такого эксперта.


9) Вместе с описанными особенностями решений класса Open Source нельзя забывать и про недостатки некоторых проприетарных решений с закрытым кодом, разработчики которых оперируют ложным принципом «Безопасность через неясность» (англ. Security through obscurity) и надеются, что закрытый исходный код поможет защитить продукт от эксплуатации уязвимостей в нём.

ИБ для начинающих СЗИ Low code No code ИБ

Похожие статьи

CyBOK. Глава 3. Законы и регуляторные нормы. Часть 4
CyBOK. Глава 3. Законы и регуляторные нормы. Часть 4
Как работает сетевое сканирование
Как работает сетевое сканирование
CyBOK. Глава 3. Законы и регуляторные нормы. Часть 3
CyBOK. Глава 3. Законы и регуляторные нормы. Часть 3
Что такое SQL-инъекция
Что такое SQL-инъекция
Эволюция CVSS и разбор примера оценки уязвимости
Эволюция CVSS и разбор примера оценки уязвимости
CVSS: система оценки уязвимостей - что это такое и как использовать калькулятор
CVSS: система оценки уязвимостей - что это такое и как использовать калькулятор
LLM в кибербезопасности: большие языковые модели, SOC-ассистенты, LLM-агенты и применение в ИБ
LLM в кибербезопасности: большие языковые модели, SOC-ассистенты, LLM-агенты и применение в ИБ
No-code-разработка и ML-помощники – инструменты аналитиков SOC нового поколения
No-code-разработка и ML-помощники – инструменты аналитиков SOC нового поколения
Что такое киберинцидент — простыми словами о сложной угрозе
Что такое киберинцидент — простыми словами о сложной угрозе
Возможности новой версии продукта Security Vision VM
Возможности новой версии продукта Security Vision VM
DMA-атака и защита от нее
DMA-атака и защита от нее

Похожие статьи

CyBOK. Глава 3. Законы и регуляторные нормы. Часть 4
CyBOK. Глава 3. Законы и регуляторные нормы. Часть 4
Как работает сетевое сканирование
Как работает сетевое сканирование
CyBOK. Глава 3. Законы и регуляторные нормы. Часть 3
CyBOK. Глава 3. Законы и регуляторные нормы. Часть 3
Что такое SQL-инъекция
Что такое SQL-инъекция
Эволюция CVSS и разбор примера оценки уязвимости
Эволюция CVSS и разбор примера оценки уязвимости
CVSS: система оценки уязвимостей - что это такое и как использовать калькулятор
CVSS: система оценки уязвимостей - что это такое и как использовать калькулятор
LLM в кибербезопасности: большие языковые модели, SOC-ассистенты, LLM-агенты и применение в ИБ
LLM в кибербезопасности: большие языковые модели, SOC-ассистенты, LLM-агенты и применение в ИБ
No-code-разработка и ML-помощники – инструменты аналитиков SOC нового поколения
No-code-разработка и ML-помощники – инструменты аналитиков SOC нового поколения
Что такое киберинцидент — простыми словами о сложной угрозе
Что такое киберинцидент — простыми словами о сложной угрозе
Возможности новой версии продукта Security Vision VM
Возможности новой версии продукта Security Vision VM
DMA-атака и защита от нее
DMA-атака и защита от нее