Security Lab

Попытка объяснить для неспециалистов атаку "Привидение-2" (Spectre 2)

Попытка объяснить для неспециалистов атаку "Привидение-2" (Spectre 2)

Попытка длинная, потому что атака сложная. Но я надеюсь, что будет понятно в какой-то мере.

Автор: Анатолий Воробей https://www.facebook.com/avorobey


Попытка объяснить для неспециалистов атаку "Привидение-2" (Spectre 2), самую красивую и опасную из трех опубликованных на днях атак на современные микропроцессоры (Meltdown, Spectre 1, Spectre 2). Попытка длинная, потому что атака сложная. Но я надеюсь, что будет понятно в какой-то мере.

В избушке на краю города живет могущественная ведьма, которая делает по заказам посетителей всяческие зелья и эликсиры. Многие из них требуют кропотливой работы по очень сложным инструкциям, настолько сложным, что не помещаются в одну книгу. Если бы вы могли увидеть ведьму за работой (но вы не можете, она всегда работает за закрытыми дверьми), то увидели бы, как на ее рабочем столе лежат сразу много раскрытых книг, и она все время по ним справляется, выписывает на бумажки разные таинственные буквы и слова, потом опять ищет в книгах, потом выливает что-то из склянки в чашу, добавляет щепотку еще чего-то, опять смотрит в книге... Некоторые эликсиры настолько сложные, что в книге Зеленого Кролика может быть написано, например: "посмотри, что делать дальше, в книге Желтой Обезьяны, страница 22, согласно букве на бумажке перед тобой", а в книге Желтой Обезьяны на странице 22 написано: "если на бумажке ты написала А, то теперь иди в такую-то книгу, такую-то страницу, если Б, то туда-то, если В, то туда-то, а если что-то другое, то вообще смотри дальше в книге Грязного Обмана". Или где-то может быть написано: "Открой книгу, название которой на бумажке слева, на странице, номер которой на бумажке справа, и выпиши третью букву на бумажку перед собой". И так далее.

Работу ведьмы усложняет еще тот факт, что на ее столе умещаются не так уж много книг, хоть это и большой стол. Некоторые эликсиры такие сложные, что для их составления нужно читать инструкции из десятков, даже сотен разных книг! Ведьма держит много книг в книжном шкафу своей избушки, но даже этого не хватает. Нередко книги, что ей нужна, нет на столе или в избушке, и она посылает помощницу за этой книгой в городскую библиотеку. Помощница возвращается с книгой, и какое-то время она живет на столе или в шкафу, но если она долго не нужна, рано или поздно ее вернут в библиотеку, чтобы освободить место для других. Но все это, конечно, только для книг, которые любому дозволено прочитать, с рецептами, давно всем известными (но люди все равно часто заказывают их у ведьмы, а не делают сами, ведь у них нет ингредиентов, да и страшно что-то напортачить). Секретные книги ведьма держит при себе и к библиотеке они отношения не имеют.

Ведьму очень раздражает, когда приходится послать помощницу в библиотеку и вся работа теперь стоит и надо ждать, пока она вернется. И так кучу времени занимает приготовирть эликсир, даже если все книги под рукой, а уж с этими ожиданиями совсем плохо. Поэтому она часто полагается на свою память, но потом все проверяет. Скажем, в книге Зеленого Кролика, стр. 5, написано справиться в книге Желтой Обезьяны, стр. 22, согласно букве на бумажке перед ведьмой, и тут оказалось, что книгу Желтой Обезьяны вернули в библиотеку. Ведьма помнит, что обычно, когда она делает этот эликсир, в этом месте книга Желтой Обезьяны посылает ее дальше в книгу Мангуста, стр. 3. Она посылает помощницу за книгой Желтой Обезьяны, но тем временем смотрит в книгу Мангуста, которая как раз под рукой оказалась, и делает то, что там написано - но только те вещи, которые точно не испортят зелье. Скажем, если в книге Мангуста просят приготовить новую склянку, или растолочь что-то в сторонке, или заказать еще что-то из библиотеки - то ведьма это делает, чтобы не сидеть зря. Потом возвращается помощница с книгой Желтой Обезьяны и ведьма тщательно проверяет - правильно она делала или нет. Если да, то отлично, продолжаем дальше; если нет, то убираем новую склянку, выкидываем растолоченное, возвращаем книгу, и как будто ничего не делали. Продолжаем делать то, что на самом деле надо. У ведьмы отличная память, поэтому чаще всего она правильно помнит, какие инструкции следуют дальше, и таким образом экономит много времени, пока помощница бегает в библиотеку и обратно.

