Правило 27: Атаки на цепочку поставок ПО
Что, если самая большая угроза вашей системе — это не ваш код, а доверенные библиотеки с открытым исходным кодом, которые вы подключаете? Добро пожаловать в худший кошмар разработчика: атаки на цепочку поставок ПО.
Злоумышленники больше не тратят время на попытки обойти ваш брандмауэр. Вместо этого они заражают популярные пакеты с открытым исходным кодом (на npm, PyPI или GitHub) вредоносными бэкдорами. Когда вы выполняете простой pip install или npm install, вы непреднамеренно внедряете их вредоносное ПО прямо на свой сервер!
Чтобы выполнить Правило 27, вам нужно обезопасить зависимости с помощью этих трех абсолютных уровней защиты:
1️⃣ Закрепляйте зависимости: всегда используйте lockfile’ы (например, package-lock.json или requirements.txt со строгими хэшами), чтобы гарантировать, что при развертывании не будет загружен никакой неожиданный или изменённый код.
2️⃣ Автоматическое сканирование уязвимостей: интегрируйте инструменты вроде Snyk, GitHub Dependabot или OWASP Dependency-Check в ваш процесс. Они мгновенно отмечают и блокируют скомпрометированные или устаревшие библиотеки.
3️⃣ Проверяйте источник: прежде чем доверять новому пакету, проверьте его поддерживающих (maintainers), оцените частоту обновлений и остерегайтесь тайпосоквинга (хакеры дают вредоносным пакетам названия, очень похожие на известные, например requsts вместо requests).
Не позволяйте доверенной сторонней библиотеке стать троянским конём вашей инфраструктуры
#BTC
Что, если самая большая угроза вашей системе — это не ваш код, а доверенные библиотеки с открытым исходным кодом, которые вы подключаете? Добро пожаловать в худший кошмар разработчика: атаки на цепочку поставок ПО.
Злоумышленники больше не тратят время на попытки обойти ваш брандмауэр. Вместо этого они заражают популярные пакеты с открытым исходным кодом (на npm, PyPI или GitHub) вредоносными бэкдорами. Когда вы выполняете простой pip install или npm install, вы непреднамеренно внедряете их вредоносное ПО прямо на свой сервер!
Чтобы выполнить Правило 27, вам нужно обезопасить зависимости с помощью этих трех абсолютных уровней защиты:
1️⃣ Закрепляйте зависимости: всегда используйте lockfile’ы (например, package-lock.json или requirements.txt со строгими хэшами), чтобы гарантировать, что при развертывании не будет загружен никакой неожиданный или изменённый код.
2️⃣ Автоматическое сканирование уязвимостей: интегрируйте инструменты вроде Snyk, GitHub Dependabot или OWASP Dependency-Check в ваш процесс. Они мгновенно отмечают и блокируют скомпрометированные или устаревшие библиотеки.
3️⃣ Проверяйте источник: прежде чем доверять новому пакету, проверьте его поддерживающих (maintainers), оцените частоту обновлений и остерегайтесь тайпосоквинга (хакеры дают вредоносным пакетам названия, очень похожие на известные, например requsts вместо requests).
Не позволяйте доверенной сторонней библиотеке стать троянским конём вашей инфраструктуры
#BTC