ΠΠΈΡ ΠΡΠΊ, ΠΏΠΎΡΠ°Π½Π΅ΡΠ΅Π½ Π³Π»Π°Π²Π΅Π½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π½Π° kernel.org ΠΈ Π»ΠΈΠ΄Π΅Ρ Π½Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΠ½ΠΈΠΎΡ ΡΠΈΠΌ Π½Π° Ubuntu, ΡΠ΅Π³Π° ΡΠ°Π±ΠΎΡΠΈ Π²ΠΎ Google Π·Π° Π΄Π° Π³ΠΈ ΠΎΠ±Π΅Π·Π±Π΅Π΄ΠΈ Android ΠΈ ChromeOS, ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ΠΈ Π΅ΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»Π΅Π½ ΡΠΊΠ»Π°Π΄ΠΈΡΡΠ΅ ΡΠΎ Π·Π°ΠΊΡΠΏΠΈ ΠΊΠΎΠΈ Π²ΠΈ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Π°Ρ Π΄Π° ΠΈΠ·Π³ΡΠ°Π΄ΠΈΡΠ΅ ΠΊΠ΅ΡΠ½Π΅Π» Π·Π° Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΠ°ΡΠ° x86_64 ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Π³ΠΎ ΠΊΠΎΠΌΠΏΠ°ΡΠ»Π΅ΡΠΎΡ Clang ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΡΠΈ Π³ΠΎ Π·Π°ΡΡΠΈΡΠ½ΠΈΠΎΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·Π°ΠΌ CFI (Control Flow Integrity). CFI ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π° ΠΎΡΠΊΡΠΈΠ²Π°ΡΠ΅ Π½Π° ΠΎΠ΄ΡΠ΅Π΄Π΅Π½ΠΈ ΡΠΎΡΠΌΠΈ Π½Π° Π½Π΅Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π½ΠΎ ΠΎΠ΄Π½Π΅ΡΡΠ²Π°ΡΠ΅ ΡΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΡΠ°Π»Π½ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° Π΄ΠΎΠ²Π΅Π΄Π΅ Π΄ΠΎ Π½Π°ΡΡΡΡΠ²Π°ΡΠ΅ Π½Π° Π½ΠΎΡΠΌΠ°Π»Π½ΠΈΠΎΡ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Π½ ΡΠ΅ΠΊ ΠΊΠ°ΠΊΠΎ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ Π½Π° Π΅ΠΊΡΠΏΠ»ΠΎΠ°ΡΠΈΡΠ°ΡΠ°.
ΠΠΎΡΡΠ΅ΡΠΈΠΌΠ΅ Π΄Π΅ΠΊΠ° Π²ΠΎ LLVM 9 ΠΠΊΠ»ΡΡΠ΅Π½ΠΈ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π΅ΠΎΠΏΡ
ΠΎΠ΄Π½ΠΈ Π·Π° Π΄Π° ΡΠ΅ ΠΈΠ·Π³ΡΠ°Π΄ΠΈ ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ Π½Π° ΠΠΈΠ½ΡΠΊΡ ΠΊΠΎΡΠΈΡΡΠ΅ΡΡΠΈ Clang Π½Π° ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ x86_64. ΠΡΠΎΠ΅ΠΊΡΠΈΡΠ΅ Π·Π° Android ΠΈ ChromeOS ΡΠ΅ Π²Π΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ²Π°Π°Ρ Clang Π·Π° Π³ΡΠ°Π΄Π΅ΡΠ΅ ΠΊΠ΅ΡΠ½Π΅Π» ΠΈ Google Π³ΠΎ ΡΠ΅ΡΡΠΈΡΠ°Π°Ρ Clang ΠΊΠ°ΠΊΠΎ Π³Π»Π°Π²Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Π³ΡΠ°Π΄Π΅ΡΠ΅ ΠΊΠ΅ΡΠ½Π΅Π»ΠΈ Π·Π° ΡΠ²ΠΎΠΈΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ Linux ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠ°ΡΠΈΡΠ°Π½ΡΠΈΡΠ΅ Π½Π° ΠΊΠ΅ΡΠ½Π΅Π»ΠΎΡ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ ΡΠΎ ΡΠΏΠΎΡΡΠ΅Π±Π° Π½Π° Clang ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ°Π·Π²ΠΈΠ²Π°Π°Ρ ΠΏΡΠΎΠ΅ΠΊΡΠΈ ΠΠΈΠ½Π°ΡΠΎ ΠΈ Cros.
ΠΠ·Π²ΠΎΡ: opennet.ru