Я очень хочу узнать, что написано в книге Смерти, которую ведьма хранит у себя в избушке - там есть рецепт эликсира вечной молодости! Но ведьма никогда не готовит этот эликсир для посетителей. Она пользуется им только для себя, и никакой рецепт, который она готовит по заказу, ничего не говорит про книгу Смерти. В библиотеке ее тоже нет, конечно. Это тайная книга, которая хранится в семье ведьмы и передается из поколения в поколение. Я не один такой, кто хочет разведать, что там написано. Многие алхимики потратили на это годы упорного труда, и иногда у них даже что-то частично получалось.

Скажем, бывает такое, что в ведьминых книгах кроются ошибки, и этими ошибками можно воспользоваться, чтобы выведать что-то про книгу Смерти. Сто лет назад был знаменитый случай, с тогдашней ведьмой (прабабкой сейчашней), когда один алхимик разведал, что в одном рецепте приворотного зелья была ошибка: он предписывал ведьме "посмотреть, что в книге с названием на бумажке слева, и выписать букву по номеру на бумажке справа", но иногда, в зависимости от того, под каким знаком Зодиака родился клиент, на бумажке слева к тому моменту еще ничего не было написано. Этот алхимик привел к ведьме клиента-Козерога и во время переговоров о цене клиент подложил ей на стол слева бумажку, на которой было написано "книга Смерти". Ведьма ничего не заметила и стала следовать рецепту, и когда дошла до этого места, машинально выписала букву из книги Смерти под номером 108 (он был на бумажке справа в этот момент, совершенно случайно)! И когда был приворотное зелье было готово, алхимик смог, по его алхимическому анализу, понять, какая это была буква. Это был весьма трудоемкий процесс, но он знал теперь одну букву из книги Смерти - огромное достижение! Он повторил это несколько раз и узнал еще буквы номер 78 и 23, но после этого ведьма заметила ошибку и исправила рецепт. Теперь в случае, когда клиент Козерог, она всегда пишет на бумажке слева правильное название следующей книги. Такие ошибки иногда продолжают находить удачливые алхимики, но ведьмы их обычно быстро чинят. Прочитать всю книгу Смерти с их помощью никто не смог.

У меня есть новый план, дьявольский план, такой, который еще никому не приходил в голову. Его отличие от всех остальных планов в том, что он не пользуется никакими ошибками в книгах рецептов. Даже если в ведьминых рецептах нет ни одной ошибки, мой дьявольский план все равно сработает.

Не все это знают, но у ведьмы есть немало свободных от работы дней. Дело в том, что ее рецепты стоят очень дорого, и клиентов не так уж и много; а брать меньше ей не позволяют предписания Гильдии ведьм. В итоге ведьма реально работает над рецептами всего 3-4 дня в неделю; дохода от них ей более чем хватает на жизнь, но ее трудолюбивый характер не позволяет ей отдыхать. Поэтому в те дни, когда у нее нет заказов, она переодевается, маскирует себя под молоденькую девушку, и ранним утром пробирается по окраине города к городской пекарне, где работает целый день помощницей пекаря, одной из многих. Я выследил этот ее путь, и знаю этот секрет. Более того, я тайком выкупил пекарню у ее владельца, и заменил пекаря на своего человека. Теперь ведьма, в те дни, что она работает в пекарне, должна делать то, что я прикажу, хоть мне это никак вроде и не помогает разузнать секреты ее книг. Избушка зачарована, в нее во время отсутствия ведьмы не проникнуть, на саму ведьму тоже никак не повлиять магическим способом.

