Titkosítás, biztonság, privát szféra

Anti-Santy féreg akcióban

Újabb phpBB féreg. A féreg ezúttal javít(ani próbál).

Karácsony előtt kezdett tombolni a Santy.{A, B, C} névre hallgató perl féreg, amely a 2.0.11-es verziójúnál korábbi phpBB fórumokban található highlight bugot használja ki. A féreg távolról parancsokat futtat a hibás fórummotort futtató gépen, és azt deface-li, vagy irc-s támadásokhoz ``zombi'' géppé alakítja. A sikeres támadás után a Santy odébbáll és újabb áldozatokat keres. Ehhez a Google és a Yahoo keresőit használja fel.

A járvány meglehetősen komoly, mert a phpBB sok millió oldal kedvenc fórummotorja. A támadás ráadásul karácsonykor tetőzött, amikor a legtöbb oldal gazdája és a hosting cégek rendszergazdái is mással foglalkoztak, mint az oldaluk patchelésével. Az eredmény: kb. 40.000 deface-lt oldal pár nap alatt. A próbálkozások miatt a javított oldalakon is komoly hálózati forgalmat generál a Santy. Akkor is próbálkozik, ha az oldal már nem sebezhető (hatásos védekezés lehet ellene a patchelésen kívül a mod_rewrite és a mod_security Apache modulok használata. Persze ettől még az oldalon nem lesz kisebb a hálózati forgalom.)

Valaki úgy gondolta, hogy ha a bugot rossz szándékkal fel lehet használni, akkor akár jó (?) szándékkal is. Ez a valaki írt egy Anti-Santy férget, és eleresztette az interneten. A működése hasonló a Santy-éhoz (elképzelhető, hogy egy módosított Santy), amely szintén sebezhető oldalakat keres a Google-ban (hogy mennyire hatékony azt nem tudni, mert a Google már sok-sok napja blokkolja a féreg kéréseit). Viszont ellentétben a Santy-val, ez nem tesz irc botokat az áldozatul esett gépekre. Egyszerűen megpróbálja kijavítani a viewtopic.php-ban levő bugot, majd a következő üzenettel deface-li az oldalt:

``viewtopic.php secured by Anti-Santy-Worm V4. Your site is a bit safer, but upgrade to >= 2.0.11.''

Vírusírtó cégek a támadások alapján arra következtetnek, hogy az Anti-Santy wormok Argentínából indultak útjukra.

Természetesen ez a féreg sem jobb, mint a Santy. Ugyanolyan káros forgalmat generál a phpBB oldalakon, mint korábbi társai.

Bővebben itt.

Anti-Phishing toolbar a NetCraft-tól

A phishing (adathalászat) támadás során a támadó spoofolt email cím, vagy hamisított weboldal felhasználásával próbálja meg becsapni az áldozatát és megfosztani személyes, titkos adataitól (például: jelszavak, bankszámla adatok, hitelkártya számok, stb.). A phishing a social engineering egyik fajtája. E típusú támadás az 1990-es évek közepén vésődött be az emberek agyába, mikoris crackerek AOL accountokat próbáltak lopni.

Példa a phishing-re: A támadás során a cracker az AOL munkatársának adhatja ki magát, és arra kérheti a kiszemelt felhasználót, hogy az küldje el jelszavát abból a célból, hogy azt leellenőrizhessék. Miután a naív felhasználó elküldte jelszavát, azzal tetszőleges visszaélést követhet el a támadó. Például spammelhet.

A phishing típusú támadások sokkal veszélyesebb fajtája, mikor a támadó pénzintézetnek adja ki magát. Erre nem is olyan régen volt példa itthon is, mikor a legnagyobb magyar bank nevében próbáltak meg bankszámla adatokat és jelszavakat kicsalni a gyanútlan ügyfelekből. A bank közleményben jelezte, hogy soha, semmilyen körülmények közt nem kéri ügyfeleit titkos banki adatai kiszolgáltatására. A phishing nagy probléma, mert azok az emberek akik nem nagyon járatosak az ilyen típusú támadásokban, könnyen áldozatul eshetnek. Elég egy az ügyfél bankjának netbanking oldalához megtévesztésig hasonló weboldalt elkészíteni, spammelni, majd várni, hogy ki mikor adja meg bankszámlájának adatait.

