Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
11
Добавлен:
20.04.2024
Размер:
27.6 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

X

 

 

 

 

 

-

 

 

 

 

 

d

 

F

 

 

 

 

 

 

t

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

to

70 m

w Click

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

.

 

 

 

 

 

.c

 

 

p

 

 

 

 

g

 

 

 

 

df

 

 

n

e

 

 

 

 

-xcha

 

 

 

Взлом

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

ХАКЕР 12 /191/ 2014

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

ВМЕСТОВВЕДЕНИЯ

треть тут: goo.gl/73n5OC). Код шифра был взят из Сети

 

 

Человек постоянно пользуется эффектами, которые про-

(goo.gl/yO2Ouj) и выполнялся на 8-битовом микрокон-

 

 

являются при взаимодействии объектов, чтобы судить

троллере STM8 Discovery (goo.gl/zBypZv). В рассматри-

 

 

о свойствах самих объектов. С помощью такого подхода,

ваемой реализации AES нет уязвимостей, о которых го-

 

 

например, было открыто строение атома. В начале XX

ворилось в предыдущей статье, поэтому будем полагать,

 

 

века не было возможности увидеть сам атом, поэтому его

что ты пока не нашел, как взламывать этот шифр.

 

 

строение представлялось в виде «булочки с изюмом», где

Как мы уже говорили, исполнение алгоритма изменяет

 

 

в качестве изюма выступали электроны. Эта модель ис-

свойства вычислительного устройства. Если ты до сих пор

 

 

пользовалась как основная до тех пор, пока Резерфорд

этому не веришь, то посмотри на рис. 1 и скажи, видишь

 

 

и Гейгер не провели эксперимент по рассеиванию аль-

ли ты AES. На нем изображено измерение входного напря-

 

 

фа-частиц в тонких пластинах. Эксперимент не позволил

жения всего микроконтроллера, которое обычно обо-

 

 

увидеть строение атома, но по второстепенному эффекту

значается как Vdd. Это напряжение используется для ра-

 

 

ученые смогли догадаться, что модель «булочки с изю-

боты всех блоков STM8, включая ЦПУ, память, устройства

 

 

мом» не работает. Другим очевидным примером служит

ввода-вывода и другие подсистемы. Измерение было

 

 

вычисление объема тела произвольной формы. Самое

сделано с помощью цифрового осциллоскопа Picoscope

 

 

простое, что можно сделать, — это опустить такое тело

3207A, пропускная способность которого 250 МГц. В дан-

 

 

в воду и рассчитать объем по новому уровню воды. Похо-

ном случае интервал между двумя точками равен 352 нс,

 

 

жие методы можно применить и для взлома криптографи-

а на графике всего 19 886 точек. Так как частота микро-

 

 

ческих алгоритмов.

контроллера 16 МГц (период 62,5 нс), то в среднем на-

 

 

 

В криптографии существует целый класс атак, назы-

пряжение измерялось для каждого 5-го такта, тем не ме-

 

 

ваемых атаками по второстепенным каналам, которые

нее раунды и даже операции каждого раунда могут быть

 

 

используют физические параметры вычислительного

явно различены (таблица замещения Sbox, перестановка

 

 

устройства для определения ключей шифров. Основы

MixColumn, сложение с ключом). Данный осциллоскоп по-

 

 

