Трилогия «Матрицы» — Matrix, Matrix: Reloaded, Matrix: Revolutions — рассказала нам об успешной реализации метавселенной еще до того, как это стало мейнстримом. В роли создателя этого виртуального мира (а точнее, нейро-интерактивной симуляции) выступил искусственный интеллект, в свое время победивший и поработивший человечество. Правда, сотворение этого мира не обошлось без ряда багов, о которых мы сегодня и поговорим.
Основная сложность с восприятием трилогии заключается в том, что из-за ограниченности данных, которыми располагают герои-люди, и постоянной дезинформации, которая поступает со стороны героев-программ, зритель никогда точно не знает, насколько реальна картина мира, которая в данный конкретный момент фильма считается истинной.
Но поскольку нас в данном материале интересует не философский подтекст, а состояние информационной безопасности, опираться мы будем на то, что считается установленными фактами на момент финала третьего фильма. Осторожно: если вы не досмотрели трилогию, а собираетесь, то сразу предупреждаем, что в тексте полно спойлеров.
Борьба с боевиками Сиона
На момент финала трилогии становится понятно, что по большому счету вся эта борьба с освободившимися боевиками, проникающими в Матрицу, — постановка. Для успешного завершения очередного цикла мятежа Матрице нужно какое-то количество врагов извне. Поэтому точно не известно, реально ли пытаются агенты поймать Морфеуса и его команду или просто имитируют бурную деятельность. Как бы то ни было, мы отметим, что в этот момент не так с точки зрения безопасности, не вдаваясь в детали, были ли эти косяки багами или фичами — то есть являются ли они результатом несовершенства программы или были внесены в Матрицу намеренно (например, в качестве ханипотов).
Пиратский сигнал с кораблей сопротивления
Население Матрицы состоит из аватаров людей, подключенных к системе проводами, и программ, изначально существующих в виде кода. Остается непонятным, для чего вообще была реализована возможность удаленной трансляции сигнала извне системы, позволяющая подгружать аватары посторонних людей.
Обычно подобные дыры можно списать на отладочный канал доступа, который забыли закрыть. Но поскольку в данном случае отладкой занимались вовсе не люди, то данная версия не подходит. И потом, даже если сама функция удаленного коннекта была нужна технологически, то почему автопрограммисты не реализовали файрвол, блокирующий пиратский сигнал?
Неконтролируемая система передачи аватара
Внутри Матрицы пиратские аватары могут появляться и исчезать только около кабельного телефона (хотя в чем разница между мобильным и стационарным телефоном в рамках виртуальной реальности, не объясняется). Причем агенты Матрицы в принципе способны деактивировать эту линию — как минимум в момент захвата Морфеуса они ее успешно перерезают. Но если уж она столь критична для проникновения в Матрицу и эксфильтрации из нее, то почему бы агентам в принципе не отключать ее во всем районе проведения операции — или не забанить ее полностью во всей системе?
Несовершенная система адресации
У Матрицы нет данных о том, где точно находится каждый конкретный объект, хотя объективно потребность в этом есть. Можно допустить, что пиратские аватары скрывают свое местоположение в виртуальном пространстве. Но даже для отслеживания еще подключенного к системе Нео агентам нужен жучок. Тут явный косяк с системой адресации.
Тут же вызывает вопросы пресловутая «красная пилюля» Морфеуса. По его словам, она представляет собой программу отслеживания. Она нарушает входящий и исходящий несущий сигнал, что позволяет вычислить местонахождение тела Нео в физическом мире. Почему Матрица не отслеживает эту аномалию? Это было бы логично — как минимум для перехвата «команды спасателей».
Искусственные ограничения агентов Матрицы
Агенты Матрицы — разумные программы, которые могут временно замещать аватар любого человека, подключенного к системе. Они могут до определенных пределов нарушать условные законы физики, но как бы не очень сильно. Хотя известно, что ограничения этих самых законов — полная условность. Те же «близнецы» из второго фильма трилогии обходятся с ними гораздо более вольно. Спрашивается, почему условные ограничения нельзя снимать хотя бы временно, на момент операции захвата? Тут же в копилку ошибок в коде агентов — им зачем-то оставлена возможность отключения от общей информационной системы Матрицы (путем вынимания из уха наушника). Это явная уязвимость в их коде.
Коды к мейнфрейму Сиона
Вся суть охоты машин за Морфеусом в первом эпизоде фильма — попытка завладеть кодами доступа к мейнфрейму Сиона, которые известны каждому капитану. Вызывает кучу вопросов тот факт, что человек, обладающий кодами доступа к критической инфраструктуре повстанцев, и человек, который ходит в Матрицу — это один и тот же персонаж.
Особенно это странно, если вспомнить, что на борту есть люди вообще без интерфейса для подключения к Матрице — очевидно, было бы безопаснее доверить ценнейшую информацию им. Это уже косяк освобожденных людей, причем косяк скорее организационный — что-то вроде стикера с паролями на мониторе, причем именно у того человека, которого собираются снимать для ТВ прямо на рабочем месте.
Программы-изгои
Матрица почему-то не может эффективно избавляться от программ, ставших ненужными. В ее недрах успешно существуют какие-то разумные приложения из старых версий Матрицы, какие-то информационные контрабандисты, какие-то полуфизические боевики, какой-то Сераф, определяющий свою функцию как «I protect that which matters most» (достаточно распространенный слоган компаний из сферы ИБ).
По объяснениям Оракула, все они должны были быть удалены, но вместо этого выбрали отключение от Матрицы и автономную жизнь внутри виртуальной реальности. Существование неконтролируемого устаревшего софта — явная уязвимость, как и в реальной жизни. Они же буквально помогают хакерам атаковать Матрицу!
Контрабанда программ
Некоторые программы существуют исключительно в «мире машин», но при этом могут проникать и в виртуальный мир Матрицы, где обитают аватары людей. Их контрабандой провозит некий условный железнодорожник. Это иллюстрация проблем с сегментацией системы — существование прямого канала связи между двумя сегментами, которые по задумке создателей должны быть изолированными.
Коридор с бэкдорами
Среди изгоев существует программа «Ключник», чья цель — создание ключей от бэкдоров. На самом деле неизвестно, насколько Ключник реально изгой. Возможно, он, как и Оракул, — часть системы контроля бунтовщиков через Избранного. Факт в том, что он не только выпиливает ключи доступа при помощи напильника и токарного станка, но и рассказывает хакерам о существовании целого коридора с бэкдорами, позволяющими получить доступ к разным участкам Матрицы, начиная от внутренней сети, и заканчивая «Источником» — так называемым ядром системы. И Ключник, и коридор — фундаментальная угроза безопасности всей системы. Особенно учитывая то, как именно этот коридор защищен от посторонних.
Основная проблема с защитой коридора состоит в том, что она почему-то существует по условным законам виртуального мира — зависит от нарисованных электростанций и от эмуляций компьютеров на этих станциях. А эти законы в Матрице, как известно, достаточно несложно нарушать. Да даже если бы они посадили внутрь агента, то это было бы эффективнее. Собственно, почему не посадили-то? Нет денег платить зарплату?
Дети лейтенанта Шмидта Клоны агента Смита
У агентов Матрицы изначально была функция замещения кода аватара любого человека. Однако агент всегда существовал в единственном экземпляре. После того как в конце первого фильма Нео, обретя аномальные способности, проник внутрь агента Смита и попытался разрушить его изнутри, какая-то часть кода аватара Нео перенеслась в код агента. После чего Смит ушел в самоволку, а главное — обрел способность обходить искусственные ограничения: как законы физического мира, так и запрет на возможность существования в одном экземпляре. Иными словами, стал полноценным вирусом.
По всей видимости, он был первым вирусом в Матрице. Иначе нечем объяснить, что в системе не существовало нормального антивирусного продукта, который мог бы отслеживать аномалии в коде, а также изолировать и уничтожать опасные приложения, угрожающие безопасности системы.
Учитывая, что большинство освобожденных из Матрицы людей — хакеры, это все, конечно, очень странно. Казалось бы, заразить Матрицу вирусами — это первое, что они должны были попробовать сделать.
Как бы то ни было, существование Смита, копирующего свой код в любой аватар и в любую программу, служит аргументом в переговорах Нео с искусственным интеллектом. В итоге Нео физически подключается к Матрице, позволяет агенту «заразить» свой аватар, подключается к «Смитнету», а потом разрушает всех агентов.
В результате машины соглашаются на перемирие, останавливают истребление людей и даже обещают отпустить тех, кто не хочет жить в Матрице. А могли бы строить изначально безопасную операционную систему, без всех этих косяков. Или хотя бы использовать надежное защитное решение в сочетании с EDR-системой, способной отслеживать аномалии в сети!