Несколько мыслей по теме...
1. Закладки. Они же "Пасхальные яйца".
Практически любой программист, который пишет сложный проект, оставляет для себя лазейки, с помощью которых можно получать доступ к информации.
Иногда это невидимый и нестираемый пользователь с заранее известными (практически невоспроизводимыми в быту) именем и паролем и полными правами. Иногда это последовательность действий, которую надо выполнить, чтобы открылись реальные данные, лежащие за тем или иным представлением. Иногда способ обойти те или иные внутренние ограничения типа "защиты от дурака".
Зачем это нужно? Невидимый пользователь - на случай, если идиот-пользователь забудет админский пароль или сам у себя отберет админские права (между прочим, такое случается сплошь и рядом, нередко в довольно солидных и серьезных организациях). Доступ к данным - на случай, если понадобится исправить какие-то внутренние ошибки, сделать что-то на низком уровне, или проследить причину возникновения ошибки.
В принципе, когда сдаются серьезные проекты для больших и крутых дядей, ВСЕ подобные закладки документируются и сдаются по описи (по крайней мере, именно так поступают, например, в ФАПСИ). И если, не дай Бог, в коде будет выкопана недокументированная закладка - программисты получат очень больно по всем выступающим (опять же, все понимают, что такое очень больно в контексте, например, того же ФАПСИ).
Итак, закладки - это некая вспомогательная функциональность, использующаяся системщиками в своих целях и скрытая от конечного пользователя ввиду потенциальной опасности (например, такой скрытой функциональностью мог считаться DiskEdit в MS DOS, в связи со способностью создавать "кольцевые" деревья каталогов и прочие веселые, но неприятные вещи).
2. Для активации закладки обычно используется система заведомо некорректных данных.
Пример - "если в поле даты рождения ввести слово "параллелограмм", откроется редактор записи базы данных".
Также способами активации закладки является недокументированное сочетание клавиш ("Ctrl-Alt-Shift-F11 при включенном Caps lock"), или щелчок мышью в неожиданное место на экране ("дважды щелкнуть правой кнопкой мышки по носу щенка на логотипе, удерживая нажатым левый Alt").
Все это - действия, которые, по мнению программиста, пользователь совершать не будет, ввиду их полного идиотизма. Впрочем, нередко такие закладки все-же находят (особенно если речь идет о деньгах), дизассемблируя код и разбирая реакции на возможные события.
3. Закладка - это всегда дыра в безопасности и защите от дурака.
Ни одна закладка не остается в тайне, если программа, в которой она сделана, находится в открытом доступе. Потому что пользоваться дизассемблирующими утилитами умеют многие, а "что знают двое, то знает свинья". Следовательно, любая закладка будет найдена (или разглашена самим создателем программы), и станет известна любому, кого заинтересует.
А теперь о ключах.
Для Матрицы можно считать верным утверждение - "закрытая на замок дверь не ведёт никуда". И наоборот, "когда закрытую на замок дверь отпирают, она начинает куда-то вести". Куда? Туда, куда положено.
А если она не вела, а потом начинает вести - возникает соблазн сделать "закладку" - сделать так, чтобы она вела в разные места, в зависимости от того, каким ключом её отпирают. Самое простое - возможно, закодированное на базовом уровне - способность двери выводить в Белый Коридор.
То есть любая запираемая дверь может выводить в Белый Коридор, если её открыть ключом с определенными свойствами (например: ключом, интегральная высота бородок которого в миллиметрах квадратных при делении на 13,027 дает остаток 3,529 - вероятность случайного создания такого ключа можете подсчитать сами, а можно и дополнительную защиту поставить).
Кроме этого, можно сделать более конкретную "версию" двери - запираемая дверь, которая, будучи открыта "правильным" ключом или будучи открыта несанкционированным способом ведет в точку А, а будучи открыта "секретным" ключом - ведет в точку Б (при том, что точек Б может быть не одна). Тем не менее, для каждой такой двери будет строгое соответствие - один ключ открывает её только в один выход.
Белый Коридор же - это хороший способо попасть куда угодно, потому что в него выходят ВСЕ двери, и если знаешь, какая нужна тебе, из него можно выйти в любую дверь в мире.
Ну и наконец, действительно - существующая даже сейчас универсальная "закладка" для замков - Skeleton key, по-русски - Мастер-ключ, ключ, который открывает все замки одной серии.
Кажется, все, лекция окончена, спасибо за внимание.
__________________
Кошак, борец за официальный запрет всех официальных запретов.
Ах, лето красное, убил бы я тебя, когда б не связь времён да Уголовный Кодекс. (с)О. Ладыженский
Адрес поста | Один пост | Сообщить модератору | IP: Logged