Beveiliging tijdens softwareontwikkeling bij Atlassian
Bij Atlassian is beveiliging in elke fase van de ontwikkelingscyclus geïntegreerd om ervoor te zorgen dat onze code, producten en klanten beschermd blijven. We hanteren veilige ontwikkelingsmethoden in alle fasen van de ontwikkelingscyclus.
- De ontwikkeling wordt ondersteund door trainingsprogramma's voor applicatiebeveiliging en een kennisdatabase voor beveiliging die wordt onderhouden door het beveiligingsteam;
- Tijdens de ontwerpfase worden dreigingsmodellering, ontwerpbeoordeling en onze regelmatig bijgewerkte bibliotheek met beveiligingsnormen ingezet. Dat zorgt ervoor dat er rekening wordt gehouden met de juiste beveiligingsvereisten;
- Tijdens de ontwikkeling vertrouwen we op een verplicht peer review-proces als eerste lijn van beveiligingsbeoordeling. Dit proces wordt ondersteund door geautomatiseerde statische analysecontroles (SAST) en handmatige beveiligingstests (zowel door interne teams als externe experts, zoals bepaald door ons risicobeoordelingsproces);
- Formele operationele gereedheid en veranderingscontroleprocessen zorgen er vervolgens voor dat alleen goedgekeurde wijzigingen in productie worden geïmplementeerd. Na de implementatie maken we regelmatig gebruik van geautomatiseerde scans van kwetsbaarheden en een toonaangevend bug bounty-programma om continue zekerheid van onze toepassingen te bieden. We meten continu de beveiligingspostuur van onze producten door de tijd heen met een beveiligingsscorekaartsysteem.
Cultuur
Betrokkenheid
Training
Normen
Werkwijzen
Controlepunten
Beveiligingsbeoordeling
Verbetering van beveiliging
Bouwen aan een beveiligingscultuur
Atlassian bouwt een beveiligingscultuur op door onze teams te versterken via onze robuuste beveiligingstraining.
Beveiligingstraining voor ontwikkelaars
We gebruiken zowel intern ontwikkelde content als content van derden voor training om ervoor te zorgen dat onze ontwikkelingsteams over de nodige beveiligingskennis beschikken om veilige toepassingen te bouwen. Ons trainingsprogramma wordt continu gecontroleerd om de status van het programma te waarborgen en ontwikkelt mee met het veranderende dreigingslandschap.
Ontwerpfase
Tijdens de ontwerpfase worden dreigingsmodellering, ontwerpbeoordeling en onze regelmatig bijgewerkte bibliotheek met beveiligingsnormen ingezet om ervoor te zorgen dat er rekening wordt gehouden met de juiste beveiligingsvereisten.
Bedreigingsmodellering
We maken gebruik van dreigingsmodellering om beveiligingsrisico's beter te begrijpen wanneer projecten worden geconfronteerd met complexe bedreigingen of wanneer kritieke beveiligingsfuncties wijzigen. Er wordt een brainstormsessie georganiseerd tussen onze engineers, beveiligingstechnici, architecten en productmanagers om relevante dreigingen in kaart te brengen en prioriteit te geven. Deze informatie wordt meegenomen in het ontwerpproces en zorgt dat de juiste controles worden ingevoerd. Bovendien ondersteunt het gerichte beoordelingen en tests in latere ontwikkelingsfasen.
Onze dreigingsmodellering omvat:
- Een op risico's gebaseerde aanpak om de noodzaak voor dreigingsmodellering te bepalen
- Een gedegen proces voor het uitvoeren van dreigingsmodellering, inclusief ondersteunende materialen en gereedschappen
- Trainingsvideo's en leesmateriaal om softwareteams te helpen bij het modelleren van bedreigingen
Ontwikkelingsfase
Tijdens het ontwikkelingsproces gebruiken we een aantal beveiligingsprocessen en -methoden om ervoor te zorgen dat onze code beveiligd blijft.
Beveiligingsbeoordeling
Het beveiligingsteam voert ook een beveiligingscontroleproces uit om beveiligingsgarantie te leveren voor alle softwareprojecten bij Atlassian. Er wordt een proces op basis van risico's gebruikt om prioriteit toe te kennen aan de beveiliging en om vast te stellen welke acties vereist zijn om projectrisico's te beperken. Garantieactiviteiten zijn afhankelijk van het vastgestelde risiconiveau en omvatten een combinatie van:
- Beoordeling van ontwerpen en modelleren van bedreigingen;
- Codebeoordeling en beveiligingstests;
- Onafhankelijke garantie met deskundige externe onderzoekers en consultants.
Peerreview
Tijdens de ontwikkeling wordt alle code onderworpen aan ons "peer review green build"-testproces (PRGB). Dit proces vereist dat meerdere senior of lead ontwikkelaars alle commits beoordelen voordat ze naar productie worden gepusht. Dit proces wordt verder ondersteund door geautomatiseerde statische analysecontroles (SAST) en handmatige beveiligingstests (zowel door interne teams als externe experts, zoals bepaald door ons risicobeoordelingsproces). De ontwikkeling wordt ook ondersteund door trainingsprogramma's voor applicatiebeveiliging en een kennisdatabase voor beveiliging die wordt onderhouden door het beveiligingsteam.
Scheiding van omgevingen
We handhaven logische en fysieke scheiding van productie- en ontwikkelingsomgevingen voor al onze kritieke services. Onze staging-omgeving is logisch gescheiden - maar niet fysiek gescheiden - en wordt beheerd onder controle- en toegangsprocessen van productiekwaliteit.
Atlassian heeft ook beveiligingsbeleid dat het gebruik van productiegegevens in niet-productieomgevingen verbiedt. We hanteren richtlijnen voor het verwijderen of beschermen van beperkte gegevens - inclusief persoonsgegevens - met behulp van anonimisering, hashing en tokenisatietechnieken.
Onderhoudsfase
Voordat we code naar productie pushen, moet deze onze formele controleprocessen voor operationele gereedheid en verandering doorlopen.
Nadat een systeem is geïmplementeerd, voeren we regelmatig geautomatiseerde kwetsbaarheidsscans uit. Zoals we in onze beveiligingspraktijken bespreken, hebben we een toonaangevend bug bounty-programma dat voortdurende borging van de continue beveiliging biedt voor onze systemen met behulp van een vertrouwde, crowd-sourced groep beveiligingsonderzoekers.
Beveiligingsscorekaarten
We hebben een geautomatiseerd verantwoordings- en monitoringsysteem ontwikkeld dat bekend staat als "productbeveiligingsscorekaarten", dat wordt gebruikt om de beveiligingspostuur van alle producten bij Atlassian te meten. We gebruiken een breed scala aan beveiligingsgerichte criteria, zoals huidige kwetsbaarheden, training en recente beveiligingsincidenten om een algemene dagelijkse beveiligingsscore voor elk van onze producten te bieden.
Dit scoreproces geeft elk van onze productteams een objectieve weergave van welke beveiligingsgebieden extra aandacht nodig hebben en stelt vast waar hiaten bestaan die aangepakt moeten worden, met acties om ze aan te pakken. Het proces met beveiligingsscorekaarten maakt het bovendien mogelijk voor het Atlassian-beveiligingsteam om eenvoudig bij te houden hoe alle producten het gedurende bepaalde tijd doen vanuit beveiligingsperspectief, vooral omdat ons productassortiment blijft schalen.