TPM-Fail sårbarhet som lar deg gjenopprette nøkler lagret i TPM-moduler

Et team av forskere fra Worcester Polytechnic Institute, University of Lübeck og University of California i San Diego har utviklet En sidekanalangrepsmetode som lar deg gjenopprette verdien av private nøkler som er lagret i TPM (Trusted Platform Module). Angrepet fikk et kodenavn TPM-Fail og påvirker fTPM (programvareimplementering basert på fastvare som kjører på en separat mikroprosessor inne i CPUen) fra Intel (CVE-2019-11090) og maskinvare TPM på STMicroelectronics-brikker ST33 (CVE-2019-16863).

Forskere publisert prototype angrepsverktøysett og demonstrerte evnen til å gjenopprette en 256-bits privat nøkkel brukt til å generere digitale signaturer ved hjelp av elliptiske kurvealgoritmer ECDSA og EC-Schnorr. Avhengig av tilgangsrettigheter er den totale angrepstiden på Intel fTPM-systemer 4-20 minutter og krever analyse av 1-15 tusen operasjoner. Det tar omtrent 33 minutter å angripe systemer med ST80-brikken og analysere rundt 40 tusen operasjoner for å generere en digital signatur.

Forskerne demonstrerte også muligheten for å utføre et eksternt angrep i høyhastighetsnettverk, som gjorde det mulig å gjenopprette en privat nøkkel i et lokalt nettverk med en båndbredde på 1GB i laboratorieforhold på fem timer, etter å ha målt responstiden i 45 tusen autentiseringsøkter med en VPN-server basert på strongSwan-programvare, som lagrer nøklene i den sårbare TPM.

Angrepsmetoden er basert på å analysere forskjeller i utførelsestiden for operasjoner i prosessen med å generere en digital signatur. Estimering av beregningsforsinkelse lar deg bestemme informasjon om individuelle biter under skalar multiplikasjon i elliptiske kurveoperasjoner. For ECDSA er å bestemme selv noen få biter med informasjon om initialiseringsvektoren (nonce) nok til å utføre et angrep for sekvensielt å gjenopprette hele den private nøkkelen. For å lykkes med å gjennomføre et angrep, er det nødvendig å analysere generasjonstiden for flere tusen digitale signaturer opprettet over data kjent for angriperen.

Sårbarhet eliminert av STMicroelectronics i en ny utgave av brikker der implementeringen av ECDSA-algoritmen ble frigjort fra korrelasjoner med utførelsestiden for operasjoner. Interessant nok brukes de berørte STMicroelectronics-brikkene også i utstyr som oppfyller sikkerhetsnivået CommonCriteria (CC) EAL 4+. Forskerne testet også TPM-brikker fra Infineon og Nuvoton, men de lekket ikke basert på endringer i beregningstiden.

I Intel-prosessorer dukker problemet opp fra Haswell-familien som ble utgitt i 2013. Det bemerkes at problemet rammer et bredt spekter av bærbare datamaskiner, PC-er og servere produsert av ulike produsenter, inkludert Dell, Lenovo og HP.

Intel har inkludert en løsning november fastvareoppdatering, der, i tillegg til problemet under vurdering, eliminert ytterligere 24 sårbarheter, hvorav ni er tildelt et høyt farenivå, og en er kritisk. På disse problemene er det kun gitt generell informasjon, for eksempel nevnes det at den kritiske sårbarheten (CVE-2019-0169) skyldes muligheten til å forårsake en heap overflow på siden av Intel CSME (Converged Security and Management Engine) ) og Intel TXE (Trusted Execution Engine) miljøer, som lar angripere øke privilegiene sine og få tilgang til konfidensielle data.

Det kan også noteres formidling revisjonsresultater av ulike SDK-er for utvikling av applikasjoner som samhandler med kode utført på siden av isolerte enklaver. For å identifisere problematiske funksjoner som kan brukes til å utføre angrep, ble åtte SDK-er studert: Intel SGX-SDK, SGX-LKL, Microsoft OpenEnclave, graphene,
Rust-EDP и Google Asylo for Intel SGX, Keystone for RISC-V og Sancus for Sancus TEE. Under tilsynet var det avslørt 35 sårbarheter, basert på hvilke flere angrepsscenarier er utviklet som lar deg trekke ut AES-nøkler fra en enklave eller organisere kjøringen av koden din ved å skape forhold for å skade innholdet i minnet.

TPM-Fail sårbarhet som lar deg gjenopprette nøkler lagret i TPM-moduler

Kilde: opennet.ru

Legg til en kommentar