API Security

A sicurità di l'API hè stata un prublema di runtime. Ùn deve micca esse cusì.

Toute pull request Chì aghjusta o cambia un endpoint cambia a vostra superficia d'attaccu API. A maiò parte di l'arnesi di sicurezza API ùn si ne accorgenu micca finu à chì quellu endpoint hè attivu è riceve digià trafficu. À quellu puntu, a correzione ùn hè più un cambiamentu di una sola linea in una revisione di codice, hè una conversazione di risposta à l'incidente.

A sicurità di l'API hè a pratica di truvà è chjude i risichi in u modu in cui una applicazione espone i so endpoint: quale pò chjamalli, quali dati restituiscenu, è s'elli facenu ciò chì a ducumentazione dice chì facenu.

A maiò parte di l'arnesi custruiti per questu prublema testanu l'API in tempu reale, da fora, cum'è un attaccante. Questu approcciu funziona, ma funziona solu dopu chì l'API hè stata implementata. Xygeni piglia a strada precedente: leghje u vostru codice surghjente è a vostra specificazione API prima chì una sola dumanda ghjunghje mai à u puntu finale.

I quattru modi per pruvà una API, è ciò chì ognunu risponde

A maiò parte di i prugrammi maturi eseguenu più di unu di questi:

  • Test staticu Analiza u codice surghjente è e specificazioni di l'API prima di u sviluppu. Risponde à "chì avemu appena espostu?" Questu hè l'approcciu nantu à quale si cuncentra questu articulu.
  • Test dinamicu (DAST) manda trafficu reale à una API in esecuzione è osserva cumu risponde. Risponde "chì hè veramente raggiungibile è sfruttabile avà?" 
  • Fuzzing Lancia input malformati o inaspettati à i punti finali per superfici crash è fallimenti di casi limite. Risponde à "chì interruzioni sottu input ùn avemu micca previstu?"
  • Test di penetrazione manuale aghjusta u ghjudiziu umanu per truvà difetti logichi chì l'arnesi automatizati ùn riescenu micca. Risponde à "chì cuncatenerebbe un attaccante intelligente?"

Nimu di questi rimpiazza l'altri. Rispondenu à diverse dumande in diversi punti di u ciclu di vita, è a lacuna chì a maiò parte di i prugrammi anu hè a prima.

Perchè a maiò parte di l'arnesi di sicurezza API vedenu u risicu troppu tardi

I testi di sicurezza di l'API in tempu reale mandanu u trafficu à una applicazione in diretta è osservanu cumu risponde. Hè un stratu legittimu è necessariu. Hè ancu, per custruzzione, un indicatore di ritardu: un endpoint deve esiste, esse implementatu è esse raggiungibile prima chì un scanner in tempu reale possi dì qualcosa à propositu. Tuttu ciò chì trova era digià espostu per tuttu u tempu chì ci hè vulsutu per l'esecuzione di a scansione.

Ci hè una seconda lacuna sottu à quellu prublema di timing. L'arnesi di runtime ponu solu pruvà ciò chì sanu chì esiste. S'è un endpoint ùn hè mai statu documentatu, o a specificazione OpenAPI hè diventata obsoleta in u mumentu chì qualchissia hà mandatu una nova strada, un scanner di runtime ùn hà manera di sapè ch'ella hè quì. Verifica a mappa, micca u territoriu.

I testi di sicurezza di l'API statichi chjudenu e duie lacune muvendu a verificazione induve hè definitu u puntu finale: u vostru codice è a vostra specificazione API, prima di a implementazione. U listessu pull request chì introduce un endpoint hè u pull request chì palesa u so risicu.

Ciò chì significa in realtà a sicurezza di l'API statica

Xygeni custruisce u vostru inventariu API da duie fonti: u codice surghjente di a vostra applicazione è e vostre specificazioni API, cumprese OpenAPI è Swagger.

Un inventariu solu di specifiche mostra i punti finali chì qualchissia s'hè ricordatu di documentà. Un inventariu solu di codice mostra ciò chì esiste ma micca necessariamente cumu era destinatu à esse adupratu. Leghje tramindui vi dà u quadru cumpletu: i punti finali chì e vostre squadre anu documentatu, è quelli chì nimu hà fattu.

