University of Illinois á០áá¯áá±áá®á¡ááœá²á·áá áºááœá²á·ááẠIntel áááá¯áááºáá¬áá»á¬ážá Ring Interconnect ááŸáááá·áº ááááºážáá±á«ááºááŒá¬ážááŸá¯ááᯠááááºážáá»á¯ááºááá¯ááºááá·áº áá±ážááœááºáá»ááºáááºááá¯ááºááá¯ááºááŸá¯áááºážááá¬ááᯠáá®ááœááºáá²á·áááºá ááá¯ááºááá¯ááºááŸá¯ááẠááá·áºá¡á¬áž á¡ááŒá¬ážá¡ááá®áá±ážááŸááºážáá áºáá¯ááœáẠááŸááºáá¬ááºá¡áá¯á¶ážááŒá¯ááŸá¯ááá¯ááºáᬠá¡áá»ááºá¡áááºááᯠáá®ážáá±á¬ááºážááá¯ážááŒááá¯ááºááŒá®áž áá±á¬á·áááºáá»áááºááá¯ááºá¡áá»ááºá¡áááºááᯠááŒá±áá¬áá¶ááá¯ááºá á±áááºááŒá áºáááºá áá¯áá±áá®áá»á¬ážááẠáááºá ááºááá¯ááºážáá¬ááŸá¯áá»á¬áž áá¯ááºáá±á¬ááºááẠáááááá¬áá»á¬ážááŸáá·áº ááŸá±á·ááŒá±ážáá¯á¶á ᶠá¡áá¯á¶ážáá»ááŸá¯áá»á¬ážá áœá¬ááᯠáá¯ááºáá±áá²á·áááºá
ááœáá·áºááŒá¯ááá·áº á¡ááŒááºáá¯ááºááŸá¯ áá¯á¶ážáá¯ááᯠá¡ááá¯ááŒá¯áá¬ážáááºá
- áá±ážááœááºáá»ááºááẠááá¯ááºááá¯ááºááŸá¯áá»á¬ážááᯠáá¶ááá¯ááºáááºááŸááá±á¬ RSA ááŸáá·áº EdDSA á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯áá±á¬á¡áá« (ááœááºáá»ááºááŸá¯ááŸá±á¬áá·áºááŸá±ážááŸá¯áá»á¬ážááẠáá±áá¬ááᯠáá¯ááºáá±á¬ááºáá±ááá·áºá¡áá±á«áº áá°áááºáá»áŸááº) áá áºáááºážáááºážááŒáá·áº ááŒááºáááºááá°áá«á á¥ááá¬á¡á¬ážááŒáá·áºá EdDSA á á¡á ááŒá¯ááŒááºážááá¯ááºáᬠá¡á¬ážáááºážáá»áẠ(nonce) ááŸáá·áºáááºáááºááá·áº á¡áá»ááºá¡áááºáá«ááŸááá±á¬ áá áºáá áºáá¯áá»ááºážá á®á áá±á«ááºááŒá¬ážááŸá¯ááẠáá®ážááá·áºáá±á¬á·áá áºáá¯áá¯á¶ážááᯠáááºááá¯ááºááŒááºáááºááá°áááºá¡ááœáẠááá¯ááºááá¯ááºááŸá¯áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááẠáá¯á¶áá±á¬ááºáá«áááºá ááá¯ááºááá¯ááºááŸá¯ááẠáááºááœá±á·ááœáẠá¡áá±á¬ááºá¡áááºáá±á¬áºááẠáááºáá²ááŒá®áž ááŒáá¯áááºááŸá¬áá°ááŸá¯ á¡áá»á¬ážá¡ááŒá¬ážááŒáá·áº áá±á¬ááºááœááºááá¯ááºáááºá á¥ááá¬á¡á¬ážááŒáá·áºá SMT (HyperThreading) ááá¯ááááºáá¬ážááŒá®áž CPU cores áá»á¬ážááŒá¬ážááœáẠLLC cache ááᯠá¡ááá¯ááºážááá¯ááºážááœá²áá¬ážááá·áºá¡áá« á¡á±á¬ááºááŒááºáá±á¬áá¯ááºáá±á¬ááºááŸá¯ááᯠááŒááááºá
- áá±á¬á·áááºááŒááºážáá»á¬ážááŒá¬áž ááŸá±á¬áá·áºááŸá±ážááŸá¯áá»á¬ážá¡ááŒá±á¬ááºáž ááá·áºáááºáá»ááºáá»á¬ážááᯠáááºááŸááºáá«á ááŸá±á¬áá·áºááŸá±ážááŸá¯áá»á¬ážááẠáá±á¬á·áá»á¬ážá á¡áá±á¡áá¬ážá¡áá±á«áº áá°áááºááŒá®áž ááááºážááááºážááá¯ááºáᬠááœá²ááŒááºážá áááºááŒá¬ááŸá¯ááŸáá áºááá·áº áá®ážáá¯ááºá០áááºáá±á¬ááºáá¬áá±á¬ áá±áá¬áá»á¬ážááᯠááŒá áºááá¯ááºááŒá±á¡áá»áá¯á·ááŒáá·áº ááŒááºáááºáááºáá®ážááœáá·áºááŒá¯ááẠ(á¥ááá¬á áá°á¡áá»á¬ážá á¯ááẠáá»á¬ážáá±á¬á¡á¬ážááŒáá·áº âsâ ááŒá®ážáá±á¬áẠâaâ ááŒá®ážáá±á¬áẠâgâ ááẠáá»á¬ážá áœá¬ááá¯ááŒááºáááºá âáá»á¬ážâ)á
- áá»áŸáá±áá¬ážáá±á¬ááŸááºáá¬ááºá áááá¯áááºáᬠáááºááŸáºááŸáá·áº CPU core-specific á¡áááºážá¡ááŒá áºáá»á¬ážááŸáá·áº áááá¯áááºáá¬áááºáá±á¬ááºáá¯á¶áá»á¬ážááᯠá¡áá¯á¶ážáááŒá¯áá±á¬ áá áºá áá¹ááá·áºáá»áŸáẠ4 megabits á¡ááŒááºááŸá¯ááºážááŒáá·áº áá¯ááºáááºážá ááºáá»á¬ážá¡ááŒá¬áž áá±áá¬ááœáŸá²ááŒá±á¬ááºážááẠáá»áŸáá¯á·ááŸááºáááºááœááºáá±ážáááºážááŒá±á¬ááºážááᯠá á¯á ááºážáá«á áá»áŸáá¯á·ááŸááºáá»ááºáááºáá áºáá¯áááºáá®ážááẠá¡ááá¯ááŒá¯áá¬ážáá±á¬áááºážáááºážááẠáá±ážáá»ááºáááºááá¯ááºááá¯ááºááŸá¯áá»á¬ážááᯠáá¬ááœááºááá·áº áááºááŸááááºážáááºážáá»á¬ážááŒáá·áº ááááºááá¯á·ááẠá¡ááœááºáááºáá²ááŒá±á¬ááºáž ááŸááºáá¬ážááá«áááºá
á¡ááŒááºáá¯ááºááŸá¯áá»á¬ážááẠááŒáá·áºáá¬ážáá±á¬á¡ááœáá·áºá¡áá±ážáá»á¬ážáááá¯á¡ááºáá² áá¬áá¬ááºá á¡ááœáá·áºáá°ážááá¶áá±á¬á¡áá¯á¶ážááŒá¯áá°áá»á¬áž á¡áá¯á¶ážááŒá¯ááá¯ááºáááºá ááá¯ááºááá¯ááºááŸá¯ááẠvirtual machines áá»á¬ážá¡ááŒá¬áž áá±áá¬áá±á«ááºááŒá¬ážááŸá¯ááᯠá á¯á ááºážááẠááá¯ááºáá»á±á¬áá®ááœá±ááŒá áºá á±ááá¯ááºáááºáᯠááŸááºáá¬ážáá¬ážáá±á¬áºáááºáž á€ááŒá¿áá¬ááẠáá±á·áá¬ááŸá¯áááºáááºáá»á±á¬áºááœááºááŒá®áž virtualization á áá áºáá»á¬ážááᯠá ááºážáááºááŒááºážáááŒá¯áá²á·áá«á á¡ááá¯ááŒá¯áá¬ážáá±á¬áá¯ááºááᯠUbuntu 7 ááŸá Intel i9700-16.04 CPU ááœáẠá ááºážáááºáá²á·áááºá áá±áá¯áá»á¡á¬ážááŒáá·áºá ááá¯ááºááá¯ááºááŸá¯áááºážáááºážááᯠIntel Coffee Lake ááŸáá·áº Skylake áááá¬ážá á¯á០desktop áááá¯áááºáá¬áá»á¬ážááœáẠá ááºážáááºáá¬ážááŒá®áž Broadwell áááá¬ážá á¯á០Xeon áá¬áá¬áááá¯áááºáá¬áá»á¬ážááŸáá·áºáááºáž á¡áá¯á¶ážááŒá¯ááá¯ááºáááºááŒá áºáááºá
Ring Interconnect áááºážááá¬ááẠSandy Bridge microarchitecture ááá¯á¡ááŒá±áá¶á áááá¯áááºáá¬áá»á¬ážááœáẠáá±á«áºáá¬ááŒá®áž ááœááºááŒá°áá¬ááŸáá·áº ááááºáá ẠCore áá»á¬ážá áá¬áá¬áá¶áá¬ážááŸáá·áº áááºááŸáºááá¯á·ááᯠáá»áááºáááºáá¬ááœáẠá¡áá¯á¶ážááŒá¯ááá·áº ááœááºážáááºáááºá áºáá»á¬ážá áœá¬ áá«áááºáááºá ááá¯ááºááá¯ááºááŸá¯áááºážáááºážá á¡ááŸá áºáá¬áááŸá¬ ring bus bandwidth ááá·áºáááºáá»ááºááŒá±á¬áá·áº áá¯ááºáááºážá ááºáá áºáá¯ááœáẠmemory operations ááẠá¡ááŒá¬ážáá±á¬ process á memory ááá¯á· áááºáá±á¬ááºááẠááŸá±á¬áá·áºááŸá±ážáá±ááŒááºážáááºááŒá áºáááºá á¡áá±á¬ááºá¡áááºáá±á¬áºááŸá¯á¡áá±ážá áááºá¡áá»ááºá¡áááºáá»á¬ážááᯠááŒá±á¬ááºážááŒááºá¡ááºáá»ááºáá®áá¬ááŒáá·áº ááœá²ááŒá¬ážáááºááŸááºááŒááºážááŒáá·áºá ááá¯ááºááá¯ááºáá°áá áºáŠážááẠá¡ááŒá¬ážáá¯ááºáááºážá ááºááœáẠááŸááºáá¬ááºáááºáá±á¬ááºááŸá¯ááŸá±á¬áá·áºááŸá±ážá á±ááá·áºáááºááᯠáá¯ááºáá±ážááá¯ááºááŒá®áž ááŸá±á¬áá·áºááŸá±ážááŸá¯áá»á¬ážááᯠááááºážá¡áá»ááºá¡áááºááá°ááẠáá±ážááœááºáá»ááºáááºáá áºáá¯á¡ááŒá Ạá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá
á¡ááœááºážááá¯ááºáž CPU áááºá áºáá¬ážáá»á¬ážááᯠááá¯ááºááá¯ááºááŸá¯áá»á¬ážááẠáááºá áºáá¬ážá áááºáá±á¬ááºáá¯á¶ááŸáá·áº áááºáááºááŸá¯áááºážáááºážáá»á¬ážá¡ááŒá±á¬ááºáž ááááºážá¡áá»ááºá¡ááẠáááºážáá«ážááŒááºážá¡ááŒáẠá¡áá¯á¶ážáááºáá±á¬ á¡áá»ááºá¡áááºáá»á¬ážááᯠáá®ážááŒá¬ážááœá²áá¯ááºááẠáááºáá²á á±ááá·áº áá°áá¶áá¶áá»á¬áž ááŒáá·áºáá¬ážááŒááºážááŒá±á¬áá·áºáááºáž á¡ááŸá±á¬áá·áºá¡ááŸáẠááŒá áºá á±áá«áááºá áááºá áºáá¬ážááŸáááá·áº áá±áá¬áá±ážááá¯á·áá¬ááœáẠá¡áá¯á¶ážááŒá¯ááá·áº áááá¯ááá¯áá±á¬áá»á¬ážá ááŒá±á¬ááºážááŒááºá¡ááºáá»ááºáá®áá¬ááŸáá áºááá·áº áááºá áºáá¬ážá áááºáááºááŸá¯á¡ááŒá±áá¶áá°áá»á¬ážááᯠáá¬ážáááºááá¯ááºáá²á·áááºá á ááºáááºáá°ááŸá¯áááºážáááºážáá»á¬ážááá¯á¡ááŒá±áá¶á á¡áá¯á¶ážáááºáá±á¬á¡áá»ááºá¡áááºáá»á¬ážááᯠáá°áá¶áá¶ááŸáá·áº ááœá²ááŒá¬ážááẠáá±áá¬á¡áá»áá¯ážá¡á á¬ážááœá²ááŒá¬ážááŸá¯áá¯á¶á á¶ááᯠá¡áá¯á¶ážááŒá¯áá²á·áááºá á¡ááá¯ááŒá¯áá¬ážáá±á¬ áá±á¬áºáááºááẠáááá»áá±á¬áá¯ááºáááºážá ááºáá áºáá¯ááœáẠááœááºáá»ááºááŸá¯áá»á¬ážá¡ááœááºáž ááŸá±á¬áá·áºááŸá±ážááŸá¯áá»á¬ážááᯠá á±á¬áá·áºááŒáá·áºááẠá á®áá¶ááá¯ááºá á±áá¬á áá¯ááºáááºážá ááºáá»á¬ážá áœá¬ááẠááŸááºáá¬ááºááᯠáá áºááŒáá¯ááºáááºáááºáá±á¬ááºááŒá®áž á¡áá»áá¯á·áá±á¬ á¡á áááºá¡ááá¯ááºážááᯠáááá¯áááºáᬠáááºááŸáºáá»á¬ážá០áá±áá¬áá»á¬áž ááŒááºáá±ážááá·áºá¡áá«ááœáẠá á¯á ááºážááá¯ááºá á±áááºá
ááá¯á·á¡ááŒááºá Linux á
áá
áºáá»á¬ážááᯠááá¯ááºááá¯ááºá
áẠSpectre vulnerability (CVE-2017-5753) á ááááá°ááœá²á¡ááœáẠexploit á¡áá¯á¶ážááŒá¯ááŒááºážá ááŒá±áá¬áá»á¬áž áá±á¬áºáá¯ááºááŒááºážááᯠáá»áœááºá¯ááºááá¯á· ááŸááºáá¬ážááá¯ááºáá«áááºá exploit ááẠmemory ááŸá superblock áá
áºáá¯ááá¯ááŸá¬ááœá±áááºá /etc/shadow file á inode ááá¯áá¯á¶ážááŒááºáááºááŸáá·áº disk cache ááŸááá¯ááºááá¯ááŒááºáááºááá°áááºá¡ááœáẠmemory page address ááá¯ááœááºáá»ááºááẠside-channel information ááá¯á
ááá·áºááŸá¯ááá¯á¡áá¯á¶ážááŒá¯áááºá
source: opennet.ru