Aplicatiile web reprezinta un vector de atac favorit de hackerii care doresc sa compromita o infrastructura. Bug-uri software, vulnerabilitati in cod, software neactualizat, cod sursa tert nesanitizat (vezi Log4j) toate acestea pot fi folosite de atacatori in demersurile lor de a castiga acces neautorizat la un sistem si de acolo sa inceapa propagarea laterala in interiorul retelei pentru a produce si mai multe pagube. Pe cat de simplu pare sa creezi o aplicatie web (putin cod aici, putin cod acolo, o baza de date, o versiune de Android/iOS, cateva API-uri si ai terminat), pe atat de importanta este securizarea ei si nu trebuie tratata cu superficialitate. Masurile de protectie a unei aplicatii web trebuie sa se concentreze pe:
- Protectie impotriva atacurilor web specifice acestui tip de aplicatie, cum sunt cele definite de OWASP Top 10 si atacuri de tip „zero day” prin inspectarea traficului web pe baza de semnaturi particulare si prin detectarea anomaliilor in traficul web primit de aplicatie.
- Protectie impotriva atacurilor DDoS. Astfel de atacuri au devenit din ce in ce mai dese si mai indraznete, cel mai recent exemplu fiind inregistrat de compania Akamai care a mitigat un atac DDoS lansat impotriva unui client din Europa de Est care a ajuns sa trimita un volum maxim de trafic de 853,7 Gbps si 659,6 Mpps timp de 14 ore. A fost cel mai mare atac DDoS inregistrat asupra unei companii din Europa.
- Protectie impotriva botilor malitiosi. Nu toti botii sunt rau-intentionati. Blocarea botilor legitimi pe site-ul organizatiei poate cauza functionalitati necorespunzatoare. O solutie de protectie moderna trebuie sa poata distinge intre botii legitii cei malitiosi, precum si intre botii care mimeaza comportamentul uman.
- Protectia API-urilor si a aplicatiilor mobile. Aplicatiile moderne sunt de ce in ce mai interconectate pentru a ne putea oferi functionalitati utile si pentru a ne crea o experienta de folosire simpla si placuta, oferindu-ne la indemana informatiile cautate. Aceasta interconectare se face folosind API-uri. Conform acestui articol, atacurile care au vizat API-urile web au crescut de peste 6 ori in 2021 fata de anul anterior, ceea ce inseamna ca atacatorii se concentreaza activ pe exploatarea vulnerabilitatilor lor.
- Controlul granular la backend-ul aplicatiei. Accesul la componentele software pe care se bazeaza functionalitatea aplicatiei web, precum si la datele procesate de aceasta trebuie sa fie bine gestionat. Aplicatia web trebuie sa poate implementa mecanisme de autentificare si de autorizare pentru a valida identitatea celui care se conecteaza si pentru a-i oferi strict privilegiile necesare. Autentificarea trebuie musai facuta si cu un al doilea factor, pentru a preveni cazurile in care credentialele unui programator sunt compromise de atacator (de exemplu salvare lor in GitHub 😊 )
- Protectia front-end-ului aplicatiei nu trebuie nici ea neglijata si va ajuta compania si in procesele de auditare pentru complianta specifice sectorului de activitate.Aplicatia trebuie sa foloseasca protocoale SSL / TLS sigure cu algoritmi de criptate puternici pentru a combate atacurile de tip „man in the middle”.
- Oferirea unei experiente sigure, dar si de calitate pentru utilizator prin load balancing, content routing, caching si compression. De exemplu, prin content routing se poate directiona un user de pe PC catre un server, si un user de pe telefon pe un alt server, ceea ce mareste reduce latenta experimentata de utilizator si gradul de incarcare al unui singur server.
- Vizibilitate asupra atacurilor inregistrate si asupra traficului primit. O solutie moderna de monitorizare a aplicatiei web trebuie sa poata raporta metrici si statistici cu privire la starea sistemului si gradul de incarcare, modele de trafic inregistrat (minime, maxime, medii, devieri de la comportamentul normal), informatii despre atacurile inregistrate si originea lor intr-o interfata simpla si intuitiva. Integrarea cu sisteme de tip SIEM si de management al log-urilor (Splunk, Azure Sentinel, IBM Qradar, HPE ARCsight) este o caracteristica binevenita.
Mihai Dumitrascu, Sr Systems Engineer