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