Sunteți pe pagina 1din 18

Masterat E- Business

Securitatea sistemelor de
E-Business
- Curs 6 -

Lector. Dr. Ana-Maria Ghiran


anamaria.ghiran@econ.ubbcluj.ro
Cuprins

 Tipuri de atac:
1. Malware – cod maliţios

2. Atacuri în aplicaţii legate de intrări (Injection attacks sau input


attacks)
• Buffer overflow
• Integer overflow
• Sql Injection
• Script Injection
• Cross-site Scripting: XSS
• Cross-site Request Forgery: XSRF
Cod maliţios

 Malware – Cod maliţios


- acronim, provenit din contopirea cuvintelor din limba engleză: malicious software
- set de instrucţiuni ce determină încălcarea unei politici de securitate
- poate avea diverse comportamente deviante

 Scopuri:
 propagare
 distrugerea sau furtul de informaţie
 monitorizare folosire date
 negarea serviciului
 controlul de la distanţă
Cod maliţios

 Viruşii sunt malware-uri ce necesită o formă de interacţiune cu utilizatorul


pentru a infecta dispozitivul.
- viruşi cu infecţii multiple (multipartite viruses)
- viruşi ascunşi (stealth viruses)
- viruşi polimorfici (polymorphic viruses)
- viruşi criptaţi (encrypted viruses)

 Viermii (worms) sunt malware-uri care pot intra într-un dispozitiv fără o
interacţiune explicită cu utilizatorul. De obicei se folosesc de conexiunea reţea:
- viermi cu folosesc mailul (mass mailing)
- viermi ce folosesc scanarea porturilor (port scanning)

 Rata de propagare a unui vierme e mult mai mare decât cea a unui virus
Cod maliţios

 Bots, botsnets, bot-herder:


- prescurtare de la robots, sunt aduşi de codul maliţios,
pot forma reţele ce sunt coordonate de la distanţă de un
bot-herder

 Scopuri:
- distribuire spam
- găzduire situri duplicat, phishing sites
- atacuri de tip negarea serviciului (denial of service)
Cod maliţios
 Calul troian (Trojan Horse) - este un malware care prezintă o componentă
ascunsă a unui program folositor

 Rootkits
- utilizate pentru a camufla activitatea şi prezenţa în sistem a altor categorii
de malware
- metode utilizate: ascundere fişiere, procese, registrii

 Back doors - un mecanism ce este introdus într-o aplicaţie de către autorul


acesteia care îi va permite accesul ulterior

 Logic Bomb sau Time Bomb – instrucţiuni introduse în codul aplicaţiei care
urmăresc realizarea unor acţiuni distrucţive la un moment dat sau când sunt
îndeplinite anumite condiţii (o anumită dată, un counter, un anumit eveniment)
Cod maliţios

 Spyware-ul, Ad-ware
- termen provenit din alăturarea cuvintelor din limba engleză
spy = a spiona şi software sau ad-advertising şi software
- tip de malware care poate fi instalat pe calculatoare şi care
colectează informaţii despre utilizatori fără ştirea acestora

 Spyware prin:
- urmărire cookies,
- web beacons,
- browser helper objects,
- key loggers
Cod maliţios
• Cookies – sunt folosite de serverele web pentru a putea diferenţia utilizatorii şi pentru a
putea reacţiona în funcţie de acţiunile acestora în cadrul unei sesiuni formate din mai
multe tranzacţii separate.

• Web beacons sau web bugs – fragmente mici în cadrul paginilor web sau mailurilor
html (imagini de 1x1 pixel folosite pentru a urmări modul de utilizare a Internetului); sunt
în general invizibile însă permit identificarea faptului că pagina respectivă a fost vizitată

• Browser helper objects (BHOs) pot fi invizibile sau pot lua forma
unor bări de instrumente folositoare, urmăresc folosirea
browserelor web

• Key loggers – înregistrează tot ceea ce un utilizator tastează, uneori inclusiv mişcările
de mouse sau clicuri de mouse, transmiţând apoi datele obţinute
Ransomware

 Este un tip de malware ce criptează fișierele de pe


calculatorul atacat și apoi solicită răscumpărare în schimbul
cheii de decriptare
 În caz de refuz, fișierele sunt șterse
 Nu este însă nici o siguranță că în urma plătii se va oferi o
cheie de decriptare, sau că aceasta va funcționa – se
recomandă să nu se plătească
 Plata solicitată de obicei este într-o criptomonedă precum
bitcoin pentru a nu se putea face legătura dintre atacator și
identitatea acestuia

01/29/2021
Cod maliţios
 Modalităţi de protecţie malware:
1. anti-virus: signature-based şi heuristic-based

2. anti-rootkit: observarea directă a sistemului de operare

3. anti-spyware: similar cu programele anti-virus, iniţial erau separat, din ce în ce mai mult
sunt însă împreună cu programele anti-virus

4. anti-spam: analizează mesajele primite şi atribuie un scor fiecărui mesaj în funcţie de care
vor trimite mesajul către Inbox; există 4 arhitecturi pentru blocare spam:
 client based
 email server based
 appliance based
 spam blocking service

 Atenție la Fake-antiviruses
