Linux เด•เต‡เตผเดฃเตฝ เดชเดฐเดฟเดฐเด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต Huawei เดœเต€เดตเดจเด•เตเด•เดพเดฐเตป เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเดšเตเดš เดชเดพเดšเตเดšเตเด•เดณเดฟเดฒเต† เดธเตเดฐเด•เตเดทเดพ เดชเตเดฐเดถเตเดจเด™เตเด™เตพ

Grsecurity เดชเดฆเตเดงเดคเดฟเดฏเตเดŸเต† เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผ เดตเดฐเดšเตเดšเต เดชเดพเดšเตเดšเต เดธเต†เดฑเตเดฑเดฟเตฝ เดจเดฟเดธเตเดธเดพเดฐเดฎเดพเดฏเดฟ เดšเต‚เดทเดฃเด‚ เดšเต†เดฏเตเดฏเดพเดตเตเดจเตเดจ เด’เดฐเต เดฆเตเตผเดฌเดฒเดคเดฏเตเดŸเต† เดธเดพเดจเตเดจเดฟเดงเตเดฏเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดถเตเดฐเดฆเตเดง เดŽเดšเตเดšเต.เด•เต†.เดŽเดธเต.เดชเดฟ (เดนเตเดตเดพเดฏเต เด•เต‡เตผเดฃเตฝ เดธเต†เตฝเดซเต เดชเตเดฐเตŠเดŸเตเดŸเด•เตเดทเตป), เด•เตเดฑเดšเตเดšเต เดฆเดฟเดตเดธเด™เตเด™เตพเด•เตเด•เต เดฎเตเดฎเตเดชเต เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเดšเตเดšเต เดฒเดฟเดจเด•เตเดธเต เด•เต‡เตผเดฃเดฒเดฟเดจเตเดฑเต† เดธเตเดฐเด•เตเดท เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเต. เดธเดพเดนเดšเดฐเตเดฏเด‚ เด“เตผเดฎเตเดฎเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต เดธเดพเด‚เดธเด™เตเด™เตเดฎเดพเดฏเตเดณเตเดณ เด•เต‡เดธเต, เด‡เดคเดฟเตฝ เดธเดฟเดธเตเดฑเตเดฑเด‚ เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดจเตเดณเตเดณ เดถเตเดฐเดฎเด‚ เด’เดฐเต เดชเตเดคเดฟเดฏ เดฆเตเตผเดฌเดฒเดคเดฏเตเดŸเต† เด†เดตเดฟเตผเดญเดพเดตเดคเตเดคเดฟเดฒเต‡เด•เตเด•เต เดจเดฏเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด‰เดชเด•เดฐเดฃเด™เตเด™เดณเดฟเตฝ เดตเดฟเดŸเตเดŸเตเดตเต€เดดเตเดš เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเต เดŽเดณเตเดชเตเดชเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดคเต.

