Google แž“แžนแž„แž•แŸ’แžแž›แŸ‹แž˜แžผแž›แž“แžทแž’แžทแžŠแž›แŸ‹แž€แžถแžšแž„แžถแžšแžŠแžพแž˜แŸ’แž”แžธแž€แŸ‚แž›แž˜แŸ’แžขแžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แž“แŸƒแžแžบแžŽแŸ‚แž›แž›แžธแž“แžปแž…

แž˜แžผแž›แž“แžทแž’แžทแž›แžธแž“แžปแž…แž”แžถแž“แž”แŸ’แžšแž€แžถแžŸแžแžถ Google แž”แžถแž“แž•แŸ’แžแž›แŸ‹แž˜แžผแž›แž“แžทแž’แžทแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž„แžถแžšแžŠแžพแž˜แŸ’แž”แžธแžšแž€แŸ’แžŸแžถแž™แž“แŸ’แžแž€แžถแžšแžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แž“แŸ…แž€แŸ’แž“แžปแž„แžแžบแžŽแŸ‚แž›แž›แžธแž“แžปแž… แž“แžทแž„แž–แž„แŸ’แžšแžนแž„แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แžแžบแžŽแŸ‚แž›แŸ” Gustavo Silva แž“แžทแž„ Nathan Chancellor แž“แžนแž„แžแŸ’แžšแžผแžœแž’แŸ’แžœแžพแž€แžถแžšแž–แŸแž‰แž˜แŸ‰แŸ„แž„แŸ”

Nathan แžแŸ’แžšแžผแžœแž”แžถแž“แž‚แŸแžŸแŸ’แž‚แžถแž›แŸ‹แžแžถแžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž„แžถแžšแžšแž”แžŸแŸ‹แž‚แžถแžแŸ‹แž€แŸ’แž“แžปแž„แž€แžถแžšแž’แžถแž“แžถแžแžถแžแžบแžŽแŸ‚แž›แž›แžธแž“แžปแž…แžแŸ’แžšแžผแžœแž”แžถแž“แžŸแžถแž„แžŸแž„แŸ‹แžŠแŸ„แž™แž”แŸ’แžšแžพแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž…แž„แž€แŸ’แžšแž„ Clang แž“แžทแž„แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž”แž‰แŸ’แž…แžผแž›แž™แž“แŸ’แžแž€แžถแžšแž€แžถแžšแž–แžถแžšแž–แŸแž›แžœแŸแž›แžถแž…แž„แž€แŸ’แžšแž„แžŠแžผแž…แž‡แžถ CFI (Control Flow Integrity) แž‘แŸ…แž€แŸ’แž“แžปแž„แž€แžถแžšแžŸแžถแž„แžŸแž„แŸ‹แŸ” แž€แžถแžšแž„แžถแžšแž“แžถแž–แŸแž›แžขแž“แžถแž‚แžแžšแž”แžŸแŸ‹ Nathan แž€แŸ’แž“แžปแž„แžŠแŸ†แžŽแžถแž€แŸ‹แž€แžถแž›แž‘แžธแž˜แžฝแž™แž“แžนแž„แž•แŸ’แžแŸ„แžแž›แžพแž€แžถแžšแž›แžปแž”แž”แŸ†แž”แžถแžแŸ‹แžšแžถแž›แŸ‹แž€แŸ†แž แžปแžŸแžŠแŸ‚แž›แž›แŸแž…แžกแžพแž„แž“แŸ…แž–แŸแž›แž”แŸ’แžšแžพ Clang/LLVM แž“แžทแž„แž€แžถแžšแžขแž“แžปแžœแžแŸ’แžแž”แŸ’แžšแž–แŸแž“แŸ’แž’แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž‡แžถแž”แž“แŸ’แžแž”แž“แŸ’แž‘แžถแž”แŸ‹แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž€แžถแžšแž’แŸ’แžœแžพแžแŸแžŸแŸ’แžแž€แžถแžšแžŸแŸ’แžแžถแž”แž“แžถแžŠแŸ‚แž›แž˜แžถแž“แž˜แžผแž›แžŠแŸ’แž‹แžถแž“แž›แžพ Clang แŸ” แž“แŸ…แž–แŸแž›แžŠแŸ‚แž›แž”แž‰แŸ’แž แžถแžŠแŸ‚แž›แž‚แŸแžŸแŸ’แž‚แžถแž›แŸ‹แžแŸ’แžšแžผแžœแž”แžถแž“แžŠแŸ„แŸ‡แžŸแŸ’แžšแžถแž™ แž€แžถแžšแž„แžถแžšแž“แžนแž„แž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แž”แž“แŸ’แžแŸ‚แž˜แž€แžถแžšแž–แž„แŸ’แžšแžนแž„แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แž”แž“แŸ’แžแŸ‚แž˜แžŠแŸ‚แž›แž•แŸ’แžแž›แŸ‹แžŠแŸ„แž™ Clang compiler แž‘แŸ…แž€แžถแž“แŸ‹แžแžบแžŽแŸ‚แž›แŸ”

