Intel рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВрдХреЛ MMIO рд╕рдВрдпрдиреНрддреНрд░рдорд╛ рдХрдордЬреЛрд░реАрд╣рд░реВ

рдЗрдВрдЯреЗрд▓рд▓реЗ рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВрдХреЛ рдорд╛рдЗрдХреНрд░реЛрдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рд╕рдВрд░рдЪрдирд╛рд╣рд░реВ рдорд╛рд░реНрдлрдд рдбрд╛рдЯрд╛ рдЪреБрд╣рд╛рд╡рдЯрдХреЛ рдирдпрд╛рдБ рд╡рд░реНрдЧрдХреЛ рдмрд╛рд░реЗрдорд╛ рдЬрд╛рдирдХрд╛рд░реА рдЦреБрд▓рд╛рд╕рд╛ рдЧрд░реЗрдХреЛ рдЫ, рдЬрд╕рд▓реЗ MMIO (рдореЗрдореЛрд░реА рдореНрдпрд╛рдкреНрдб рдЗрдирдкреБрдЯ рдЖрдЙрдЯрдкреБрдЯ) рд╕рдВрдпрдиреНрддреНрд░рдХреЛ рд╣реЗрд░рдлреЗрд░ рдорд╛рд░реНрдлрдд рдЕрдиреНрдп CPU рдХреЛрд░рд╣рд░реВрдорд╛ рдкреНрд░рд╢реЛрдзрди рдЧрд░рд┐рдПрдХреЛ рдЬрд╛рдирдХрд╛рд░реА рдирд┐рд░реНрдзрд╛рд░рдг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдХрдордЬреЛрд░реАрд╣рд░реВрд▓реЗ рдЕрдиреНрдп рдкреНрд░рдХреНрд░рд┐рдпрд╛рд╣рд░реВ, Intel SGX рдПрдиреНрдХреНрд▓реЗрднрд╣рд░реВ, рд╡рд╛ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВрдмрд╛рдЯ рдбрд╛рдЯрд╛ рдирд┐рдХрд╛рд▓реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рдХрдордЬреЛрд░реАрд╣рд░реВ рдХреЗрд╡рд▓ Intel CPU рд╣рд░реВрдорд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЫрдиреН; рдЕрдиреНрдп рдирд┐рд░реНрдорд╛рддрд╛рд╣рд░реВрдХрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВ рдХрдордЬреЛрд░реАрд╣рд░реВрдмрд╛рдЯ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реБрдБрджреИрдирдиреНред

Haswell, Skylake, IceLake, Broadwell, Lakefield, Kabylake, Cometlake рд░ Rocketlake microarchitectures, рд╕рд╛рдереИ Xeon EP/EX, рд╕реНрдХреЗрд▓реЗрдмрд▓ рд░ рдХреЗрд╣рд┐ рдПрдЯрдо рд╕рд░реНрднрд░ рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВ рд╕рд╣рд┐рдд рд╡рд┐рднрд┐рдиреНрди Intel CPU рд╣рд░реВрдорд╛ рдХрдордЬреЛрд░реАрд╣рд░реВ рджреЗрдЦрд╛ рдкрд░реНрдЫрдиреНред рдЖрдХреНрд░рдордг рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐, MMIO рдорд╛ рдкрд╣реБрдБрдЪ рдЖрд╡рд╢реНрдпрдХ рдЫ, рдЬреБрди, рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рднрд░реНрдЪреБрдЕрд▓рд╛рдЗрдЬреЗрд╢рди рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдорд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ рдЬрд╕рд▓реЗ рдЖрдХреНрд░рдордгрдХрд░реНрддрд╛рджреНрд╡рд╛рд░рд╛ рдирд┐рдпрдиреНрддреНрд░рд┐рдд рдЕрддрд┐рдерд┐ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ MMIO рдкрд╣реБрдБрдЪ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫред Intel SGX (рд╕рдлреНрдЯрд╡реЗрдпрд░ рдЧрд╛рд░реНрдб рдПрдХреНрд╕реНрдЯреЗрдиреНрд╕рди) рдкреГрдердХ рдПрдиреНрдХреНрд▓реЗрднрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкрдирд┐ рдПрдХ рд╕рдорд╛рдзрд╛рди рдЖрд╡рд╢реНрдпрдХ рд╣реБрди рд╕рдХреНрдЫред