HKSP เดชเดพเดšเตเดšเตเด•เตพ เด’เดฐเต Huawei เดœเต€เดตเดจเด•เตเด•เดพเดฐเดจเดพเดฃเต เดชเตเดฐเดธเดฟเดฆเตเดงเต€เด•เดฐเดฟเดšเตเดšเดคเต, GitHub เดชเตเดฐเตŠเดซเตˆเดฒเดฟเตฝ Huawei-เดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดชเดฐเดพเดฎเตผเดถเด‚ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดฟ, เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดจเดพเดฎเดคเตเดคเดฟเตฝ Huawei เดŽเดจเตเดจ เดตเดพเด•เตเด•เต เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด• (HKSP - Huawei Kernel Self Protection). เด…เดคเต‡ เดธเดฎเดฏเด‚, เด•เดฎเตเดชเดจเดฟเดฏเตเดฎเดพเดฏเตเดณเตเดณ HKSP เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เด•เดฃเด•เตเดทเตป Huawei เดชเตเดฐเดคเดฟเดจเดฟเดงเดฟเด•เตพ เดจเดฟเดทเต‡เดงเดฟเด•เตเด•เตเด•เดฏเตเด‚ เดœเต€เดตเดจเด•เตเด•เดพเดฐเดจเตเดฑเต† เดตเตเดฏเด•เตเดคเดฟเดชเดฐเดฎเดพเดฏ เดฎเตเตปเด•เตˆเดฏเดฟเดฒเดพเดฃเต เด•เต‹เดกเต เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเดคเต†เดจเตเดจเตเด‚ เด’เดฐเต เด”เดฆเตเดฏเต‹เด—เดฟเด• Huawei เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เด…เดฒเตเดฒเต†เดจเตเดจเตเด‚ เด•เดฎเตเดชเดจเดฟเดฏเตเดŸเต† เด‰เตฝเดชเตเดชเดจเตเดจเด™เตเด™เดณเดฟเตฝ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจเดฟเดฒเตเดฒเต†เดจเตเดจเตเด‚ เดชเตเดฐเดธเตเดคเดพเดตเดฟเดšเตเดšเต. เด“เตบ GitHub เดชเต‡เดœเต เดŽเดšเตเดšเต.เด•เต†.เดŽเดธเต.เดชเดฟ เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚ เด•เต‡เดŸเตเดชเดพเดŸเตเด•เตพ เด•เต‚เดŸเดฟ เดšเต‡เตผเดคเตเดคเดฟเดฐเตเดจเตเดจเต เด—เดตเต‡เดทเดฃ เด†เดตเดถเตเดฏเด™เตเด™เตพเด•เตเด•เดพเดฏเดฟ เดŽเดจเตเดฑเต† เด’เดดเดฟเดตเตเดธเดฎเดฏเด™เตเด™เดณเดฟเตฝ เดชเดฆเตเดงเดคเดฟ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเดคเต เดถเตเดฐเดฆเตเดงเดฟเด•เตเด•เตเด•.

