— Знаешь что, сначала давай лучше подумаем, что делать с этой Машиной бомбой. Посмотрим, что нас там ждет. А уж с экзаменами я как-нибудь справлюсь.
— Вот за это я тебя и люблю. Всегда зришь в корень.
Мы часто обменивались шутками про любовь, но я ее и вправду очень любил, да так сильно, что сам иногда пугался. Может быть, дело в том, что я постепенно отдалился от компании своих друзей и бросил учебу, и Энджи стала чуть ли не единственным человеком, с кем я регулярно общался, если не считать родителей. И время от времени мне делалось страшновато. Ей, кажется, тоже. Поэтому я надеялся, что работа в коллективе принесет в мою жизнь немного равновесия.
— Ну, показывай, что ты там накопал.
У меня по спине пробежал холодок — опять дала о себе знать паранойя. Подслушать, о чем говорят в комнате, очень легко, для этого надо направить луч лазера на оконное стекло. Звуковые волны заставляют стекло вибрировать, и эти вибрации хорошо считываются лазером. Я видел на ютьюбе демонстрацию этого эффекта, снятую на DEFCON — большой конференции хакеров в Лас-Вегасе. Звук был не идеален, но вполне разборчив. Достаточно, чтобы понять каждое слово и распознать голоса.
— Гм, — сказал я. — Погоди секунду.
Я подключил к ноутбуку динамики на длинных проводах и прижал к оконному стеклу. Потом запустил на компьютере генератор случайных чисел /dev/random и дал ему задание создавать белый шум. Из динамиков донесся неразборчивый треск, похожий на звук радиопомех. Я выкрутил громкость до почти невыносимого уровня и опустил на пару делений. Накрыл динамики шторами. Теперь пусть сколько хотят ловят лазером звук из комнаты, им не удастся вычленить осмысленный сигнал из случайного шума. Нельзя сказать, что это совсем невозможно, но, по крайней мере, нас не подслушает ни один любопытный глупее меня.
— Ого, — заметила Энджи, глядя на мои приготовления. — Ну ты и расстарался.
— А как же, — подтвердил я.
Мы придвинули кресла к экрану, и я показал ей свою виртуальную машину и аварийный прерыватель.
— Неплохо, — одобрила она. — Ладно, ты меня убедил, что относишься к этим материалам очень серьезно. Следовательно, ты глубоко убежден, что видел, как на фестивале схватили Машу и Зеба, и не сомневаешься, что взрыв был организован намеренно. — Она закрыла глаза и набрала полную грудь воздуха. — Итак, спускаемся в кроличью нору.
— Погоди, сама увидишь. — Я запустил ВМ, вызвал список директорий. Откинулся на спинку кресла.
— Что это? Я даже не… — Энджи широко распахнула глаза. Я вручил ей мышку. Она стала открывать файл за файлом, начиная с самого верха. Первый назывался budget_8B5S.xls. Он оказался большой бухгалтерской таблицей с приходами и расходами. Слева в столбик шли имена каких-то людей. Заголовки столбцов представляли собой ничего не говорящие названия компаний вроде «Холдингс импорт/экспорт» или «Менеджмент Лтд». Остальную площадь таблицы занимали числа в долларах. Не очень крупные — $1001, $5100. Самым большим было $7111.
— Как много здесь единичек, — заметил я.
Энджи кивнула.
— Интересно, почему? — Она внимательно всмотрелась в цифры и достала свой ноутбук. — Для анонимности ты все так же используешь «ай-предейтор»?
— В основном да. Но попробуй запустить поверх него «Тор».
«Тор» — «луковый маршрутизатор» — случайным образом перебрасывает запросы от браузера с одного компьютера на другой, и ни один из этих компьютеров не знает, откуда пришел запрос и куда он направляется. Работает, конечно, неторопливо, даже медленнее, чем IPredator, и гораздо медленнее, чем прямое сетевое подключение. Но сейчас надо соблюдать максимальную осторожность.
Я долго вглядывался в таинственный гроссбух. Аварийный прерыватель затребовал пароль, и я его ввел.
— Ага, вот оно. Я же помню, что где-то уже читала об этом. В финансовых данных единица встречается чаще других цифр.
— Правда? Почему?
Она показала мне заметку — краткий пересказ материала с конференции.
— Товаров с ценой от 10 до 19 или от 100 до 199 долларов гораздо больше, чем тех, которые стоят больше двадцати или больше двухсот. Такова психология розничной торговли: люди скорее купят вещь за 9 долларов, чем за 10. Точно так же 99 долларов кажутся суммой гораздо меньшей чем 100, и 999 долларов звучат не так устрашающе, как 1000. Вот и возникают целые кластеры чисел с единичками. Но когда люди начинают придумывать числа, например, составляя ложные финансовые отчеты или мухлюя с налогами, распределение цифр оказывается более ровным. Таким способом, среди прочих, налоговое ведомство вычисляет махинаторов. Я читала об этом в книге по журналистике данных — в прошлом году пыталась подсунуть эту книгу своей факультетской преподавательнице, но она сказала, что ее задача — подготовить нас к экзаменам, и предложила зайти как-нибудь в другой раз. В общем, получается, что все эти единички кем-то нарочно вставлены. Человек заполнял таблицу выдуманными числами и сознательно добавил побольше единичек, чтобы статистическое распределение получилось правдоподобным. Он не рассчитывал, что эти цифры будет внимательно рассматривать человеческий глаз, лишь опасался, что подвох будет выявлен компьютером.
Она окинула взглядом таблицу и снова начала что-то печатать. В это время аварийный прерыватель запросил пароль, и я не успел вовремя выхватить компьютер. Виртуальная машина погасла.
— Обидно, — вздохнула Энджи.
— Я дам тебе пароль.
— А если поставить интервал подлиннее? Минут на тридцать?
Я покачал головой.
— Я исходил из того, что, если сюда внезапно вломится группа захвата и станет выпытывать у меня пароль, я смогу продержаться пятнадцать минут. А тридцать…
Она охнула и прикусила язык.
— Здесь есть презентация о том, как проводить ватербординг. Сделана в «пауэрпойнте». Подробные диаграммы показывают, через какое время мозг начинает гибнуть, в зависимости от возраста и общего состояния здоровья.
Энджи опять охнула. Она знала, что под душем меня иногда начинает бить неуправляемая дрожь. Переживете собственную казнь — поймете.
Я загрузил ВМ и снова открыл бухгалтерскую таблицу. Энджи начала вводить в поисковик имена.
— Все они — сотрудники аппарата одного из членов законодательного собрания штата Иллинойс. Следующим этапом надо узнать, в какие комитеты он входил и за какие законы голосовал. Это базовые принципы журналистики данных — если, конечно, этот предмет появится в моей институтской программе.
— Давай попробуем, — сказал я.
— Нет, — возразила Энджи. — Это всего лишь один файл. А их тут больше восьмисот тысяч. Поодиночке мы с ними не управимся. Нужен оптовый подход.
* * *
— Джолу! — воскликнул я. — Вот кто нам нужен! Эта задача как раз для него.
Наш мозговой штурм затянулся уже на много часов. В плане безопасности Энджи оказалась даже осторожнее меня. Она посоветовала копировать виртуальную машину — раз плюнуть, просто скопировать файл данных — а потом с помощью TrueCrypt сгенерировать еще один файл, который поставит одну копию ВМ в обычное хранилище, а другую — в секретную область диска.
— Смотри, как это работает. Врывается группа захвата, надевает тебе мешок на голову, берет компьютер, начинает копаться в нем. Но далеко уйти не успевает — прерыватель требует пароль. Они требуют у тебя пароль, но ты молчишь как партизан. Прерыватель срабатывает, виртуальная машина гибнет, данные шифруются. Но что происходит потом?
Я прикусил губу. Так далеко моя мысль еще не заходила. И думать об этом не хотелось.
— Они будут выпытывать у меня пароль, чтобы расшифровать файл.
— Верно.
— И если ты окажешься здесь, займутся и тобой тоже.
— Вот почему мы этим и занялись. Теперь мы можем сразу выдать им пароль, этот пароль откроет им фальшивую копию виртуальной машины. В ней лежит весь комплект файлов с разоблачениями. Но это не та копия, с которой мы работаем. А та самая спрятана на секретном разделе диска, и вместе с ней хранятся все наши заметки, списки почтовых рассылок с адресами людей, которые знают об этой работе и помогают нам. Вот этот пароль мы им ни за что не дадим. И будем придерживаться одной и той же легенды: дескать, мы держим весь компромат на этой зашифрованной ВМ и никаких заметок не делали. Ума не приложим, что делать с этими материалами. Вполне правдоподобно. В смысле, мы и впрямь не знаем, что с ними делать.