Закрытие открытого ресурса: Развенчание фантазии
Опубликовано: 2022-03-31В связи с раскрытием уязвимости Log4j в декабре 2021 года и новым обстоятельством, когда разработчик саботирует свои собственные библиотеки Javascript — color.js и faker.js, состояние компьютерного программного обеспечения с открытым исходным кодом было поставлено под сомнение.
Благодаря громкой встрече в White Property по открытому исходному коду и правительственным распоряжениям президента США Байдена некоторые даже подсказали, что это «завершение открытого ресурса». Хотя может показаться заманчивым проверить серьезную уязвимость как признак того, что открытые поставки каким-то образом остаются дефицитными, правда в значительной степени связана с этим.
Программное обеспечение с открытым исходным кодом не намного более и не менее безопасно, чем пакет программного обеспечения для бизнеса. На самом деле, большинство профессионального компьютерного программного обеспечения, возможно, имеет или работает на системах с открытым исходным кодом. Открытая поставка означает только то, что программа составлена таким образом, что исходный код доступен любому желающему.
То, что мы наблюдали с ответом Log4j от команды Apache Log4j, — это именно то, что мы хотели бы увидеть — команда, которая серьезно относится к программному пакету, который они разрабатывают, и в настоящее время реагирует на желания своего созданного фонда. Глядя на то, что они добровольцы, такой ответ свидетельствует об удовольствии сопричастности, которое мы часто наблюдаем в сообществах открытых ресурсов.
Такой инцидент, как Log4j, скорее всего, не только спровоцирует закрытие открытого исходного кода, но и улучшит развитие открытого исходного кода в целом — во многом так же, как Heartbleed улучшил методы развития двух групп развития открытого и закрытого исходного кода. Итак, если открытый исходный код указан здесь, чтобы оставаться в силе, что должны делать организации, чтобы более эффективно обнаруживать и устранять уязвимости?
Решение проблемы защиты компьютерного программного обеспечения на организационном уровне
В идеале стратегия выявления и устранения уязвимостей требует от нас заранее определить некоторые роли. Большинство людей надеются, что их поставщики программного обеспечения — то есть люди, разрабатывающие компьютерное программное обеспечение, от которого они зависят, — проверят это программное обеспечение. Конечным результатом этого тестирования будет установление результатов, выявляющих слабые места в программном обеспечении, которое предоставляет поставщик. В огромном мире все без исключения эти слабости будут устранены до отправки и доставки программы.
Даже в этом случае на настоящей планете некоторые из всех этих недостатков будут предустановлены, некоторые будут помечены как «Нет программы для исправления», а некоторые будут исправлены в долгосрочной перспективе. Каков список слабых мест и какие из них в конечном итоге были установлены, — это не мало того, что провайдер обычно разглашает. Кроме того, не существует одного инструмента, который может обнаружить все слабые места, и некоторые работают только при наличии исходного кода, хотя другим требуется работающее программное обеспечение.
Обратите внимание, что здесь не упоминается слово «уязвимость», поскольку оно имеет конкретное и основное значение. В приложении уязвимость — это просто слабость, которую можно использовать или которая имеет реальную возможность использования.
Большинство, но не все уязвимости раскрываются с помощью централизованной процедуры, известной как Национальная база данных уязвимостей или только NVD. Несмотря на то, что NVD имеет корни в США и находится под опекой властей США, содержимое NVD доступно для всех и воспроизводится во многих странах мира. С точки зрения управления, проверка содержимого NVD на наличие улучшений — это отличный способ следить за раскрытием информации о новых уязвимостях.
Проблема в том, что NVD обновляется медленнее, чем освещается в СМИ, поэтому с такими ключевыми уязвимостями, как Log4Shell, HeartBleed и Dirty Cow, сотрудники, обнаружившие уязвимость, могли бы присвоить уязвимости фирменное название, стремясь привлечь внимание к проблеме. Создание плана управления, который проверяет средства защиты СМИ на этих кибер-собраниях, определенно не является фантастической практикой.
Если освещение в СМИ как средство управления уязвимостями — плохая идея, а NVD немного постепенно представляет все факты, то какова наиболее эффективная политика управления? Это будет происходить из формы инструмента безопасности, известного как «Анализ состава программного обеспечения» или SCA. Программное обеспечение SCA, по-видимому, находится как в исходном коде приложения, так и в исполняемом файле или библиотеках, которые определяют приложение, и пытается выяснить, какие библиотеки с открытым исходным кодом использовались для создания этого программного обеспечения.
Список этих библиотек известен как SBOM или Bill of Materials для компьютерного программного обеспечения. Предполагая, что приложение SCA эффективно выполняет свою работу, можно разработать политику управления, которая сопоставляет детали NVD с SBOM, чтобы вы знали, что исправлять… За исключением того, что, тем не менее, необходимо учитывать скрытые факты NVD.
Некоторые из гораздо более совершенных инструментов SCA устраняют эту проблему, генерируя рекомендации, которые заблаговременно предупреждают клиентов, когда ожидается запись NVD, но в которых сведения об этой записи NVD дополняются поставщиком SCA. Некоторые из самых современных устройств также используются для проверки или проверки того, какие варианты компьютерного программного обеспечения затронуты раскрытием уязвимости.

