ื–ื•ื”ืชื” ืคื’ื™ืขื•ืช ื ื•ืกืคืช ื‘ืžืขื‘ื“ื™ AMD ื”ืžืืคืฉืจืช ื”ืชืงืคื•ืช Meltdown

ืฆื•ื•ืช ื—ื•ืงืจื™ื ืžื”ืื•ื ื™ื‘ืจืกื™ื˜ื” ื”ื˜ื›ื ื™ืช ืฉืœ ื’ืจืืฅ (ืื•ืกื˜ืจื™ื”) ื•ืžืžืจื›ื– ื”ืœืžื”ื•ืœืฅ ืœืื‘ื˜ื—ืช ืžื™ื“ืข (CISPA) ื—ืฉืฃ ืžื™ื“ืข ืขืœ ืคื’ื™ืขื•ืช (CVE-2021-26318) ื‘ื›ืœ ืžืขื‘ื“ื™ AMD ื”ืžืืคืฉืจืช ืœื‘ืฆืข Meltdown-class ื”ืชืงืคื•ืช ืขืจื•ืฅ ืฆื“ื“ื™ (ื‘ืชื—ื™ืœื” ื”ื”ื ื—ื” ื”ื™ื™ืชื” ืฉืžืขื‘ื“ื™ AMD ืื™ื ื ืžื•ืฉืคืขื™ื ืžืคื’ื™ืขื•ืช Meltdown). ืžื‘ื—ื™ื ื” ืžืขืฉื™ืช, ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ืžืชืงืคื” ืœื”ืงืžืช ืขืจื•ืฆื™ ืชืงืฉื•ืจืช ืกืžื•ื™ื™ื, ืœื ื˜ืจ ืคืขื™ืœื•ืช ื‘ืœื™ื‘ื” ืื• ืœืงื‘ืœ ืžื™ื“ืข ืขืœ ื›ืชื•ื‘ื•ืช ื‘ื–ื™ื›ืจื•ืŸ ื”ืงืจื ืœ ื›ื“ื™ ืœืขืงื•ืฃ ืืช ื”ื’ื ืช KASLR ืชื•ืš ื ื™ืฆื•ืœ ื ืงื•ื“ื•ืช ืชื•ืจืคื” ื‘ืœื™ื‘ื”.

