Existuje balíček snímků ze Scale 7x 2009 s názvem:Podkopávání jádra Linuxu:Vložení škodlivého kódu přes /dev/mem, který obsahoval tyto 2 odrážky.
Kdo to potřebuje?
- Server X (videopaměť a řídicí registry)
- DOSEmu
Ze všeho, co jsem doposud při vyhledávání našel, by se zdálo, že tyto 2 kulky jsou průkopníky pro legitimní použití.
Odkazy
- Anthony Lineberry na /dev/mem Rootkits – LJ 8/2009 od Micka Bauera
- Kdo potřebuje /dev/kmem?
Stojí za zmínku, že i když jste zakázali /dev/mem
a /dev/kmem
že paměť může být stále vypisována; podívejte se na man proc
odhalit /proc/kcore
; je to fyzická paměť systému. Opravdu dobrá sada forenzních nástrojů rekall má nástroj, který to již dělá; vypíše paměť (a /boot
soubory), aby mohly být analyzovány.
Ve skutečnosti Ubuntu ve výchozím nastavení deaktivuje /dev/kmem
:
/dev/kmem
se v moderní době nepoužívá nic víc než útočníci, kteří jej používají k načítání rootkitů jádra.CONFIG_DEVKMEM
je nastaveno na "n". Zatímco/dev/kmem
uzel zařízení stále existuje v Ubuntu 8.04 LTS až Ubuntu 9.04, ve skutečnosti není připojen k ničemu v jádře.
Ubuntu nezakáže /dev/mem
protože to aplikace potřebují.
Některé aplikace (Xorg) potřebují přímý přístup k fyzické paměti z uživatelského prostoru. Speciální soubor
/dev/mem
existuje, aby tento přístup poskytoval. V minulosti bylo možné prohlížet a měnit paměť jádra z tohoto souboru, pokud měl útočník přístup root.CONFIG_STRICT_DEVMEM
možnost jádra byla zavedena pro blokování přístupu do paměti mimo zařízení (původně s názvemCONFIG_NONPROMISC_DEVMEM
).
Jak deaktivovat /proc/kcore
?
Nepovolujte CONFIG_PROC_KCORE
při sestavování jádra.
Jak deaktivujete /dev/mem
?
Podívejte se na man mem
nám poskytuje některé podrobnosti o tom, jak byl vytvořen:
mknod -m 660 /dev/mem c 1 1
chown root:kmem /dev/mem
Měli byste být schopni pouze rm -rf /dev/mem
; můžete zakázat během fáze sestavování jádra tím, že nepovolíte CONFIG_STRICT_DEVMEM
.
Jak deaktivovat /dev/kmem
?
Ujistěte se, že CONFIG_DEVKMEM
není povoleno při sestavování jádra.
Jak zabránit útokům typu cold-boot?
Co kdybych byl schopen deaktivovat /proc/kcore
, /dev/mem
, /dev/kmem
a pak použil šifrovaný odkládací oddíl nebo nepoužil swap vůbec? No, vaše paměť by mohla být zmražena a zpřístupněna tímto způsobem. Jak tomuto útoku zabráníte? Zašifrujete svou RAM; jak šifruješ RAM? Nemůžeš. Podrobnosti viz TRESOR.