Kasper, เป€เบ„เบทเปˆเบญเบ‡เบชเบฐเปเบเบ™เบชเปเบฒเบฅเบฑเบšเบšเบฑเบ™เบซเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เบเบฒเบ™เบ„เบฒเบ”เป€เบ”เบปเบฒเปƒเบ™ Linux kernel, เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เปเบฅเป‰เบง

เบ—เบตเบกเบ‡เบฒเบ™เบ‚เบญเบ‡เบ™เบฑเบเบ„เบปเป‰เบ™เบ„เบงเป‰เบฒเบˆเบฒเบ Free University of Amsterdam เป„เบ”เป‰เป€เบœเบตเบเปเบœเปˆเบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบท Kasper เบ—เบตเปˆเบ–เบทเบเบญเบญเบเปเบšเบšเป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบฅเบฐเบซเบฑเบ” snippets เปƒเบ™ Linux kernel เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ‚เบธเบ”เบ„เบปเป‰เบ™เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆ Spectre-class เบ—เบตเปˆเป€เบเบตเบ”เบˆเบฒเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เบ„เบฒเบ”เบ„เบฐเป€เบ™เบเปˆเบฝเบงเบเบฑเบšเป‚เบ›เป€เบŠเบ”เป€เบŠเบต. เบฅเบฐเบซเบฑเบ”เปเบซเบผเปˆเบ‡เบชเปเบฒเบฅเบฑเบšเบŠเบธเบ”เป€เบ„เบทเปˆเบญเบ‡เบกเบทเปเบกเปˆเบ™เปเบˆเบเบขเบฒเบเบžเบฒเบเปƒเบ•เป‰เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ” Apache 2.0.

เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบˆเบทเปˆเบงเปˆเบฒเป€เบžเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป‚เบˆเบกเบ•เบตเป€เบŠเบฑเปˆเบ™ Spectre v1, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบเปเบฒเบ™เบปเบ”เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒ, เบเบฒเบ™เบกเบตเบขเบนเปˆเปƒเบ™เบฅเบฐเบซเบฑเบ”เบชเบดเบ”เบ—เบดเบžเบดเป€เบชเบ”เบ‚เบญเบ‡เบ„เปเบฒเบชเบฑเปˆเบ‡เบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡ (gadgets) เปเบกเปˆเบ™เบˆเปเบฒเป€เบ›เบฑเบ™, เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ„เบฒเบ”เป€เบ”เบปเบฒเบ‚เบญเบ‡เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ. . เบชเปเบฒเบฅเบฑเบšเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบš, เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ›เบฐเบ•เบดเบšเบฑเบ” gadgets เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปƒเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ„เบฒเบ”เป€เบ”เบปเบฒ, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบเบฒเบ™เบ„เบฒเบ”เบ„เบฐเป€เบ™เบชเบฒเบ‚เบฒเบšเปเปˆเปเบกเปˆเบ™เบ„เบงเบฒเบกเบเบธเบ”เบ•เบดเบ—เปเบฒเปเบฅเบฐ rolls เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบเบฑเบšเบ„เบทเบ™เบชเบนเปˆเบชเบฐเบžเบฒเบšเป€เบ”เบตเบกเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ, เปเบ•เปˆเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ„เบฒเบ”เป€เบ”เบปเบฒเบˆเบฐเบชเบดเป‰เบ™เบชเบธเบ”เบฅเบปเบ‡เปƒเบ™ cache เปเบฅเบฐ microarchitectural buffers เปเบฅเบฐ. เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ”เบถเบ‡เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบžเบงเบเบกเบฑเบ™เป‚เบ”เบเปƒเบŠเป‰เบงเบดเบ—เบตเบเบฒเบ™เบ•เปˆเบฒเบ‡เป†เปƒเบ™เบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบเบฑเบ‡เป€เบซเบผเบทเบญเป‚เบ”เบเบœเปˆเบฒเบ™เบŠเปˆเบญเบ‡เบ—เบฒเบ‡เบžเบฒเบเบชเปˆเบงเบ™เบ—เบตเบชเบฒเบก.

เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเบกเบตเปƒเบ™เป€เบกเบทเปˆเบญเบเปˆเบญเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบฐเปเบเบ™ gadgets เบชเปเบฒเบฅเบฑเบšเบŠเปˆเบญเบ‡เป‚เบซเบงเปˆ Spectre, เป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบเบฒเบ™เบŠเบญเบเบซเบฒเบฎเบนเบšเปเบšเบšเบ›เบปเบเบเบฐเบ•เบด, เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบฅเบฐเบ”เบฑเบšเบชเบนเบ‡เบ‚เบญเบ‡เบœเบปเบ™เบšเบงเบเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆเบ‚เบฒเบ” gadgets เบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡เบˆเปเบฒเบ™เบงเบ™เบซเบผเบฒเบ (เบเบฒเบ™เบ—เบปเบ”เบฅเบญเบ‡เป„เบ”เป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒ 99% เบ‚เบญเบ‡ gadget เบเปเบฒเบ™เบปเบ”เป‚เบ”เบเป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป‚เบˆเบกเบ•เบต. , เปเบฅเบฐ 33% เบ‚เบญเบ‡เป€เบ„เบทเปˆเบญเบ‡เบกเบทเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เป‚เบˆเบกเบ•เบตเบšเปเปˆเป„เบ”เป‰เบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™).

เป€เบžเบทเปˆเบญเบ›เบฑเบšเบ›เบธเบ‡เบ„เบธเบ™เบ™เบฐเบžเบฒเบšเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบญเบธเบ›เบฐเบเบญเบ™เบ—เบตเปˆเบกเบตเบšเบฑเบ™เบซเบฒ, Kasper เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เบŠเปˆเบญเบ‡เป‚เบซเบงเปˆเบ—เบตเปˆเบœเบนเป‰เป‚เบˆเบกเบ•เบตเบชเบฒเบกเบฒเบ”เบ‚เบธเบ”เบ„เบปเป‰เบ™เปƒเบ™เปเบ•เปˆเบฅเบฐเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ‚เบญเบ‡เบเบฒเบ™เป‚เบˆเบกเบ•เบตเปเบšเบš Spectre class - เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ„เบงเบšเบ„เบธเบกเบ‚เปเป‰เบกเบนเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบเบฒเบ™เบ›เปˆเบฝเบ™เบ‚เปเป‰เบกเบนเบ™เบœเบนเป‰เป‚เบˆเบกเบ•เบตเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบˆเบธเบฅเบฐเบžเบฒเบเป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เบญเบดเบ”เบ—เบดเบžเบปเบ™เบ•เปเปˆเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ„เบฒเบ”เป€เบ”เบปเบฒเบ•เปเปˆเบกเบฒเป‚เบ”เบเปƒเบŠเป‰ เบเบฒเบ™เป‚เบˆเบกเบ•เบตเปƒเบ™เบŠเบฑเป‰เบ™เบฎเบฝเบ™ LVI), เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบฅเบฑเบš (เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™, เป€เบกเบทเปˆเบญเป€เบเบตเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ‚เบญเบ‡ buffer เบซเบผเบทเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบซเบผเบฑเบ‡เบˆเบฒเบเบ—เบตเปˆเบกเบฑเบ™เบ–เบทเบเบ›เบปเบ”เบ›เปˆเบญเบ) เปเบฅเบฐเบฎเบปเปˆเบงเบ‚เปเป‰เบกเบนเบ™เบฅเบฑเบš (เบ•เบปเบงเบขเปˆเบฒเบ‡, เป‚เบ”เบเบเบฒเบ™เบงเบดเป€เบ„เบฒเบฐเบชเบฐเบ–เบฒเบ™เบฐเบ‚เบญเบ‡ cache เบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบซเบผเบทเบงเบดเบ—เบตเบเบฒเบ™ MDS).

Kasper, เป€เบ„เบทเปˆเบญเบ‡เบชเบฐเปเบเบ™เบชเปเบฒเบฅเบฑเบšเบšเบฑเบ™เบซเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เบเบฒเบ™เบ„เบฒเบ”เป€เบ”เบปเบฒเปƒเบ™ Linux kernel, เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เปเบฅเป‰เบง

