Számolni kell SSH worm felbukkanásával?

Bruce Schneier neves crypto szakértő bolgjában bukkant fel egy írás, amely elgondolkodtató...

Az SSH, vagy hosszabb nevén Secure Shell, egy standard protokoll, amelynek segítségével távolról tudjuk adminisztrálni UNIX (és más) rendszereinket. Számos helyen használjuk, például egyetemeken, laborokban, cégeknél... Az SSH-nak köszönhetően a rendszeradminisztrátorok akár sok száz gépet is kényelmesen felügyelhetnek a saját kényelmes irodájukból.

Mikor a felhasználó SSH kliense első alkalommal lép kapcsolatba egy SSH szerverrel, eltárolja annak hostnevét és publikus kulcsát egy known_hosts adatbázisba. Ez a név/kulcs adatbázis lehetővé teszi a kliensnek, hogy a jövőben könnyen azonosíthassa a szervert.

Egyesek szerint ez az adatbázis mindamellett, hogy segít, rizikót is hordoz magában.Ha a felhasználó fiókját feltörik, akkor ezt az adatbázist a támadó további támadásokhoz használhatja céllistaként.

A MIT berkeiből bukkant fel most egy dolgozat, amely azt vizsgálja, hogy mekkora a valószínűsége annak, hogy ilyen módon működő és terjedő worm bukkanjon fel a jövőben az Interneten.

A dolgozat nem csak a rizikót elemzi, hanem példát is említ az ellenintézkedésekre. Azt javasolja, hogy az adatbázisban a jövőben ne a hostneveket, hanem azok hash-eit tároljuk. Ez a megoldás hasonlítana a password-ök tárolására, ahol szintén nem a jelszavakat magukat, hanem a hash-eket tároljuk, és így a biztonság nem csak az adatbázis biztonságán múlik.

A dolgozat szerzői együttműködnek a nyílt forrású közösséggel amelynek eredményeképpen az OpenSSH 4.0 már támogatja a known_hosts adatbázis hash-elését, az OpenSSH 3.9-hez pedig patch formájában lehet ezt a funkciót elérni.

Bruce cikke itt.

Hozzászólások

offtopic: trey: s/egyöttműködnek/együttműködnek

Egyebkent erdekes a felvetes. Szerintem jelenleg nincs akkora veszelye ennek, de ennek a dolgozatnak a nyoman valoszinuleg tobben raugranak a dologra.

Viszont annak orulok, hogy ilyen gyorsan lepett erre az open source kozosseg, ez a hash igen jo otlet, mashol is tamogatnam.

Engem inkabb az idegesit, hogy nyilvan tobb porton futtathatnek elvileg tobb ssh daemon-t is pl. Na ebben az esetben allandoan reklamal szerencsetlen ssh kliens, hogy megvaltozott a hostkey, dehat nyilvan: a 22-es porton listen-elo ssh nyilvan tok masik mint pl a 222-es porton levo ...

Én ezt úgy oldom meg, hogy a rendszer hosts fájljába és a saját .ssh/config-omba is felveszem az ilyen spéci gépeket többször, különböző nevekkel és így kényelmesen be tudom állítani hozzájuk a szükséges portot és szükség szerint a felhasználót, kulcsot stb.

üdv

atya

és pl a bash_history-ból kiszedett felhasználónév-gép párosok? :-)

jól sejtem, hogy ha valaki megszerzi a saját listámat, attól még a jelszavakat nem fogja megtudni? csak host és publikus kulcsa lesz... nemde?

ha igen, akkor meg mit kell parázni?

Márkus Sándor wrote:
> jól sejtem, hogy ha valaki megszerzi a saját listámat, attól még a
> jelszavakat nem fogja megtudni? csak host és publikus kulcsa lesz... nemde?
> ha igen, akkor meg mit kell parázni?
Olvasd el a cikk címét: ssh worm.

Tehát onnan indul a probléma, hogy a worm bejut a te ssh szerveredre
(mert az hibás) és a known_hosts fájlodat felhasználva további
szerverekre terjed szét.

