Сумасшедшая безопасность рождения Zcash. Информация из первых рук. Часть 2

5-12-2016_d0b2_22_07_52

Вся комната была заполнена гаджетами. Четыре камеры видеонаблюдения были подняты на столбах и направлены на офлайн компьютер, чтобы обеспечить 24-часовое наблюдение на случай нападения ниндзя. Ещё одна цифровая камера на штативе снимала комнату через широкоугольный объектив. И у меня, и у Уилкокса, были беспроводные микрофоны. Ещё один микрофон был закреплен на ноутбуке с запущенным Google Hangouts.

Я подошёл к монитору между двумя кроватями, на который выводились изображения с камер видеонаблюдения, и сначала я подумал, что дело в нём. Но, опустив взгляд на одну из кроватей, я увидел свой телефон, и, как только взял его в руки, понял, что звук идёт из динамика.

«Морген, почему твой телефон воспроизводит звук из Google Hangouts», – Уилкокс выглядел озадаченным, заинтересованным и несколько встревоженным.

Действительно: почему? Это было тем более странно, потому что я сознательно не подключался к Google Hangouts во время церемонии. Более того, на экране компьютера Уилкокса было видно, что меня вообще нет в списке участников группы.

Так как же мой телефон получил доступ к звуку видеочата?

Не теряя времени, Уилкокс начал экспериментировать. Продолжая говорить с Ван Валкенбургом, он попробовал отключить микрофон в своей сессии Google Hangouts. Мой телефон при этом передавал аудио только Ван Валкенбурга.

Что тоже странно, когда Уилкокс снова подключил свой микрофон, его голос стал раздаваться из динамика моего телефона с небольшой задержкой – может быть, 100 или 200 миллисекунд – что говорит о том, что он поступал на телефон откуда из-за пределов комнаты – возможно, с сервера Google Hangouts.

mjgznzq0nw

Ван Валкенбурга мы слышали даже слишком хорошо. (Фото: Морген Пек)

Как только мы стали проверять мой телефон, просматривая запущенные программы и несколько подозрительных текстовых сообщений, которые я получил за пару дней до церемонии, эхо неожиданно прекратилось. Мы быстро перевели телефон в режим самолёта в надежде сохранить доказательства, если таковые оставались.

После долгих переговоров, я сдал Уилкоксу свой телефон (архаичный Android, буквально сам просивший, чтобы его взломали), после чего тот отправил его хакеру в Сан-Франциско. Эти усилия не дали ответа на вопрос, почему мой телефон подключился к группе в Hangouts, и теперь он на пути в профессиональную компанию, специализирующуюся в вопросах безопасности – для дальнейшего анализа.

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

За ответами на эти вопросы, я отправился в Колумбийский университет, в лабораторию Эрана Тромера, компьютерного учёного, специалиста компании Zcash, принимавшего участие в разработке криптографического протокола. Тромер работает там около года в качестве приглашённого исследователя, но его основное место работы – Факультет компьютерных наук Тель-Авивского университета, где он руководит Лабораторией экспериментальной информационной безопасности (LEIS), важным образовательным учреждением в области информационной безопасности.

Значительная часть работы Тромера в LEIS заключается в исследовании атак по сторонним каналам. В основе атак по сторонним каналам лежит идея о том, что необязательно иметь прямой доступ к данным на компьютере, чтобы шпионить за ним. Часто некоторое представление о том, что делает компьютер, можно получить исходя из того, что происходит с его физическими компонентами. На какой частоте гудят металлические конденсаторы ноутбука? Какое количество энергии потребляется? Какие происходят колебания напряжения? Паттерны подобных сигналов могут выдавать информацию о работе программного обеспечения, что может представлять собой проблему, если вы хотите сохранить в тайне факт использования определённой программы.

«Моё исследование посвящено тому, что происходит с хорошими, прочными криптографическими схемами, когда они попадают в реальный мир и реализуются на компьютерных платформах, имеющих пороки и дыры в безопасности на уровнях программного обеспечения и оборудования», – говорит Тромер.

В лаборатории в Колумбии Тромер запустил на своём ноутбуке демонстрационную программу, выполняющую цикл из нескольких различных вычислений. Он сказал мне приложить ухо по-ближе к месту выхода горячего воздуха из корпуса ноутбука. Я наклонился и внимательно вслушивался в повторяющиеся звуки работы компьютера.

mjg0mda1ma

Эран Тромер, эксперт в области атак по сторонним каналам. (Фото: Амит Шаал)

«То, что вы слышите – это конденсатор блока питания, старается поддерживать на постоянном уровне подачу напряжения на центральный процессор. Различные вычисления, производимые CPU, приводят к изменениям энергопотребления, что влияет на механическое воздействие на пластины конденсатора. Это вызывает вибрацию, которая, в свою очередь передаётся по воздуху в виде звуковых волн, которые мы можем считать и на расстоянии», – сказал он.

Тромер начал исследовать этот феномен для себя около десяти лет назад. «Я приехал на конференцию и находился в тихом номере отеля. Я работал на своём ноутбуке, и он издавал эти раздражающие шумы всякий раз, как я запускал определённые вычисления. И я подумал: а что будет происходить, если это будет криптографическое вычисление с секретным ключом – как ключ повлияет на издаваемый компьютером шум?»

В течение следующего десятилетия Тромер и его коллеги пытались использовать акустические утечки от аппаратных компьютерных компонентов для слежки за выполнением криптографических алгоритмов. В 2014 году они продемонстрировали успешную атаку, в которой им удалось украсть ключ дешифрования путём записи звуков, издаваемых ноутбуком во время выполнения программы дешифрования методом RSA, и их анализа. С использованием высокотехнологичного параболического микрофона, они сумели украсть секретный ключ с дистанции 10 метров. Они могли успешно выполнить такую атаку даже при помощи микрофона мобильного телефона при условии, что он лежал вплотную к компьютеру.