A phishing típusú támadások egyre nőnek. A phishing ellen létrejött egy munkacsoport, az APWG (Anti Phishing Working Group), amelynek szponzorai között megtalálhatók a legnagyobb hitelkártya cégek éppúgy, mint a vezető vírusírtó és biztonságtechnikai cégek. Nem véletlenül. Például Jonathan Schwartz, a Sun elnöke szerint a phishing az egyik olyan dolog amitől a legjobban fél.

Most éppen a NetCraft gondolta úgy, hogy valamit tenni kellene a phishing ellen. A NetCraft egy olyan böngésző toolbar-t készített és tett elérhetővé a napokban, amely a böngszőben jelzi, ha valaki phishing oldalra tévedt.

A toolbar állandóan információkat szolgáltat az éppen aktuálisan meglátogatott weboldalról, és jelzi, ha az oldallal probléma van. Ehhez a NetCraft adatbázisát használja fel, de a felhasználók is közreműködhetnek azzal, hogy gyanús oldalakat jelentenek a NetCraft-nak a toolbar vagy az erre készült weboldal segítségével.

A toolbar segítségével blokkolhatjuk a ártó szándékú weboldalt. Azon túl, hogy a toolbar segít a phishing oldalak elleni harcban, további infókat is szolgáltat az siteokról. Például jelzi, hogy az adott oldal mennyire népszerű a toolbar használók közt. Emellett elérhetők az oldal NetCraft által monitorozott adatai is, például az uptime, netblock owner, stb.

A toolbar egyelőre csak IE-re tölthető le, de a készítők már dolgoznak a Firefox verzión is, amelyet ígéretük szerint hamarosan letölthetünk.

Bővebben a NetCraft oldalán itt, itt és itt.

A Linux tovább bírja... :-)

A C|net oldalán olvasható egy elemzés (az elemzést a HoneyNet Project készítette) arról, hogy a nem patchelt Linux rendszerek tovább bírják megtörés nélkül az Interneten, mint a Microsoft által gyártott Windows rendszerek.Korábban már számos beszámoló, elemzés jelent meg arról, hogy a Windows (mindenféle patch, javítócsomag, stb. nélkül) alig 4-5 percig bírja ki (például itt) az Internetről jövő támadásokat. A C|net-nél nagyító alá vették a helyzetet. Az M$ természetesen tagadja, hogy ilyen kevés ideig bírná a rendszere..



Az elemzés itt.

Találkozás az OpenVPN-nel

Teljes értékű VPN megoldás roadwarrior-ok számára.

A LinuxJournal legfrissebb cikkei között akadtam egy olyan dokumentumra, amely az OpenVPN-ről szól.

``Ha a cégednek utazó alkalmazottai vannak, pl. kereskedők, technikai emberek, akkor a VPN jó megoldás lehet arra, hogy lehetővé tedd számukra azt, hogy hozzáférhessenek a céges hálózaton levő adatokhoz. Számos VPN megoldást lehet vásárolni, de számos olyan van, amelyik szabadon elérhető. Itt csak azokról a megoldásokról fogok beszélni, amelyekkel úgy tudsz VPN-t készíteni, hogy nem kell kereskedelmi VPN terméket vásárolnod.''

A cikk szemügyre veszi a lehetséges megoldásokat, úgymint: IPsec (bonyolult), PPTP (biztonsági szempontból nem a legjobb), L2TP (csomag overhead, lassabb kapcsolat)...

A cikkíró ezen megoldások helyett inkább az OpenVPN-t ajánlja. A cikkben bemutatja az OpenVPN előnyeit, hátrányait.

A cikk itt.

POC: MD5 Message Digest algoritmus hash ütközés