AMD ืจื•ืื” ืฉื–ื” ืœื ื”ื•ืœื ืœื ืงื•ื˜ ื‘ืืžืฆืขื™ื ืžื™ื•ื—ื“ื™ื ื›ื“ื™ ืœื—ืกื•ื ืืช ื”ื‘ืขื™ื”, ืžื›ื™ื•ื•ืŸ ืฉื”ืคื’ื™ืขื•ืช, ื›ืžื• ื”ืชืงืคื” ื“ื•ืžื” ืฉื”ืชื’ืœืชื” ื‘ืื•ื’ื•ืกื˜, ืžื•ืขื™ืœื” ืžืขื˜ ื‘ืชื ืื™ื ืืžื™ืชื™ื™ื, ืžื•ื’ื‘ืœืช ืขืœ ื™ื“ื™ ื”ื’ื‘ื•ืœื•ืช ื”ื ื•ื›ื—ื™ื™ื ืฉืœ ืžืจื—ื‘ ื”ื›ืชื•ื‘ื•ืช ืฉืœ ื”ืชื”ืœื™ืš ื•ื“ื•ืจืฉืช ื ื•ื›ื—ื•ืช ืžืกื•ื™ืžื™ื ืจืฆืคื™ื ืžื•ื›ื ื™ื ืฉืœ ื”ื•ืจืื•ืช (ื’ืื“ื’'ื˜ื™ื) ื‘ืงืจื ืœ. ื›ื“ื™ ืœื”ื“ื’ื™ื ืืช ื”ืžืชืงืคื”, ื”ื—ื•ืงืจื™ื ื”ื˜ืขื™ื ื• ืืช ืžื•ื“ื•ืœ ื”ืงืจื ืœ ืฉืœื”ื ืขื ื’ืื“ื’'ื˜ ืฉื ื•ืกืฃ ื‘ืื•ืคืŸ ืžืœืื›ื•ืชื™. ื‘ืชื ืื™ื ืืžื™ืชื™ื™ื, ืชื•ืงืคื™ื ื™ื›ื•ืœื™ื ืœื”ืฉืชืžืฉ, ืœืžืฉืœ, ื‘ื ืงื•ื“ื•ืช ืชื•ืจืคื” ืฆืฆื•ืช ื‘ืชืช-ื”ืžืขืจื›ืช eBPF ื›ื“ื™ ืœื”ื—ืœื™ืฃ ืืช ื”ืจืฆืคื™ื ื”ื“ืจื•ืฉื™ื.

ื›ื“ื™ ืœื”ื’ืŸ ืžืคื ื™ ืกื•ื’ ื—ื“ืฉ ื–ื” ืฉืœ ื”ืชืงืคื”, AMD ื”ืžืœื™ืฆื” ืœื”ืฉืชืžืฉ ื‘ื˜ื›ื ื™ืงื•ืช ืงื™ื“ื•ื“ ืžืื•ื‘ื˜ื— ืฉืขื•ื–ืจื•ืช ืœื—ืกื•ื ื”ืชืงืคื•ืช Meltdown, ื›ื’ื•ืŸ ืฉื™ืžื•ืฉ ื‘ื”ื•ืจืื•ืช LFENCE. ื”ื—ื•ืงืจื™ื ืฉื–ื™ื”ื• ืืช ื”ื‘ืขื™ื” ืžืžืœื™ืฆื™ื ืœืืคืฉืจ ื‘ื™ื“ื•ื“ ื˜ื‘ืœืช ื“ืคื™ ื–ื™ื›ืจื•ืŸ ืžื—ืžื™ืจ (KPTI), ืฉืฉื™ืžืฉ ื‘ืขื‘ืจ ืจืง ืขื‘ื•ืจ ืžืขื‘ื“ื™ ืื™ื ื˜ืœ.

ื‘ืžื”ืœืš ื”ื ื™ืกื•ื™ ื”ืฆืœื™ื—ื• ื”ื—ื•ืงืจื™ื ืœื”ื“ืœื™ืฃ ืžื™ื“ืข ืžื”ืงืจื ืœ ืœืชื”ืœื™ืš ื‘ื—ืœืœ ื”ืžืฉืชืžืฉ ื‘ืžื”ื™ืจื•ืช ืฉืœ 52 ื‘ืชื™ื ืœืฉื ื™ื™ื”, ืœืื•ืจ ื ื•ื›ื—ื•ืช ืฉืœ ื’ืื“ื’'ื˜ ื‘ืœื™ื‘ื” ืฉืžื‘ืฆืข ืืช ื”ืคืขื•ืœื” "if (offset < data_len) tmp = LUT[ื ืชื•ื ื™ื[ื”ื™ืกื˜] * 4096];" . ื”ื•ืฆืขื• ืžืกืคืจ ืฉื™ื˜ื•ืช ืœืื—ื–ื•ืจ ืžื™ื“ืข ื“ืจืš ืขืจื•ืฆื™ื ืฆื“ื“ื™ื™ื ืฉืžื’ื™ืขื™ื ืœืžื˜ืžื•ืŸ ื‘ืžื”ืœืš ื‘ื™ืฆื•ืข ืกืคืงื•ืœื˜ื™ื‘ื™. ื”ืฉื™ื˜ื” ื”ืจืืฉื•ื ื” ืžื‘ื•ืกืกืช ืขืœ ื ื™ืชื•ื— ืกื˜ื™ื•ืช ื‘ื–ืžืŸ ื”ื‘ื™ืฆื•ืข ืฉืœ ื”ื•ืจืืช ื”ืžืขื‘ื“ "PREFETCH" (Prefetch+Time), ื•ื”ืฉื ื™ื™ื” ืขืœ ืฉื™ื ื•ื™ ื”ืฉื™ื ื•ื™ ื‘ืฆืจื™ื›ืช ื”ืื ืจื’ื™ื” ื‘ืขืช ื‘ื™ืฆื•ืข "PREFETCH" (Prefetch+Power).

ื ื–ื›ื™ืจ ืฉื”ืคื’ื™ืขื•ืช ื”ืงืœืืกื™ืช ืฉืœ Meltdown ืžื‘ื•ืกืกืช ืขืœ ื”ืขื•ื‘ื“ื” ืฉื‘ืžื”ืœืš ื‘ื™ืฆื•ืข ืกืคืงื•ืœื˜ื™ื‘ื™ ืฉืœ ื”ื•ืจืื•ืช, ื”ืžืขื‘ื“ ื™ื›ื•ืœ ืœื’ืฉืช ืœืื–ื•ืจ ื ืชื•ื ื™ื ืคืจื˜ื™ ื•ืื– ืœื”ืฉืœื™ืš ืืช ื”ืชื•ืฆืื”, ืžื›ื™ื•ื•ืŸ ืฉื”ื”ืจืฉืื•ืช ืฉื ืงื‘ืขื• ืื•ืกืจื•ืช ื’ื™ืฉื” ื›ื–ื• ืžืชื”ืœื™ืš ื”ืžืฉืชืžืฉ. ื‘ืชื•ื›ื ื™ืช, ื”ื‘ืœื•ืง ื”ืžื‘ื•ืฆืข ื‘ืื•ืคืŸ ืกืคืงื•ืœื˜ื™ื‘ื™ ืžื•ืคืจื“ ืžื”ืงื•ื“ ื”ืจืืฉื™ ืขืœ ื™ื“ื™ ืขื ืฃ ืžื•ืชื ื”, ืฉื‘ืชื ืื™ื ืืžื™ืชื™ื™ื ืชืžื™ื“ ื™ื•ืจื”, ืืš ื‘ืฉืœ ื”ืขื•ื‘ื“ื” ืฉื”ืžืฉืคื˜ ื”ืžื•ืชื ื” ืžืฉืชืžืฉ ื‘ืขืจืš ืžื—ื•ืฉื‘ ืฉื”ืžืขื‘ื“ ืื™ื ื• ื™ื•ื“ืข ื‘ืžื”ืœืš ื”ื‘ื™ืฆื•ืข ื”ืžื•ื ืข ืฉืœ ื”ืงื•ื“, ื›ืœ ืืคืฉืจื•ื™ื•ืช ื”ืกื ื™ืฃ ืžืชื‘ืฆืขื•ืช ื‘ืื•ืคืŸ ืกืคืงื•ืœื˜ื™ื‘ื™.

ืžื›ื™ื•ื•ืŸ ืฉืคืขื•ืœื•ืช ื”ืžื‘ื•ืฆืขื•ืช ื‘ืื•ืคืŸ ืกืคืงื•ืœื˜ื™ื‘ื™ ืžืฉืชืžืฉื•ืช ื‘ืื•ืชื• ืžื˜ืžื•ืŸ ื›ืžื• ื”ื•ืจืื•ืช ื”ืžื‘ื•ืฆืขื•ืช ื‘ื“ืจืš ื›ืœืœ, ื ื™ืชืŸ ื‘ืžื”ืœืš ื‘ื™ืฆื•ืข ืกืคืงื•ืœื˜ื™ื‘ื™ ืœื”ื’ื“ื™ืจ ืกืžื ื™ื ื‘ืžื˜ืžื•ืŸ ื”ืžืฉืงืคื™ื ืืช ื”ืชื•ื›ืŸ ืฉืœ ืกื™ื‘ื™ื•ืช ื‘ื•ื“ื“ื•ืช ื‘ืื–ื•ืจ ื–ื™ื›ืจื•ืŸ ืคืจื˜ื™, ื•ืœืื—ืจ ืžื›ืŸ ื‘ืงื•ื“ ื”ืžื‘ื•ืฆืข ื‘ื“ืจืš ื›ืœืœ ื›ื“ื™ ืœืงื‘ื•ืข ืืช ืขืจื›ื ื‘ืืžืฆืขื•ืช ืชื–ืžื•ืŸ ื’ื™ืฉื” ืœื ื™ืชื•ื— ืœื ืชื•ื ื™ื ืžืื•ื—ืกื ื™ื ื•ืœื ืžืื•ื—ืกื ื™ื ื‘ืžื˜ืžื•ืŸ.

ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”