Помните, как я рассказал вам, что в одном из рецептов ведьмы в книге Зеленого Кролика, стр. 5, написано справиться в книге Желтой Обезьяны, стр. 22, и делать то, что там написано? Я это узнал, когда посмотрел в эти книги в библиотеке - они не секретные. Еще я перерыл кучу книг библиотеки, пока не нашел книгу - это оказалась книга Хитрой Лисицы, стр. 50, в которой в начале страницы было написано ровно то, что я искал, а именно: "Посмотри в книгу под названием, написанным на бумажке слева-1, на букву под номером на той же бумажке, и если это буква, что на бумажке слева-2, то смотри, что делать дальше, в книге на бумажке слева-3". Некоторые рецепты ведьмы просто исключительно сложные, и требуют столько промежуточных бумажек, что их места пронумерованы на столе ведьмы. Это указание - часть какого-то очень сложного рецепта для зелья, которое отгоняет мух. Но меня этот рецепт совершенно не интересует. Мне нужно только это указание из его середины. Я запомнил, что оно написано на стр. 50 книги Хитрой Лисицы.

Я хочу, чтобы ведьма выполнила это указание. Не как часть целого рецепта по отгону мух - это мне никак не поможет, тогда на бумажках слева-1, слева-2, слева-3 будут написаны какие-то свои вещи из этого рецепта. Нет, я хочу, чтобы я мог ей подсунуть что-то про книгу Смерти на бумажках слева, а потом она выполнила это указание и проверила для меня букву из книги Смерти. Но у меня нет наготове ошибки в рецепте, которая побудит ее это сделать. Мой дьявольский план хитрее этого.

Постепенно я меняю порядок работы в пекарне. Рецепты булок и кренделей становятся все более и более сложными, так, что их уже не удержать в голове, и я ввожу систему книг с рецептами, похожих на те, которыми пользуется ведьма, но только в них говорится лишь о пекарне. Я специально даю этим книгам такие же имена: книга Зеленого Кролика, книга Желтой Обезьяны, книга Хитрой Лисицы. Ведьма не замечает никакого подвоха, потому что она уже давно привыкла просто машинально выполнять то, что написано в рецептах. Я делаю так, что в "моей" книге Зеленого Кролика на стр. 5 тоже написано справиться в книге Желтой Обезьяны, стр. 22, и делать то, что там написано. А в "моей" книге Желтой Обезьяны на стр. 22 всегда написано одно и то же: "смотрите книгу Хитрой Лисицы, стр. 50", "смотрите книгу Хитрой Лисицы, стр. 50", "смотрите книгу Хитрой Лисицы, стр. 50". Я заставляю ведьму, во время ее работы помощницей пекаря, сделать булку по этому рецепту один раз, десять раз, пятьдесят раз подряд. Одновременно с этим в те дни, что она работает ведьмой, я заказываю ей трудоемкие рецепты, которые не имеют никакого отношения к этим книгам. Моя цель - заставить ее заказать много других книг из библиотеки, так, чтобы книга Желтой Обезьяны точно не была в ее избушке (потому что в ней долго не было нужды).

После нескольких недель упорной подготовки я готов к главному испытанию. Я прихожу к ведьме и заказываю у нее невинный эликсир голубого освещения, который требует работы по книге Зеленого Кролика итд. Украдкой я кладу ей на стол, на позицию слева-1 бумажку "Книга Смерти, буква номер 1", на позицию слева-2 бумажку "буква А", на позицию слева-3 бумажку "книга Лотуса". Ведьма ничего не замечает, принимает заказ, и выпроваживает меня из избушки - она никогда не работает по рецептам в присутствии клиента!

Затем ведьма начинает готовить эликсир. Когда она доходит до того места в книге Зеленого Кролика, которое требует справиться в книге Желтой Обезьяны, стр. 22, она обнаруживает, что книги Желтой Обезьяны в избушки нет, и посылает помощницу в библиотеку. Тем временем она пытается вспомнить, что обычно делает дальше. Но только вчера она пятьдесят раз подряд в пекарне следовала указаниям из книги под тем же названиям, и тамошняя книга Желтой Обезьяны посылала ее на стр. 50 книги Хитрой Лисицы. Она вспоминает это и следует этим воспоминаниям. Открывает книгу Хитрой Лисицы, а там написано: "Посмотри в книгу под названием, написанным на бумажке слева-1, на букву под номером на той же бумажке, и если это буква, что на бумажке слева-2, то смотри, что делать дальше, в книге на бумажке слева-3". Ведьма без особых опасений следует этим указаниям - ведь если помощница вернется и окажется, что в книге Желтой Обезьяны предписано что-то другое, она просто уничтожит то, что сделала за это время - ничего бесповоротного она не делает. Она видит, что на бумажках слева предписано посмотреть в книгу Смерти на букву номер 1, и если там буква А, то идти дальше по книге Лотуса. Она смотрит в книгу Смерти, видит, что буква номер 1 действительно А, а книги Лотуса у нее под рукой нет. Она посылает другую помощницу в библиотеку за книгой Лотуса.

