Аннотация: Фантастика, если честно, довольно ближнего прицела.
- Господин Новак, что хорошего вы можете нам рассказать?
Кай обвел глазами зал заседаний. На него смотрели мрачные и невыспавшиеся лица директоров. Круглый стол, выглядит красиво, и должен напоминать артурианский миф. Но Каю в первую очередь вспоминалась "военная комната" из доктора Стрейнджлава. А главное, лица половины участников не видны. Одни потому, что сидят рядом с тобой, другие - потому, что слишком далеко.
- Пока все очень предварительно. Мы приступили всего четыре часа назад.
- Расскажите предварительно, - Кай присмотрелся к бэйджику говорящего. Операционный директор Ричард Восс. Шишка. Да, у него есть повод переживать.
- Предварительно есть плохие новости и очень плохие.
- Начинайте просто с плохих.
- Хорошо. Просто плохие новости. В рамках вчерашнего апдейта на ваши продуктивные сервера был установлен программный агент. Он стриггерил OOMKill, но успел поработать.
Кстати, тут у меня даже есть немного хорошая новость. Ваши юристы добились сотрудничества от двух банков, заблокировали три целевых счета и отозвали триста переводов.
- Из скольки?
- Из примерно восьми тысяч. Идея была, не побоюсь этого слова, красивая. Списывать деньги не со счетов, а непосредственно с баланса банка. Списывание со счетов стриггерило бы антифрод. Или кого-нибудь из владельцев счетов. А так его заметили только потому, что он упал. Если бы автор был не так оптимистичен с лимитом памяти, он мог бы проработать до утра и раздеть вас догола.
- Это не новость, это совпадает с выводами Мерсера.
Каю пришлось напрячь мозги. Ах, Мерсер. Мрачный небритый тип в джинсах и рубашке-поло. Начальник отдела цифровой безопасности. Видимо, считается ценным специалистом, если ему позволяют нарушать дресс-код.
- Это новость, потому что эти выводы теперь подтверждены независимо.
- Что же вы считаете очень плохим?
- Один из выводов мистера Мерсера мы предварительно не можем подтвердить. Он считает, что это зеро-дэй. Мои люди считают, и я с ними согласен, что это человеческий фактор.
- В смысле?
- В прямом. Человек, который посадил эту штуку, скорее всего является сотрудником банка, причем не рядовым.
- На чем основан этот вывод?
- Как вы знаете, - Кай не особо надеялся, что все эти шишки это знают, но надо же им сделать комплимент. - В вашем банке выстроен процесс разработки. Все обновления программного обеспечения, тем более установка новых компонентов, должны проходить утверждение. Запрос на установку этой дряни был должным образом завизирован. Полномочия на это имеют только начальники отделов и их заместители. Далее, система визирования не доступна снаружи, даже через VPN. Она только ограниченно доступна с серверов CI/CD и совсем недоступна с продуктивных серверов. В принципе, грамотно. Изолированные взаимно недоверяющие подсистемы. Какой бы там ни был зеро дэй, накрыть одним зеро дэй линуксовые и виндовые сервера в изолированных сегментах - это фантастика. То есть тот, кто это делал, практически наверняка находился в здании банка и имел авторизацию в системе. И он это сделал вчера вечером, в течение часа между концом рабочего дня и началом апдейта. Кстати, я хочу спросить. У вас же банк, вы должны всех выгонять после конца рабочего дня.
- Главный офис - это просто офис. В этом здании нет ни касс, ни сейфов, ни продуктивных серверов, ни, как вы уже знаете, даже доступа к продуктивным серверам.
- Как видим, некоторый доступ есть, и некоторым его хватило. Но это скорее хорошая новость, потому что резко сужает круг подозреваемых.
- Какой еще круг??? Вы же говорите, завизирован. То есть там есть имя и фамилия сотрудника!
- Пока что мы этого не знаем. Когда я собирал команду, я не знал, что нам придется освидетельствовать также сервера Lotus Domino.
- Привлеките наших специалистов!
Кай сделал паузу, надеясь, что говорящий поймет, какую глупость сказал, но, похоже, этого так и не произошло.
- Поскольку мы подозреваем человеческий фактор, мы не можем доверять вашим специалистам. Во-первых, мои люди сейчас заняты прослеживанием переводов, вы сами сказали, что это приоритетная задача. И наблюдают за восстановлением продуктива. Во-вторых, наш специалист по Domino едет. Но сейчас пробки, он сам не знает когда будет. А потом ему еще допуск оформлять. Но данные, кто из менеджеров среднего звена был в здании вчера вечером, у нас есть. Это, - Кай посмотрел на свою шпаргалку. - Хелен Васкез, заместитель отдела кредитов, и, вы будете смеяться, уже упоминавшийся Дэниел Мерсер.
- Что???
- Я же говорил, у меня очень плохие новости.
- Возможны какие-то альтернативные объяснения?
- Я вижу одну возможность, но она еще хуже, и она скорее теоретическая. Ваша сеть под полным контролем хакеров уже довольно давно. Как минимум с последнего обновления системы документооборота, то есть, если верить Мерсеру, более месяца. В этом случае вы не можете доверять никаким цифровым системам безопасности. Впрочем, без сотрудничества или полной некомпетентности безопасников это практически невозможно, поэтому в этом случае вы своим специалистам тоже доверять не можете.
- И что вы предлагаете делать?
- Отдел безопасности уже отключен от системы. Это был рискованный шаг, но вы его сделали в самом начале, когда пригласили нас. Как выясняется, он был необходим. Кстати, когда я беседовал с Мерсером, он был расстроен, но отнесся с пониманием.
Они же сейчас на рабочем месте? Оба, и Мерсер, и Васкез. Мне кажется, продуктивнее было бы с ними поговорить. Мне необходима какая-то бумага. Я же не коп, я не могу предъявить значок.
- Для Мерсера у вас бумага есть.
- Не совсем на это. Впрочем, там написано оказывать любое содействие. Но для Васкез я просто посторонний.
- Возможно, мне будет проще представить вас лично, - сказал Ричард Восс. - Бумага - это процесс.
- Давайте попробуем так. Но с бумагой как-то надежнее.
Когда Кай и Восс вошли в переговорную, Васкез уже сидела там. Кай сначала заметил какую-то неправильность, и только потом сформулировал вывод, что либо у нее очень короткие ноги, либо она на полголовы, если не на всю голову, выше него. Потом она слегка взмахнула руками, и только тогда Кай пришел к окончательному выводу, что она правда высокая.
Она не стала вставать, когда увидела входящего Восса, просто улыбнулась и кивнула головой. Старомодная версия этикета, женщинам даже перед начальством вставать не надо. А может быть просто не хотела лишний раз напоминать о своем росте.
Она не была красавицей, но Кай безусловно мог бы назвать ее эффектной. Хорошая осанка, тонкий "естественный" макияж. Главным недостатком Каю показалось что она, как говорят актеры, "хлопочет лицом". За несколько секунд пока они шли от двери к столу, она успела сменить четыре или пять выражений.
Каю показалось, что она оценивает его как мужчину, и даже показалось, что оценка скорее положительная. Это было лестно, хотя и немного странно. Впрочем, высоким женщинам, наверное, сложновато подбирать себе пару по росту.
- Это Кай Новак, частный детектив, - практически с порога представил его Восс. - Правление наняло его для расследования одного... Не очень приятного инцидента. У него есть формальный допуск ко всей служебной информации, прошу оказывать ему всяческое содействие. Это миссис Васкез, наш заместитель начальника кредитного отдела. Я вас оставлю?
Даже после представления, Васкез не стала ни вставать, ни протягивать руку. Для рукопожатия стол был слишком широк, не говоря уж про поцелуй руки. А обходить вокруг всего стола, натыкаясь на беспорядочно сдвинутые кресла, выглядело бы глупо.
Дверь за директором закрылась, и Кай решил не затягивать паузу.
- Хелен, вы догадываетесь, зачем я попросил с вами встретиться?
- Я не Хелен, у меня испанское имя. Елена.
- Извините, Елена. Так вы догадываетесь?
- Да и нет. Официально я не знаю ничего, но все знают, что всю команду и айтишников, и безопасников отстранили, и все бегают и суетятся. Я правильно понимаю, что нас взломали?
- Скажем так, да.
- Но тогда я не понимаю, при чем тут я. Я эксель изучала по книжке для чайников. Какой из меня киберпреступник?
- Как вам сказать? Самое слабое место в любой системе безопасности - это люди. Поэтому самые опасные хакеры называются социальными инженерами.
- Вы меня в чем-то подозреваете?
- Я всех подозреваю, у меня работа такая. Собственно, давайте к делу. Я правильно понимаю, что вы оставались вчера вечером в офисе после работы?
- Какое это имеет отношение...
- Возможно, никакого. А может быть и имеет. Это я и пытаюсь выяснить. Но вопрос сам по себе простой.
- Да. У меня был назначен созвон с клиентом. Я не делаю звонков по работе из дома.
- В нерабочее время?
- Он в другом часовом поясе.
- Созвон состоялся?
- Нет. Я еще не узнавала, почему. У них еще ночь.
- Понятно, спасибо. Второй вопрос посложнее. Вы в последнее время визировали заявки на установку программного обеспечения?
- Я вообще не помню, когда в эту систему вообще заходила. Больше года точно. Нам хватает существующей аналитики.
- По моим данным, вы заходили в Lotus вчера.
- Заявки на созвоны планируются тоже в этом лотусе. Но там разные базы.
- Надеюсь, вы понимаете, что это поддается проверке. Третий вопрос совсем сложный. Да, в ваших бумагах нет никаких сведений о продвинутой компьютерной подготовке, не говоря уже про системное программирование. Но ваш муж...
- Бывший муж!
- Вы с ним общаетесь?
- Только через адвоката!
- Я правильно понимаю, что ваш развод связан с тем, что дела его компании в последнее время идут не очень хорошо?
- Это не ваше дело! У вас есть допуск к служебной информации, но это к работе не относится!
- Как я уже сказал, именно это я и пытаюсь выяснить. Что к чему относится.
- Я не хочу про это говорить!
- Я вообще, если честно, не хочу с вами про все это говорить. Но, если вы ни в чем не виноваты, чем больше я узнаю, тем меньше поводов у меня будет вас подозревать.
- Этот гад ушел к моей подруге!
- Этого ваш отдел человеческих ресурсов мне не сообщил. Но... Тем не менее, давайте посмотрим на ситуацию со стороны. Вам при разводе достался дом вместе с ипотечным кредитом. Ваш кредитный рейтинг.... Я понимаю, прозвучит обидно, но это называется сапожник без сапог. Бизнес вашего мужа в не лучшей форме. Вы оба потратились на адвокатов. Если у него теперь новая жена, расходы еще прибавились. Вам нужны деньги, ему нужны деньги...
- Он не хакер, он вообще не программист. Он предприниматель!
- Айти-предприниматель. Если бы он не мог нанимать программистов...
- Я не айтишник, но управление рисками мой хлеб. Втягивать в преступление кучу малознакомых людей можно только в кино, это... хрупко!
- Ваш муж руководитель компании, вы соруководитель отдела. Вы обязаны уметь управлять коллективами.
- Мы собственной семьей управлять не смогли!
- Как бы вам сказать... Это вы так говорите.
- В смысле???
- В смысле... Если коротко, все врут.
- Где-то я такое слышала.
- Вы много где такое могли слышать. Потому что это правда.
- Мне все говорят, я не могу врать. Все на лице написано.
- С таким я тоже сталкивался. Причем чаще у женщин. Некоторые... у которых на лице много написано, умеют, как бы это сказать, скрывать некоторые надписи. С дивной избирательностью. А вы ведь у нас по сфере деятельности переговорщик. Как вы можете вести переговоры, не умея врать? Да еще дорасти до зама при этом?
- Но зачем мне врать о разводе?
- Возможно множество объяснений. Например, одно из них было бы неправдоподобно, если бы ваш муж ушел к секретарше или, скажем, к дочке партнера. Но к подруге... Выглядит как сюжет подросткового сериала. А вы вроде взрослые люди.
- Что вы хотите сказать???
- Я хочу сказать, что зарегистрировать, как это называется, шведскую семью, по действующим законам невозможно. А так вы получаете вашу долю в совместно нажитом имуществе в виде алиментов...
- Вы больной!
Кай поклонился.
- Я предпочитаю называть это профессиональной деформацией. Но я реально с таким сталкивался.
- В качестве частного детектива?
- Да. Что вы хотите сказать?
- Что семьи, даже шведские, в которых все хорошо, не нанимают частных детективов. Получается то же, что я говорила. Чем больше участников, тем больше риски. Я в сложной жизненной ситуации, но я не дура, я не буду так рисковать!
- Если бы вы так рисковали, вы бы сказали то же самое.
- У вас нет никаких фактов, только домыслы!
- Я пытаюсь понять, надо ли мне искать факты. И еще. Правление уполномочило меня сделать не вполне законное предложение. Если вы... если похититель вернет деньги, они не будут привлекать полицию. И если это сотрудник, они готовы выплатить выходное пособие.
- Но как такое возможно??? Если вывели деньги, они обязаны оповестить комиссию по ценным бумагам, ФРС... У банка же начальников больше, чем акционеров. И сейчас владельцы счетов ставят на уши все эти комиссии...
- Меня уполномочили озвучить предложение, но не давали полномочий сообщать все детали.
- Мне нечего ответить на ваше предложение. Я могу вернуть только зарплату, да и то половину потратила. А две трети из оставшегося уже расписано. Но вряд ли это то, что имеется в виду.
- Я вас услышал. Ну ладно. Я пойду собирать факты, а у вас есть время подумать. Или передать мое предложение, пусть кто-нибудь еще тоже подумает. Если действовал коллектив.
- Я могу попросить на следующую встречу прислать доброго полицейского?
- Попросить можете. Но у меня маленькое агентство, а допуск к секретам вашего банка имеет лишь часть команды.
- Я вас услышала. Я могу идти?
- Нет еще. У меня еще один вопрос. Каковы ваши отношения с Даниэлем Мерсером?
- Мы встречаемся на планерках, но по работе не общаемся. Айтишники на него жалуются. Это все?
- Теперь да. Вы официально под подозрением, вам заблокирован доступ во все системы, кроме прохода в здание. Что будет с оплатой потерянного рабочего времени, конечно, зависит от итогов расследования. Но пока, как вы сами видите, данные нехорошие.
Она была зла и испугана, но Кай с некоторым удовольствием отметил, что она, в общем, контролировала себя. Может быть, он перегнул палку, и она, правда, была ни в чем не виновата?
К Мерсеру Кай пошел сам, без провожатых. Начальник отдела кибербезопасности был на своем рабочем месте. Он с мрачным видом сидел перед демонстративно выключенным монитором. Увидев Кая, он не сильно повеселел.
- А, это вы, - вместо приветствия сказал он. - Есть какие-то новости?
- Не очень конкретные. Я правильно понимаю, что вы были вчера в офисе после конца рабочего дня?
- Да. Стажер сказал, что что-то видел в логах сниффера, я хотел сам посмотреть. Ничего не высмотрел.
- Вы утверждали заявки на развертывание программного обеспечения на продуктиве?
- В смысле? У моего отдела нет доступа к продуктиву. Мы там развертываем только сканеры, и по другой процедуре. Как атомные ракеты запускают. Админ и наш сотрудник, твой пароль, мой пароль...
- Но, как у начальника отдела, у вас есть право визировать такие запросы?
- Да, но мы им никогда не пользовались. Вообще никогда. Кстати, по уму это вообще надо запретить. Но вы же не про это? Я правильно понимаю, что вы считаете меня тем человеческим фактором, про который говорили правлению?
- Не совсем. Но пока что вы один из главных подозреваемых.
- Сильно. Но какие у вас факты, кроме того, что я был в офисе перед инцидентом? И того, что мой отдел облажался?
- У вас есть мотив, и есть возможность.
- Денег все хотят. Такой мотив есть у всех. И возможность... по сути, у меня не так уж сильно больше возможностей, чем у хакера со стороны. Я же говорю, у меня нет доступа к продуктиву.
- У вас больше возможностей, чем у хакера со стороны. Вы знаете всю топологию сети, все используемые протоколы и процедуры. Вы можете подкрутить сенсоры и даже подчистить логи. Вы одним из первых получаете все сведения об уязвимостях. Вы знаете сотрудников, и вы авторитет для многих. И... вы знаете, я немного изучил вашу биографию до трудоустройства сюда. К своему стыду, я не сразу вспомнил про дело компании Acme, когда услышал вашу фамилию.
- Если вы изучали историю вопроса, вы должны знать, что мое дело даже до суда не дошло. Мне даже не потребовалось просить защиты как сообщившему о преступной активности. И я не заработал на этом деле ни цента. Впрочем, это по открытым источникам может быть сложнее подтвердить.
- То есть вы считаете себя благородным хактивистом?
- Тогда считал. Вы можете мне не верить, но сейчас я уже не считаю себя таким благородным. Цель не всегда оправдывает средства. Но все-таки это был хактивизм, а не блэкхэт. И это было давно. Использованные мною тогда приемы и навыки, как бы это сказать помягче, устарели. И я теперь в другом окопе.
- Это интересно, но все-таки сложно доказуемо. Что я знаю точно - у вас есть опыт успешного проникновения в корпоративные системы и у вас гораздо больше возможностей, чем у среднего хакера, особенно с улицы. И деньги вам нужны больше, чем среднему человеку.
- Что вы имеете в виду?
- Ваш сын... я не узнал точный диагноз, но он проходит экспериментальное лечение. Довольно дорогое, насколько я понимаю.
- У меня есть сбережения.
- Если мои данные верны, на это лечение уйдут примерно все ваши сбережения.
- Мне далеко до пенсии, я могу еще заработать.
- Возможно. Я говорил лишь, что деньги вам нужны больше, чем среднему человеку. У меня, и правда, пока недостаточно твердых фактов. Но если похититель вернет деньги, руководство банка обещает не привлекать полицию.
- Когда я найду похитителя, я ему передам. Но вы меня отключили от всего. Я же говорил, что это плохая идея. Мы держали его за хвост, а вашим людям надо было входить в контекст. Вы потеряли как минимум несколько часов. Я ничего плохого не могу сказать о ваших спецах, но в таком деле несколько часов могут означать потерю всего.
- Отключить вас было решением правления.
- Но вы его рекомендовали.
- Да. Это стандартная практика. Вы же сами это признавали.
- После этого разговора... да, я понимаю, это эмоции. Но эмоции тоже имеют значение.
- Извините, у меня еще один вопрос. Какие у вас отношения с Еленой Васкез?
- Их отдел не создает мне проблем, поэтому я с ней почти не пересекаюсь. В коридоре здороваемся. Вы тоже ее в чем-то подозреваете? Она же в техподдержку звонит когда ей нужно any key нажать! Она-то тут при чем вообще?
- То есть, думаете, ни при чем? Вы знаете, что она тут была вчера вечером?
- То есть это главная ваша причина для подозрений, что мы были тут вчера вечером? Это просто глупость какая-то. Что мы могли такого сделать, что имело такой эффект? Почему это нельзя было сделать в рабочее время? Стоп. Подождите. Правда, почему так важен... Что вообще случилось? Вы все-таки что-то узнали? Почему... Почему вы спрашивали про заявку на деплой? Кто-то отправил такую заявку? Но тогда почему вы не знаете, кто?
- Но вы же ее не отправляли?
- И не отправлял, и не аппрувил. Но я правильно понимаю, что кто-то это сделал?
- Давайте я скажу "тайна следствия".
Каю показалось, что Дэниел сдерживается, чтобы не сказать что-то грубое. Он сделал длинную паузу, глубокий выдох и сказал:
- Формально, ваше право. Но мне кажется, это плохая идея. Я ничего не могу сказать про ваших людей, но я в контексте ситуации, а они нет.
- И что же вы знаете про контекст?
- Слишком много. Я не знаю, что важно. Игры в ваши вопросы-ответы занимают много времени. Но если была заявка, это не зеро дэй, это инсайдер. Получается вы сказали правлению правду.
- Вы кого-то подозреваете?
- У меня мало фактов. Как, впрочем, и у вас.
- Вы думаете, это кто-то из правления? И не доверяете мне, потому что меня наняло правление?
- Если бы вы поделились вашей частью фактов...
- Знаете, мне хочется вам верить. Но слишком похоже на попытку выманить из меня информацию.
- Справедливо.
- А копу бы вы ответили?
- Скорее всего. Знаете, получается тупик. Вы не доверяете мне, я не доверяю вам. Правление не хочет вызывать копов, потому что надеется вернуть деньги. Я подозреваю, следы денег вы потеряли. Что-то меня тоска одолевает от этой ситуации.
Телефон Кая задребезжал. Он открыл мессенджер.
- Извините, - сказал он Дэниэлу. - Похоже, я все-таки узнал что-то новое.
- И это не то, что вы могли бы мне предъявить?
- Как вы догадались?
- Сызмальства смышлен был. Звучит как хорошая новость. Для меня, во всяком случае. В общем, это, заходите, если что. Мне еще не хватало обвинений в нежелании сотрудничать.
Елену Васкез пришла в переговорную комнату в сопровождении охранника, будто под конвоем. Ситуация ее явно напрягала.
- Здравствуйте еще раз, - Кай предпочел встать при ее появлении, и пододвинул ей кресло. Она мрачно поглядела на детектива, но села, и только потом сказала:
- И я вас рада видеть.
- Возможно, повода для радости нет. Мы связались с Пак Юн Еном, с которым у вас предполагался созвон. Он подтвердил, что ведет с вами переговоры, но про вчерашний созвон ничего не знает.
- Заявка в базе была, я ничего более сказать не могу.
- Допустим. Далее, вы утверждаете, что не визировали заявок на установку программного обеспечения в течение последнего года?
- Да. И до того тоже, этим начальник занимался.
- А вы вообще заглядывали в эту базу?
- Вчера нет, а сегодня меня заблокировали.
Кай открыл выданный компанией ноутбук и вставил временную смарткарту, которую ему сделали для расследования.
- Как вы можете объяснить вот это?
На экране была оформленная по всем правилам заявка на установку микросерсвиса под названием "test module fix-2214". Чуть пролистав экран, Кай дошел до подписей в нижней части формы.
- Это ваша учетная запись?
- Имя мое. И дата... да, вчера после конца рабочего дня. Но... подождите... как...
- Мне кажется, это вы должны рассказать, как.
- Я... я правда... Подождите. Дайте мышь!
- Хорошая попытка, но...
- Ладно, хорошо. Нажмите правой кнопкой мыши. Свойства документа, вторая закладка.
Кей ожидал чего угодно, но не надписи: "Создатель документа: Дэниэл Мерсер".
- Я говорила, я же с самого начала говорила, что меня подставили! Гоните вашего лотусиста в шею! Вы день на меня потеряли! Я на вас в суд подам!!!
- Подождите, подождите, тише, - попытался успокоить ее Кай.
- Вы меня под уголовку подвести хотели, а я тише???
- Елена, если вы будете на все здание кричать, что вас подставили, как мы поймаем того, кто вас подставил?
- Зачем его ловить, вот же он!!!
- Не думаю, что все так просто. Подождите, давайте еще одну вещь посмотрим. Где ваши заявки на созвоны?
- В "Кредитных договорах"... Да, оно. Заявки в процессе, по ответственному, я. Список связанных документов, по дате, вчера. Да, вот оно. Тоже хотите свойства посмотреть?
- Да. Только не кричите, ради бога.
Кай нажал правой кнопкой мыши на документ. И там тоже в создателях значился Дэниэл Мерсер.
- Я не кричу, - сказала Елена. - Видите, я не кричу. Я совершенно спокойна. Что еще тут не просто?
- Если коротко, все. Если даже вы понимаете, что такое возможно и как это проверить... Мерсер все-таки технарь. Если он вообще знает, как это сделать, он не может не знать, как это можно проверить. Он не сделал бы такую глупость.
- Вы хотите сказать, что его тоже подставили?
- Пока что выглядит правдоподобно. Я беседовал с Мерсером. Ваши, должен сказать, убедительные попытки изобразить незнание, как именно происходил взлом, можно было объяснить тем, что вы хорошая артистка. Но он-то артист никакой, хотя и хакер со стажем.
- Но как??? Эта запись же не просто так, оно же имя непосредственно с карточки снимает!
- Там все сложнее. Похоже, мне все-таки понадобится наш лотусист, я даже не соображу, как такое технически возможно. У вас же тоже аутентификация по карточке?
- Да, у всех сотрудников так. Вы думаете, кто-то клонировал карту Мерсера?
- Пока что это теория, которая наилучшим образом объясняет имеющиеся феномены.
Кай достал телефон и выбрал голосовой вызов.
- Макс, ты сильно занят? Обедаешь? Хорошо, доедай, и подойди в переговорную на третьем этаже.
Он выключил телефон и повернулся к Елене.
- Молодец. Вас разоблачил и решил, что это нужно заесть и запить.
- Это ваш, как вы говорите, лотусист? Гоните его в шею, он простых вещей не знает!
- Если всех гнать в шею, без людей останешься. Научится еще. Если честно, я боюсь вас отпускать из этой комнаты. Мы сейчас в той ситуации, которой я пугал правление. Мы не знаем, кому и чему доверять.
- Можно вызывать копов. Или комиссию по ценным бумагам.
- Это лишит банк возможности вернуть деньги путем отзыва переводов, что не обрадует правление. Но они, скорее всего, повяжут господина Мерсера и на этом успокоятся. То есть главному мозгу операции полиция объективно поможет. Если только у Мерсера нет туза в рукаве.
- А он у него есть?
- У меня был с ним странный диалог, из которого я умозаключаю, что он думает, что у него что-то есть. Но он не уверен, что это туз.
- И что мы будем делать?
- Уже мы? Не, вы правы. Мы более или менее в одной лодке. Давайте подумаем... ну, для разминки, над вопросом, кто может вас настолько ненавидеть.
- Два месяца назад я бы сказала, что никто. После истории с Кейт...
- Кейт?
- Подруга, к которой ушел мой муж. Теперь я думаю, что на самом деле ничего не понимаю в людях. Но, знаете... Возможно, тот кто меня подставил... Как это сказать... Ничего личного, просто бизнес. Вы же сами меня пришли запугивать фактами, взятыми из моего досье в отделе кадров. Проблемы с ипотекой, бывший-айтишник... Как вы говорите, мотив и возможность. Я просто удобная мишень для подставы.
- То есть это был кто-то, у кого есть доступ к досье. Кто это?
- Не знаю точно. Отдел кадров, безопасники... Не Мерсер, а, как это сказать, физическая безопасность. Топ-менеджмент. Оно в компьютере лежит, значит админы тоже.
- А мы сейчас посмотрим. Да, похоже вот эта база. Но документы шифрованные, админы могут посмотреть их список, но не содержимое. То есть только безопасники, отдел кадров и топ-менеджмент. Но у безопасников и кадров нет возможности клонировать карту. У топ-менеджмента, впрочем, тоже.
- А еще они не могут взломать систему.
- А вот тут вы не совсем правы. Во-первых, в наше время есть такая штука, называется "искусственный интеллект". Обычно у них есть специальные защиты от вопросов, как взломать систему, тем более банковскую. Но если удачно разбить задачу на подзадачи, он вам может посоветовать что-нибудь интересное. Кстати, поэтому и ваш аргумент, что вы не разбираетесь в компьютерах, был не так убедителен, как вам кажется. Во-вторых, они могут с кем-то договориться.
- Это же хрупко!
- Да, но может и сработать. Ровно то, о чем я говорил. Все эти люди умеют руководить командами и делегировать. Должны, во всяком случае. А вот и Макс. Елена, наверное, мы вас оставим. Извините, но пока что лучше вас оставить под присмотром, чтобы остальные участники событий думали, что вы все еще под подозрением.
Всего через полчаса Кай позвонил Ричарду Воссу и сказал, что готов предоставить результаты расследования правлению. Также он попросил присутствия Елены Васкез, Дэниэла Мерсера и начальника отдела техподдержки, Бена Джабитуйи.
Большинство членов правления оставались в здании. Ситуация, и правда, была критической для банка. Впрочем, появились не все, пришлось проверять кворум. Бен Джабитуйя с начала недели был в отпуске, пришел его заместитель. Пока все собирались, Кай подключал выданный ему ноутбук к проектору.
- Итак, господин Новак, вы готовы нам не только что-то рассказать, но даже показать? - спросил его Восс.
- Да, готов. Итак, кворум есть, ключевые... э... фигуранты есть, кроме одного. Это плохо, но придется начинать без него. Итак. Вчера в рамках планового апдейта на продуктивные сервера был установлен программный компонент с немного странным названием "test module fix-2214", который начал перечислять деньги на сотни различных счетов в двух десятках банков, даже не все оффшорные. И успел перечислить около сорока миллионов. Наверное, надо начать с того, что компонент с таким именем присутствовал в вашем репозитории артефактов довольно давно. Поскольку его имя начиналось со слова "test", он не показывался в списке приложений, доступных для развертывания. Мы посмотрели код этого модуля, это действительно интеграционный тест. Никакого отношения к тому, что было запущено на сервере, он не имеет. Но, если посмотреть историю изменений, мы видим запись "David Ligthman force-pushed changes", причем сделанную не просто после конца рабочего дня, а ближе к полночи, когда апдейт уже должен был завершиться.
- Что эта запись означает? - спросил Восс.
- Это так называемая "перезапись истории", она делается, когда разработчик хочет схлопнуть несколько правок в одну. Но этот механизм позволяет также удалить ранее сделанные изменения так, будто их никогда не было. В релизных ветках нормальных приложений такое запрещено, там стоит флаг "требовать линейную историю". Но это просто тест, его ветки не защищены.
- Вы хотите сказать, что нам необходимо вызвать Лайтмана и спросить его, что это были за изменения и как он делал их в полночь?
- У меня есть сильные основания полагать, что Лайтман тут вообще ни при чем.
- И какие же это основания?
- Я расскажу о них несколько позже. Давайте по порядку. Итак, мы знаем, что во время вчерашнего апдейта этот несчастный "test module" как его там вполне мог быть чем-то совсем не тем, что мы видим сейчас. Но этого мало, ему надо было как-то попасть на продуктив. Это делается автоматически на основе базы документооборота, где заявку на развертывание нового приложения должны завизировать несколько человек. Фокус в том, что окончательную визу должен поставить начальник отдела или его заместитель, и они, в принципе, могут протолкнуть ее через остальные этапы визирования своей властью. Заглянув в эту базу, мы, и правда, видим завизированную заявку, в которой стоит имя госпожи Васкез. Но, если мы посмотрим на эту заявку внимательнее, - Кай воспроизвел процедуру, которую ему показала Елена, открыв свойства документа. - Мы увидим, что ее создала совсем не Васкез, а вовсе даже господин Мерсер. И она вообще была создана в обход бизнес-логики приложения. Например, выбрать имя модуля из списка было бы невозможно, а доступа к содержимому репозиториев у госпожи Васкез нету.
- Зато у Мерсера есть, - сказал Восс. - И он известный хакер.
- Не напрямую. И не такой уж он известный хакер. Например, я, услышав его фамилию, не сразу связал ее с делом компании Acme. Но когда все-таки связал, я ознакомился с его подвигами и сделал вывод, что это не его стиль. Он не стал бы строить такую сложную схему, а пошел бы ломать сразу продуктив. И он не стал бы никого привлекать, и, главное, не стал бы никого подставлять.
- Люди меняются, - сказал Восс.
- Формально говоря, да, но статистически это случается очень редко. Поэтому я задумался над вопросом, как кто-то может стать Мерсером.
- Это невозможно! Все операции в системе документооборота делаются по смарткарте, - сказал Восс.
- Да и нет. Что происходит, когда сотрудник теряет или ломает карту?
- Отдел техподдержки ее перевыпускает, - сказал Восс.
- Но эту карту нельзя просто перевыпустить, как кредитку. Там лежит приватный ключ. Если его заменить, потеряется доступ ко всем шифрованным документам и станут невалидными все электронные подписи. Мастер-копии всех ключей лежат в специальной базе, так называемой id vault, и лежат там особым образом зашифрованные. Процедура их извлечения... Мне эту метафору подсказал господин Мерсер. Процедура их извлечения похожа на запуск ядерной ракеты, несколько человек должны ввести свои ключи. У простых сотрудников это могут сделать админы техподдержки, но им надо собраться и договориться. У, скажем так, простых начальников отделов и их заместителей необходимы начальник отдела техподдержки господин Джабитуйя или его заместитель. Но у начальников айти отделов - собственно отдела техподдержки, админов продуктива, разработчиков и цифровой безопасности, требования еще круче. Для извлечения их айди нужно участие двоих из трех человек - Джабитуйя, его заместитель господин Ли и господин Восс. Кстати, странно, что господин Восс про это не вспомнил.
- Теперь я вспомнил, - сказал Восс. - В то время у нас не было директора по айти, и поручили мне. Но они с тех пор ни разу не теряли карты. Или, может быть, Джабитуйя с Ли справлялись без меня. Но получается, что они могли изобразить и Мерсера, и Лайтмана?
- Или вы вдвоем с любым из них могли бы сделать то же самое. Именно поэтому мне так не нравится, что господина Джабитуйи с нами нет. Потому что я посмотрел логи доступа к id vault, и не нашел там записей об извлечении идентификаторов начальников отделов, но увидел две странные записи. Что господин Джабитуйя на прошлой неделе удалял два документа из id vault, а также что он руками редактировал общий журнал сервера, где должны были бы остаться записи об извлечении ключей.
- Подождите, вы мне напомнили, и я вспомнил, - сказал Восс. - У Джабитуйи другой список восстановления!
- Да, вы совершенно правы. Вообще-то вся эта процедура с двумя паролями применяется, когда пользователь не помнит собственный пароль. Джабитуйя мог бы восстановить собственный ключ без чьей-либо помощи. И поэтому в его собственном списке восстановления он бесполезен. Вместо него там записан Дэниэл Мерсер.
- То есть не только Джабитуйя может стать Мерсером, но и Мерсер Джабитуйей? Тогда он мог бы стать Джабитуйей и подчистить логи от его имени.
- Да и нет. Во-первых, для этого нужен сообщник, причем из очень короткого списка сотрудников. Во-вторых, Мерсер мог бы стать Джабитуйей, но не Лайтманом. В-третьих, есть еще одно место, куда дублируются журналы системы документооборота, и его Джабитуйя подчистить не мог. Это сервер Elastic отдела цифровой безопасности, куда дублируются логи всех сколько-нибудь значимых подсистем, включая документооборот. И там мы видим... да, там мы видим, что господин Джабитуйя с господином Воссом в прошлую пятницу извлекли два приватных ключа, господина Мерсера и господина Лайтмана. При этом господин Джабитуйя предпринял целый ряд мер, чтобы извлеченные ключи не отправились по стандартному маршруту. Остановил роутер и сервер административных запросов, удалил два письма и два запроса. Все записи из штатного лога об этом он убрал, а здесь вот они.
- Не уверен, что этого будет достаточно для полиции. Эластик под контролем команды Мерсера, и туда записи идут без цифровой подписи. Мерсер мог их просто сфабриковать!
- Для присяжных этого может оказаться достаточно. Разумное сомнение, которое необходимо трактовать в пользу обвиняемого. Но не могу не отметить красоту плана. Единственное, что я не совсем понимаю - зачем вам понадобилось подставлять еще и госпожу Васкез. Просто чтобы я потерял время? Но это не так важно, - Кай достал свой телефон и заглянул в него. - Действительно, для окончательного вывода нужна дополнительная информация. И я вынужден немного сменить тему. Если вы помните историю внедрения твердотельных дисков, устройства первых поколений очень страдали от ограниченного количества циклов записи. К десятым годам, это ограничение преодолели, частично за счет простого улучшения технологии. Вместо десятков тысяч циклов их количество удалось довести до сотен тысяч и даже миллионов. Но главный прорыв обеспечила технология выравнивания износа. Грубо говоря, накопитель пишет каждый сектор не поверх предыдущего, а в новое место. А старые данные остаются на старом месте. И, если диск заполнен не очень сильно, могут оставаться там долго. Кстати, поэтому перезапись свободного пространства на таких носителях не имеет смысла. Поэтому ее и не включают, а не только из-за производительности.
- Какое все это имеет отношение...
- Терпение, господин Восс, - Кай снова заглянул в телефон. - Вот теперь можно переходить к выводам. Честно говоря, я рисковал. Можно сказать, пошел ва-банк. Пока мы тут с вами беседовали, мои ребята порылись в вашем настольном компьютере.
- Вы не имели права!
- Имел. Вы нам дали бумагу и техническую возможность для доступа ко всем информационным системам банка. Ваш компьютер - такая система. Да, самые интересные файлы были удалены. Но никто не поставит члену совета директоров компьютер со шпинделем. У вас там NVME. И да, у всех компьютеров банка перезапись свободного пространства выключена, но вы ее зачем-то включили. И зачем-то поставили хакнутый клиент аутентификации, который говорит, что взял ключи со смарткарты, а на самом деле читает их просто из файла. Но благодаря выравниванию износа мы можем посмотреть якобы перезаписанные данные. И то, что мы там нашли, превосходит всякое воображение. Мы там увидели ключи Мерсера и Лайтмана, созданные как раз в прошлую пятницу. Мы там увидели клон репозитория, созданный от имени Лайтмана, а в нем стертый коммит с кодом вируса. Еще мы там увидели примочку для подмены IP адреса. А главное, мы там увидели запускаемый по расписанию скрипт, который после конца рабочего дня лезет в Domino, создает там запрос на установку модуля, потом вычищает его код из репозитория и все удаляет с вашей машины. Кроме хакнутого агента, разумеется, его без перезагрузки не удалить.
- Это все сфабриковано!
- Мои ребята не просто знают, как собирать цифровые доказательства, но и имеют сертификаты. Для суда это все совершенно законные улики. Тем более, есть данные видеонаблюдения, что кроме вас и моих ребят к компьютеру никто не прикасался. И мы бы не успели сфабриковать все это за такое время, а приватные ключи и физически не могли. А кроме того, это же все файлы, а у файлов есть временные штампы. И, по данным замка вашей двери и по видеонаблюдению, в это время в вашем кабинете были только вы. Кстати, не могу удержаться от вопроса. Вы сами это все придумали, или вам Джабитуйя помогал? Или искусственный интеллект насоветовал?
- Я буду говорить только с адвокатом!
- Ричард, адвокат тебе скажет то же, что и мы, - подал голос один из членов правления. Присмотревшись к его бэйджику, Кай успел прочитать что-то про юристов. - Сумма большая, без сделки тебе грозит очень большой срок. А без возврата денег сделка вряд ли получится.