CFI เดธเด‚เดฐเด•เตเดทเดฃ เดธเด‚เดตเดฟเดงเดพเดจเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต Clang-เตฝ Linux เด•เต‡เตผเดฃเตฝ เดชเตเดจเตผเดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดชเดฐเต€เด•เตเดทเดฃเดพเดคเตเดฎเด• เดชเดฟเดจเตเดคเตเดฃ

ะšะตั ะšัƒะบ (Kees Cook), ะฑั‹ะฒัˆะธะน ะณะปะฐะฒะฝั‹ะน ัะธัะฐะดะผะธะฝ kernel.org ะธ ะปะธะดะตั€ Ubuntu Security Team, ะฝั‹ะฝะต ั€ะฐะฑะพั‚ะฐัŽั‰ะธะน ะฒ ะบะพะผะฟะฐะฝะธะธ Google ะฝะฐะด ะพะฑะตัะฟะตั‡ะตะฝะธะตะผ ะทะฐั‰ะธั‚ั‹ Android ะธ ChromeOS, เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏเดคเต เดชเดฐเต€เด•เตเดทเดฃเดพเดคเตเดฎเด• เดธเด‚เดญเดฐเดฃเดฟเดฏเดพเดฃเต ั ะฟะฐั‚ั‡ะฐะผะธ, ะฟะพะทะฒะพะปััŽั‰ะธะผะธ ัะพะฑั€ะฐั‚ัŒ ัะดั€ะพ ะดะปั ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ั‹ x86_64 ั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะตะผ ะบะพะผะฟะธะปัั‚ะพั€ะฐ Clang ะธ ะฐะบั‚ะธะฒะฐั†ะธะตะน ะผะตั…ะฐะฝะธะทะผะฐ ะทะฐั‰ะธั‚ั‹ CFI (Control Flow Integrity). CFI ะพะฑะตัะฟะตั‡ะธะฒะฐะตั‚ ะฒั‹ัะฒะปะตะฝะธะต ะฝะตะบะพั‚ะพั€ั‹ั… ั„ะพั€ะผ ะฝะตะพะฟั€ะตะดะตะปั‘ะฝะฝะพะณะพ ะฟะพะฒะตะดะตะฝะธั, ะบะพั‚ะพั€ั‹ะต ะฟะพั‚ะตะฝั†ะธะฐะปัŒะฝะพ ะผะพะณัƒั‚ ะฟั€ะธะฒะตัั‚ะธ ะบ ะฝะฐั€ัƒัˆะตะฝะธัŽ ะฝะพั€ะผะฐะปัŒะฝะพะณะพ ะฟะพั‚ะพะบะฐ ัƒะฟั€ะฐะฒะปะตะฝะธั (control flow) ะฒ ั€ะตะทัƒะปัŒั‚ะฐั‚ะต ะฒั‹ะฟะพะปะฝะตะฝะธั ัะบัะฟะปะพะธั‚ะพะฒ.

ะะฐะฟะพะผะฝะธะผ, ั‡ั‚ะพ ะฒ LLVM 9 ะฑั‹ะปะธ ะฒะบะปัŽั‡ะตะฝั‹ ะธะทะผะตะฝะตะฝะธั, ะฝะตะพะฑั…ะพะดะธะผั‹ะต ะดะปั ัะฑะพั€ะบะธ ัะดั€ะฐ Linux ั ะธัะฟะพะปัŒะทะพะฒะฐะฝะธะตะผ Clang ะดะปั ัะธัั‚ะตะผ ั ะฐั€ั…ะธั‚ะตะบั‚ัƒั€ะพะน x86_64. ะŸั€ะพะตะบั‚ั‹ Android ะธ ChromeOS ัƒะถะต ะฟั€ะธะผะตะฝััŽั‚ Clang ะดะปั ัะฑะพั€ะบะธ ัะดั€ะฐ ะธ Google ั‚ะตัั‚ะธั€ัƒะตั‚ Clang ะฒ ะบะฐั‡ะตัั‚ะฒะต ะพัะฝะพะฒะฝะพะน ะฟะปะฐั‚ั„ะพั€ะผั‹ ะดะปั ัะฑะพั€ะบะธ ัะดะตั€ ะดะปั ัะฒะพะธั… ั€ะฐะฑะพั‡ะธั… Linux-ัะธัั‚ะตะผ. ะ’ะฐั€ะธะฐะฝั‚ั‹ ัะดั€ะฐ, ัะพะฑะธั€ะฐะตะผั‹ะต ะฟั€ะธ ะฟะพะผะพั‰ะธ Clang, ั‚ะฐะบะถะต ั€ะฐะทะฒะธะฒะฐัŽั‚ ะฟั€ะพะตะบั‚ั‹ เดฒเดฟเดจเดพเดฐเต‹ ะธ เด•เตเดฐเต‹เดธเต.

เด…เดตเดฒเด‚เดฌเด‚: opennet.ru

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•