Тем не менее, хотя программное обеспечение SCA может закрыть брешь между раскрытием информации и идентификацией, необходимо отметить, что оно имеет фундаментальное ограничение. Если программа SCA не просканировала все ваши программы, то в лучшем случае она сможет отметить новые обнаруженные уязвимости только для подмножества ваших программ.
С точки зрения охвата управления, затем ИТ-специалист должен установить все программное обеспечение и функции закупок, чтобы убедиться, что все приложения, такие как обновления и бесплатные загрузки, отображаются под SBOM и что SBOM проверен с применением программа СКА. Поскольку программа доступна как в исходном, так и в двоичном формате, важно, чтобы группы управления, идущие по этому пути, выбрали программное обеспечение SCA, которое может эффективно работать с компьютерным программным обеспечением во всех вариантах и форматах. Эти типы плана управления помогут выявить новые раскрытия уязвимостей и влияние на бизнес-предприятие, но оставят изменение продуктивного смягчения в рамках уникальной политики, учитывая, что смягчение потребует тестирования программного обеспечения.
Обеспечение безопасности собственной разработки — это всего лишь один момент, но элегантность открытых ресурсов заключается в том, что они предназначены для совместной работы.
Перефразируя Авраама Линкольна, открытый ресурс — это ноу-хау людей, отдельных лиц и для отдельных лиц. Модное движение за открытый исходный код было начато по основному принципу: если вам не нравилось, как работает код, вы могли свободно модифицировать его и устранять любые пробелы в функциональности, которые в конечном итоге считались существующими.
Элементом трудности, с которой мы сталкиваемся в наши дни, является мнение, что потребители или конечные пользователи проектов с открытым исходным кодом ведут себя так, как будто проблемой открытого предложения является продавец бизнес-приложений.
Если вы появитесь в списке проблем любого достаточно известного проекта с открытыми ресурсами на GitHub, вы увидите запросы функций и отзывы о том, когда определенные проблемы могут быть решены. Такие истории о проблемах и жалобы на удобство обслуживания имеют подразумеваемое ожидание того, что менеджер по продуктам получает запросы от этих людей, и что они будут добавлены в дорожную карту и в какой-то момент будут запущены — и все это бесплатно.
Фактически, пробелы в функциональности и даже предполагаемые ошибки означают шансы не запрашивать бесплатные услуги экспертов по программированию, а в качестве альтернативы внести свой вклад в долгосрочные достижения кода, который имеет решающее значение для человека, жалующегося.
Конечно, некоторые люди не будут знать язык программирования, используемый в проекте, но ожидать, что другие люди будут отдавать предпочтение жалобе от неизвестной третьей стороны, а не вариантам, которые устраняют сложности для энергичных участников, не соответствует действительности. Важнее всего то, что открытый ресурс работает благодаря альтруизму участников.
В течение долгого времени мы слушали основных участников известных открытых вакансий на ресурсах, особенно беспокоящихся о доходах, полученных крупными предприятиями от использования их программного пакета. Хотя легко относиться к тому, что кто-то вкладывает свою силу в задачу только для того, чтобы третий получил прибыль от попыток, реальность такова, что если этот третий башка получает прибыль от усилий рабочей силы по развитию открытых ресурсов, то они должны способствовать его долгосрочному успеху.
Если они этого не сделают, то они рискуют не только тем, что проблемный код может быть изменен методами, на которые они не рассчитывали, но и тем, что когда проблемы защиты будут выявлены и устранены, у них могут возникнуть задержки с применением исправлений людей. В конце концов, если малый бизнес не тратит время на взаимодействие с командами, производящими компьютерное программное обеспечение, на котором работает их бизнес-предприятие, то, возможно, они не знают, откуда берутся все программы, на которых работает их бизнес-предприятие, и не могут надежно исправить Это.
Обнаружение уязвимостей в открытом доступе не является проблемой, но обнаружение программных дефектов, представляющих собой слабые места, которые могут быть использованы, является важной темой. Хотя пакеты программного обеспечения с открытым исходным кодом и с закрытым исходным кодом имеют одинаковый потенциал для проблем со стабильностью, с открытым ресурсом любой может решить все эти проблемы. Имея это в виду, организации должны принимать упреждающие меры, не зависящие от защиты носителей, чтобы следить за самыми последними уязвимостями.
Не менее важно, чтобы они вносили свой вклад в задания с открытым исходным кодом, за которые они вознаграждаются, иначе они вполне могут сбросить страдальца из-за непредвиденных изменений кода или запоздалой информации о значительных исправлениях.
Тим Макки — главный специалист по стратегии защиты в Synopsys .