рднреЗрджреНрдпрддрд╛рд▓рд╛рдИ рд░реЛрдХреНрджрд╛ рдХрд░реНрдиреЗрд▓рдмрд╛рдЯ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕рдорд╛ рдлрд░реНрдХрдБрджрд╛ рд╡рд╛ рдЕрддрд┐рдерд┐ рдкреНрд░рдгрд╛рд▓реАрдорд╛ рдирд┐рдпрдиреНрддреНрд░рдг рд╣рд╕реНрддрд╛рдиреНрддрд░рдг рдЧрд░реНрджрд╛ рдорд╛рдЗрдХреНрд░реЛрдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рдмрдлрд░рд╣рд░реВрдХреЛ рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдЦрд╛рд▓реА рдЧрд░реНрди VERW рдирд┐рд░реНрджреЗрд╢рдирдХреЛ рдкреНрд░рдпреЛрдЧрдорд╛ рдЖрдзрд╛рд░рд┐рдд рдорд╛рдЗрдХреНрд░реЛрдХреЛрдб рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рд░ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рдзрд┐рд╣рд░реВрдХреЛ рдкреНрд░рдпреЛрдЧ рджреБрд╡реИ рдЖрд╡рд╢реНрдпрдХ рд╣реБрдиреНрдЫред MDS (Microarchitectural Data Sampling), SRBDS (Special Register Buffer Data Sampling) рд░ TAA (Transactional Asynchronous Abort) рд╡рд░реНрдЧрд╣рд░реВрдХреЛ рдкрд╣рд┐рд▓реЗ рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдПрдХрд╛ рдЖрдХреНрд░рдордгрд╣рд░реВрд▓рд╛рдИ рд░реЛрдХреНрди рдкрдирд┐ рдпрд╕реНрддреИ рд╕реБрд░рдХреНрд╖рд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдиреНрдЫред

рдорд╛рдЗрдХреНрд░реЛрдХреЛрдб рдкрдХреНрд╖рдорд╛, рд╕реБрд░рдХреНрд╖рд╛ рд▓рд╛рдЧреВ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ Intel CPUs (IPU 2022.1) рдХреЛ рд▓рд╛рдЧрд┐ рдореЗ рдорд╛рдЗрдХреНрд░реЛрдХреЛрдб рдЕрдкрдбреЗрдЯрдорд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛред рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рдорд╛, 5.18.5, 5.15.48, 5.10.123, 5.4.199, 4.19.248, 4.14.284, рд░ тАЛтАЛ4.9.319 рд░рд┐рд▓реАрдЬрд╣рд░реВрдорд╛ рдЖрдХреНрд░рдордгрд╣рд░реВрдХреЛ рдирдпрд╛рдБ рд╡рд░реНрдЧ рд╡рд┐рд░реБрджреНрдз рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░рд┐рдПрдХреЛ рдЫред MMIO рдорд╛ рдХрдордЬреЛрд░реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдЬреЛрдЦрд┐рдо рдЬрд╛рдБрдЪ рдЧрд░реНрди рд░ рдирд┐рд╢реНрдЪрд┐рдд рд╕реБрд░рдХреНрд╖рд╛ рд╕рдВрдпрдиреНрддреНрд░рд╣рд░реВрдХреЛ рдЧрддрд┐рд╡рд┐рдзрд┐ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрди, рд▓рд┐рдирдХреНрд╕ рдХрд░реНрдиреЗрд▓рдорд╛ рдлрд╛рдЗрд▓ "/sys/devices/system/cpu/vulnerabilities/mmio_stale_data" рдердкрд┐рдПрдХреЛ рдЫред рд╕реБрд░рдХреНрд╖рд╛рдХреЛ рд╕рдорд╛рд╡реЗрд╢рд▓рд╛рдИ рдирд┐рдпрдиреНрддреНрд░рдг рдЧрд░реНрди, рдХрд░реНрдиреЗрд▓ рдмреБрдЯ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░ "mmio_stale_data" рд▓рд╛рдЧреВ рдЧрд░рд┐рдПрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рдорд╛рдирд╣рд░реВ "рдкреВрд░реНрдг" рд▓рд┐рди рд╕рдХреНрдЫ (рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕реНрдкреЗрд╕ рд░ VM рдорд╛ рд╕рд░реНрджрд╛ рдмрдлрд░рд╣рд░реВрдХреЛ рд╕рдлрд╛рдИ рд╕рдХреНрд╖рдо рдЧрд░реНрджрдЫ), "рдкреВрд░реНрдг, nosmt" ( "рдкреВрд░реНрдг" + рдердк рд░реВрдкрдорд╛ SMT/рд╣рд╛рдЗрдкрд░-рдереНрд░реЗрдбрд╣рд░реВ рдЕрд╕рдХреНрд╖рдо рдкрд╛рд░реНрдЫ) рд░ "рдЕрдл" (рд╕реБрд░рдХреНрд╖рд╛ рдЕрд╕рдХреНрд╖рдо рдкрд╛рд░рд┐рдПрдХреЛ)ред Xen рд╣рд╛рдЗрдкрд░рднрд╛рдЗрдЬрд░ рд░ Qubes рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдордХрд╛ рд▓рд╛рдЧрд┐ рдЫреБрдЯреНрдЯреИ рдлрд┐рдХреНрд╕рд╣рд░реВ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреНред

рдХрдордЬреЛрд░реАрд╣рд░реВрдХреЛ рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдПрдХреЛ рд╡рд░реНрдЧрдХреЛ рд╕рд╛рд░ рдпреЛ рд╣реЛ рдХрд┐ рдХреЗрд╣рд┐ рдЕрдкрд░реЗрд╢рдирд╣рд░реВрд▓реЗ рдЕрдиреНрдп CPU рдХреЛрд░рд╣рд░реВрдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкрдЫрд┐ рдмрд╛рдБрдХреА рдбреЗрдЯрд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрди рд╡рд╛ рд╕рд╛рд░реНрдиреЗ рдиреЗрддреГрддреНрд╡ рдЧрд░реНрджрдЫ рдПрдХ рдорд╛рдЗрдХреНрд░реЛрдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рдмрдлрд░рдмрд╛рдЯ рдЕрд░реНрдХреЛрдорд╛ред MMIO рдорд╛ рдХрдордЬреЛрд░реАрд╣рд░реВрд▓реЗ рдпреЛ рдЕрд╡рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛рд▓рд╛рдИ рдкреГрдердХ рдорд╛рдЗрдХреНрд░реЛрдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рдмрдлрд░рд╣рд░реВрдмрд╛рдЯ рдПрдкреНрд▓рд┐рдХреЗрд╕рди рджреЗрдЦрд┐рдиреЗ рд░рдЬрд╕реНрдЯрд░рд╣рд░реВ рд╡рд╛ CPU рдмрдлрд░рд╣рд░реВрдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред MMIO рдорд╛рд░реНрдлрдд рдЕрд╡рд╢рд┐рд╖реНрдЯ рдбрд╛рдЯрд╛ рдирд┐рдХрд╛рд▓реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рддреАрдирд╡рдЯрд╛ рд╡рд┐рдзрд┐рд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН:

  • DRPW (рдЙрдкрдХрд░рдг рджрд░реНрддрд╛ рдЖрдВрд╢рд┐рдХ рд▓реЗрдЦрди, CVE-2022-21166) рдХреЗрд╣рд┐ MMIO рджрд░реНрддрд╛рд╣рд░реВрдорд╛ рд▓реЗрдЦрд╣рд░реВрдХреЛ рдЧрд▓рдд рд╣реНрдпрд╛рдиреНрдбрд▓рд┐рдВрдЧрдХреЛ рд╕рдорд╕реНрдпрд╛ рд╣реЛред рдпрджрд┐ рд▓реЗрдЦрд┐рдПрдХреЛ рдбрд╛рдЯрд╛рдХреЛ рд╕рд╛рдЗрдЬ рджрд░реНрддрд╛рдХреЛ рд╕рд╛рдЗрдЬ рднрдиреНрджрд╛ рдХрдо рдЫ рднрдиреЗ, рднрд░рд┐рдиреЗ рдмрдлрд░рд╣рд░реВрдмрд╛рдЯ рдЕрд╡рд╢рд┐рд╖реНрдЯ рдЬрд╛рдирдХрд╛рд░реА рдкрдирд┐ рджрд░реНрддрд╛рдорд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░рд┐рдиреНрдЫред рдирддрд┐рдЬрд╛рдХреЛ рд░реВрдкрдорд╛, MMIO рджрд░реНрддрд╛рдорд╛ рдЕрдкреВрд░реНрдг рд▓реЗрдЦрди рдЕрдкрд░реЗрд╢рди рдкреНрд░рд╛рд░рдореНрдн рдЧрд░реНрдиреЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рд▓реЗ рдЕрдиреНрдп CPU рдХреЛрд░рд╣рд░реВрдорд╛ рдЧрд░рд┐рдПрдХрд╛ рдЕрдкрд░реЗрд╢рдирд╣рд░реВрдмрд╛рдЯ рдорд╛рдЗрдХреНрд░реЛрдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░рд▓ рдмрдлрд░рд╣рд░реВрдорд╛ рдмрд╛рдБрдХреА рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрди рд╕рдХреНрдЫред
  • SBDS (Shared Buffers Data Sampling, CVE-2022-21125) рдХрд░реНрдиреЗрд▓-рдмрд╛рдЙрдиреНрдб рдлрд┐рд▓ рдмрдлрд░рдмрд╛рдЯ рдЕрд╡рд╢рд┐рд╖реНрдЯ рдбрд╛рдЯрд╛рдХреЛ рдЪреБрд╣рд╛рд╡рдЯ рд╣реЛ рдЬреБрди рдордзреНрдпрд╡рд░реНрддреА рдмрдлрд░рд╣рд░реВрдмрд╛рдЯ рд╕рдмреИ рдХрд░реНрдиреЗрд▓рд╣рд░реВрдорд╛ рд╕рд╛рдЭрд╛ рд╣реБрдиреНрдЫред
  • SBDR (Shared Buffers Data Read, CVE-2022-21123) - рд╕рдорд╕реНрдпрд╛ SBDS рд╕рдБрдЧ рдорд┐рд▓реНрджреЛрдЬреБрд▓реНрджреЛ рдЫ, рддрд░ рдЕрд╡рд╢рд┐рд╖реНрдЯ рдбреЗрдЯрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рджреЗрдЦрд┐рдиреЗ CPU рд╕рдВрд░рдЪрдирд╛рд╣рд░реВрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реБрди рд╕рдХреНрдЫред SBDS рд░ SBDR рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдЧреНрд░рд╛рд╣рдХ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВрдорд╛ рд░ Intel Xeon E3 рд╕рд░реНрднрд░ рдкрд░рд┐рд╡рд╛рд░рдорд╛ рдорд╛рддреНрд░ рджреЗрдЦрд╛ рдкрд░реНрджрдЫред

Intel рдкреНрд░реЛрд╕реЗрд╕рд░рд╣рд░реВрдХреЛ MMIO рд╕рдВрдпрдиреНрддреНрд░рдорд╛ рдХрдордЬреЛрд░реАрд╣рд░реВ


рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди