В 2013 году школьник по имени Янн Хорн присутствовал на приеме у канцлера Ангелы Меркель в Берлине. Вместе с 64 другими учащимися он добился успеха в проводившемся при поддержке правительства страны конкурсе, целью которого было поощрить участие молодежи в научных исследованиях.
В случае с Хорном проект оказался весьма успешным стартом. Прошлым летом 22-летний исследователь компании Google в области кибербезопасности стал первым, кто сообщил о самых значимых уязвимостях, когда-либо обнаруженных в процессорных микросхемах. Отрасль все еще не пришла в себя от этого открытия, после которого процессоры будут проектироваться по-другому. Хорн стал знаменитостью, о чем свидетельствуют восторженный прием и масса вопросов, которыми его засыпали в Цюрихе в середине января.
Интервью с Янном Хорном показывает, как сочетание упорства и ума помогает находить дефекты, которые существовали в течение десяти лет, но оставались незамеченными, и большинство персональных компьютеров, интернет-серверов и смартфонов были уязвимы.
Другие исследователи, обнаружившие те же изъяны месяцы спустя после Хорна, были поражены, узнав, что он работал в одиночку. «У нас было несколько групп и целый ряд подсказок, где вести поиски, а он начинал на пустом месте», — удивляется Даниэль Грусс, участник группы из Технологического университета Грасса в Австрии, которая впоследствии обнаружила уязвимости Meltdown и Spectre.
Хорн не собирался искать серьезные изъяны в процессорных микросхемах компьютеров, когда в конце апреля прошлого года начал читать документацию по процессорам Intel, насчитывающую тысячи страниц. Он говорит, что просто хотел убедиться, что аппаратные средства компьютера способны справиться с особенно сложным вычислительным алгоритмом.
Однако Хорн, проживающий в Цюрихе, работал в ведущем подразделении Google, специалисты которого охотятся за уязвимостями «нулевого дня» и огрехами разработчиков, с помощью которых взломщики могут проникать в компьютерные системы. И он начал внимательно изучать, каким образом в процессорах организовано упреждающее исполнение команд — метод повышения быстродействия, при котором процессор пытается отгадать, какая часть программного кода будет исполняться следующей, и начинает заранее выполнять соответствующие команды и извлекать необходимые данные. Хорн обратил внимание на содержащиеся в документации сведения о том, что в случае неверного предположения данные остаются в памяти процессорной микросхемы. И он понял, что информация в памяти может оказаться добычей сообразительного взломщика.
«На данном этапе я пришел к выводу, что программный код, над которым мы работали, потенциально может привести к утечке секретных данных, — говорится в ответах Хорна, переданных по электронной почте в Bloomberg. — Мне пришло в голову, что это может, по крайней мере теоретически, повлиять не только на конкретный фрагмент кода».
С этого начался, по его словам, постепенный процесс углубления исследований, которые привели к обнаружению уязвимых мест. Хорн сказал, что знает о других исследованиях, в том числе Грусса и группы в Грассе, относительно того, как взломщики могут выяснить, где хранится информация, анализируя малые различия во времени, необходимом процессору для извлечения информации.
Он обсуждал этот вопрос с другим молодым исследователем Google в Цюрихе, Феликсом Вильгельмом, указавшим на похожие исследования, проведенные им самим и другими специалистами. Это привело Хорна к озарению. Метод, опробованный Вильгельмом и другими, можно «инвертировать», чтобы заставить процессор выполнять упреждающие операции, которые обычно не производятся. В результате процессор будет извлекать определенные данные, которые станут доступны хакерам.
Обнаружив эти способы атак против процессорных микросхем, Хорн консультировался с Робертом Свицки, коллегой по Google, чей компьютер он позаимствовал для проверки некоторых своих идей. Свицки посоветовал, как лучше сообщить об уязвимых местах компаниям Intel, ARM Holdings и Advanced Micro Devices, что Хорн и сделал 1 июня 2017 года.
Крупнейшие технологические компании мира лихорадочно бросились устранять пробелы в системе обеспечения безопасности. К началу января 2018 года, когда было объявлено об уязвимостях Meltdown и Spectre, лавры в основном достались Хорну. На официальном интернет-ресурсе, содержащем описания и исправления ошибок, перечислено более десяти исследователей, сообщивших о проблемах, и Хорн возглавляет списки для обеих уязвимостей.
Вольфганг Рейнфельдт преподавал информатику в средней школе Кассиленшуле, где учился Хорн, в старинном городе Ольденбурге, который находится примерно в 30 км от северного побережья Германии. Он не удивлен успехом своего ученика. «Янн всегда демонстрировал выдающиеся способности», — вспоминает Рейнфельдт. Он был поражен, когда Хорн обнаружил пробелы в системе защиты школьной компьютерной сети.
У Хорна были отличные успехи в физике и математике. Он оказался на приеме у Меркель, потому что вместе со своим другом придумал способ управлять движением двойного маятника. Ученики составили программу, которая считывала показания датчиков, чтобы предсказать движение, а затем корректировала непредвиденные и нежелательные движения с помощью магнитов. Задача заключалась в том, чтобы упорядочить хаос. Друзья заняли пятое место в конкурсе и получили приглашение на прием в Берлин. Это было предвестником дальнейших успехов Хорна.
Марио Хайдрих, основатель берлинской компании Cure53, оказывающей консультационные услуги в сфере кибербезопасности, обратил внимание на Хорна в середине 2014 года. Тогда Хорн, которому не было еще 20 лет, опубликовал интересные статьи о способах обхода ключевых функций безопасности, направленных на противодействие внедрению вредоносных программ в компьютеры пользователей. Cure53 разрабатывала аналогичные методы, поэтому Хайдрих связался с Хорном и спустя некоторое время они уже обсуждали возможность присоединения Хорна к небольшой команде Cure53.
Вскоре Хайдрих узнал, что Хорн является студентом Университета Рура в Бохуме, где Хайдрих занимался исследованиями. В итоге он стал научным руководителем Хорна, а Хорн заключил трудовой договор с Cure53.
В 2016 году специалист по кибербезопасности Брайант Задеган и Райан Лестер, руководитель новой компании Cyph, занимающейся безопасным обменом сообщениями, подали заявку на патент вместе с Хорном. Задеган попросил Хорна выполнить аудит службы Cyph для поиска уязвимых мест в случае взлома. Результаты аудита были использованы в заявке на патент и оказались столь значимыми, что, по мнению Задегана, Хорн в высшей степени заслужил место среди изобретателей. Спроектированный ими инструмент гарантирует, что даже в случае взлома основных серверов Cyph данные отдельных пользователей будут в безопасности.
«Янн умеет найти примечательные особенности в работе компьютера, он чувствует, что происходит нечто необычное, и начинает разбираться, — комментирует Задеган. — Так волшебно устроен его мозг. Если чего-то не хватает, он углубляется в исследование и выясняет, что происходит».
Прошло совсем немного времени, и специалисты Cure53 заговорили об «эффекте Янна». Молодой хакер постоянно придумывал чрезвычайно хитрые атаки. «Meltdown и Spectre — лишь два примера блестящих находок Хорна, — говорит Хайдрих. — И это не разовое чудо, а его обычная работа».
После двух лет работы в Cure53 и завершения образования Хорн получил от Google приглашение участвовать в проекте Project Zero. Хайдрих с особенным чувством вспоминает тот день, когда Хорн попросил о рекомендательном письме для нового работодателя: «Google была его мечтой, и мы не собирались препятствовать ему. Но расставаться с Хорном не хотелось».
Теперь Хорн стал знаменитостью, по крайней мере среди специалистов по кибербезопасности. Коллеги оглушительными аплодисментами встретили его доклад о Spectre и Meltdown, сделанный на конференции в Цюрихе 11 января этого года, спустя неделю после оглашения информации об атаках.
Хорн изложил коллегам теорию своих атак по-английски с немецким акцентом. В его рассказе было не много такого, что не было известно ранее. Хорн подчеркнул, что после того, как информация был передана Intel, он не имел никаких контактов с компанией в течение нескольких месяцев, пока изготовитель процессорных микросхем не обратился к нему в декабре, отметив, что другие специалисты по безопасности сообщают о таких же уязвимостях. Однако Аарон Стейн, представитель Google, говорит, что Янн и проект Project Zero поддерживают регулярные контакты с Intel после того, как он сообщил о проблеме.
На вопросы исследователей о возможной уязвимости других компонентов процессоров Хорн ответил с многозначительной улыбкой: «Я думал об этом, но пока не рассматривал проблему всерьез».