Перейти к содержанию

- 15 -

Пока я делал себе кофе, Озолс сказал:

— Ты сегодня куда ездил? Я размялся до Рагациемса.

Размялся? До Рагациемса? Туда-обратно, наверно, около ста километров, для меня это хороший заезд на целый день, а у него разминка! Но я постарался сделать вид, что ничуть не удивлен.

— Я далеко не ездил — времени не было, только в Иманту, хотел на месте на банкомат посмотреть. Удалось выяснить, что в этом банкомате два раза делались транзакции, которые запускали цепочку событий, в результате которой и украли деньги.
— Два раза? Еще у кого-то деньги украли?
— Нет, похоже, в первый раз злоумышленник проверял, как все работает. Тестирование, нормальное дело. И в связи с этим у меня просьба — можно достать видео с самого банкомата на эти две транзакции?
— Думаю, проблем с этим не будет, но сегодня выходной, так что это только завтра.
— Хорошо.
— Я вызвал бухгалтеров на три, у нас есть еще немного времени до разговора с ними.
— А зачем нам с ними говорить?
— Ну тебе же нужен доступ к компьютерам, а пароли только у них. К тому же надо выяснить вопрос про мобильное приложение.
— Ну да. А по поводу вчерашней находки есть какие-то новости. Горелова когда отпустят?
— Во-первых, мы не знаем на сто процентов, что он ни при чем. Во-вторых, как только он выйдет, настоящий преступник поймет, что мы нашли след, а мы не хотим его спугнуть. Чем меньше он знает про нас и наши открытия, тем больше шансов его найти.
— Но Горелов же невиновен!
— Вполне возможно. Сочувствую ему. Но мне важнее вернуть деньги.
— Ну можно хотя бы как-то облегчить ему жизнь?
— Я поговорю с Пуриньшем, но ничего не могу обещать.

Ок, я так Максу и передам.

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

Озолс попросил включить и разблокировать компьютеры. Главбух стала возмущаться, что ни за что не пустит постороннего за компьютер, где находится важная финансовая информация, и что очень странно, что человек, отвечающий за безопасность в компании, принимает такие решения. Мне было неинтересно слушать их спор, поэтому я стал изучать обстановку. В бухгалтерии царил порядок, притом какого-то фантастического уровня. В IT-конторах, к которым я привык, такого не бывает никогда. Все папки аккуратно расставлены по шкафам, нигде ни бумажки, даже ручки не лежат на столах — только в стаканах. Сама мысль о том, что тут кто-то мог случайно оставить кодовый калькулятор, казалась ересью. Естественно, никаких бумажек с чем-то, похожим на пароли или PINы, тоже не было, я даже заглянул под клавиатуры — там тоже никаких предательских записок. Заметив мои манипуляции, тон главбуха повысился еще сильнее. Я посмотрел на Озолса — он был само спокойствие, по крайней мере внешне. Он взглянул на часы, достал из кармана телефон и перебил главбуха на полуслове:

— Vai tev ir vajadzīga Viestura pavēle? Tūlīt būs(1).

  1. Тебе нужен приказ от Виестура? Сейчас будет (латышский).

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

Четкого плана поиска у меня не было, но я точно знал, с чего стоит начать. Поскольку от Макса я узнал точное время регистрации мобильного приложения как средства подтверждения, то в истории браузера я хочу видеть какое-то общение с банком. Таким образом есть шанс сузить круг подозреваемых или установить, что это делалось не здесь. Конечно, есть шанс, что историю подчистили, так что если следов не будет, это еще ничего не гарантирует, но вот зато если будут…

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

Я открыл историю браузера, прокрутил на 10 апреля — тот день, когда было зарегистрировано приложение, и не увидел там ожидаемого обращения к www.lotusbank.com, зато там был запрос на очень подозрительно выглядящий www.xn--ltusbank-nbh.com. Я попробовал открыть этот сайт — нет ответа. Значит, сервер убрали после того, как он выполнил свою задачу.

В это время вернулась главбух со стаканом воды. Я повернулся к ней:

— Скажите, а не приходило ли каких-то подозрительных писем от банка в последнее время?
— Каких «подозрительных»? — довольно неприветливым тоном спросила она.
— Да вообще любых писем от банка?
— Не было, зачем им нам писать?
— Точно?

Взгляд главбуха посуровел. Я подумал, что сейчас буду куда-то послан, но тут в разговор вмешалась молодая бухгалтерша:

— Mara, tā bija vēstule, par anketu…(1)
— А, было. Банк просил подтвердить анкету клиента. Они иногда так делают, от них fuktuk(2) требует. Но там ничего особого.
— А вы подтвердили?
— Конечно, мы же не хотим, чтобы счет заблокировали, — фыркнула главбух.
— А анкету надо было подтвердить калькулятором?
— Кажется, да.
— Можно взглянуть на письмо?
— Сейчас найду, если не стерла.

  1. Мара, было же письмо, про анкету… (латышский).
  2. Так обычно называют FKTK — латвийский надзорный орган, следящий за финансовыми учреждениями.

Письмо от 10 апреля выглядело натурально, с логотипом банка, в корпоративных цветах, с правильного адреса, и линк на страницу с анкетой в письме казался нормальным. Я нажал на линк, но вместо сайта банка в открывшемся окне Chrome вылетела ошибка о том, что имя не найдено. В поле URL был уже знакомый адрес www.xn--ltusbank-nbh.com.

— Понятно. Это фишинговое письмо. Злоумышленник зарегистрировал домен почти как у банка, но с каким-то другим символом вместо буквы «о», скорее всего, русская «о», и скорее всего, получил на него настоящий SSL-сертификат, чтобы выглядело все натурально. Потом прислал письмо якобы от банка со ссылкой на свой сервер. Вы думали, что подключились к банку, а на самом деле — к постороннему серверу, который получил пароль и код калькулятора, с которым тут же зарегистрировал мобильное приложение в настоящем интернет-банке. После того как дело было сделано, он убрал сервер.

Главбух покраснела.

— То есть она думала, что подтверждала анкету, а на самом деле с этим кодом подтвердила мобильник? — спросил Озолс.
— Именно так, в этом главная проблема кодового калькулятора — вы тут вводите какое-то число с web-страницы и не знаете, что на самом деле подписываете.
— Это нам что-то дает?
— Я посмотрю, где и на кого зарегистрирован этот домен, ну то есть имя сервера, хотя реальных данных там, конечно, не будет. Но проверить все равно надо.
— Хорошо, пойдем посмотрим.

Озолс окинул бухгалтеров тяжелым взглядом и направился к двери. Уже за дверью он сказал мне:

— Но она ведь должна были увидеть в браузере, что имя сервера показывается по-другому, не lotusbank, а ерунда какая-то.
— Да, должна была. И это странно — риск спалиться у преступника был немаленький, и тогда вся схема не работает. Пока все, с чем мы сталкивались, было сделано очень чисто, даже элегантно, а тут так грубо. Наш пациент так не работает.
— Пациент?
— Ну да, которого мы хотим найти и вылечить.
— Он бы у меня быстро вылечился! То, что грубо — не проблема, он мог просто это не учесть, преступники обычно не очень умные.
— А ты занимался киберпреступлениями?
— В мое время таких не было.
— Думаю, это совсем другие преступники. Все, что я до этого видел, говорит о том, что наш пациент совсем не глуп.
— Я знаю, что прокалываются все, какими умными бы они ни были. Просто не всегда есть время дождаться этого момента.

У меня был хороший аргумент, что умных преступников просто не ловят, это классическая «ошибка выжившего», но вряд ли я смогу его убедить. Да и не надо мне его убеждать, пусть живет в своей уверенности.

— Я хочу кое-что проверить. Есть свободный компьютер?

Озолс замялся — пускать меня за свой компьютер он явно не хотел.

— Хотя не надо, я с телефона посмотрю.

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

— Короче, бухгалтера твои не виноваты, кто угодно повелся бы.
— Поясни.
— Мы увидели имя сервера, записанное в кодировке Punycode — она используется для отображения имен, содержащих нелатинские символы. Но Chrome стал отображать имена таким образом с 19 апреля, а до этого нельзя было понять, кириллица или латиница, оказывается, это была известная проблема(1). Письмо якобы от банка пришло 10 апреля, до исправления в Chrome. То есть до 19 апреля это была так называемая zero day уязвимость — та, для которой нет исправления, от нее нельзя защититься. Но самое интересное, что официально об этой проблеме объявили только 14 апреля. Значит, наш пациент знал об этом еще раньше, скорее всего, из каких-то хакерских форумов. Что важно — это проблема есть не во всех браузерах.
— И что это значит?
— Скорее всего, он знал, что бухгалтера используют именно Chrome.
— А может, ему просто повезло, что у нас используется именно этот браузер, и в нем была эта проблема?
— Это возможно, но мне кажется, что все его шаги хорошо просчитаны, и скорее всего, он знал, что делал.
— Не уверен. Я думаю, что ты преувеличиваешь способности своих коллег из чувства солидарности.
— Из солидарности? Коллег?
— Ну, хакеров, вас же так называют?
— То есть я тоже этим занимаюсь, по-твоему?
— А разве нет? Мне ребята из полиции именно так тебя описали. Правда, у них на тебя ничего нет.
— Я правильно понимаю, что они меня в свою картотеку занесли? Я теперь потенциальный подозреваемый в любом компьютерном преступлении?
— Не знаю. Но это возможно.

  1. Речь идет об уязвимости CVE-2017-5060, исправленной в Chrome версии 58.0.3029.81.

Я взял паузу секунд в пять, чтобы сделать несколько глубоких вдохов-выдохов. Затем взял себя в руки и сказал:

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

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

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