Операция ЫЫ
Обыватель имеет смутное представление о сетях и их безопасности. Оно формируется главным образом из кинематографа (фильмы вроде «Робот-полицейский 3» или «Крепкий орешек 4» и им подобные). В них желательно девочка или никчёмный молодой человек за несколько нажатий на клавиши «взламывает» защищённые инфраструктуры при помощи портативного компьютера и заранее заготовленной красивой графической программы. Ничто не может быть дальше от реальности. Как же дела обстоят на самом деле?
Да, утечки случаются. Да, хакеры сливают гигабайты и терабайты информации. Да, вирусы-шифровальщики ставят на колени организации с большими, вкусными бюджетами. Но это не мгновенный и не спонтанный процесс, а результат помощи изнутри или долгой и кропотливой работы по выявлению и эксплуатации уязвимостей! Каких именно?
Все приложения разделены на слои, число которых различается в зависимости от архитектуры: собственно страницы, их код и стили, то есть визуальное отображение; средний слой с правилами обработки обращений и данных, которых может быть больше одного, а соединены они могут быть чем угодно от прямого сетевого протокола до очередей сообщений или других промежуточных сервисов; ну и база данных или несколько в той или иной форме. Также приложение может быть сегментировано и по перпендикулярной оси, то есть одни функции слоя могут располагаться на одном сервере, другие на другом, и т.д.
Хорошо разработанное приложение предоставляет пользователю из Интернета доступ только к тем функциям и данным, к которым он должен обращаться. Получить другие данные или выполнить иные действия он не может, потому что это не запрограммировано, то есть код не знает, как это делать. Из-за этого взломщики применяют технологию впрыска кода, чтобы добавить нужную себе функциональность. Эти методы давно известны, и существует противодействие. Нас хотят убедить, что искусственный интеллект может со всем этим справиться, но не говорят, как. Так и я могу: утверждать всё, что в голову взбредёт, без доказательств.
Да, мы вроде бы не наивные и доверчивые хомячки и прекрасно понимаем, что важные организации, вроде той самой, не станут уснащать своё заявление подробностями, чтобы не облегчать задачу настоящим взломщикам, особенно пока уязвимости, обнаруженные ИИ, не устранены. Но и голословные утверждения делать им тоже не стоит, потому что их нельзя воспринимать никак, кроме как высосанные из пальца вбросы. Единственное впечатление, которое может произвести такое заявление, — это что ИИ изобрёл совершенно новые принципы получения несанкционированного доступа, тогда как изобретать ИИ не умеет и не может по определению. Он лишь относительно быстро применяет уже известные ему факты и умеет комбинировать их, но чем он в этом отличается от специализированного ПО, о котором автор уже неоднократно писал в предыдущих статьях цикла? Специализированное ПО всегда работает эффективнее, чем общее, тогда как ИИ относится именно к последнему типу!
Краткий ликбез. Возьмём типичное интернет-приложение, не важно на PHP ли, Java, .NET, Ruby или какое-то другое. Вот мы заходим на него через браузер и попадаем на домашнюю страницу со ссылкой «войти». Щёлкнем по ней и увидим поля имени пользователя и пароля или только имени пользователя. Введя их, мы получаем сообщение о том, что нам отправлена двухфакторная аутентификация. Получив электронную почту или текстовое сообщение с кодом, мы вводим его и оказываемся в нашей учётной записи. Ещё на нашем пути может встретиться «капча», которая может быть нестандартной. Как ПО, будь оно специализированным набором сценариев или нейросетью, воспроизвести хотя бы то же самое? У меня для Вас универсального ответа нет, потому что процесс завязан на слишком много распределённых компонентов, каждый из которых защищён своими именами пользователей и паролями и закрыт запрещающими правилами брандмауэров. Без них никак, потому что архитектора и разработчики приложений уже два с лишним десятилетия поступают именно так: закрывают и шифруют все пути обмена информацией между компонентами приложений, оставляя лишь необходимые каналы связи.
Может ли злоумышленник перехватить сообщение с кодом двухфакторной аутентификации или обращение к его приложению? Если у них длинные руки, и они уже подмяли под себя Интернет и сотовую связь, то теоретически это возможно, а практически звучит, как нечто из мира фантастики. Может ли он обойти эту функцию? Для этого ему нужно было бы подменить файлы на серверах слоёв презентации и правил, но к ним нет доступа на запись, ведь приложение тоже не наивный новичок проектировал. По крайней мере, сам автор предоставляет веб-серверу доступ на запись только в те папки, куда он пишет журналы и кладёт закачанные авторизованным пользователем файлы, санкционированные согласно требованиям к приложению. Это простейшая мера, которую может применить любой системный администратор.
Может ли злоумышленник внедрить в приложение собственный код на этапе аутентификации? Если разработчик некомпетентен и не проверяет имя пользователя и пароль на длину и содержание, то в принципе это возможно, но таких разработчиков на сегодняшний день уже немного осталось, особенно в важных организациях вроде той. Вроде бы все уже пользуются верификацией ввода стандартными функциями библиотек и дополнительно собственным кодом, а если нет, то дело не в ИИ, а в некомпетентности разработчиков, контроллёров качества, руководства и т.д.
Предположим невероятное: ИИ обошёл проверку учётных данных и «взломал» приложение. Теперь ему нужно сделать что-то полезное для себя и вредное для владельца. Что? Возможно, это какая-нибудь операция с данными: создание, уничтожение, изменение или несанкционированное получение. Для всего этого у учётной записи должны быть полномочия. Как правило они рангуются по статусу владельца учётной записи. Вот ИИ берёт и заменяет данные в какой-то записи ложными. На это уходит время, а в журналах остаётся запись об этом действии, а то и копии в хранилище аудита, что для важной организации неудивительно. Время как правило существенное, измеряемое несколькими секундами, как все мы давно и неоднократно убеждались, пользуясь разнообразными приложениями. Раскрою маленький секрет: для предотвращения злонамеренного доступа сами разработчики могут вставлять в код двух-трёхсекундные или даже более длинные задержки. Они небольшие и не влияют на производительность системы в целом, но существенно замедляют доступ конкретного пользователя в случае, если он попытается долбить систему несанкционированными обращениям. Если их не применяют в важных приложениях, то проблема опять-таки не в ИИ, а в некомпетентности персонала.
А ведь есть ещё и технология ограничения пропускной способности канала передачи данных, которая не позволит одному пользователю передавать их быстрее, чем нужно. А ведь есть ещё и детекторы вторжений, которые сравнивают деятельность пользователя с заранее определёнными или исторически выведенными шаблонами. А ведь есть ещё ограничения на количество операций, которые пользователю разрешается совершать за единицу времени. А ведь в особо важных приложениях отдельные действия могут тоже требовать ввода уникальных паролей или кодов. Как их узнать ИИ? Все эти методы известны разработчикам уже десятилетия. Неужели та самая организация о них не слышала? Опять таки, тогда дело далеко не в ИИ.
А вдруг ИИ лишь тупо подобрал пароль? Ой, но как же двухфакторная аутентификация?
А может быть, они всё-таки впрыснули свой код доступа к базе данных? Предположим, но в хорошо разработанных приложениях они всё равно не смогут получить доступ, потому что он ограничен только для кода, уже хранящегося в базе в откомпилированном виде. Если приложение использует для доступа в базу в простейшем виде какую-нибудь уродливую библиотеку, генерирующую код на лету, вроде Hibernate или Entity Framework, или же база предоставляет прямой доступ в таблицы, то речь опять не о гении и способностях ИИ, а о некомпетентности персонала. Да, конечно, эти технологии и методы злоумышленники изо всех сил пару десятилетий разгоняли в тематических соцсетях при помощи методов информационной войны и социального инжиниринга, но никто в здравом уме не обязан их слушать.
Пожалуй, хватит. Продолжать нет смысла, потому что из исходного сообщения в прессе вырисовывается не оповещение об опасности, а плохо завуалированная реклама нейросети. Хорошо, когда коммерческой организации можно использовать для извлечения пользы и поддержки курса своих акций государственный аппарат. Всем бы так! Но если задуматься, то это ещё и признание собственной некомпетентности. Правильно разработанные приложения не подвержены взлому извне и могут пасть лишь при помощи самих сотрудников, причём в сговоре. Так что зачем на самом деле был сделан этот вброс, остаётся только гадать. Убедить обывателя в пользе и мощи ИИ с его помощью было можно, но вот профессионалов врядли, а решения принимают именно они.
Свидетельство о публикации №226062501239
