GNU/Linux >> Znalost Linux >  >> Linux

jádro:deaktivace /dev/kmem a /dev/mem

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ázvem CONFIG_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.


Linux
  1. Jak vygenerovat náhodné heslo v linuxu pomocí /dev/random

  2. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  3. Jak přenosné jsou /dev/stdin, /dev/stdout a /dev/stderr?

  1. Kdy použít /dev/random vs /dev/urandom?

  2. Jak namapovat zařízení /dev/sdX a /dev/mapper/mpathY ze zařízení /dev/dm-Z

  3. Co jsou soubory /dev/zero a /dev/null v Linuxu

  1. Jak kódovat base64 /dev/random nebo /dev/urandom?

  2. Jak mohu změnit množství a velikost linuxových ramdisků (/dev/ram0 - /dev/ram15)?

  3. Jak Linux používá /dev/tty a /dev/tty0