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=´tinta@test.ro´; $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++; }
|