В программных продуктах, независимо от того, кто их разрабатывал, всегда присутствуют ошибки. Эти ошибки не преднамеренные, они возникают из-за того, что какой-то фрагмент недостаточно хорошо продумали или протестировали. Ошибки могут быть как безобидными – что-то не совсем правильно отображается – так и способными вызвать катастрофические последствия (в зависимости от проекта). Как только об ошибке станет известно, кто-нибудь обязательно придумает способ, как ее использовать, чтобы получить незаконное преимущество или выгоду, причинить ущерб или просто похвастаться.
Большинство проблем безопасности возникает по следующим причинам:
• Код некачественно разработан/протестирован.
• У обычной функции появился непредвиденный побочный эффект (как случилось, например, в конце 2021 года с библиотекой для логирования Apache Log4j, ниже мы расскажем об этом более подробно).
В современном мире большинство компаний очень быстро выпускают исправления, или патчи, если им сообщат о багах или уязвимостях либо если они обнаружат их своими силами. Никто не хочет быть обвиненным в недостаточном внимании к вопросам безопасности.
Поэтому важно поддерживать вашу систему в актуальном состоянии, своевременно внедряя все исправления, и не допускать использования устаревшего ПО. Для этого необходимо работать в двух направлениях:
• следить за появлением исправлений;
• планировать обновления.