Мы обе размякли. Я шепнула куда-то в рыжие косички:
– Один дядя меня кое о чем спросил.
– О чем?
– О доверии. Он спросил меня, кому я больше всех доверяю. И знаешь кому?
Люси подняла голову и посмотрела мне в глаза.
– Тебе.
– Правда? – с сомнением спросила девочка. – Больше, чем всем остальным?
Я кивнула и тихо продолжала:
– Поэтому я хочу попросить тебя о помощи.
Люси так и подскочила. Глаза ее округлились от готовности быть полезной.
– Конечно, тетя Кей! Только скажи! Я все для тебя сделаю!
– Мне нужно выяснить, почему одному нехорошему человеку удалось влезть в мою базу данных.
– Я не влезала, – выпалила Люси, и в ее глазах мелькнул страх. – Я уже говорила, что это не я.
– Я тебе верю. Но ведь кто-то это сделал. Ты мне поможешь узнать кто?
Я очень сомневалась, что у Люси получится, однако решила дать ей попробовать.
Девочка, гордясь своей миссией, доверительно сказала:
– Влезть в твою базу данных – пара пустяков. Любому под силу.
– Любому? – Я натянуто улыбнулась.
– Да. Из-за программы "Системный администратор".
Лицо у меня вытянулось от изумления.
– Откуда тебе известно об этой программе?
– В книжке прочитала. Там обо всем написано.
В такие моменты я вспоминала о коэффициенте интеллекта племянницы и не уставала удивляться этому коэффициенту. Когда Люси впервые предложили тест на IQ, она показала настолько хороший результат, что психолог настоял на повторном тестировании, утверждая, что "произошла ошибка". Ошибка действительно имела место – во второй раз IQ Люси оказался на десять пунктов выше.
– Сначала вводится вот эта последовательность команд, – тараторила племянница. – Пока не введешь команды, не получишь полного доступа к "Системному администратору". А он здесь просто бог. Зато стоит ввести команды, дальше делай что хочешь.
Ага, что хочешь. Например, узнавай все имена пользователей и пароли в моем офисе. Дивно! Главное, мне это никогда и в голову не приходило. Наверняка и Маргарет упустила из виду данное обстоятельство.
– Достаточно войти в систему, – продолжала Люси свою лекцию. – Если человек знает о "боге", он может создать любой доступ, адаптировать его к АБД и тогда уж лезть в базу данных.
У меня в офисе администратор базы данных, он же АБД, был "DEEP/THROAT"[1] – Маргарет периодически демонстрировала чувство юмора.
– Значит, входишь в программу "Системный администратор" и набираешь вот что: "основное соединение", "ресурсы", администратор базы данных для "тети", определяемой как "Кей".
– Видимо, так все и было. – Я размышляла вслух. – А с администратором базы данных можно не только читать информацию, но и вносить изменения.
– Конечно! Взломщик все, что угодно, мог сделать, потому что администратор базы данных так сказал, а он – бог.
Религиозные аллюзии племянницы были столь кощунственны, что я невольно рассмеялась.
– Вот так и я вошла, – призналась девочка. – Ты ведь не сказала мне пароль. Я хотела войти и набрала несколько команд, которые нашла в книге. Я только придумала пароль для имени пользователя АБД, и все сразу получилось.
– Минуточку, – остановила я Люси, – минуточку! Что значит "придумала пароль для имени пользователя АБД"? А как ты узнала само имя пользователя? Ведь я тебе его не называла!
– А оно у тебя в файле, – объяснила Люси. – Я его нашла в директории НОМЕ, где у тебя все личные пароли для таблиц. У тебя тут есть файл "Grants.sql", а на нем все общие синонимы для твоих таблиц.
На самом деле таблицы были не мои. Их в прошлом году создала Маргарет, а я загрузила с дискет в свой домашний компьютер. Возможно ли, чтобы в офисном компьютере тоже имелся файл со словом "Grants" в названии?
Я взяла Люси за руку, и мы поднялись с кушетки. Девочка охотно последовала за мной в кабинет. Я усадила ее к компьютеру, а себе подвинула пуф.
Мы вошли в программу, набрали на клавиатуре номер телефона в кабинете Маргарет и стали следить, как загружается система. Через несколько секунд компьютер сообщил, что соединение произошло. Мы задали еще несколько команд. Какое-то время на темном экране мигала зеленая буква "С". Компьютер внезапно превратился в зеркало – по ту сторону нас ждали тайны, которые скрывались в моем офисе, расположенном за десять миль от дома.
Мне стало не по себе при мысли, что наш звонок отслеживается. Надо будет сказать Уэсли, чтобы он не терял времени, выясняя, кто влез в компьютер, что это всего-навсего я.
– Задай команду "Найти" для всех файлов, содержащих слово "Grants", – сказала я.
Люси повиновалась. Вскоре пришел ответ "Ни одного файла не найдено". Мы попробовали найти файл со словом "Синонимы" – и снова облом. Вдруг Люси сообразила поискать файлы с расширением sql, потому что именно это расширение использовалось первоначально для всех файлов, содержащих последовательные команды – то есть такие, с помощью которых создаются синонимы для офисных программ. На экране множились названия. Одно из них нас заинтересовало – "Public.sql".
Люси открыла файл и стала его "листать". Мое волнение росло параллельно со страхом. В файле оказались команды, которые Маргарет написала и выполнила задолго до того, как создала общие синонимы для всех таблиц офисной базы данных, – команды типа "создать общие синонимы для Deep.case".
Я не программист. Я слышала об общих синонимах, но точно не знала, что они собой представляют.
Люси листала справочник. Она нашла главу "Общие синонимы" и доверительно сообщила:
– Смотри, тетя Кей, это просто. Когда делаешь таблицу, нужно создать синоним под именем пользователя. – Люси победно смотрела на меня из-за толстых очков.
– Ага, в этом есть смысл.
– Если имя пользователя – "Тетя", а пароль – "Кей", значит, когда ты создаешь таблицу "Игры", компьютер присваивает ей имя "Тетя.игры". Он прибавляет название таблицы к имени пользователя, которое создал раньше. Если тебе лень каждый раз набирать "Тетя.игры", ты создаешь общий синоним – набираешь команду "Создать общий синоним для "Тетя.игры". Таблица будет переименована просто в "Игры".
Я смотрела на длинный список команд на экране, список, открывающий все таблицы в компьютере главного офиса судмедэкспертизы, список, открывающий имя пользователя АБД для каждой таблицы.
– Люси, но ведь даже если кто-то увидит этот файл, он не будет знать пароль, – произнесла я неуверенно. – Ведь здесь указано только имя пользователя АБД, а без пароля не зайти в таблицу – например, в нашу.
– Хочешь, поспорим? – Пальцы Люси уже касались клавиш. – Если знаешь имя пользователя АБД, можно заменить пароль на любое слово – и легко войти в программу. Меняй пароли хоть десять раз на дню – компьютеру по барабану. Данные от этого не пропадают. Некоторые часто меняют пароли в целях безопасности.
– Значит, можно взять имя пользователя "Deep", прицепить его к новому паролю и войти в нашу базу данных?
Люси кивнула.
– Покажи.
Девочка неуверенно взглянула на меня.
– Но ты ведь не разрешаешь входить в офисную базу данных.
– Для тебя я сделаю исключение.
– Тетя Кей, если я дам новый пароль для "Deep", старый перестанет действовать. Он просто исчезнет.
Я чуть не подскочила на пуфе, вспомнив, что сказала Маргарет в тот день, когда мы обнаружили взлом базы данных: она жаловалась, что старый пароль не сработал, и ей пришлось заново присоединять доступ к АБД.
– Старый пароль больше не действует, потому что я заменила его на новый, – комментировала Люси свои действия. – Ты не сможешь войти в программу со старым паролем, – тут девочка украдкой взглянула на меня, – но я его потом восстановлю.
1
"Глубокая/глотка". Таково было прозвище агента ФБР, передавшего репортерам данные, спровоцировавшие Уотергейтский скандал и отставку президента Р. Никсона. – Примеч. пер.