ИИ стремительно меняет разработку ПО, ведя к эпохе «мгновенного ПО». В статье рассматривается, как ИИ повлияет на кибербезопасность, от автоматического поиска уязвимостей до самовосстанавливающихся систем, и какие неизвестные факторы определят исход гонки вооружений. — csoonline.com
ИИ стремительно меняет способы написания, развертывания и использования программного обеспечения. Тенденции указывают на будущее, в котором ИИ сможет быстро и легко создавать специализированное ПО: «мгновенное ПО». В крайнем проявлении пользователю может стать проще заказать у ИИ приложение по требованию — например, электронную таблицу — и удалить его после использования, чем покупать готовое коммерческое решение. Будущие системы могут включать комбинацию: как традиционное долгосрочное ПО, так и эфемерное мгновенное ПО, которое постоянно пишется, развертывается, модифицируется и удаляется.
ИИ меняет и кибербезопасность. В частности, системы ИИ становятся все лучше в поиске и исправлении уязвимостей в коде. Это имеет последствия как для атакующих, так и для защитников, в зависимости от того, как будут развиваться эти и смежные технологии.
В этом эссе я хочу рассмотреть оптимистичный взгляд на прогресс ИИ и поразмышлять о том, как может выглядеть кибербезопасность в эпоху мгновенного ПО, доминирующую роль в которой играет ИИ. Существует ряд неизвестных факторов, которые повлияют на то, как будет развиваться гонка вооружений между атакующим и защитником.
Как может работать обнаружение уязвимостей
Со стороны атакующих способность ИИ автоматически находить и использовать уязвимости резко возросла за последние несколько месяцев. Мы уже видим, как и правительственные, и криминальные хакеры используют ИИ для атак на системы. Часть, связанная с эксплуатацией, здесь критически важна, поскольку она дает неискушенному атакующему возможности, далеко выходящие за рамки его понимания. По мере совершенствования ИИ следует ожидать, что все больше атакующих будут автоматизировать свои атаки с помощью ИИ. А поскольку отдельные лица и организации все чаще могут запускать мощные модели ИИ локально, усилия компаний, занимающихся ИИ, по мониторингу и пресечению злонамеренного использования ИИ будут становиться все менее актуальными.
Следует ожидать, что наибольшее внимание будет уделяться программному обеспечению с открытым исходным кодом, включая библиотеки с открытым исходным кодом, используемые в проприетарном ПО, поскольку уязвимости в исходном коде легче найти. Неизвестное № 1 заключается в том, насколько хорошо инструменты ИИ для обнаружения уязвимостей будут работать против коммерческого ПО с закрытым исходным кодом. Я полагаю, что скоро они станут достаточно хороши, чтобы находить уязвимости, просто анализируя копию выпущенного продукта, без доступа к исходному коду. Если это так, то коммерческое ПО также окажется уязвимым.
Особо уязвимым будет ПО в устройствах IoT: таких как подключенные к интернету автомобили, холодильники и камеры видеонаблюдения. А также ПО для промышленного IoT в наших подключенных к интернету электросетях, на нефтеперерабатывающих заводах и трубопроводах, химических предприятиях и так далее. Качество ПО для IoT, как правило, значительно ниже, а ПО для промышленного IoT часто является устаревшим.
Мгновенное ПО уязвимо иначе. Оно не массовое. Оно создается для конкретного человека, организации или сети. У атакующего, как правило, не будет доступа к какому-либо коду для анализа, что снижает вероятность его эксплуатации внешними злоумышленниками. Если оно эфемерно, любые уязвимости будут иметь короткий срок жизни. Но значительная часть мгновенного ПО будет существовать в сетях долгое время. И если оно будет загружено в общие библиотеки инструментов, атакующие смогут загрузить и проанализировать этот код.
Все это указывает на будущее, где ИИ станет мощным инструментом кибератак, способным автоматически находить и использовать уязвимости в системах по всему миру.
Автоматизация создания исправлений
Но это лишь половина гонки вооружений. Защитники тоже могут использовать ИИ. Эти же технологии поиска уязвимостей с помощью ИИ еще более ценны для защиты. Когда сторона защиты находит уязвимость, которую можно использовать, она может исправить код и навсегда закрыть ее для атакующих.
То, как это будет работать на практике, зависит от другой связанной возможности: способности ИИ исправлять уязвимое ПО, что тесно связано с их способностью писать безопасный код изначально.
Сегодня ИИ не очень хорош в этом; мгновенное ПО, создаваемое ИИ, как правило, наполнено уязвимостями, как потому, что ИИ пишет небезопасный код, так и потому, что люди, занимающиеся кодированием, не понимают вопросов безопасности. OpenClaw — хороший пример этого.
Неизвестное № 2 заключается в том, насколько лучше ИИ станут в написании безопасного кода. Тот факт, что они обучаются на огромных массивах плохо написанного и небезопасного кода, является сдерживающим фактором, но они совершенствуются. Если они смогут надежно писать код без уязвимостей, это станет огромным преимуществом для защитника. А поиск уязвимостей на основе ИИ облегчает обучение ИИ написанию безопасного кода.
Мы можем представить будущее, где инструменты ИИ для поиска и исправления уязвимостей станут частью типичного процесса разработки ПО. Мы не можем утверждать, что код будет без уязвимостей — это недостижимая цель — но он может быть без легко обнаруживаемых уязвимостей. Если технология станет по-настоящему хорошей, код может стать практически безуязвимым.
Задержки с установкой исправлений и устаревшее ПО
Для нового ПО — как коммерческого, так и мгновенного — это будущее на стороне защитника. Для коммерческого ПО и общедоступного ПО с открытым исходным кодом все не так просто. В настоящее время мир полон устаревшего ПО. У многих его компонентов — например, ПО для устройств IoT — нет выделенной команды по безопасности для его обновления. Иногда его невозможно пропатчить. Точно так же, как ИИ труднее находить уязвимости, когда у них нет доступа к исходному коду, ИИ труднее исправлять ПО, когда они не встроены в процесс разработки.
Я не так уверен, что системы ИИ смогут исправлять уязвимости так же легко, как находить их, поскольку исправление часто требует более целостного тестирования и понимания. Это Неизвестное № 3: насколько быстро ИИ смогут создавать надежные обновления ПО для найденных уязвимостей и как быстро клиенты смогут обновлять свои системы.
Сегодня существует временной лаг между выпуском исправления поставщиком и установкой этого обновления клиентами. Этот временной лаг еще больше увеличивается для крупного корпоративного ПО; риск того, что обновление нарушит работу базовой программной системы, слишком велик, чтобы организации могли развертывать обновления без предварительного тестирования. Но если ИИ сможет помочь ускорить этот процесс, быстрее и надежнее создавая исправления и тестируя их в некоей среде-близнеце, сгенерированной ИИ, преимущество переходит к защитнику. В противном случае у атакующего останется окно для атак на системы до тех пор, пока уязвимость не будет устранена.
К самовосстановлению
В поистине оптимистичном будущем мы можем представить себе самовосстанавливающуюся сеть. Агенты ИИ непрерывно сканируют постоянно развивающийся корпус коммерческого и пользовательского ПО, сгенерированного ИИ, на предмет уязвимостей и автоматически исправляют их по мере обнаружения.
Для того чтобы это сработало, необходимо будет изменить лицензионные соглашения на ПО. В настоящее время поставщики ПО контролируют темпы выпуска исправлений безопасности. Предоставление этой возможности покупателям ПО имеет последствия для совместимости, права на ремонт и ответственности. Любые решения здесь относятся к сфере политики, а не технологий.
Если защита сможет находить, но не сможет надежно исправлять уязвимости в устаревшем ПО, именно на этом атакующие сосредоточат свои усилия. В таком случае мы можем представить себе постоянно развивающееся обнаружение вторжений на базе ИИ, которое непрерывно сканирует входные данные и блокирует вредоносные атаки до того, как они достигнут уязвимого ПО. Это не так трансформирующе, как автоматическое исправление уязвимостей в работающем коде, но все же ценно.
Мощь этих защитных систем ИИ возрастает, если они смогут координировать свои действия друг с другом и обмениваться информацией об уязвимостях и обновлениях. Обнаружение, сделанное одним ИИ, может быстро распространиться на всех, кто использует затронутое ПО. Опять же: преимущество защитнику.
Есть и другие переменные, которые следует учитывать. Относительный успех атакующих и защитников также зависит от того, насколько многочисленны уязвимости, насколько легко их найти, смогут ли ИИ находить более тонкие и скрытые уязвимости, и насколько скоординированы действия различных атакующих. Все это составляет Неизвестное № 4.
Экономика уязвимостей
Предположительно, ИИ сначала устранят очевидные проблемы, а это значит, что любые оставшиеся уязвимости будут тонкими. Их поиск потребует вычислительных ресурсов ИИ. В оптимистичном сценарии защитники объединяют ресурсы посредством обмена информацией, эффективно амортизируя затраты на защиту. Если обмен информацией по какой-либо причине не сработает, защита станет намного дороже, поскольку отдельным защитникам придется проводить собственные исследования. Но мгновенное ПО означает гораздо большее разнообразие кода: это преимущество для защитника.
Это необходимо сбалансировать с относительной стоимостью обнаружения уязвимостей атакующими. У атакующих уже есть естественный способ амортизировать затраты на поиск новой уязвимости и создание нового эксплойта. Они могут охотиться за уязвимостями на разных платформах, у разных поставщиков и в разных системах и использовать найденное для одновременной атаки на несколько целей. Устранение общей уязвимости часто требует сотрудничества всех соответствующих платформ, поставщиков и систем. Опять же, мгновенное ПО — это преимущество для защитника.
Но эти труднонаходимые уязвимости становятся более ценными. Атакующие будут пытаться делать то, что сегодня делают крупные разведывательные агентства: находить эксплойты нулевого дня «только для нас» (nobody but us). Они будут использовать их медленно и экономно, чтобы минимизировать обнаружение, или быстро и широко, чтобы максимизировать прибыль до того, как их исправят. Тем временем защитники будут одновременно заниматься поиском уязвимостей и обнаружением вторжений с целью исправления уязвимостей до того, как их найдут атакующие.
Мы можем даже представить себе рынок обмена информацией об уязвимостях, где защитник, нашедший уязвимость и создавший исправление, получает компенсацию от всех остальных в сети обмена информацией/ремонта. Возможно, это преувеличение, но вполне вероятно.
Подъем по стеку
Даже в самом оптимистичном будущем атакующие не собираются просто сдаваться. Они будут атаковать не программные части системы, например, пользователей. Или они будут искать лазейки в системе: то, что система технически разрешает, но что было непреднамеренно и непредвиденно дизайнерами — будь то люди или ИИ — и что атакующие могут использовать в своих интересах.
В этом мире остаются атаки, которые не зависят от поиска и использования уязвимостей в ПО, такие как социальная инженерия и атаки по краже учетных данных. И мы уже видели, как дипфейки, созданные ИИ, облегчают социальную инженерию. Но и здесь мы можем представить себе защитные агенты ИИ, которые отслеживают поведение пользователей, выискивая признаки атаки. Это еще один вариант использования ИИ, и я даже не уверен, как его оценивать с точки зрения гонки вооружений между атакующим и защитником. Но по крайней мере мы выталкиваем атаки выше по стеку.
Кроме того, атакующие попытаются проникнуть и повлиять на защитные ИИ и сети, которые они используют для связи, отравляя их выходные данные и снижая их возможности. Системы ИИ уязвимы для всевозможных манипуляций, таких как prompt injection, и неясно, сможем ли мы когда-либо решить эту проблему. Это Неизвестное № 5, и оно весьма существенно. Всегда может существовать «проблема доверия к доверию» (trusting trust problem).
Никакое будущее не гарантировано. Мы действительно не знаем, будут ли эти технологии продолжать совершенствоваться и когда они достигнут плато. Но, учитывая темпы улучшения разработки ПО с помощью ИИ всего за последние несколько месяцев, нам нужно начать думать о том, как работает кибербезопасность в этом мире мгновенного ПО.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Bruce Schneier