Иллюзорный чемпион. Книга 5 — страница 25 из 42

В первый момент мне показалось, что это какая-то ошибка. Во-первых, я лично вылизывал всю программу, убирая баги и уязвимости, а во-вторых, её аудит проводили десятки высококлассных специалистов. Откуда там взялась проблема?

Однако Лин Су не ошибался, злоумышленники обнаружили новую уязвимость на стороне клиентского кода, не защищённую должным образом. Недавно мы выкатывали обновление, добавляющее дополнительный функционал, и они воспользовались ею, начав перехватить некоторые запросы, заставляя их возвращаться к фальшивым сессиям.

— Как они это нашли? — Спросил я Лин Су, с трудом сдерживая растущее раздражение. — Почему они, а не мы и почему эта дыра до сих пор не закрыта?

Лин Су только пожал плечами, бросил взгляд на таблицу уязвимостей, ведущуюся в отделе защиты, затем обратился к программисту, отвечающему за обновления безопасности.

— Твой участок. Почему уязвимость осталась незакрытой? Мы же недавно делали аудит кода.

— Извините. — молодой программист слегка побледнел. — Видимо мы как-то упустили проблему и просто не обратили на неё внимания, полагая, что раз основные запросы защищены, то нам ничего не угрожает. Очевидно, я ошибся.

— Очевидно. — Повторил я, холодно глядя на него. — В начислении тебе зарплаты мне тоже ошибиться? Немедленно исправь это. Перенаправь ресурсы на устранение этой уязвимости, и настрой авторизацию для всех ключевых страниц, чтобы осложнить их задачу. Лин Су, активируй защиту на уровне веб-аппликаций, будем перехватывать любые подозрительные попытки. Ставь лимит на количество попыток доступа с одного сетевого адреса и включай защиту от ботов.

— Уже активировано, — отозвался Лин Су.

— Хорошо. Сяолун, фильтруй трафик на уровне распределённой сети доставки контента и усиль защиту от инъекций в наши базы данных. Пусть каждый запрос проверяется на аномалии, — продолжил я отдавать команды.

— Принято. — Ответил Сяолун, тут же отправляя новую конфигурацию на сервер.

Казалось, что командная работа наконец начала приносить плоды. Количество успешных попыток взлома начало снижаться, сервера после перезагрузки восстановились, в систему защиты внесли изменения, отсекая врага на уровне файрволлов, и защитные фильтры вроде как начали работать как полагается. Но тишина длилась недолго. Через пару минут экраны снова заполонили уведомления, на этот раз связанные с новой, ещё более изощрённой атакой.

Я едва сдержал раздражение, понимая, что злоумышленники не намерены отступать.

— Теперь что? — спросил я, обращаясь к Лин Су.

— Они вернулись к инъекциям в базу данных, но изменили подход. — Пояснил Лин Су, пока его пальцы молниеносно бегали по клавишам, отбивая атаку. — Похоже, теперь они хотят добраться до наших данных.

— Ладно, раз так, перекрывайте доступ всем подозрительным соединениям и активируйте усиленные фильтры по зашифрованным токенам и инъекциям в межсайтовый скриптинг. — Быстро среагировал я. — Ты, контролируй все соединения и блокируй любой трафик, даже отдалённо напоминающий эти инъекции.

Все в комнате снова погрузились в молчание, которое нарушали лишь команды, раздаваемые для координации да стук клавиш в механических клавиатурах. Через несколько минут стало видно, что наши действия снова начали работать: сервера стабилизировались, и количество вредоносных запросов заметно снизилось. Однако я понимал, что хакеры так просто не остановятся. Они уже доказали свою сверхквалификацию, как специалисты, выискивая и пробуя разные способы, и теперь взялись за поддельные пользовательские запросы. Я бы на самом деле даже не отказался перекупить их на свою сторону, потому что они на самом деле разбирались в вопросе и в теории могли хорошо так усилить нашу защиту.

— Похоже, это какой-то ботнет, но весьма специфический. — Внезапно произнёс Сяолун, всматриваясь в графики на экране.

— То есть? — Уточнил я, обратившись к нему.

— Они не просто генерируют случайные запросы. Очень похоже на то, что это сеть заражённых устройств, которая подделывает запросы под реальные сессии наших пользователей. — Пояснил Сяолун. — Нам придётся замедлить их, если хотим отфильтровать действия врага.

— Значит, займись. — Кивнул я на его слова. — Подключите фильтрацию на уровне глубокого анализа сессий, пусть каждый запрос проходит двойную проверку. Мы можем позволить себе задержку в системе, если это поможет отсечь подозрительные соединения. Ничего страшного, если сообщения будут доставляться не мгновенно, а с задержкой в пару минут. Стабильность системы сейчас гораздо важнее, чем скорость работы.

Все снова погрузились в работу. В воздухе повисла напряжённая тишина, наполненная звуками клавиш и гудением техники. Система фильтрации трафика заработала, отсеивая тысячи запросов в секунду, и нагрузка на сервера заметно снизилась.

Однако, как только нам показалось, что система начала стабилизироваться, на мониторах появились новые предупреждения. Теперь злоумышленники прибегли к хитрой схеме с фишингом, подменяя страницы и пытаясь обманом выманить данные у пользователей, обходя двухфакторную систему аутентификации.

