Re: Skript pro kontrolu napadení operací Windigo, test zranitelnosti OpenSSL

David Jež Dave.Jez na seznam.cz
Čtvrtek Duben 10 19:27:19 CEST 2014


> OpenSSH server pokud není "vylepšen"  například pomocí Linux/Ebury, paměť s 
> jimými procesy nesdílí. Ochrana paměti jádrem by měla zabránit v přístupu k 
> jeho paměťovému prostoru z jiných procesů. Daemon používající služby OpenSSL 
> by tak neměl být schopen poskytnout segmenty paměti, co má přidělen jiný 
> proces (v tomto případě SSHD), protože k nim prostě nemá přístup.
>
> Jak známo, pokud se proces snaží pomocí ukazatelů sápat mimo přidělenou 
> paměť, obvykle zkončí segfaultem.
OpenSSH je v téhle chybě zcela mimo hrací plochu. Co se chyby týče je prostě problém už jen fakt, že vykdáká ven malou část paměti stejného běžicího procesu. To, že snad nekdáká ven i z jiných procesů, závažnost chyby nijak nesnižuje.

> Chyba v OpenSSL je podle mě zneužitelná jen prostřednictvím síťových 
> daemonů, kteří naslouchají na nějakém portu sítě, používají ke komunikaci 
> privátní klíče a certifikáty, a zároveň k manipulaci s nimi využívají služby 
> knihoven OpenSSL.
Chyba je zneužitelná na cokoli, co může navázat TLS spojení (jakékoliv) pomocí openssl knihovny zkompilovane s podorou heartbeatu. Nemusí to být nutně jen síťový demon - jakékoliv tunely, wrapery pro tunely nebo naopak wraper mezi tunelem a nějakým běžicím skriptem, sdílená knihovna a tak dale a tak podobně.

> Ten restart je snad nutný proto, že SSH běží nad OpenSSL, má ho v 
> závislostech. Důvodu přesně nerozumím, ve sdílených knihovnách sshd knihovny 
> OpenSSL nemá. Viz
Jasně že má knihovny z openssl balíku:
libcrypto.so.10

Každopádně SSH přece nepoužívá TLS spojení, problém je v části kódu která je v jiné knihovně. SSH certifikáty tak není třeba řešit vůbec; ten restart se provádí pouze proto, aby byl zaveden se stejnou binárkou která je na disku po aktualizaci (může být jinak přeložena a binárně různá) ne kvuli chybě samotné.


Další informace o konferenci Linux