— А оно у тебя в файле, — объяснила Люси. — Я его нашла в директории «HOME», где у тебя собраны все личные пароли. У тебя тут есть файл «Grants.SQL», а на нем все общие синонимы для твоих таблиц.
На самом деле таблицы были не мои. Их в прошлом году создала Маргарет, а я загрузила с дискет в свой домашний компьютер. Возможно ли, чтобы в офисном компьютере тоже был файл со словом «Grants» в названии?
Я взяла Люси за руку, и мы поднялись с кушетки. Девочка охотно последовала за мной в кабинет. Я усадила ее к компьютеру, а себе подвинула пуф.
Мы вошли в программу, набрали на клавиатуре номер телефона в кабинете Маргарет и стали следить, как загружается система. Через несколько секунд компьютер сообщил, что соединение произошло. Мы задали еще несколько команд. Какое-то время на темном экране мигала зеленая буква «С». Компьютер внезапно превратился в зеркало — по ту сторону нас ждали тайны, которые скрывались в моем офисе, расположенном за десять миль от дома.
Мне стало не по себе при мысли, что наше вторжение отслеживается. Надо будет сказать Уэсли, чтобы он не терял времени, выясняя, кто влез в компьютер, что это всего-навсего я.
— Задай команду «Найти» для всех файлов, содержащих слово «Grants», — сказала я.
Люси повиновалась. Вскоре пришел ответ: «Ни одного файла не найдено». Мы попробовали найти файл со словом «Синонимы» — и снова неудача. Вдруг Люси сообразила поискать файлы с расширением «SQL», потому что именно это расширение использовалось первоначально для всех файлов, содержащих последовательные команды — то есть такие, с помощью которых создаются синонимы для офисных программ. На экране множились названия. Одно из них нас заинтересовало — «Public.SQL».
Люси открыла файл и начала его «листать». Мое волнение росло параллельно со страхом. В файле были вписаны команды, которые Маргарет создала и выполнила задолго до того, как создала общие синонимы для всех таблиц офисной базы данных — команды типа «создать общие синонимы для DEEP.CASE».
Я не программист. Я слышала об общих синонимах, но точно не знала, что они из себя представляют.
Люси листала справочник. Она нашла главу «Общие синонимы» и доверительно сообщила:
— Смотри, тетя Кей, это просто. Когда делаешь таблицу, нужно создать синоним с именем пользователя или паролем. — Люси с видом победителя смотрела на меня из-за толстых стекол своих очков.
— Ага, в этом есть смысл.
— Если твое имя пользователя — «тетя», а пароль — «Кей», значит, когда ты создаешь таблицу «Игры», компьютер присваивает ей имя «Тетя. Игры». Он прибавляет название таблицы к имени пользователя, которое создал раньше. Если тебе лень каждый раз набирать «Тетя. Игры», ты создаешь общий синоним — набираешь команду «Создать общий синоним для „Тетя. Игры“». Таблица будет переименована просто в «Игры».
Я смотрела на длинный список команд на экране, который открывал все таблицы в компьютере главного офиса судмедэкспертизы и имена пользователей АБД для каждой таблицы.
— Люси, но ведь даже если кто-то увидит этот файл, он не будет знать пароль, — неуверенно произнесла я. — Ведь здесь указано только имя пользователя АБД, а без пароля в таблицу не зайти — например, в нашу.
— Хочешь, поспорим? — Пальцы Люси уже забегали по клавишам. — Если знаешь имя пользователя АБД, можно заменить пароль на любое слово — и легко войти в программу. Меняй пароли хоть десять раз на день — компьютеру по барабану. Данные от этого не пропадают. Некоторые часто меняют пароли в целях безопасности.
— Значит, можно взять имя пользователя «DEEP», прицепить его к новому паролю и войти в нашу базу данных?
Люси кивнула.
— Покажи.
Девочка неуверенно взглянула на меня:
— Но ты ведь не разрешаешь входить в офисную базу данных.
— Для тебя я сделаю исключение.
— Тетя Кей, если я дам новый пароль для «DEEP», старый перестанет действовать. Он просто исчезнет.
Я чуть не подскочила на пуфе, вспомнив, что сказала Маргарет в тот день, когда мы обнаружили взлом базы данных: она жаловалась, что старый пароль не сработал, и ей пришлось восстанавливать доступ к АБД.
— Старый пароль больше не действует, потому что я заменила его на новый, — комментировала Люси свои действия. — Ты не сможешь войти в программу со старым паролем, — тут девочка украдкой взглянула на меня, — но я его потом восстановлю.
— Восстановишь? — Я почти не слушала.
— Смотри. Твой старый пароль больше не действует, потому что я его заменила, чтобы войти в программу. Только я его восстановлю, честно…
— Потом, — поспешно сказала я. — Ты потом его восстановишь. А сейчас покажи мне, как войти в базу данных.