Кибербезопасность
Расчистка “тумана” в кибербезопасности
На конференции RSA в Сан-Франциско в этом месяце была представлена ошеломляющая коллекция новых решений отрасли кибербезопасности. Одно за другим они заявляли, что являются инструментами, которые спасут вашу организацию от злоумышленников, крадущих ваши ценности или вымогающих у вас миллионы долларов.
После долгих размышлений я пришел к выводу, что наша отрасль потерялась. Потерялась в море обнаружения и реагирования с бесконечными заявлениями о том, что ваши проблемы исчезнут, если вы просто добавите еще один слой. Окутана туманом технологических инвестиций, персонала, инструментов и слоев инфраструктуры, компании создали лабиринт, в котором они больше не могут видеть лес за деревьями, когда речь идет об идентификации и предотвращении угроз. Эти инструменты, предназначенные для защиты цифровых активов, вместо этого вызывают разочарование как у команд безопасности, так и у команд разработки, увеличивая нагрузку и используя несовместимые инструменты. “Туман больше” не работает. Но, если быть честным, он никогда не работал.
Кибератаки начинаются и заканчиваются в коде. Все так просто. У вас либо есть уязвимость в коде, либо код был написан без учета безопасности. В любом случае, каждая атака или заголовок, который вы читаете, исходит из кода. И это программисты, которые сталкиваются с основной проблемой. Но разработчики не обучены безопасности и, если быть честным, могут никогда не быть. Поэтому они используют старые добрые инструменты поиска кода, которые просто ищут закономерности в коде. И бойтесь того, что вы просите, потому что в результате они получают цунами предупреждений, преследуя ложные следы и призраки большую часть дня. На самом деле, разработчики тратят до трети своего времени на преследование ложных срабатываний и уязвимостей. Только сосредоточившись на предотвращении можно действительно укрепить программы безопасности и заложить основу для культуры, ориентированной на безопасность.
Поиск и исправление на уровне кода
Часто говорят, что предотвращение лучше, чем лечение, и эта пословица особенно верна в кибербезопасности. Поэтому, даже при более жестких экономических ограничениях, бизнес постоянно инвестирует и подключает больше инструментов безопасности, создавая множество барьеров для входа, чтобы снизить вероятность успешных кибератак. Но, несмотря на добавление все больше и больше слоев безопасности, одни и те же типы атак продолжают происходить. Пора организациям принять свежий взгляд – тот, где мы сосредоточимся на проблеме на самом базовом уровне – найдя и исправляя уязвимости в коде.
Приложения часто служат основной точкой входа для киберпреступников, стремящихся использовать слабости и получить несанкционированный доступ к конфиденциальным данным. В конце 2020 года был раскрыт компрометация SolarWinds, и следователи обнаружили скомпрометированный процесс сборки, который позволил атакующим внедрить вредоносный код в программное обеспечение для мониторинга сети Orion. Эта атака подчеркнула необходимость защиты каждого шага процесса сборки программного обеспечения. Реализуя надежные меры безопасности приложений, или AppSec, организации могут снизить риск этих нарушений безопасности. Для этого предприятиям необходимо принять “сдвиг влево” менталитет, привнося предотвращение и прогнозирование на стадии разработки.
Хотя это не совсем новая идея, она имеет свои недостатки. Одним из значительных недостатков является увеличение времени и затрат на разработку. Реализация комплексных мер AppSec может потребовать значительных ресурсов и опыта, что приводит к более длинным циклам разработки и более высоким расходам. Кроме того, не все уязвимости представляют высокий риск для организации. Потенциал ложных срабатываний от инструментов обнаружения также приводит к разочарованию среди разработчиков. Это создает разрыв между бизнес-, инженерными и командами безопасности, цели которых могут не совпадать. Но генеративный ИИ может быть решением, которое закроет этот разрыв навсегда.
Вход в эпоху ИИ
Используя повсеместную природу генеративного ИИ в AppSec, мы наконец-то сможем учиться на прошлом, чтобы предсказать и предотвратить будущие атаки. Например, вы можете обучить большую языковую модель или LLM на всех известных уязвимостях кода, со всеми их вариантами, чтобы научиться основным характеристикам всех этих уязвимостей. Эти уязвимости могут включать общие проблемы, такие как переполнение буфера, атаки методом внедрения или неправильная проверка ввода. Модель также научится нюансированным различиям по языку, фреймворку и библиотеке, а также тому, какие исправления кода успешны. Модель может затем использовать эти знания, чтобы просканировать код организации и найти потенциальные уязвимости, которые еще не были выявлены. Используя контекст вокруг кода, инструменты сканирования могут лучше обнаруживать реальные угрозы. Это означает короткие времена сканирования и меньше времени, потраченного на преследование и исправление ложных срабатываний, а также повышение производительности команд разработки.
Инструменты генеративного ИИ также могут предложить исправления кода, автоматизируя процесс создания исправлений, что значительно сокращает время и усилия, необходимые для исправления уязвимостей в кодовой базе. Обучая модели на огромных репозиториях безопасных кодовых баз и лучших практиках, разработчики могут использовать сгенерированные ИИ фрагменты кода, которые соответствуют стандартам безопасности и избегают общих уязвимостей. Этот активный подход не только снижает вероятность введения уязвимостей безопасности, но и ускоряет процесс разработки, предоставляя разработчикам предварительно протестированные и проверенные компоненты кода.
Эти инструменты также могут адаптироваться к разным языкам программирования и стилям кодирования, что делает их универсальными инструментами для безопасности кода в различных средах. Они могут улучшаться со временем, продолжая обучаться на новых данных и обратной связи, что приводит к более эффективному и надежному созданию исправлений.
Человеческий фактор
Важно отметить, что, хотя исправления кода могут быть автоматизированы, человеческий надзор и проверка все еще имеют решающее значение для обеспечения качества и правильности сгенерированных исправлений. Хотя передовые инструменты и алгоритмы играют значительную роль в выявлении и смягчении уязвимостей безопасности, человеческая экспертиза, творчество и интуиция остаются необходимыми для эффективной защиты приложений.
Разработчики в конечном итоге отвечают за написание безопасного кода. Их понимание лучших практик безопасности, стандартов кодирования и потенциальных уязвимостей имеет первостепенное значение для обеспечения того, что приложения разрабатываются с учетом безопасности с самого начала. Интегрируя программы обучения и повышения осведомленности по безопасности в процесс разработки, организации могут дать разработчикам возможность выявлять и решать проблемы безопасности, снижая вероятность введения уязвимостей в кодовую базу.
Кроме того, эффективное общение и сотрудничество между различными заинтересованными сторонами внутри организации имеют решающее значение для успеха AppSec. Хотя решения ИИ могут помочь “закрыть разрыв” между разработкой и безопасностью, для построения более устойчивых и безопасных приложений требуется культура сотрудничества и общей ответственности.
В мире, где ландшафт угроз постоянно эволюционирует, легко стать подавленным огромным количеством инструментов и технологий, доступных в области кибербезопасности. Однако, сосредоточившись на предотвращении и поиске уязвимостей в коде, организации могут обрезать “жир” своего существующего стека безопасности, экономя экспоненциальное количество времени и денег в процессе. На базовом уровне такие решения смогут не только выявить известные уязвимости и исправить уязвимости нулевого дня, но и предотвратить уязвимости до их возникновения. Мы, возможно, наконец-то сможем идти в ногу, если не опережать, эволюционирующих угроз.












