Parangkat lunak panyalindungan LVI Google nunjukkeun prestasi kinerja 14x

Zola Bridges ti Google anjeunna ditawarkeun pikeun set kompiler LLVM, patch sareng palaksanaan perlindungan SESES (Speculative Execution Side Effect Suppression), anu ngabantosan serangan blok kana mékanisme palaksanaan spekulatif dina CPU Intel, sapertos LVI. Métode panyalindungan dilaksanakeun dina tingkat kompiler sareng dumasar kana tambihan ku kompiler nalika ngahasilkeun kode mesin paréntah LFENCE, nu diganti saméméh unggal instruksi maca tina mémori atawa nulis kana memori, sarta ogé saméméh instruksi cabang munggaran dina grup parentah nu ends blok.

Parentah LFENCE ngadagoan sadaya bacaan memori sateuacana dilakukeun sareng nyegah palaksanaan preemptive tina parentah salajengna saatos LFENCE sateuacan komitmen parantos réngsé. Pamakéan LFENCE ngabalukarkeun panurunan signifikan dina kinerja, ku kituna diusulkeun ngagunakeun panyalindungan dina kasus ékstrim pikeun kode utamana kritis. Salian panyalindungan pinuh, patch nawarkeun tilu umbul nu ngidinan Anjeun pikeun selektif nganonaktipkeun tingkat tangtu panyalindungan pikeun ngurangan dampak negatif kana kinerja.

Dina tés anu dilakukeun, panggunaan panyalindungan SESES pikeun pakét BoringSSL nyababkeun panurunan dina jumlah operasi anu dilakukeun ku perpustakaan per detik ku 14 kali - kinerja versi perpustakaan anu disusun kalayan panyalindungan tétéla ngan ukur 7.1% dina. rata-rata tina indikator tina versi anu teu dijagi (rentang gumantung kana tés nyaéta ti 4% dugi ka 23%).

Pikeun ngabandingkeun, ngabandingkeun diajukeun saméméhna keur GNU Assembler, mékanisme nu ngalakukeun substitusi LFENCE sanggeus unggal operasi beban memori sarta saméméh sababaraha parentah cabang némbongkeun panurunan kinerja ngeunaan 5 kali (22% kode tanpa panyalindungan). métode panyalindungan ogé diajukeun и dilaksanakeun ku insinyur Intel, tapi hasil nguji kinerja pikeun eta teu acan diterbitkeun. Mimitina, para panalungtik anu ngaidentipikasi serangan LVI ngaramalkeun panurunan 2- nepi ka 19-melu dina kinerja nalika nerapkeun panyalindungan pinuh.

sumber: opennet.ru

Tambahkeun komentar