Нов опит за повишаване на сигурността при Linux
Разработчикът Ard Biesheuvel изпрати обновена серия от 19 пача, които предлагат x86_64 ядрото да бъде линквано като Position Independent Executable (PIE). Това е продължение на работа, започната преди повече от година, и цели да осигури по‑силна защита и по‑добра съвместимост с бъдещи механизми за hardening.
Защо PIE е важен за ядрото
PIE позволява по‑гъвкаво разполагане на кода в паметта и е ключов компонент за техники като:
- Kernel Address Space Layout Randomization (KASLR)
- бъдещи механизми като fg‑kaslr
- уеднаквяване на boot протоколите между различни архитектури
Според Biesheuvel това е необходима стъпка за модернизиране на сигурността на ядрото.
Какво беше пречка досега
Предишният опит за въвеждане на PIE беше отхвърлен поради три основни опасения:
- използването на GOT таблици в напълно линкнати бинарни файлове
- увеличаване размера на кода
- потенциални загуби в производителността
Новата версия на пачовете решава тези проблеми чрез PIE codegen без използване на GOT слотове.
Реалните резултати от тестовете
- увеличение на размера на кода: между 0.2% (clang) и 0.5% (gcc)
- не са открити забележими регресии в производителността при тестове с hackbench
- тествано на различни x86 микроархитектури
Какво включва финалният пач
Последният пач добавя възможност за използване на RELR relocation packing, което:
- намалява размера на релокациите
- ускорява обработката при стартиране
- позволява по‑ефективно преместване на ядрото в паметта
- инструктира линкера да генерира бинарен файл, предназначен за реално релокиране при boot
Какво следва
Предложението е в статус RFC и предстои да се обсъди дали PIE ще бъде прието за x86_64 през 2026 г.
Ако бъде одобрено, промяната ще засегне само ядрата с активиран KASLR, докато системи без CONFIG_RANDOMIZE_BASE ще продължат да работят по стария начин.










