Прозрачное программное обеспечение
Приветствую, уважаемые читатели!
Не так давно закончил перевод книги «Прозрачное программное обеспечение». Лично от себя могу в целом резюмировать, что книга интересная и выстроена достаточно грамотным образом. Местами встречаются сложные речевые обороты, перегруженные расшифровкой аббревиатур фреймворков и организаций, но углублённое раскрытие темы того требует. Думаю, для литературы подобного плана это вполне нормально. В остальном же очень много полезной информации для профильных специалистов и тех, кому актуально быть в курсе передовых тенденций защиты ПО. Ну и далее я в общих чертах передам содержание с фрагментами текста и сопутствующими схемами, чтобы вы могли сформировать представление о книге и её ценности конкретно для вас.
Посвящена книга одному из фундаментальных и важнейших аспектов современного мира программного обеспечения — его безопасности. И акцент в ней сделан не столько на ее общих принципах, сколько на защите цепочек поставок ПО, которые в последние годы стали одним из излюбленных векторов атаки среди злоумышленников. Чего стоит один только инцидент с SolarWinds 2019 года, названный Счетной палатой США одной из наиболее широкомасштабных хакерских кампаний против правительства и частного сектора за всю историю. Или же случай с уязвимостью Log4j в декабре 2021 года, когда вопреки умеренной сложности устранения самой этой уязвимости, основная проблема заключалась в ее локализации.
К слову, атака на SolarWinds стала образцовым случаем нападения на цепочку поставок ПО, поскольку хакеров интересовала не столько сама платформа SolarWinds, сколько ее клиенты и нижестоящие потребители. И подобные случаи, когда взлом вышестоящей компании ведет к нападениям на ее клиентов, сегодня не редкость.
Согласно прогнозу Gartner, лидера индустрии в сфере технологических исследований, к 2025 году жертвами атак на цепочки поставок станут около 45% организаций. Однако эта оценка может быть занижена. Например, компания Sonatype в 2022 году опубликовала отчет, в котором указывает, что за предыдущие три года число подобных атак увеличилось на 742%.
Все это говорит о растущей важности защиты цепочек поставок ПО. Но каким образом, и какие передовые решения для этого существуют? Об этом и пойдет речь на протяжении 300+ страниц книги. В текущей же статье мы вкратце познакомим вас с ее содержанием.
Крис Хьюз — сооснователь и начальник управления ИБ компании Aquia. Более 20 лет посвятил сфере информационных технологий и кибербезопасности, включая военную службу в ВВС США, гражданскую службу в ВМС США и Администрации общих служб США/Федеральной программе управления рисками. На данный момент он преподает магистерскую программу по кибербезопасности в Капитолийском технологическом университете и Университете Мэриленда, состоит в рабочих группах Cloud Security Alliances Incident Response и SaaS Security Working Group, параллельно занимая должность председателя в Cloud Security Alliance D.C. Помимо всего перечисленного, Крис также ведет подкаст Resilient Cyber.
За время своей карьеры он получил целый ряд профессиональных сертификатов: CISSP/CCSP, выданные международной некоммерческой организацией (ISC), сертификаты безопасности AWS и Azure, а также сертификат CCAK от Cloud Security Alliance. Являясь авторитетным специалистом, Крис регулярно консультирует руководителей из различных индустрий по вопросам IT и кибербезопасности, помогая их организациям трансформировать свое цифровое пространство с сохранением акцента на безопасности. В добавок к этому, он написал немало статей и заметок на тему защиты цепочек поставок ПО, а также выступал на различных мероприятиях, включая DevSecOps Days, проводимое Университетом Карнеги — Меллона в Вашингтоне, округ Колумбия.
Тони Тернер — основатель и генеральный директор компании Opswright, специализирующейся на проектировании систем безопасности для критической инфраструктуры. За более чем 25 лет работы в сфере кибербезопасности Тони обрел опыт в качестве инженера внутренней безопасности, разработчика, системного администратора, консультанта по безопасности, архитектора ПО и управляющего профессиональными сервисами для поставщиков систем безопасности. На сегодняшний день он занимает должность вице-президента отдела исследований и разработки в команде Fortress Labs компании Fortress Information Security, где руководит разработкой плана по обеспечению прозрачности ПО и управлению уязвимостями. При этом он также ведет проекта по документированию брандмауэров веб-приложений (WAFEC) и является соорганизатором конференции Security BSides в Орландо. Тони состоит во многих торговых организациях и промышленных группах, включая MITRE, ISA, OWASP, CISA, GlobalPlatform и других, сосредоточенных на темах прозрачности ПО и безопасности программных продуктов в критических инфраструктурах.
За время своей карьеры он получил несколько профессиональных сертификатов, включая CISSP, CISA, шесть сертификатов от SANS/GIAC, OPSE, CSTP и CSWAE, а также множество сертификатов от компаний-вендоров вроде F5, Imperva и др.
Кроме того, он участвовал в составлении сертификационных экзаменов GIAC и F5 ASM по брандмауэрам веб-приложений и написал курс по защите цепочек поставок продуктов для SANS, вышедший в 2023 году.
Подробнее о книге
Вводная часть и традиционные методы защиты
Как уже говорилось, книга посвящена защите цепочек поставок ПО, и для максимального погружения читателя в тему, начинается она с истории возникновения соответствующих угроз, освещая стоящие за ними мотивы злоумышленников и анатомию самих атак. Вся изложенная в этой части теория также подкрепляется реальными примерами из жизни, включая инциденты с SolarWinds, Log4j и Kaseya.
Далее в ней разбираются традиционные подходы к обеспечению безопасности ПО, такие как модели управление рисками, защита с помощью хеширования и цифровых подписей, базы данных уязвимостей, а также методы оценки уязвимостей и не только.
Модели зрелости безопасности приложений
Как и анализ SDL, рассмотрение таких моделей, как Building Security in Maturity Model (BSIMM) или Software Assurance Maturity Model (SAMM), может оказаться очень эффективным способом оценки зрелости используемого поставщиком ПО. SDL, естественно, является частью этого подхода, но будет нелишним взглянуть на одну из следующих моделей, например OWASP SAMM, также известную в прежних версиях как OpenSAMM.

Рис. 2.1
Global Security Database
Несмотря на широкое распространение программы CVE, многие указали на существующие в ней проблемы, связанные с применяемым подходом и невозможностью адаптироваться к быстро меняющейся технологической среде. С развитием индустрии облачных вычислений появились такие авторитетные лидеры, как Cloud Security Alliance (CSA), предлагающие необходимые руководства и проводящие передовые исследования. Одним из значимых достижений CSA стало создание базы данных GSD, представляющей собой современный подход к актуальным вызовам. CSA называет CVE устаревшим решением, неспособным удовлетворить потребности современного сложного IT-ландшафта. Инициаторами проекта стали Джош Брессерс и Курт Сейфрид, обладающие обширным опытом в области идентификации и управления уязвимостями в компании Red Hat, а Курт даже был членом коллегии CVE.
Опорный принцип прозрачности в разных сферах ПО
Столпом книги, как и основным инструментом повышения прозрачности ПО, выступает концепция SBOM (Software Bill of Materials, перечень программных компонентов и их зависимостей). Помимо освещения истории ее зарождения и развития, авторы рассказывают о государственных и промышленных организациях, а также инициативах, продвигавших внедрение SBOM.
Не обошлось на пути повышения прозрачности ПО и без сложностей, связанных с особенностями открытого и проприетарного кода, встраиваемого ПО и различных внутренних интересов компаний. Всем этим вопросам, включая устаревшее и пользовательское ПО, а также SBOM для устройств, посвящена отдельная глава.

Табл. 4.1
Все мы прекрасно осознаём, что современный мир ПО уже сложно представить без облачных технологий и контейнеризации. И в этой сфере также стоит актуальный вопрос обеспечения прозрачности, решение которого сопряжено со своими специфическими сложностями, в том числе, в сегменте предоставления ПО как услуги. (SaaS). Осознавая важность этой темы, авторы структурированно описывают наиболее актуальные ее аспекты, такие как технология Kubernetes, бессерверные модели, принцип SaaSBOM, продвинутый стандарт CycloneX SaaSBOM, в том числе применение этих идей в сфере DevOps и DevSecOps.

Рис. 6.5
Актуальные рекомендации для государственного и частного секторов
Осветив основные теоретические аспекты области прозрачности и представив текущую ситуацию техноиндустрии в этой сфере, авторы переходят к практическим рекомендациям. Этой теме посвящена значительная часть книги, где речь идет об уже существующих и только развивающихся руководствах по обеспечению прозрачности ПО и защите цепочек поставок со стороны госучреждений и коммерческого сектора.
Говоря конкретнее, в главе, посвященной коммерческим организациям, вы познакомитесь с такими темами, как уровни безопасности в цепочках поставок, лучшие практики CNCF для их защиты, включая защиту исходного кода, материалов, пайплайнов сборки и прочего. Помимо этого, вы узнаете детали и особенности эталонной архитектуры защищенной фабрики ПО от CNCF, фреймворка Microsoft S2C2F (Secure Supply Chain Consumption) и руководства по его использованию, получите представление о стандарте OWASP Software Component Verification Standard и ряде других важных тем.
- каждый шаг в цепочке поставок должен быть надежным и безопасным;
- в каждом шаге цепочки поставок должна использоваться автоматизация;
- среды сборки должны быть грамотно определены и защищены;
- для всех субъектов в среде цепочек поставок должна применяться взаимная аутентификация.

