Компания Oracle ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π»Π° ядро Unbreakable Enterprise Kernel 6

Компания Oracle прСдставила ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ выпуск Unbreakable Enterprise Kernel 6 (UEK R6), Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠΉ сборки ядра Linux, ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ для использования Π² дистрибутивС Oracle Linux Π² качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ ΡˆΡ‚Π°Ρ‚Π½ΠΎΠΌΡƒ ΠΏΠ°ΠΊΠ΅Ρ‚Ρƒ с ядром ΠΈΠ· Red Hat Enterprise Linux. Π―Π΄Ρ€ΠΎ доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ x86_64 ΠΈ ARM64 (aarch64). Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ тСксты ядра, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€Π°Π·Π±ΠΈΠ²ΠΊΡƒ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ‚Ρ‡ΠΈ, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Ρ‹ Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΌ Git-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Oracle.

ΠŸΠ°ΠΊΠ΅Ρ‚ Unbreakable Enterprise Kernel 6 основан Π½Π° ядрС Linux 5.4 (UEK R5 базировался Π½Π° ядрС 4.14), ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΎ Π½ΠΎΠ²Ρ‹ΠΌΠΈ возмоТностями, оптимизациями ΠΈ исправлСниями, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½ΠΎ Π½Π° ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ с Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² RHEL, ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΌ обСспСчСниСм ΠΈ ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Oracle. УстановочныС ΠΈ src-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ с ядром UEK R6 ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ для Oracle Linux 7.x ΠΈ 8.x. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Π΅Ρ‚ΠΊΠΈ 6.x ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π°, для примСнСния UEK R6 слСдуСт ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ систСму Π΄ΠΎ Oracle Linux 7 (Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΈΡ… прСпятствий ΠΏΠΎ использованию Π΄Π°Π½Π½ΠΎΠ³ΠΎ ядра Π² Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹Ρ… вСрсиях RHEL, CentOS ΠΈ Scientific Linux).

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π° Unbreakable Enterprise Kernel 6:

  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° систСм Π½Π° Π±Π°Π·Π΅ 64-разрядной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ARM (aarch64).
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° всСх возмоТностСй Cgroup v2.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊ ktask для распараллСливания Π·Π°Π΄Π°Ρ‡ Π² ядрС, ΠΏΠΎΡ‚Ρ€Π΅Π±Π»ΡΡŽΡ‰ΠΈΡ… Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ рСсурсы CPU. НапримСр, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ktask ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ распараллСливаниС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎ очисткС Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ΠΎΠ² страниц памяти ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ списка inode;
  • Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π° распараллСлСнная вСрсия kswapd для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π·Π°ΠΌΠ΅Π½Ρ‹ страниц памяти Π² асинхронном Ρ€Π΅ΠΆΠΈΠΌΠ΅, позволяя ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ число прямых (синхронных) ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π·Π°ΠΌΠ΅Π½Ρ‹. ΠŸΡ€ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΠΈ числа свободных страниц памяти kswapd выполняСт сканированиС для выявлСния Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… страниц, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ высвобоТдСны.
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ цСлостности ΠΎΠ±Ρ€Π°Π·Π° ядра ΠΈ ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ ΠΏΠΎ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи, ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ядра ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Kexec (Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ядра ΠΈΠ· ΡƒΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΉ систСмы).
  • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы управлСния Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ очистки станиц памяти ΠΈ кэша, ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ Π½Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ страницам памяти (page faults).
  • Π Π°ΡΡˆΠΈΡ€Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° NVDIMM, указанная постоянная ΠΏΠ°ΠΌΡΡ‚ΡŒ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ ΠžΠ—Π£.
  • ΠžΡΡƒΡ‰Π΅ΡΡ‚Π²Π»Ρ‘Π½ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° систСму динамичСской ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ DTrace 2.0, которая ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Π΅Π½Π° Π½Π° использованиС подсистСмы ядра eBPF. DTrace Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΏΠΎΠ²Π΅Ρ€Ρ… eBPF, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ²Π΅Ρ€Ρ… eBPF Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π² Linux инструмСнты трассировки.
  • ВнСсСны ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² Ρ„Π°ΠΉΠ»ΠΎΠ²ΡƒΡŽ систСму OCFS2 (Oracle Cluster File System).
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Btrfs. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ примСнСния Btrfs Π½Π° ΠΊΠΎΡ€Π½Π΅Π²Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…. Π’ инсталлятор Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция для Π²Ρ‹Π±ΠΎΡ€Π° Btrfs ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ устройств. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ размСщСния Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΠΎΠ΄ΠΊΠ°Ρ‡ΠΊΠΈ Π½Π° Ρ€Π°Π·Π΄Π΅Π»Π°Ρ… с Btrfs. Π’ Btrfs Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сТатия с использованиСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° ZStandard.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° интСрфСйса для асинхронного Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° — io_uring, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»Π΅Π½ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ ΠΏΠΎΠ»Π»ΠΈΠ½Π³Π° Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠ°ΠΊ с Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ, Ρ‚Π°ΠΊ ΠΈ Π±Π΅Π· Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ. По ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ io_uring ΠΎΡ‡Π΅Π½ΡŒ Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ SPDK ΠΈ сущСствСнно ΠΎΠΏΠ΅Ρ€Π΅ΠΆΠ°Π΅Ρ‚ libaio ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»Π»ΠΈΠ½Π³ΠΎΠΌ. Для использования io_uring Π² ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… прилоТСниях, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Π° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° liburing, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π°Ρ Π²Ρ‹ΡΠΎΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΡƒΡŽ обвязку Π½Π°Π΄ интСрфСйсом ядра;
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π΅ΠΆΠΈΠΌΠ° Adiantum для быстрого ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΠΊΠΎΠΏΠΈΡ‚Π΅Π»Π΅ΠΉ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сТатия с использованиСм Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° Zstandard (zstd).
  • Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС ext4 задСйствованы 64-разрядныС ΠΌΠ΅Ρ‚ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π² полях супСрблока.
  • Π’ XFS Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹ срСдства для информирования ΠΎ состоянии цСлостности Π€Π‘ Π²ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΈ получСния статуса ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ fsck Π½Π° Π»Π΅Ρ‚Ρƒ.
  • TCP-стСк ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ Π½Π° модСль «Early Departure Time» вмСсто «As Fast As Possible» ΠΏΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Для UDP Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GRO (Generic Receive Offload). Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΈΡ‘ΠΌΠ° ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ TCP-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ zero-copy.
  • ЗадСйствована рСализация ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° TLS Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ядра (KTLS), которая Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для отправляСмых, Π½ΠΎ ΠΈ для ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….
  • Π’ качСствС бэкСнда для мСТсСтСвого экрана ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ задСйствован
    nftables. ΠžΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° bpfilter.

  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° подсистСмы XDP (eXpress Data Path), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ Π² Linux Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ сСтСвого Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ прямого доступа ΠΊ DMA-Π±ΡƒΡ„Π΅Ρ€Ρƒ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΈ Π½Π° стадии Π΄ΠΎ выдСлСния Π±ΡƒΡ„Π΅Ρ€Π° skbuff сСтСвым стСком.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ ΠΏΡ€ΠΈ использовании UEFI Secure Boot Ρ€Π΅ΠΆΠΈΠΌ Lockdown, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ доступ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root ΠΊ ядру ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡƒΡ‚ΠΈ ΠΎΠ±Ρ…ΠΎΠ΄Π° UEFI Secure Boot. НапримСр, Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ lockdown ограничиваСтся доступ ΠΊ /dev/mem, /dev/kmem, /dev/port, /proc/kcore, debugfs, ΠΎΡ‚Π»Π°Π΄ΠΎΡ‡Π½ΠΎΠΌΡƒ Ρ€Π΅ΠΆΠΈΠΌΡƒ kprobes, mmiotrace, tracefs, BPF, PCMCIA CIS (Card Information Structure), Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ интСрфСйсам ACPI ΠΈ MSR-рСгистрам CPU, Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π²Ρ‹Π·ΠΎΠ²Ρ‹ kexec_file ΠΈ kexec_load, запрСщаСтся ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² спящий Ρ€Π΅ΠΆΠΈΠΌ, лимитируСтся использованиС DMA для PCI-устройств, запрСщаСтся ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΠΊΠΎΠ΄Π° ACPI ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… EFI, Π½Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ΡΡ манипуляции с ΠΏΠΎΡ€Ρ‚Π°ΠΌΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π°, Π² Ρ‚ΠΎΠΌ числС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½ΠΎΠΌΠ΅Ρ€Π° прСрывания ΠΈ ΠΏΠΎΡ€Ρ‚Π° Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° для ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ€Ρ‚Π°.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… инструкций IBRS (Enhanced Indirect Branch Restricted Speculation), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Ρ‚ΡŒ спСкулятивноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ инструкций Π²ΠΎ врСмя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ, систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΉ контСкста. ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Enhanced IBRS Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ примСняСтся для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ Π°Ρ‚Π°ΠΊ класса Spectre V2 вмСсто Retpoline, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Π±ΠΎΠ»Π΅Π΅ высокой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
  • Π£Π»ΡƒΡ‡ΡˆΠ΅Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ…, доступных всСм Π½Π° запись. Π’ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Ρ… Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ создания FIFO-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ, Π½Π΅ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ с Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° с Ρ„Π»Π°Π³ΠΎΠΌ sticky.
  • По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π° систСмах ARM Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° рандомизация адрСсного пространства ядра Π½Π° систСмах (KASLR). Для Aarch64 Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° аутСнтификация ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»Π΅ΠΉ.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° «NVMe over Fabrics TCP».
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ virtio-pmem, ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ доступ ΠΊ устройствам хранСния, ΠΎΡ‚Ρ€Π°ΠΆΡ‘Π½Π½Ρ‹ΠΌ Π² физичСскоС адрСсноС пространство, Ρ‚Π°ΠΊΠΈΠΌ ΠΊΠ°ΠΊ NVDIMM.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