GNU/Linux >> Znalost Linux >  >> Linux

Poskytuje kompromitované jádro úplnou kontrolu nad zařízením?

Spuštění kódu v "prostoru jádra" znamená jeho spuštění v prostoru kruhu 0. Jinými slovy, je to přísná definice „mít úplnou kontrolu“.

Jedinou výjimkou by bylo, pokud používáte hypervizor. V takovém případě by vám spuštění kódu v kruhu 0 virtualizovaného OS poskytlo „pouze“ plnou kontrolu nad virtualizovaným zařízením, nikoli nad hypervizorem (o kterém se říká, že běží v kruhu -1), na kterém běží. Abyste se k tomu dostali, potřebovali byste samostatný únikový exploit.


Dalo by to útočníkovi úplnou kontrolu nad telefonem? Mohli by například nainstalovat keylogger nebo jiný malware?

To je možné. Vzhledem k tomu, že jakékoli kontroly oprávnění (tj. přístup k souborům, přístup ke klávesnici...) se provádějí uvnitř jádra, kód běžící uvnitř jádra může vyvolat potřebné akce jednoduše přímo bez provádění těchto kontrol.

Umožnilo by to kompromitovanému zařízení provést OTA útok na jiná zařízení stejným způsobem (stal by se červem)?

Je možné, že některé akce vyžadují přístup k jádru, například schopnost vytvářet manipulované síťové pakety, které lze použít ke kompromitaci jiného zařízení. To ale neznamená, že pro takové útoky vždy potřebujete přístup k jádru, tj. obvykle stačí přístup root a někdy to může udělat i běžný uživatelský proces, v závislosti na přesném útoku.

Jsou tyto obavy zmírněny jinými bezpečnostními funkcemi, jako je SELinux, dm-verity atd.?

Jakmile má útočník přístup k jádru, tyto techniky nepomohou. Mohou však pomoci, aby útočník nezískal přístup k jádru. Ale jestli pomohou nebo ne, záleží na přesném vektoru útoku. Nepomohou například v případě nedávné zranitelnosti síťového ovladače Broadcom, kterou by mohly spustit specifické síťové pakety.


Linux
  1. Poskytuje subsystém Windows pro Linux dodatečné zabezpečení (izolace podobná VM) oproti spouštění nativních programů Windows?

  2. Určete, který host běží na XEN:HVM nebo PV host

  3. Jak jádro připojí kořenový oddíl?

  1. Získat čas uživatele a jádra běžícího procesu?

  2. Jak vrátit kontrolu nad klávesnicí zpět na X server po triku Alt + Sysrq + R?

  3. Proč musí být zařízení raid 10 inicializováno?

  1. Má jádro Linuxu hlavní funkci?

  2. Spuštění aplikace Qt přes web

  3. Používat zařízení přes SSH?