Varnostni center SI-CERT je v zadnjih nekaj tednih opazil porast pregledovanja internet naslovnega prostora z namenom identificiranja strežnikov, na katerih teče SSH strežnik, z namenom pridobitve nepooblaščenega dostopa do tujih sistemov (oz. vdora v sistem).
Opis
SSH (Secure Shell) omogoča dostop do ukazne lupine (imenovan tudi “terminalski dostop”), pri čemer se podatki, ki so med sejo izmenjani, šifrirajo. Na ta način se izognemo prisluhu seje, pri katerem bi lahko razkrili občutljive podatke (kot je recimo geslo za dostop do uporabniškega računa). SSH strežniki se praviloma uporabljajo na UNIX/Linux operacijskih sistemih in nekaterih usmerjevalnikih.
V izvedbi napada lahko napadalec izkoristi ranljivost implementacije strežnika (če niso nameščeni ustrezni popravki), lahko pa s poskušanjem kombinacij uporabniškega imena in gesla pridobi nepooblaščen dostop do ukazne vrstice. SI-CERT je prejel tudi prijave, iz katerih je razvidno, da so napadalci uporabljali slovar slovenskih imen in pojmov, iz česar gre sklepati, da so napadalci fizično locirani v Sloveniji, čeprav je navidezni izvor napada v tujini.
Okvirni potek napada
1. Pregledovanje naslovnega prostora
Napadalec mora najprej locirati naprave, na katerih je omogočen dostop preko protokola SSH. Strežnik običajno sprejema povezave na vratih (angl. “port”) 22. Pregled se izvede s programom, ki izvede poskuse povezave na vrata 22 za večji kos internet naslovnega prostora. Če je na lokalnem omrežju nameščen požarni zid (angl. “firewall”), lahko skrbnik opazi takšno pregledovanje v dnevniških zapisih požarnega zidu.
2a. Izraba ranljivosti v implementaciji SSH strežnika
Nekatere verzije SSH implementacij (najbolj pogosto uporabljana je OpenSSH) vsebujejo ranljivosti, ki omogočajo bodisi zaustavitev strežnika, ali pa izvedbo poljubne kode na ciljnem sistemu. Ta lahko omogoči napadalcu nepooblaščen dostop z administratorskimi pravicami (t.im. “root dostop”).
2b. Poskušanje z gesli iz slovarja
Napad s slovarjem (angl. “dictionary attack”) omogoča napadalcu poskuse dostopa preko obstoječega uporabniškega imena na ciljnem sistemu, pri tem pa uporablja slovar pojmov in z njim skuša uganiti kombinacije uporabniških imen in gesel na sistemu.
3. Namestitev stranskih vrat in orodij za prikrivanje sledov
Če napadalcu uspe pridobiti dostop do ciljnega sistema, lahko namesti stranska vrata, ki mu omogočijo prikrit dostop v bodočnosti. Dodatno lahko poskusi zagnati orodja, ki lahko privedejo do dodelitve administratorskih pravic. Če mu ta korak uspe, lahko dodatno namesti orodje za prikrivanje sledov in izvedbo prisluha (t.im. “rootkit” orodja), preko katerega pridobi gesla za dostop do drugih sistemov in storitev na internetu, ki jih uporabniki ciljnega sistema uporabljajo.
Zaščita
- Preverite, ali vaš računalnik dopušča dostop preko SSH strežnika na vratih 22. Če storitve SSH ne potrebujete, potem jo odstranite.
- Če je le mogoče, omejite dostop do SSH strežnika tako, da na programskem požarnem zidu (in požarnem zidu lokalnega omrežja) dovolite dostop do vrat 22 le iz tistih IP naslovov, iz katerih se priklapljajo vaši uporabniki.
- Preverite, ali je nameščena zadnja verzija SSH strežnika – to najlažje storite tako, da uporabite program za nameščanje varnostnih popravkov, ki je vključen pri distribuciji vaše različice operacijskega sistema.
- Poskrbite za to, da so gesla uporabniških računov dovolj varna; ne uporabljajte besed in pojmov, ki jih lahko najdete v slovarjih (tako slovenskih, kot angleških), geslo naj bo dolgo vsaj šest znakov in naj po možnosti vsebuje male in velike črke, ločila in številke.