Магическая соцсеть ver 2.0 — страница 22 из 46

— Понял, Тим, только давай скорее. У нас уже пожар, хоть и не буквальный, но всё горит!

Глава 11

Пробежав сквозь проходную, я влетел в лифт и нажал на нужный этаж. И да, на этот раз мне не удалось насладиться дорогими интерьерами Аркадии, потому что, выходя на нужном этаже, я буквально услышал стоны и крики за стенкой. Казалось, там устроили филиал сумасшедшего дома.

Как только дверь распахнулась, я столкнулся с перепуганным Гошей. Тот тащил под мышкой два ноутбука и орал:

— Тим, наконец-то! Мы уже думали, ты на Гавайи улетел. Быстро иди к Максу, там всё горит!

Я кивнул и бросился вглубь коридора. По пути увидел Аллу, которая тоже была в состоянии паники:

— Ти-им! — крикнула она. — Система лежит! Рекламу, которую мы уже оплатили, никто не видит, а пользователи пишут, что приложение не работает!

— Держитесь, — только и ответил я. — Мы всё решим.

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

В самом опенспейсе творился полный коллапс. Некогда аккуратные столы были завалены распечатками, кофе, пакеты с едой валялись в углу, а весь народ бегал туда-сюда, тыкаясь в ноутбуки, как муравьи во время потопа. Лёха, завидев меня, вздохнул с облегчением:

— Тим, слава богам, — пробормотал он. — Макс там умирает уже.

Судя по его лицу, всё действительно было очень плохо. Я кивнул и двинулся к Максу, который сидел за центральным столом, заваленным кабелями и системными блоками. Рядом с ним что-то шептали двое незнакомых мне парней в футболках «Аркадия». Видимо, подмога от Гео.

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

— Макс! — окликнул я.

— Босс, — он напрягся, но не обернулся: — Не сейчас, я пытаюсь отключить часть запросов, но всё равно прут.

— Кто — всё равно прут?

— Да хрен его знает, — отчеканил Макс. — То ли это боты, то ли настоящие взломщики, но коннекты идут в таких объёмах, что серверы забиваются вусмерть.

С другого конца зала Зу прокричал:

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

Я услышал слово «вирус» и внутренне содрогнулся. Это уже не просто атака, это может быть полноценная диверсия, прописанная в нашем коде. Но ведь кто мог такое провернуть? Ясно, что наши недруги. На ум сразу пришёл НоваКод, который пару дней назад спокойно отрица-а-ал свою причастность, но мы не наивные простачки.

Лёха потряс перед моим лицом каким-то график:

— Смотри, Тим, — ломаным голосом проговорил он, — все линии внизу, всё упало.

— То есть пользователи без доступа?

— Да, — буркнул Лёха, — сейчас большая часть вообще не может открыть приложение, сайт тоже лежит. Если зайдёшь с телефона, пишет «Ошибка сервера». Мы уже потеряли процентов десять пользователей, которые просто удалили нас.

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

В офисном коридоре я заметил Гео, который махнул мне, призывая подойти.

Гео стоял у себя в «аквариуме», раздавая распоряжения по телефону.

— Да-да, Артемий, зови ребят из ХексПэй! — приказал он. — Нужны все, кто шарит в инфобезе и бэкенде. Не важно, что у них там своя загрузка, говори, что это приоритет!

Услышав мой шаг, Гео обернулся:

— Тим, зря ты со мной не поехал, — нота упрёка в голосе.

— Я же не пророк, — коротко ответил я. — Рассказывай, зачем звал.

— Да, ты сам всё понимаешь, — Гео отшвырнул мобильник на стол и нервно провёл рукой по волосам. — Я подключил своих спецов из Аркадии, но им явно чего-то не хватает. Они говорят, что код слишком объёмен, не успевают разобраться. Нужно подключать ещё и ХексПэй, там люди более узко заточены. А лучше бы ещё кого-то.

— Хорошо, — кивнул я, — подключай хоть Марсианскую базу, лишь бы спасли нас.

— Я уже так и делаю, — Гео горько усмехнулся. — Ещё минуту назад сделал звонок в ХексПэй, они готовы помочь. Но, Тим, это всё может быть поздно…

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

— Да уж, — бросил я, бросая взгляд на Макса через стеклянную стену.

— Может, позвать Семена? — предложил Лёха, понизив голос. — Он же, нам помог и на долю претендует.

— Я как раз хотел ему позвонить, — ответил я.

— Пробуй, — согласился Гео. — Нам сейчас любая помощь не помешает.

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

— Привет, Тим! — раздался голос. — Ты вовремя, я уже слышал, что у вас там беда.

Вот любит он всё знать. Хотя я был даже рад, что он в курсе, — лишние слова не нужны.

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

— Конечно, — ответил он, — дай доступ и мы подключимся.

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

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

— Ок. Спасибо.

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

Но я не переживал за это, так как патент на алгоритм у нас уже был.

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

Однако надежды таяли — несмотря на всю нашу внушительную «армию», штурм вируса не продвигался. Где-то через час меня отловил Макс со словами:

— Тим… — Макс выдохнул, заходя внутрь. — Мы сделали всё. Правда, всё. Я, Гоша и Зу, плюс спецы от Гео, плюс ХексПэй, Семён… Все бились до последней строчки кода.

— И что? — я попытался сохранять спокойствие. — Есть хоть надежда?

Макс прислонился к стене:

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

— То есть… — я сглотнул, — вы не можете его остановить? Совсем?

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

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

— Понятно, — сказал я, стараясь выглядеть уверенно. — Ладно. Макс, пойдём, покажешь, что именно там происходит.

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

Гео выглядел так, словно ему дали по голове увесистой палкой. Он тяжело вздохнул и произнёс:

— Может, хоть что-то удастся восстановить.

Я кивнул, затем, сжав зубы, двинулся обратно в опенспейс. Надо было поговорить с командой — они ведь тоже все на нервах.

Когда я вышел, перед глазами предстала трагичная картина: ребята сидели с опущенными головами, кто-то упорно долбил по клавишам, но судя по взглядам — никто уже не верил в успех. Зу что-то говорил Гоше, передавая ему распечатки, а рядом Максовы коллеги из Аркадии перешёптывались о том, что «всё пропало, шеф».

Я глубоко вдохнул, подавив комок в горле, и попробовал сохранить спокойное лицо. Подошёл к коллегам:

— Друзья, — сказал я, стараясь, чтобы голос звучал уверенно, — не паникуем. Пусть Макс говорит, что ситуация критическая, но мы не должны сдаваться!

Они молча кивнули, никто не улыбался. Похоже, все считали, что это конец. Я попросил Макса ещё раз показать мне, где «эта тварь» бродит по нашему коду.

— Зачем? — Макс пожал плечами. — Ты же не программагист такого уровня, чтобы…

— Ничего, — перебил я. — Давай, мне надо взглянуть.

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

Макс вздохнул, повернулся к ноуту, вывел схему архитектуры. Мы видели, как таблицы и файлы буквально «сыпятся» — некоторые куски становились недоступными. На экране всплывали красные индикаторы, свидетельствующие о гибнущих модулях.

— Вот так и погибают проекты, — горько сказал я. — Пара злых конкурентов — и всё, под откос.

Я опустился на корточки рядом со столом, в упор смотря на всё это на экране. Мы потели, мы дрались с Кораблёвым, обманули его, боролись с Гео, вот теперь — НоваКод. Чёрт, а ведь они нас просто решили стереть с лица земли.

Мелькало чувство несправедливости. И вот так? Мы потеряем всё? Но тут же внутренний голос орал — «Ни фига! Мы — МагНет!»

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