ΠΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Linux Foundation ΠΎΠ±ΡΡΠ²ΠΈΠ»Π° ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Google ΡΠΈΠ½Π°Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π·Π°ΡΠΈΡΡ Π² ΡΠ΄ΡΠ΅ Linux ΠΈ ΡΡΠΈΠ»Π΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ ΡΠ΄ΡΠ°. Π ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΡΠ°Π±ΠΎΡΠ΅Π³ΠΎ Π΄Π½Ρ Π±ΡΠ΄ΡΡ ΡΡΡΠ΄ΠΎΡΡΡΡΠΎΠ΅Π½Ρ ΠΡΡΡΠ°Π²ΠΎ Π‘ΠΈΠ»ΡΠ²Π° (Gustavo Silva) ΠΈ ΠΠ°ΡΠ°Π½ Π§Π΅Π½ΡΠ»ΠΎΡ (Nathan Chancellor).
ΠΠ°ΡΠ°Π½ ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΠ²ΠΎΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠΎΠΉ ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ΄ΡΠ° Linux Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ° Clang ΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈ ΡΠ±ΠΎΡΠΊΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π·Π°ΡΠΈΡΡ Π½Π° ΡΡΠ°ΠΏΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ CFI (Control Flow Integrity). ΠΠ°Π»ΡΠ½Π΅ΠΉΡΠ°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΠ°ΡΠ°Π½Π° Π½Π° ΠΏΠ΅ΡΠ²ΠΎΠΌ ΡΡΠ°ΠΏΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΎΡΡΠ΅Π΄ΠΎΡΠΎΡΠ΅Π½Π° Π½Π° ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠΈ Π²ΡΠ΅Ρ ΠΎΡΠΈΠ±ΠΎΠΊ, Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΡ ΠΏΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Clang/LLVM, ΠΈ Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠΈ ΡΠΈΡΡΠ΅ΠΌΡ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ Π΄Π»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ±ΠΎΡΠΎΠΊ Π½Π° Π±Π°Π·Π΅ Clang. ΠΠΎΠ³Π΄Π° ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Π±ΡΠ΄ΡΡ ΡΠ΅ΡΠ΅Π½Ρ Π½Π°ΡΠ½ΡΡΡΡ ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΡ Π² ΡΠ΄ΡΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΡΡΠΈΠ»Π΅Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠΎΠΌ Clang.
ΠΡΡΡΠ°Π²ΠΎ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π°ΠΊΡΠΈΠ²Π½ΡΡ
ΡΡΠ°ΡΡΠ½ΠΈΠΊΠΎΠ² ΠΏΡΠΎΠ΅ΠΊΡΠ° KSPP (Kernel Self Protection Project) ΠΏΠΎ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π² ΡΠ΄ΡΠΎ Linux ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π·Π°ΡΠΈΡΡ. ΠΠ»Π°Π²Π½ΠΎΠΉ Π·Π°Π΄Π°ΡΠ΅ΠΉ ΠΡΡΡΠ°Π²ΠΎ ΡΡΠ°Π½Π΅Ρ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ
ΠΊΠ»Π°ΡΡΠΎΠ² ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ Π±ΡΡΠ΅ΡΠ°, ΠΏΡΡΡΠΌ Π·Π°ΠΌΠ΅Π½Ρ Π²ΡΠ΅Ρ
ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², ΠΈΠΌΠ΅ΡΡΠΈΡ
Π½ΡΠ»Π΅Π²ΡΡ Π΄Π»ΠΈΠ½Ρ ΠΈΠ»ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ
ΡΠΎΠ»ΡΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΡΠ»Π΅ΠΌΠ΅Π½Ρ, Π½Π° Π±Π΅Π·ΡΠ°Π·ΠΌΠ΅ΡΠ½ΠΎΠ΅ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² (Flexible Array Member). ΠΠΎΠΌΠΈΠΌΠΎ ΡΡΠΎΠ³ΠΎ ΠΡΡΡΠ°Π²ΠΎ Π±ΡΠ΄Π΅Ρ Π·Π°Π½ΠΈΠΌΠ°ΡΡΡΡ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΠΊΠΎΠ΄Π΅, ΠΏΠ΅ΡΠ΅Π΄ Π΅Π³ΠΎ ΠΏΠΎΠΏΠ°Π΄Π°Π½ΠΈΠ΅ΠΌ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΉ ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ°, ΠΈ ΡΠ°Π·Π²ΠΈΡΠΈΠ΅ΠΌ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π°ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π·Π°ΡΠΈΡΡ Π² ΡΠ΄ΡΠ΅.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru