Кібербезпека
Очищення «туману більше» в кібербезпеці
На RSA Conference у Сан-Франциско цього місяця була представлена дезорієнтуюча кількість нових рішень від галузі кібербезпеки. Стенд за стендом стверджував, що вони є інструментом, який врятує вашу організацію від поганих акторів, які викрадають ваші цінності або вимагають викуп у мільйони доларів.
Після довгих роздумів я прийшов до висновку, що наша галузь загубилася. Загубилася в супі з виявленням і реагуванням з безкінечними дурнями, які стверджують, що ваші проблеми зникнуть, якщо ви просто додасте ще один шар. Заглушена в тумані технологічних інвестицій, персоналу, інструментів і шарів інфраструктури, компанії створили лабіринт, в якому вони вже не можуть бачити ліс за деревами, коли йдеться про ідентифікацію і запобігання загрозливим акторам. Ці інструменти, призначені для захисту цифрових активів, замість цього викликають розчарування як у команд безпеки, так і у команд розробки через збільшення навантаження і не сумісні інструменти. «Туман більше» не працює. Але, якщо бути чесним, він ніколи не працював.
Кібератаки починаються і закінчуються в коді. Все так просто. У вас або є проблема безпеки або вразливість у коді, або код був написаний без урахування безпеки. В будь-якому випадку, кожна атака або заголовок, який ви читаєте, походить від коду. І це саме розробники програмного забезпечення стикаються з основною повнотою проблеми. Але розробники не навчені безпеки, і, якщо бути чесним, можливо, ніколи не будуть. Тому вони реалізують старі добрі інструменти пошуку коду, які просто шукають у коді певні закономірності. І бійтеся того, про що ви просите, тому що в результаті вони отримують цунамі попереджень, переслідуючи червоні химери і фантоми більшої частини дня. Насправді, розробники витрачають до третини свого часу на переслідування помилкових позитивних результатів і вразливостей. Лише зосереджуючись на запобіганні, підприємства можуть真正но почати зміцнювати свої програми безпеки і закладати основу для культури, орієнтованої на безпеку.
Знаходження і виправлення на рівні коду
Часто кажуть, що запобігання краще, ніж лікування, і ця приказка особливо вірна в галузі кібербезпеки. Тому, навіть попри тісні економічні обмеження, підприємства продовжують інвестувати і підключати все більше інструментів безпеки, створюючи багаторівневі бар’єри для входу, щоб зменшити ймовірність успішних кібератак. Але попри додавання все більшої кількості шарів безпеки, ті самі типи атак продовжують відбуватися. Прийшов час для організацій прийняти свіжий погляд – той, де ми зосереджуємося на проблемі на рівні джерела – знаходимо і виправляємо вразливості в коді.
Застосунки часто служать основним входом для кіберзлочинців, які намагаються використати слабкості і отримати несанкціонований доступ до конфіденційних даних. У кінці 2020 року став відомий компроміс SolarWinds, і слідчі виявили компрометований процес побудови, який дозволив атакувальникам вставити шкідливий код у програмне забезпечення моніторингу мережі Orion. Ця атака підкреслила необхідність захисту кожного етапу процесу побудови програмного забезпечення. Реалізуючи надійні заходи безпеки застосунків, або AppSec, організації можуть помітно зменшити ризик цих порушень безпеки. Для цього підприємства повинні звернути увагу на «зрушення вліво» ментальності, привносячі запобіжні і передбачувальні методи на стадію розробки.
Хоча це не зовсім нова ідея, вона має свої недоліки. Одним із значних недоліків є збільшення часу розробки і витрат. Реалізація комплексних заходів AppSec може потребувати значних ресурсів і фахівців, що призводить до триваліших циклів розробки і вищих витрат. Крім того, не всі вразливості становлять високий ризик для організації. Можливість помилкових позитивних результатів від інструментів виявлення також призводить до розчарування серед розробників. Це створює розрив між бізнесом, інженерними і командами безпеки, чийі цілі можуть не збігатися. Але генерація AI може бути рішенням, яке закриє цей розрив назавжди.
Вхід в епоху AI
Застосовуючи всепроникність генерації AI в AppSec, ми нарешті навчимося на минулому, щоб передбачити і запобігти майбутнім атакам. Наприклад, ви можете навчити Large Language Model або LLM на всіх відомих кодових вразливостях, у всіх їхніх варіантах, щоб вивчити основні особливості всіх цих вразливостей. Ці вразливості можуть включати загальні проблеми, такі як переповнення буфера, атаки ін’єкції або неправильна валідація введених даних. Модель також вивчить нюансовані відмінності за мовою, фреймворком і бібліотекою, а також які кодові виправлення є успішними. Модель потім може використовувати ці знання, щоб сканувати код організації і знайти потенційні вразливості, які ще не були визначені. Використовуючи контекст навколо коду, інструменти сканування можуть краще виявляти справжні загрози. Це означає короткий час сканування і менше часу на переслідування і виправлення помилкових позитивних результатів, а також збільшення продуктивності для команд розробки.
Інструменти генерації AI також можуть пропонувати запропоновані кодові виправлення, автоматизуючи процес генерації патчів, що суттєво зменшує час і зусилля, необхідні для виправлення вразливостей у кодових базах. Навчаючи моделі на величезних репозиторіях безпечних кодових баз і кращих практик, розробники можуть використовувати кодові фрагменти, згенеровані AI, які відповідають стандартам безпеки і уникнуть загальних вразливостей. Цей проактивний підхід не лише зменшує ймовірність введення проблем безпеки, але також прискорює процес розробки, надаючи розробникам попередньо протестовані і валідовані компоненти коду.
Ці інструменти також можуть адаптуватися до різних мов програмування і стилів кодування, роблячи їх універсальними інструментами для безпеки коду в різних середовищах. Вони можуть покращуватися з часом, продовжуючи навчатися на нових даних і зворотному зв’язку, що призводить до більш ефективного і надійного генерації патчів.
Людський фактор
Важливо зазначити, що хоча кодові виправлення можуть бути автоматизовані, людський нагляд і валідация все ще залишаються важливими для забезпечення якості і правильності згенерованих патчів. Хоча просунуті інструменти і алгоритми відіграють значну роль у виявленні і пом’якшенні проблем безпеки, людська експертиза, креативність і інтуїція залишаються незамінними для ефективної безпеки застосунків.
Розробники є відповідальними за написання безпечного коду. Їхнє розуміння кращих практик безпеки, стандартів кодування і потенційних вразливостей є важливим для забезпечення того, що застосунки будуються з урахуванням безпеки з самого початку. Інтегруючи програми навчання і підвищення безпеки у процес розробки, організації можуть наділити розробників можливістю проактивно виявляти і усувати проблеми безпеки, зменшуючи ймовірність введення вразливостей у кодову базу.
Крім того, ефективна комунікація і співробітництво між різними зацікавленими сторонами в організації є важливими для успіху AppSec. Хоча рішення AI можуть допомогти «закрити розрив» між розробкою і операціями безпеки, для будівництва більш стійких і безпечних застосунків потрібна культура співробітництва і спільної відповідальності.
У світі, де ландшафт загроз постійно змінюється, легко стати перегрузимим через величезну кількість інструментів і технологій, доступних у сфері кібербезпеки. Однак, зосереджуючись на запобіганні і знаходимо вразливості в коді, організації можуть скоротити «жир» свого існуючого стека безпеки, зберігаючи величезну кількість часу і грошей у процесі. На рівні джерела такі рішення зможуть не лише знайти відомі вразливості і виправити нуль-денні вразливості, але також вразливості до нуль-день, до того, як вони виникнуть. Ми, можливо, нарешті зможемо跟ати, якщо не випередити, еволюціюючих загрозливих акторів.












