Взломать всё. Как сильные мира сего используют уязвимости систем в своих интересах - Брюс Шнайер
Шрифт:
Интервал:
В том же году на DEF CON проводилась игра «Захват флага» с участием человеческих команд. Единственное исключение сделали для Mayhem – ее тоже пригласили поиграть. Система ИИ заняла последнее место в общем зачете, но в некоторых категориях показала не самые плохие результаты. Несложно себе представить, как эти смешанные соревнования развернутся в будущем. Мы видели траекторию развития подобной конкуренции на примере шахмат и игры го. Участники с ИИ будут прогрессировать с каждым годом, поскольку все основные технологии совершенствуются. Команды людей в основном останутся на прежнем уровне, потому что люди остаются людьми, даже когда совершенствуются наши инструменты и владение ими. В конце концов ИИ, вероятно, станет регулярно побеждать людей. Я готов дать прогноз, что на это уйдет не более десяти лет.
По необъяснимым причинам DARPA так и не повторила «Захват флага» с участием ИИ, зато Китай с тех пор взял такой формат на вооружение: он регулярно устраивает разнообразные гибридные игрища, в которых команды людей и компьютеров соревнуются друг с другом. Подробностей мы не знаем, поскольку такие соревнования проводятся только внутри страны и все чаще организуются военными, но доподлинно известно, что китайские системы ИИ быстро совершенствуются{244}.
Пройдут годы, прежде чем мы полностью раскроем возможности ИИ в плане автономных кибератак, но эти технологии уже меняют их характер. Одной из областей, которая кажется особенно плодотворной для систем ИИ, является поиск уязвимостей. Просматривание программного кода строка за строкой – это именно та утомительная задача, в которой ИИ преуспевает, если только научить его распознавать уязвимости. Конечно, необходимо будет решить множество проблем, связанных с конкретными областями применения, но по этой теме уже существует академическая литература, и исследования продолжаются{245}. Есть все основания ожидать, что со временем системы ИИ будут улучшаться и в итоге приблизятся к совершенству.
Последствия этого потенциала простираются далеко за пределы компьютерных сетей. Нет никаких причин, по которым ИИ не сможет найти тысячи новых уязвимостей в системах, о которых шла речь в этой книге: налоговом кодексе, банковских правилах, политических процессах. Везде, где есть большой массив правил, взаимодействующих друг с другом, ИИ с большой вероятностью найдет уязвимости и создаст эксплойты для их компрометации. Сегодня системы ИИ уже вовсю ищут лазейки в коммерческих контрактах{246}.
Со временем эти возможности будут шириться. Любой хакер из плоти и крови хорош лишь настолько, насколько он понимает систему, на которую нацелился, и ее взаимодействие с остальным миром. ИИ достигает этого понимания практически сразу, благодаря данным, на которых его обучают, и продолжает совершенствоваться по мере своего использования. Современные системы ИИ развиваются непрерывно, получая все новые данные и соответствующим образом корректируя свою работу. На этом потоке данных ИИ продолжает обучаться и пополнять свой опыт прямо в процессе работы. Именно по этой причине разработчики систем ИИ для беспилотных автомобилей любят хвастаться количеством часов, проведенных на дорогах их детищами.
Разработка систем ИИ, способных взламывать другие системы, порождает две связанные между собой проблемы. Во-первых, ИИ может получить указание взломать систему. Кто-то может «скормить» ИИ налоговые кодексы или правила мировой финансовой игры с целью создания прибыльных хаков. Во-вторых, ИИ может взломать систему случайно в процессе своей работы. Оба сценария не сулят ничего хорошего, но второй куда опаснее, поскольку мы можем так и не узнать, что произошло.
57
Хакинг ради цели
Как я уже отмечал ранее, ИИ решает проблемы не так, как люди. Он неизбежно натыкается на решения, которые мы просто не способны предвидеть. Некоторые из этих решений могут подрывать цель анализируемой системы в силу того, что ИИ не учитывает последствия, контекст, нормы и ценности, которые люди принимают как само собой разумеющиеся.
В отношении ИИ выражение «хакинг ради цели» означает, что для решения поставленной задачи он может действовать так, как не планировали его разработчики{247}. Приведу несколько ярких примеров.
● В футбольном симуляторе в режиме «один на один» игрок должен был забивать голы вратарю. Вместо того чтобы наносить удар, когда игрок оказывался прямо напротив ворот, система ИИ принимала решение выбивать мяч за пределы поля{248}. Вратарь, как единственный представитель команды-соперника, должен был сам вбрасывать мяч из-за боковой, оставив ворота незащищенными.
● ИИ было поручено сложить из виртуальных блоков{249} максимально высокую стену. Высота измерялась по нижней грани последнего блока. ИИ научился переворачивать этот блок так, чтобы его нижняя грань была обращена вверх и стена казалась выше. (Очевидно, что в правилах не было четких указаний относительно того, как должны быть ориентированы блоки.)
● В моделируемой среде для «эволюционирующих» существ ИИ было разрешено изменять физические характеристики своего персонажа, чтобы лучше достигать разных целей. Когда исследователи поставили перед ИИ задачу как можно быстрее пересечь далекую финишную черту, они ожидали, что тот отрастит персонажу длинные ноги, увеличит объем мышц или легких. Но вместо этого ИИ сделал своего персонажа достаточно высоким{250}, чтобы тот пересек финишную черту, просто упав на нее.
Все это хаки. Вы можете подумать, что дело в плохой формулировке задач, и будете правы. Вы можете указать на то, что все это происходило в симулированной среде, и тоже будете правы. Но проблема, которую иллюстрируют эти примеры, является более общей: ИИ создан оптимизировать свои функции для достижения цели. При этом он может естественным образом непреднамеренно внедрять неожиданные хаки.
Представьте, что роботу-пылесосу{251} поручено убирать любой мусор, который он увидит. Если цель не определена более точно, он может просто отключить или прикрыть непрозрачным материалом свои визуальные датчики, чтобы не видеть грязь. В 2018 г. один предприимчивый – а возможно, и просто скучающий – программист решил, что не хочет, чтобы его робот-пылесос постоянно натыкался на мебель{252}. Он настроил систему обучения таким образом, чтобы она поощряла робота, когда тот не задевал препятствия датчиками. Однако вместо того, чтобы перестать натыкаться на мебель, ИИ научился водить пылесос задним ходом, поскольку на задней части устройства попросту не было датчиков – все они размещались спереди.
Если в наборе правил есть нестыковки или лазейки и если они могут привести к приемлемому решению, то ИИ найдет их. Взглянув на такие результаты, мы можем сказать, что технически ИИ следовал правилам. Но все же мы будем чувствовать в этом отклонение и обман, потому что понимаем социальный контекст проблемы так, как не понимает его ИИ. Просто у нас другие ожидания. Исследователи называют эту проблему «согласованием целей».
Ее хорошо иллюстрирует миф о царе Мидасе. Когда бог Дионис готов исполнить его единственное желание, Мидас просит, чтобы все, к чему он прикоснется, превращалось в золото. В итоге Мидас умирает от голода и несчастий, поскольку вся еда, питье и даже его дочь превращаются в непригодное для употребления в пищу и безжизненное золото. Это не что иное, как проблема согласования целей: Мидас неверно запрограммировал цель в своей системе желаний.
Джинны в сказках тоже весьма привередливы к формулировкам желаний и могут быть злонамеренно педантичны, исполняя их. Но перехитрить джинна невозможно. Что бы вы ни пожелали, джинн всегда сможет исполнить это так, чтобы вам захотелось все отменить. Джинн всегда сможет хакнуть ваше желание.
В более общем
Поделиться книгой в соц сетях:
Обратите внимание, что комментарий должен быть не короче 20 символов. Покажите уважение к себе и другим пользователям!