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