Bitdefender ááŸáá¯áá±áá®áá»á¬áž
á¡á¬ážáááºážáá»ááºááẠSpectre v1 á¡áááºážá¡á á¬ážááœááºááŸáááŒá®áž ááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠááŸááºážááá¯ááºáá±á¬ááºááŒá®ážáá±á¬áẠáá»ááºááŸááá±áá±á¬ áááá¯áááºáᬠcache á០á¡áá»ááºá¡áááºáá»á¬ážááᯠááŒááºáááºááá°ááá·áº á¡áá°á¡áá¡áá±á«áº á¡ááŒá±áá¶áá¬ážáááºá á áœááºážáá±á¬ááºáááºááá¯ážáááºá á±áááºá áá±ááºáá® CPU áá»á¬ážá áá¬áááœá²ááá·áºááŸááºážáá°áá áºáá»á¬ážááẠááœááºáá»ááºáá¶áááá¯ááºááŒá±á¡ááŸááá¯á¶áž ááœáŸááºááŒá¬ážáá»ááºá¡áá»áá¯á·ááᯠááŒáá¯áááºáá¯ááºáá±á¬ááºááŸá¯ááᯠá¡áá¯á¶ážááŒá¯áá±á¬áºáááºáž áááºážááá¯á·ááá¯ááºáá±á¬ááºááŸá¯ááᯠáá¯á¶ážááŒááºááá·áºá¡áá»ááºáá»á¬ážá¡á¬ážáá¯á¶ážáááœááºáá»ááºááŸá¯ááᯠáá á±á¬áá·áºááá¯ááºážáá² (á¥ááá¬á áá¬áááœá²á¡ááŒá±á¡áá±áá»á¬áž ááá¯á·ááá¯áẠáááºáá±á¬ááºááœáá·áºááá·áºáááºáá»ááºáá»á¬ážáááŸáááá·áºá¡áá«á áááœááºáá»ááºááá±ážáá«á) ááá·áºááŸááºážáá»ááºááᯠá¡áááºáááŒá¯áá«áá áááá¯áááºáá¬ááẠááŸááºážááá¯ááºáá±á¬ááºááŸá¯áááááºááᯠáááºáá áºáááºááŒá áºáá±á¬áºáááºáž áááºážááẠáááá¯áááºáá¬áááºááŸáºááœáẠááŸááá±á ááºá¡ááœááºáž áá¯ááºáá±á¬ááºáá²á·áá±á¬áá±áá¬áá»á¬ážááᯠáá±ážááœááºáá»ááºáááºáá»á¬ážááŸáá áºááá·áº áááºááŸáºáá¡ááŒá±á¬ááºážá¡áá¬áá»á¬ážááᯠáá¯á¶ážááŒááºáááºá¡ááœáẠáááºážáááºážáá»á¬ážá¡áá¯á¶ážááŒá¯á ááŒááºáááºááá°ááá¯ááºáááºá áááºáá±á¬ááºááŸá¯ááá¯ááºáá¬ááŒá±á¬ááºážáá²ááŸá¯ááᯠááá¯ááºážááŒá¬ážá áááºááŒá¬ááŒááºáž áááºááŸáºáá¯ááºááŒá®áž áááºááŸáºááá¬ážáá²á· áá±áá¬ááœá±ááᯠááááºážááá¯á· á¡áá»áááºáá«áá²á
ááá¯ááºááá¯ááºááŸá¯á¡áá áºá áá°ážááŒá¬ážáá»ááºááŸá¬ ááááºážáá»á¯ááºááŸá¯á០áá¯á¶ážá áœá²áá°áá±áá¬á០OS kernel ááá¯á· ááŒááºáááºážááá·áºá¡áá« GS ááŸááºáá¯á¶áááºááŒááºážáááºááá¯ážááᯠá¡á á¬ážááá¯ážáááºá¡ááœáẠáááºáááºááŸá¯á áá áºáá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯ááá·áº SWAPGS ááœáŸááºááŒá¬ážáá»ááºá ááŸááºážááá¯ááºáá±á¬ááºááŸá¯á¡ááœááºáž áá±á«ááºááŒá¬ážááŸá¯áá áºáá¯á¡áá¯á¶ážááŒá¯ááŒááºážááŒá áºááẠ(GS á¡áá¯á¶ážááŒá¯áá°áá±áá¬ááœááºááœááºá¡áá¯á¶ážááŒá¯ááá·áºáááºááá¯ážááᯠkernel ááœááºáá¯ááºáá±á¬ááºáá±á ááºá¡áá¯á¶ážááŒá¯ááá·áºáááºááá¯ážááŸáá·áºá¡á á¬ážááá¯ážáááºá Linux kernel ááœááºá GS ááẠkernel áá±áá¬ááá¯ááá°áááºá¡áá¯á¶ážááŒá¯ááá·áº per_cpu pointer áá áºáá¯ááᯠááááºážáááºážáá¬ážááŒá®áž á¡áá¯á¶ážááŒá¯áá° space ááẠpointers áá»á¬ážááᯠTLS (Thread Local Storage) ááá¯á· ááááºážáááºážáá«áááºá
kernel áá±áá¬ááᯠáááºáá¶áááºáá±á¬ááºááá·áºá¡áá« SWAPGS ááœáŸááºááŒá¬ážáá»ááºááᯠááŸá áºááŒáááºáá±á«áºááá¯ááŒááºážá០ááŸá±á¬ááºááŸá¬ážááẠááá¯á·ááá¯áẠGS ááŸááºáá¯á¶áááºááŒááºážááŒá±á¬ááºážáá²ááŸá¯ áááá¯á¡ááºáá±á¬ áá¯ááºááᯠáá¯ááºáá±á¬ááºááá·áºá¡áá«á á á áºáá±ážáá»ááºáá áºáá¯ááŸáá·áº á¡ááŒá±á¡áá±ááá¯ááºáá¬áá¬áááœá²áá áºáá¯ááᯠááœáŸááºááŒá¬ážáá»ááºáááá¯ááºáá® áá¯ááºáá±á¬ááºáááºááŒá áºáááºá ááŸááºážááá»ááºáá¯ááºáá±á¬ááºááŸá¯á¡ááºáá»ááºááẠá á áºáá±ážááŸá¯ááááºááá¯áá á±á¬áá·áºáá² SWAPGS ááœáŸááºááŒá¬ážáá»ááºááŒáá·áº áá¯ááºááá¯áá¯ááºáá±á¬ááºááẠáááºááŒáœá áœá¬áá¯ááºáá±á¬ááºáá±ááŒá®áž ááœá±ážáá»ááºáá¬ážáá±á¬áá¬áááœá²ááᯠá¡áááºáááŒá¯áá«á ááááºááᯠá áœáá·áºáá áºáá«á ááá¯á·ááŒá±á¬áá·áº SWAPGS áá±á¬ááºááœááºááŸá¯ááœáẠááá«áááºááá·áº á¡ááá¯ááºážá¡áááºáá áºáá¯ááᯠááŸááºážáááœá±ážáá»ááºááá¯ááºáá±á¬á¡áá«ááœááºá ááá¯á·áá±á¬áº ááŸááºážááá¯ááºáá±á¬ááºááŸá¯á¡ááœááºáž GS ááŸááºáá¯á¶áááºááŒááºážáááºááá¯ážááᯠSWAPGS ááœáŸááºááŒá¬ážáá»ááºááŒáá·áº ááŒá±á¬ááºážáá²áááºááŒá áºááŒá®áž CPU áááºááŸáºááœááºá¡áá¯á¶ážáááºááá·áº ááŸá®ááá¯ááŸááºáá¬ááºáá¯ááºáá±á¬ááºááŸá¯áá»á¬ážááœáẠá¡áá¯á¶ážááŒá¯ááœá¬ážáááºááŒá áºáááºá
áá¯áá±áá®áá»á¬ážááẠexploit ááŸá±á·ááŒá±ážáá¯á¶á á¶áá»á¬ážááᯠááŒááºáááºáá¬ážááá·áºá¡ááœáẠááá¯ááºááá¯ááºááŸá¯á¡ááŒá±á¡áá±ááŸá áºáá¯ááᯠá¡ááá¯ááŒá¯áá²á·áááºá áááá¡ááŒá±á¡áá±ááŸá¬ SWAPGS ááœáŸááºááŒá¬ážáá»ááºááᯠááŸááºážááᬠáá¯ááºáá±á¬ááºááŒááºážáááŒá¯ááá·áº á¡ááŒá±á¡áá±á¡áá±á«áº á¡ááŒá±áá¶áá¬ážááŒá®áž áááºážááᯠá¡áá±á¬ááºá¡áááºáá±á¬áºáá¬ááœáẠá¡ááŸááºááááºá¡áá¯á¶ážááŒá¯áá±á¬áºáááºážá áá¯áááááŸá¬ SWAPGS ááœáŸááºááŒá¬ážáá»ááºááᯠá¡ááŸááºááááºáá¯ááºáá±á¬ááºááŒááºážáááŒá¯ááá·áºáá±á¬áºáááºáž ááŸááºážááá¬ážááá·áºá¡ááá¯ááºáž áá¯ááºáá±á¬ááºááá·áºá¡áá« ááá·áºáá»ááºáááºááŒá áºáááºá á¡ááŒá±á¡áá±áá áºáá¯á á®á¡ááœááºá á¡áá¯á¶ážáá»ááŒááºážá¡ááœáẠááœá±ážáá»ááºá áá¬ááŸá áºáá¯ááŸááááº- ááá¯ááºááá¯ááºáá°ááẠkernel á§áááá¬ááŸá áá®ážááŒá¬ážááááºá á¬áá áºáá¯ááœáẠáááºááá¯ážááᯠáá¯á¶ážááŒááºááá¯ááºááŒá®áž ááá¯ááºááá¯ááºáá°ááẠkernel ááŸá áá»áááºážááááºá á¬áá»á¬ážááœáẠáá®ážááŒá¬ážáááºááá¯ážáá áºáá¯ááᯠááŸá¬ááœá±ááá¯ááºáááºá ááá¯ááºááá¯ááºááŸá¯áá áºáá¯ááᯠáá¯ááºáá±á¬ááºááŒááºážááẠá¡áá»áááºááŒá¬ááŒáá·áºááŒá®áž áá±á«ááºááŒá¬ážááŸá¯ááᯠá¡ááŒá®ážáááºááẠáá¬áá®áá»á¬ážá áœá¬ ááá¯á¡ááºáá«áááºá
Linux kernel ááœáẠááŒá¿áá¬áá
áºáá¯ááŸááááºá
ááŒá¯ááŒááºááŸá¯ááẠáááºáá¶áá°á
áá
áºááŸáá·áº á§áá·áºáááºáááºáááºážáá»ááºááŸá
áºáá¯áá¯á¶ážááœáẠkernel á¡ááºááááºááᯠááá·áºááœááºážááẠááá¯á¡ááºááŒá®áž áááºážáá±á¬ááºááœáẠá
áá
áºááŒááºáááºá
áááºáááºá Linux ááœáẠáá¬ááœááºááŸá¯ááᯠááááºáááºá SWAPGS á¡á¬ážáááºážáá»ááºááᯠááááºááá¯á·ááẠá¡á
á®á¡áá¶áá»á¬ážááᯠááááºáá¬ážááá·áº "nospectre_v1" option ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáá«áááºá ááŒá¯ááŒááºááŸá¯á¡ááŒá
áºáááŸáááá¯ááºáááºá
Bitdefender ááŸáá¯áá±áá®áá»á¬ážáá¡ááá¯á¡á Intel áááºááááºááŸá áºááŒáá¯ááºáááœááºááŒá¿áá¬ááá¯á¡ááŒá±á¬ááºážááŒá¬ážáá²á·áááºá Microsoftá Google ááŸáá·áº Linux kernel ááá¯á·á០developer áá»á¬ážááẠfix á áá±á«ááºážá ááºáááºáá®ážááŸá¯ááœáẠáá«áááºáá²á·áá±á¬ ááŒá¿áá¬ááᯠáááá¯ááááºááŒáá·áº ááŒá±ááŸááºážááẠáá¯á¶ážááŒááºáá²á·áááºá á¡áá±á¬ááºážáá»á¬ážááŒá áºáá±á¬ Intel áááá¯áááºáá¬áá»á¬ážá pre-Ivy Bridge ááẠexploit ááœááºá¡áá¯á¶ážááŒá¯ááá·áº WrgSBASE ááœáŸááºááŒá¬ážáá»ááºá¡ááœáẠáá¶á·ááá¯ážááŸá¯áááŸáááŒááºážááŒá±á¬áá·áº ááá¯ááºááá¯ááºááẠááá¯ááá¯áááºáá²áá«áááºá ARMá POWERá SPARCá MIPS ááŸáá·áº RISC-V á áá áºáá»á¬ážááẠSWAPGS ááœáŸááºááŒá¬ážáá»ááºááᯠááá¶á·ááá¯ážáá±á¬ááŒá±á¬áá·áº ááŒá¿áá¬ááŒá±á¬áá·áº ááááá¯ááºááŸá¯áááŸááá«á
á¡ááá¯áá«ááŒá¿áá¬ááẠIntel áááá¯áááºáá¬áá»á¬ážáááá¯ááºááŸááºáá»á¬ážááá¯á¡áááá¡á¬ážááŒáá·áºá¡áá»áá¯ážáááºáá±á¬ááºááẠ-
AMD á
áá
áºáá»á¬ážááœááºá áá»áááºážáááºááá¯áá®á§áááá¬áá»á¬ážááŸá áá®ážááŒá¬ážáááºááá¯ážáá»á¬ážááá¯ááŸá¬ááœá±ááẠá¡áá¯á¶ážááŒá¯ááá¯ááºááá·áº GS ááŸááºáá¯á¶áááºááŒááºážá á¡ááŒá±áá¶áááºááá¯ážááᯠááŸááºážááá¯ááºáá±á¬ááºááŒááºážá¡ááœáẠááá·áºáááºáá¬ážááá·áº áá¯áááááá¯ááºááá¯ááºááŸá¯áá¬ááºáááºážááá¯áᬠááŒááºáááºáá¯ááºáá¯ááºááá¯ááºáá²á·áááºá á€ááá¯ááºááá¯ááºááŸá¯ááœá±ážáá»ááºááŸá¯ááᯠááááºááá¯á·áááº
source: opennet.ru