Vundebleco en Qualcomm-blatoj, kiu permesas eltiri privatajn ŝlosilojn el TrustZone-stokado

Esploristoj de NCC Group malkovrita la detaloj vundeblecoj (CVE-2018-11976) en Qualcomm-blatoj, kiu ebligas al vi determini la enhavon de privataj ĉifradaj ŝlosiloj situantaj en izolita enklavo Qualcomm QSEE (Qualcomm Secure Execution Environment), bazita sur ARM TrustZone-teknologio. La problemo manifestiĝas en plej multe Snapdragon SoC, kiu disvastiĝis en saĝtelefonoj bazitaj sur la Android-platformo. La korektoj, kiuj solvis la problemon, jam estas inkluzivita en la aprila Android-ĝisdatigo kaj novaj firmware-eldonoj por Qualcomm-blatoj. Qualcomm bezonis pli ol unu jaron por prepari solvon; informoj pri la vundebleco estis komence senditaj al Qualcomm la 19-an de marto 2018.

Ni rememoru, ke ARM TrustZone-teknologio permesas krei aparataron-izolitajn protektitajn mediojn, kiuj estas tute apartigitaj de la ĉefa sistemo kaj funkcii per aparta virtuala procesoro uzante apartan specialan operaciumon. La ĉefa celo de TrustZone estas provizi izolitan ekzekuton de procesoroj por ĉifradaj ŝlosiloj, biometria aŭtentikigo, pagdatumoj kaj aliaj konfidencaj informoj. Interago kun la ĉefa OS estas farata nerekte per la sendointerfaco. Privataj ĉifradŝlosiloj estas stokitaj ene de hardvar-izolita ŝlosilbutiko, kiu, se efektivigite konvene, povas malhelpi sian elfluadon se la subesta sistemo estas endanĝerigita.

La vundebleco ŝuldiĝas al difekto en la efektivigo de la elipsa kurba prilaborado-algoritmo, kiu kaŭzis elfluon de informoj pri la progreso de datumtraktado. Esploristoj evoluigis flankan-kanalan atakteknikon kiu permesas uzi ekzistantajn nerektajn likojn por reakiri la enhavon de privataj ŝlosiloj situantaj en aparataro-izolita. Android Keystore. Likoj estas determinitaj surbaze de analizo de la agado de la branĉa prognozbloko kaj ŝanĝoj en la alirtempo al datumoj en memoro. En la eksperimento, la esploristoj sukcese pruvis la reakiron de 224- kaj 256-bitaj ECDSA-ŝlosiloj de la aparataro-izolita ŝlosilbutiko uzata en la Nexus 5X-saĝtelefono. Reakiri la ŝlosilon postulis generi ĉirkaŭ 12 mil ciferecajn subskribojn, kio daŭris pli ol 14 horojn. Iloj uzataj por efektivigi la atakon Cachegrab.

La ĉefa kaŭzo de la problemo estas la kundivido de komunaj aparataj komponantoj kaj kaŝmemoro por kalkuloj en la TrustZone kaj en la ĉefa sistemo - izolado estas farita je la nivelo de logika apartigo, sed uzante komunajn komputikajn unuojn kaj kun spuroj de kalkuloj kaj informoj pri branĉo. adresoj deponitaj en la komuna procesoro-kaŝmemoro. Uzante la metodon Prime+Probe, bazitan sur taksado de ŝanĝoj en alirtempo al kaŝmemoritaj informoj, eblas, kontrolante la ĉeeston de certaj ŝablonoj en la kaŝmemoro, kontroli datumfluojn kaj signojn de koda ekzekuto asociitaj kun la kalkuloj de ciferecaj subskriboj en TrustZone kun sufiĉe alta precizeco.

Plej ofte por generi ciferecan subskribon uzante ECDSA-ŝlosilojn en Qualcomm-blatoj estas elspezita elfarante multiplikoperaciojn en buklo uzante inicialigvektoron kiu estas senŝanĝa por ĉiu subskribo (nuncio). Se la atakanto povas reakiri almenaŭ kelkajn bitojn kun informoj pri ĉi tiu vektoro, iĝas eble fari atakon por sinsekve reakiri la tutan privatan ŝlosilon.

En la kazo de Qualcomm, du lokoj kie tiaj informoj estis likitaj estis identigitaj en la multiplika algoritmo: dum elfarado de serĉaj operacioj en tabeloj kaj en la kondiĉa datumserĉa kodo bazita sur la valoro de la lasta bito en la "nonce" vektoro. Malgraŭ la fakto, ke Qualcomm-kodo enhavas mezurojn por kontraŭstari informojn per triaj kanaloj, la evoluinta atakmetodo permesas vin preteriri ĉi tiujn mezurojn kaj determini plurajn pecojn de la "nonce" valoro, kiuj sufiĉas por reakiri 256-bitajn ECDSA-ŝlosilojn.

fonto: opennet.ru

Aldoni komenton