Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Проблемы с очисткой ключей шифрования диска из ОЗУ при переходе Linux в ждущий режим

02.07.2026 22:44 (MSK)

В ходе портирования для NixOS инструментария cryptsetup-suspend была выявлена ошибка в подсистеме дискового шифрования LUKS (Linux Unified Key Setup), из-за которой начиная с ядра Linux 6.9 (проблемный коммит), выпущенного в мае 2024 года, перестала работать очистка ключей шифрования из оперативной памяти при переходе системы в ждущий режим.

Инструментарий cryptsetup-suspend используется в Debian для автоматической блокировки LUKS-разделов перед переходом в режим сна. Предполагается, что в случае кражи ноутбука, переведённого в режим сна, злоумышленник будет лишён возможности получить доступ к данным, так как при выходе из сна потребуется ввести пароль для восстановления доступа к зашифрованным данным. Из-за ошибки в ядре Linux после блокировки LUKS-раздела командой "cryptsetup luksSuspend" ключи не очищались из оперативной памяти и оставались видны через /proc/keys, что позволяло атакующему извлечь их, например, методом "холодной перезагрузки", и использовать для доступа к данным.

Отсутствие очистки ключей было выявлено в ходе отладки состояния гонки, из-за которого возникали проблемы с переходом в ждущий режим. Ошибка возникла после проведения в ядре 6.9 рефакторинга, в результате которого ключи привязывались к вызывающему потоку и должны были удаляться при его завершении, но на деле оставались в памяти. Для включения в ядро Linux предложен однострочный патч, устраняющий допущенную ошибку.

Данный патч не принят в ядро, так как в нём выявлена недоработка - патч действует только для физических накопителей, но не работает для виртуальных loop-устройств. Вместо исправления проблемы на стороне ядра разработчиками инструментария cryptsetup был предложен обходной путь очистки ключей. Данное изменение уже принято и войдёт в состав выпуска cryptsetup 2.8.7.

Помимо этого, для NixOS была создана собственная реализация скриптов для блокировки шифрованных дисков пред переходом в ждущий режим, в котором задействован старый патч к ядру, не принятый в 2015 году, принудительно очищающий ключи из памяти перед переходом в режим сна.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Уязвимость в cryptsetup, позволяющая отключить шифрование в LUKS2-разделах
  3. OpenNews: Обход шифрования диска в Linux через непрерывное нажатие клавиши Enter
  4. OpenNews: Обход дискового шифрования, использующего TPM2 для автоматической разблокировки
  5. OpenNews: Уязвимость в Cryptsetup, позволяющая получить доступ к root shell
  6. OpenNews: Доступен Cryptsetup 2.8 с поддержкой inline-режима хранения метаданных
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65831-cryptsetup
Ключевые слова: cryptsetup, luks, crypt, patch
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (12) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:13, 02/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Вполне может быть, что такой итог и был целью "рефактора", но заметили слишком быстро.
     
     
  • 2.10, Аноним (10), 23:51, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В любой корпоративной системе по-любому есть шифрование ОЗУ.
     
     
  • 3.11, Счукин Е (?), 00:03, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Там же есть секьюрити софт который эти ключи в памяти хранит как есть ну или любые другие ключи.
    Вопрос в данном случае стоит иначе: где unit-тесты на новый функционал? Их нет. А это признак ручек из попки.
     

  • 1.3, Аноним (3), 23:25, 02/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    > начиная с ядра Linux 6.9

    Обожаю подобное! "Обновляйтесь", - говорили они.

     
     
  • 2.7, Colorado_House_of_Representatives (?), 23:41, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не обновляйтесь. Мы взломаем ваш рут простым питоновским скриптом.
     
     
  • 3.12, Счукин Е (?), 00:07, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Думаешь они нарочно питон придумали чтобы вот так вот поступать?
     
  • 2.8, Аноним (8), 23:44, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно, зачем тебе что-то свежее 5.10 сейчас. Там никто ничего не ищет, будешь Неуловимым Джо.
     
  • 2.9, Аноним (9), 23:46, 02/07/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >"Обновляйтесь", - говорили они

    И правильно говорили, потому что в версиях до 6.9 будут другие баги и уязвимости.
    https://kernel.org
    Нельзя рассматривать последнюю версию какого либо ПО как идеально завершенную, это просто надо быть в потоке изменений, как с теми же браузерами, каждый месяц новая версия.

     

  • 1.4, Аноним (3), 23:30, 02/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > для NixOS ... задействован старый патч к ядру, не принятый в 2015 году, принудительно очищающий ключи из памяти перед переходом в режим сна.

    Почему не приняли? Ф.И.О. - есть у этого? Или он - ф..н?

     
  • 1.5, Colorado_House_of_Representatives (?), 23:40, 02/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Так при переходе в ждущий режим ключи никогда и не очищались. На то он и ждущий режим. В Linux терминология несколько отличается. Возможно, авторы имели в виду спящий режим (гибернацию).
     
  • 1.6, Аноним (8), 23:41, 02/07/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Да типичный Дебиан, это вам не голосовать до получения нужного результата. Больше чем на игры в бюрократию их ни на что не хватает.
     
     
  • 2.13, анон (?), 00:17, 03/07/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А при чем тут debian ? Ошибка ведь в подсистеме линукса
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру