Close

Hoe wij externe beveiligingstests aanpakken


Klanten vragen Atlassian vaak om rapporten van penetratietests om zekerheid te krijgen over de processen die we hebben om beveiligingskwetsbaarheden te identificeren (en op te lossen) in Atlassian-producten en de cloud. Onze aanpak van externe beveiligingstests is gebouwd op het concept van 'continue zekerheid'; we maken geen gebruik van point-in-time-penetratietests, maar hebben we ook een 'always on'-testmodel met een crowdsourced Bug Bounty-programma.

Onze filosofie en aanpak

Atlassian staat bekend om onze waarden en die waarden beïnvloeden echt alles dat we doen; inclusief onze benadering van beveiligingstests. In de praktijk hebben onze waarden ons de volgende filosofieën en benaderingen opgeleverd:

  • Bugs zijn een onvermijdelijk onderdeel van het ontwikkelingsproces; de vraag is niet of we bugs hebben, maar hoe effectief en snel we ze kunnen vinden en aanpakken. Dit betekent niet dat we blij zijn met bugs of dat we niet constant nieuwe manieren aan het ontwikkelen zijn om de frequentie en ernst ervan te minimaliseren, maar als het gaat om softwarebugs is ontkenning geen effectieve aanpak.
  • We streven ernaar om de kosten van het vinden en misbruik maken van kwetsbaarheden in onze producten en diensten te verhogen; door problemen snel te identificeren en op te lossen willen we de economische kosten van het vinden van beveiligingsbugs verhogen. Door de kosten van het misbruik maken van een kwetsbaarheid te verhogen, door te zorgen dat het langer duurt en dat er meer kennis en bronnen van de slechterik voor nodig zijn, verminderen we hun opbrengsten. Als we dit ver genoeg verminderen wordt het voor hen onbetaalbaar of onaantrekkelijk.
  • We steunen en gebruiken branchenormen; door onze terminologie en aanpak te standaardiseren weten we zeker dat we niets missen en helpen we klanten begrijpen wat we doen. We delen kwetsbaarheden bijvoorbeeld in via het Common Vulnerability Scoring System (CVSS) om duidelijkheid te geven over de ernst van een specifieke kwetsbaarheid voor ons en onze klanten. We volgen bovendien de kwetsbaarheidsbeheerprocessen zoals beschreven in ISO 27001 en de Cloud Security Alliance (SCA).
  • Externe beveiligingsonderzoekers zijn een belangrijke uitbreiding van ons team; als een Atlassian-product een kwetsbaarheid bevat, is het voor iedereen (zowel wij als onze klanten) van belang dat we het zo snel mogelijk vinden en oplossen. Atlassian moedigt door middel van geldbeloningen uit ons Bug Bounty-programma externe onderzoekers aan om kwetsbaarheden in onze producten te identificeren. Dankzij onze externe beveiligingsonderzoekers kunnen we ons team veel verder opschalen dan met traditionele benaderingen!
  • We zijn open en transparant over ons beveiligingstestprogramma; ons Bug bounty-programma levert statistieken over gevonden bugs, we zijn open over de snelheid waarmee we beveiligingsbugs oplossen en we maken samenvattende testrapporten beschikbaar indien mogelijk.

Doorlopende beveiligingsgarantie

Penetratietests

We maken gebruik van gespecialiseerde beveiligingsconsultancybedrijven om penetratietests uit te voeren op risicovolle producten en infrastructuur. Dit kan bijvoorbeeld een nieuwe infrastructuur zijn die voor ons is opgezet (bijv. onze cloudomgeving), een nieuw product (bijv. Trello) of een fundamentele nieuwe architectuur (bijv. het uitgebreide gebruik van microservices).

We benaderen penetratietests in deze gevallen zeer doelgericht en gefocust. Deze tests zijn over het algemeen:

  • White box: de testers krijgen designdocumentatie en -briefings van onze productontwikkelaars om de tests te ondersteunen
  • Ondersteund door code: de testers hebben volledige toegang tot de relevante codebase om te helpen bij het diagnosticeren van onverwacht systeemgedrag tijdens het testen en om potentiële doelwitten te identificeren
  • Gebaseerd op bedreigingen: de tests zijn gericht op een specifiek bedreigingsscenario, zoals de aanname dat een installatie gecompromitteerd is, en vanuit dat beginpunt worden zijdelingse bewegingen getest