เด•เตเดฐเต†เดกเต เด˜เดŸเดจเดฏเดฟเดฒเต† เด“เดซเตโ€Œเดธเต†เดฑเตเดฑเตเด•เดณเตเดŸเต† เด•เตเดฐเดฎเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เตฝ, เด‰เดชเดฏเต‹เด•เตเดคเตƒ เดเดกเดจเตเดฑเดฟเดซเดฏเตผ เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต‡เดธเต (เดชเดฟเดกเต เดจเต†เดฏเดฟเด‚เดธเตโ€Œเดชเต‡เดธเต) เด†เด•เตเดฐเดฎเดฃเด™เตเด™เดณเดฟเตฝ เดจเดฟเดจเตเดจเตเดณเตเดณ เดธเด‚เดฐเด•เตเดทเดฃเด‚, เดŽเด‚โ€ŒเดŽเด‚โ€Œเดชเดฟ เดเดฐเดฟเดฏเดฏเดฟเตฝ เดจเดฟเดจเตเดจเต เดชเตเดฐเต‹เดธเดธเตเดธเต เดธเตเดฑเตเดฑเดพเด•เตเด•เต เดตเต‡เตผเดคเดฟเดฐเดฟเด•เตเด•เตเด•, kfree เดซเด‚เด—เตโ€Œเดทเดจเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด‡เดฐเดŸเตเดŸ เด•เต‹เดณเตเด•เตพ เด•เดฃเตเดŸเต†เดคเตเดคเตฝ, เดตเตเดฏเดพเดœเดคเตเดคเดฟเดฒเต‚เดŸเต†เดฏเตเดณเตเดณ เดšเต‹เตผเดšเตเดš เดคเดŸเดฏเตฝ เดคเตเดŸเด™เตเด™เดฟเดฏ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ HKSP เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต. -FS /proc (/proc/ {เดฎเตŠเดกเตเดฏเต‚เดณเตเด•เตพ, เด•เต€เด•เตพ, เด•เต€-เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพ}, /proc/sys/kernel/* เด•เต‚เดŸเดพเดคเต† /proc/sys/vm/mmap_min_addr, /proc/kallsyms), เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดŸ เด‰เดชเดฏเต‹เด•เตเดคเตƒ เดธเตเดชเต‡เดธเต เดตเดฟเดฒเดพเดธ เดฑเดพเตปเดกเดฎเตˆเดธเต‡เดทเตป, เด…เดงเดฟเด• Ptrace เดธเด‚เดฐเด•เตเดทเดฃเด‚, เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏ เดธเตเดฎเดพเดชเตเดชเต, smep เดธเด‚เดฐเด•เตเดทเดฃเด‚, เดฑเต‹ เดธเต‹เด•เตเด•เดฑเตเดฑเตเด•เตพ เดตเดดเดฟ เดกเดพเดฑเตเดฑ เด…เดฏเดฏเตเด•เตเด•เตเดจเตเดจเดคเต เดจเดฟเดฐเต‹เดงเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต, UDP เดธเต‹เด•เตเด•เดฑเตเดฑเตเด•เดณเดฟเตฝ เดคเต†เดฑเตเดฑเดพเดฏ เดตเดฟเดฒเดพเดธเด™เตเด™เตพ เดคเดŸเดฏเตเด•, เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเด•เตเดฐเดฟเดฏเด•เดณเตเดŸเต† เดธเดฎเด—เตเดฐเดค เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเด•. เดธเดพเดงเดพเดฐเดฃ เดฑเต‚เดŸเตเดŸเตเด•เดฟเดฑเตเดฑเตเด•เตพ เด…เดตเดคเดฐเดฟเดชเตเดชเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เดถเตเดฐเดฎเด™เตเด™เตพ เด•เดฃเตเดŸเตเดชเดฟเดŸเดฟเด•เตเด•เดพเตป เดฒเด•เตเดทเตเดฏเดฎเดฟเดŸเตเดŸเตเดณเตเดณ Ksguard เด•เต‡เตผเดฃเตฝ เดฎเตŠเดกเตเดฏเต‚เดณเตเด‚ เด‡เดคเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต.

เดŽ เดตเดฟเดณเดฟเดšเตเดšเต เดฒเดฟเดจเด•เตเดธเต เด•เต‡เตผเดฃเดฒเดฟเดจเตเดฑเต† เดธเตเดธเตเดฅเดฟเดฐเดฎเดพเดฏ เดฌเตเดฐเดพเดžเตเดšเต เดชเดฐเดฟเดชเดพเดฒเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเดฎเตเดณเตเดณ เด—เตเดฐเต†เด—เต เด•เตเดฐเต‹-เดนเดพเตผเดŸเตเดŸเตเดฎเดพเตป เดคเดพเตฝเดชเตเดชเดฐเตเดฏเด‚ เดชเตเดฐเด•เดŸเดฟเดชเตเดชเดฟเดšเตเดšเต, เด•เต‚เดŸเดพเดคเต† เดชเตเดฐเดงเดพเดจ เด•เต‡เตผเดฃเดฒเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เด…เดตเดฒเต‹เด•เดจเดตเตเด‚ เดชเตเดฐเดฎเต‹เดทเดจเตเด‚ เดฒเดณเดฟเดคเดฎเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เดฎเต‹เดฃเต‹เดฒเดฟเดคเตเดคเดฟเด•เตเด•เต เดชเดพเดšเตเดšเดฟเดจเต† เดญเดพเด—เด™เตเด™เดณเดพเดฏเดฟ เดตเดฟเดญเดœเดฟเด•เตเด•เดพเตป เดฐเดšเดฏเดฟเดคเดพเดตเดฟเดจเต‹เดŸเต เด†เดตเดถเตเดฏเดชเตเดชเต†เดŸเตเดŸเต. เด•เต€เดธเต เด•เตเด•เตเด•เต, เดคเดฒ เดกเตเดฐเดพเดซเตเดฑเตเดฑเต เด† เดธเดฎเดฏเดคเตเดคเต เดชเตเดฐเดฎเต‹เดทเตป เดฒเดฟเดจเด•เตเดธเต เด•เต‡เตผเดฃเดฒเดฟเดฒเตเด‚ เดธเดœเต€เดต เดธเด‚เดฐเด•เตเดทเดฃ เดธเดพเด™เตเด•เต‡เดคเดฟเด•เดตเดฟเดฆเตเดฏ เด•เตเดฐเดฟเดฏเดพเดคเตเดฎเด•เดฎเดพเดฏเดฟ เดชเดพเดšเตเดšเตเด•เดณเต‹เดŸเต เดชเตเดฐเดคเดฟเด•เดฐเดฟเด•เตเด•เตเด•เดฏเตเด‚, เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เตพเด•เตเด•เดฟเดŸเดฏเดฟเตฝ, x86 เด†เตผเด•เตเด•เดฟเดŸเต†เด•เตเดšเดฑเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดฌเตˆเตปเดกเดฟเด‚เด—เดฟเดฒเต‡เด•เตเด•เตเด‚ เดจเดฟเดฐเดตเดงเดฟ เดฎเต‹เดกเตเด•เดณเตเดŸเต† เด…เดฑเดฟเดฏเดฟเดชเตเดชเต เดธเตเดตเดญเดพเดตเดคเตเดคเดฟเดฒเต‡เด•เตเด•เตเด‚ เดถเตเดฐเดฆเตเดง เด†เด•เตผเดทเดฟเดšเตเดšเต, เด…เดคเต เดชเตเดฐเดถเตเดจเดคเตเดคเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เดตเดฟเดตเดฐเด™เตเด™เตพ เดฎเดพเดคเตเดฐเด‚ เดฐเต‡เด–เดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเต, เดชเด•เตเดทเต‡ เด…เดคเต เดคเดŸเดฏเดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เดฐเตเดคเต.

Grsecurity เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเดฐเตเดŸเต† เดชเดพเดšเตเดšเดฟเดจเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเตเดณเตเดณ เด’เดฐเต เดชเด เดจเด‚, เด•เต‹เดกเดฟเดฒเต† เดจเดฟเดฐเดตเดงเดฟ เดชเดฟเดถเด•เตเด•เดณเตเด‚ เดฌเดฒเดนเต€เดจเดคเด•เดณเตเด‚ เดตเต†เดณเดฟเดชเตเดชเต†เดŸเตเดคเตเดคเดฟ, เด•เต‚เดŸเดพเดคเต† เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเดฟเดจเตเดฑเต† เด•เดดเดฟเดตเตเด•เดณเต† เดตเต‡เดฃเตเดŸเดคเตเดฐ เดตเดฟเดฒเดฏเดฟเดฐเตเดคเตเดคเดพเตป เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เดญเต€เดทเดฃเดฟ เดฎเต‹เดกเดฒเดฟเดจเตเดฑเต† เด…เดญเดพเดตเดตเตเด‚ เด•เดพเดฃเดฟเดšเตเดšเต. เดธเตเดฐเด•เตเดทเดฟเดคเดฎเดพเดฏ เดชเตเดฐเต‹เด—เตเดฐเดพเดฎเดฟเด‚เด—เต เดฐเต€เดคเดฟเด•เตพ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เดพเดคเต†เดฏเดพเดฃเต เด•เต‹เดกเต เดŽเดดเตเดคเดฟเดฏเดคเต†เดจเตเดจเต เดตเตเดฏเด•เตเดคเดฎเดพเดฏเดฟ เดคเต†เดณเดฟเดฏเดฟเด•เตเด•เดพเตป, เดนเดพเตปเดกเตโ€Œเดฒเดฑเดฟเดฒเต† เดจเดฟเดธเตเดธเดพเดฐเดฎเดพเดฏ เด•เต‡เดŸเตเดชเดพเดŸเตเด•เดณเตเดŸเต† เด’เดฐเต เด‰เดฆเดพเดนเดฐเดฃเด‚ เดจเตฝเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต.
เดซเดฏเตฝ /proc/ksguard/state, เด…เดตเด•เดพเดถเด™เตเด™เตพ 0777 เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸเดคเต, เดŽเดฒเตเดฒเดพเดตเตผเด•เตเด•เตเด‚ เดŽเดดเตเดคเดพเดจเตเดณเตเดณ เด†เด•เตโ€Œเดธเดธเต เด‰เดฃเตเดŸเต†เดจเตเดจเต เดธเต‚เดšเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเต. /proc/ksguard/state-เดฒเต‡เด•เตเด•เต เดŽเดดเตเดคเดฟเดฏ เด•เดฎเดพเตปเดกเตเด•เตพ เดชเดพเดดเตโ€Œเดธเต เดšเต†เดฏเตเดฏเดพเตป เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเดจเตเดจ ksg_state_write เดซเด‚เด—เตโ€Œเดทเตป, เดŸเดพเตผเด—เต†เดฑเตเดฑเต เดฌเดซเดฑเดฟเดจเตเดฑเต† เดตเดฒเตเดชเตเดชเด‚ เด•เดฃเด•เตเด•เดฟเดฒเต†เดŸเตเด•เตเด•เดพเดคเต† เดชเดพเดธเตเดธเดพเด•เตเด•เดฟเดฏ เด“เดชเตเดชเดฑเดฃเตเดŸเดฟเดจเตเดฑเต† เดตเดฒเตเดชเตเดชเดคเตเดคเต† เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟ เดกเดพเดฑเตเดฑ เดŽเดดเตเดคเตเดจเตเดจ เด’เดฐเต tmp[32] เดฌเดซเตผ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเต. เดธเตเดŸเตเดฐเดฟเด‚เด—เต เดธเตˆเดธเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเดฐเดพเดฎเต€เดฑเตเดฑเตผ เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เตเดจเตเดจเต. เด†. เด•เต‡เตผเดฃเตฝ เดธเตเดฑเตเดฑเดพเด•เตเด•เดฟเดจเตเดฑเต† เด’เดฐเต เดญเดพเด—เด‚ เดคเดฟเดฐเตเดคเตเดคเดฟเดฏเต†เดดเตเดคเดพเตป, เด’เดฐเต เด†เด•เตเดฐเดฎเดฃเด•เดพเดฐเดฟเด•เตเด•เต /proc/ksguard/state-เดฒเต‡เด•เตเด•เต เดชเตเดฐเดคเตเดฏเต‡เด•เดฎเดพเดฏเดฟ เดซเต‹เตผเดฎเดพเดฑเตเดฑเต เดšเต†เดฏเตเดค เด’เดฐเต เดฒเตˆเตป เดŽเดดเตเดคเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต.

เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต ssize_t ksg_state_write(struct file *file, const char __user *buf,
size_t เดฒเต†เตป, loff_t *เด“เดซเตโ€Œเดธเต†เดฑเตเดฑเต)
{
u64 เดฎเต‚เดฒเตเดฏเด‚;
char tmp [32];
size_t n = 0;

เดŽเด™เตเด•เดฟเตฝ (copy_from_user(tmp, buf, len))
เดฎเดŸเด•เตเด•เด‚ -1;

เดฎเต‚เดฒเตเดฏเด‚ = simple_strtoul(tmp, '\0', 10);
เดชเด™เตเด•เต โ‚ฌ |

เดชเตเดฐเต‹เดŸเตเดŸเต‹เดŸเตˆเดชเตเดชเต เดšเต‚เดทเดฃเด‚ เดšเต†เดฏเตเดฏเตเด•:

เดšเดพเตผ เดฌเดซเต[4096] = {};
int fd = open (โ€œ/proc/ksguard/stateโ€, O_WRONLY);
เดŽเด™เตเด•เดฟเตฝ (fd >= 0) {
เดŽเดดเตเดคเตเด• (fd, buf, sizeof(buf));
เด…เดŸเดฏเตเด•เตเด•เตเด• (เดŽเดซเตเดกเดฟ);
}

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

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