Számos fejlesztői account-ot zárt le a Debian projekt a múlt heti incidens után

Címkék

A Debian projekt számos fejlesztőjének hozzáférését vonta vissza azután, hogy vizsgálatot indítottak a múlt héten feltört gluck.debian.org ügyében. Az account-ok lezárása azért következett be, mert kiderült, hogy egy fejlesztő account-ján keresztül törték fel a szervert. Martin Schulze leveléből kiderül, hogy a szerveren a napokban felbukkant exploit(ok egyikének) segítségével szereztek root jogot.

A fejlesztők jelszavainak vizsgálata után kiderült, hogy a többüknek is gyenge jelszava volt. Ezeknek a fejlesztőknek a hozzáférése zárolásra került. Noha a "gluck" névre hallgató szervert az incidens után újratelepítették, és az újra online, a Debian infrastruktúráját adó egyéb gépek egyelőre le vannak zárva további vizsgálat és frissítés céljából.

Schulze szerint a támadónak nagyon kevés ideje volt a kernelhiba kihasználása és az adminisztrátorok észlelése közt, így nem volt ideje nagy kárt okozni. Az egyetlen nyilvánvalóan kicserélt bináris a /bin/ping volt. A feltört account-ról nem lehetett hozzáférni a projekt más korlátozott host-jaihoz, így nem volt esély arra, hogy a támadó kárt okozhasson a Debian archívumokban.

A betörés nem az első volt a Debian történetében. 2003-ban hasonló probléma miatt kellett lezárni több Debian szervert is.

A ZDNet cikke itt.

Hozzászólások

Hogyan lehet eldönteni egy kódolt jelszóról, hogy mennyire erős? Netán debilék kódolatlanul tárolják a jelszavaikat? (Ez már annyira nyílt projekt, hogy legközelebb webre is kiteszik? ;) )

A hivatalos terminológia szerint:
Gyenge jelszó pl. fefwfnkuttshgwfuzwtfhfg - csak kisbetűkből áll, nemá, percek alatt kitalálom...
Erős jelszó pl. 123456Aa - az igazi védelem kulcsa, mert kisbetű+nagybetű+szám!

Most komolyan, kérdezném egy szakembertől: ennek mi az értelme??

Multkor IRC-n számolgattuk, hogy [a-zA-Z0-9]{5} tartományba eső MD5-l titkosított jelszavak visszakeresése egy jobbfajta mezei otthoni gépen megvan néhány óra alatt. (Pontosabban ez becslés volt) 6 karakteres md6-hasht visszakeresni is néhány nap csak. (Lehet segíteni rajta többmagos procival többszálon, többprocival, stb. :-).

Mindez fájlba írva érdekes. Szimpla szövegként kiírva mindenféle optimalizáció nélkül 5 karakterrel, olvasható formában (32 karakter hash + szóköz + eredeti string + enter jel = 39 byte) 35 729 180 448 byte (33,28 Gb) volt legenerálva. PHP kb 3 nap alatt végzett vele :). Delhiben megírt változata kevesebb, mint 10 óra alatt végzett volna (ezt már nem vártam meg). (Mgj.: a PHP ennél arányaiban lassabb, csak az MD5 kódoló függvény natív C-s. Emiatt nem kell Perlben ilyet írni, mert még az 1.3-s Tbirdem lehagyja a 3000+-s Athlon64-t :).

Ha 6 karakterrel akarjuk legenerálni, akkor viszont kicsit több hely kell. Ha a hashek első két karakterét levágjuk (majd mingyárt modom miért), és a következő négy karakterét is levágjuk és abba a fáljba írjuk, valamint a maradék 26 karaktert binárisan ábrázoljuk (13 byte), az eredeti hash karaktereit is 6 biten ábrázoljuk (2^6 = 64, nekünk meg 62 féle karakterünk van), akkor megint spórolunk egy byte-t (5 byte), tehát 18 byte-s sorhosszúságokkal (ha jól emlékszem ~ 17 megás darabokban) gyorsan kereshetően fel tudjuk írni 256 DB DVD-re a hasheket. A legelső két karakter a CD sorszáma. Ezt már viszont nem próbáltam ki :)

Mennyire lehettek gyengék azok a jelszavak?
Csak nem ilyenek, hogy: "debian", meg "linux", vagy esetleg a saját felhasználónevek?

Mert ugye ennél nehezebb esetekben már csak lett volna rövid időn belül pár ezer/tízezer/százezer sikertelen bejelentkezési kísérlet is, amíg sikerül a működő jelszóra rátalálni, nem? Amit viszont már menetközben illett volna detektálni, és automatikus intézkedésekkel meggátolni - gondolom én.

---
If you have money, use Windows!
However, if you also have a brain, use Linux!

Igazolva látom PaXTeam korábbi állításait:
- komoly biztonsági hiba volt
- vmiért (talán a kernel hírnevének megőrzéséért) a javítás changelog-jában ezt nem írták le
- emiatt aki nem vol résen, nem frissítette a kernelét
- aki résen volt, az pedig rögtön kihasználta ezt

Továbbá az az érzésem, hogy aki ezt csinálta, az azért vizelt rögtön a trambulinról a medencébe, hogy ezzel is a kernel minőségét javítsa. Köszi érte!

Elvileg igazad van, gyakorlatilag mégsem. Azaz gyakorlatilag a debian.org emberei magukra vessenek, amiért a logban első helyen említett DoS támadást komolytalannak ítélték. Véleményem szerint a kernel memória olvasási lehetőségre legalább olyan mértékben föl kellett volna hívni a figyelmet, mint ahogy annak idején a libjpeg-en csámcsogtak.

"or allow the local user to gain root privileges." <- ezt vesd össze azzal, hogy azt állítottad "vmiért (talán a kernel hírnevének megőrzéséért) a javítás changelog-jában ezt nem írták le"

De. Leírták. És felhívnám a figyelmet az "or" angol szó jelentésére. Azt jelenti "vagy".

--
trey @ gépház