33c3 ден 1

What could possibly go wrong with <insert x86 instruction here>?

Timing атака върху кеша на x86 архитектури. Чрез измерване на времето за достъп се определя дали дадена клетка от паметта се намира в Last Level Cache-а, което дава интересни side channels, както и covert channel за комуникация между невинни приложения, които уж нямат нищо общо помежду си (и в случая на Android нямат permissions, които да им позволяват да си комуникират). Много ми хареса как са успели да пуснат SSH сесия между две EC2 виртуални машини през този covert channel, докарвайки 40-75 Kbps. Освен това атаката може да се използва и за чупене на AES T-tables, което представлява бърза софтуерна имплементация на въпросния алгоритъм.

Тъжното е, че това е свързано с начина, по който работят съвременните процесори (и оптимизациите им за performance), т.е. е трудно да се направи нещо по въпроса.

How Do I Crack Satellite and Cable Pay TV?

Доста забавна презентация за кракване на кабелна и сателитна телевизия. Интересен е самият процес по reverse engineer-ването на STB-тата, който включва логически анализатори, разяждане корпуси на интегрални схеми с киселина, разслояване на самия полупроводник вътре и снимки под микроскоп - с цел да се вземе hex dump на ROM-а на процесора. След доста анализи на dump-а, следва и хирургическата процедура по сваляне на ACP-то (нещо като hardware security module) от платката, без да бъде прекъснато захранването, което поддържа ключовете в RAM-а :)

Bootstraping a slightly more secure laptop

Интересна концепция за замяна на BIOS-а с Linux ядро. В комбинацията със скорошния метод за неутрализация на ME това ми дава надежда, че скоро ще може отново да имаме x86 машини, на които можем да вярваме :)

Geolocation methods in mobile networks

Презентацията беше сравнително кратка и като цяло нямаше нищо ново. Единственото, което ме изненада, е голямата точност, с която един-единствен дрон може да локализира мобилен телефон, намиращ се на земята.

Untrusting the CPU

Идеята беше интересна - между входно-изходните устройства и процесора се поставя доверено устройство, което извършва чувствителни операции като (де)криптиране. Процесорът вижда ciphertext от клавиатурата и изпраща специално форматирани изображения към монитора, които въпросното устройство преобразува в plaintext. Липсва практическа имплементация, което не е особено изненадващо.

Lockpicking in the IoT

Лекция за това колко са строшени откъм сигурност протоколите на разни “умни” ключалки с Bluetooth Low Energy. Забавно беше как с едната ключалка авторът дори не стигна до протоколите, а показа как се отваря с парче ламарина, което избутва пружините вътре - все едно струва $5, а не $130.

You can -j REJECT but you can not hide: Global scanning of the IPv6 Internet

Сканиране на IPv6 адресното пространство чрез query-ване за PTR записи. Хитро измислено, единствено автогенерираните reverse зони бъркат малко нещата, но и това се заобикаля.

Woolim – Lifting the Fog on DPRK’s Latest Tablet PC

Изглежда съвременните технологии навлизат и в Северна Корея, но по техния си извратен начин. Използват китайски хардуер и собствена версия на Android. Подобно на RedStar OS, всеки създаден на таблета файл се маркира с уникален идентификатор. Но този път са стигнали още по-далеч и не позволяват отварянето на файлове, които не са подписани от същото устройство (тоест реално не могат да се споделят/местят файлове между таблетите) или от местния режим. Същото важи и за APK файловете, като останах с впечатлението, че при тях тази проверка е отделно от нормалното подписване, което Android поддържа.