Omschrijving van de opdracht
De snelle verspreiding van cloud gebaseerde oplossingen zoals de M365-suite van Microsoft vereist robuuste cybersecuritymaatregelen. Dit stageproject richt zich op de ontwikkeling van een APP om automatisch de cybersecuritystatus van een M365-tenant bij Microsoft te beoordelen. Het doel is om potentiële kwetsbaarheden te benadrukken en bruikbare inzichten te bieden om de beveiliging te versterken.
Om dit project te realiseren, zet je aanvankelijk een M365-omgeving op en maak je deze opzettelijk kwetsbaar. Vervolgens wordt de APP ontwikkeld en getest in deze omgeving, waarbij wordt gezocht naar de kwetsbaarheden die je hebt ingesteld.
Doelstellingen
- Zet een M365-omgeving op met opzettelijke kwetsbaarheden.
- Ontwerp en ontwikkel de APP, gebaseerd op Python-code, om automatisch de cybersecuritystatus van de M365-tenant te beoordelen, gebaseerd op onze huidige M365-cybersecuritybeoordeling.
- Implementeer de beoordelings-APP in de testomgeving.
- Analyseer de resultaten en identificeer verbeterpunten in de APP.
- Optimaliseer de APP op basis van de bevindingen.
- Vergelijk de resultaten van de initiële beoordeling en de beoordeling na optimalisatie om de effectiviteit van de APP te meten.
Optionele uitbreidingen
- Ontwikkel een waarschuwingssysteem binnen de APP om beheerders in real-time te informeren over kritieke kwetsbaarheden.
Projectmethodologie
Veilige applicatieontwikkeling met behulp van CIS-, NIST- en Microsoft-cybersecurityraamwerken.
Integratie van raamwerken
- Integreer de belangrijkste principes van de CIS-, NIST- en Microsoft-cybersecurityraamwerken om de basisrichtlijnen voor het project te definiëren.
- Prioriteer aanbevelingen uit de raamwerken op basis van de kriticiteit van applicatiefuncties en het risico dat gepaard gaat met kwetsbaarheden.
Vereistenanalyse en dreigingsmodellering
- Gebruik het NIST-cybersecurityraamwerk om cybersecurityvereisten te identificeren, te beoordelen en te prioriteren, afgestemd op de functionaliteit en het gebruik van de applicatie.
- Maak gebruik van de dreigingsmodelleringstechnieken van Microsoft om potentiële kwetsbaarheden in de ontwerpfase te identificeren.
Veilige ontwikkelomgeving
- Stel een veilige ontwikkelomgeving in overeenstemming met de beste praktijken van CIS, waarbij ervoor wordt gezorgd dat alle tools, systemen en platforms die in de ontwikkeling worden gebruikt, regelmatig worden bijgewerkt en vrij zijn van kwetsbaarheden.
Veilige coderingspraktijken
- Pas veilige coderingspraktijken toe, gebruikmakend van richtlijnen uit alle drie de raamwerken om veelvoorkomende kwetsbaarheden zoals SQL-injectie, cross-site scripting, enz. te voorkomen.
- Voer regelmatig codebeoordelingen uit met de nadruk op beveiliging, met behulp van tools die voldoen aan de principes van het geïntegreerde raamwerk.
Testen en validatie
- Gebruik het NIST-raamwerk voor een rigoureus testregime om de beveiliging van de applicatie te valideren. Zorg ervoor dat testen penetratietesten, kwetsbaarheidsbeoordelingen en broncodeanalyse omvatten.
Feedback en iteratie
- Zoek actief naar feedback tijdens de ontwikkelings- en testfasen en gebruik inzichten om de beveiligingsstatus te itereren en te verbeteren.
- Zorg ervoor dat eventuele wijzigingen in de code opnieuw worden getest en beoordeeld op beveiligingsimplicaties.
Implementatie en onderhoud
- Zorg voor veilige implementatiepraktijken, rekening houdend met richtlijnen uit het CIS-raamwerk voor cloud- of on-premises implementaties.
- Monitor de applicatie continu in de productieomgeving. Gebruik het Microsoft Cybersecurity Framework om waarschuwingsmechanismen voor potentiële bedreigingen in te stellen.
- Beoordeel en werk de applicatie periodiek bij op basis van de evoluerende aanbevelingen van de CIS-, NIST- en Microsoft-cybersecurityraamwerken.