Как разрабатывать кибериммунные продукты с использованием open source и во что это обходится

Использование библиотек с открытым исходным кодом в ОС для тонких клиентов: этапы, подводные камни, решения

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

Использование в таких случаях ПО с открытым исходным кодом — общепринятый подход к разработке программных продуктов. Согласно исследованию компании Synopsys за 2022, в выборке из более чем 1700 приложений, большая часть из них (96%) содержит open source. Средняя доля такого кода в общей кодовой базе приложений при этом составляет 76%.

Казалось бы, от open source одни плюсы. Берешь код c подходящей лицензией, портируешь его на нужную платформу, кастомизируешь под особенности конкретной задачи, тестируешь — и готово. Однако использование ПО с открытым исходным кодом несет риски. Оно может содержать случайные или намеренные уязвимости, а также вредоносный код.

Особенно критична проблема доверия к open source, когда речь идет о продуктах с повышенными требованиями к безопасности. В таком случае требуются дополнительные усилия для проверки и анализа кода. Мы в «Лаборатории Касперского» открыли первый в России сервис по отслеживанию закладок и уязвимостей в open source — Kaspersky Open Source Software Threats Data Fee. На конец 2022 года в нем содержалась информация о трех тысячах уязвимых и вредоносных пакетов, содержащихся в популярных репозиториях. Среди обнаруженных уязвимостей, около 35% имеют высокий, а 10% — критический уровень опасности.

Стороннее ПО в решениях на базе KasperskyOS

Кибериммунный подход словно создан для решения проблемы использования кода, качество которого нельзя гарантировать. А KasperskyOS — это идеальная платформа для реализации этого подхода. Микроядерная операционная система позволяет из самых разных кирпичиков создать кибериммунное в целом решение. Это возможно благодаря принципам изоляции и контроля взаимодействий в KasperskyOS. Разумеется, при разработке кибериммунного решения необходимо следовать особой методологии: сформулировать цели и предположения безопасности, правильно подойти к дизайну архитектуры, использовать определенные SDL-практики и применять разные методики тестирования.

Все подробности процесса кибериммунизации лучше всего раскрывает статья «Как мы сделали кибериммунный продукт с использованием опенсорсной библиотеки: этапы, подводные камни, решения». В статье Сергей Яковлев, руководитель группы разработки тонкого клиента на базе KasperskyOS, в подробностях рассказывает, как использовались open source компоненты при создании реального коммерческого продукта со свойством кибериммунности и что потребовалось в них изменить.

Во что обходится портирование open source под KasperskyOS

Делать это достаточно просто благодаря частичной POSIX-совместимости KasperskyOS. В статье рассказывается о процессе портирования в операционную систему для тонких клиентов библиотеки FreeRDP. Это свободная реализация RDP-клиента — компонента для подключения к удаленным рабочим столам по протоколу Remote Desktop от Microsoft. Несмотря на довольно большой объем библиотеки — примерно 400 тысяч строк кода — изменений потребовалось немного. Пришлось добавить некоторые функции, убрать не поддерживаемые, например fork(). Были протестированы почти все функции, найдены и устранены некоторые дефекты. Всего было внесено около 30 коммитов, что, согласитесь, немного.

Рекомендуем статью «Как мы сделали кибериммунный продукт с использованием опенсорсной библиотеки: этапы, подводные камни, решения» всем, кто интересуется подробностями кибериммунной разработки.

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

Использование в таких случаях ПО с открытым исходным кодом — общепринятый подход к разработке программных продуктов. Согласно исследованию компании Synopsys за 2022, в выборке из более чем 1700 приложений, большая часть из них (96%) содержит open source. Средняя доля такого кода в общей кодовой базе приложений при этом составляет 76%.

Казалось бы, от open source одни плюсы. Берешь код c подходящей лицензией, портируешь его на нужную платформу, кастомизируешь под особенности конкретной задачи, тестируешь — и готово. Однако использование ПО с открытым исходным кодом несет риски. Оно может содержать случайные или намеренные уязвимости, а также вредоносный код.

Особенно критична проблема доверия к open source, когда речь идет о продуктах с повышенными требованиями к безопасности. В таком случае требуются дополнительные усилия для проверки и анализа кода. Мы в «Лаборатории Касперского» открыли первый в России сервис по отслеживанию закладок и уязвимостей в open source — Kaspersky Open Source Software Threats Data Fee. На конец 2022 года в нем содержалась информация о трех тысячах уязвимых и вредоносных пакетов, содержащихся в популярных репозиториях. Среди обнаруженных уязвимостей, около 35% имеют высокий, а 10% — критический уровень опасности.

Стороннее ПО в решениях на базе KasperskyOS

Кибериммунный подход словно создан для решения проблемы использования кода, качество которого нельзя гарантировать. А KasperskyOS — это идеальная платформа для реализации этого подхода. Микроядерная операционная система позволяет из самых разных кирпичиков создать кибериммунное в целом решение. Это возможно благодаря принципам изоляции и контроля взаимодействий в KasperskyOS. Разумеется, при разработке кибериммунного решения необходимо следовать особой методологии: сформулировать цели и предположения безопасности, правильно подойти к дизайну архитектуры, использовать определенные SDL-практики и применять разные методики тестирования.

Все подробности процесса кибериммунизации лучше всего раскрывает статья «Как мы сделали кибериммунный продукт с использованием опенсорсной библиотеки: этапы, подводные камни, решения». В статье Сергей Яковлев, руководитель группы разработки тонкого клиента на базе KasperskyOS, в подробностях рассказывает, как использовались open source компоненты при создании реального коммерческого продукта со свойством кибериммунности и что потребовалось в них изменить.

Во что обходится портирование open source под KasperskyOS

Делать это достаточно просто благодаря частичной POSIX-совместимости KasperskyOS. В статье рассказывается о процессе портирования в операционную систему для тонких клиентов библиотеки FreeRDP. Это свободная реализация RDP-клиента — компонента для подключения к удаленным рабочим столам по протоколу Remote Desktop от Microsoft. Несмотря на довольно большой объем библиотеки — примерно 400 тысяч строк кода — изменений потребовалось немного. Пришлось добавить некоторые функции, убрать не поддерживаемые, например fork(). Были протестированы почти все функции, найдены и устранены некоторые дефекты. Всего было внесено около 30 коммитов, что, согласитесь, немного.

Рекомендуем статью «Как мы сделали кибериммунный продукт с использованием опенсорсной библиотеки: этапы, подводные камни, решения» всем, кто интересуется подробностями кибериммунной разработки.

Консультация по решению

Остались вопросы или требуется дополнительная информация по решению? Оставьте заявку на консультацию, и мы с вами свяжемся!

Задать вопрос

Отвечаем на самые популярные вопросы о KasperskyOS и решениях на ее основе

Перейти в FAQ