IPRO - PC Magazine Romania, Ianuarie 2004
SOLUȚII PENTRU PROGRAMATORII ȘI DESIGNERII WEB
Securitatea Rețelei - mailbombing-ul
"…și erau o grămadă!"
Alexandru Ioan Lazăr
În urmă cu ceva vreme, un bun prieten m-a rugat să configurez un server de
e-mail. Era vorba de server-ul unei firme, care avea deja un sit propriu, o
rețea pusă pe picioare și dorință de afirmare J. Nu era vorba de cine știe ce
chestii complicate (programul care urma să fie folosit ca server era un fel
de frățior mai mic pentru mine), aveam și câteva ore libere - deci am plecat
și am rezolvat totul.
Au trecut vreo două săptămâni și bunul meu prieten (angajat la firma respectivă)
m-a sunat cu o mare problemă. ,,Azi dimineață am vrut să-mi verific mail-urile".
,,Și?" ,,…și erau o grămadă! Mai bine de o mie! Toate la fel!".
Am tras concluzia: prietenul meu fusese victima celui mai simplu atac care se
poate implementa prin Internet: mailbombing-ul.
Mailbombing-ul (bombardarea prin e-mail) înseamnă trimiterea unui număr mare
de mesaje pe adresa unei ținte. Dacă numărul de mesaje este destul de mare,
se poate ajunge la blocarea căsuței poștale a țintei sau chiar blocarea server-ului
de e-mail.
Un pic de sendmail
În primul articol din serie, amintisem în treacăt despre protocolul SMTP -
Simple Mail Transfer Protocol. Ce se face prin SMTP? În principal, se trimit
e-mail-uri J. Caracteristic pentru SMTP este faptul că este extrem de simplu
- pur și simplu menține caracterul UNIX: cine folosește SMTP și sendmail vrea
să trimită un e-mail, iar sendmail se achită absolut perfect de sarcina asta.
Sendmail este, cred, cel mai cunoscut server email și folosește protocolul SMTP
(portul 25). Un e-mail se poate trimite chiar și fără un client de mail gen
Outlook, doar folosind o conexiune telnet pe portul 25.
Importanța acestui program pentru noi este aceea a faptului că funcțiile de
bază sunt atât de simple, iar integrarea sa în sistemele de operare este atât
de puternică, încât sendmail poate fi apelat printr-un simplu script shell.
De fapt, dacă vă uitați pe CD în fișierul mailbomb.csh, veți vedea că m-am jucat
pur și simplu cu telnet și
sendmail. Sigur - nu confundați termenul "simplu" cu "rudimentar".
De fapt, sendmail este atât de complex, încât s-au scris cărți despre configurarea
lui (și zeci de buletine de securitate despre vulnerabilitățile pe care le are…
dar asta în alt articol).
Tux revine
Nu-i așa că v-ați săturat de Tux? Și totuși, sistemele Linux reprezintă motivul
elocvent pentru care atacurile prin mailbombing sunt cele mai simple posibile.
Privește următorul script:
Codul de mai sus este un script care va bombarda ținta cu mesaje care conțin
textul "Acesta este un exemplu de mailbombing". Efectul este - evident
- supărător (mie nu mi-ar plăcea să mă trezesc cu 1.000 de mesaje în căsuța
poștală). Programul de mai sus este extrem de simplist (presupune că aveți programul
sendmail perfect funcțional) și nu se poate compara cu cele "serioase".
Pentru un exemplu puțin mai avansat, poți arunca o privire pe CD, unde există
un script mai deștept. Dacă ai un sistem de test (mare atenție pentru că mailbombing-ul
îți poate da de furcă dacă nu e vorba de sistemul tău și de server-ul tău -
vezi mai jos) poți încerca programe consacrate: UpYours! (caută pe ftp șirul
upyours.exe, upyours2.zip sau upyours3.zip) sau KaBoom! (kaboom!3.zip, kaboom3.exe).
E important pentru tine, ca administrator, să știi cum lucrează aceste instrumente
- nu am dat aceste nume pentru ca tu să ai cu ce te lăuda la prieteni, deci
nu bombarda pe nimeni cu mesaje, nici măcar în glumă! Dacă ești administrator,
e normal să le folosești în scopuri didactice. Dacă vrei să faci pe cracker-ul,
e mai grav. Nu e prea frumos să recurgi la asemenea metode…
…de fapt este ilegal …
Și chiar dacă Poliția nu va face probleme atacatorului (victima poate pretinde
că a fost hărțuită dacă atacurile se repetă), acesta poate să-și ia adio de
la ISP-ul actual. Mailbombing-ul se lasă cu multe probleme, nu numai pentru
victimă, ci și pentru atacator. De ce? Chiar așa… ce poate să facă administratorul
rețelei unei victime?
În primul rând, va trebui să studieze mesajele. De fapt, numai header-ul lor
(cu toate că eu, ca administrator, m-aș amuza să fac metafizica înjurăturilor
din body-ul mesajelor). Header-ul oricărui mesaj de e-mail va ascunde, inevitabil,
date despre atacator - ISP, server de e-mail sau adrese IP. Mai rămâne de dat
un telefon la ISP, care să fie anunțat despre adresele exacte la și de la care
au fost primite mesajele, data, ora (intervalul de timp) și orice alte informații
mai puteți afla. Cei de la ISP vor consulta fișierele-jurnal (log) și, în câteva
ore, administratorul va ști exact cine a trimis acele mesaje. Da, se pot trimite
mesaje care conțin o adresă falsă a expeditorului - dar puține servere mai permit
acest lucru, și chiar așa, există metode prin care atacatorul poate fi găsit.
Tehnica de trimitere a mesajelor "false" se poate afla pe Internet
(nu o voi detalia aici din motive ușor de înțeles).
Ce vei face mai departe este absolut la alegerea ta. De multe ori, cei care
recurg la asemenea metode sunt copii care umplu căsuța de mail a vreunui profesor
(hackerii și crackerii "adevărați" se rușinează chiar și când un coleg
de-al lor recurge la o asemenea metodă copilărească) și ar fi destul să anunți
ISP-ul celui care s-a jucat cu căsuța ta poștală. Vor avea ei grijă ca părinții
să afle. Dacă însă atacul a fost grav și a provocat pagube, și mai ales dacă
mesajele conțin amenințări ori au caracter rasist sau extremist, nu te mărgini
la anunțarea ISP-ului, ci mergi direct la Poliție. Același lucru și dacă bombardarea
continuă (în limbaj juridic asta se cheamă hărțuire). Pentru asemenea lucruri
se poate ajunge chiar la tribunal.
Protecția
Protecția împotriva acestor atacuri este o problemă destul de serioasă. Deși
riscul pentru securitate este redus, atacurile prin mailbombing sunt enervante.
În primul rând, folosește un program anti-spam. Chiar dacă nu va stopa aceste
atacuri, oricum va înregistra destule detalii despre atac. Dacă te afli fizic
la locul atacului, blochează imediat adresa de la care mesajele sunt trimise
(deși, ce-i drept, ele pot veni într-un ritm foarte rapid). Dacă server-ul de
mail suportă acest lucru, instruiește-l să nu permită primirea a prea multe
mail-uri într-un interval foarte scurt (decât dacă nu cumva șeful dumneavoastră
primește un mail la șase secunde… destul de improbabil).
Riscurile impuse de acest tip de atac sunt foarte reduse. În cel mai rău caz,
poate "doborî" server-ul de mail, ca un tip de atac DoS (am auzit
că se poate întâmpla așa ceva. Eu am testat Red Hat 7.0 rulând Sendmail 8.11.0
și a rezistat la un ritm enorm fără să "cadă"). De aceea, limitează-te
la anunțarea ISP-ului și blocarea permanentă a adresei (decât dacă mesajele
nu au caracter de amenințare sau rasist. În cazul acesta, anunță Poliția dacă
ești sigur că nu a fost vorba de o glumă proastă a unui puști).
Resurse
În general, resursele despre securitate par a se găsi pe toate drumurile. Nu
e chiar așa. Mailbombing-ul este un subiect pe marginea căruia sunt destule
de discutat, dar informația de calitate se găsește greu (și stați să vedeți
în numerele următoare, când vom discuta despre atacurile DoS). Reiau invitația
de a citi cât mai mult în grupurile de discuții. Nu trebuie să și postezi dacă
nu vrei, trebuie să citești. Poți testa programele prezentate atâta vreme cât
o faci pe propriul sistem (eventual ca să nu îți bați capul cu ISP-ul, o poți
face într-o rețea locală), și dacă știi programare, citește sursele. Internetul
rămâne sursa principală de inspirație. Atenție însă, informația cu adevărat
valoroasă se află numai pe situri aflate oarecum în underground-ul Internetului
(unele îmi aduc aminte de străzile Pantelimonului la ore cu AM în coadă), așa
că fii foarte atent cu datele pe care le divulgi acolo. Alege-ți un pseudonim,
eventual diferit de cel pe care îl folosești pe forumuri sau pe mIRC. De asemenea,
nu accesa siturile acestea de la serviciu (decât dacă ești administrator "pe
bune") și configurează-ți un firewall înainte de a te învârti prin zona
aceasta a Internetului. Într-o asemenea lume e bine, de fapt e necesar să fii
paranoic. Și în primul rând: înainte de a te apuca de spart, ține minte că e
ilegal. Dacă vrei să spargi, fă-o pe propriul sistem și/sau angajează-te ca
administrator.
Cam atât pentru azi. Vom vorbi în următorul articol despre atacurile DoS. Până
atunci, mult noroc și, din nou, nu te juca cu acest subiect.
#!/bin/perl $program_mail=´/usr/lib/ sendmail´; $tinta=´[email protected]´; $a=0; while ($a < 1000) { open (MAIL, "|$program_mail $tinta") || die "Nu pot deschide programul $program_mail"; print MAIL "Acesta este un exemplu de mailbombing"; close (MAIL); sleep 3; $a++; }
|