ΠΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡ ΠΠ°Π»ΠΈΡΠΎΡΠ½ΠΈΠΉΡΠΊΠΈΡ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅Ρ Π² Π‘Π°Π½ ΠΠΈΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΡ Π° Π½ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ Π·Π° Π°ΡΠ°ΠΊΠ° Π²ΡΡΡ Ρ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΠΈΡΠ΅ ΡΡΡΡΠΊΡΡΡΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠΈΡΠ΅ Intel, ΠΏΡΠΈΠ»ΠΎΠΆΠΈΠΌ ΡΡΠ΅Π΄ Π΄ΡΡΠ³ΠΎΡΠΎ Π·Π° CPU, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΈΡΠ΅ Raptor Lake ΠΈ Alder Lake. ΠΡΠ°ΠΊΠ°ΡΠ°, Π½ΠΎΡΠ΅ΡΠ° ΠΊΠΎΠ΄ΠΎΠ²ΠΎ ΠΈΠΌΠ΅ Indirector, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΡΠΎΠΌΡΠ½Π° Π² Ρ ΠΎΠ΄Π° Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π² Π΄ΡΡΠ³ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ Π½Π° Π΄ΡΡΠ³ΠΈ Π½ΠΈΠ²Π° Π½Π° ΠΏΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠ΄ΡΠΎΡΠΎ ΠΈΠ»ΠΈ Π΄ΡΡΠ³Π° Π²ΠΈΡΡΡΠ°Π»Π½Π° ΠΌΠ°ΡΠΈΠ½Π°), ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π°Π½ΠΈ Π² Π΅Π΄ΠΈΠ½ ΠΏΠΎΡΠΎΠΊ CPU Ρ ΠΊΠΎΠ΄Π° Π½Π° Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ. Π Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΡ Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ ΠΏΡΠΎΡΠΎΡΠΈΠΏ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠΈΡ, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π½Π° Π°Π΄ΡΠ΅ΡΠΈΡΠ΅ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° Π·Π°ΡΠΈΡΠ° ASLR (Address Space Layout Randomization). ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ MIT Π΅ ΠΏΡΠ±Π»ΠΈΠΊΡΠ²Π°Π½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠΌ, ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ Π·Π° Π°Π½Π°Π»ΠΈΠ· ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½Π°ΡΠ° Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° CPU.
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈ ΡΠ° Π΄Π²Π° ΠΌΠ΅ΡΠΎΠ΄Π° Π·Π° ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π°ΡΠ°ΠΊΠ°ΡΠ°. ΠΡΡΠ²ΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π΅ Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° ΠΈΠ·ΠΊΡΠΈΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π±ΡΡΠ΅ΡΠ° Π·Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΡΠ²Π΅Π½ΠΈ ΠΏΡΠ΅Ρ ΠΎΠ΄ΠΈ IBP (Indirect Branch Predictor), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ Π·Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΡΠ²Π΅Π½ΠΈ ΠΏΡΠ΅Ρ ΠΎΠ΄ΠΈ Π² ΡΡΠ»ΠΎΠ²ΠΈΡ, ΠΊΠΎΠ³Π°ΡΠΎ Π°Π΄ΡΠ΅ΡΡΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΠΏΡΠ΅Ρ ΠΎΠ΄Π° Π²ΡΠ΅ ΠΎΡΠ΅ Π½Π΅ ΡΠ° ΠΈΠ·Π²Π΅ΡΡΠ½ΠΈ ΠΈ ΡΠ΅ ΠΈΠ·ΡΠΈΡΠ»ΡΠ²Π°Ρ Π² ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅, ΠΏΡΠ΅Π΄ΡΠ΅ΡΡΠ²Π°ΡΠΈ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡΡΠ° Π·Π° ΠΏΡΠ΅Ρ ΠΎΠ΄. ΠΡΠΎΡΠΈΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΡΠ΅ ΠΎΡΠ½Π°ΡΡ Π΄ΠΎ Π±ΡΡΠ΅ΡΠ° Π·Π° ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Ρ ΠΎΠ΄ΠΈΡΠ΅ BTB (Branch Target Buffer), ΡΡΠ΄ΡΡΠΆΠ°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΡΠ΅Ρ ΠΎΠ΄ΠΈ.


ΠΡΠΊΡΠΈΡΠΈΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π΄Π°Π²Π°Ρ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π½Π° Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡ Π΄Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° Π·Π°ΠΏΠΈΡΠΈΡΠ΅ Π² Π±ΡΡΠ΅ΡΠΈΡΠ΅ IBP ΠΈ BTB, ΠΊΠΎΠΈΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Ρ Π°Π΄ΡΠ΅ΡΠΈΡΠ΅ Π½Π° ΠΏΡΠ΅Ρ
ΠΎΠ΄ΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΈ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΠΈΠ·Π²ΡΡΡΠΈ ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»Π΅Π½ Π°Π΄ΡΠ΅Ρ Π½Π° ΠΏΡΠ΅Ρ
ΠΎΠ΄Π° Π² ΡΠ°Π±Π»ΠΈΡΠΈΡΠ΅ Ρ Π΄Π°Π½Π½ΠΈ Π½Π° Π±ΡΡΠ΅ΡΠΈΡΠ΅. Π ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π°ΡΠ°ΠΊΡΠ²Π°ΡΠΈΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΡΡΠΈΠ³Π½Π΅ ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΡΠΎΠΊΠ° Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ ΠΊΡΠΌ ΠΆΠ΅Π»Π°Π½ΠΈΡ Π°Π΄ΡΠ΅Ρ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅. Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π±ΡΠ΄Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΎ Π³ΡΠ΅ΡΠ½ΠΎΡΠΎ ΠΏΡΠ΅Π΄ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅, ΡΠ΅Π·ΡΠ»ΡΠ°ΡΡΡ ΠΎΡ ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΎΡΡ
Π²ΡΡΠ»Π΅Π½, Π½ΠΎ Π°Π΄ΡΠ΅ΡΠΈΡΠ΅ ΠΈ Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΏΡΠΎΡΠ΅ΡΠ΅Π½ΠΈ ΠΎΡ ΠΏΠ°ΠΌΠ΅ΡΡΠ° ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠΏΠ΅ΠΊΡΠ»Π°ΡΠΈΠ²Π½ΠΎΡΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, ΡΠ΅ ΠΎΡΡΠ°Π½Π°Ρ Π² ΠΊΠ΅ΡΠ° ΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈ, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ Π΅Π΄ΠΈΠ½ ΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΊΠ΅ΡΠ°, ΠΎΡΠ½ΠΎΠ²Π°Π½ Π½Π° Π°Π½Π°Π»ΠΈΠ·Π° Π½Π° ΠΏΡΠΎΠΌΡΠ½Π°ΡΠ° Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΈ Π½Π΅ ΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ Π΄Π°Π½Π½ΠΈ. ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΡΠΎΡΠ½ΠΈΡΠ΅ Π°Π΄ΡΠ΅ΡΠΈ Π½Π° ΠΊΠΎΡΠ²Π΅Π½ΠΈΡΠ΅ ΠΏΡΠ΅Ρ
ΠΎΠ΄ΠΈ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° Π·Π°ΡΠΈΡΠ° ASLR.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