Рис. 7.9.
Как видно из рис. 7.9, в работе проводятся параллели с традиционными цепочками поставок, которые действуют в сфере сырьевых материалов, товаров и производства. В ней отмечается, что технологическая индустрия позаимствовала из области малозатратного производства практики Agile и DevOps, и сфера цепочек поставок тоже может пойти этим путем.
Руководство по реализации S2C2F
По аналогии с другими фреймворками, такими как SLSA, S2C2F выстроен вокруг четырех уровней зрелости, начиная с минимальной системы контроля OSS и заканчивая продвинутой защитой от угроз. При этом каждый уровень несет собственный набор мероприятий, перечисленных на рис. 7.12.

Рис. 7.12
В отношении государственных структур и соответствующих разработок освещаются темы критического ПО и мер по обеспечению его безопасности, включая рассмотрение всевозможных техник верификации программных компонентов: моделирование угроз, автоматизированное тестирование, тестирование по принципу «черного ящика», фаззинг, сканирование веб-приложений и прочее.
Серия была выпущена в рамках проекта Enduring Security Framework (ESF, фреймворк устойчивой безопасности). Этот проект представляет собой рабочую группу из представителей частного и государственного секторов под руководством NSA и CISA. Ее цель — предоставить руководство по устранению особо опасных угроз для критической инфраструктуры.
Далее мы изучим каждую из этих публикаций и их рекомендации. Данное руководство было выпущено в порядке, соответствующем жизненному циклу ПО, то есть начиная с разработчиков, продолжая поставщиками и заканчивая потребителями. И мы будем рассматривать его именно в таком порядке.
На рис. 8.3 схематично отражены роли и процесс взаимодействия разработчиков, поставщиков и потребителей в общей экосистеме цепочек поставок ПО.

Рис. 8.3
Не останется без внимания и тема прозрачности ПО в операционных технологиях, которой будет посвящена отдельная небольшая глава. Здесь раскрывается идея кинетического эффекта ПО, описываются риски, сопряженные с устаревшим кодом, нюансы релейной логики и заданных значений в промышленных системах управления, а также возможные поверхности атаки подобных систем.

Рис. 9.1
Практические руководства для поставщиков и потребителей
Две предпоследние главы посвящены конкретно практическим руководствам по части обеспечения прозрачности и защиты ПО. Как для поставщиков, так и для потребителей программных продуктов здесь приводятся развернутые рекомендации, позволяющие выстроить эффективную стратегию по защите своих организаций от киберугроз.
В отношении поставщиков рассматриваются такие темы, как раскрытие информации об уязвимостях и способы реагирования на них, создание команды реагирования на инциденты (PSIRT), формирование подразделения для регулирования продуктов с открытым кодом, а также тема выбора между ручным трудом и автоматизацией.

Рис. 10.1
Отдельное внимание здесь уделяется насущному для многих компаний вопросу «делиться или не делиться?». В этом разделе авторы рассуждают на тему того, какие данные поставщикам следует или не следует предоставлять своим потребителям, и чем можно при этом руководствоваться.
Что касается потребителей, то им авторы помогут ответить для себя на такие вопросы, как «Действительно ли мне нужен SBOM?» и «Что с ним делать?», плюс в общих чертах опишут процесс получения и управления этими перечнями в больших масштабах.
Отдельно здесь освещаются ситуации и системы, в которых у вас нет возможности применения патча. Вызвано это может быть ограниченностью ресурсов поставщиков, установленным графиком применения обновлений или исправлений, приоритетами доработки срочной функциональности или банальным окончанием срока поддержки продукта. Для подобных случаев приводится полноценный алгоритм возможных действий и решения, которые помогут сохранить должный уровень безопасности системы.
Дальнейшие перспективы
Завершается книга обсуждением ожидаемых перспектив повышения прозрачности ПО. В её последней главе речь пойдет о тенденциях в виде современных инициатив, законов и требований, влиянии правительственных цепочек поставок на рынки, увеличении числа соответствующих атак и растущей взаимосвязанности IoT-устройств.
Кому пригодится эта книга
В первую очередь это развернутое руководство будет полезно специалистам из сферы технологий и кибербезопасности, в частности директорам по ИБ, техническим директорам, ведущим инженерам, а также всем активным участникам сегмента разработки ПО с открытым исходным кодом.
Интересной она окажется и для специалистов по закупкам ПО, в чьи обязанности входит поиск и приобретение безопасных программных продуктов, а также специалистов по аудиту, которые хотят быть в курсе и понимать актуальные руководства и требования в сфере защиты цепочек поставок.
Приобрести же её можно как на сайте издательства, так и на платформах OZON либо Wildberries.