forumApri un argomento

Revisione del codice appena acquisito: da dove partire con la OWASP Top 10?

MMustafa E***PartecipanteMembro della community
Iscrizione
feb 2024
Messaggio
83
#1

Siamo una startup tecnologica di 6 persone con sede a Dallas e sviluppiamo software per la logistica. Abbiamo fatto sviluppare il nostro portale clienti e il modulo di tracciamento ordini da un'agenzia esterna con un budget di 45.000 USD. Il progetto è stato consegnato, il contratto di manutenzione con loro è terminato e abbiamo preso in carico la codebase con due sviluppatori interni del nostro team.

Nella nostra azienda non c'è una figura dedicata alla cybersecurity o un auditor. Vogliamo però essere certi che il sistema non presenti vulnerabilità critiche prima di iniziare a erogare il servizio ai nostri clienti corporate. Per questo motivo abbiamo deciso di condurre una code review interna prendendo come riferimento la OWASP Top 10.

Senza un team dedicato alla sicurezza, a quali rischi dovremmo dare priorità durante la revisione del codice basata sulla OWASP Top 10? Oltre ai tool di analisi statica, quali pattern dovremmo cercare manualmente nel codice e in quale momento diventa indispensabile affidarsi a un supporto professionale esterno?

HHande T***Partecipante
Ruolo
Addetto all'inserimento dati
Settore
Commercio all'ingrosso alimentare
Tipo di organizzazione
laboratorio
Iscrizione
apr 2025
Messaggio
62
Più utile#2

Risposta breve: per i team di sviluppo privi di specialisti di sicurezza, il punto di partenza più critico nella code review è verificare l'uso corretto dei parametri nelle query al database e convalidare i controlli di autorizzazione. Per individuare le vulnerabilità logiche di privilege escalation che i tool automatici non riescono a rilevare è indispensabile una revisione manuale della business logic.

Come primo passo, installate tool open source di analisi statica del codice (SAST) nel vostro ambiente di sviluppo locale. Questi strumenti individuano rapidamente secret hardcodati password, dipendenze obsolete e chiamate a funzioni non sicure. Risolvere i problemi ad alta gravità emersi dal report e applicare le patch alle librerie esterne con vulnerabilità note è il modo più rapido per ottenere risultati concreti.

La seconda fase, nonché la più complessa riguarda i controlli della business logic. Per verificare i problemi di Broken Access Control (la vulnerabilità più comune secondo OWASP), seguite questi passaggi: 1) Controllate il layer che convalida se l'ID oggetto inviato dall'utente corrisponde a chi ha effettuato il login, 2) Assicuratevi che i controlli sui ruoli siano applicati rigorosamente lato server su ogni singolo endpoint e non solo nell'interfaccia, 3) Sostituite tutte le query raw create tramite concatenazione di stringhe con query parametrizzate.

La revisione svolta dai vostri due sviluppatori è ottima per sanare le falle principali. Tuttavia, se la piattaforma tratta dati aziendali sensibili o informazioni di pagamento, prima del rilascio in produzione è fondamentale commissionare un penetration test indipendente, anche a perimetro ridotto, per tutelarvi dai rischi legali e operativi.

SSultan Ö***Esperto
Ruolo
Addetto all'inserimento dati
Settore
Sport e fitness
Tipo di organizzazione
startup appena avviata
Iscrizione
feb 2023
Messaggio
10
#3

Per l'analisi manuale, una ricerca mirata nel testo aiuta moltissimo: 1) Query al DB con concatenazione diretta di variabili, 2) Secret o chiavi lasciati in chiaro nel codice, 3) Blocchi try/catch che restituiscono al client dettagli sensibili del sistema. Cercare questi pattern vi porterà via solo un paio d'ore.

SSelin U***PartecipanteMembro della community
Iscrizione
mar 2026
Messaggio
2
#4

Quando abbiamo ereditato un portale di dimensioni simili, con un controllo manuale abbiamo scovato 5 diverse falle di autorizzazione in due giorni. Gli scanner automatici non le avevano viste minimamente, perché solo una persona che legge la business logic può capire quali dati mostrare a chi.

İİsmail K***Veteran
Ruolo
QA Engineer
Settore
E-commerce
Tipo di organizzazione
media impresa
Iscrizione
set 2022
Messaggio
3
#5

Fate prima di tutto un audit delle dipendenze delle librerie terze usate nel progetto. Eseguite i comandi di security audit integrati nel vostro package manager e aggiornate i pacchetti con falle note. Spesso le falle più gravi lasciate dalle agenzie derivano proprio da librerie non aggiornate.

AAycan K***Partecipante
Ruolo
Direttore negozio
Settore
Catering
Tipo di organizzazione
Azienda di 20 persone
Iscrizione
mar 2024
Messaggio
132
#6

Per due developer che non hanno scritto quel codice è davvero dura mettere in sicurezza l'architettura di qualcun altro basandosi solo sulla lista OWASP. Se avete tempi stretti concentratevi solo sui permessi di accesso e sulle query al database, non perdete tempo con dettagli crittografici complessi.

DDoruk A***Partecipante
Ruolo
Coordinatore generale
Settore
Indotto automotive
Tipo di organizzazione
Azienda di 20 persone
Iscrizione
ott 2022
Messaggio
18

Doki · Penetration test · 2024

#7

controllate soprattutto se cambiando i parametri id nell'url riuscite ad accedere agli ordini di altri utenti, di solito le agenzie si dimenticano questi controlli di permessi sul backend

edit: ho corretto alcuni errori di battitura.

ZZeynep I***PartecipanteMembro della community
Iscrizione
apr 2023
Messaggio
55
#8

In fase di chiusura contrattuale con clienti enterprise del settore logistico è normale che venga richiesto un report di sicurezza indipendente. L'audit interno che state svolgendo rafforza la piattaforma, ma a livello legale o contrattuale potrebbe non sostituire una perizia esterna formale.

HHasan U***PartecipanteMembro della community
Iscrizione
mag 2024
Messaggio
41
#9

L'architettura è multi-tenant? Cioè tutti i clienti usano lo stesso database? In tal caso, il focus più critico dell'intera analisi deve essere il meccanismo di isolamento dei dati per evitare che un'azienda possa accedere alle tabelle di un'altra.

DDeniz A***EspertoMembro della community
Iscrizione
ago 2025
Messaggio
164
#10

Anche se per team piccoli può sembrare un'impresa titanica, usare le linee guida OWASP come checklist e procedere passo dopo passo darà al vostro team una marcia in più a livello ingegneristico. Man mano che correggete i bug di business logic, tutta l'architettura diventerà molto più solida.

MMustafa A***PartecipanteMembro della community
Iscrizione
nov 2024
Messaggio
14
#11

La strada che sembra economica di solito finisce per costare cara. Avere il backup accessibile sulla stessa rete e con le stesse credenziali lo rende parte del bersaglio.

ZZerrin Y***Partecipante
Ruolo
Direttore produzione
Settore
Retail
Tipo di organizzazione
azienda familiare
Iscrizione
ott 2022
Messaggio
11
#12

Argomento molto attuale. Se non lo rendete scritto fin dall'inizio, poi nascono discussioni.

Se avete domande, scrivete, rispondo per quanto possibile.

EErcanPartecipante
Ruolo
Contabile
Iscrizione
set 2024
Messaggio
92
#13

Sono d'accordo in parte, in parte no. Gran parte del tempo perso si accumula nelle pratiche in attesa di approvazione.

MMetin Y***Partecipante
Ruolo
Direttore tecnologico
Settore
Pelle
Tipo di organizzazione
ditta individuale
Iscrizione
set 2024
Messaggio
43
#14

Riassumo quanto detto finora. L'errore commesso da revisione del codice owasp top 10 è generalmente reversibile ma costoso.

Lascio una nota, potrebbe servire.

IIrmak B***Esperto
Ruolo
Direttore finanziario
Settore
Logistica
Tipo di organizzazione
azienda all'interno di un gruppo
Iscrizione
lug 2023
Messaggio
150
#15

C'è una parte che non ho capito. Se il percorso di notifica è lungo, la notifica non arriva; una notifica mancante significa un evento scoperto tardi.

Il fatto che tutti facciano una cosa non significa che sia quella giusta. Buon lavoro.

LLeyla Ö***PartecipanteMembro della community
Iscrizione
feb 2025
Messaggio
38
#16

C'è una trappola qui, non posso non segnalarla. Le persone difendono le abitudini, non i processi. La resistenza nasce da lì.

Confermato dall'esperienza.

PPerihanPartecipante
Ruolo
Comunicazione aziendale
Tipo di organizzazione
distributore di zona
Iscrizione
dic 2023
Messaggio
118
#17

Parlo dal lato opposto, io sono dalla parte dei fornitori. Non fidatevi di una sola misura di sicurezza; procedete per livelli.

Cercare di farlo da soli è la strada più costosa. Io seguirei questa strada.

İİsmail K***Nuovo membro
Ruolo
Alimentari
Tipo di organizzazione
media impresa
Iscrizione
dic 2024
Messaggio
22

Doki · Configurazione gestione log · 2025

#18

salvato.

MMelis K***PartecipanteMembro della community
Iscrizione
apr 2023
Messaggio
29
#19

In generale è corretto ma manca un pezzo. onestamente quando prendi una decisione, guarda prima quali dati hai a disposizione.

Se scrivete qui il risultato sarà utile anche ad altri.

RRecep S***PartecipanteMembro della community
Iscrizione
mag 2025
Messaggio
342
#20

Esattamente così. Da noi la cosa che faceva perdere più tempo era non sapere chi decidesse.

Cercare di farlo da soli è la strada più costosa.

Rispondi