Dangosodd meddalwedd amddiffyn LVI Google ergyd perfformiad 14x

Zola Bridges gan Google awgrymwyd ar gyfer y set casglwr LLVM, darn gyda gweithredu amddiffyniad SESES (Atal Effaith Ochr-effaith Cyflawni hapfasnachol), sy'n helpu i atal ymosodiadau ar y mecanwaith gweithredu hapfasnachol yn CPUs Intel, megis LVI. Mae'r dull amddiffyn yn cael ei weithredu ar lefel y casglwr ac mae'n seiliedig ar ychwanegu cyfarwyddiadau gan y casglwr wrth gynhyrchu cod peiriant LFENCE, sy'n cael eu mewnosod cyn pob cof darllen neu ysgrifennu cyfarwyddyd, yn ogystal Γ’ chyn y cyfarwyddyd cangen cyntaf yn y grΕ΅p o gyfarwyddiadau sy'n dod i ben y bloc.

Mae cyfarwyddyd LFENCE yn aros am yr holl gof blaenorol i ymrwymo ac yn analluogi rhagbrynu cyfarwyddiadau dilynol ar Γ΄l LFENCE nes bod y traddodi wedi'i gwblhau. Mae defnyddio LFENCE yn arwain at ostyngiad sylweddol mewn perfformiad, felly cynigir defnyddio amddiffyniad mewn achosion eithafol ar gyfer cod arbennig o feirniadol. Yn ogystal ag amddiffyniad llawn, mae'r clwt yn cynnig tair baner sy'n eich galluogi i analluogi rhai lefelau o amddiffyniad yn ddetholus i leihau'r effaith negyddol ar berfformiad.

Yn y profion a gynhaliwyd, arweiniodd y defnydd o amddiffyniad SESES ar gyfer pecyn BoringSSL at ostyngiad yn nifer y gweithrediadau yr eiliad a gyflawnir gan y llyfrgell 14 gwaith - dim ond 7.1% o'r perfformiad oedd fersiwn warchodedig y llyfrgell ar gyfartaledd. fersiwn heb ei amddiffyn (amrywiad yn dibynnu ar y prawf o 4% i 23%).

I gymharu, arfaethedig Yn flaenorol, ar gyfer GNU Assembler, roedd mecanwaith sy'n perfformio amnewid LFENCE ar Γ΄l pob gweithrediad llwyth cof a chyn rhai cyfarwyddiadau cangen yn dangos gostyngiad perfformiad o tua 5 gwaith (22% o'r cod heb amddiffyniad). Mae'r dull amddiffyn hefyd arfaethedig ΠΈ gweithredu gan beirianwyr Intel, ond nid yw canlyniadau profion perfformiad ar ei gyfer wedi'u cyhoeddi eto. I ddechrau, roedd yr ymchwilwyr a nododd yr ymosodiad LVI yn rhagweld gostyngiad 2- i 19-plyg mewn perfformiad wrth gymhwyso amddiffyniad llawn.

Ffynhonnell: opennet.ru

Ychwanegu sylw