рдЗрдВрдЯреЗрд▓, рдПрдПрдордбреА, рдПрдЖрд░рдПрдо рдЖрдгрд┐ рдЖрдпрдмреАрдПрдо рдкреНрд░реЛрд╕реЗрд╕рд░рд╡рд░ рдкрд░рд┐рдгрд╛рдо рдХрд░рдгрд╛рд░реЗ рдирд╡реАрди рдлреЛрд░рд╢реЕрдбреЛ рд╣рд▓реНрд▓рд╛ рдкреНрд░рдХрд╛рд░

рдЯреЗрдХреНрдирд┐рдХрд▓ рдпреБрдирд┐рд╡реНрд╣рд░реНрд╕рд┐рдЯреА рдСрдл рдЧреНрд░рд╛рдЭ (рдСрд╕реНрдЯреНрд░рд┐рдпрд╛) рдЖрдгрд┐ рд╣реЗрд▓реНрдорд╣реЛрд▓реНрдЯреНрдЬ рд╕реЗрдВрдЯрд░ рдлреЙрд░ рдЗрдиреНрдлреЙрд░реНрдореЗрд╢рди рд╕рд┐рдХреНрдпреБрд░рд┐рдЯреА (рд╕реАрдЖрдпрдПрд╕рдкреАрдП) рдордзреАрд▓ рд╕рдВрд╢реЛрдзрдХрд╛рдВрдЪрд╛ рдПрдХ рдЧрдЯ, рдкреНрд░рдХрдЯ (PDFрд╕рд╛рдЗрдб-рдЪреЕрдиреЗрд▓ рд╣рд▓реНрд▓реЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рдПрдХ рдирд╡реАрди рд╡реЗрдХреНрдЯрд░ рдкреВрд░реНрд╡рдЫрд╛рдпрд╛ (L1TF), рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЗрдВрдЯреЗрд▓ SGX рдПрдиреНрдХреНрд▓реЗрд╡реНрд╣рдЬ, SMM (рд╕рд┐рд╕реНрдЯрдо рдореЕрдиреЗрдЬрдореЗрдВрдЯ рдореЛрдб), OS рдХрд░реНрдирд▓рдЪреЗ рдореЗрдорд░реА рдХреНрд╖реЗрддреНрд░ рдЖрдгрд┐ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓рд╛рдпрдЭреЗрд╢рди рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдорд╢реАрдирдЪреНрдпрд╛ рдореЗрдорд░реАрдордзреВрди рдбреЗрдЯрд╛ рдХрд╛рдврдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. 2018 рдордзреНрдпреЗ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХреЗрд▓реЗрд▓реНрдпрд╛ рдореВрд│ рд╣рд▓реНрд▓реНрдпрд╛рдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд рдкреВрд░реНрд╡рдЫрд╛рдпрд╛ рдирд╡реАрди рдкреНрд░рдХрд╛рд░ рдЗрдВрдЯреЗрд▓ рдкреНрд░реЛрд╕реЗрд╕рд░рд╕рд╛рдареА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╛рд╣реА рдЖрдгрд┐ ARM, IBM рдЖрдгрд┐ AMD рд╕рд╛рд░рдЦреНрдпрд╛ рдЗрддрд░ рдЙрддреНрдкрд╛рджрдХрд╛рдВрдЪреНрдпрд╛ CPU рд▓рд╛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░рддреЗ. рдпрд╛рд╡реНрдпрддрд┐рд░рд┐рдХреНрдд, рдирд╡реАрди рдкреНрд░рдХрд╛рд░рд╛рд▓рд╛ рдЙрдЪреНрдЪ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА рдЖрдгрд┐ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЭрд░рдордзреНрдпреЗ JavaScript рдЖрдгрд┐ WebAssembly рдЪрд╛рд▓рд╡реВрди рджреЗрдЦреАрд▓ рд╣рд▓реНрд▓рд╛ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ.

рдлреЛрд░рд╢реЕрдбреЛ рд╣рд▓реНрд▓рд╛ рдпрд╛ рд╡рд╕реНрддреБрд╕реНрдерд┐рддреАрдЪрд╛ рдлрд╛рдпрджрд╛ рдШреЗрддреЛ рдХреА рдЬреЗрд╡реНрд╣рд╛ рд╡реНрд╣рд░реНрдЪреНрдпреБрдЕрд▓ рдкрддреНрддреНрдпрд╛рд╡рд░ рдореЗрдорд░реА рдНрдХреНрд╕реЗрд╕ рдХреЗрд▓реА рдЬрд╛рддреЗ рдЬреНрдпрд╛рдореБрд│реЗ рдЕрдкрд╡рд╛рдж (рдЯрд░реНрдорд┐рдирд▓ рдкреЗрдЬ рдлреЙрд▓реНрдЯ) рд╣реЛрддреЛ, рддреЗрд╡реНрд╣рд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рднреМрддрд┐рдХ рдкрддреНрддреНрдпрд╛рдЪреА рдЕрдиреБрдорд╛рдирд┐рдд рдЧрдгрдирд╛ рдХрд░рддреЛ рдЖрдгрд┐ рддреЛ L1 рдХреЕрд╢реЗрдордзреНрдпреЗ рдЙрдкрд▓рдмреНрдз рдЕрд╕рд▓реНрдпрд╛рд╕ рдбреЗрдЯрд╛ рд▓реЛрдб рдХрд░рддреЛ. рдореЗрдорд░реА рдкреГрд╖реНрда рд╕рд╛рд░рдгреА рд╢реЛрдз рдкреВрд░реНрдг рд╣реЛрдгреНрдпрд╛рдкреВрд░реНрд╡реА рдЖрдгрд┐ рдореЗрдорд░реА рдкреГрд╖реНрда рдЯреЗрдмрд▓ рдПрдВрдЯреНрд░реА (PTE) рдЪреА рд╕реНрдерд┐рддреА рд╡рд┐рдЪрд╛рд░рд╛рдд рди рдШреЗрддрд╛ рд╕рдЯреНрдЯрд╛ рдкреНрд░рд╡реЗрд╢ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ, рдЙрджрд╛. рднреМрддрд┐рдХ рдореЗрдорд░реАрдордзреАрд▓ рдбреЗрдЯрд╛рдЪреА рдЙрдкрд╕реНрдерд┐рддреА рдЖрдгрд┐ рддреНрдпрд╛рдЪреА рд╡рд╛рдЪрдиреАрдпрддрд╛ рддрдкрд╛рд╕рдгреНрдпрд╛рдкреВрд░реНрд╡реА. рдореЗрдорд░реА рдЙрдкрд▓рдмреНрдзрддрд╛ рддрдкрд╛рд╕рдгреА рдкреВрд░реНрдг рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░, PTE рдордзреНрдпреЗ рд╡рд░реНрддрдорд╛рди рдзреНрд╡рдЬрд╛рдЪреНрдпрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рддреАрдд, рдСрдкрд░реЗрд╢рди рдЯрд╛рдХреВрди рджрд┐рд▓реЗ рдЬрд╛рддреЗ, рдкрд░рдВрддреБ рдбреЗрдЯрд╛ рдХреЕрд╢реЗрдордзреНрдпреЗрдЪ рд░рд╛рд╣рддреЛ рдЖрдгрд┐ рдмрд╛рдЬреВрдЪреНрдпрд╛ рдЪреЕрдиреЗрд▓рджреНрд╡рд╛рд░реЗ рдХреЕрд╢реЗ рд╕рд╛рдордЧреНрд░реА рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкрджреНрдзрддреА рд╡рд╛рдкрд░реВрди рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ (рдЕреЕрдХреНрд╕реЗрд╕ рд╡реЗрд│реЗрддреАрд▓ рдмрджрд▓рд╛рдВрдЪреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реВрди рдХреЕрд╢реНрдб рдЖрдгрд┐ рдЕрдирдХреЕрд╢реНрдб рдбреЗрдЯрд╛рд╕рд╛рдареА).

рд╕рдВрд╢реЛрдзрдХрд╛рдВрдиреА рджрд░реНрд╢рд╡рд┐рд▓реЗ рдЖрд╣реЗ рдХреА рдлреЛрд░рд╢реЗрдбреЛ рд╡рд┐рд░реВрджреНрдз рд╕рдВрд░рдХреНрд╖рдгрд╛рдЪреНрдпрд╛ рд╡рд┐рджреНрдпрдорд╛рди рдкрджреНрдзрддреА рдХреБрдЪрдХрд╛рдореА рдЖрд╣реЗрдд рдЖрдгрд┐ рд╕рдорд╕реНрдпреЗрдЪреНрдпрд╛ рдЪреБрдХреАрдЪреНрдпрд╛ рдЕрд░реНрдерд╛рдиреЗ рдЕрдВрдорд▓рд╛рдд рдЖрдгрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд. рдЕрдЧрддрд┐рдХрддрд╛
рдкреВрд░реНрд╡реА рдкреБрд░реЗрд╢реА рдорд╛рдирд▓реА рдЬрд╛рдгрд╛рд░реА рдХрд░реНрдирд▓ рд╕реБрд░рдХреНрд╖рд╛ рдпрдВрддреНрд░рдгрд╛ рд╡рд┐рдЪрд╛рд░рд╛рдд рди рдШреЗрддрд╛ Foreshadow рдЪрд╛ рд╡рд╛рдкрд░ рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. рдкрд░рд┐рдгрд╛рдореА, рд╕рдВрд╢реЛрдзрдХрд╛рдВрдиреА рддреБрд▓рдиреЗрдиреЗ рдЬреБрдиреЗ рдХрд░реНрдирд▓ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд┐рд╕реНрдЯреАрдорд╡рд░ рдлреЛрд░рд╢реЕрдбреЛ рд╣рд▓реНрд▓рд╛ рдХрд░рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рджрд╛рдЦрд╡реВрди рджрд┐рд▓реА, рдЬреНрдпрд╛рдордзреНрдпреЗ рд╕рд░реНрд╡ рдЙрдкрд▓рдмреНрдз рдлреЛрд░рд╢реЕрдбреЛ рд╕рдВрд░рдХреНрд╖рдг рдореЛрдбреНрд╕ рд╕рдХреНрд╖рдо рдЖрд╣реЗрдд, рддрд╕реЗрдЪ рдирд╡реАрди рдХрд░реНрдирд▓рд╕рд╣, рдЬреНрдпрд╛рдордзреНрдпреЗ рдлрдХреНрдд Specter-v2 рд╕рдВрд░рдХреНрд╖рдг рдЕрдХреНрд╖рдо рдЖрд╣реЗ (рд╡рд╛рдкрд░реВрди рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдирд▓ рдкрд░реНрдпрд╛рдп nospectre_v2).

рдЕрд╕реЗ рдЖрдврд│реВрди рдЖрд▓реЗ рдкреНрд░реАрд▓реЛрдб рдкреНрд░рднрд╛рд╡ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдкреНрд░реАрдлреЗрдЪ рд╕реВрдЪрдирд╛ рдХрд┐рдВрд╡рд╛ рд╣рд╛рд░реНрдбрд╡реЗрдЕрд░ рдкреНрд░рднрд╛рд╡рд╛рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдирд╛рд╣реА
рдореЗрдорд░реА рдНрдХреНрд╕реЗрд╕ рджрд░рдореНрдпрд╛рди рдкреНрд░реАрдлреЗрдЪ рдХрд░рд╛, рдкрд░рдВрддреБ рдЬреЗрд╡реНрд╣рд╛ рдХрд░реНрдирд▓рдордзреНрдпреЗ рд╡рд╛рдкрд░рдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕рдЪреЗ рд╕рдЯреНрдЯреЗрдмрд╛рдВрдзрдгреА dereferences рдиреЛрдВрджрдгреА рд╣реЛрддреЗ рддреЗрд╡реНрд╣рд╛ рдЙрджреНрднрд╡рддреЗ. рдЕрд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдЪреНрдпрд╛ рдХрд╛рд░рдгрд╛рдЪреНрдпрд╛ рдпрд╛ рдЪреБрдХреАрдЪреНрдпрд╛ рдЕрд░реНрдерд╛рдиреЗ рд╕реБрд░реБрд╡рд╛рддреАрд▓рд╛ рдЕрд╕реЗ рдЧреГрд╣реАрдд рдзрд░рд▓реЗ рдХреА рдлреЛрд░рд╢реЕрдбреЛрдордзреАрд▓ рдбреЗрдЯрд╛ рд▓реАрдХреЗрдЬ рдХреЗрд╡рд│ L1 рдХреЕрд╢реЗрджреНрд╡рд╛рд░реЗрдЪ рд╣реЛрдК рд╢рдХрддреЛ, рддрд░ рдХрд░реНрдирд▓рдордзреАрд▓ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХреЛрдб рд╕реНрдирд┐рдкреЗрдЯреНрд╕ (рдкреНрд░реАрдлреЗрдЪ рдЧреЕрдЭреЗрдЯреНрд╕) рдЪреА рдЙрдкрд╕реНрдерд┐рддреА L1 рдХреЕрд╢реЗрдЪреНрдпрд╛ рдмрд╛рд╣реЗрд░ рдбреЗрдЯрд╛ рд▓реАрдХреЗрдЬрдордзреНрдпреЗ рдпреЛрдЧрджрд╛рди рджреЗрдК рд╢рдХрддреЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, L3 рдХреЕрд╢реЗрдордзреНрдпреЗ.

рдУрд│рдЦрд▓реЗ рдЧреЗрд▓реЗрд▓реЗ рд╡реИрд╢рд┐рд╖реНрдЯреНрдп рд╡реЗрдЧрд│реНрдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рдд рдЖрднрд╛рд╕реА рдкрддреНрддреЗ рднреМрддрд┐рдХрд╛рдд рднрд╛рд╖рд╛рдВрддрд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдЖрдгрд┐ CPU рдиреЛрдВрджрдгреАрдВрдордзреНрдпреЗ рд╕рдВрдЧреНрд░рд╣рд┐рдд рдкрддреНрддреЗ рдЖрдгрд┐ рдбреЗрдЯрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдЪреНрдпрд╛ рдЙрджреНрджреЗрд╢рд╛рдиреЗ рдирд╡реАрди рд╣рд▓реНрд▓реЗ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рджреЗрдЦреАрд▓ рдЙрдШрдбрддреЗ. рдкреНрд░рд╛рддреНрдпрдХреНрд╖рд┐рдХ рдореНрд╣рдгреВрди, рд╕рдВрд╢реЛрдзрдХрд╛рдВрдиреА Intel Core i10-7U CPU рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд┐рд╕реНрдЯреАрдорд╡рд░ рд╕реБрдорд╛рд░реЗ 6500 рдмрд┐рдЯ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрджрд╛рдЪреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддреЗрд╕рд╣ рдПрдХрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрддреВрди рджреБрд╕рд░реНтАНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрдд рдбреЗрдЯрд╛ рдХрд╛рдврдгреНрдпрд╛рд╕рд╛рдареА рдУрд│рдЦрд▓реЗрд▓рд╛ рдкреНрд░рднрд╛рд╡ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рджрд░реНрд╢рд╡рд┐рд▓реА. рдЗрдВрдЯреЗрд▓ SGX рдПрдиреНрдХреНрд▓реЗрд╡реНрд╣рдордзреВрди рд░рдЬрд┐рд╕реНрдЯрд░ рд╕рд╛рдордЧреНрд░реА рд▓реАрдХ рд╣реЛрдгреНрдпрд╛рдЪреА рд╢рдХреНрдпрддрд╛ рджреЗрдЦреАрд▓ рджрд░реНрд╢рд╡рд┐рд▓реА рдЖрд╣реЗ (32-рдмрд┐рдЯ рд░рдЬрд┐рд╕реНрдЯрд░рд╡рд░ рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ 64-рдмрд┐рдЯ рдореВрд▓реНрдп рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА 15 рдорд┐рдирд┐рдЯреЗ рд▓рд╛рдЧрд▓реА). рдХрд╛рд╣реА рдкреНрд░рдХрд╛рд░рдЪреЗ рд╣рд▓реНрд▓реЗ JavaScript рдЖрдгрд┐ WebAssembly рдордзреНрдпреЗ рдЕрдВрдорд▓рд╛рдд рдЖрдгрдгреЗ рд╢рдХреНрдп рдЭрд╛рд▓реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, JavaScript рд╡реНрд╣реЗрд░рд┐рдПрдмрд▓рдЪрд╛ рднреМрддрд┐рдХ рдкрддреНрддрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдгреЗ рдЖрдгрд┐ рдЖрдХреНрд░рдордгрдХрд░реНрддреНрдпрд╛рджреНрд╡рд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рд┐рдд рдореВрд▓реНрдпрд╛рд╕рд╣ 64-рдмрд┐рдЯ рдиреЛрдВрджрдгреА рднрд░рдгреЗ рд╢рдХреНрдп рдЭрд╛рд▓реЗ.

L3 рдХреЕрд╢реЗрджреНрд╡рд╛рд░реЗ рдлреЛрд░рд╢реЕрдбреЛ рд╣рд▓реНрд▓рд╛ рд░реЛрдЦрдгреНрдпрд╛рд╕рд╛рдареА, retpoline рдкреЕрдЪ рд╕реЗрдЯрдордзреНрдпреЗ рд▓рд╛рдЧреВ рдХреЗрд▓реЗрд▓реА Specter-BTB (рдмреНрд░рд╛рдВрдЪ рдЯрд╛рд░реНрдЧреЗрдЯ рдмрдлрд░) рд╕рдВрд░рдХреНрд╖рдг рдкрджреНрдзрдд рдкреНрд░рднрд╛рд╡реА рдЖрд╣реЗ. рдЕрд╢рд╛рдкреНрд░рдХрд╛рд░реЗ, рд╕рдВрд╢реЛрдзрдХрд╛рдВрдЪрд╛ рдЕрд╕рд╛ рд╡рд┐рд╢реНрд╡рд╛рд╕ рдЖрд╣реЗ рдХреА рдирд╡реАрди CPU рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд┐рд╕реНрдЯреАрдорд╡рд░ рджреЗрдЦреАрд▓ retpoline рд╕рдХреНрд╖рдо рдареЗрд╡рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЬреНрдпрд╛рдВрдирд╛ CPU рд╕рдЯреНрдЯреЗрдмрд╛рдЬреАрдЪреНрдпрд╛ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рдпрдВрддреНрд░рдгреЗрдордзреНрдпреЗ рдЖрдзреАрдЪ рдЬреНрдЮрд╛рдд рдЕрд╕реБрд░рдХреНрд╖рд╛рдВрд╡рд┐рд░реВрджреНрдз рд╕рдВрд░рдХреНрд╖рдг рдЖрд╣реЗ. рддреНрдпрд╛рдЪ рд╡реЗрд│реА, рдЗрдВрдЯреЗрд▓рдЪреНрдпрд╛ рдкреНрд░рддрд┐рдирд┐рдзреАрдВрдиреА рд╕рд╛рдВрдЧрд┐рддрд▓реЗ рдХреА рддреЗ рдкреНрд░реЛрд╕реЗрд╕рд░рдордзреНрдпреЗ рдлреЛрд░рд╢реЕрдбреЛ рд╡рд┐рд░реВрджреНрдз рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд░рдХреНрд╖рдг рдЙрдкрд╛рдп рдЬреЛрдбрдгреНрдпрд╛рдЪреА рдпреЛрдЬрдирд╛ рдХрд░рдд рдирд╛рд╣реАрдд рдЖрдгрд┐ рд╕реНрдкреЗрдХреНрдЯрд░ V2 рдЖрдгрд┐ L1TF (рдлреЛрд░рд╢реЕрдбреЛ) рд╣рд▓реНрд▓реНрдпрд╛рдВрдкрд╛рд╕реВрди рд╕рдВрд░рдХреНрд╖рдг рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рддреЗ рдкреБрд░реЗрд╕реЗ рдорд╛рдирддрд╛рдд.

рд╕реНрддреНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