เดˆเดŸเต เดเดธเตŠเดฒเต‡เดทเตป เดฎเต†เด•เตเด•เดพเดจเดฟเดธเด‚ เดฒเดฟเดจเด•เตเดธเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เตผเดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเดจเตเดณเตเดณ เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต

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

เดธเดฟเดธเตโ€ŒเดŸเตเดฐเต‡เดธเต เดฎเต†เด•เตเด•เดพเดจเดฟเดธเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด“เดชเตเดชเตบเดฌเดฟเดŽเดธเตเดกเดฟ เดฌเต‡เดธเต เดŽเตปเดตเดฏเต‹เตบเดฎเต†เดจเตเดฑเดฟเตฝ เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เด’เดฑเตเดฑเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดจเตเดณเตเดณ เดชเดฐเดพเดœเดฏเดชเตเดชเต†เดŸเตเดŸ เดธเด‚เดฐเด‚เดญเด‚, เดตเตเดฏเด•เตเดคเดฟเด—เดค เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เดณเตเด•เดณเตเดŸเต† เดคเดฒเดคเตเดคเดฟเดฒเตเดณเตเดณ เด’เดฑเตเดฑเดชเตเดชเต†เดŸเตฝ เดตเดณเดฐเต† เดธเด™เตเด•เต€เตผเดฃเตเดฃเดตเตเด‚ เดธเดฎเดฏเดฎเต†เดŸเตเด•เตเด•เตเดจเตเดจเดคเตเดฎเดพเดฃเต†เดจเตเดจเต เด•เดพเดฃเดฟเดšเตเดšเต. เด’เดฐเต เดฌเดฆเดฒเดพเดฏเดฟ, เด’เดฐเต เดชเตเดฐเดคเดฟเดœเตเดž เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเดšเตเดšเต, เด‡เดคเต เดตเดฟเดถเดฆเดพเด‚เดถเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เด•เดพเดคเต†เดฏเตเด‚ เดฑเต†เดกเดฟเดฎเต†เดฏเตเดกเต เด†เด•เตเดธเดธเต เด•เตเดฒเดพเดธเตเด•เตพ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเดพเดคเต†เดฏเตเด‚ เด’เดฑเตเดฑเดชเตเดชเต†เดŸเตฝ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเต เดธเดพเดงเตเดฏเดฎเดพเด•เตเด•เดฟ. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด“เดซเตผ เดšเต†เดฏเตเดฏเตเดจเตเดจ เด•เตเดฒเดพเดธเตเด•เตพ stdio (เด‡เตปเดชเตเดŸเตเดŸเต/เด”เดŸเตเดŸเตโ€ŒเดชเตเดŸเตเดŸเต), rpath (เดฑเต€เดกเต-เด’เตบเดฒเดฟ เดซเดฏเดฒเตเด•เตพ), wpath (เดซเดฏเดฒเตเด•เตพ เดŽเดดเตเดคเตเด•), cpath (เดซเดฏเดฒเตเด•เตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เตเด•), tmppath (เดคเดพเดคเตเด•เดพเดฒเดฟเด• เดซเดฏเดฒเตเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเด•), inet (เดจเต†เดฑเตเดฑเตโ€Œเดตเตผเด•เตเด•เต เดธเต‹เด•เตเด•เดฑเตเดฑเตเด•เตพ), unix ( unix เดธเต‹เด•เตเด•เดฑเตเดฑเตเด•เตพ), dns (DNS เดฑเต†เดธเดฒเตเดฏเต‚เดทเตป), getpw (เด‰เดชเดฏเต‹เด•เตเดคเตƒ เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดฒเต‡เด•เตเด•เตเดณเตเดณ เดชเตเดฐเดตเต‡เดถเดจเด‚ เดตเดพเดฏเดฟเด•เตเด•เตเด•), ioctl (ioctl เด•เต‹เตพ), เดชเตเดฐเต‹เด•เต (เดชเตเดฐเต‹เดธเดธเต เดฎเดพเดจเต‡เดœเตเดฎเต†เดจเตเดฑเต), เดŽเด•เตเดธเดฟเด•เต (เดชเตเดฐเต‹เดธเดธเต เดฒเต‹เดžเตเดšเต), เดเดกเดฟ (เด†เด•เตเดธเดธเต เดฑเตˆเดฑเตเดฑเตเดธเต เดฎเดพเดจเต‡เดœเตเดฎเต†เดจเตเดฑเต).

เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เดณเตเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดตเตเดฏเดพเด–เตเดฏเดพเดจเด™เตเด™เดณเตเดŸเต† เดฐเต‚เดชเดคเตเดคเดฟเตฝ เดตเตเดฏเด•เตเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต, เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เดณเตเด•เดณเตเดŸเต† เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดพเดฏ เด•เตเดฒเดพเดธเตเด•เดณเตเดŸเต† เด’เดฐเต เดฒเดฟเดธเตเดฑเตเดฑเต, เด†เด•เตเดธเดธเต เด…เดจเตเดตเดฆเดจเต€เดฏเดฎเดพเดฏ เดซเดฏเตฝ เดชเดพเดคเด•เดณเตเดŸเต† เด’เดฐเต เดจเดฟเดฐ เดŽเดจเตเดจเดฟเดต เด‰เตพเดชเตเดชเต†เดŸเตเดจเตเดจเต. เดชเดฐเดฟเดทเตเด•เดฐเดฟเดšเตเดš เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เดจเดฟเตผเดฎเตเดฎเดฟเดšเตเดšเต เดธเดฎเดพเดฐเด‚เดญเดฟเดšเตเดšเดคเดฟเดจเต เดถเต‡เดทเด‚, เดจเดฟเตผเดฆเตเดฆเดฟเดทเตเดŸ เดจเดฟเดฏเดฎเด™เตเด™เตพ เดชเดพเดฒเดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹ เดŽเดจเตเดจเต เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดœเต‹เดฒเดฟ เด•เต‡เตผเดฃเตฝ เดเดฑเตเดฑเต†เดŸเตเด•เตเด•เตเดจเตเดจเต.

FreeBSD-เดฏเตโ€Œเด•เตเด•เดพเดฏเดฟ เดชเตเดฐเดคเดฟเดœเตเดžเดฏเตเดŸเต† เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดจเดฟเตผเดตเตเดตเดนเดฃเด‚ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเตเด•เตŠเดฃเตเดŸเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด‡เดคเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เดณเต† เด…เดตเดฏเตเดŸเต† เด•เต‹เดกเดฟเตฝ เดฎเดพเดฑเตเดฑเดฎเดฟเดฒเตเดฒเดพเดคเต† เด’เดฑเตเดฑเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต เด•เตŠเดฃเตเดŸเต เดตเต‡เตผเดคเดฟเดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต‡เดธเดฎเดฏเด‚ OpenBSD-เดฏเดฟเตฝ เดชเตเดฐเดคเดฟเดœเตเดžเดพ เด•เต‹เตพ เด…เดŸเดฟเดธเตเดฅเดพเดจ เดชเดฐเดฟเดธเตเดฅเดฟเดคเดฟเดฏเตเดฎเดพเดฏเดฟ เด•เตผเดถเดจเดฎเดพเดฏเดฟ เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด“เดฐเต‹เดจเตเดจเดฟเดจเตเดฑเต†เดฏเตเด‚ เด•เต‹เดกเดฟเดฒเต‡เด•เตเด•เต เดตเตเดฏเดพเด–เตเดฏเดพเดจเด™เตเด™เตพ เดšเต‡เตผเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เดฒเด•เตเดทเตเดฏเดฎเดฟเดŸเตเดจเตเดจเต. เด…เดชเต‡เด•เตเดท.