Тем временем возвращается первая помощница с книгой Желтой Обезьяны - а там написано что-то совсем другое. Ну и ладно. Ведьма начинает делать это другое, а когда возвращается вторая помощница с книгой Лотуса, отправляет ее обратно в библиотеку вернуть книгу.

Ну и как мне все это помогло? Ведь на эликсир голубого освещения все эти мои ухищрения в итоге никак не повлияли! Может, вы думаете, что я попытался подкупить библиотекаршу, чтобы узнать, заказывали ли книгу Лотуса сегодня? Или попробовал заказать сам, и если мне сказали, что ее нет сейчас, то значит, она у ведьмы? Нет, все не так просто! Библиотека хранит много экземпляров любой книги, что у них есть, и библиотекарям строго запрещено сообщать посетителям, заказывали какие-то книги или нет. Они неподкупны.

Я пользуюсь одной особенностью библиотечной системы, о которой ведьма не знает или забыла. У библиотекарши ревматизм, и она старается поменьше ходить к далеким полкам. Если книгу заказали и вернули, то часто бывает так, что ее скоро закажут еще раз, и поэтому библиотекарша временно держит такие книги на полке недалеко от своей стойки, особенно когда эта книга с дальних полок. Я специально выбрал книгу Лотуса - книгу, которая обычно никому не нужна и которая обычно стоит на дальней полке. После того, как готов мой эликсир, я отправляюсь в библиотеку и заказываю там для себя книгу Лотуса. Я не могу видеть, как библиотекарша за ней идет, но я знаю - если она вернется быстро, то книга стояла на ближней полке, а значит, скорее всего, ведьма ее заказывала (есть еще шанс, что заказывал кто-то еще, но очень маловероятно), а значит, в книге Смерти буква номер 1 действительно "А"! А если библиотекарша возвращается медленно, то ведьма не заказывала книгу Лотуса, и тогда в книге Смерти буква номер 1 другая.

Сегодня мне повезло. С первой попытки я узнал, что буква номер 1 в книге Смерти действительно "А". Теперь мне надо готовиться к следующей попытке. Сначала я должен заказать у ведьмы несколько очень скучных и трудоемких рецептов, чтобы у нее не оставалось места для книги Желтой Обезьяны, и она вернула ее в библиотеку - без этого мой план не работает. Тем временем в ее дни работы в пекарне я продолжаю тренировать ее в том, что после инструкций в книге Зеленого Кролика она идет в "книгу Хитрой Лисицы, стр. 50", чтобы она не забыла. Тем временем библиотекарша возвращает книгу Лотуса на ее законное место на дальней полке, потому что несколько дней никто ее не просил - это тоже важно. Наконец, через неделю я готов опять попробовать, и на этот раз проверяю букву номер 2 в книге Смерти - может, она тоже "А"? (маловероятно, конечно, "АА" в начале книги - лучше бы начать с чего-то более логичного, но я дотошен и методичен до отвращения). На этот раз библиотекарша долго возвращается с книгой Лотуса, и я знаю, что вторая буква в книге Смерти не "А". Что ж, черед неделю я попробую еще раз, и узнаю, не "Б" ли там. И так далее, и так далее, и так далее. Рано или поздно я прочитаю таким образом всю книгу Смерти и узнаю рецепт эликсира молодости. Может, займет это лет 60 или 70...

Теория струн? У нас целый оркестр научных фактов!

От классики до авангарда — наука во всех жанрах

Настройтесь на нашу волну — подпишитесь