> jól sejtem, hogy ha valaki megszerzi a saját listámat, attól még a
> jelszavakat nem fogja megtudni? csak host és publikus kulcsa lesz...
> nemde?
>
> ha igen, akkor meg mit kell parázni?

Mert a cikk szerzője arra akar rámutatni, hogy ha felbukkanna egy remote ssh
bug, akkor a worm tudna ugy terjedni, hogy a megfertozott gep usereinek
known-host-jait venne celba tovabbiakban. Sokkal hatekonyabban terjedne
igy, mint iptartomanyok portszkennelesevel.
Kb. ugyanaz, mint wines emailben terjedo progik OutLook cimjegyzeket
hasznaljak tovabbkuldeshez...

Segitsetek mar, mer en nem vagom hogy mi is a gond itt. Tehat feltorik
az accomat es megszerzik a known_hosts file-omat, akkor most mi is a
baj? (Mar azon kivul, hogy bejutottak ami eleg nagy gaz.)
Megtudjak, hogy hova szoktam belepni? Kiprobalhatjak oda is az ismert
jelszavaimat? Mert mas gondot en nemigen latok, ez meg menni fog nekik
know_hosts file nelkul is, ha nem is annyira konnyen. Szoval, oke, oke,
kockazat, de emiatt nem fogok ssh-t frissiteni. ;)
Vagy mi az amit nem latok?

> ezek szerint egy ilyen worm miután talált egy sshd-t futtató gépet, bejut, majd a lista alapján tovaterjed?

A dokumentum ennek a lehetoseget vizsgalja...

> milyen károkat tud okozni esetlegesen?

Ha mar shellje van? Barmit. Zombi gepkent hasznalja a geped a DDoS-hoz, irc botot futtat, warez-t terjeszt, exploit letolto helynek hasznalja, vagy csak eppen gyerekpornot tesz a public_html-edbe, ami miatt 10 kotelet kapsz...

"Az SSH-nak köszönhetően a rendszeradminisztrátorok akár sok száz gépet is kényelmesen felügyelhetnek a saját kényelmes irodájukból."

Ahogy azt a laikus elképzeli. Így terjednek a városi legendák. A kényelmes rendszergazda kényelmes irodája...

Minek az eselye?

Hogy felbukkan egy ssh worm?

Hogy remote bug van az sshd-ben?

Vagy hogy talal ssh kulcsokat, amelyekkel tovabb tud

terjedni az ismert hostokra?

Ha talalnak ilyen bugot, akkor lesz expoit is tutira, de lesz javitas is igen gyorsan.

Tehat a kihasznalas eselye eleg kicsi. Persze egy ilyen bug utan rendesen

korul kell nezni ssh kiszolgalot futtato gepeken.

Ha viszont mar bejutott es van rsa vagy dsa kulcs, akkor szabad a palya.

De csak akkor, ha jelszo nelkul hasznaljuk a kulcsunkat ill. ha mar beadagoltuk a jelszot az agentnek. :)

A known_host nelkul persze nem sok eselye lenne megtalalni a megfelelo gepeket.

Megoldas: Hasznaljnk 4-es ssht vagy megpatkolt 3.9-et HashKnownHosts parameterrel.

Legyen jelszo a privat kulcson.

Figyeljuk rendszeresen az erratakat.

Es akkor minden nap orulni fogunk...

(Persze ha van beer a fricskoban :))

On 2005-05-12, LGB <spam@lgb.hu> wrote:
>
> Engem inkabb az idegesit, hogy nyilvan tobb porton futtathatnek elvileg
> tobb ssh daemon-t is pl. Na ebben az esetben allandoan reklamal
> szerencsetlen ssh kliens, hogy megvaltozott a hostkey, dehat nyilvan: a
> 22-es porton listen-elo ssh nyilvan tok masik mint pl a 222-es porton levo

NoHostAuthenticationForLocalhost yes