Még a nyári hőségben, augusztus végén volt szó arról, hogy szakértők hibát találtak az MD5-ben (Ronald L. Rivest MD5 Algorithm). Akkor azt olvashattuk, hogy az elmélet szerint lehetséges több olyan különböző adatbemenetet generálni az MD5 számára, amelynek a fingerprintje (kimenete) azonos lesz. Könnyű belátni, hogy ez milyen veszélyeket hordoz magában. Miért?

Az MD5-öt széles körben használják a webes adatszolgáltatásban. Elég arra gondolni, hogy szinte az összes weben terjesztett operációs rendszer ISO image-et, bináris filet az MD5 ellenőrző-összegük (checksum) alapján azonosítjuk. Jó példa volt az MD5 hasznosságára mikor backdoor-t találtak a portolható OpenSSH (openssh-3.4p1.tar.gz) kódjában. Az MD5 segítségével könnyen ki lehetett szúrni, hogy melyik az eredeti és melyik a módosított változat. Az MD5-nek korábban megvolt az a jó tulajdonsága, hogy különböző bemeneti adatok esetén különböző ellenőrző-összeget adott vissza, így gyakorlatilag lehetetlen volt két különböző bemeneti adat esetén ugyanazt az eredményt kapni.

Mostmár nincs ez így. Megszületett az első proof-of-concept kód, amely bebizonyítja, hogy az MD5 algoritmust -már nem csak elméletileg- be lehet csapni. Az elmélet bizonyítására Dan Kaminsky elkészített egy olyan perl scriptet, amely jól demonstrálja az MD5 gyengeségét:A script a stripwire-1.1 névre hallgat. Ha futtatjuk a demo-t, akkor a következőt kapjuk:

(600MHz 52C) trey@alderaan:/tmp/stripwire-1.1 $ ./stripwire.pl -v -b backlash.pl

fire.bin: md5 = 2fda7b311ce4d4f05256284e41843d87

ice.bin: md5 = 2fda7b311ce4d4f05256284e41843d87

fire.bin: sha1 = 5ee5f5edc5744a4803baaf0b4c869d65d6001888

ice.bin: sha1 = 072c421c6e43db03204665c59ade2eb45827ae6c

A script létrehoz egy ice.bin és egy fire.bin névre hallgató binárist. Az MD5 szerint a két file ugyanaz, a fingerprintjük egyezik. De ha megvizsgáljuk a két binárist egy másik algoritmussal, mondjuk SHA1-gyel (Secure Hash Algorithm - SHA), akkor jól látszik, hogy két különböző fileról van szó.

(300MHz 52C) trey@alderaan:/tmp/stripwire-1.1 $ diff ice.bin fire.bin

Binary files ice.bin and fire.bin differ

Ezzel bizonyítást nyert az a feltételezés, hogy elméletileg lehetséges egy ISO image-et vagy bináris file-t úgy kicserélni egy FTP szerveren, hogy az eredeti file-ba mondjuk egy backdoor-t tesznek, de a módosított file MD5 ellenőrző-összege ettől még nem változik. Egy szerencsénk van jelenleg: az hogy egyelőre nem tudnak a támadók tetszőleges bemeneti adatokkal dolgozni.

Ennek ellenére a biztonsági szakértők azt javasolják, hogy mindenki vizsgálja meg az olyan crypto rendszerét, amely MD5-tel dolgozik, és ha teheti keressen alternatívát helyette.

A POC letölthető:

http://www.securityfocus.com/data/vulnerabilities/exploits/stripwire-1.1.tar.gz

Bővebb infó itt.

A kernel-szintű támadások felfedezése gdb-vel

A Securityfocus oldalon olvashatunk egy érdekes cikket Mariusz Burdach tollából, amely arról szól, hogy hogyan tudjuk a gdb (GNU debugger) segítségével felfedezni azt, ha valaki támadó szándékkal módosította Linux operációs rendszerünk kernelét.Ismeretesek olyan technikák, amelyek segítségével úgy is lehet kompromittálni egy (Linux) kernelt, hogy az nem moduláris, és nincs szükség külső kernelmodul betöltésére. Ilyen technika a Linux kernel röptében (on-the-fly) való patchelése. Magyarul az sincs biztonságban, aki azt hiszi, hogy nem támadható, mert nem modulásris kernelt használ... Érdekes cikk.

