Close

Sicurezza nello sviluppo software in Atlassian


In Atlassian, la sicurezza è integrata in ogni fase del ciclo di vita dello sviluppo per garantire che il nostro codice, i nostri prodotti e i nostri clienti siano sempre protetti. Ci avvaliamo di pratiche sicure in tutte le fasi del ciclo di vita dello sviluppo.

  • Lo sviluppo è supportato da programmi di formazione sulla sicurezza delle applicazioni e da una knowledge base di sicurezza gestita dal team di sicurezza.
  • Nella fase di progettazione, le pratiche includono la modellazione delle minacce, la revisione dei progetti e la nostra libreria di standard di sicurezza, regolarmente aggiornata, che garantisce l'applicazione dei requisiti di sicurezza appropriati.
  • Durante lo sviluppo, ci avvaliamo di un processo di peer review come prima linea della revisione della sicurezza. Tale processo è supportato da controlli automatizzati di analisi statica (SAST) e test di sicurezza manuali (condotti sia da team interni che da esperti di terze parti, come stabilito nel nostro processo di valutazione del rischio).
  • I processi formali di preparazione operativa e controllo delle modifiche assicurano quindi che solo le modifiche approvate vengano distribuite in produzione. Dopo la distribuzione, ci avvaliamo di una scansione automatizzata delle vulnerabilità e di un programma Bug Bounty leader del settore per eseguire una verifica continua delle nostre applicazioni. Misuriamo continuamente lo stato di sicurezza dei nostri prodotti nel tempo con un sistema di scorecard di sicurezza.
Jersey

Cultura

Coinvolgimento

Formazione

Standard

Portablocco con elenco

Pratiche

Checkpoint

Revisione della sicurezza

Miglioramento della sicurezza

Creazione di una cultura della sicurezza

Atlassian crea una cultura della sicurezza offrendo ai suoi team il Security Champions Program e una solida formazione sulla sicurezza.

Security Champions Program

Tutti i team di prodotti e servizi Atlassian includono figure leader, o promotori della sicurezza, che si assumono la responsabilità di attuare iniziative chiave per la sicurezza tra i propri colleghi su base continuativa e di mantenere il più aperta possibile la comunicazione con il team di sicurezza centrale. In questo modo, la sicurezza ha sempre un ruolo centrale in tutta la nostra organizzazione.

I promotori della sicurezza si incontrano regolarmente per condividere strumenti e conoscenze sulle più recenti problematiche e sfide della sicurezza che devono affrontare, affinché tutti i nostri team possano trarne vantaggio. Il programma ha fatto da trampolino di lancio per integrare in misura ancora maggiore la sicurezza nella nostra cultura.

Formazione sulla sicurezza per sviluppatori

Utilizziamo contenuti di formazione sviluppati internamente e di terze parti per garantire che i nostri team di sviluppo dispongano delle conoscenze in materia di sicurezza necessarie per creare applicazioni sicure. Il nostro programma di formazione viene costantemente monitorato per garantirne lo stato di integrità e si evolve per far fronte al mutevole scenario delle minacce.

Fase di progettazione

Nella fase di progettazione, utilizziamo la modellazione delle minacce, la revisione dei progetti e la nostra libreria di standard di sicurezza, regolarmente aggiornata, per garantire l'applicazione dei requisiti di sicurezza appropriati.

modellazione delle minacce

Utilizziamo la modellazione delle minacce per comprendere meglio i rischi per la sicurezza quando emergono minacce complesse o vengono modificate funzioni critiche per la sicurezza in relazione ai progetti. Ciò comporta una sessione di brainstorming tra i nostri tecnici, ingegneri della sicurezza, architetti e responsabili di prodotto per identificare le minacce rilevanti e definirne le priorità. Queste informazioni confluiscono nel processo di progettazione e garantiscono l'implementazione di controlli appropriati. Supportano inoltre revisioni e test mirati nelle fasi successive dello sviluppo.

