Журнал "Information Security/ Информационная безопасность" #5, 2021

Open Source обладает особыми харак- теристиками. Во-первых, порядок исполь- зования каждого компонента регулиру- ется лицензией, под которой он выпус- кается. Несоблюдение условий и включе- ние в проект Open Source с неприемле- мыми лицензиями могут привести к юри- дическим проблемам, вплоть до невоз- можности распоряжаться собственным продуктом. Во-вторых, сообщества раз- работчиков и исследователей безопас- ности постоянно обнаруживают уязви- мости в компонентах и выкладывают в открытый доступ. В-третьих, некоррект- ное включение открытого кода в проект или же, наоборот, публикация корпора- тивных наработок в Open Source без согласования с юридическим отделом несет в себе целую группу рисков как в правовом поле, так и в техническом. Тем не менее переиспользование кода – де-факто мейнстрим для разра- ботки ПО как для коммерческих, так и для госкомпаний. Выбирать и включать в проекты подходящие компоненты помо- гают качественные инструменты класса Software Composition Analysis (SCA), при этом наиболее глубоко анализировать переиспользование могут SCA с функ- цией поиска и анализа дубликатов. Наверное, многие слышали про такие решения для композиционного анализа на российском рынке, как Checkmarx, JFrog, Snyk, Sonatype, Synopsys, Veraco- de, WhiteSource, а в начале 2021 г. этот список пополнился отечественным реше- нием CodeScoring, которое расширяет функциональность SCA с анализа Open Source до анализа и контроля всех видов переиспользования кода, включая про- приетарный код. CodeScoring использует алгоритмы машинного обучения, обра- ботки искусственных и естественных языков для углубленного анализа пере- использования кода и контроля автор- ства, то есть идентификации непосред- ственно того разработчика, который включил код в проект. Для корпоративного фонда алгоритмов и программ CodeScoring незаменим ввиду расширенного функционала контроля авторства, обнаружения дубликатов и заимствований, определения направления копирования. За счет этих функций проще понять, кто может эффективнее дорабатывать проект и устранять дефекты, прогнозировать объемы требуемых исправлений, контролировать юридическую чистоту. Петербургская команда Profiscope уже много лет специализируется на услугах в области технического аудита программных продуктов, который кри- тически необходим при масштабиро- вании продуктов и в процессе слияний и поглощений. Для автоматизации такого аудита в части лицензионного комплаенса, поиска и анализа дубли- катов кода, анализа качества и автор- ства был создан специализированный тулкит. В его основе – лингвистиче- ские модели, методики оценки каче- ства ПО и специализированные моде- ли машинного обучения, обеспечи- вающие высокий уровень точности проводимого анализа. Задуманный как инструмент для внутреннего поль- зования, тулкит обрастал полезными функциями: l идентификацией известных уязвимо- стей в Open Source; l пользовательским интерфейсом; l интерфейсами для связи с внешними базами и многими другими. Наступил момент, когда стало оче- видно, что получился целостный продукт, по ряду характеристик уже на старте превосходящий ряд известных зарубеж- ных аналогов из класса SCA. Продукт получил название CodeScoring и в начале 2021 г. был представлен на рынке как самостоятельное решение. Продукт позиционируется как Flexible SCA, работает не только с Open Source, но и с проприетарным кодом и позволяет проводить ретроспективный анализ с анализом истории появления проблем. CodeScoring – это комплексное реше- ние для классификации корпоративного фонда алгоритмов и программ, которое в дополнение к традиционному SCA- функционалу для ИБ и юристов покры- вает вопросы качества кода и приносит ценность на всем цикле разработки ПО, от контроля собственной или подрядной разработки до сопровождения. CodeScoring разбирает код на открытый и проприетарный, обнаруживает заимствования как открытого, так и собст- венного кода (утечка интеллектуальной собственности в другие проекты или дуб- ликаты внутри одного проекта). Для открытого кода формируется список Soft- ware Bill of Materials (SBoM), включающий информацию по известным уязвимостям и лицензионным соглашениям исполь- зуемого Open Source, отслеживает соблю- дение лицензионной политики компании и выявляет несовместимые лицензии. CodeScoring определяет не только факт, но и направление заимствований. Кроме кода система анализирует авторский состав и профилирует техническую экс- пертизу исполнителей, что помогает в подборе специалистов с нужными техни- ческими навыками на основе подтвер- жденной компетенции в проект. Рассмотрим, что получают от исполь- зования CodeScoring различные участ- ники процесса разработки. 50 • ТЕХНОЛОГИИ Flexible SCA – это про переиспользование кода о данным аналитиков Forrester 1 , доля компонентов с открытым кодом (Open Source Software) в кодовой базе программных продуктов в 2020 г. составляла в среднем 75%, другие эксперты дают более смелые оценки – до 90%. Стремительно нарастающий объем мирового Open Source вовлекает все новых игроков не только из коммерческого сектора, но и из государственного: переиспользование кода и включение отечественных разработок Open Source в международные проекты стратегически важны на государственном уровне. П Дарья Орешкина, директор по развитию бизнеса компании Web Control 1 Отчет The Forrester Wave™: Software Composition Analysis, Q3 2021, https://www.forrester.com/report/the-forrester-wave-tm- software-composition-analysis-q3-2021/RES176091

RkJQdWJsaXNoZXIy Mzk4NzYw