Quellu inventariu hè a basa nantu à quale tuttu u restu si basa:

  • API totali scuperte, è risorse à risicu misurate in cunfrontu à una basa di basa
  • Punti finali ripartiti per metudu HTTP
  • Prublemi raggruppati per serviziu
  • Ogni endpoint cù u so metudu, percorsu, serviziu, modulu, statu d'autentificazione è puntuazione di risicu

I vostri ingegneri vedenu a forma di a vostra superficia API senza apre un solu bigliettu.

Ogni endpoint truvatu da Xygeni, cù u so metudu, u statu d'autentificazione è u puntu di risicu, custruitu da u codice è a specificazione inseme.

Production note Ritagliate u pannellu AI Triage da qualsiasi screenshot di Sicurezza API.

Mappatu à u Top 10 di Sicurezza di l'API OWASP

I risultati parlanu di u quadru chì e vostre squadre di sicurezza è i vostri auditori utilizanu digià. Xygeni rileva u risicu in tutta a sicurezza di l'API OWASP. I 10 migliori (2023):

OWASP risicu Cosa significa in pratica
API1 Autorizazione di Livellu d'Oggettu Rottu Un endpoint restituisce o mudifica dati appartenenti à un altru utilizatore o locatariu
API2 Punti finali micca autenticati Una strada hè accessibile senza alcuna autenticazione
API3 Esposizione eccessiva di dati Una risposta restituisce più campi di quelli chì u chjamante hà bisognu o duveria vede
API3 Assignazione di massa Un endpoint accetta è applica campi chì ùn era mai destinatu à accettà
API3 / API10 Dati sensibili in e risposte PII, PCI o PHI ghjunghjenu à u cliente da un endpoint chì ùn deve micca mandallu
API4 Limiti di velocità mancanti Un endpoint ùn hà micca prutezzione contr'à l'abusu o e chjame di forza bruta
API5 Autorizazione di livellu di funzione rotta Un endpoint esegue un'azione privilegiata senza verificà chì u chjamante sia autorizatu à fà.
API7 SSRF L'API pò esse ingannata per fà richieste per contu di l'attaccante
API8 Mala cunfigurazione di JWT A validazione, a firma o a scadenza di u token hè cunfigurata in modu incorrectu
API8 Mala cunfigurazione di CORS E regule di origine incrociata sò abbastanza permissive per esse sfruttabili
API9 Punti finali zombi è orfani Percorsi obsoleti o dimenticati chì sò sempre accessibili, è percorsi chì nimu ùn pussede

Una categuria hè assente deliberatamente. L'API6, Accessu Illimitatu à i Flussi Cummerciale Sensibili, richiede a capiscitura di ciò chì un prucessu cummerciale hè suppostu di permette, è nisun analizzatore staticu ùn rileva questu in modu credibile. Ogni venditore chì afferma u cuntrariu vi vende una casella di cuntrollu. Quella ferma cù a vostra modellisazione di minacce è i vostri tester di penetrazione.

Micca ogni scuperta hè uguale: Sensibilità di i dati è cumminazzioni tossiche

Una lista piatta di risultati tratta un endpoint di cuntrollu di salute micca autenticatu cum'è un endpoint micca autenticatu chì restituisce i registri di i clienti. Quessi ùn sò micca u listessu prublema, è un mudellu di prioritizazione chì li valuta in modu identicu addestra e vostre squadre à ignurà a lista.

Xygeni classifica i dati trattati da ogni endpoint, segnalendu PII, PCI è PHI in i parametri di richiesta è in e risposte, è associa questu cù u statu di autenticazione di l'endpoint.

Correla dinò i risultati chì ghjunghjenu à u listessu endpoint è aumenta a gravità quandu si cumponenu. Una fuga d'infurmazioni persunali in una risposta hè una scuperta seria in sè stessa. A listessa fuga nantu à un endpoint chì ùn richiede micca autenticazione hè critica, è a piattaforma a valuta in questu modu invece di lascià a cunnessione à qualchissia per ch'ella a noti manualmente.

