sans top 20 security vulnerabilities software applications
Aflați și înțelegeți primele 20 de vulnerabilități critice de securitate SANS din aplicațiile software, cu exemple în acest tutorial:
Cuvantul FĂRĂ nu este doar un cuvânt obișnuit din dicționar, ci înseamnă SysAdmin , Audit , Reţea , și Securitate .
În acest tutorial, vom afla despre cele mai slabe deficiențe de securitate din SANS pe care le putem găsi în programele software și despre ce putem face pentru a-l atenua.
Ce veți învăța:
- Impactul SAN-urilor asupra comunității de securitate cibernetică
- Lista celor mai importante 20 de vulnerabilități critice din software-ul SANS
- # 1) CWE-119: Eroare tampon de memorie
- # 2) CWE-79: Scripturi între site-uri
- # 3) CWE-20: Eroare de intrare nevalidată
- # 4) CWE-200: Eroare de expunere la informații sensibile
- # 5) CWE-125: Eroare de citire în afara limitelor
- # 6) CWE-89: injecție SQL
- # 7) CWE-416: Memorie eliberată anterior
- # 8) CWE-190: Eroare de depășire a numărului întreg
- # 9) CWE-352: Cerere de falsificare între site-uri
- # 10) CWE-22: Traversare director
- # 11) CWE-78: Injecție comandă OS
- # 12) CWE-787: Eroare de scriere în afara limitelor
- # 13) CWE-287: Eroare de autentificare incorectă
- # 14) CWE-476: Dereferențierea unui indicator NULL
- # 15) CWE-732: Atribuire incorectă a permisiunii
- # 16) CWE-434: Încărcare fără restricții a fișierelor
- # 17) CWE-611: Expunerea informațiilor prin entități XML
- # 18) CWE-94: Injectarea codului
- # 19) CWE-798: Cheie de acces codificată
- # 20) CWE-400: Consum necontrolat de resurse
- întrebări frecvente
- Concluzie
Impactul SAN-urilor asupra comunității de securitate cibernetică
Conform FĂRĂ , FĂRĂ Institutul a fost înființat ca organizație de cercetare și educație. Diferitele sale programe de securitate sunt foarte cuprinzătoare și au un efect pozitiv asupra a peste 165.000 de profesioniști din domeniul securității la nivel global.
Putem spune pe bună dreptate că, cu acest tip de acoperire provenind de la SANS și alte recenzii pozitive pe care le obțin, le face cea mai de încredere și de departe cea mai mare organizație de formare InfoSec și diverse certificări de securitate din lume.
Acest articol se va concentra pe primele 20 de erori SANS care vă pot face software-ul vulnerabil la atac și pe unele dintre controalele de securitate pe care le puteți implementa pentru a le reduce împotriva acestor erori. Deși putem găsi mai mult de 20, dar vom discuta despre primele 20 de vulnerabilități.
Lista celor mai importante 20 de vulnerabilități critice din software-ul SANS
- CWE-119 : Eroare memorie tampon
- CWE-79 : Scripturi între site-uri
- CWE-20 : Eroare de intrare nevalidată
- CWE-200 : Eroare de expunere la informații sensibile
- CWE-125 : Eroare de citire în afara limitelor
- CWE-89 : Injecție SQL
- CWE-416 : Eroare de memorie gratuită
- CWE-190 : Eroare de depășire a numărului întreg
- CWE-352 : Solicitare de falsificare inter-site
- CWE-22 : Director Traversal
- CWE-78 : Injecție comandă OS
- CWE-787 : Eroare de scriere în afara limitelor
- CWE-287 : Eroare de autentificare incorectă
- CWE-476 : Dereferențierea indicatorului NULL
- CWE-732 : Atribuire incorectă a permisiunii
- CWE-434 : Încărcare fără restricții a fișierelor
- CWE-611 : Expunerea informațiilor prin entități XML
- CWE-94 : Injectarea codului
- CWE-798 : Cheie de acces codificată
- CWE-400 : Consum necontrolat de resurse
Ce înseamnă termenul CWE?
Enumerarea punctelor slabe comune (CWE) este o listă acceptată de comunitate a vulnerabilităților software și hardware cu cod de identificare atribuit pentru fiecare slăbiciune. Scopul este identificarea diferitelor defecte în software și hardware pentru a putea remedia și atenua toate aceste defecte.
# 1) CWE-119: Eroare tampon de memorie
Această defecțiune este introdusă de obicei în timpul etapelor de arhitectură și proiectare, implementare, funcționare a SDLC.
Această depășire a bufferului se întâmplă atunci când un proces de aplicație încearcă să stocheze mai multe date decât poate păstra în memorie. Deoarece bufferele pot stoca doar un anumit nivel de date și atunci când acest nivel este atins și depășit, datele curg către o altă locație de memorie care poate corupe datele deja conținute în acel buffer.
Acest incident se întâmplă uneori accidental prin unele erori de programare, dar efectul ulterior ar putea fi dezastruos, deoarece acest lucru poate șterge date, fura informații confidențiale și chiar întreaga aplicație s-ar putea prăbuși din cauza acestei depășiri de tampon.
Exemplul de mai jos arată un buffer alocat cu stocare de 8 biți. Dar a debordat cu 2 biți din cauza faptului că au fost trimise mai multe date pentru executare.
(imagine sursă )
# 2) CWE-79: Scripturi între site-uri
Cross-site Scripting (XSS) este un atac de injecție care se întâmplă de obicei atunci când un actor rău intenționat sau un atacator injectează scripturi dăunătoare sau dăunătoare într-o aplicație web care poate fi executată prin intermediul browserelor web. Odată ce scriptul rău intenționat își găsește drumul în sistemul compromis, acesta poate fi folosit pentru a efectua diferite activități rău intenționate.
Unele dintre activitățile rău intenționate pot fi sub forma transferului de informații private, cum ar fi cookie-urile care conțin informații despre sesiune de pe computerul victimei pe computerul atacatorului.
Apariție de scripturi între site-uri:
- Atunci când datele nevalidate și de încredere sunt introduse într-o aplicație web prin solicitarea formularului web.
- Când aplicația web generează instantaneu o pagină web care conține aceste date dăunătoare.
- În timpul procesului de generare a unei pagini, software-ul nu reușește să valideze în raport cu datele, care conțin conținutul care poate fi executat de un browser web, cum ar fi HTML și JavaScript.
- Victima vizitează, fără să știe, pagina generată printr-un browser web, care găzduiește scriptul rău intenționat care a fost injectat prin utilizarea datelor de încredere.
- Scriptul rău intenționat provine dintr-o pagină trimisă de serverul web al atacatorului, browserul web al sistemului compromis apoi procesează scriptul rău intenționat.
- Această acțiune încalcă politica browserului web cu privire la aceeași origine, care stipulează că scripturile care provin dintr-un domeniu nu ar trebui să aibă acces la resurse sau să execute cod într-un alt domeniu diferit, cu excepția propriului domeniu.
(imagine sursă )
# 3) CWE-20: Eroare de intrare nevalidată
Aplicația primește intrare, dar nu reușește să valideze intrarea, indiferent dacă are toate detaliile necesare pentru ca aceasta să fie acceptată în sistem pentru procesare.
b-copac vs b + copac
Când există igienizare de intrare, aceasta poate fi utilizată pentru a verifica orice intrări potențial periculoase pentru a se asigura că intrările sunt în siguranță pentru a fi procesate cu codul sursă sau când este o intrare necesară pentru a comunica cu alte componente.
Atunci când astfel de intrări nu sunt igienizate sau validate corespunzător, atunci acest lucru va deschide calea către un atacator pentru a trimite o intrare rău intenționată pe care aplicația principală o va procesa cu generozitate și acest lucru va duce la schimbări în fluxul de control, control arbitrar al unei resurse sau cod arbitrar execuţie.
Imaginile de mai jos arată că o aplicație bună nu ar trebui să accepte scriptul sau comanda ca intrare. Dacă astfel de intrări nu sunt igienizate corespunzător, aplicația o va procesa considerând că este o cerere validă.
(imagine sursă )
# 4) CWE-200: Eroare de expunere la informații sensibile
Acest lucru se întâmplă atunci când aplicația expune în cunoștință de cauză și fără să știe, informații confidențiale și sensibile pentru un atacator care nu are autorizația de a accesa aceste informații.
Diferite erori conduc la expunerea acestor informații unui atacator. Severitatea acestei erori variază în funcție de contextul în care funcționează aplicația, de tipul de informații sensibile care sunt dezvăluite și de ceea ce poate câștiga actorul din informațiile expuse.
Mai jos sunt câteva informații sensibile care ar putea fi expuse:
- Informații personale, cum ar fi mesaje personale, date financiare, înregistrări ale stării de sănătate, locație geografică sau detalii de contact
- Detalii și mediu de configurare a sistemului, de exemplu, sistemul de operare și pachetele instalate
- Dosar de afaceri și proprietate intelectuală
- Detalii despre configurarea rețelei
- Starea internă a aplicației
- Metadate precum antetele mesajului
Uneori ar putea exista mâncărimi tehnice, cum ar fi eroarea de conectivitate la baza de date, eroarea de execuție și eroarea de rețea pe aplicațiile sau site-urile noastre web.
Dacă astfel de erori nu sunt tratate în mod corespunzător în timpul dezvoltării, adică atunci când aplicația afișează mesajul de eroare, acesta ar putea afișa public informațiile pe care un atacator le poate folosi în scopuri rău intenționate, cum ar fi imaginea de mai jos.
# 5) CWE-125: Eroare de citire în afara limitelor
Acest lucru se întâmplă de obicei atunci când aplicația citește date care depășesc nivelul normal, fie până la sfârșit, fie înainte de începutul bufferului. Acest lucru oferă acces neprivilegiat la un atacator pentru a citi informații sensibile din alte locații de memorie, ceea ce poate duce la blocarea sistemului sau a aplicației.
Un blocaj se va întâmpla cu siguranță atunci când codul citește date și crede că există un indicator care oprește operațiunea de citire ca un NULL care se aplică unui șir
În următorul cod, funcția preia o valoare dintr-o locație a indexului matricei, care la rândul său este parametrul de intrare pentru funcție.
(imagine sursă )
Din codul de mai sus, putem vedea că funcția verifică dacă indicele matrice dat este mai mic decât lungimea maximă a matricei, dar nu reușește să valideze pentru valoarea minimă.
Această nevalidare va duce la acceptarea unei valori negative ca index de matrice de intrare, provocând o citire în afara limitelor, care la rândul său oferă acces la memoria sensibilă.
Este necesar să verificați indicele matricei de intrare dacă se încadrează în intervalul maxim și minim necesar pentru matrice.
Dacă verificați acum exemplul de mai jos, veți vedea că instrucțiunea IF trebuie modificată pentru a include o validare a intervalului minim.
# 6) CWE-89: injecție SQL
Injecție SQL este o formă de vulnerabilitate de securitate prin care atacatorul injectează un cod Structured Query Language (SQL) în caseta de intrare Webform pentru a obține acces la resurse sau pentru a modifica datele care nu sunt autorizate să acceseze.
Această vulnerabilitate poate fi introdusă aplicației în timpul etapelor de proiectare, implementare și operare.
Ce face această interogare SQL este de a face o cerere neautorizată către baza de date pentru unele informații. Într-o operațiune de intrare normală, un formular Web este utilizat pentru autentificarea utilizatorului. Când un utilizator își introduce numele și parola în casetele de text, aceste valori sunt inserate într-o interogare SELECT.
Dacă valorile de intrare sunt corecte, utilizatorului i se acordă acces la aplicație sau solicitare, dar dacă valorile sunt incorecte, accesul va fi refuzat.
Unele formulare Web de astăzi nu dispun de mecanisme pentru a bloca intrările rău intenționate, un atacator poate folosi casetele de intrare pentru a trimite cereri rău intenționate către baza de date. Această solicitare unică le poate acorda acces la întreaga bază de date care poate conține informații sensibile.
# 7) CWE-416: Memorie eliberată anterior
Această problemă este cauzată de referențierea memoriei după ce a fost lansată, ceea ce poate duce serios la o blocare a programului. Când utilizați o memorie eliberată anterior, aceasta poate avea consecințe nefaste, cum ar fi coruperea datelor valide, executarea arbitrară a codului, care este dependentă de momentul defect.
Două cauze frecvente sunt:
- Condiții de eroare în cadrul software-ului și în alte cazuri excepționale.
- Nicio explicație cu privire la ce parte a programului a cauzat memoria liberă.
În acest caz, memoria este alocată unui alt indicator imediat după ce a fost eliberată. Pointerul anterior către memoria eliberată este folosit din nou și acum indică undeva în jurul noii alocări. Până la schimbarea datelor, acest lucru poate corupe memoria utilizată și ar putea face aplicația să se comporte într-un mod nedefinit.
# 8) CWE-190: Eroare de depășire a numărului întreg
Atunci când un calcul este procesat de o aplicație și există o presupunere logică că valoarea rezultată va fi mai mare decât valoarea exactă, se întâmplă depășirea întregului. Aici, o valoare întreagă crește la o valoare care nu poate fi stocată într-o locație.
Când se întâmplă acest lucru, valoarea se va înfășura de obicei pentru a deveni o valoare foarte mică sau negativă. Dacă se așteaptă împachetarea, atunci este bine, dar pot exista consecințe de securitate dacă împachetarea este neașteptată. Când apare acest scenariu, ar putea fi numit critic deoarece rezultatul este folosit pentru a gestiona buclarea, decizia de securitate, utilizată pentru alocarea memoriei și multe altele.
Această slăbiciune va duce în general la un comportament neregulat și poate duce la blocări. Dacă valoarea este importantă pentru date decât pentru flux, atunci poate apărea o simplă corupție a datelor. Dar dacă înfășurarea duce la alte condiții, cum ar fi depășirea bufferului, atunci corupția memoriei se poate întâmpla.
Această problemă poate declanșa depășiri de tampon, care pot fi utilizate pentru a executa cod arbitrar de către un atacator. Această eroare de depășire a numărului întreg este de obicei introdusă în sistem în timpul etapelor de proiectare și implementare a SDLC.
care sunt elementele de bază ale programării computerizate
# 9) CWE-352: Cerere de falsificare între site-uri
Acest lucru se întâmplă atunci când o aplicație web nu verifică suficient solicitarea HTTP, indiferent dacă cererea provine de la utilizatorul potrivit sau nu. Serverele web sunt concepute pentru a accepta toate cererile și pentru a le oferi un răspuns.
Să presupunem că un client trimite mai multe solicitări HTTP în cadrul uneia sau mai multor sesiuni. Este foarte dificil pentru un server web să știe dacă toate cererile au fost autentice sau nu și, de obicei, sunt procesate. Un atacator poate să-și forțeze un client să viziteze o pagină web special concepută și să poată acum să efectueze unele cereri, cum ar fi transferul de fonduri, schimbarea adresei de e-mail și multe altele.
Imediat un atacator are acces și va putea fura date și chiar poate distruge date. Ei își pot menține întotdeauna accesul și, atunci când au terminat, pot compromite jurnalul de audit pentru a preveni orice criminalistică viitoare care ar putea expune exploatarea lor.
Imaginea de mai jos arată un atacator care determină un utilizator să efectueze acțiuni pe care nu intenționează să le efectueze.
# 10) CWE-22: Traversare director
Traversarea directorului sau parcurgerea căii de fișiere este o vulnerabilitate de securitate web care permite unui atacator să citească fișiere arbitrare pe serverul care rulează în prezent o aplicație.
Aceste fișiere pot fi un cod de aplicație, acreditări pentru sistemele back-end și fișierele sistemului de operare. În alt scenariu, un atacator ar putea să scrie în aceste fișiere arbitrare de pe server, ceea ce le-ar putea permite să modifice datele aplicației sau comportamentul, iar acest lucru le va oferi control total asupra serverului.
(imagine sursă )
# 11) CWE-78: Injecție comandă OS
Este vorba despre igienizarea necorespunzătoare a elementelor speciale care pot duce la modificarea comenzii de sistem de operare intenționate care este trimisă către o componentă din aval. Un atacator poate executa aceste comenzi rău intenționate pe un sistem de operare țintă și poate accesa un mediu în care nu trebuia să citească sau să modifice.
Acest lucru ar permite invariabil unui atacator să execute comenzi periculoase direct în sistemul de operare.
Ori de câte ori această vulnerabilitate apare într-un program privilegiat, permite atacatorului să utilizeze comenzi permise în mediu sau să apeleze alte comenzi cu privilegii pe care atacatorul nu le are, ceea ce ar putea crește cantitatea de daune care ar putea apărea.
# 12) CWE-787: Eroare de scriere în afara limitelor
Acest lucru se întâmplă atunci când aplicația scrie date după sfârșit sau înainte de începutul bufferului desemnat.
Când se întâmplă acest lucru, rezultatul final este de obicei corupția datelor, sistemul sau blocarea aplicației. Ceea ce face aplicația este un fel de aritmetică a indicatorului care este utilizată la referințarea unei locații de memorie în afara limitelor tamponului.
# 13) CWE-287: Eroare de autentificare incorectă
Acesta este momentul în care un atacator susține că are o identitate validă, dar software-ul nu a reușit să verifice sau să demonstreze că revendicarea este corectă.
Un software validează greșit informațiile de conectare ale unui utilizator și, ca urmare, un atacator ar putea obține anumite privilegii în cadrul aplicației sau ar putea dezvălui informații sensibile care să le permită să acceseze date sensibile și să execute cod arbitrar.
# 14) CWE-476: Dereferențierea unui indicator NULL
Dereferențierea unui pointer nul este atunci când aplicația anulează un pointer care ar fi trebuit să returneze un rezultat valid în schimb, returnează NULL și acest lucru duce la o blocare. Dereferențierea unui indicator nul se poate întâmpla prin multe defecte, cum ar fi condițiile de cursă și unele erori de programare.
Procesele care sunt efectuate cu ajutorul indicatorului NULL conduc de obicei la eșec, iar posibilitatea de a efectua procesul este foarte redusă. Acest lucru îi ajută pe atacatori să execute coduri rău intenționate.
(imagine sursă )
# 15) CWE-732: Atribuire incorectă a permisiunii
Această vulnerabilitate se întâmplă atunci când o aplicație atribuie permisiuni unei resurse foarte importante și critice în așa fel încât să expună resursa pentru a fi accesată de un utilizator rău intenționat.
Când acordați multor persoane permisiunea unei resurse, acest lucru ar putea duce la expunerea sau modificarea informațiilor sensibile de către un atacator. Dacă nu există verificări împotriva acestui tip de abordare a atribuirii permiselor către resurse, poate duce la un sfârșit foarte dezastruos dacă o configurație a programului sau unele date sensibile intră în mâna greșită.
# 16) CWE-434: Încărcare fără restricții a fișierelor
Această vulnerabilitate apare atunci când aplicația nu validează tipurile de fișiere înainte de a încărca fișiere în aplicație. Această vulnerabilitate este independentă de limbă, dar apare de obicei în aplicații scrise în limbaj ASP și PHP.
Un tip de fișier periculos este un fișier care poate fi procesat automat în mediul aplicației.
Următorul program arată o încărcare a unui fișier PHP. Tipul de fișier nu a fost verificat și validat înainte de încărcare în directorul webroot. Ca urmare a acestei slăbiciuni, un atacator poate încărca un fișier PHP arbitrar și îl poate executa accesând direct fișierul încărcat.
# 17) CWE-611: Expunerea informațiilor prin entități XML
Când un document XML este încărcat într-o aplicație pentru procesare și acest document conține entități XML cu identificator de resurse uniform care se rezolvă la un alt document într-o altă locație diferită de locația intenționată. Această anomalie poate face ca aplicația să atașeze documente incorecte la ieșirea sa.
Documentele XML conțin uneori o Definiție a tipului de document (DTD), care este utilizată pentru a defini entitățile XML și alte caracteristici. Prin DTD, identificatorul uniform al resurselor poate servi ca o formă de șir de substituție. Ce va face analizorul XML este să accesați ceea ce este conținut în identificatorul uniform al resurselor și să introduceți acest conținut înapoi în documentul XML pentru executare.
(imagine sursă )
# 18) CWE-94: Injectarea codului
Existența sintaxei codului în datele utilizatorului crește posibilitatea atacatorului de a schimba comportamentul de control planificat și de a executa cod arbitrar. Această vulnerabilitate este denumită „puncte slabe de injecție” și această slăbiciune ar putea face ca controlul datelor să fie controlat de utilizator.
Această vulnerabilitate descrie un scenariu în care software-ul permite date de încredere în cod și nu efectuează validarea caracterelor speciale care pot influența negativ atât comportamentul segmentului de cod, cât și sintaxa.
Pe scurt, un atacator ar putea să injecteze un fel de cod arbitrar și să le execute în cadrul aplicației. Următorul cod PHP arată utilizarea funcției eval () în date de încredere. În codul de mai jos, un atacator poate transmite în cod parametrul „param” cod arbitrar care va fi apoi executat în software.
Exemplul de mai jos explică apelul către phpinfo () funcţie. Această vulnerabilitate poate fi în continuare exploatată în altele pentru a executa comenzi arbitrare ale sistemului de operare pe software-ul țintă prin apelul system ().
# 19) CWE-798: Cheie de acces codificată
Acesta este momentul în care parola și cheia de acces sunt codate în aplicație direct în scopuri de autentificare de intrare și comunicare de ieșire către unele componente externe și pentru criptarea datelor interne. Detaliile de conectare codificate greu provoacă, de obicei, o vulnerabilitate care deschide calea către un atacator pentru a ocoli autentificarea care a fost configurată de administratorul software-ului.
Administratorului de sistem îi va fi întotdeauna foarte greu să detecteze această vulnerabilitate și să o remedieze.
Există două fluxuri principale către această slăbiciune:
- Intrare : Aplicația conține un sistem de autentificare care validează acreditările de intrare în raport cu detaliile codificate.
- Outbound : Aplicația se conectează la un alt sistem și detaliile pentru conectarea la celălalt sistem sunt codate în sistem.
În fluxul de intrare, există întotdeauna un cont de administrator implicit care este creat, iar acreditările pentru a-l accesa vor fi codificate în aplicație și asociate cu acel cont de administrator implicit.
Detaliile codificate sunt de obicei același lucru în fiecare instalare a aplicației și acest lucru nu poate fi schimbat sau dezactivat de nimeni. Chiar și administratorii de sistem nu au dreptul, cu excepția faptului că pot modifica manual aplicația. Dacă parola este dezvăluită vreodată publicului, atunci un atacator poate avea acces la întreaga aplicație și o poate manipula pentru propriul câștig.
Deoarece toate instalațiile aplicației au aceeași parolă, chiar și atunci când sunt instalate în organizații separate, acest lucru poate provoca atacuri foarte masive peste toate frontierele organizației, de exemplu, injectarea unui vierme în aplicație care se va răspândi în jur.
Fluxul de ieșire se aplică numai sistemelor front-end care se autentifică cu un serviciu back-end. Serviciul back-end poate necesita un hard-code sau o parolă fixă care poate fi ușor descoperită. Ceea ce face programatorul este pur și simplu să codeze hard acele acreditări back-end în software-ul front-end. Orice utilizator al acelei aplicații poate extrage parola.
Orice software din partea clientului în care parola și cheia de acces sunt codificate în mod rapid reprezintă mai multe amenințări decât cele care nu sunt codificate, deoarece extragerea unei parole dintr-un cod binar este de obicei foarte ușor de realizat.
# 20) CWE-400: Consum necontrolat de resurse
Această vulnerabilitate se întâmplă atunci când aplicația nu controlează corect alocarea și întreținerea unei resurse limitate, ceea ce permite unui atacator să poată influența cantitatea de resurse consumate, ceea ce va duce în cele din urmă la epuizarea resurselor disponibile.
O parte din resursele limitate include memorie, stocarea sistemului de fișiere, intrări în pool-ul de conexiuni la baza de date și CPU.
Să presupunem că un atacator poate declanșa alocarea acestor resurse limitate și că numărul sau dimensiunea resurselor nu este controlată, atunci atacatorul ar putea provoca haos prin refuzul de serviciu care consumă toate resursele disponibile.
Atunci când se întâmplă acest lucru, ar împiedica utilizatorii valizi să acceseze aplicația, ceea ce va avea invariabil un impact negativ asupra mediului. De exemplu, atunci când memoria aplicației trece printr-un atac de epuizare, aceasta ar putea încetini întreaga aplicație, precum și sistemul de operare gazdă.
Cele trei cazuri diferite care pot duce la epuizarea resurselor sunt:
- Lipsa de limitare a numărului de resurse alocate
- Pierderea tuturor referințelor la o resursă înainte de a ajunge la stadiul de închidere
- Eșecul închiderii / returnării unei resurse după procesare
Problema epuizării resurselor este de obicei ca urmare a implementării incorecte a următoarelor scenarii:
- Condiții de eroare și alte circumstanțe excepționale.
- Există o reacție mixtă asupra părții programului care eliberează resursa.
Următorul exemplu vă ajută să demonstrați natura acestei vulnerabilități și să descrieți metodele care pot fi utilizate pentru a atenua riscul.
Următorul exemplu explică vulnerabilitatea:
metoda care include o matrice
(imagine sursă )
Acest program nu urmărește câte conexiuni au fost făcute și nu limitează numărul de conexiuni disponibile. Forking-ul este doar unul dintre modurile folosite de un atacator pentru a face ca sistemul să rămână fără CPU, procese sau memorie, făcând un număr mare de conexiuni.
Ceea ce face un atacator este să consume toate conexiunile disponibile, împiedicând alții să acceseze sistemul de la distanță.
întrebări frecvente
Q # 1) Ce înseamnă SANS?
Răspuns: SANS înseamnă SysAdmin, Audit, Network și Security.
Q # 2) Înscrieți câteva exemple de vulnerabilități.
Răspuns: Exemplele sunt după cum urmează:
- Vulnerabilități software
- Vulnerabilități în firewall
- Vulnerabilități de rețea
- Vulnerabilități ale sistemului de operare
- Vulnerabilități ale serverului web
- Vulnerabilități în baza de date
Î # 3) Care este diferența dintre amenințări și vulnerabilități?
Răspuns: Amenințare este posibilitatea de a efectua un act rău intenționat sau nedorit în încercarea de a deteriora un sistem informatic sau o aplicație prin vulnerabilitățile existente în sistem. Exemplu: ransomware.
Vulnerabilități sunt puncte slabe care există în cadrul unui sistem care ar fi putut permite accesul nedorit sau neautorizat de la un atacator pentru a se infiltra în rău unei organizații. Exemplu: Configurarea greșită a paravanului de protecție.
Q # 4) Care sunt cele mai frecvente vulnerabilități?
Răspuns: Acestea sunt următoarele:
- Injecție SQL
- Scripturi între site-uri
- Configurare greșită a securității
- Expunere la date sensibile
- Autentificare defectă
- Managementul sesiunii
Concluzie
Această listă SANS top 20 de vulnerabilități nu este o regulă sau o politică, ci un ghid care să ne ajute cu privire la modul de evitare a vulnerabilităților software. Indiferent dacă suntem dezvoltatori sau experți în securitate, acum ne este lăsat să urmăm acest ghid cu privire la ce se poate face pentru a evita orice greșeală care ar putea duce la vulnerabilități în aplicația noastră, care poate crea un backdoor pentru ca un actor să execute un act rău intenționat.
Lectură recomandată
- Testarea securității (Un ghid complet)
- Instrument de testare a securității Acunetix Web Vulnerability Scanner (WVS)
- Ghid de evaluare și gestionare a vulnerabilității în rețea
- Topul celor mai puternice 10 instrumente de scanare a evaluării vulnerabilității în 2021
- Evaluarea vulnerabilității și diferența de testare a penetrării
- Jenkins Security: Activarea matricei de securitate și securitate a proiectului
- Top 4 erori de securitate cibernetică de evitat în timpul testării software-ului
- 10 BEST software de securitate a rețelei (NUMAI 2021 NUMAI PENTRU SELECTIVITATE)