Input attacks

 Buffer Overflow
 se încearcă scrierea de date într-un buffer astfel încât să depăşească
limitele acestuia şi să se extindă la zone adiacente din memorie

 limbajele de programare ce sunt în general asociate cu atacuri de acest


tip: C şi C++ (în general limbajele doar compilative) ; pentru acestea
există soluţia de apelare la anumite librării (ex. safe string libraries)
 Java şi C# sunt în general considerate sigure din punct de vedere al
atacurilor buffer overflow: generează excepţii

 Integer Overflow
 un atac în care se încearcă să fie creată o valoare numerică mai mare
decât valoarea ce poate fi reprezentată pe spaţiul de stocare
Input attacks

 Sql Injection
 sunt inserate declaraţii SQL în cadrul unei câmp de intrare în speranţa că vor ajunge
să fie executate

 se manifestă în condiţiile în care nu se realizează filtrarea corectă a întrărilor din


partea utilizatorului sau sunt folosite limbaje ce nu sunt puternic tipizate (ex.
JavaScript)

 e considerată în primele 10 vulnerabilităţi ale aplicaţiilor web de către


Open Web Application Security Project

 Curăţarea intrărilor din partea utilizatorilor: eliminare caractere precum apostrof,


cratimă, procent

 În plus, limitarea accesului direct din cadrul Internet la baza de date


Input attacks

 Exemplu SQL injection:


Presupunem că aplicaţia conţine codul:
String query = "SELECT * FROM users_table " +
" WHERE username = " + " ‘ " + username + " ‘ " +
" AND password = " + " ‘ " + password + " ‘ " ;

 Atacatorul introduce:
-orice username
-parola: aa’ OR ‘ ’= ‘

 Interogarea devine:
SELECT * FROM users_table WHERE
username = ‘anyname‘ AND password = ‘Aa‘ OR ‘ ‘ =‘ ‘;

 Aplicaţia primeşte toate înregistrările cu utilizatorii şi parolele acestora


Input attacks
 Script Injection
 e o tehnică similară cu SQL injection, cu deosebirea că sunt
inserate fragmente de cod scrise într-un limbaj pentru script-uri

 unii autori fac referire la Cross-Site Scripting

 exemplu: afisarea unui mesaj


 <script>alert(document.cookies)</script>
Input attacks
 Cross- Site Scripting - XSS
- se încearcă introducerea unui fragment de cod script în cadrul
codului html al unei pagini web, cu scopul de a prelua posibile cookies
ale sesiunii, sau informaţii sensibile

- ţinta atacului este serverul web de aplicaţii, în urma căruia acesta


va ataca alţi clienţi

- exploatează încrederea oferită de un utilizator unui server web

- o victimă ce vizitează un site web care a fost “injectat” cu un script


maliţios va primi spre execuţie instrucţiuni: un browser web va executa
orice instrucţiuni primite de la un server web – scriptul ce este
executat provine de la alt site (este cross –site)
Input attacks

 Exemplu XSS non-persistent: data oferită de atacator este imediat


folosită de server pentru a construi pagini
 o aplicaţie ce permite partajarea între prieteni a unor informaţii; introduc
numele lor, descrierea; operaţia este încheiată cu un mesaj de
mulţumire, ce este construit dinamic prin preluarea numelui dat de
utilizator
 deoarece orice intrare dată de un utilizator devine parte a unui cod ce
este folosit în generarea unui răspuns automat -> poate fi folosită de un
atacator, ce va introduce un script în locul numelui

 Exemplu XSS persistent: data oferită de atacator este salvată de


server, fiind afişată mereu pe paginile returnate utilizatorilor
 o aplicaţie ce permite scrierea de mesaje html ce pot fi afişate pe un
avizier online

Input attacks
 Cross-Site Reqest Forgery–CSRF(One click attack,session ridding)

- cod html maliţios este introdus în cadrul unei pagini web sau a unui mail, ce va
cauza diverse acţiuni pe un alt site în care utilizatorul se află într-o sesiune activă

- exploatează încrederea oferită de un server web în clienţii ce sunt logaţi (autentificaţi)

 sunt vizate aplicaţiile web care realizează acţiuni pe baza unor intrări din partea
utilizatorilor autentificaţi fără a le solicita în mod expres autorizarea fiecărei acţiuni
specifice

 un utilizator ce este autentificat prin intermediul unui cookie ce este salvat de browserul
web ar putea să transmită fără voia (acordul) utilizatorului, cereri http către site
Input attacks

 Cross-Site Reqest Forgery–CSRF


Implică forţarea victimei în a trimite o cerere HTTP fără a
avea cunoştinţă de actul făcut. Cererea HTTP va fi, de fapt, o
comandă pe care utilizatorul ar fi putut să o dea manual, dar
în acest caz este dată automat, fără consimţământul victimei.

 Atacurile CSRF sunt productive în următoarele situaţii:


• Victima are o sesiune activă pe site-ul ţintă;
• Victima este autentificată prin HTTP pe site-ul ţintă;
• Victima este în aceeaşi reţea locală cu site-ul ţintă.