Bug 14269

Summary: [enh 21] hardening (ASLR, immediate symbol binding) in some packages
Product: [ROSA-based products] ROSA Fresh Reporter: Mikhail Novosyolov <m.novosyolov>
Component: Packages from MainAssignee: ROSA Linux Bugs <bugs>
Status: VERIFIED FIXED QA Contact: ROSA Linux Bugs <bugs>
Severity: normal    
Priority: Normal CC: a.proklov, pastordidi, v.potapov
Version: AllFlags: v.potapov: qa_verified+
a.proklov: published+
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Platform: 2021.1 ROSA Vulnerability identifier:
RPM Package: ISO-related:
Bad POT generating: Upstream:
Attachments: aslr1.png

Description Mikhail Novosyolov 2024-01-22 08:16:19 MSK
В некоторых пакетах были включены обеспечиваемые компилятором и линковщиком дополнительные защитные механизмы:

1) ASLR - address space layout randomization - техника защиты, затрудняющая предсказание адреса памяти;
2) immediate bind - при запуске исполняемого файла обеспечивать связывание всех символов с библиотечными функциями (разрешение зависимостей ELF-файла) вместо того, чтобы разрешать зависимости по мере надобности в процессе работы.

Для проверки используется утилита-анализатор binary-security-check. Пример:
Ставим утилиту из репозитория:
$ sudo dnf install binary-security-check
анализируем бинарник:
/bin/bash: !ASLR +STACK-PROT +READ-ONLY-RELOC !IMMEDIATE-BIND <...>
Восклицательный знак означает выключенность механизма, а плюс означает его включенность.
Ниже помечено, где после обновления включаются ASLR и/или IMMEDIATE-BIND (IB).

Все сборки без архитектуры riscv64 из-за временных проблем с ним на ABF.

sed 4.8-5
+ ASLR
+ IB
https://abf.io/build_lists/4962880
https://abf.io/build_lists/4962881
https://abf.io/build_lists/4962882
https://abf.io/build_lists/4962882

procps-ng 3.3.17-3
+ ASLR
+ IB
https://abf.io/build_lists/4962867
https://abf.io/build_lists/4962868
https://abf.io/build_lists/4962869
https://abf.io/build_lists/4962870

bash 5.1.16-5
+ ASLR
+ IB
https://abf.io/build_lists/4962896
https://abf.io/build_lists/4962897
https://abf.io/build_lists/4962898
https://abf.io/build_lists/4962899

cpio 2.14-3
+ ASLR
+ IB
https://abf.io/build_lists/4962909
https://abf.io/build_lists/4962910
https://abf.io/build_lists/4962911
https://abf.io/build_lists/4962912

ntfs-3g 2022.10.3-2
+ ASLR
+ IB
https://abf.io/build_lists/4962922
https://abf.io/build_lists/4962923
https://abf.io/build_lists/4962924
https://abf.io/build_lists/4962925

findutils 4.8.0-2
+ ASLR
+ IB
https://abf.io/build_lists/4962939
https://abf.io/build_lists/4962940
https://abf.io/build_lists/4962941
https://abf.io/build_lists/4962942

gawk 5.2.0-3
+ IB
Включение ASLR намерено не предусмотрено авторами gawk.
https://abf.io/build_lists/4962962
https://abf.io/build_lists/4962963
https://abf.io/build_lists/4962964
https://abf.io/build_lists/4962965

fuse2 2.9.9-6
+ ASLR
+ IB
https://abf.io/build_lists/4962980
https://abf.io/build_lists/4962981
https://abf.io/build_lists/4962982
https://abf.io/build_lists/4962983

hostname 3.23-5
+ ASLR
+ IB
https://abf.io/build_lists/4963008
https://abf.io/build_lists/4963009
https://abf.io/build_lists/4963010
https://abf.io/build_lists/4963011

ipcalc 0.2.5-3
+ ASLR
+ IB
https://abf.io/build_lists/4963021
https://abf.io/build_lists/4963022
https://abf.io/build_lists/4963023
https://abf.io/build_lists/4963024

grep 3.11-2
https://abf.io/build_lists/4963034
https://abf.io/build_lists/4963035
https://abf.io/build_lists/4963036
https://abf.io/build_lists/4963037

open 1.4-30
https://abf.io/build_lists/4963074
https://abf.io/build_lists/4963075
https://abf.io/build_lists/4963076
https://abf.io/build_lists/4963077
Comment 1 Mikhail Novosyolov 2024-01-22 08:16:37 MSK
В grep и open тоже +ASLR, +IB.
Comment 2 Dmitry Postnikov 2024-01-29 11:14:34 MSK
Created attachment 6011 [details]
aslr1.png

Все пакеты прошли проверку и отправлены в Тестинг. Кроме пакета grep.


Бинарники egrep и fgrep не распознаются.
Comment 3 Mikhail Novosyolov 2024-01-29 13:38:01 MSK
Ну не расползаются и ладно, они и до обновления не распознавались, проблема в утилите.
Comment 4 Dmitry Postnikov 2024-01-29 13:40:38 MSK
**********************************
Обновления опубликованы в Тестинг
Comment 5 Vladimir Potapov 2024-02-06 09:53:44 MSK
sed-4.8-5
https://abf.io/build_lists/4962880
https://abf.io/build_lists/4962881
https://abf.io/build_lists/4962882
https://abf.io/build_lists/4962882

procps-ng-3.3.17-3
https://abf.io/build_lists/4962867
https://abf.io/build_lists/4962868
https://abf.io/build_lists/4962869
https://abf.io/build_lists/4962870

bash-5.1.16-5
https://abf.io/build_lists/4962896
https://abf.io/build_lists/4962897
https://abf.io/build_lists/4962898
https://abf.io/build_lists/4962899

cpio-2.14-3
https://abf.io/build_lists/4962909
https://abf.io/build_lists/4962910
https://abf.io/build_lists/4962911
https://abf.io/build_lists/4962912

ntfs-3g-2022.10.3-2
https://abf.io/build_lists/4962922
https://abf.io/build_lists/4962923
https://abf.io/build_lists/4962924
https://abf.io/build_lists/4962925

findutils-4.8.0-2
https://abf.io/build_lists/4962939
https://abf.io/build_lists/4962940
https://abf.io/build_lists/4962941
https://abf.io/build_lists/4962942

gawk-5.2.0-3
https://abf.io/build_lists/4962962
https://abf.io/build_lists/4962963
https://abf.io/build_lists/4962964
https://abf.io/build_lists/4962965

fuse2-2.9.9-6
https://abf.io/build_lists/4962980
https://abf.io/build_lists/4962981
https://abf.io/build_lists/4962982
https://abf.io/build_lists/4962983

hostname-3.23-5
https://abf.io/build_lists/4963008
https://abf.io/build_lists/4963009
https://abf.io/build_lists/4963010
https://abf.io/build_lists/4963011

ipcalc-0.2.5-3
https://abf.io/build_lists/4963021
https://abf.io/build_lists/4963022
https://abf.io/build_lists/4963023
https://abf.io/build_lists/4963024

grep-3.11-2
https://abf.io/build_lists/4963034
https://abf.io/build_lists/4963035
https://abf.io/build_lists/4963036
https://abf.io/build_lists/4963037

open-1.4-30
https://abf.io/build_lists/4963074
https://abf.io/build_lists/4963075
https://abf.io/build_lists/4963076
https://abf.io/build_lists/4963077
****************************** Advisory **********************
ALSR and IB enabled 
**************************************************************
QA Verified