Consigli per la revisione del codice di sicurezza [chiuso]

1

Ho scritto software per ~ 7 anni e sono stato attivamente interessato alla sicurezza per ~ 2-3. Questo interesse è stato interamente auto-motivato e principalmente dal lato di attacco; Ho scritto diversi strumenti offensivi di sicurezza FOSS e ho fatto immersioni profonde in alcuni vettori di attacco come rebinding DNS . Grazie a questa esperienza, sono riuscito ad inviare il mio primo lavoro di infosec come Application Security Engineer presso una società di elaborazione VPS / cloud. Uno dei miei ruoli sarà quello di condurre revisioni periodiche del codice di tutto il software che costruiamo. Non sono estraneo alla lettura del codice e alla formulazione di suggerimenti informali, ma questa sarà la mia prima volta a condurre revisioni sistematiche e formali del codice di altre persone su base regolare. Ad essere onesti, sono un po 'intimidito. Ho una passione per la sicurezza che ho esercitato da sola per anni, ma non ho mai avuto l'incarico di formulare raccomandazioni autorevoli ad alto rischio sull'argomento, almeno non a livello di codice.

Qualcuno ha qualche suggerimento su come ottenere esperienza o comfort con la conduzione di recensioni del codice relative alla sicurezza ? Ho due settimane per assumere il ruolo e mi piacerebbe avere una certa esperienza con la revisione del codice e l'apprendimento per raccomandare le migliori pratiche prima di apparire in azienda come una sorta di figura dell'autorità . Qualsiasi consiglio generale, consigli o pensieri sono molto apprezzati!

    
posta Brannon 24.10.2018 - 02:38
fonte

2 risposte

1

Potresti prendere OWASP ASVS come base di riferimento. Fornisce una copertura abbastanza completa dei controlli software suddivisi nelle seguenti categorie:

Architecture
Authentication
Session Management
Access Control
Input validation and output encoding
Cryptography
Error Handling
Data Protection
Communications
Malicious Code
Business Logic Flaws
Files and Resources
Mobile
API
Configuration
Internet of Things

Come puoi vedere il campo potrebbe essere abbastanza ampio, quindi consiglierei di creare un modello di minaccia di un'applicazione revisionata per dare la priorità al tuo approccio, in pratica per esaminare prima la maggior parte delle parti critiche.

Se vai oltre, puoi implementare verifiche specifiche per la lingua come quelle fornite da CMU .

    
risposta data 24.10.2018 - 11:31
fonte
1

Non mi preoccuperei di essere un impostore. Hai lo sfondo di sviluppo per essere in grado di relazionarsi con gli sviluppatori e sarà probabilmente esaltato avere qualcuno dalla sicurezza che capisce appec per un cambiamento.

Tuttavia, a meno che ci siano solo poche applicazioni in ambito, ciò che si propone è un lavoro troppo grande per una persona da eseguire manualmente.

  • Devi incoraggiare i campioni della sicurezza nello staff di sviluppo. Un campione di sicurezza è uno sviluppatore che è dove eri un paio di anni fa in termini di interessi di sicurezza. E permetti loro di condurre le revisioni del codice del codice della loro squadra.

  • Esistono strumenti di analisi del codice statici per limitare la ricerca di possibili cattive pratiche. Veracode (costoso), CodeDX (più economico e meno preciso) e SonarQube (Open source).

Una parte della tua domanda è come persino fare una revisione del codice. Ho ottenuto molto dai seguenti video: link

link

    
risposta data 24.10.2018 - 13:28
fonte