Однако, по ряду причин, Тромер не думал, что кто-то смог бы использовать таким же образом мой телефон. Во-первых, свист катушки в современных компьютерах происходит на более высоких частотах, чем на ноутбуке в демонстрации метода – за пределами диапазона частот, которые обычно способны распознавать мобильные телефоны, микрофоны которых предназначены для работы с более низкими частотами человеческого голоса.

«Наличие пригодных сигналов, которые могли бы быть захвачены обычным телефоном, помещённым случайным образом в нескольких метрах от современного компьютера, представляется крайне маловероятным, – сказал он. – Этого нельзя исключить полностью. Теоретически, можно предположить некое сверх-удачное сочетание факторов. Однако, с точки зрения противника, это слишком напоминало бы выстрел вслепую, к тому же, при чрезвычайно высоком риске обнаружения, чтобы даже предпринять такую попытку. Особенно если учесть, что сценарий проведения церемонии оставлял им слишком мало времени на то, чтобы адаптировать атаки к конкретному оборудованию и программному обеспечению.»

Кроме того, атаки, продемонстрированные Тромером, не были пассивными. Для того, чтобы собрать полезный сигнал, вам нужно усилить его, посылая запросы атакуемой программе. Эти запросы заставляют программу выполнять вычисления повторно. Для того, чтобы это проделывать, нужно изучить выполняемый на компьютере код.

Программное обеспечение, использовавшееся в церемонии генерации ключа Zcash, было совершенно индивидуальным, написанным специально для данного случая и намеренно скрывалось от посторонних глаз до момента окончания церемонии. Это был спорный выбор, отличающийся от практики других подобных церемоний. (Например, церемония DNSSEC, в процессе которой генерировались цифровые подписи для защиты доменных имён верхнего уровня, была проведена намного более прозрачным образом, с публичной проверкой в реальном времени.)

Перед вылетом в Колорадо я связался с Брайаном Фордом, профессором компьютерных наук, который руководит Лабораторией децентрализованных и распределённых систем в Федеральной политехнической школе Лозанны в Швейцарии. Он был обеспокоен решением хранить подробности церемонии Zcash в тайне. В личной переписке в Твиттере он сказал мне:

«Насколько я понимаю принципы криптографии, основа для генерации параметров должна быть настолько ясной, что необходимости хранить в тайне что-либо, кроме критически важных частей ключей параметров, которые в конечном итоге складываются вместе для получения конечных публичных параметров, просто не должно быть. Если они считают, что подробности церемонии лучше сохранить в тайне, то, похоже, что-то с этим не так.»

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

Даже если кто-то и видел исходный код заранее, Уилкокс считает, что это не будет концом света, потому что секретность не являлась первичной защитой. По его словам, одним из лучших аспектов плана церемонии было задействование нескольких участников. Недостаточно было бы просто удалить записи из компьютера в Колорадо. Злоумышленник мог бы успешно записать сторонний канал на каждом стационарном пункте. И поскольку Уилкокс оставил многие детали безопасности на личное усмотрение каждого оператора станции, подготовка шести разных атак по сторонним каналам отняла бы большое количество и времени, и денег.

На одной из станций это могло быть и вовсе исключено. Питер Тодд, один из участников церемонии, производил всю свою часть криптографических вычислений на ноутбуке, который он держал в картонной коробке, проложенной фольгой, в процессе разъезжая по Канаде. По окончании церемонии он сжёг свой ноутбук до остова при помощи пропановой горелки. «Я поставил себе целью превзойти в своём канадском шифропанковском безумии все остальные станции», – сказал Тодд, оказавшийся также и одним из самых откровенных критиков Zcash.

Если бы кто-то предпринял попытку атаки по сторонним каналам по стратегии, продемонстрированной Тромером в его лаборатории, то, вероятно, свидетельства этому должны были сохраниться в сокровищнице криминалистических артефактов, оставшихся после церемонии. Среди этих предметов – все DVD-R, содержащие записи (подтверждённые криптографическими хэш-функциями) о передаваемых между станциями во время церемонии результатами вычислений. Методы Тромера требуют прямого взаимодействия с программным обеспечением, и эти манипуляции нашли бы своё отражение в публичном отчёте.

Ни при каких условиях инцидент с моим телефоном не мог скомпрометировать церемонию. Уилкокс тоже не казался ужасно обеспокоенным тем, что это может представлять собой серьёзную угрозу:

«Безопасность у нас на превосходном уровне. Предотвращение некой атаки не вызывает у меня беспокойства.  Однако я очень заинтересован в том, чтобы выяснить причины этого явления, поэкспериментировать или найти больше доказательств, – сказал Уилкокс. – Они очень далеки от победы. Чрезвычайно далеки.»

И мне тоже очень интересно. Мой телефон сейчас где-то далеко – я не знаю, где, – ждёт, когда его разберут на части. Даже если он и не использовался для того, чтобы обрушить гарантирующую конфиденциальность цифровую валюту – что, судя по тому, что я узнал, было бы настоящим технологическим чудом, – тем не менее, вполне вероятно, что кто-то с его помощью меня прослушивал. Кто? Почему? Как долго? Во всяком случае, этот опыт повысил степень моего уважения к людям, которые пытаются помочь нам сохранить нашу частную информацию конфиденциальной. И уж по крайней мере, я точно извлёк урок: отправляясь на супер-секретную криптографическую церемонию, телефон лучше оставить дома.

Источник: spectrum.ieee.org



Рубрики:Новичкам, Проишествия, z.cash

Метки: ,

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s