Категория > Новости > Прочесть память. Как крадут прошивку устройств и как от этого защищаются - «Новости»

Прочесть память. Как крадут прошивку устройств и как от этого защищаются - «Новости»


5-09-2021, 00:00. Автор: Ефросиния
док­лада Демида Узень­кова — спе­циалис­та ком­пании ИНФО­РИОН. Выс­тупле­ние сос­тоялось на кон­ферен­ции RuCTFE 2020. За помощь в под­готов­ке пуб­ликации редак­ция бла­года­рит коман­ду «Ха­кер­дом».

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


 

Вскрытие


Пер­вое, что тебя может ждать на пути к завет­ной памяти с про­шив­кой, — это хорошо зак­рытый кор­пус. Вро­де бы никаких проб­лем: взял крес­товую отвер­тку… Пос­той, а точ­но ли крес­товую? Сей­час сущес­тву­ет минимум пара десят­ков форм головок вин­тов, и, конеч­но, далеко не все они откру­чива­ются нор­маль­ными челове­чес­кими инс­тру­мен­тами. Для раз­борки одно­го устрой­ства, нап­ример, мне приш­лось над­филем выпили­вать из плос­кой отвер­тки нуж­ную фор­му.



www


О труд­ностях с вин­тами мож­но почитать в статье на Egear.



До­пус­тим, ты подоб­рал (или сде­лал) отвер­тку нуж­ной фор­мы. Молодец! Откру­тил вин­ты, под­нял крыш­ку, пос­лышал­ся треск тек­сто­лита — и устрой­ство мож­но отправ­лять на помой­ку. Все потому, что пла­та в тво­ем гад­жете не прос­то бол­тает­ся внут­ри кор­пуса, а слож­ным обра­зом объ­еди­нена с раз­ными его час­тями. Обыч­но это дела­ется с помощью спе­циаль­ных защелок, которые встав­ляют­ся в отвер­стия пла­ты, а при раз­борке кор­пуса лома­ют ее, делая даль­нейшее изу­чение бес­полез­ным.


Или треск не пос­лышал­ся. Тог­да ты под­клю­чаешь­ся к тому, что обна­ружил, чита­ешь память, а чита­ются одни нули. Как такое мог­ло про­изой­ти? Сов­ремен­ные тех­нологии поз­воля­ют про­изво­дить кро­хот­ные SMD-фото­эле­мен­ты, вро­де фотот­ранзис­торов, которые обыч­но при­меня­ются в такой защите. Ког­да устрой­ство обна­ружи­вает, что на его пла­ту попада­ет хоть нем­ного све­та (даже через малень­кое отвер­стие в кор­пусе), про­шив­ка кон­трол­лера сти­рает­ся, а тебе оста­ется нефун­кци­ональ­ное устрой­ство. И хорошо, если защита не спа­лит чего‑нибудь физичес­ки!



info


В некото­рые устрой­ства, нап­ример бло­ки питания компь­юте­ров, про­изво­дите­ли встра­ивают сиг­наль­ную дымовую шаш­ку, которая сооб­щает о полом­ке. При ее сра­баты­вании аро­мат­ный синий дым отпра­вит тебя в магазин за новым бло­ком питания.



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


 

Осмотр платы


Ес­ли вскры­тие не показа­ло, что паци­ент умер от вскры­тия, я сна­чала осматри­ваю пла­ту в поис­ках пинов отла­доч­ных интерфей­сов — обыч­но это JTAG или UART. Глав­ная проб­лема не в том, что нуж­ные кон­такты могут быть в очень неожи­дан­ных мес­тах, а в том, что обыч­но они отклю­чены. Конеч­но, даже в 2021 году все еще хва­тает уни­кумов, которые отправ­ляют в прод устрой­ства с вклю­чен­ным UART, но количес­тво таковых стре­митель­но пада­ет.


Ес­ли тебе не повез­ло — вари­антов нем­ного: или пла­кать в подуш­ку, или искать чип памяти на бор­ту и читать его непос­редс­твен­но.


И вот с этим тебя ожи­дает уйма инте­рес­ного! Думал, нуж­но прос­то вытащить вось­миногую мик­руху в DIP-кор­пусе, похожую на ста­рый чип с BIOS? Как бы не так! Сей­час есть минимум четыре отно­ситель­но широко при­меня­емых вида памяти, и некото­рые из них могут быть похожи друг на дру­га так, что не раз­личишь.


 

Память


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


По опы­ту про­цес­сор (на скрин­шоте выше по цен­тру) обыч­но квад­ратной фор­мы и исполня­ется в BGA, а память пря­моуголь­ная и дела­ется в SOP-кор­пусах.


Час­то в уль­тра­пор­татив­ных вычис­литель­но мощ­ных устрой­ствах (смар­тфо­нах, нап­ример) исполь­зует­ся бутер­брод из про­цес­сора и памяти — так мень­ше раз­меры и задер­жки при работе. Форм‑фак­тор, конеч­но, BGA — прос­то потому, что ничего дру­гого в кро­хот­ный кор­пус запих­нуть нель­зя.


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


Нас инте­ресу­ет EEPROM (Electrically Erasable Programmable Read-Only Memory), FRAM (сег­нето­элек­три­чес­кая память) и NOR/NAND flash — они тебе уже и так зна­комы. Из них ты мог не слы­шать толь­ко о FRAM — ее начали при­менять око­ло пяти лет назад, так что она еще не осо­бо популяр­на.


 

EEPROM


Сре­ди осо­бен­ностей этой памяти — побай­товые чте­ние и запись. Такая память самая дол­говеч­ная: по рас­четам, она может сох­ранять информа­цию в течение при­мер­но двух­сот лет! Но за надеж­ность при­ходит­ся пла­тить — глав­ным обра­зом объ­емом, с которым у это­го вида памяти все пло­хо: типич­ный объ­ем такого чипа изме­ряет­ся в килобай­тах. Из‑за низ­кого объ­ема для хра­нения про­шивок этот тип памяти поч­ти не при­меня­ется. Ну а раз загово­рили о минусах — сто­ит и о низ­кой ско­рос­ти ска­зать.


Прочесть память. Как крадут прошивку устройств и как от этого защищаются - «Новости»
Ус­трой­ство ячей­ки памяти EEPROM

Ре­сурс ячей­ки — око­ло мил­лиона цик­лов переза­писи. По срав­нению с сов­ремен­ными ячей­ками NAND, у которых этот показа­тель находит­ся в пре­делах нес­коль­ких десят­ков тысяч цик­лов, EEPROM-память прос­то нере­аль­но надеж­ная.



Перейти обратно к новости