Google Linux เจ•เจฐเจจเจฒ เจฆเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจจเฉ‚เฉฐ เจฌเจฟเจนเจคเจฐ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ•เฉฐเจฎ เจจเฉ‚เฉฐ เจซเฉฐเจก เจฆเฉ‡เจตเฉ‡เจ—เจพ

ะžั€ะณะฐะฝะธะทะฐั†ะธั 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

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