У чому різниця між SCA-скануванням і скануванням контейнера?

Під час комплексного сканування контейнера SCA застосовується саме до контейнерів у поєднанні з іншими аналізами, характерними для контейнерів, наприклад, як вони налаштовані для розгортання та наявність секретів.

Як працює SCA-сканування?

Інструменти SCA починають роботу зі сканування, щоб отримати інвентаризацію всіх компонентів з відкритим вихідним кодом, незалежно від того, чи це окремий файл, чи ціле сховище. SCA-сканування образу контейнера нічим не відрізняється від цього, але SCA-сканери, призначені для роботи з контейнерами, зазвичай налаштовуються на сканування кожного шару, відстежуючи, які компоненти знаходяться на кожному шарі в процесі сканування. Після того, як цей список складено, інструмент SCA збирає інформацію про кожен компонент, наприклад, яку ліцензію з відкритим вихідним кодом він використовує, про які вразливості для нього повідомлялося, а також про ступінь серйозності та можливість експлуатації кожної вразливості.

Навіщо перевіряти контейнери на вразливості?

Як і у більшості сучасних програм, основна частина коду, з якого складаються образи, як правило, має відкритий вихідний код. Контейнери збільшують переваги відкритого коду, дозволяючи організаціям створювати великі, складні та унікальні додатки швидше, ніж будь-коли.

Але контейнери також додають ще один рівень складності, що може збільшити ризик і призвести до пропущених вразливостей. Сканування образу контейнера надасть список всіх відомих вразливостей в коді, а хороший інструмент сканування допоможе командам безпеки визначити пріоритетність цих вразливостей на основі можливості їх використання та серйозності.

Однією з вагомих причин для регулярного сканування образів контейнерів на наявність вразливостей є те, що контейнери призначені для повторного використання коду. Це є частиною того, що робить їх такими легкими, але це також може призвести до появи застарілих та невиправлених компонентів в образі контейнера.

Пошук вразливостей, які створюють ризики для безпеки, є головним завданням більшості організацій, які сканують свої контейнери. Однак «побічні продукти» (byproducts) сканування образу контейнера, а саме інформація про ліцензії на відкрите програмне забезпечення та створення SBOM, також часто цікавлять юридичні відділи та відділи комплаєнсу.

За межами відкритого коду: переваги сканування контейнерів

Комплексний інструмент для сканування контейнерів не зупиняється на компонентах з відкритим кодом та їхніх вразливостях. Він також сканує файли в пошуках секретів, які були розміщені в незахищених місцях. Секрети – це конфіденційні облікові дані, такі як паролі, ключі та токени, які можуть бути надзвичайно небезпечними в руках зловмисника. Це дуже загрозливо, якщо розробники залишили їх у відкритому вигляді у вихідному коді або конфігураційних файлах, що, на жаль, може легко статися у середовищі швидкої розробки.

На додаток до секретів, інструмент сканування контейнера перевіряє файли інфраструктури як коду (IaC) на наявність неправильних конфігурацій, які роблять контейнер вразливим до атак. Неправильні конфігурації – це невеликі (в сенсі кількості коду) помилки, які зазвичай легко виправити, але якщо їх не виявити – а це можна легко зробити у великій кодовій базі – і не виправити, то програма може наразитися на величезний ризик.

Сканування образів контейнерів на наявність вразливостей

Більшість доступних інструментів роблять сканування простим процесом, незалежно від того, чи запускається сканування вручну в командному рядку, чи налаштовуєте автоматичне сканування як частину конвеєра CI/CD.

Сканування образів контейнерів можна налаштувати на запуск під час збірки, щоб знайти вразливості у відкритому коді та неправильно керовані секрети до того, як вони потраплять до кодової бази, що призведе до збою збірки, при порушенні встановленої політики.

Образ контейнерів також можна сканувати в масштабі на рівні приватного реєстру, щоб отримати повнішу картину ризиків безпеки та визначити пріоритетність виправлення контейнерів з найбільшим ризиком. Контейнери також можна сканувати як кластери Kubernetes, щоб визначити пріоритетність контейнерів, які наразі використовуються у виробництві.

Процес буде відрізнятися залежно від того, який інструмент використовується. Наприклад, за допомогою Mend SCA через командний рядок або інтерфейс користувача.

Що таке сканування під час виконання контейнера?

Поняття «сканування під час виконання контейнера» можна трактувати як використання інструментів для сканування образів контейнерів, які вже активно використовуються у виробництві.

Ці сканування схожі на згадані вище, за винятком того, що інструмент сканування взаємодіє з Kubernetes, щоб побачити, які образи в сканованому сховищі в поточний момент запущені як контейнери в кластері K8. Це допомагає командам визначити пріоритетність виправлень, оскільки контейнер, який не працює, може мати багато вразливостей, але на даному етапі вони не можуть бути використані.

Окрім вразливостей з відкритим вихідним кодом, образи контейнерів можуть мати конфігурації, які змінюються з часом, тобто в середовищі запущених додатків вони відрізняються від тих, що визначені у файлах IaC, через не відстежувані зміни з боку людини, небажані зміни, внесені додатками, або зміни, які не переносяться з середовища в середовище через неправильні конфігурації. Сканування контейнерів під час виконання може виявити загальні причини зміщення конфігурації.

Висновок

SCA-сканування і сканування контейнерів мають схожу сферу застосування і схожі можливості, але сканування контейнерів додає специфічні для контейнерів функції, такі як сканування кожного шару окремо, виявлення секретів і виявлення неправильних конфігурацій.

Підписатися на новини