Punti finali zombi è orfani: A deriva trà u codice è a specificazione

Siccomu Xygeni leghje u vostru codice è a vostra specificazione API fiancu à fiancu, vede induve ùn sò micca d'accordu. Sta deriva si prisenta cum'è trè mudelli ricunniscibili:

  • Punti finali senza documentazione. Vivenu in u codice è ùn sò mai stati aghjunti à a specificazione.
  • Punti finali di zombi. Sò marcati cum'è obsoleti o ritirati, è sò sempre accessibili.
  • Punti finali orfani. Nimu in a squadra attuale ùn li pussede.

Nimu di questi ùn si prisenta in un inventariu solu di specifiche, perchè a specificazione hè esattamente ciò chì li manca.

Evidenza nantu à quale pudete agisce, micca un bigliettu per investigà

Ogni scuperta indica u gestore esattu rispunsevule: u schedariu, a classa, u metudu è a linea specifica chì hà introduttu a falla, cù u codice offensivu resu accantu. Ognunu porta ancu a so gravità, a so categuria OWASP API Security Top 10, u so CWE, u statu di autenticazione di l'endpoint è a classificazione di sensibilità di i dati implicati.

Una scuperta chì nomina solu un endpoint manda un sviluppatore à circà in a basa di codice prima ancu di pudè cumincià à riparà qualcosa. Una scuperta chì nomina a linea u mette subitu à a riparazione.

I risultati sò esportati cum'è JSON, CSV, Markdown è SARIF 2.1.0, cusì sbarcanu in u tStrumenti in cui e vostre squadre travaglianu digià. 

U gestore, a linea, è u codice chì hà introduttu l'esposizione. Micca un bigliettu da investigà.

Perchè questu vive in una piattaforma, micca in un'altra cunsola

Xygeni esegue a Sicurezza API inseme SAST, SCA, Sicreti di Sicurezza, IaC e DAST in una sola piattaforma, correlata per mezu di ASPM, invece di spediscelu cum'è un strumentu separatu cù u so propiu login è u so propiu arretratu.

Questu hè impurtante perchè i risultati statichi è i risultati in tempu d'esecuzione rispondenu à dumande diverse nantu à u listessu endpoint, è sò più utili inseme chè separati. Static vi dice chì un endpoint hè risicatu prima di esse speditu. DAST cunfirma ciò chì hè veramente raggiungibile è sfruttabile una volta chì hè in esecuzione.

Divide questu trà duie console è u risicu currelatu diventa dui arretrati senza relazione. Nimu ùn li riconcilia, è l'endpoint chì hè à tempu senza documentu è senza autenticazione ùn si trova in alcuna di e duie file.

Vede a vostra vera superficia d'attaccu API. A sicurezza API hè dispunibule cum'è Enterprise add-on à a piattaforma Xygeni, è una scansione si esegue contr'à i vostri propri repositori in a vostra propria infrastruttura.

FAQ

Pò dì quali endpoints gestiscenu dati sensibili?

Iè. Xygeni segnala PII, PCI è PHI in i parametri è e risposte di l'endpoint, è usa sta classificazione per classificà i risultati per esposizione reale.

Pò esse eseguitu nantu à ogni pull request?

Iè. A scansione incrementale analizza solu i punti finali chì sò cambiati, è u manifestu ch'ella produce pò fucalizà una scansione DAST successiva nantu à i stessi punti finali, cusì i testi statichi è in tempu reale restanu allineati à ciò chì hè statu veramente spustatu.

U mo codice abbanduneghja u mo ambiente ?

Innò. I scans funzionanu in a vostra propria infrastruttura. Solu i risultati sò caricati, prutetti in transitu è ​​in riposu.

Cumu possu ottene a Sicurezza API?

A sicurezza API hè dispunibule cum'è Enterprise add-on. Richiedete un PoC è serà discussu cun voi.

sca-tools-software-strumenti-d'analisi-di-cumpusizione
Priorizà, rimedià è assicurà i vostri risichi di software
Uttene u vostru contu gratuitu.
Nisuna carta di creditu necessaria.

Assicurà u vostru sviluppu è a consegna di software

cù a Suite di Prodotti Xygeni