Megtalálod itt.

Firewire-ön keresztül feltörhetők az operációs rendszerek

Úgy tűnik, hogy hiába minden biztonsági intézkedés, ha a rosszindulatú támadó hozzáférhet fizikailag egy olyan géphez, amelyen firewire port van, akkor az a gép többé nem a gazdája gépe.

Maximillian Dornseif a Laboratory for Dependable Distributed Systems at RWTH Aachen University munkatársa egy az ``0wned by an iPod'' névre hallgató bemutató során számos olyan technikát mutatott be, amely az IEEE 1394 (firewire) interfésszel kapcsolatos. A firewire napjaink korszerű eszközeinek (pl. laptop-ok, desktop-ok, néhány szerver, kézi kütyük) szerves része. A firewire-t felhasználhatjuk jó (külső debug-olási céllal - pl. az operációs rendszer hibáinak felderítéséhez) vagy rossz szándékkal is.

A szakértők olyan hibát találtak a firewire tervezésében, amelyet kihasználva a rosszindulatú támadó hozzáférhet a megtámadott gép memóriájához. A szakember szerint minden operációs rendszer érintett. A teszteket végrehajtották FreeBSD 5.3, FreeBSD 5.2.1, MacOS 10.3.5 és MacOS 10.3.4, Knoppix (Linux) 3.6 rendszereken. Teszteltek Windows 2000 operációs rendszert is, amely összeomlott mikor Mac kliens kapcsolódott hozzá. A FireWire/IEEE 1394 specifikáció lehetővé teszi a kliens eszközök számára, hogy közvetlenül hozzáféhessenek a host számítógép memóriájához úgy, hogy keresztülhágják az operációs rendszerek korlátozásait. Az ártó szándékkal csatlakoztatott kliens eszköz (akár egy iPod is) képes arra, hogy olvassa és módosítsa a host gép memóriáját. Ez a hiba privilégium emeléshez, érzékeny adatok kinyeréséhez, rendszer összeomlasztáshoz használható fel. Minden olyan eszköz veszélyben van és biztonsági szempontból sebezhetőnek tekinthető, amely érzékeny adatokat tárol és fizikailag hozzáférhető. Ez lehet egy publikus rendszer vagy éppen egy lezárt laptop is.

A javításra egyelőre olyan ötletek vannak, hogy az ilyen gépekről fizikailag távolítsuk el a firewire portot, vagy notebook esetében epoxy gyantával öntsük ki a firewire csatlakozót, ha ezt el tudjuk viselni...

A teljes bejelentés itt.

VPN telepítése PKI-val

Egy két részből álló cikksorozat fut az O'Reilly.net oldalain, amely a Public Key Infrastructure (PKI) segítségével megvalósított VPN-t mutatja be.A cikksorozat az OpenVPN és az OpenSSL segítségével megvalósított virtuális privát hálózat felépítésének lépéseit ismerteti az olvasóval.

A cikksorozat első része itt, a második pedig itt.

Biztonságos programozás: a versenyhelyzetek megelőzése

``Mallorynak egy lopott jelszóval sikerült bejelentkeznie egy fontos szerverre, amely Linuxot futtatott. A shell egy meglehetősen szigorú shell volt, de Mallory tudta, hogy hogyan okozzon gondot. Mallory feltelepített és futtatni kezdett egy egyszerű programot, amelynek volt egy nagyon furcsa szokása -- gyorsan hozogatott létre és törölt ki különböző symlink-eket a /tmp könyvtárban, processzek sokaságát felhasználva. Mallory programja sok olyan symlink-et hozott létre, majd törölt le, amely a /etc/passwd filera mutatott.