Gustavo แž‚แžบแž‡แžถแžขแŸ’แž“แž€แž…แžผแž›แžšแžฝแž˜แžŸแž€แž˜แŸ’แž˜แž˜แŸ’แž“แžถแž€แŸ‹แž“แŸ…แž€แŸ’แž“แžปแž„แž‚แž˜แŸ’แžšแŸ„แž„ KSPP (Kernel Self Protection Project) แžŠแžพแž˜แŸ’แž”แžธแž›แžพแž€แž€แž˜แŸ’แž–แžŸแŸ‹แž”แž…แŸ’แž…แŸแž€แžœแžทแž‘แŸ’แž™แžถแž€แžถแžšแž–แžถแžšแžŸแž€แž˜แŸ’แž˜แž‘แŸ…แž€แŸ’แž“แžปแž„แžแžบแžŽแŸ‚แž›แž›แžธแž“แžปแž…แŸ” แž—แžถแžšแž€แžทแž…แŸ’แž…แž…แž˜แŸ’แž”แž„แžšแž”แžŸแŸ‹ Gustavo แž“แžนแž„แžแŸ’แžšแžผแžœแž›แžปแž”แž”แŸ†แž”แžถแžแŸ‹แž…แŸ„แž›แž“แžผแžœแžแŸ’แž“แžถแž€แŸ‹แž˜แžฝแž™แž…แŸ†แž“แžฝแž“แž“แŸƒ buffer overflows แžŠแŸ„แž™แž‡แŸ†แž“แžฝแžŸแž’แžถแžแžปแž‘แžถแŸ†แž„แžขแžŸแŸ‹แž“แŸƒแžขแžถแžšแŸแžŠแŸ‚แž›แž˜แžถแž“แž”แŸ’แžšแžœแŸ‚แž„แžŸแžผแž“แŸ’แž™ แžฌแž˜แžถแž“แž’แžถแžแžปแžแŸ‚แž˜แžฝแž™แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž”แŸ’แžšแž€แžถแžŸแžขแžถแžšแŸแž‚แŸ’แž˜แžถแž“แžœแžทแž˜แžถแžแŸ’แžš (แžŸแž˜แžถแž‡แžทแž€แžขแžถแžšแŸแžขแžถแž…แž”แžแŸ‹แž”แŸ‚แž“แž”แžถแž“)แŸ” แž›แžพแžŸแž–แžธแž“แŸแŸ‡แž‘แŸ€แž Gustavo แž“แžนแž„แž…แžผแž›แžšแžฝแž˜แž€แŸ’แž“แžปแž„แž€แžถแžšแž‡แžฝแžŸแž‡แžปแž›แž€แŸ†แž แžปแžŸแž“แŸ…แž€แŸ’แž“แžปแž„แž€แžผแžŠ แž˜แžปแž“แž–แŸแž›แžœแžถแž…แžผแž›แž‘แŸ…แž€แŸ’แž“แžปแž„แž•แŸ’แž“แŸ‚แž€แžŸแŸ†แžแžถแž“แŸ‹แž“แŸƒแžแžบแžŽแŸ‚แž› แž“แžทแž„แž”แž„แŸ’แž€แžพแžแž™แž“แŸ’แžแž€แžถแžšแž€แžถแžšแž–แžถแžšแžŸแž€แž˜แŸ’แž˜แž“แŸ…แž€แŸ’แž“แžปแž„แžแžบแžŽแŸ‚แž›แŸ”

แž”แŸ’แžšแž—แž–: opennet.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