атак были рассмотрены в предыдущей статье («Крипто-

зволяет уменьшить интервал вплоть до 100 пс (правда,

 

 

графия под прицелом», #189), где секретный ключ алго-

в этом случае одно измерение будет содержать около 70

 

 

ритма DES определялся по времени работы всего шиф-

миллионов точек).

 

 

ра. Если ты ее не читал, то настоятельно рекомендую это

Несмотря на то что алгоритм AES симметричный,

 

 

сделать, ибо в ней объясняется математическая состав-

он имеет различное число базовых операций: 11 сложе-

 

 

ляющая атаки, а именно закон больших чисел Чебышева

ний с ключом, по 10 операций таблицы замены (Sbox),

 

 

и коэффициент корреляции. В этой статье возвращаться

и лишь 9 операций над колонками MixColumn. На рис. 2

 

 

к основам не будем, а больше сосредоточимся на микро-

красным цветом выделены 11 сложений с ключом, зеле-

 

 

электронике и статистике.

ным цветом — 10 операций замены и черным цветом —

 

 

СКАЖИМНЕ,КАКТЫЕШЬ,ИЯСКАЖУ...

9 операций MixColumn. В начале и конце алгоритма могут

 

 

происходить копирование или инициализация, поэтому

 

 

ЧТОТЫЕЛ

 

 

 

 

 

Для расширения кругозора в этот раз мы будем использо-

 

 

 

 

 

вать алгоритм AES-128 (описание которого можно посмо-

Рис. 1. Потребление энергии при выполнении AES

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

ХАКЕР m

12 /191/ 2014

Криптография под прицелом

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

2

они выделены синим цветом. Вообще, измеренное напряжение позволяет определить очень многое:

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

2.Начало и окончание работы каждого раунда, которые опять же позволяют определить время работы раунда.

3.Операции каждого раунда: сложение с ключом, таблица замены Sbox и так далее.

Кроме того о показывает время выполнения каж-

дой операции горитма AES, рис. 1 должен натолкнуть тебя на мысль, о каждая отдельная группа инструкций

(да и вообще ждая от-

дельная инструкция) по-

требляет

свое

 

 

количе-

ство энергии.

 

сли мы

научимся

ировать

энергию,

 

 

 

бленную

во время выполнения ин струкции, и эта энергия

будет зависеть

 

т значе-

ния

ключа и

вестных

нам

параметров

то мы

сможем определить пра вильное значение ключа. Правда, нам, как всегда,

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

МОПСЫИИХ ИТАНИЕ

Большинство временных вычислительных устройств создается по ологии КМОП ( goo.gl/Cqk4vq ) (компле-

Рис. 2. Потребление энергии при выполнении AES — разбор паттернов

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

технологии (в основном кремний) шир распростра-

нены. Энергия в этом устройстве потребляется только

 

в

моме

 

транзакции,

 

 

то есть к

 

огда 1 заменяет-

 

 

ся на

 

 

и

ли 0 заменяется

 

 

 

0

 

 

 

 

на

 

 

. Н

апример, если

 

 

 

 

1

 

 

 

на

 

вхо

 

логического

 

 

элемент

 

подаются

 

 

 

ильных сигнала,

два стаб

 

 

 

еский элемент

то логич

 

 

 

 

ебляет энергию

не

потр

 

 

 

самую ма-

(ну толь

 

 

 

сли хотя бы одно

лость). Е

входное

значение изме-

няется,

 

то происходит

переклю

 

транзи-

сторов, которое требует энергии. Еще раз: если

 

 

в течени

 

минуты на вход

 

 

элемент

 

подавались

 

 

 

 

неизменные

 

 

стабильн

 

 

сигналы,

 

то он не по-

 

 

 

хотя бы один

треблял энергию, а вот если за эту мин

 

из входных сигналов поменялся, то в момент изменения энергия была затрачена на «пересчет» выходного значе-

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

w Click71

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

 

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

72

 

 

w Click

 

 

m

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

df

 

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

Взлом

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

ХАКЕР 12 /191/ 2014

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

Предположим, мы хотим сло-

 

 

 

 

 

 

 

 

жить значение регистров R1 (ис-

 

 

 

 

ходный текст) и R2 (ключ) и ре-

 

 

 

 

зультат записать в регистр R1.

 

 

 

 

Регистры специального назначе-

 

 

 

 

ния уже загружены, и они активи-

 

 

 

 

ровали нужные части микрокон-

 

 

 

 

троллера. На первом такте оба

 

 

 

 

значения R1 и R2 отправляются

 

 

 

 

в облако, где с помощью логиче-

 

 

 

 

ских элементов складываются. Так

 

 

 

 

как выполняется новая операция,

 

 

 

 

то с распространением сигнала

 

 

 

 

от R1 и R2 обновляется состояние

 

 

 

 

логических элементов, и это вызы-

 

 

 

 

вает потребление энергии. Затем,

 

 

 

 

когда все логические элементы

 

 

 

 

обновились и результат сложения

 

 

 

 

отправился на вход R1, система

 

 

 

 

замирает, и питание не потребля-

 

 

 

 

ется до тех пор, пока на регистр

 

 

 

 

R1 не пришел синхросигнал. В этот

 

 

 

 

момент регистр обновился, и сра-

 

 

 

 

зу же новое значение отправилось

 

 

 

 

в облако логических элементов,

 

 

 

 

тем самым вызвав новый всплеск

 

 

 

 

в потребленной энергии. Если вы-

 

 

 

 

полняется другая инструкция, то,

 

 

 

 

 

3

 

 

 

 

 

возможно, ты увидишь всплеск

 

 

 

 

другой формы (посмотри на пат-

 

 

 

 

терны на рис. 2, выделенные раз-

Рис. 3. Схема аппаратной реализации

ным цветом), так как будут задействованы другие логи-

 

 

 

ческие элементы.

 

 

 

Момент обновления регистров общего назначения

ния. Таким образом, логические элементы — это один

очень важен. Во-первых, в этот момент происходит наи-

из потребителей энергии.

большее потребление энергии, так как обновленное зна-

 

 

В микросхеме, помимо логических элементов, есть

чение регистра вызывает дальнейшее переключение ло-

еще регистры, хранящие промежуточные значения вы-

гических элементов. Во-вторых, из-за стабильной частоты

числений. В отличие от логических элементов, для работы

осциллятора все операции совершаются в один и тот же

регистров требуется синхросигнал, который будет син-

момент времени, поэтому измеренное напряжение будет

хронизировать операции в микросхеме. Синхросигнал

синхронизировано. Я хочу сказать, что для двух различ-

обычно имеет прямоугольную форму фиксированной ча-

ных выполнений одного и того же кода система в момент

стоты, например, STM8 Discovery использует 16 МГц, а со-

времени t будет находиться в одинаковом состоянии,

временные процессоры от Intel и AMD способны работать

то есть сигнал будет обрабатываться одними и теми же

выше 3,5 ГГц. Переключение регистра происходит следу-

логическими элементами. Возможно, это сложно понять,

ющим образом: на первый вход регистра подается сигнал

но в дальнейшем ты увидишь, почему это важно.

от логических элементов, этот сигнал должен быть полу-

В данном объяснении тебе важно запомнить, что наи-

чен заранее и уже более не должен обновляться в данный

большее потребление энергии происходит в момент пе-

такт. На второй вход регистра подается синхросигнал,

реключения регистра и все кривые напряжения синхрони-

в момент, когда синхросигнал переключается с низкого

зированы по времени.

на высокое значение, происходит перезапись регистра

Теперь мы посмотрим, как использовать эти знания

и, соответственно, потребление энергии. Поэтому вторым

для вычисления ключа. Мы разберем лишь один, самый

и основным источником потребления энергии являются

первый способ атаки, а некоторые важные улучшения это-

регистры памяти.

го метода рассмотрим в следующей статье.

МОПСЫИИХПОВЕДЕНИЕ

ДИФФЕРЕНЦИАЛЬНЫЙАНАЛИЗ

На рис. 3 схематично изображена система любой инструк-

ПИТАНИЯ.ТЕОРИЯ

ции или любого аппаратного дизайна. Есть регистры об-

Первая атака через потребленную энергию была опубли-

щего назначения R1 и R2, которые хранят промежуточные

кована Полом Кохером в 1996 году, хотя, строго говоря,

значения вычислений. Есть «облако» логических элемен-

его нельзя назвать автором этого метода — на тот момент

тов, которое позволяет выполнять те или иные операции

технологии атаки активно обсуждались в фидонете. Со-

(сложение, умножение, операции сдвига и так далее). Об-

гласно неофициальным данным, уже в конце 80-х годов

лако логических элементов, равно как и регистры обще-

прошлого века наши спецслужбы профилировали выпол-

го назначения, контролируется регистрами специального

нение каждой отдельной инструкции микроконтроллеров,

назначения. Именно они определяют, какая операция бу-

то есть они могли сказать, какая инструкция соответствует

дет выполняться и в какой момент.

данной кривой напряжения (а первые зарубежные опу-

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

ХАКЕР m

12 /191/ 2014

Криптография под прицелом

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

4

Рис. 4. Дифференциальный анализ питания при 1м целевом бите Рис. 5. Увеличенный график для одного ключа при 1м целевом бите

5

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

w

 

 

 

 

 

 

 

 

m

73Click

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

74

 

 

w Click

 

 

m

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

df

 

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

Взлом

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

ХАКЕР 12 /191/ 2014

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

6

бликованные работы на эту тему появились лишь в сере-

Рис. 6. Максимальное значение разностей средних для ключей

дине 2000-х — посмотри Template Attacks), хотя, еще раз

при первом целевом бите

 

повторюсь, информация неофициальная.

 

 

Дифференциальный анализ питания основан на том,

 

 

что энергия переключения из 0 в 1 отличается от энергии

вую группу (группа 1) входят те кривые, для которых этот

переключения из 1 в 0. Это очень незначительное пред-

бит установлен в 1, во вторую группу (группа 0) входят те

положение, и я смело заявляю, что оно верно для 100%

кривые, для которых этот бит равен 0. Затем вычисляется

полупроводниковых устройств, то есть для всех гаджетов,

среднее арифметическое каждой группы и рассматрива-

которые ты используешь каждый день. По крайней мере

ется их разность, собственно, поэтому анализ и называет-

существует строгое доказательство того, что для КМОП-

ся дифференциальным. Если модель и ключ были верны,

технологии это действительно так (вот книга, объясняю-

то на разности средних арифметических в тот момент,

щая это свойство КМОП-систем еще до появления анали-

когда использовался результат моделируемого регистра,

за питания: goo.gl/wxVP8l).

можно увидеть значительный всплеск. Теперь рассмо-

Дифференциальный анализ питания проходит в не-

трим все более детально.

 

сколько этапов. Вначале определяется целевой регистр,

ДИФФЕРЕНЦИАЛЬНЫЙАНАЛИЗПИТАНИЯ.

то есть инструкция, результат работы которой ты будешь

атаковать. Внимательно прочти еще раз, ты будешь атако-

ВСЕОБAES

 

вать не саму инструкцию, а ее результат, то есть значение,

Если нам доступны шифротексты, то мы можем моде-

записываемое в регистр. Целевой регистр может исполь-

лировать результат Sbox последнего раунда. Мы знаем,

зоваться несколько раз, и, как ты увидишь, это повлияет

что первый байт шифротекста вычислялся следующим

на атаку. Результат работы инструкции должен зависеть

образом: С(1) = Sbox[S9(1)]

xor K10(1), где S9(1)

от известных тебе данных (исходных текстов или шифро-

это первый байт результата

работы девяти раундов,

текстов) и от неизвестного значения ключа. Для AES-128

а K10(1) — это первый байт ключа последнего раунда. Со-

обычно используют операции, связанные с одной табли-

гласно алгоритму AES, значение S9(1) должно быть полу-

цей замещения Sbox, так как в этом случае ключ можно

чено, чтобы рассчитать конечное значение шифротекста,

искать побайтово, плюс Sbox — нелинейная операция,

пропустить вычисление S9(1) невозможно, просто потому,

и она позволяет быстрее отбросить неправильные значе-

что так задан алгоритм. Мы работаем с 8-битным микро-

ния ключей. Во время каждого шифрования измеряется

контроллером и незащищенной реализацией алгоритма

кривая напряжения, затем с помощью известных данных

AES, поэтому, скорее всего, значение S9(1) было получе-

и неизвестного ключа вычисляется значение целевого ре-

но и сохранено вначале в регистре (значение нужно полу-

гистра (как это делается — объясняется ниже). Из этого

чить, а все результаты вначале записываются в регистры

значения выбирается один бит (например, первый), и все

общего назначения), а затем в стеке, чтобы использовать-

кривые напряжения разделяются на две группы. В пер-

ся в следующем раунде. Таким образом, мы определились

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

ХАКЕР m

12 /191/ 2014

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Криптография под прицелом

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

w75Click

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

с целевой инстр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

айный» результат

укцией, которая зависит как от ключа, так

регистра хранило промежуточный «случ

и от шифротекста

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

). Когда наш

, плюс это нелинейная операция, что по-

 

шифра (результат другой Sbox, к при

могает в атаках

о второстепенным каналам

 

 

 

 

 

 

 

в половине

случаев, предыду-

 

 

 

моделируемый бит равен

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

Давай выбе

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

четверти случаев

 

 

рем первый

 

бит значения

 

S9(1) =

 

щее значение регистра было 0 (то есть в

InvSbox[С(1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

реключение будет

or K10(1)]

, с помощью которого мы бу-

от N), и примерно в четверти случаев пе

дем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

происхо

 

, а в четверти

 

цировать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

кривые

 

ряжения.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет. То же самое с нулем:

Оставшиеся биты можно

 

 

 

 

 

Мы можем смоделировать

 

 

 

 

 

в средн

 

переключение

использовать

ля улуч

 

 

 

 

 

 

 

 

из

 

 

 

в

 

 

 

будет у N/4 шиф-

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

шения/ускорения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

, и в оставшей-

 

 

вычис-

 

 

 

результат, который дол-

 

 

рований

ления ключа, но

мы пока

 

 

 

 

 

 

 

 

 

 

 

переключений

 

 

 

 

ся част

будем

работать

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(0 перезапишет

 

 

 

лишь

 

жен быть записан в регистр,

не буде

с одним первым

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

чается,

что среди

битом.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

). Полу

 

 

Помнишь,

 

 

 

 

 

 

 

 

 

но мы не знаем предыдущее

 

 

 

 

 

 

 

ований будет N/4

 

 

ы

гово-

 

 

 

 

 

N шифр

рили, что энерг

ия пере

 

 

 

 

 

 

 

 

 

 

 

 

из 0 в

1

 

 

 

 

 

переклю

 

ключения из 1 в

 

 

и из

 

 

 

значение регистра, поэтому

 

 

 

 

 

и прим

 

столько

же

 

0

0

 

в 1 отличается.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

из 1 в 0.

 

 

 

Мы мо-

 

переклю

 

 

 

жем смоделиро

вать ре

 

 

не можем определить, было ли

 

 

 

 

 

 

 

 

 

 

 

предыдущее

 

 

 

 

 

 

 

 

 

 

 

Если

зультат,

который

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

регистра было

должен

 

 

 

 

значени

быть записан в

 

 

 

переключение или нет

 

 

 

 

постоян

 

,

например

регистр,

 

 

 

 

 

 

 

но мы не знаем

предыду

 

 

 

 

 

 

 

 

 

 

 

 

в нем з

аписывался счет-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

щее значение

регистра,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

чик цик

, то он всегда

поэтому

точно

 

не

мо

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

равен либо 1,

либо

0.

жем определить

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лучае еще проще,

, было

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В этом с

ли переключение

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

так как одна из двух групп, созданных п

моделируемому

или нет. На самом деле это и не нужно.

 

 

Мы просто полагаем, что предыдущее значение регистра

 

 

 

биту, будет всегда переключаться, а другая никогда.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

не зависело линейным образом от нового значения. По-

 

 

 

 

 

 

В случае если предыдущее значение регистра линей-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

пробую объяснить на примере. У нас есть N шифротекстов.

ным образом зависело от нового значения, то могла по-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Так как алгоритм AES все перемешивает и переставляет,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

то примерно в половине случаев из этих N шифротекстов

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

наш искомый бит будет равен

 

1

, а в другой половине он ра-

 

Рис. 7. Увеличенный график для одного ключа при восьмом

 

 

 

 

 

 

 

 

 

 

 

 

вен

 

 

. Предположим теперь,

что предыдущее значение

 

целевом бите

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

hang

e

 

 

 

 

 

 

C

 

E

 

 

 

X

 

 

 

 

 

-

 

 

 

 

 

d

 

F

 

 

 

 

 

 

t

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

to

76 m

w Click

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

.

 

 

 

 

 

.c

 

 

p

 

 

 

 

g

 

 

 

 

df

 

 

n

e

 

 

 

 

-xcha

 

 

 

Взлом

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

ХАКЕР 12 /191/ 2014

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

лучиться ситуация, когда в группе 1 было лишь очень ограниченное число переключений, которое чуть меньше, чем число переключений в группе 0. В этой ситуации количество переключаемых и не переключаемых битов было бы не сбалансировано и разность средних арифметических была бы бесполезна. Именно для того, чтобы избежать линейности, используется результат работы Sbox.

Согласно закону больших чисел Чебышева, среднее арифметическое группы 1 в момент выпол-

нения целевой инструкции даст Таблица значений целевого регистра для разных значений ключа

тебе константу плюс энергию переключения из 0 в 1, а среднее ариф-

 

метическое группы 0 в тот же самый момент времени даст

 

же значению. Таким образом, разность средних ариф-

 

ту же самую константу плюс энергию переключения из 1

 

метических будет сходиться к нулю во всех точках,

 

в 0. Так как мы знаем, что энергии переключения из 0 в 1

 

за исключением инструкций, которые тем или иным

 

и из 1 в 0 отличаются, то разность средних арифметиче-

 

образом зависят от выбранного бита целевого реги-

 

ских даст тебе всплеск в момент выполнения инструкции.

 

стра. Иногда, правда, можно встретить «призрачные»

 

 

 

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

 

всплески. Они возникают в случае, если бит целевого

 

на разности средних арифметических будут стремиться

 

регистра влияет на дальнейшие вычисления, но «при-

 

к нулю. Это опять действует закон Чебышева: так как мы

 

 

зрачные» всплески можно использовать во благо, если

 

 

 

сортировали кривые с помощью нашего целевого реги

 

 

 

 

 

 

 

 

 

 

 

понимать, откуда они берутся.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

стра, то, скорее всего, все остальные инструкции будут

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

случайным

образом попадать в обе группы, следова-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тельно, среднее арифметическое двух групп для всех

 

 

 

Рис. 8.

 

 

 

 

Максимальное значение разностей средних для клю-

 

 

 

 

 

 

 

остальных инструкций будет сходиться к одному и тому

 

 

 

 

чей при восьмом целевом бите

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Существует специальный сайт dpacontest.org, который проводит соревнования по скорости и точности применения атак по второстепенным каналам. На этом сайте есть примеры кода и множество данных для атак

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

ХАКЕР m

12 /191/ 2014

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

Криптография под прицелом

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

w

 

 

 

 

 

 

 

 

m

77Click

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-x cha

 

 

 

 

ДИФФЕРЕНЦИАЛЬНЫЙАНАЛИЗ ПИТАНИЯ.ПРАКТИКА

Перейдем наконец от теории к практике. С помощью того же самого осциллоскопа было измерено напряжение для 10 тысяч шифрований. Чтобы убрать шумы, каждое шифрование выполнялось 1000 раз, а напряжение усреднялось. Дискретизация была увеличена в два раза, поэтому каждая кривая напряжения содержит 40 500 точек. Мы будем атаковать операцию, использующую значение

регистра S9(1) = InvSbox[С(1) xor K10(1)] . Как ты по-

том убедишься, аких операций несколько. Для этого мы

воспользуемся первым

байтом каждого шиф-

ротекста и

считаем

результаты

егистра

для всех

 

рований

и всех возможных значений байта ключа (см.

табл.).

 

 

 

 

 

 

На основе

 

 

 

 

 

 

начений

из колонки 4 (

 

 

 

 

 

 

вый бит

S9(1) для ключа

 

 

 

 

 

 

 

 

0 00

)

 

 

таблицы мы

 

 

отберем

в группу 1 все

 

 

вые на-

пряжений

 

ований,

для которых целевой бит S9(1) равен 1, а в груп-

пу 0 — все

 

 

вые на-

пряжений

 

ований,

для которых этот бит равен 0. Теперь остроим

разность средних арифметических двух групп. Проделаем точно такую же операцию для оставшихся 255 ключей и построим их фики, как это сделано на рис. 4. Как видно из этого рисунка брос ближе к концу шифрования, его увеличенное изобра-

жение показано на рис. 5.

На нем мы видим три всплеска (они пронумерованы от 1 до 3). Третий пик я бы объяснил тем, что значение S9(1) считывается из стека для вычисления Sbox, так как оно находится в зоне выполнения Sbox последнего раунда (от

6200 до 6420 — это зона Sbox и Shift Rows). А вот два пре-

дыдущих пика объяснить чуть сложнее. Второй пик связан

соперацией сложения с ключом, когда значение S9(1) было непосредственно получено, а самый первый пик связан с операцией MixColumn (так как находится в зоне MixColumn). Здесь важно понимать, что сложение с ключом — это линейная операция, и если бит ключа равен 1, то до сложения с ключом значение битов из таблицы было точно противоположным. Если бит ключа равен 0, то биты до сложения с ключом были точно такие же. До сложения

сключом значение байта должно быть получено после операции MixColumn, и именно этот момент, когда происходит получение байта нашего ключа, мы видим на графике. Так как пик направлен в противоположную (отрицательную сторону), то, скорее всего, группы 1 и 0 поменялись местами (мы из меньшего вычитаем большее), то есть в группе 1 были все шифрования, для которых бит установлен в 0, а в группе 0 все шифрования, для которых бит установлен в 1. Это возможно в случае, если бит ключа равен 1 и модель из таблицы будет строго противоположной. Это приведет к тому, что пик будет отрицательным.

Чтобы найти ключ, обычно строят график максимальных значений для ключа, как показано на рис. 6. Видно, что значение ключа 208=0хD0, наибольшее, и этот ключ, скорее всего, является верным.

Ради сравнения построим те же самые графики, но в качестве целевого бита выберем восьмой бит значения S9(1) (наименее значимый бит). Согласно предыдущим расчетам, этот бит должен быть равен 0, поэтому на рис. 8 мы должны увидеть первый пик в положительной зоне, а не в отрицательной, как это было для первого бита. Также мы должны получить тот же самый ключ, ибо он не менялся, а менялся лишь бит для атаки. Все пики должны быть в те же самые моменты времени, ибо сама операция место не поменяла. Картинки 7–8 получились

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

 

 

был ключ,

контролл

 

 

стандарта AES,

взятый из

так что можешь проверить все его байты).

Аналогичным образом

ты може восстановить все оставшиеся байты ключа последнего раунда. Множеств работ объясняют, как ускорить/упростить/улучшить алгоритм атаки, н тебе сейчас главное — разобраться

в основе этого процесса. Некоторые улучшения мы рассмотрим в следующей статье.

Я уверен, что у тебя осталось множество вопросов по самой атаке. Предлагаю тебе поискать ответы в Сети. Для этого можно воспользоваться scholar.google. com и ключевыми словами: differential power analysis, power analysis attacks. Существует специальный сайт dpacontest.org, который проводит соревнования по скорости и точности применения атак по второстепенным каналам. На этом сайте есть примеры кода и множество данных для атак. Ну и следи за различными событиями в России, где даются практикумы по этим атакам. Также советую взглянуть на материалы таких конференций,

как COSADE, CHES и CARDIS.

ЗАКЛЮЧЕНИЕ

Ничто не происходит бесследно, в том числе выполнение криптографических алгоритмов. Во время исполнения шифров информация утекает по второстепенным каналам, например потребленной энергии. Чтобы произвести вычисление, нужно затратить энергию, поэтому полностью защититься от атак по второстепенным каналам невозможно, эта проблема фундаментальна. В статье показано, как в действительности проходит атака и как найти ключ шифра на примере AES-128, исполняемого на микроконтроллере STM8. Для нахождения ключа использовано минимум информации о модели потребленной энергии, но и ее было достаточно, чтобы успешно взломать алгоритм. Статья демонстрирует одну из первых атак, созданных в 1996 году, а с тех пор анализ по второстепенным каналам значительно эволюционировал. Частично улучшенные методы атаки будут рассмотрены в следующей статье, поэтому, как обычно, stay tuned...

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

C

 

 

E

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

 

i

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

 

to

78

 

 

Взлом

w Click

 

 

m

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

 

g

 

 

 

 

 

 

 

df

 

 

 

n

e

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

WARNING

Вся информация предоставлена исключительно в ознакомительных целях. Лица, использующие данную информацию в противозаконных целях, могут быть привлечены

к ответственности.

Алексей «Zemond»

Панкратов

3em0nd@gmail.com

BDFPROXY

МОДИФИЦИРУЕМ БИНАРНИКИ НА ЛЕТУ

Думаю, ты слышал про интересный фреймворк Evilgrade, который позволяет надругаться над механизмом обновления многих популярных программ

(Windows update, Apple update и еще целой пачки),

подсовывая вместо валидных файлов зловредные бинарники. Считаешь, подобной уязвимости подвержены только апдейты приложений? Ты ошибаешься. Скажу больше: скачивать бинарники из Сети не так безопасно, как кажется на первый взгляд. Не веришь? Тогда смотри, а вернее — читай.

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

ХАКЕР 12 /191/ 2014

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

PHOTOCREO Michal Bednarek@shutterstock.com

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

 

to

 

 

 

 

 

 

w Click

 

ХАКЕР m

12 /191/ 2014

BDFProxy

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

WWW

DerbyCon 2014,

презентация BDFProxy: goo.gl/mkxma1

Подробнее про обнаружение вредоносного узла читай на сайте ][: goo.gl/1MP2yf

INFO

Автор предполагает следующие схемы работы инструмента для локальной и беспроводной сетей:

<Internet>----<mitmMachine>----<userLan> <Internet>----<mitmMachine>----<wifiPineapple>

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

w79Click

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

ВМЕСТОВВЕДЕНИЯ

Проникновение на рабочую станцию обычного пользователя представляет собой довольно непростую задачу. Ведь в отличие от серваков, на которых может крутиться большое число дополнительного ПО (веб-серверы, СУБД, FTP-серверы...), которое увеличивает шанс найти лазейку для получения удаленного шелла, в случае обычной рабочей станции и зацепиться-то особо не за что. Предположим, ты хотел бы получить удаленный доступ к компьютеру своего соседа Васи. А рассеянный Вася забыл отключить автоматическое обновление системы, поэтому пробить его систему каким-нибудь бородатым сплоитом не получится. Ситуация непростая, но и не безвыходная. В таком случае можно положиться на свои навыки социнженера или, к примеру, воспользоваться Evilgrade’ом — автообновления-то у Васи включены! Но есть и еще вариант — BDFProxy (goo.gl/2RRjPo).

ЗНАКОМЬСЯ,BDFPROXY

BDFProxy представляет собой тулзу, которая родилась из двух разных инструментов. Изначально Джошуа Питтс (Joshua Pitts), автор BDFProxy, создал инструмент под названием

The Backdoor Factory (goo.gl/zM8Elr), кото-

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

Второй, mitmproxy (goo.gl/zhc2aE), — это прокси-сервер, написанный на Python и умеющий перехватывать HTTP, менять трафик на лету, воспроизводить записанный трафик, декодировать и отображать основные типы документов. Путем скрещивания этих инструментов и получился BDFProxy. Идея состоит в том, что данный инструмент позволяет через MITM-атаку на лету патчить скачиваемые жертвой бинарники. А теперь просто представь, сколько официальных сайтов раздают свои программы по обычному HTTP. Да что тут говорить, этим грешат и многие очень крупные конторы: Sysinternals, Microsoft, Malwarebytes, SourceForge, Wireshark и мно-

гие антивирусные компании. И если большинство антивирусных продуктов имеет механизм проверки целостности собственных файлов, то обычное ПО таким функционалом не обладает. Это означает, что его модификация так и останется незамеченной для пользователя.

УСТАНОВКА

Пожалуй, отставим лирику и посмотрим, на что способен данный инструмент. Для его работы понадобятся следующие пакеты:

Схема работы BDFProxy

Соседние файлы в папке журнал хакер