— Что за… — Выругался один из программистов. — Они распространяют в интернете, на похожих доменных адресах, фальшивые страницы, копии нашего интерфейса. Система безопасности идентифицировала несколько таких запросов от якобы наших сотрудников. Злоумышленники пишут пользователям от имени компании, требуя произвести смену пароля, и в итоге, дублируют сессию на своих устройствах, включая её в свой ботнет и маскируя при этом трафик. Плюс, делают тоже самое в отношение сотрудников нашей компании, пытаясь попасть в нашу внутреннюю сеть.

Я подошёл ближе к его экрану и нахмурился, увидев поддельный интерфейс, который действительно выглядел как оригинальный.

— Все слышали? — Повернулся я к команде. — Немедленно отсылайте сообщение каждому сотруднику, объясните, что идёт атака, и запретите переходить по ссылкам в сомнительных письмах. И вообще, повторите команду об отключении всех устройств, не критичных сейчас для работы серверов. Лин Су, дай команду по настройке защиты от фишинга и активируйте протокол защиты для корпоративных устройств.

— Уже делаем. — Отозвался Лин Су, кивнув мне в знак успокоения.

Секунды складывались в минуты, а минуты — в часы. Нас пробовали взломать, а мы продолжали сопротивляться. Злоумышленники тратили просто невероятные силы, пытаясь уничтожить нашу систему, подбирая к ней ключи и атакуя всеми возможными способами. Но наша защита всё же начала приносить свои плоды. Мы смогли перекрыть большую часть каналов, через которые поступали атакующие запросы, и замедлить активность ботов.

— Босс. — Обратился ко мне Лин Су. — Враги делают всё, чтобы обойти нашу защиту. У них много ресурсов, и я предполагаю, что это несколько команд, работающих со всех концов света. По крайней мере я отчётливо вижу след русских и индусских хакеров. Плюс, явно затесались представители Британской Империи, гадящие исподтишка.

— Пускай. Они ещё не поняли, с кем связались. — Ответил я, глядя на графики, где наконец стабилизировались показатели.

В зале для собраний вновь наступила напряжённая тишина, и все вернулись к анализу и проверке систем. Я отдал пару указаний и в зал начали вносить еду и напитки. Работающим людям требовалось срочно восстановить силы, но вот времени на то, чтобы тратить его на полноценный обед у нас совершенно не было, поэтому люди одной рукой хватали бутерброды, откусывая от них огромные куски, а второй продолжали стучать по клавиатуре, вводя команды и вручную отбивая атаки.

Прошел ещё час прежде, чем я увидел первые признаки того, что система справляется с нагрузкой. Трафик начал стабилизироваться, а злоумышленники теряли доступ к нашим основным интерфейсам, один за другим. Наконец стало получаться выбивать их из системы, меняя пароли и токены доступа. Тем не менее, ощущение временной передышки не обманывало никого из присутствующих. Все понимали: это лишь вопрос времени, пока атака не возобновится с новой силой.

И действительно, не прошло и десяти минут, как снова сработали оповещения. Графики трафика входящего трафика взметнулись вверх, отчётливо показывая новую волну запросов. На этот раз злоумышленники применили новую тактику — атаковали через слабые места в сети доставки контента, подделывая запросы пользователей.

— Похоже, они переключились на распределённые сервера, сосредоточившись на те, которые находятся ближе всего к нам географически. — Сказал Лин Су, быстро проверяя показатели. — Чёрт… Да они явно знают, что делают. Если им удастся обойти защиту, то они перегрузят все сервера в Китае и смогут критично замедлить всю систему. А затем, используя уязвимости нулевого дня и уязвимость отказа в обслуживании, снова получат доступ во внутреннюю сеть.

— Сяолун. — Обратился я к ведущему специалисту. — Зеркалируй защиту на всех узлах, отсеивай поддельные запросы по метаданным и типам подключения.

— В процессе, господин. — Ответил он и снова погрузился в работу, быстро вводя команды и прожёвывая уже третий бутерброд.

Несмотря на все наши усилия, злоумышленники продолжали атаковать, а нагрузка на серверы опять начала расти. Они пробовали обойти защиту с использованием зеркальных запросов и подделки трафика, создавая ложные пользовательские сессии.

— Нам нужно поднять дополнительную защиту на уровне всей сети. — Добавил я, подойдя к монитору Сяолуна. — Отсекайте все соединения с зарубежных пользователей. Их всё равно меньше пяти процентов и нам сейчас гораздо важнее внутренние потребители. Даже если придётся временно ограничить доступ только для материкового Китая, это всё равно лучше, чем потерять всю систему.

— Слушаюсь. — Ответил Сяолун и начал применять дополнительные фильтры по базе геолокации, перекрывая трафик с подозрительных сетевых адресов.

Но с каждым новым шагом, который мы предпринимали, казалось, что противник тоже адаптируется, моментально реагируя на вводные. Теперь они начали рассеивать трафик по многочисленным соединениям, что делало задачу по его отслеживанию гораздо сложнее. Мне приходилось искать всё новые и новые решения, чтоб