We plaatsen Letters of Assessments (LoA, beoordelingsbrieven) van onze penetratietestpartners voor externe consumptie onderaan deze pagina. We kunnen geen volledige rapporten leveren vanwege de uitgebreide interne informatie waar de testers toegang toe hebben bij het uitvoeren van deze beoordelingen. Het merendeel van deze systemen en producten zal vervolgens worden opgenomen in ons openbare Bug bounty-programma, waardoor onze klanten de doorlopende externe zekerheid krijgen die ze willen. Alle resultaten van deze beoordelingen worden getriageerd en opgelost volgens onze SLA voor openbare beveiligingskwetsbaarheden.

Bug bounty

Ons Bug bounty-programma wordt gehost door Bugcrowd. Het doel van dit programma is om er zeker van te zijn dat onze producten constant getest worden op beveiligingskwetsbaarheden. Dit is de kern van ons externe beveiligingstestprogramma en het resultaat van uitgebreid onderzoek, analyse en vergelijking tussen testmodellen.

Wij geloven dat de groep onafhankelijke beveiligingsonderzoekers die meedoet aan ons Bug Bounty-programma de effectiefste beveiligingstestprocessen oplevert, want:

  1. Een Bug Bounty is altijd actief. Penetratietests vinden over het algemeen plaats in een paar weken. In een echte agile ontwikkelingsomgeving met regelmatige releases is doorlopend testen onontbeerlijk.
  2. Een Bug Bounty heeft meer dan 60.000 potentiële testers. Penetratietests worden meestal uitgevoerd door 1 of 2 personen. Hoe goed die 1 of 2 personen ook zijn, ze zullen nooit de totale capaciteit van het team van Bug Bounty-deelnemers overschrijden.
  3. Bug Bounty-onderzoekers ontwikkelen gespecialiseerde tools en processen, zowel verticaal (voor verschillende soorten bugs) als horizontaal (voor verschillende bounty's). Met deze specialisatie is de kans het grootst dat moeilijk te vinden (maar significante) kwetsbaarheden geïdentificeerd worden.

We blijven penetratietests en gespecialiseerde beveiligingsconsultants gebruiken voor interne support, maar voor ons brede externe programma past een Bug bounty beter. We geloven dat de combinatie van deze benaderingen onze kansen om kwetsbaarheden te vinden maximaliseert.

Meer dan 25 van onze producten en omgevingen, van serverproducten tot mobiele apps en cloudproducten, vallen binnen ons Bug Bounty-programma. Informatie over het aantal gerapporteerde kwetsbaarheden, onze gemiddelde reactietijd en de gemiddelde uitbetaling is te vinden op de website van Bugcrowd, waar meer dan 800 testers zich specifiek voor ons programma hebben geregistreerd.

De kwetsbaarheden die we willen identificeren met ons Bug Bounty-programma omvatten de veel voorkomende types die opgenomen zijn in de bedreigingslijsten Open Web Application Security Project (OWASP) en Web Application Security Consortium (WASC). Dit zijn onder andere:

  • Gegevens-/toegangslekken tussen installaties
  • Remote Code Execution (RCE)
  • Server-Side Request Forgery (SSRF)
  • Cross-site Scripting (XSS)
  • Cross-site Request Forgery (CSRF)
  • SQL Injection (SQLi)
  • XML External Entity Attacks (XXE)
  • Kwetsbaarheden bij toegangsbeheer (problemen met onveilige direct object references, etc.)
  • Doorloopproblemen met paden/directories

Als onderdeel van ons initiatief om open en transparant te zijn, nodigen we iedereen uit om onze Bug Bounty-programmapagina te bezoeken, zich aan te melden en ons te testen.

Kwetsbaarheidsrapportage

Als een kwetsbaarheid wordt ontdekt door een van onze gebruikers tijdens het standaardgebruik van het product (in tegenstelling tot wanneer ze gevonden worden via een specifieke poging om het systeem te testen, wat alleen mag gebeuren via ons Bug Bounty-programma), vragen we je dit te melden via ons Atlassian-supportteam. We reageren snel op eventuele ingediende kwetsbaarheden en houden navragende partijen op de hoogte naarmate we het probleem onderzoeken en erop reageren.

We vragen onderzoekers om eerst toestemming van ons te vragen voordat ze een probleem openbaar maken. Atlassian verwerkt verzoeken voor openbaarmaking eens per rapport. Verzoeken om openbaarmaking worden pas in behandeling genomen nadat de gerapporteerde kwetsbaarheid opgelost is.

Uitsluiting van ons beveiligingstestprogramma

Net zoals we open en duidelijk zijn over de tests die we uitvoeren, zijn we open en duidelijk over de tests die we niet zelf uitvoeren of op dit moment niet ondersteunen. De volgende zaken zijn uitgesloten van ons beveiligingstestprogramma:

Marketplace-apps: Hoewel Marketplace-apps zijn uitgesloten van ons Bug Bounty-programma, kun je wel beveiligingsproblemen indienen via het Programma voor openbaar maken van kwetsbaarheden. We zullen alle kwetsbaarheden die aan ons gemeld worden doorgeven, maar deze komen niet in aanmerking voor een beloning.

Tests opgezet door klanten -

We staan nu door klanten opgezette tests toe, in overeenstemming met onze Gebruiksvoorwaarden voor onze cloudproducten. We hebben ons voorgenomen open te zijn en blijven regelmatig statistieken van ons Bug Bounty-programma publiceren.

We geloven dat onze Bug Bounty de efficiëntste en duurzaamste manier is om de veiligheid van onze producten en services te beoordelen, maar we begrijpen dat je die beveiliging misschien zelf wil testen. We staan beveiligingstests door klanten toe (penetratietests, kwetsbaarheidsbeoordelingen), maar we vragen je wel om je aan een aantal regels te houden om de veiligheid van ons allemaal te waarborgen. Als je een probleem vindt dat je wil rapporteren, zijn instructies voor het rapporteren van een kwetsbaarheid op onze website te vinden.

Bepaalde kwetsbaarheidstypen met een laag risico: onze producten zijn ontwikkeld om de potentie van ieder team te ontketenen en hier is samenwerking voor nodig. Kwetsbaarheden die te maken hebben met telling en informatieverzameling worden over het algemeen niet gezien als significante risico's.

De juiste dingen meten

We hebben een beleid voor bugfixes dat dient als een intern Service Level Agreement (SLA) tussen onze productteams en ons beveiligingsteam. We gebruiken het Common Vulnerability Scoring System (CVSS versie 3) om bugs te categoriseren, waardoor we de ernst van kwetsbaarheden kunnen communiceren richting onze klanten. We doen ons best om aan de volgende tijdskaders voor het oplossen van beveiligingsproblemen te voldoen:

  • Bugs met ernstigheidsniveau kritisch (CVSS v2-score >= 8, CVSS v3-score >= 9) moeten opgelost zijn in het product binnen 4 weken nadat ze gerapporteerd zijn.
  • Bugs met ernstigheidsniveau hoog (CVSS v2-score >= 6, CVSS v3-score >= 7) moeten opgelost zijn in het product binnen 6 weken nadat ze gerapporteerd zijn.
  • Bugs met ernstigheidsniveau gemiddeld (CVSS v2-score >= 3, CVSS v3-score >= 4) moeten opgelost zijn in het product binnen 8 weken nadat ze gerapporteerd zijn.

Deze tijdskaders worden jaarlijks opnieuw beoordeeld en waar nodig aangepast aan het veranderende bedreigingslandschap.

Bovendien hebben we een manier nodig om kosten te kwantificeren, aangezien het ons doel is om de kosten van het vinden en misbruiken van kwetsbaarheden te verhogen. We gebruiken de 'bounty' die beveiligingsonderzoekers wordt aangeboden voor het vinden van een kwetsbaarheid als proxy. Simpel gezegd: na verloop van tijd zou het aantal bugs dat via het Bug Bounty-programma gevonden wordt af moeten nemen, en als dat gebeurt moeten we het bedrag dat we bereid zijn om te betalen voor deze bugs verhogen als we willen dat rapporten maar binnen blijven komen. Als de moeite die het kost om een kwetsbaarheid die beloond wordt met $ 3000 te vinden het niet waard is (omdat het meer dan $ 3000 aan moeite kost), hebben we de kosten om die kwetsbaarheid te vinden verhoogd.

Met andere woorden: als het goed is zullen onze betalingen voor bounty's in de loop van de tijd toenemen.

Samenvatting

Atlassian heeft een doorontwikkeld, open en transparant extern beveiligingstestprogramma dat gebouwd is rond onze bug bounty.

Wil je meer te weten komen?

We hebben in deze korte paper naar een heel aantal andere documenten en resources verwezen en we raden je aan je hier in te verdiepen om meer te weten te komen over onze benadering van beveiligingstests.

Download onze huidige Bug bounty-rapporten

Alle beveiligingskwetsbaarheden die in de onderstaande rapporten zijn vastgesteld, worden bijgehouden in onze interne Jira terwijl ze het intakeproces van het Bug Bounty-programma doorlopen en alle bevindingen uit dit programma worden getoetst en verholpen volgens onze publieke SLA voor beveiligingskwetsbaarheden.