Ang Plundervolt ay isang bagong paraan ng pag-atake sa mga processor ng Intel na nakakaapekto sa teknolohiya ng SGX

Intel pinakawalan microcode update na nag-aayos kahinaan (CVE-2019-14607) nagpapahintulot sa pamamagitan ng pagmamanipula ng dynamic na boltahe at frequency control na mekanismo sa CPU, simulan ang pinsala sa mga nilalaman ng mga cell ng data, kabilang ang mga lugar na ginagamit para sa mga kalkulasyon sa mga nakahiwalay na Intel SGX enclaves. Ang pag-atake ay tinatawag na Plundervolt, at potensyal na nagpapahintulot sa isang lokal na user na palakihin ang kanilang mga pribilehiyo sa system, maging sanhi ng pagtanggi sa serbisyo at makakuha ng access sa sensitibong data.

Ang pag-atake ay mapanganib lamang sa konteksto ng mga manipulasyon na may mga kalkulasyon sa mga enclave ng SGX, dahil nangangailangan ito ng mga karapatan sa ugat sa system upang maisakatuparan. Sa pinakasimpleng kaso, maaaring makamit ng isang attacker ang pagbaluktot ng impormasyong naproseso sa enclave, ngunit sa mas kumplikadong mga sitwasyon, ang posibilidad na muling likhain ang mga pribadong key na nakaimbak sa enclave na ginagamit para sa pag-encrypt gamit ang RSA-CRT at AES-NI algorithm ay hindi. hindi kasama. Ang pamamaraan ay maaari ding gamitin upang makabuo ng mga error sa unang tamang mga algorithm upang pukawin ang mga kahinaan kapag nagtatrabaho gamit ang memorya, halimbawa, upang ayusin ang pag-access sa isang lugar sa labas ng hangganan ng inilaan na buffer.
Prototype code para sa pagsasagawa ng pag-atake nalathala sa GitHub

Ang kakanyahan ng pamamaraan ay upang lumikha ng mga kondisyon para sa paglitaw ng hindi inaasahang mga katiwalian ng data sa panahon ng mga kalkulasyon sa SGX, kung saan ang paggamit ng pag-encrypt at pagpapatunay ng memorya sa enclave ay hindi nagpoprotekta. Upang ipakilala ang pagbaluktot, lumabas na posible na gumamit ng mga karaniwang interface ng software para sa pagkontrol ng dalas at boltahe, kadalasang ginagamit upang mabawasan ang pagkonsumo ng kuryente sa panahon ng idle time ng system at i-activate ang maximum na pagganap sa panahon ng masinsinang trabaho. Ang mga katangian ng dalas at boltahe ay sumasaklaw sa buong chip, kabilang ang epekto ng pag-compute sa isang nakahiwalay na enclave.

Sa pamamagitan ng pagpapalit ng boltahe, maaari kang lumikha ng mga kondisyon kung saan ang singil ay hindi sapat upang muling buuin ang isang memory cell sa loob ng CPU, at ang halaga nito ay nagbabago. Pangunahing pagkakaiba sa pag-atake RowHammer ay ang RowHammer ay nagpapahintulot sa iyo na baguhin ang mga nilalaman ng mga indibidwal na bit sa DRAM memory sa pamamagitan ng paikot na pagbabasa ng data mula sa mga kalapit na cell, habang ang Plundervolt ay nagpapahintulot sa iyo na baguhin ang mga bit sa loob ng CPU kapag ang data ay na-load na mula sa memorya para sa pagkalkula. Ang tampok na ito ay nagbibigay-daan sa iyo na i-bypass ang kontrol ng integridad at mga mekanismo ng pag-encrypt na ginagamit sa SGX para sa data sa memorya, dahil ang mga halaga sa memorya ay nananatiling tama, ngunit maaaring baluktot sa panahon ng mga operasyon sa kanila bago ang resulta ay isulat sa memorya.

Kung ang binagong halaga na ito ay ginamit sa proseso ng pagpaparami ng proseso ng pag-encrypt, ang output ay tatanggihan nang may maling ciphertext. Ang pagkakaroon ng kakayahang makipag-ugnayan sa isang handler sa SGX upang i-encrypt ang data nito, ang isang attacker ay maaaring, na nagiging sanhi ng mga pagkabigo, makaipon ng mga istatistika tungkol sa mga pagbabago sa output ciphertext at, sa ilang minuto, ibalik ang halaga ng key na nakaimbak sa enclave. Ang orihinal na input text at ang tamang output ciphertext ay kilala, ang susi ay hindi nagbabago, at ang output ng isang maling ciphertext ay nagpapahiwatig na ang ilang bit ay na-distort sa kabaligtaran na halaga.

Ang pagkakaroon ng pagsusuri sa mga pares ng mga halaga ng tama at sira na mga ciphertext na naipon sa panahon ng iba't ibang mga pagkabigo, gamit ang mga pamamaraan ng pagsusuri sa pagkakaiba-iba ng pagkabigo (DFA, Differential Fault Analysis) Pwede hulaan posibleng mga key na ginagamit para sa AES symmetric encryption, at pagkatapos, sa pamamagitan ng pagsusuri sa mga intersection ng mga key sa iba't ibang set, matukoy ang gustong key.

Ang iba't ibang modelo ng mga processor ng Intel ay apektado ng problema, kabilang ang mga Intel Core CPU na may 6
Ika-10 henerasyon, pati na rin ang ikalima at ikaanim na henerasyon ng Xeon E3, ang una at ikalawang henerasyon ng Intel Xeon Scalable, Xeon D,
Sina Xeon W at Xeon E.

Paalalahanan ka namin na ang teknolohiya ng SGX (Mga Extension ng Software Guard) ay lumitaw sa ikaanim na henerasyon ng mga processor ng Intel Core (Skylake) at Nag-aalok ang isang serye ng mga tagubilin na nagpapahintulot sa mga application sa antas ng user na maglaan ng mga closed memory area - mga enclave, ang mga nilalaman nito ay hindi mababasa o mababago kahit na ang kernel at code na tumatakbo sa ring0, SMM at VMM mode. Imposibleng ilipat ang kontrol sa code sa enclave gamit ang mga tradisyunal na pag-andar ng pagtalon at pagmamanipula na may mga rehistro at stack; upang ilipat ang kontrol sa enclave, isang espesyal na nilikha na bagong pagtuturo ang ginagamit na nagsasagawa ng pagsusuri sa awtoridad. Sa kasong ito, ang code na inilagay sa enclave ay maaaring gumamit ng mga klasikal na paraan ng pagtawag upang ma-access ang mga function sa loob ng enclave at mga espesyal na tagubilin para tumawag sa mga panlabas na function. Ang enclave memory encryption ay ginagamit upang maprotektahan laban sa mga pag-atake ng hardware tulad ng pagkonekta sa isang DRAM module.

Pinagmulan: opennet.ru

Magdagdag ng komento