Устройствата на Qualcomm имат EDL режим, който, както се оказва, изглежда може да се използва, ако имате правилните инструменти, пуснати от OEM производителите.
Устройствата с чипсети Qualcomm имат a Примари бootлoader (PBL), който обикновено зарежда системата Android, но съдържа и алтернативен режим на зареждане, известен като EDL режим. EDL режимът е на Qualcomm дсливане дсобствено натоварване Мода и позволява ан Ооригинален доборудване Мпроизводител (OEM), за да наложи флаш софтуер на устройство. Това не може да се променя (режим само за четене) и има пълен контрол върху паметта на устройството. Много OEM производители, включително OnePlus и Xiaomi пуснаха инструменти (известни като програмисти), които използват EDL режим и протокол, известен като Firehose за деблокиране на устройство, докато други инструменти от компании като Nokia са изтекли. Firehose може да използва редица команди за флаш устройства, заедно с възможността да изследва данните в паметта на устройството. Изследователи по сигурността
Роу Хей (@roeehay) и Ноам Хадад от Aleph Research са открили критични уязвимости на устройството, използвайки този режим, който ефективно предоставя на нападателя пълен достъп до устройството.Важно е да се отбележи, че този експлойт изисква физически достъп до устройството, но все още е невероятно опасен и вероятно не може да бъде коригиран. Нападателите са използвали нивото на достъп, предоставено на режима EDL, за да заобиколят защитеното зареждане на Nokia 6, побеждавайки верига на доверие и постигане на пълно изпълнение на код във всяка част от последователността на зареждане, включително операционната система Android себе си. Теоретизира се, че работи по същия начин на други устройства и изследователите също успяха да отключат и руутнат множество устройства на Xiaomi без загуба на данни.
Какви устройства са засегнати от този експлойт?
Първо, устройствата, които са засегнати.
Списък на засегнатите устройства.
- LG G4
- Nokia 6 (d1c)
- Nokia 5
- Nexus 6 (шаму)
- Nexus 6P (рибар)
- Moto G4 Plus
- OnePlus 5 (чийзбургер)
- OnePlus 3T
- OnePlus 3
- OnePlus 2
- OnePlus X
- OnePlus One
- ZTE Axon 7
- ZUK Z1
- ZUK Z2
- Xiaomi Note 5A (ugglite)
- Xiaomi Note 5 Prime (ugg)
- Xiaomi Note 4 (mido)
- Xiaomi Note 3 (Джейсън)
- Xiaomi Note 2 (скорпион)
- Xiaomi Mix (литий)
- Xiaomi Mix 2 (chiron)
- Xiaomi Mi 6 (сагит)
- Xiaomi Mi 5s (козирог)
- Xiaomi Mi 5s Plus (натрий)
- Xiaomi Mi 5x (тифани)
- Xiaomi Mi 5 (близнаци)
- Xiaomi Mi 3 (cancro)
- Xiaomi Mi A1 (tissot)
- Xiaomi Mi Max2 (кислород)
- Xiaomi Redmi Note 3 (kenzo)
- Xiaomi Redmi 5A (riva)
- Xiaomi Redmi 4A (розов)
Прочетете още
Използване на телефон с Android
Последователността на зареждане на типичен телефон с Android Qualcomm
Важно е първо да разберете последователността на зареждане на типично устройство с Android, преди да обясните как може да се използва. The Ссофтуер бootлoader (SBL) е дигитално подписан буутлоудър, който се проверява за автентичност, преди да бъде зареден в imem. imem е бърза памет на чип, използвана за отстраняване на грешки и DMA (дпряк мЕмори аccess) транзакции и е собственост на чипсетите на Qualcomm.
Някои устройства имат eхопънат бootлoader (XBL) вместо SBL, но процесът на зареждане е почти същият. След това SBL или XBL стартира ABOOT, който реализира бързо стартиране. След това се зарежда и TrustZone (защита, базирана на хардуер). TrustZone проверява автентичността на ABOOT чрез хардуерен основен сертификат. SBL (или XBL, в някои случаи) е проектиран да отхвърля неправилно подписан (или неподписан) ABOOT.
След като бъде удостоверен, ABOOT след това проверява /boot и /recovery за автентичност, преди да стартира ядрото на Linux. Извършват се някои подготовки на системата и след това изпълнението на кода се прехвърля към ядрото. ABOOT е известен като "Android Bootloader" и когато отключим bootloader на устройство, ние деактивираме тази проверка за автентичност в ABOOT.
Достъп до EDL режим
Докато някои устройства имат проста хардуерна комбинация (или по-лошо, проста частна команда за бързо стартиране, присъстваща в много устройства Xiaomi), други, като устройства на Nokia, трябва да съкратят щифтовете, известни като „тестови точки“, присъстващи на главния панел на устройството дъска. Освен това беше възможно, преди корекцията за сигурност от декември 2017 г., просто да стартирате „adb reboot edl“ на много устройства (включително Nexus 6 и 6P) и да влезете в режим EDL. Оттогава това е поправено.
Други устройства също могат да използват това, което е известно като кабел за „дълбока светкавица“, който е специален кабел с определени щифтове, съединени накъсо, за да каже на системата вместо това да стартира в режим EDL. Старите устройства на Xiaomi могат да използват този метод, заедно с Nokia 5 и Nokia 6. Други устройства също ще стартират в режим EDL, когато не успеят да потвърдят SBL.
Използване на EDL режим за получаване на пълен достъп на OnePlus 3/3T
Режимът EDL може да се използва по много начини на устройство, най-вече за премахване на устройства чрез принудително мигане. Както е обяснено по-горе, теоретично трябва да е безопасно за всеки да има достъп до този режим, тъй като по-лошият сценарий е, че ABOOT ще отхвърли софтуер, който не е официално подписан от производителя. Въпреки че това е вярно, всъщност е възможно да се получи пълен контрол над OnePlus 3 или 3T и неговите файлове в доказателство за концептуален експлойт, показан от изследователите.
Това ще стане чрез две много опасни команди, които OnePlus остави достъпни в по-стара версия на ABOOT (Android буутлоудър), за да отключите буутлоудъра на устройството (без да се показва предупреждение на потребителя при зареждане) и да деактивирате dm_verity. dm_verity е известен също като проверено зареждане и е част от последователност за безопасно зареждане на устройство с Android. Двете команди са както следва.
fastboot oem disable_dm_verity
fastboot oem 4F500301/2
Наблюдавайте простия процес от 4 стъпки по-долу, който използва протокола Firehose.
- Първо, стартирайте устройството в режим EDL. Това може да стане или чрез adb на OxygenOS 5.0 или по-стара версия, или чрез използване на проста комбинация от хардуерни клавиши.
- Изтеглете старо системно изображение от OxygenOS 4.0.2 по-долу.
- Flash aboot.bin през firehose (не забравяйте, че aboot.bin прилага fastboot, както споменахме по-рано)
- Вече ще можете да деактивирате защитеното зареждане и да отключите буутлоудъра без да избършете устройството просто като използвате двете команди за бързо зареждане по-горе.
Ако си спомняте, преди беше установено, че OnePlus е оставил две опасни команди за бързо зареждане преди почти година, една, която отключи буутлоудъра, и една, която деактивира защитеното зареждане. Въпреки че е вярно, че нападател не може да инсталира зловреден софтуер на устройството, те могат понижаване на устройството имам по-стар, уязвим за атаки софтуер. Просто като изпълни горните команди за бързо зареждане, нападателят може да има пълен достъп към устройството.
И това е всичко, буутлоудърът е отключен, защитеното зареждане е изключено и няма абсолютно никаква загуба на данни. Ако хакер иска да направи още една крачка напред, може да флашне злонамерено персонализирано ядро, което позволява root достъп до устройството, за което потребителят никога няма да разбере.
Firehose работи чрез протокола Qualcomm Sahara, който приема програматор, подписан от OEM, и така ще бъде извършена горната атака. Когато е свързан към устройство, той действа като SBL през USB. Повечето програмисти използват Пожарникарски маркуч за комуникация с телефон в режим EDL, което изследователите използваха, за да получат пълен контрол над устройството. Изследователите също са използвали това, за отключете устройство Xiaomi просто чрез мигане на модифицирано изображение което отключи буутлоудъра. След това те флашнаха персонализирано ядро, което даде root достъп и стартира SELinux в permissive и също така извлече криптираното изображение на потребителските данни от устройството.
Заключение
Не е известно защо OEM производителите пускат тези програмисти от Qualcomm. Програмистите на Nokia, LG, Motorola и Google изтекоха, вместо да бъдат освободени, но изследователите успяха да го направят прекъснете цялата верига на доверие на Nokia 6 и получете пълен достъп до устройството чрез подобни методи на експлоатация. Те са уверени, че атаката може да бъде пренесена на всяко устройство, което поддържа тези програмисти. Ако е възможно, производителите на оригинално оборудване трябва да използват хардуерни qFuses, които предотвратяват връщане назад на софтуера, като изгасват, когато хардуерът на устройството се върне назад и могат да предупредят потребителя, че това се е случило. Тези, които се интересуват, могат да разгледат пълната изследователска статия по-долу и да прочетат пълната експлоатация на Nokia.
Източник: Aleph Research