TrustZone қоймасынан жеке кілттерді шығаруға мүмкіндік беретін Qualcomm чиптеріндегі осалдық

NCC Group зерттеушілері ашылған бөлшектер осалдықтар (CVE-2018-11976) ARM TrustZone технологиясына негізделген оқшауланған Qualcomm QSEE (Qualcomm Secure Execution Environment) анклавында орналасқан жеке шифрлау кілттерінің мазмұнын анықтауға мүмкіндік беретін Qualcomm чиптерінде. Мәселе мынада көрінеді көп Android платформасы негізіндегі смартфондарда кең тараған Snapdragon SoC. Мәселені түзететін түзетулер қазірдің өзінде бар қоса алғанда сәуірде Android жаңартуы және Qualcomm чиптеріне арналған жаңа микробағдарлама шығарылымдарында. Түзетуді дайындау үшін Qualcomm бір жылдан астам уақытты алды; осалдық туралы ақпарат алдымен Qualcomm-қа 19 жылдың 2018 наурызында жіберілді.

Еске салайық, ARM TrustZone технологиясы негізгі жүйеден толығымен бөлінген және бөлек мамандандырылған операциялық жүйені пайдаланып бөлек виртуалды процессорда жұмыс істейтін аппараттық оқшауланған қорғалған орталарды жасауға мүмкіндік береді. TrustZone негізгі мақсаты шифрлау кілттері, биометриялық аутентификация, төлем деректері және басқа да құпия ақпарат үшін процессорлардың оқшауланған орындалуын қамтамасыз ету болып табылады. Негізгі ОЖ-мен өзара әрекеттесу диспетчерлік интерфейс арқылы жанама түрде жүзеге асырылады. Жеке шифрлау кілттері аппараттық құралмен оқшауланған кілттер қоймасында сақталады, олар дұрыс орындалса, негізгі жүйе бұзылған жағдайда олардың ағып кетуіне жол бермейді.

Осалдық деректер өңдеу барысы туралы ақпараттың ағып кетуіне әкеліп соқтырған эллиптикалық қисық өңдеу алгоритмін енгізудегі ақауға байланысты. Зерттеушілер аппараттық құралдан оқшауланған жеке кілттердің мазмұнын қалпына келтіру үшін бар жанама ағып кетулерді пайдалануға мүмкіндік беретін бүйірлік арналы шабуыл әдісін әзірледі. Android кілттер қоймасы. Ағып кетулер салалық болжау блогының белсенділігін талдау және жадтағы деректерге қол жеткізу уақытының өзгеруі негізінде анықталады. Экспериментте зерттеушілер Nexus 224X смартфонында қолданылатын аппараттық оқшауланған кілттер қоймасынан 256 және 5 биттік ECDSA кілттерін қалпына келтіруді сәтті көрсетті. Кілтті қалпына келтіру үшін 12 мыңға жуық электрондық цифрлық қолтаңбаны қалыптастыру қажет болды, бұл 14 сағаттан астам уақытты алды. Шабуыл жасау үшін қолданылатын құралдар Кэшграб.

Ақаулықтың негізгі себебі TrustZone және негізгі жүйеде есептеулер үшін жалпы аппараттық құрамдас бөліктерді және кэшті ортақ пайдалану болып табылады - оқшаулау логикалық бөлу деңгейінде орындалады, бірақ жалпы есептеу бірліктері арқылы және филиалдар туралы есептеулер мен ақпараттың іздері бар. мекенжайлар жалпы процессор кэшінде сақталады. Кэштелген ақпаратқа қол жеткізу уақытындағы өзгерістерді бағалауға негізделген Prime+Probe әдісін пайдалана отырып, кэште белгілі бір үлгілердің болуын тексеру арқылы деректер ағындарын және ЭЦҚ есептеулерімен байланысты кодтың орындалу белгілерін бақылауға болады. Өте жоғары дәлдікпен TrustZone.

Qualcomm чиптеріндегі ECDSA кілттері арқылы цифрлық қолтаңбаны жасау уақытының көп бөлігі әрбір қолтаңба үшін өзгермейтін инициализация векторын пайдаланып, циклде көбейту операцияларын орындауға жұмсалады (Нунций). Егер шабуылдаушы осы вектор туралы ақпаратпен кем дегенде бірнеше биттерді қалпына келтіре алса, бүкіл жеке кілтті дәйекті түрде қалпына келтіру үшін шабуылды жүзеге асыруға болады.

Qualcomm жағдайында көбейту алгоритмінде мұндай ақпарат ағып кеткен екі орын анықталды: кестелерде іздеу операцияларын орындау кезінде және «nonce» векторындағы соңғы биттің мәніне негізделген шартты деректерді іздеу кодында. Qualcomm кодында үшінші тарап арналары арқылы ақпараттың ағып кетуіне қарсы шаралар бар екеніне қарамастан, әзірленген шабуыл әдісі осы шараларды айналып өтуге және 256 биттік ECDSA кілттерін қалпына келтіру үшін жеткілікті «nonce» мәнінің бірнеше биттерін анықтауға мүмкіндік береді.

Ақпарат көзі: opennet.ru

пікір қалдыру