เป€เบกเบทเปˆเบญเบ—เบปเบ”เบชเบญเบš, kernel เป„เบ”เป‰เบ–เบทเบเป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš Kasper runtime libraries เปเบฅเบฐเบเบงเบ”เบชเบญเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™เบฅเบฐเบ”เบฑเบš LLVM. เบ‚เบฐเบšเบงเบ™เบเบฒเบ™เบเบงเบ”เบชเบญเบš emulates เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ” speculative, เบ›เบฐเบ•เบดเบšเบฑเบ”เป‚เบ”เบเปƒเบŠเป‰เบเบปเบ™เป„เบเบเบฒเบ™เบŸเบทเป‰เบ™เบŸเบน checkpoint, เป€เบŠเบดเปˆเบ‡เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบ›เบฐเบ•เบดเบšเบฑเบ”เบชเบฒเบ‚เบฒเบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบ„เบฒเบ”เบ„เบฐเป€เบ™เบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡, เปเบฅเบฐเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ rolls เบเบฑเบšเป„เบ›เบชเบฐเบžเบฒเบšเป€เบ”เบตเบกเบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเบชเบฒเบ‚เบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™. Kasper เบเบฑเบ‡เบžเบฐเบเบฒเบเบฒเบกเบˆเปเบฒเบฅเบญเบ‡เบ„เบงเบฒเบกเบญเปˆเบญเบ™เปเบญเบ‚เบญเบ‡เบŠเบญเบšเปเบง เปเบฅเบฐเบฎเบฒเบ”เปเบงเบ•เปˆเบฒเบ‡เป†, เบงเบดเป€เบ„เบฒเบฐเบœเบปเบ™เบเบฐเบ—เบปเบšเบ‚เบญเบ‡เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒ เปเบฅเบฐเบˆเบธเบฅเบฐเบžเบฒเบ, เปเบฅเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบ—เบปเบ”เบชเบญเบš fuzz เบ‚เบญเบ‡เบเบฒเบ™เป‚เบˆเบกเบ•เบตเบ—เบตเปˆเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰. เป€เบžเบทเปˆเบญเบงเบดเป€เบ„เบฒเบฐเบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™, เบžเบญเบ” DataFlowSanitizer เบชเปเบฒเบฅเบฑเบš Linux kernel เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰, เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ—เบปเบ”เบชเบญเบš fuzzing, เบชเบฐเบšเบฑเบšเบ”เบฑเบ”เปเบเป‰เบ‚เบญเบ‡เบŠเบธเบ” syzkaller เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰.

Kasper, เป€เบ„เบทเปˆเบญเบ‡เบชเบฐเปเบเบ™เบชเปเบฒเบฅเบฑเบšเบšเบฑเบ™เบซเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฅเบฐเบซเบฑเบ”เบเบฒเบ™เบ„เบฒเบ”เป€เบ”เบปเบฒเปƒเบ™ Linux kernel, เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เปเบฅเป‰เบง

เบเบฒเบ™เบชเบฐเปเบเบ™ Linux kernel เป‚เบ”เบเปƒเบŠเป‰ Kasper เป„เบ”เป‰เบฅเบฐเบšเบธ 1379 gadgets เบ—เบตเปˆเบšเปเปˆเบฎเบนเป‰เบกเบฒเบเปˆเบญเบ™เบ—เบตเปˆเบญเบฒเบ”เบˆเบฐเบ™เปเบฒเป„เบ›เบชเบนเปˆเบเบฒเบ™เบฎเบปเปˆเบงเป„เบซเบฅเบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒ. เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบชเบฑเบ‡เป€เบเบ”เป€เบซเบฑเบ™เบงเปˆเบฒเบšเบฒเบ‡เบ—เบตเบญเบฒเบ”เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบšเบฒเบ‡เบชเปˆเบงเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบญเบฒเบ”เบˆเบฐเป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡, เปเบ•เปˆเป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒเป€เบ›เบฑเบ™เบญเบฑเบ™เบ•เบฐเบฅเบฒเบเบ—เบตเปˆเปเบ—เป‰เบˆเบดเบ‡, เปเบฅเบฐเบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเป€เบ›เบฑเบ™เบ—เบดเบ”เบชเบฐเบ”เบต, เบ•เบปเป‰เบ™เปเบšเบšเบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ‚เบญเบ‡เบเบฒเบ™เบ‚เบธเบ”เบ„เบปเป‰เบ™เป„เบ”เป‰เบ–เบทเบเบžเบฑเบ”เบ—เบฐเบ™เบฒเบชเปเบฒเบฅเบฑเบšเบซเบ™เบถเปˆเบ‡เปƒเบ™เบŠเบดเป‰เบ™เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบกเบตเบšเบฑเบ™เบซเบฒ, เบ™เปเบฒเป„เบ›เบชเบนเปˆเบ‚เปเป‰เบกเบนเบ™. เบเบฒเบ™เบฎเบปเปˆเบงเป„เบซเบฅเบˆเบฒเบเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ‚เบญเบ‡เปเบเปˆเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: opennet.ru

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™