Мы окружены новостями об утечках данных и взломах компаний, а угроза выкупа нависает практически над каждой организацией, использующей компьютеры.
Одним из последствий этого является то, что нас беспокоит постоянно растущее число обновлений программного обеспечения, от телефонов и компьютеров до пылесосов и автомобилей; скачайте это, перезапустите то, установите обновления. Большинство этих устройств и инструментов используют компоненты с открытым исходным кодом: в исследовании Отчет об анализе безопасности и рисков открытого исходного кода за 2022 год компания Synopsys обнаружила, что из 17 отраслевых вертикалей 93% кодовых баз включают программное обеспечение с открытым исходным кодом.
Связаны ли проблемы безопасности, которые мы наблюдаем, с использованием программного обеспечения с открытым исходным кодом? Имеет ли проприетарное программное обеспечение какие-либо преимущества в плане безопасности? Короткий ответ – нет. Все больше и больше недостатков безопасности обнаруживается просто потому, что в мире производится больше программного обеспечения, чем когда-либо прежде, и все больше аспектов нашей жизни включают в себя программные функции.
На самом деле, программное обеспечение с открытым исходным кодом было в авангарде этой технологической трансформации, предоставляя любому человеку в мире доступ и возможность разрабатывать функциональность и продукты, которые были бы неосуществимы без свободного доступа к таким ресурсам.
Неизвестность не является безопасностью
Программисты обычно пишут исходный код для двух аудиторий. Во-первых, для компьютеров, на которых будет выполняться код. Во-вторых, для других программистов, которые смогут обновлять, адаптировать и поддерживать код в дальнейшем. Именно этот второй аспект придает программному обеспечению с открытым исходным кодом широкую привлекательность: каждый может увидеть код, понять его и безопасно использовать, зная, что он его понимает.
Для компьютеров же код компилируется в машиночитаемую форму, которую процессор может обрабатывать и выполнять напрямую. Этот машинный язык гораздо сложнее для понимания реальными людьми: хотя все еще можно посмотреть, что делает программа, сделать это значительно сложнее и требует больше времени, что приводит к распространенному мнению, что это делает программу более безопасной.
Однако, неизвестность не является безопасностью, и существует множество мотивированных людей, которым больше всего нравится разбирать скомпилированную программу, чтобы изучить ее внутреннюю работу.
Как безопасно использовать открытый исходный код?
Программное обеспечение с открытым исходным кодом имеет уязвимости, точно так же, как и проприетарное или закрытое программное обеспечение. Производители программного обеспечения в обеих парадигмах одинаково обязаны следить за сообщениями об уязвимостях, выпускать заплатки и исправления и обеспечивать безопасность своих пользователей. Но есть несколько лучших практик, которые вы можете применить для снижения рисков.
Synopsys в своем анализе2022 года показывает, что 85% кодовых баз содержали открытый исходный код, устаревший более чем на четыре года. Независимо от того, является ли код открытым или проприетарным, наиболее важной мерой безопасности является исправление и обновление этого программного обеспечения, и лучшим способом сделать это является потребление программного обеспечения из надежного источника, который обеспечивает строгие обязательства по поддержке безопасности.
Это позволит вам и вашим клиентам оставаться в безопасности от вновь обнаруженных угроз. Если и когда уязвимости будут обнаружены, вы можете положиться на экспертов, которые устранят их до того, как злоумышленники смогут ими воспользоваться.
Защита в глубину
Еще одним важным аспектом является обеспечение защиты в глубину для ваших программных платформ, чтобы в случае уязвимости одного компонента стека злоумышленник не смог закрепиться и распространить свои злодеяния дальше. Этого можно достичь путем усиления систем, блокировки опций конфигурации и удаления ненужных компонентов, которые могут помочь злоумышленнику.
Резюме
Все программные системы имеют уязвимости и слабые места, независимо от методологии их разработки, а большинство облачных платформ ежедневно полагаются на безопасность с открытым исходным кодом.
Самый большой шаг для обеспечения безопасности систем – это использование программного обеспечения, которое активно поддерживается и обновляется. Следующим шагом является повышение планки безопасности путем укрепления систем и предотвращения превращения одной небольшой слабости в полноценный кошмар.
Комментарии (0)