7 probleme de securitate în e-commerce
Potrivit estimărilor ARMO (Asociaţia Română a Magazinelor Online) magazinele online au depăşit valoarea de 4,3 miliarde de euro în vânzări la finalul anului 2019, cu 20% mai mult decât în 2018. Într-o industrie aflată în plină expansiune, succesul atrage adesea atenția nedorită, iar atacatorii dispun de metode din ce în ce mai sofisticate pentru a exploata vulnerabilitățile identificate în securitatea magazinelor online.
Sunt magazinele online sigure?
Potrivit lui Filip Truță, specialist în securitate informatică la Bitdefender, companiile mici pot cădea pradă mai repede infractorilor cibernetici decât firmele mari care își permit să ia măsuri costisitoare să se apere de amenințări avansate. Magazinele online sunt firme mici, cu bugete IT de regulă restrânse, și astfel sunt mult mai slab pregătite pentru a face față unui atac cibernetic.
Constrânse de cheltuieli, firmele mici deleagă atribuțiile de securitate aproape exclusiv administratorului IT. El trebuie să jongleze cu toate aspectele legate de sistemul informatic al firmei, inclusiv componenta de securitate. Acest concept de „om bun la toate” merge până în punctul în care firma cade pradă unor atacatori experimentați, antrenați să se infiltreze în sistemul informatic fără a fi detectați. Dacă administratorul IT nu actualizează platforma pe care e construit site-ul magazinului, un atacator poate exploata vulnerabilități știute în platforma respectivă pentru a-l infecta. De exemplu, poate injecta instrucțiuni menite să fure datele de card ale clienților și apoi să-i fraudeze.
Deși nu dețin neapărat proprietate intelectuală valoroasă, magazinele online dețin date suficient de valoroase cât să trezească interesul răufăcătorilor: datele personale ale clienților. Dacă printre aceste date se regăsesc parole necriptate, stocate în clar, acestea pot fi folosite de hackeri pentru a compromite alte conturi online ale acelei persoane. Motivul? Utilizatorii de internet tind să refolosească aceeași parolă pentru mai multe conturi online.
Semne că un website a fost compromis:
- încărcarea ridicată pe server datorită solicitărilor repetate de la aceleași adrese IP
- boți care încearcă să facă scraping pe conținut și afectează lățimea de bandă
- există produse pe care nu dvs. le-ați publicat pe site
- mai mulți clienți au comandat produse și au beneficii pe care nu ar fi trebuit să le aibă (ex: transport gratuit)
- baza de date a magazinului este disponibilă spre vânzare pe dark web
- clienții văd pe site reclame ce le solicită să instaleze tot felul de aplicații malware
- pentru site-urile web dinamice apar noi tabele de baze de date necunoscute
- apar brusc utilizatori noi ai bazei de date sau cu drept de administrare
- dacă aveți activate notificarile CPanel, primiți alerte cu sesiuni de autentificare de la adrese IP necunoscute
- există pagini pe care nu dvs. le-ați publicat pe site (de regulă scrise în limbi străine)
- clienții reclamă că la accesarea site-ului sunt redirecționați către alte site-uri
- analiza pachetelor de date din timpul navigării, arată că datele sunt transmise și către adrese web sau IP necunoscute
- utilizatorii reclamă că au plătit o comandă, dar dvs. nu identificați plata comenzii
- log-urile serverului semnalează un atac de tip brute force
- magazinul dvs. este blacklistat de către Google sau aplicația antivirus.
4 vulnerabilități întâlnite frecvent
- Modificarea prețurilor este scopul multor atacuri asupra magazinelor online. Platformele de ecommerce sunt de regulă automatizate și rareori persoanele care procesează comenzile verifică dacă informațiile înregistrate pe o comandă coincid cu cele care ar fi trebuit. În același timp, sunt platforme de ecommerce complet automatizate unde nu verifică nimeni în fluxul de comandă și procesare dacă plata pentru un produs este cea corectă, astfel că interesul potențialilor atacatori crește odată cu gradul de automatizare a proceselor interne de înregistrare a comenzilor. Însă nu doar prețul poate reprezenta un interes ci și beneficiile acordate pe lângă achiziția produselor. În urmă cu câțiva ani comandam în mod frecvent de pe un site românesc al unui producător de cafea și în funcție de cantitatea de capsule achiziționate primeam gratuit ceșcuțe de cafea, cutii de ciocolată, lingurițe, transport gratuit sau cutii de capsule.
O simplă manipulare a elementelor transmise dintr-o pagină în alta în procesul de checkout oferea posibilitatea unui atacator să modifice cantitățile astfel că în loc să primească o cutie de capsule gratuit la 15 cutii de capsule de cafea plătite, comanda ajungea să fie înregistrată ca având 15 cutii de capsule gratuite și o cutie de capsule plătită. Vulnerabilitatea era prezentă pe toate site-urile brandului la nivel global și au fost aplicate măsurile de securitate rapid. Rareori vulnerabilitățile de acest tip sunt raportate către administratorii magazinelor online pentru că o astfel de vulnerabilitate oferă acces pentru o perioadă lungă de timp atacatorilor și scopul acestora este să beneficieze cât mai mult de un preț scăzut sau de facilități gratuite. - Directory listing. Una din cele mai răspândite vulnerabilități este cea de afișare a conținutului folderelor ce compun CMS-ul magazinului online. Este o vulnerabilitate cu o rezolvare extrem de simplă dar ignorată de către majoritatea programatorilor. La o primă vedere, faptul că sunt afișate fișierele dintr-un folder nu pare a fi o problemă, mai ales că de regulă magazinele online au foarte multe fișiere de tip imagine, fișiere pdf și nu pare a fi nimic distructiv. Totuși, în timp faptul că directory listing-ul este activat se uită și apar tot mai multe module care încep să scrie în folderele site-ului. Astfel, un potențial atacator poate găsi prin intermediul unei simple navigări în browser, de la baze de date salvate pe disk până la backup-uri ale fișierelor de configurare. Într-un articol viitor vom discuta și despre dork-urile Google și ce măsuri de protecție puteți impune dar până atunci, pentru exemplificare, am scris un articol despre ce poate să însemne afișarea informațiilor dintr-un folder fără să existe un minim de protecție (un fișier index.html, sau dezactivat din .htaccess).
- Bad bots, sau în traducere „boții ăia răi”, sunt programe automatizate, concepute pentru a îndeplini o sarcină specifică pe web, cu rol distructiv. Boții buni sunt inofensivi și ajută motoarele de căutare să ofere rezultate utile, alături de o mulțime de alte acțiuni benefice. Boții răi imita fluxurile de lucru umane în aplicațiile web pentru a se „comporta” ca utilizatorii reali, putând fi o amenințare la adresa securității magazinului online:
- Pot fi programați pentru a testa seriile cărților de credit furate (din alte părți) și a descoperi CVV-urile, în mod repetat, până când au succes. După ce atacatorul are aceste informații, va putea să cumpere de pe magazinul online folosind metoda de plată în numele altcuiva.
- Furtul și vânzarea detaliilor de autentificare reprezintă o industrie destul de mare în dark web. Un atacator poate folosi boți pentru a încerca combinații de nume de utilizator și parolă pe mai multe site-uri, până când va găsi date de acces valide. Odată intrat, atacatorul poate copia datele personale ale clientului și poate plasa comenzi în numele acestuia, mai ales dacă vorbim de un magazin online unde pot fi plasate comenzi cu plata la termen sau unde sunt salvate carduri în cont.
- Price scraping sau monitorizarea prețurilor. Magazinele competitoare vă pot monitoriza prețurile, strategia de preț, nivelurile de inventar, planurile de marketing și multe altele, permițându-le să vă scadă prețurile sau pentru a dezvolta o strategie mai bună de SEO pentru motoarele de căutare.
Partea bună este că majoritatea boților pot fi blocați cu ajutorul sistemelor de tip CAPTCHA (Completely Automated Turing test to tell Computer and Humans Apart). Cu siguranță știți de aplicațiile CAPTCHA dezvoltate de către Google, cel mai popular fiind reCAPTCHA v2 (checkboxul „I’m not a robot” sau cu Invisible reCAPTCHA badge). Mai există și o versiunea a treia de reCAPTCHA unde programatorii definesc manual nivelul de încredere în funcție de acțiunile și comportamentul utilizatorilor de pe site. O altă modalitate de a bloca boții este de a afla IP-ul de pe care aceștia se conectează și îi puteți bloca chiar la nivel de server.
- Zero-Day Vulnerabilities sunt una dintre numeroasele amenințări de securitate cibernetică din spațiul virtual pentru că sunt vulnerabilități care nu au fost raportate încă furnizorului de software și probabil nu există patch-uri disponibile pentru ele. Dacă folosiți un CMS de tip Open Source, comunitățile de regulă reușesc să furnizeze update-uri de securitate rapid astfel încât numărul de potențiale site-uri asupra cărora atacurile au avut succes să fie cât mai scăzut. De aceea este foarte important ca programatorii site-ului dvs. să ruleze periodic verificări asupra versiunilor de software disponibile și să actualizeze atât temele și modulele site-ului cât și versiunile de software utilizate la nivel de server (apache, nginx, php, mysql etc.).
6 cele mai frecvente atacuri cibernetice
- Blocarea coșului de cumpărături. În funcție de managementul rezervarii produselor într-un magazin online, blocarea coșului de cumpărături poate reprezenta o problemă ce duce inexplicabil, la prima vedere, la scăderea vânzărilor. Persoane rău intenționate pot adăuga în coșul de cumpărături numeroase produse, de pe diverse adrese IP, astfel încât potențialii clienți să vadă produsele ca fiind out of stock. De regulă metoda este automată și controlată prin intermediul unei rețele de boți al căror obiectiv principal este de a opri clienții să cumpere produse de pe un anumit magazin online. Mai mult, clienții se simt enervați și frustrați de lipsa stocului de pe magazinul preferat și se îndreaptă către site-uri concurente. Blocarea coșului de cumpărături și comenzile fictive sunt practici “sezoniere” ce au loc de regulă în timpul unui eveniment important de shopping.
- Hacktivism-ul. La prima vedere, hacktivism-ul nu pare a fi strâns legat de dorința unui atacator de a face rău în mod direct magazinului online. Totuși, din dorința de a promova către o masă cât mai mare de oameni idealurile sale politice ori sociale, atacatorii recurg la metode de tip SMS Bomber sau email flooder, ceea ce înseamnă că vor bombarda țintele cu mii sau zeci de mii de mesaje de tip SMS sau email până când căsuța email se va umple. Este o problemă pe termen scurt pentru că soluția este ca filtrul antispam al providerului de email să blocheze mesajele pe bază de sender, IP, subiect sau orice criteriu este disponibil.
Am adăugat hacktivismul în această listă pentru că tot mai multe filtre anti-spam sunt ineficiente, în special cele cu care vine implicit contul de găzduire web al multor furnizori. Umplerea căsuței de mesaje scrise din telefon este o problemă ce poate fi rezolvată manual prin ștergerea mesajelor și blocarea expeditorului. Dar umplerea căsuței de email poate fi o problemă greu de identificat de către administratorul unui magazin online pentru că foarte multe magazine au serverul de email pe același cont cu fișierele CSM-ului utilizat la construirea magazinului (Prestashop, Opencart, Woocommerce etc). Umplerea căsuței de email înseamnă de cele mai multe ori umplerea spațiului pe disk și imposibilitatea CMS-ului de a mai scrie fișiere temporare, necesare înregistrării traficului și comenzilor. - Social engineering-ul era un pic mai greu de pus în practică față de administratorii și operatorii magazinelor online. În ultimii doi ani am identificat tot mai multe cazuri prin care persoane rău intenționate încercau, și de foarte multe ori reușeau, să beneficieze de servicii și produse pentru care nu au plătit. Volumul mare de muncă, bugetele scăzute pentru personal, lipsa trainingurilor cu privire la modul în care trebuie procesată o comandă duc de multe ori la erori umane cu prejudicii greu de recuperat. Social engineering-ul nu este o metodă fixă, clară, precum celelalte metode prezentate în cadrul acestui articol și ține foarte mult de competențele atacatorului de a convinge victima să execute niște comenzi pe care nu ar fi trebuit să le execute. Voi exemplifica prin două cazuri întâlnire recent.
- O firmă repară echipamente electronice și are prezentate serviciile pe vreo 3 site-uri. Firma este micuță, prețurile se schimbă periodic în cadrul diverselor campanii de promovare, între 150 și 300 lei. După reparația unui laptop, casierul solicită plata serviciilor prestate în valoare de 220 lei dar clientul reclamă faptul că atunci când s-a uitat dimineață pe site era 100 lei și este incorect să plătească prețul standard al reparației, atâta timp cât prețul era clar afișat la 100 lei. Angajatul, intimidat de faptul că avea un client nemulțumit ce amenința cu reclamații la ANPC, că va suna patronul să îl dea afară, că el își trimitea până acum toți prietenii să își repare telefoanele la acea firmă, acceptă să încaseze prețul menționat de către client, adică 100 lei, deși acest preț nu a fost niciodată prezentat în procesul de comandă al reparației de pe site.
- O altă situație, poate mult mai întâlnită și sigur mult mai discretă de social engineering este comanda online cu plata prin transfer bancar din marketplace-uri. Magazinele online sunt de cele mai multe ori înscrise în 2-3 marketplace-uri, personalul este insuficient, canalele de vânzare au interfețe total diferite, cu proceduri de încasare diferite. Astfel, în ultimul timp au apărut tot mai multe persoane ce comandă produse cu plata prin transfer bancar, dar pe care nu le achită, și apoi apelează telefonic sau prin email către magazinul online menționând că își doresc produsele urgent invocând diverse motive (pleacă din țară, pleacă în vacanță, au nevoie diseară la o petrecere de echipamentul foto comandat etc). În unele cazuri magazinele trimit produsul fără să realizeze că acesta nu a fost achitat, cu atât mai mult cu cât de regulă tranzacțiile bancare pot fi văzute abia a doua zi (sunt și magazine unde casiera șef totuși are acces real time la tranzacțiile din cont). În alte cazuri, operatorul magazinului solicită clientului extrasul de cont ce dovedește că a achitat prin transfer bancar, lucru ușor de falsificat cu ajutorul unui editor pdf.
- Injectarea unui cod malițios (malicious code injection) presupune cunoștințe un pic mai avansate de programare în funcție de limbajul în care este scris codul sursă al magazinului online și în funcție de configurația serverului unde este găzduit magazinul. Virușii, troienii și viermii par la prima vedere denumiri dintr-un joc pe telefonul mobil. Pe cât de simpatică este denumirea acestora, pe atât sunt de periculoși. Injectarea unui cod malițios în codul sursă al site-ului sau în baza de date a acestuia are ca scop coruperea site-ului sau chiar a echipamentelor clienților magazinului.
Virușii sunt în mod normal amenințări externe și pot corupe fișierele de pe site-ul web dacă își găsesc calea în rețeaua internă. Pot fi foarte periculoși deoarece distrug sistemele informatice complet și pot deteriora funcționarea normală a serverului. Un virus are întotdeauna nevoie de o gazdă, întrucât nu se poate răspândi de unul singur. Viermii însă, sunt foarte diferiți și sunt mai serioși decât virușii. Pot infecta milioane de calculatoare în doar câteva ore și au abilitatea de a se autoreplica în rețeaua informatică. Troienii sunt coduri de programare ce pot îndeplini funcții distructive. În mod normal, atacă computerul clienților atunci când descarcă un fișier (ex: garanția produsului achiziționat). - SQL Injection reprezintă o metodă de atac prin care atacatorii reușesc să adauge informații în baza de date executând comenzi malițioase sau reușesc să extragă informații ce în mod normal ar fi fost protejate. Problemă comună a tuturor platformelelor populare de comerț electronic precum Prestashop, OpenCart, Magento, etc., este că toate au fost vulnerabile la injecția SQL la un moment dat. Această vulnerabilitate este încă răspândită din cauza faptului că plugin-urile și extensiile pentru CMS-uri pot fi vulnerabile, în funcție de modul în care a fost scris codul sursa al acestora de către programatori. Un atacator poate, prin acest tip de atac, să compromită baza de date și să fure întreaga bază ce conține detalii sensibile, cum ar fi: istoricul tranzacțiilor, date personale sau informații despre cardul de credit utilizat. Atacatorul mai poate șterge sau edita conținutul bazei de date (ex: pentru a utiliza produse gratuite). Acest atac face, în esență, atacatorul un proprietar al bazei de date a site-ului dvs.
- Atacurile de tip DoS (Denial of Service) sau DDoS (Distributed Denial of Service) sunt ușor de realizat și reprezintă o încercare frauduloasă de a indisponibiliza sau bloca resursele unui server web. Deși mijloacele și obiectivele de a efectua acest atac sunt foarte diverse, în general acest atac este efectul eforturilor intense ale unei persoane de a împiedica un site de a funcționa eficient, temporar sau nelimitat. O metodă tradițională de atac provoacă „saturarea” serverului cu cereri de comunicare externe, astfel ca să nu mai poată reacționa eficient la traficul internet legitim, sau chiar să devină indisponibil. În termeni generali, atacurile de tip DoS/DDoS provoacă un reset forțat al serverului, consumă intens resursele disponibile ale unui server, astfel încât acesta să nu mai poată furniza servicii, sau blochează comunicațiile dintre utilizatorii bine intenționați și server, astfel încât acesta să nu mai poată comunica adecvat.
Frecvența unui audit de securitate
La fel ca mentenanța infrastructurii IT, securizarea datelor este un proces continuu. Dacă firma nu are buget pentru personal specializat, devine imperativă prospectarea soluțiilor de securitate care pot ajuta să reducă efortul și timpul necesar să se depisteze posibile lacune din infrastructură, comportamentul suspect al sistemului informatic, gafe interne și, nu în ultimul rând, atacuri cibernetice asupra companiei.
Recomand efectuarea unui audit de securitate major ce implică o paletă largă de teste de penetrare o dată la trei ani și periodic, o dată pe an, un audit de securitate având un grad de dificultate mediu astfel încât să puteți acoperi cele mai recente metode de exploatare a vulnerabilităților.
În general costul unui audit complet whitebox (fără acces la codul sursă al site-ului) poate fi estimat între 2.000 € și 6.000 €. Auditurile periodice de verificare pot fi evaluate între 500 € și 2.000 €. În ambele situații depinde foarte mult de tipul de platforma ecommerce utilizat, complexitatea platformei, numărul de site-uri testate (dacă pe lângă magazinul online mai este prezentă și o altă platformă cum ar fi cea de noutăți / blog) și funcționalitățile prezente în cadrul magazinului.
Instrumente utile
De fiecare dată când este dezvoltată o componentă nouă pentru magazinul dvs. este recomandat să fie testată inhouse specific acea componentă și cum influențează acțiunile acesteia ecosistemul magazinului online. De exemplu, dezvoltarea unei componente prin care clienții pot urca fișiere alături de review, în funcție de modul în care este scris codul sursă, poate permite unui atacator să încarce fișiere malițioase pe server-ul magazinului online, pentru ca ulterior să ofere comenzi acelui fișier și să exploateze vulnerabilitatea în mod rău intenționat.
Magazinele online trebuie să adopte un plan de prevenție astfel încât să minimalizeze posibilitatea unui atac cibernetic reușit, să ruleze periodic scenarii de testare a platformei pe care rulează website-ul și să aplice actualizări software atunci când apare o nouă versiune stabilă pentru temele și modulele folosite.
Ca o simplă verificare, sunt disponibile foarte multe tool-uri cu ajutorul cărora pot fi verificate o plajă destul de largă de vulnerabilități pe care un magazin online le poate avea.
- Pentest Tools (https://pentest-tools.com) este o aplicație de tip Saas care permite chiar și utilizatorilor cu un nivel scăzut spre mediu de competente tehnice să-și testeze singuri securitatea unui site.
- SSL Labs (https://www.ssllabs.com/ssltest/) oferă în mod gratuit posibilitatea utilizatorilor de a analiza modul în care este instalat certificatul de securitate, dacă este afectată vizibilitatea magazinului online din pricina unor elemente de configurare a acestuia și versiunile de criptare la nivel de server.
- Sucuri (https://sitecheck.sucuri.net) scanează în mod automat dacă sunt elemente de tip malware prezente la accesarea site-ului, dacă versiunea de CMS utilizată este actualizată, dacă site-ul este prezent ca fiind infectat în listele principalelor companii de soluții antivirus sau în Google Safe Browsing și multe altele.
- Upguard (https://www.upguard.com/webscan) este un alt website ce ofera în regim de SaaS foarte multe informații ajutătoare, în special în zona de protecție a domeniului, phishing și securitate la nivel de rețea
Ce presupune un audit extern de securitate, de la metodologii utilizate până la rolurile pe care fiecare trebuie să le îndeplinească pentru a acoperi cât mai mult din potențialele vulnerabilități, vom discuta într-un articol viitor. Până data viitoare, #StaySafe!
Cristian Iosub
Digital Platforms Manager Conversion Marketing
Cristian Iosub este Digital Platforms Manager la Conversion și are o experiență de peste 15 ani în dezvoltare software si auditor pentru sistemul de management al securității informației. Cu numeroase proiecte la activ, Cristian a coordonat și a dezvoltat software pentru peste 100 de clienți internationali din domenii precum eCommerce, Banking și Retail.
Pe lângă proiectele pe care le coordonează, Cristian administrează principalele platforme dezvoltate de Conversion. Mai exact: Profitshare, platforma de marketing afiliat cu cele mai mari vânzări din România, Conectoo, platforma de email marketing, prin care se trimit lunar in inbox peste 150.000.000 emailuri si CookieBox, platforma de management a cookie-urilor.
Nu rata seria de articole cu conținut #CraftedToInspire semnate de specialiști în eCommerce și Digital Marketing, abonează-te la Newsletter-ul GPeC!
In sfarsit o categorie pentru care ma abonez la newsletter. Imi place stilul si e explicat practic, nu teoretic.
La cât mai multe! ;)
Mulțumim pentru feedback! Vor mai urma astfel de articole, stay tuned! :)
Mega utile tool-urile mai ales pentest-tools si upguard care sunt o mina de aur, dar cum zicea si autorul , trebuie sa avem un „nivel scăzut spre mediu de competente tehnice” pt ca daca nu stim sa interpretam informatiile, nu stim daca e de bine sau de rau.