Cele mai importante vulnerabilități API OATH

Cele mai importante vulnerabilități API OATH

Cele mai importante vulnerabilități API OATH: Introducere

Când vine vorba de exploit, API-urile sunt cel mai bun loc de început. API accesul constă de obicei din trei părți. Clienților li se eliberează jetoane de către un server de autorizare, care rulează alături de API-uri. API-ul primește jetoane de acces de la client și aplică reguli de autorizare specifice domeniului pe baza acestora. 

Aplicațiile software moderne sunt vulnerabile la o varietate de pericole. Fiți la curent cu cele mai recente exploatări și defecte de securitate; a avea benchmark-uri pentru aceste vulnerabilități este esențială pentru a asigura securitatea aplicației înainte de a avea loc un atac. Aplicațiile de la terțe părți se bazează din ce în ce mai mult pe protocolul OAuth. Utilizatorii vor avea o experiență generală de utilizare mai bună, precum și o conectare și autorizare mai rapide, datorită acestei tehnologii. Poate fi mai sigură decât autorizarea convențională, deoarece utilizatorii nu trebuie să-și dezvăluie acreditările cu aplicația terță parte pentru a accesa o anumită resursă. În timp ce protocolul în sine este sigur și securizat, modul în care este implementat vă poate lăsa deschis la atac.

Când proiectați și găzduiți API-uri, acest articol se concentrează pe vulnerabilitățile tipice OAuth, precum și pe diverse atenuări de securitate.

Autorizare la nivel de obiect spart

Există o suprafață vastă de atac dacă autorizarea este încălcată, deoarece API-urile oferă acces la obiecte. Deoarece elementele accesibile prin API trebuie autentificate, acest lucru este necesar. Implementați verificări de autorizare la nivel de obiect folosind un gateway API. Numai cei cu acreditările corespunzătoare de permisiune ar trebui să aibă acces.

Autentificare utilizator întreruptă

Tokenurile neautorizate sunt o altă modalitate frecventă prin care atacatorii pot obține acces la API-uri. Sistemele de autentificare pot fi piratate sau o cheie API poate fi expusă din greșeală. Jetoanele de autentificare pot fi folosit de hackeri pentru a dobândi acces. Autentificați oamenii numai dacă pot fi de încredere și utilizați parole puternice. Cu OAuth, puteți depăși simplele chei API și puteți obține acces la datele dvs. Ar trebui să te gândești mereu la cum vei intra și ieși dintr-un loc. Tokenurile OAuth MTLS Sender Constrained pot fi utilizate împreună cu Mutual TLS pentru a garanta că clienții nu se comportă greșit și nu transmit token-uri părții incorecte în timp ce accesează alte mașini.

Promovare API:

Expunerea excesivă a datelor

Nu există constrângeri privind numărul de puncte finale care pot fi publicate. De cele mai multe ori, nu toate funcțiile sunt disponibile pentru toți utilizatorii. Expunând mai multe date decât este absolut necesar, vă puneți pe dumneavoastră și pe alții în pericol. Evitați dezvăluirea sensibilității informații până când este absolut necesar. Dezvoltatorii pot specifica cine are acces la ce utilizând domenii și revendicări OAuth. Revendicările pot specifica la ce secțiuni ale datelor are acces un utilizator. Controlul accesului poate fi simplificat și mai ușor de gestionat prin utilizarea unei structuri standard pentru toate API-urile.

Lipsa resurselor și limitarea ratei

Black hats folosesc adesea atacurile de tip denial-of-service (DoS) ca o modalitate brută de a copleși un server și de a reduce astfel timpul de funcționare al acestuia la zero. Fără restricții privind resursele care pot fi apelate, un API este vulnerabil la un atac debilitant. „Folosind un gateway API sau un instrument de management, puteți seta restricții de tarif pentru API. Ar trebui incluse filtrarea și paginarea, precum și restricționarea răspunsurilor.

Configurare greșită a sistemului de securitate

Diferitele ghiduri de configurare a securității sunt destul de cuprinzătoare, din cauza probabilității semnificative de configurare greșită a securității. O serie de lucruri mici ar putea pune în pericol securitatea platformei tale. Este posibil ca pălăriile negre cu scopuri ulterioare să descopere informații sensibile trimise ca răspuns la interogări neformate, de exemplu.

Atribuire în masă

Doar pentru că un punct final nu este definit public nu înseamnă că nu poate fi accesat de dezvoltatori. Un API secret poate fi ușor interceptat și modificat de către hackeri. Aruncă o privire la acest exemplu de bază, care utilizează un Token Bearer deschis într-un API „privat”. Pe de altă parte, documentația publică poate exista pentru ceva care este destinat exclusiv uzului personal. Informațiile expuse pot fi folosite de pălăriile negre nu numai pentru a citi, ci și pentru a manipula caracteristicile obiectelor. Considerați-vă un hacker în timp ce căutați potențiale puncte slabe în apărarea dvs. Permiteți accesul numai celor cu drepturi corespunzătoare la ceea ce a fost returnat. Pentru a minimiza vulnerabilitatea, limitați pachetul de răspuns API. Respondenții nu ar trebui să adauge niciun link care nu este absolut necesar.

API promovat:

Gestionarea necorespunzătoare a activelor

Pe lângă creșterea productivității dezvoltatorilor, versiunile și documentația actuală sunt esențiale pentru propria dvs. siguranță. Pregătiți-vă pentru introducerea de noi versiuni și deprecierea vechilor API-uri cu mult timp înainte. Utilizați API-uri mai noi în loc să le permiteți celor mai vechi să rămână în uz. O specificație API ar putea fi folosită ca sursă principală de adevăr pentru documentare.

Injecție

API-urile sunt vulnerabile la injectare, dar la fel sunt și aplicațiile pentru dezvoltatori terți. Codul rău intenționat poate fi utilizat pentru a șterge date sau a fura informații confidențiale, cum ar fi parolele și numerele cărților de credit. Cea mai importantă lecție de luat din acest lucru este să nu depindeți de setările implicite. Furnizorul dvs. de management sau gateway ar trebui să poată satisface nevoile dvs. unice de aplicație. Mesajele de eroare nu trebuie să includă informații sensibile. Pentru a preveni scurgerea datelor de identitate în afara sistemului, pseudonimele în pereche ar trebui folosite în token-uri. Acest lucru asigură că niciun client nu poate lucra împreună pentru a identifica un utilizator.

Înregistrare și monitorizare insuficiente

Când are loc un atac, echipele au nevoie de o strategie de reacție bine gândită. Dezvoltatorii vor continua să exploateze vulnerabilitățile fără a fi prinși dacă nu există un sistem fiabil de înregistrare și monitorizare, ceea ce va crește pierderile și va afecta percepția publicului despre companie. Adoptă o strategie strictă de monitorizare API și de testare a punctelor finale de producție. Testerii pălărie albă care găsesc vulnerabilități din timp ar trebui să fie recompensați cu o schemă de recompense. Traseul jurnalului poate fi îmbunătățit prin includerea identității utilizatorului în tranzacțiile API. Asigurați-vă că toate straturile arhitecturii dvs. API sunt auditate prin utilizarea datelor Access Token.

Concluzie

Arhitecții platformei își pot echipa sistemele pentru a menține un pas înaintea atacatorilor, urmând criteriile de vulnerabilitate stabilite. Deoarece API-urile pot oferi accesibilitate la informațiile de identificare personală (PII), menținerea securității unor astfel de servicii este esențială atât pentru stabilitatea companiei, cât și pentru conformitatea cu legislația precum GDPR. Nu trimiteți niciodată jetoane OAuth direct printr-un API fără a utiliza un API Gateway și Phantom Token Approach.

API promovat: