– Ничего страшного, – продолжил я с облегчением, – это ошибка программирования, такие ошибки стыдно допускать даже на втором курсе. Значит, придется мне уволить виновного и самому засесть за работу. В начале следующей недели все будет готово.
– Это не ошибка программирования.
На сей раз заговорил Мирко Гуиди. До сих пор он держался в стороне, в глубине комнаты, уместив зад на столе с принтерами и скрестив руки на груди.
– Ты прекрасно знаешь, что это не простая ошибка, не то мы нашли бы ее раньше. Допустим даже, что у вас одни придурки, но у нас‑то нет: мы все проверяли и перепроверяли. И все работало.
В другое время я бы отвесил этому наглому юнцу такую оплеуху, что сшиб бы его с ног, а потом послал куда подальше, – я собрал свой первый компьютер, когда он еще пешком под стол ходил. Однако я так одурел, что только и мог сказать:
– Что же это, если не ошибка?
– Ты у меня спрашиваешь? Вирус. Вирус отложенного действия. Посмотри на дату.
Я взглянул на дату в правом нижнем углу экрана: 15 сентября.
Вмешался Джулиано:
– Мы нарочно оставили дату, чтобы выяснить, нет ли тут бомбы замедленного действия. Ясно? Все подстроено с таким расчетом, чтобы вирус активизировался в разгар финансовых операций заказчика.
– Вы отдаете себе отчет, доктор Барберис, что произойдет, если любой желающий сможет проникнуть в закрытую зону инвестора, в личный кабинет клиента на сайте?
– Конечно. Он может использовать данные в мошеннических целях.
– Это только один аспект проблемы. Подумайте об ущербе для репутации нашего заказчика. А ведь основа деятельности любой финансовой компании – прежде всего надежность, стоит доверию клиента пошатнуться, как все рушится. Это относится и к вашей работе.
И снова встрял Гуиди:
– Как вы не догадались перевести дату? Так всегда делают!
– Делают, когда ищут вирусы, а не когда проверяют системы собственного производства, зная наверняка, что они не могли быть заражены со стороны. Разве что…
Я глянул прямо ему в глаза. Подлый молокосос ухмылялся. Я продолжал:
– Разве что вирус подсадил в программу посторонний, знавший исходный код, кто‑то не из моей фирмы.
Подлый молокосос по‑прежнему ухмылялся, разве что не хихикал. Точно такая же улыбочка была у Джулиано в тот вечер, когда я его убил. Да, наверное, в тот вечер на лице Джулиано Лаянки я разглядел усмешку Мирко Гуиди, возможно, когда я во второй раз выжимал сцепление, чтоб размозжить ему череп, мне хотелось убить их обоих. Я вскочил:
– Сейчас я возвращаюсь к себе в офис, беру копию системы, которая не заражена этой дрянью, и увидите, что вам еще придется просить прощения.
Я едва не вырвал свое пальто из рук Элены и ушел не попрощавшись.
До самой станции метро «Кадорна» я бежал, потом скатился вниз по лестнице. В Милане у меня не выходило ездить на машине, а трамваи и автобусы, похоже, соревновались, кто тащится медленнее. К счастью, существовало метро, метро и собственные ноги. А в Милане, как всегда, царил хаос. Хорошо бы иметь мачете, чтобы расчищать себе путь в толпе – среди мелких служащих с дипломатами, дамочек с пакетами из дорогих магазинов, среди студентов, что слонялись по городу, от безделья не зная, куда деться.
Я предвкушал победу, но все еще кипел от злости. А злость заставляет ненавидеть весь мир. Я возненавидел всех, кто вошел до меня и вместе со мной в переполненный душный вагон. Ненавидел цыганенка, упорно терзавшего аккордеон, чтобы вымучить из него что‑то похожее на «Розамунду», а потом тыкать в нас картонным стаканчиком из‑под кока‑колы, куда он собирал милостыню: я бы разбил ему об голову этот аккордеон.
А потом, когда доехал до Сан‑Бабила, готов был расшвырять народ на эскалаторе, я бы спихивал их вниз, пусть катятся по ступенькам все эти идиоты, даром только заполонившие пространство и время.
Вот она, злоба.
Я выбрался из метро и опять побежал. Рядом с улицей Доницетти я заглянул в бар, чтоб перевести дух.
– Один эспрессо. И поскорее, пожалуйста. Кассирша спросила, не найдется ли у меня мелочи. Мелочи не нашлось, черт бы их всех побрал.
– Погодите, я спрошу, может, кто‑нибудь разменяет. Послушайте, кто‑нибудь разменяет мне пятьдесят евро? Никто. Джино, прошу тебя, сходи в табачную лавку и спроси, может, там разменяют…
Боже правый, господин судья, она решила меня уморить, эта кассирша.
К черту. Скорей отсюда. А потом – одним духом на улицу Архимеда.
Вот и кабинет, вот кресло, пальто брошено на спинку, включен компьютер.
Я перевел дату.
12 марта. Все в порядке.
23 мая. Все в порядке.
14 июля. День взятия Бастилии. Все в порядке.
15 сентября. Все в порядке.
Я был прав. Они хотели меня надуть, но прав‑то я: исходная программа была чистой, какой там еще вирус!
11 октября. Все в порядке.
2 ноября.
Проклятье.
Вот она, цветная круговерть. Все тот же психоделический глюк.
Вирус‑мутант, из тех, что собирают в зараженном компьютере информацию и активизируются в разное время в разных компьютерах.
Вирус сидел и в исходной программе, и значит, его не мог подсадить Гуиди.
Вы понимаете, господин судья?
Не стану сейчас перечислять все предосторожности, к которым я прибегал, но ручаюсь, что в свой компьютер я ни разу не вставил ни единого диска из «Караваджо». Этот компьютер обладал максимальной защитой. Он не был подключен к сети и не имел устройства для чтения, ни для дискет, ни для CD, лишь мастеризатор, у которого я обрезал кое‑какие проводки, чтобы он только записывал диски. Обмен данными осуществлялся только через флэш‑память. Не знаю, слышали ли вы о ней, сейчас она в большой моде. Крошечные микросхемы, которые через USB‑порт присоединяются к компьютеру, и на них можно записать до миллиарда байт, что‑то около миллиарда букв или, если хотите, три тысячи средней длины романов. Представьте, эти чипы такие крохотные, что умещаются в авторучке. Моя флэшка хранится у меня на запястье в часах, и часы я не снимаю никогда и ни при каких обстоятельствах. Только этот микрочип мог ввести данные в мой компьютер, потому что я разработал софт, который опознавал эту единицу памяти и блокировал любую другую.
Система защиты, которую мы растили восемь месяцев, проходила только через флэш‑память. Отдельные части программы соединялись на моем компьютере и, прежде чем попасть туда, проверялись мной и только мной. Невозможно, чтобы этот вирус от меня ускользнул: если бы кто‑то из моих сотрудников поместил его в одну из своих стандартных программ, я, конечно, обнаружил бы его раньше, чем он мог бы заразить остальные данные.
Почему я его не заметил? Он что, невидимый?
Было полвосьмого, когда я начал проверку. Я не стал звонить Марио, потому что хотел справиться сам. В два часа ночи я на минуту оторвался от письменного стола. Я просмотрел тысячи строк программы на машинном языке и не нашел ничего.
Зашел в ванную, плеснул в лицо водой, потом выглянул в окно. Снаружи слякоть замерзала и превращалась в наст. Проехала машина, потом долго было тихо.
Я вернулся к компьютеру и продолжал работать. Голова слушалась, подстегиваемая напряжением и яростью, тело служило, как будто не нуждалось ни в пище, ни в воде, но вот глаза сдавали. Казалось, очки запотевают через минуту после того, как их протрешь, но туман был не на стеклах, а под веками, и стоило мне сморгнуть, как все застилала пелена.
Четыре.
Глаза у меня жгло огнем. Я поискал в ящике стола капли, но флакончик, естественно, был пуст, он завалялся там с прошлой весны, с последней аллергии.
Полшестого: я разразился ругательствами и проклятьями, которые вряд ли смогу воспроизвести.
Он был там, гад, и сидел в подпрограмме, которая выключает систему, если та какое‑то время простаивает.