Dependeco de instrukcia ekzekuttempo de datumoj pri ARM kaj Intel-CPUoj

Eric Biggers, unu el la programistoj de la ĉifro Adiantum kaj prizorganto de la subsistemo de Linukso-kerno fscrypt, proponis aron da diakiloj por bloki sekurecproblemojn devenantajn de trajto de Intel-procesoroj, kiu ne garantias konstantajn ekzekuttempojn por malsamaj prilaboritaj datumoj. La problemo aperas en Intel-procesoroj komencante kun la familio Ice Lake. Simila problemo estas observita en ARM-procesoroj.

La ĉeesto de dependeco de la ekzekuttempo de instrukcioj pri la datumoj prilaboritaj en ĉi tiuj instrukcioj estas konsiderata de la aŭtoro de la diakiloj kiel vundebleco en procesoroj, ĉar tia konduto ne povas garantii la sekurecon de kriptografiaj operacioj faritaj en la sistemo. Multaj efektivigoj de ĉifrikaj algoritmoj estas dezajnitaj por certigi, ke datumoj ne influas la ekzekuttempon de instrukcioj, kaj malobservi ĉi tiun konduton povas konduki al kreado de flankaj-kanalaj atakoj, kiuj reakiras datumojn surbaze de analizo de ĝia pretigtempo.

Eble, rultempa datuma dependeco ankaŭ povas esti uzata por lanĉi atakojn por determini kernajn datumojn de uzantspaco. Laŭ Eric Biggers, konstanta ekzekuttempo ne estas provizita defaŭlte eĉ por instrukcioj kiuj plenumas aldonajn kaj XOR-operaciojn, same kiel por specialigitaj instrukcioj AES-NI (informoj ne konfirmitaj de testoj, laŭ aliaj datumoj, estas prokrasto de unu. ciklo dum vektora multipliko kaj bitkalkulado).

Por malŝalti ĉi tiun konduton, Intel kaj ARM proponis novajn flagojn: PSTATE-bit DIT (Data Independent Timing) por ARM-CPUoj kaj MSR-bit DOITM (Data Operand Independent Timing Mode) por Intel CPUoj, resendante la malnovan konduton kun konstanta ekzekuttempo. Intel kaj ARM rekomendas ebligi protekton laŭbezone por kritika kodo, sed fakte, kritika komputado povas okazi ie ajn en la kerno kaj uzantspaco, do ni pripensas ebligi DOITM kaj DIT-reĝimojn por la tuta kerno ĉiam.

Por ARM-procesoroj, la Linukso 6.2-kernbranĉo jam adoptis diakilojn kiuj ŝanĝas la konduton por la kerno, sed ĉi tiuj flikoj estas konsiderataj nesufiĉaj ĉar ili nur kovras la kernkodon kaj ne ŝanĝas la konduton por la uzantspaco. Por Intel-procesoroj, la inkludo de protekto ankoraŭ estas en la revizia etapo. La efiko de la diakilo al rendimento ankoraŭ ne estis mezurita, sed laŭ Intel-dokumentado, ebligi DOITM-reĝimon reduktas rendimenton (ekzemple, malŝaltante kelkajn optimumojn, kiel datumspecifa antaŭŝarĝado) kaj en estontaj procesoraj modeloj la rendimentoredukto povas pliiĝi. .

fonto: opennet.ru

Aldoni komenton