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