universitatea politehnica bucuresti - pub.rostst.elia.pub.ro/news/rc/teme_rc_iva_2013_14/rc_1... ·...
TRANSCRIPT
UNIVERSITATEA POLITEHNICA BUCURESTI
FACULTATEA DE ELECTRONICA, TELECOMUNICATII SI
TEHNOLOGIA INFORMATIEI
Application Layer
Ungureanu – Ilie
Alexandru – Florin
441A
Cuprins:
1. Prezentare Application Layer
2. Mecanisme pentru protocoalele http
3. Probleme ale Application layer
4. Application layer firewall
4.1. Network-based application firewalls
4.2. Host-based application firewalls
5. DDos
5.1. Comparatie intre atacuri de tip DDos cu alte tipuri
1.Application Layer (Layer 7)
Chiar la inceputul straturilor
modelului de referinta OSI , gasim
layerul 7, application layer-ul.
Application layer este cel care este
folosit de catre aplicatiile retelei. Aceste
programe sunt cele folosite de catre
aplicatiile retelei. Acestea sunt chiar
cele care implementeaza functiile pe
care utilizatorul le realizeaza pentru a
indeplini diverse sarcini in retea.
Este important sa intelegem ca ceea ce modelul OSI numeste „aplicatie” nu este
tocmai acelasi lucru cu ceea ce numim in mod normal o „aplicatie”. In modelul OSI,
application layer ofera servicii pentru a da drumul la aplicatiile utilizatorului. De exemplu,
cand folosesti browserul web , software-ul este o aplicatie care ruleaza pe calculatorul tau. Nu
apartine tocmai de application layer. Mai degraba se foloseste de serviciile oferite de un
protocol care opereaza pe application layer, care se numeste Hypertext Trasnfer Protocol
(HTTP). Diferenta dintre browser si HTTP este subtila, dar importanta.
Motivul pentru care scoatem asta in evidenta, este pentru ca nu toate aplicatiile de
user se folosesc de application layer-ul retelei in acelasi mod. Desigur, browserul web o face,
precum si clientul de e-mail sau news reader-ul. Dar daca folosim un editor de text pentru a
deschide un fisier pe o alta masinarie in retea, acel editor nu se foloseste de application layer.
Defapt, nu are nicio idee despre faptul ca fisierul utilizat se gaseste pe retea. El vede doar o
adresa a unui fisier cu un nume care a fost mapat pe retea undeva in alta parte. Sistemul de
operare are grija sa redirectioneze ceea ce face editorul , de-alungul retelei.
In mod similar, nu toate utilizarile application layerului sunt executate de aplicatii.
Sistemul de operare poate sa foloseasca servicii direct in application layer.
Lasand deoparte acest avetisment, sub circumstante normale, oricand
interactionam cu un program pe calculatorul nostru care este creat special pentru a se folosi pe
retea, ne confruntam direct cu application layer. De exemplu, trimiterea unui e-mail,
deschiderea unui browser web, sau folosirea unui program IRC de chat. Toate acestea implica
protocoale care isi au locul pe application layer.
Acestea sunt zeci de protocoale de aplicatii diferite care permit existenta unor
functii diverse pe acest layer. Unele dintre cele mai populare includ: HTTP, FTP, SMTP,
DHCP, NFS, Telnet, SNMP, POP3, NNTP si IRC.
Exemple de protocoale TCP/IP.
Ca si layerul din varful stivei, application layerul este singurul care nu asigura
servicii layerului de deasupra sa in stiva, deoarece nu este niciunul. In schimb, el ofera
servicii programelor care doresc sa foloseasca reteaua , si catre userul. Deci responsabilitatile
acestui layer sunt sa implementeze functiile care sunt necesare utilizatorilor retelei. Si desigur,
pentru a face comenzile potrivite pentru a se folosi de serviciile oferite de layerele de
dedesubt.
Exemplu utilizare http
Ce se intampla cu adevarat pentru a permite paginii web sa apara in browser ?
Sa ne imaginam ca deschidem browserul sau. Acest browser a fost configurat
astfel incat sa intrebe ce preferinta are pentru pagina de start pe serverul Larry, sau home
page. Logica generala este cea din figura urmatoare.
2. Mecanisme pentru protocoalele http
Privind mai aproape, urmatorul exemplu arata cum aplicatiile de la fiecare
calculator de la capat, in mod specific aplicatia pentru browserul web si aplicatia pentru
serverul web, folosesc un protocol application layer TCP/IP. Pentru a face o cerere pentru o
pagina web si sa returneze continutul acelei pagini web, aplicatiile folosesc Hypertext
Transfer Protocol (http).
Http nu a existat pana cand Tim Berners – Lee a creat primul browser web si
server web la inceputul anilor 1990. Berners-Lee a dat functie protocolului HTTP ca sa ceara
continutul paginii web, in mod particular prin dand browserului web abilitatea de a solicita
fisiere de la server, si dand serverului o modalitate de a returna continutul acestor fisiere.
3. Probleme ale Application layer
Pana acum am vorbit doar de cum functioneaza masinaria unei aplicatii de retea :
conexiuni de retea, incapsularea datelor si asa mai departe. Acum vom vorbi despre care este
scopul acestei aplicatii.
Din perspectiva application layerului , reteaua este doar o forma de dispozitiv care
lasa participantii sa faca schimb de mesaje de protocol intr-un mod transparent. Cum sunt
numite aceste protocoale de mesaje depinde de conceptia noastra vizuala.
De exemplu, multe protocoale descriu interactiuni client/server in termeni de
comenzi si raspunsuri. Multe dintre layerele de mijloc, precum Sun RPC incearca sa ascunda
magia retelei de dedesubt chiar mai mult, si incurajeaza programatorii sa creada ca
operatiunile retelei sunt in mare ca si cele facute in procedurile locale. CORBA (Common
Object Request Broker Arhitecture) nu vrea ca noi sa stim nimic despre lcoatia unui obiect,
poate fi pe un server remote, sau in spatiul adresei procesului de apelare. Obiectele CORBA
arata si se comporta exact ca si cand ar fi obiecte de rand in procesele locale.
Oricat de convenabil ar parea, este inselator din punct de vedere al securitatii.
Datele receptionate de la un remote nu ar trebui sa fie luate de bune din prima, macar atunci
cand cel care se conecteaza poate obtine privilegii in plus prin tine. Asa ca sa nu lasati ca
aparentele familiare sa va insele.
Numarul de greseli pe care poti sa il faci in application layer este la fel de variat
ca si numarul de lucruri pe care il poti face cu datele. Optiunea de a te impusca singur este in
mod virtual fara limite. Nu sunt multe de spus despre cum se codeaza bine, ci doar o serie de
reguli de urmat, si o serie de greseli care sunt comune dar evitabile in cazul in care le cunosti.
4. Application layer firewall
Un firewall al unei aplicatii este o forma de firewall care controleaza inputul,
outputul si/sau accesul de la, catre sau de catre o aplicatie sau serviciu. Opereaza prin
monitorizarea si potential blocarea inputului, outputului sau a apelarile serviciilor sistemului
care nu corespund politei configurate a firewallului. Application firewall este construita in
mod tipic pentru a controla tot traficul retelei pe orice layer OSI pana la application layer. El
poate controla aplicatiile sau serviciile in mod specific, spre deosebire de o retea firewall
dinamica care nu este, fara niciun software aditional, in stare sa controleze traficul de pe retea
in vederea unei anumite aplicatii. Exista doua categorii primare de aplicatii firewall, network-
based application firewalls and host-based application firewalls.
4.1.Network-based application firewalls
Un network-based application layer firewall este un firewall pentru retelele de
calculatoare care opereaza cu application layer a unui protocol stack, si este de asemenea
cunoscut ca un firewall bazat pe proxy sau reverse-proxy. Aplicatiile de firewall specifice
unui anumit tip de trafic de retea pot fi numite cu numele serviciului, precum web firewall
application. Ele pot fi implementate prin sofware care ruleaza pe o gazda sau care este de sine
statator pe un network hardware. Deseori, este o gazda care foloseste diverse forme de servere
proxy la trafic proxy inainte de trecerea lor catre client sau catre server. Deoarece acesta isi
desfasoara activitatea pe application layer, poate inspecta continutul traficului, blocand un
continut specificat, precum anumite site-uri web, virusi sau incercari de exploatare.
Aplciatiile moderne de firewall pot de asemenea sa efectueze offload encryption
de la servere, sa blocheze inputul sau outputul aplicatiei detectate ca si intrusiva sau
comunicatie malformata, sa managerieze sau sa consolideze autentificarea sau sa blocheze
continutul care violeaza politicile.
4.2.Host-based application firewalls
Firewall host-based reprezinta o parte dintr-un software care ruleaza pe un singur
host si poate restrictiona activitatea de intrare sau de iesire a unei retele a unui singur host.
Aceasta poate preveni infectarea host-ului sau sa opreasca alte gazde deja infectate sa nu
imprastie malware catre alte host-uri.
Firewall host-based pentru servere foloseste seturi de reguli similare cu cele ale
firewall-ului pentru retele. Activitatea care implicate orice aplicatie care nu se afla in lista de
reguli sunt ori refuzate in mod automat. Pentru a preveni incidentele de tip malware,
organizatiile ar trebui sa configureze firewall host-based cu seturi de reguli deny-by-default
pentru traficul care vine.
De exemplu, un firewall host-based cu capacitati antivirus paote sa monitorizeze
e-mail-uri care intra si care ies pentru semne de transmitere de virusi de e-mail in masa si
inchiderea temmporara a serviciului de e-mail daca o astfel de activitate este detectata.
Firewall host-based ofera cea mai buna protectie contra malware pentru statiile de lucru atat
timp cat acestea sunt configurate corespunzator si updatate in fiecare zi cu cele mai recente
semnaturi ale virusilor si cele mai recente actualizari de software.
5.DDos
Un atac cibernetic de tip DDoS
(Distributed Denial of Service, blocarea distribuită a
serviciului) este o încercare frauduloasă de a
indisponibiliza sau bloca resursele unui calculator.
Deși mijloacele și obiectivele de a efectua acest atac
sunt foarte diverse, în general acest atac este efectul
eforturilor intense ale unei (sau a mai multor)
persoane de a împiedica un sit web sau și servicii din
Internet de a funcționa eficient, temporar sau
nelimitat. Autorii acestor atacuri au de obicei drept
țintă situri sau servicii găzduite pe servere cu cerințe
înalte, cum ar fi băncile, gateway-uri pentru plăți prin
carduri de credit și chiar servere în întregime.
5.1. Comparatie intre atacuri de tip DDos cu alte tipuri
Tendinta atacurilor DDoS arata infailibil ca faptasii tintesc si muta modelul de
retea OSI de-alungul timpului. Relocarea primei tinte este logica, din moment ce tot mai
multe sisteme defensive DDoS isi concentreaza puterea de detectia primara pe layerele de jos.
Avand in vedere acest aspect, atacurile asupra application layer-ului de web au crescut in
popularitate. Mai mult, penetrarea layerului sapte, layerul de top din modelul OSI, ofera o
iesire pe un strat de logica operationala, care este considerata o extensie abstracta a suitei de
protocol retelistic prezentat anterior.
Avand in vedere faptul ca internetul este construit vertical prin multiple
protocoale de layere, ar fi perfect de inteles daca atacurile DDoS de internet isi asuma de
asemenea o pozitie verticala.
Daca adoptam aceasta abordare, unele tipuri atacuri comune de DDoS includ :
atacuri IP asupra latimii de banda a retelei – Layer 3 (Network
Protocol)
atacuri TCP asupra server sockets – Layer 4 (Transport Protocol)
atacuri http asuprea threadurilor de servere Web – Layer seven
(Application Protocol)
Acum ca am atins subiectul diferentei dintre atacurile DDoS , in termeni de
clasificare a modelului OSI, voi prezenta in continuare cateva trasaturi care diferentiaza
atacurile DdoS de altele:
1. cat timp atacurile asupra layerului de retea DdoS incearca sa depaseasca
serverul victimei cu cereri false, atacurile DdoS asupra application layerului se bazeaza
pe cele reale.
2. in layer seven atacurile DdoS, atacand computerele trebuie sa aive
conexiunea TCP setata la maxim. Astfel, cat timp asigura o adresa IP reala nu este un
lucru de care sa te poti lipsi, continuarea intregii actiuni poate parea legitima in absenta
spikeurilor de trafic. Ele ar putea insela in mod virtual chiar si un mecanism de aparare
DdoS vigilent, si procedeaza si pe ascuns.
3. un atack DdoS asupra layerului seven, in contrast cu celelalte, poate
exploata vulnerabilitatile din aplicatiile software, astfel impiedicand detectia si tintind
direct la serverul web vizat. Cu alte cuvinte, sunt mai sofisticate, din moment ce nu se
bazeaza in intregime pe o forta bruta pentru a isi atinge scopurile.
4. poate cea mai notabila diferenta , asa numitele atacuri DdoS
volumetrice care sunt constituite astfel incat sa doboare infrastructura de retele si servere
cu ajutorul unei avalanse de consumatori mari de latime de banda. Pe de alta parte,
atacurile DdoS catre layer seven ataca serverul victima pe la spate, in faza initiala
angajand aplicatii bine cunoscute ca si Hypertext Transfer Protocol (HTTP), Voive Over
Internet Protocl (VoIP), sau Domain Name System (DNS).
5. scopul atacurilor DdoS asupra application layerului de obicei nu au
nicio legatura cu depasirea latimii de banda. Unii experti IT ii numesc „scurti si inceti”
din motive intemeiate. In mod frecvent, la distanta scurta sunt epuizate resursele de
memorie sau CPU. Deci sistemul de leverage al layerului seven DdoS precum si greselile
inerente si limitarile aplicatiilor, de exemplu resursele de sistem sunt intotdeauna finite.
Exista o surpriza aici, consumul intens de resurse va cauza pana la urma incapacitatea
serverului.
6. protectia si atenuarea atacurilor volumetrice comune sunt un lucru cu
care specialistii IT sunt obisnuiti. In contrast atacurile DdoS asupra layer seven sunt de
obicei o incercare mai dificila.
Imaginea formata asupra importantei si prevalenta de viitor a atacurilor DdoS
asupra application layerului a fost impartasit de catre expertii de la OWAS Foundation 2010:
„Noi credem ca atacurile asupra layerului seven pot suprima layerul four precum operandul
modus al DdoS Botnets din acest deceniu” .
Bibliografie
1. http://www.pcworld.com/article/2056805/applicationlayer-ddos-attacks-
are-becoming-increasingly-sophisticated.html
2. Odom W. - Cisco CCENT-CCNA ICND1 100-101 Official Cert Guide -
2013.pdf
3. http://resources.infosecinstitute.com/layer-seven-ddos-attacks/
4. http://itlaw.wikia.com/wiki/Host-based_firewall
5. http://en.wikipedia.org/wiki/Application_layer
6. http://www.tcpipguide.com/free/t_ApplicationLayerLayer7.htm