La nostra modellazione delle minacce include:

  • Applicazione di un approccio basato sul rischio per determinare la necessità di eseguire la modellazione delle minacce.
  • Un processo maturo per l'esecuzione della modellazione delle minacce, inclusi materiali e strumenti di assistenza.
  • Video di formazione e materiale di lettura per aiutare i team software a condurre la modellazione delle minacce.

Fase di sviluppo

Durante tutto il processo di sviluppo, utilizziamo una serie di processi e pratiche di sicurezza per garantire che il nostro codice sia sempre sicuro.

Revisione della sicurezza

Il team di sicurezza esegue un processo di revisione per garantire la sicurezza in tutti i progetti software di Atlassian. Attraverso un processo di valutazione del rischio si stabiliscono le priorità delle aree su cui concentrare la revisione della sicurezza e si identificano le attività necessarie per mitigare il rischio del progetto. A seconda del livello di rischio identificato, le attività di verifica comprendono una combinazione di:

  • revisione del progetto e modellazione delle minacce
  • revisione del codice e test di sicurezza
  • verifica indipendente condotta da ricercatori e consulenti di terze parti esperti

Peer review

Durante lo sviluppo, tutto il codice è soggetto al nostro processo di test Peer Review, Green Build (PRGB). Questo processo richiede che più sviluppatori senior o capo sviluppatori esaminino tutti i commit prima che vengano inviati in produzione ed è supportato da controlli automatizzati di analisi statica (SAST) e test di sicurezza manuali (condotti sia da team interni che da esperti di terze parti, come stabilito nel nostro processo di valutazione del rischio). Lo sviluppo è anche supportato da programmi di formazione sulla sicurezza delle applicazioni e da una knowledge base di sicurezza gestita dal team di sicurezza.

Separazione degli ambienti

Manteniamo la separazione logica e fisica degli ambienti di produzione e non di produzione (sviluppo) per tutti i nostri servizi critici. Il nostro ambiente di staging è separato a livello logico, ma non a livello fisico, ed è gestito conformemente a processi di controllo e accesso delle modifiche a livello di produzione.

Atlassian prevede inoltre policy di sicurezza che vietano l'uso dei dati di produzione in ambienti non di produzione. Manteniamo linee guida su come rendere anonimi o proteggere i dati soggetti a restrizioni, inclusi i dati personali, attraverso tecniche di anonimizzazione, hashing e tokenizzazione.

Fase di manutenzione

Prima dell'invio in produzione, il codice deve superare il nostro controllo di idoneità formale e i processi di controllo delle modifiche.

Dopo la distribuzione di un sistema, conduciamo regolarmente scansioni automatiche delle vulnerabilità. Come illustrato nelle nostre pratiche di sicurezza, disponiamo di un programma Bug Bounty leader del settore che fornisce una garanzia di sicurezza continua per i nostri sistemi utilizzando un gruppo affidabile di ricercatori di sicurezza in crowdsourcing.

Scorecard di sicurezza

Abbiamo creato un sistema automatizzato di responsabilità e monitoraggio costituito da scorecard di sicurezza dei prodotti che vengono utilizzate per misurare il livello di sicurezza di tutti i prodotti Atlassian. Utilizziamo un'ampia gamma di criteri incentrati sulla sicurezza, come le vulnerabilità attuali, la formazione, gli imprevisti di sicurezza recenti e i Security Champion, per fornire un punteggio di sicurezza giornaliero complessivo per ciascuno dei nostri prodotti.

Questo processo di valutazione offre a ciascuno dei nostri team di prodotto una visione oggettiva delle aree di sicurezza che richiedono attenzione e individua le lacune esistenti che devono essere colmate e le azioni necessarie per colmarle. Il processo relativo alle scorecard di sicurezza consente inoltre al team di sicurezza Atlassian di monitorare facilmente l'andamento di tutti i prodotti dal punto di vista della sicurezza nel corso del tempo, in particolare man mano che la suite di prodotti viene ampliata.