Ezen a fontos szerveren biztonsági elővigyázatosságból minden nap futtattak Tripwire-t -- pontosabban egy régebbi verziót, a 2.3.0-ást. A Tripwire egy olyan biztonsági program, amely detektálja, ha valaki piszkálta a fontos fileokat. Amikor a Tripwire futni kezdett, megpróbált létrehozni egy átmeneti filet (temp file) a /tmp könyvtárban, úgy ahogy azt számos másik program is teszi. A Tripwire megvizsgálta, és úgy találta, hogy nincs ``/tmp/twtempa19212'' file, így azt gondolta, hogy ez pont jó lesz neki átmeneti filenak. Csakhogy miután a Tripwire ellenőrzött, Mallory programja létrehozott egy symlinket ezen a néven. Ez nem véletlen baleset volt, Mallory programja úgy lett tervezve, hogy azokon a neveken hozzon létre symlink-eket, amelyet a Tripwire többnyire használ. Ezután a Tripwire megnyitotta a file-t és elkezdte bele írni az átmeneti információkat -- de ahelyett, hogy egy új, üres filet kezdett volna írni, felülírta a /etc/passwd filet. Ezután senki -még az adminisztrátorok sem- tudtak belépni a rendszerbe, mert a passwd file megsérült. Lehetett volna rosszabb is, hiszen Mallory bármelyik filet felül tudta volna írni, akár egy a szerveren tárolt fontos file-t is.A történet kitalált, a Mallory név megszokott név a támadóknak. Viszont a támadás, és a sebezhetőség ilyen jellegű kihasználása, nagyon is gyakori. A gond az, hogy a legtöbb program támadható a versenyhelyzet (race condition) névre hallgató biztonsági hiba kihasználása folytán.''

``A versenyhelyzet bemutatása

1. Egy triviális C állítás:

b = b + 1;

Nagyon egyszerűnek látszik, nem? Tegyük fel, hogy két szál (thread) futtatja ezt a kódot, ahol is a ``b'' változó megosztott a két szál között és a változó kezdőértéke ``5''.

2.) A kód végrehajtásának egy lehetséges módja:

(szál1) betölti a ``b''-t a szál1 egyik regiszterébe

(szál2) betölti a ``b''-t a szál2 egyik regiszterébe

(szál1) hozzáad ``1''-et a szál1 regiszteréhez, és így kiszámolja az értéket, ami ``6''

(szál2) hozzáad ``1''-et a szál2 regiszteréhez, és így kiszámolja az értéket, ami ``6''

(szál1) letárolja a regiszterben található értéket (6) a ``b''-be

(szál2) letárolja a regiszterben található értéket (6) a ``b''-be

5-tel indultunk, és mindegyik szál 1-et adott hozzá, majd a végén 6-ot kaptunk... nem a várt 7-et. A probléma az, hogy a két folyamat zavarta egymást, és ez okozta a rossz választ.''

Akit érdekel a biztonságos programozás, a race condition szituációk kiküszöbölése, az olvassa el a cikket az IBM DeveloperWorks oldalain itt.

Fortuna PRNG a /dev/random-ban

Jean-Luc Cooke egy olyan patchet postázott az LKML-re, amellyel javaslatot tesz a jelenlegi linuxos Pseudo-Random Generetor (PRGN -- pszeudo-véletlenszám generátor) leváltására. A patch lecserélné a jelenlegi PRNG-t a kernel drivers/char/random.c file-jában a Niels Ferguson és Bruce Schneier-féle (Practical Cryptography) Fortuna PRNG-re, amely a kripto szakértők szerint az egyik legmodernebb PRNG. Cooke elkészített egy weboldalt, ahol összehasonlította a jelenlegi, vanilla kernelben levő PRNG-t az általa ajánlott Fortuna-val. Az eredményei szerint a Fortuna számos ponton (ki-, bemeneti teljesítményben, stb.) jobb, mint a jelenlegi implementáció.

A jó teszteredmények, és a kripto szakemberek jó véleménye ellenére Ted T'so a drivers/char/random.c karbantartója és más linux hackerek sem látják annyira jónak ezt a megoldást.

A thread itt.