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