Linux-เดจเตเดณเตเดณ เดˆเดŸเต เดชเต‹เตผเดŸเตเดŸเดฟเดจเตเดฑเต† เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผ FreeBSD-เดฏเตเดŸเต† เด‰เดฆเดพเดนเดฐเดฃเด‚ เดŽเดŸเตเดคเตเดคเต, เด•เต‹เดกเดฟเตฝ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดตเดฐเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดชเด•เดฐเด‚, เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเตป เด•เต‹เดกเต เดฎเดพเดฑเตเดฑเดพเดคเต† เดคเดจเตเดจเต† เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด™เตเด™เตพ เดชเตเดฐเดฏเต‹เด—เดฟเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เด†เดกเต-เด“เตบ utility pledge.com เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟ. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, stdio, rpath, inet, threadstdio เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เตพ เด•เตเดฒเดพเดธเตเด•เดณเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดคเตเดฐเด‚ เด†เด•เตโ€Œเดธเดธเต เด‰เดณเตเดณ curl เดฏเต‚เดŸเตเดŸเดฟเดฒเดฟเดฑเตเดฑเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดฟเดชเตเดชเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต, โ€œ./pledge.com -p 'stdio rpath inet thread' curl http://example.comโ€ เดฑเตบ เดšเต†เดฏเตเดฏเตเด•.

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

เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด•เต‡เตผเดฃเดฒเดฟเตฝ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เด†เดตเดถเตเดฏเดฎเดฟเดฒเตเดฒ - เดชเตเดฐเดคเดฟเดœเตเดž เดจเดฟเดฏเดจเตเดคเตเดฐเดฃเด™เตเด™เตพ SECCOMP BPF เดจเดฟเดฏเดฎเด™เตเด™เดณเดฟเดฒเต‡เด•เตเด•เต เดตเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดจเต‡เดฑเตเดฑเต€เดตเต เดฒเดฟเดจเด•เตเดธเต เดธเดฟเดธเตเดฑเตเดฑเด‚ เด•เต‹เตพ เดเดธเตŠเดฒเต‡เดทเตป เดฎเต†เด•เตเด•เดพเดจเดฟเดธเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดชเตเดฐเต‹เดธเดธเตเดธเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเต. เด‰เดฆเดพเดนเดฐเดฃเดคเตเดคเดฟเดจเต, เด•เต‹เตพ เดชเตเดฐเดคเดฟเดœเตเดž ("stdio rpath", 0) เด’เดฐเต BPF เดซเดฟเตฝเดŸเตเดŸเตผ เดธเตเดฑเตเดฑเดพเดฑเตเดฑเดฟเด•เต เด•เต‹เตบเดธเตเดฑเตเดฑเต เดธเตเดŸเตเดฐเด•เตเดฑเตเดฑเต เดธเต‹เด•เตเด•เต_เดซเดฟเตฝเดŸเตเดŸเดฑเดฟเดฒเต‡เด•เตเด•เต เดชเดฐเดฟเดตเตผเดคเตเดคเดจเด‚ เดšเต†เดฏเตเดฏเตเด‚ kFilter[] = { /* L0*/ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, syscall, 0 ), / * L14*/ BPF_STMT(BPF_LD | BPF_W | BPF_ABS, OFF(args[1])), /* L1*/ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0, 2 -* 2, 4), / / BPF_JUMP( BPF_JMP | BPF_JEQ | BPF_K, 3, 0, 3 - 10), /* L0*/ BPF_STMT(BPF_LD | BPF_W | BPF_ABS, OFF(args[13])), /* L4*/BPF_ST_ | BPF_K, ~4x1), /* L5*/ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0, 80800 - 6, 1), /* L8*/ BPF_JUMP(BPF_JMP | BPF_JEQ, | BPF_JEQ, 7, , /* L0*/ BPF_STMT(BPF_LD | BPF_W | BPF_ABS, OFF(args[7])), /* L2*/ BPF_JUMP(BPF_JMP | BPF_JEQ | BPF_K, 0, 13 - 8, /*L8), /*L2 Bpf_jump | bpf_jeq | bpf_jeq | BPF_JMP | BPF_JMP | BPF_JMP | BPF_JMP | BPF_9 * / BPF_STMT (BPF_RET | BPF_K, SECCOMP_RET_ALLOW), /*L0*/ BPF_STMT(BPF_LD | BPF_W | BPF_ABS, OFF(nr)), /*L12*/* เด…เดŸเตเดคเตเดค เดซเดฟเตฝเดŸเตเดŸเตผ */ };

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

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