Ang kahinaan sa Qualcomm chips na nagbibigay-daan sa mga pribadong key na makuha mula sa imbakan ng TrustZone

Mga mananaliksik mula sa NCC Group walang takip ang mga detalye mga kahinaan (CVE-2018-11976) sa Qualcomm chips, na nagbibigay-daan sa iyong matukoy ang mga nilalaman ng pribadong encryption key na matatagpuan sa isang nakahiwalay na enclave Qualcomm QSEE (Qualcomm Secure Execution Environment), batay sa teknolohiya ng ARM TrustZone. Ang problema ay nagpapakita mismo sa ang karamihan Snapdragon SoC, na naging laganap sa mga smartphone batay sa Android platform. Ang mga pag-aayos na nag-aayos ng problema ay na kasama sa Abril na pag-update ng Android at mga bagong firmware release para sa Qualcomm chips. Kinailangan ng Qualcomm ng higit sa isang taon upang maghanda ng pag-aayos; ang impormasyon tungkol sa kahinaan ay unang ipinadala sa Qualcomm noong Marso 19, 2018.

Alalahanin natin na ang teknolohiya ng ARM TrustZone ay nagpapahintulot sa iyo na lumikha ng mga protektadong kapaligiran na nakahiwalay sa hardware na ganap na nakahiwalay sa pangunahing system at tumatakbo sa isang hiwalay na virtual processor gamit ang isang hiwalay na dalubhasang operating system. Ang pangunahing layunin ng TrustZone ay magbigay ng nakahiwalay na pagpapatupad ng mga processor para sa encryption key, biometric authentication, data ng pagbabayad at iba pang kumpidensyal na impormasyon. Ang pakikipag-ugnayan sa pangunahing OS ay isinasagawa nang hindi direkta sa pamamagitan ng interface ng dispatch. Ang mga pribadong encryption key ay naka-imbak sa loob ng hardware-isolated key store, na, kung ipapatupad nang maayos, ay mapipigilan ang pagtagas ng mga ito kung ang pinagbabatayan na system ay nakompromiso.

Ang kahinaan ay dahil sa isang depekto sa pagpapatupad ng elliptic curve processing algorithm, na humantong sa pagtagas ng impormasyon tungkol sa pag-usad ng pagproseso ng data. Ang mga mananaliksik ay nakabuo ng isang side-channel attack technique na nagbibigay-daan sa paggamit ng mga kasalukuyang hindi direktang pagtagas upang mabawi ang mga nilalaman ng mga pribadong key na matatagpuan sa isang hardware-isolate. Android Keystore. Tinutukoy ang mga pagtagas batay sa pagsusuri ng aktibidad ng bloke ng hula ng sangay at mga pagbabago sa oras ng pag-access sa data sa memorya. Sa eksperimento, matagumpay na naipakita ng mga mananaliksik ang pagbawi ng 224- at 256-bit na ECDSA key mula sa hardware-isolated key store na ginamit sa Nexus 5X smartphone. Ang pagbawi ng susi ay nangangailangan ng pagbuo ng humigit-kumulang 12 libong mga digital na lagda, na tumagal ng higit sa 14 na oras. Mga tool na ginamit upang isagawa ang pag-atake Cachegrab.

Ang pangunahing sanhi ng problema ay ang pagbabahagi ng mga karaniwang bahagi ng hardware at cache para sa mga kalkulasyon sa TrustZone at sa pangunahing sistema - ang paghihiwalay ay ginaganap sa antas ng lohikal na paghihiwalay, ngunit gamit ang mga karaniwang yunit ng computing at may mga bakas ng mga kalkulasyon at impormasyon tungkol sa sangay mga address na idineposito sa karaniwang cache ng processor. Gamit ang paraan ng Prime+Probe, batay sa pagtatasa ng mga pagbabago sa oras ng pag-access sa naka-cache na impormasyon, posible, sa pamamagitan ng pagsuri sa pagkakaroon ng ilang mga pattern sa cache, upang subaybayan ang mga daloy ng data at mga palatandaan ng pagpapatupad ng code na nauugnay sa mga kalkulasyon ng mga digital na lagda sa TrustZone na may medyo mataas na katumpakan.

Karamihan sa mga oras upang makabuo ng digital signature gamit ang ECDSA keys sa Qualcomm chips ay ginugugol sa pagsasagawa ng multiplication operations sa isang loop gamit ang initialization vector na hindi nagbabago para sa bawat signature (sugo ng papa). Kung makakabawi ang attacker ng kahit man lang ilang bit na may impormasyon tungkol sa vector na ito, magiging posible na magsagawa ng pag-atake upang sunod-sunod na mabawi ang buong pribadong key.

Sa kaso ng Qualcomm, dalawang lugar kung saan na-leak ang naturang impormasyon ay natukoy sa multiplication algorithm: kapag nagsasagawa ng mga operasyon sa paghahanap sa mga talahanayan at sa conditional data retrieval code batay sa halaga ng huling bit sa "nonce" vector. Sa kabila ng katotohanan na ang Qualcomm code ay naglalaman ng mga hakbang upang kontrahin ang mga pagtagas ng impormasyon sa pamamagitan ng mga third-party na channel, ang binuo na paraan ng pag-atake ay nagbibigay-daan sa iyo na laktawan ang mga hakbang na ito at matukoy ang ilang mga piraso ng "nonce" na halaga, na sapat upang mabawi ang 256-bit na mga ECDSA key.

Pinagmulan: opennet.ru

Magdagdag ng komento