Ministerie Van Volksgezondheid Bouwt Realtime Security Monitoring Systeem
Calvin is een privacy-by-design, realtime beveiligingsbewakingssysteem dat is gebouwd op open-source software voor de applicaties van het Ministerie van Volksgezondheid. De oplossing bewaakt en geeft meldingen over log-streams met een hoge doorvoer.

Het Doel
Realtime datatromen van applicaties bewaken op statistische afwijkingen.

De Uitdaging
Een systeem implementeren dat meerdere beveiligingsgevallen ondersteunt op realtime datatromen.

De Aanpak
Bouw een applicatie met een privacy-by-design mentaliteit, gebaseerd op een bedrijfsregelengine bovenop gebeurtenisdatatromen van applicaties, met behulp van Kafka en KSQL.
- Sector
- Publieke Sector
- Use Case
- Applicatie Monitoring

Over Calvin & Ministerie van Volksgezondheid
Tijdens Covid-19 werd het Ministerie van Volksgezondheid (VWS) geconfronteerd met een aantal nieuwe uitdagingen. Aangezien ze verschillende nieuwe in-house applicaties moesten ontwikkelen met betrekking tot Covid-19, stonden beveiliging en privacy by design centraal bij het ontwikkelen en onderhouden van deze applicaties. Bovendien hadden sommige applicaties te maken met gevoelige gegevens. Dit betekende ook dat er een extra uitdaging was op het gebied van cybersecurity. Zo min mogelijk mensen moesten toegang hebben tot de gegevens, maar tegelijkertijd moest de gebruikersactiviteit van de applicaties van VWS worden gemonitord om kwaadwillige bedoelingen te voorkomen. Deze eisen hebben geleid tot de creatie van Calvin, een privacy-by-design SOC SIEM-oplossing die intern is ontwikkeld bij het Ministerie van Volksgezondheid.
Calvin maakt deel uit van het KAT project (kwetsbaarheden-analyse-tool), een open-source tool voor het analyseren van kwetsbaarheden, waar we ook aan hebben gewerkt bij BiteStreams. Calvin zal op een later tijdstip als onderdeel van KAT open source worden gemaakt.
De Uitdaging: Use-case First SOC/SIEM
Aangezien de applicaties van VWS te maken hebben met gevoelige gegevens, was een van de belangrijkste vereisten vanaf het begin dat de oplossing moest voldoen aan ontwerpprincipes die de privacy behouden. Dit betekende dat de use-cases voor wat we willen monitoren eerst moesten worden opgezet en goedgekeurd door de relevante belanghebbenden, in plaats van achteraf use-cases te bedenken op basis van gebruikersgegevens.
Daarnaast hadden we nog enkele andere technische uitdagingen:
- Ondersteuning voor verschillende gegevensformaten, zoals gebeurtenissen en syslog-loggegevens
- Ondersteuning voor verschillende invoerkanalen voor gegevens: monitoring van logbestanden en inname van gebeurtenissen via een berichtenbroker
- Verwerking van grote hoeveelheden gegevens in real-time
- Ondersteuning voor het toevoegen van verschillende use-cases bovenop logstreams en gebeurtenisstreams die zijn ontworpen door het CSIRT (computer security incident response team)
- Het evenement-parseren, use-cases en applicaties sterk configureerbaar maken
- Een time-to-live (TTL) toevoegen aan alle gegevens, goedgekeurd door de privacyafdeling, zodat gegevens niet onbeperkt worden bewaard.
De Aanpak: Real-time KSQLdb Use-cases
Om deze uitdagingen aan te pakken, hebben we een zeer efficiënte Go-applicatie geïmplementeerd die logstreams in realtime kon verwerken met behulp van Kafka. Omdat we open-source software wilden gebruiken, hebben we de relatief nieuwe KSQLdb-database geïntegreerd, omdat KSQL uitst
ekende ondersteuning biedt voor cybersecurity use-cases. Door KSQL te gebruiken, kunnen we dynamisch use-cases definiëren met behulp van streaming-queries, zodat ze in realtime worden uitgevoerd. KSQL kan verschillende tijdsvensters samenvoegen, aggregeren en vergelijken. Dit stelt de applicatie in staat om beveiligingsincidenten te detecteren door het gebruik van de applicaties te monitoren over minuten, uren en dagen. Enkele van de eenvoudigere use-cases die het systeem bijvoorbeeld heeft gemonitord, waren:
- Pogingen om wachtwoorden van gebruikersaccounts te raden door mislukte aanmeldingen te monitoren
- Monitoren van gebruikersprivileges door te letten op veranderingen in de privileges van gebruikers
- Detectie van brute force-aanmeldpogingen voor beheerdersaccounts
Aangezien de ontwikkelde applicaties allemaal configureerbaar waren met behulp van JSON-configuratiebestanden, konden we nieuwe logstreams, use-cases en applicaties toevoegen naarmate we onze inspanningen op het gebied van betere beveiliging uitbreidden. Bovendien hebben we een CI/CD-pijplijn gebouwd met behulp van GitHub-actions, waardoor we nieuwe versies van de applicatie gemakkelijk konden implementeren door de Go-binaries te bouwen telkens wanneer er een release werd gemaakt op GitHub.
Conclusie: Impact voor het Ministerie van Volksgezondheid
Met Calvin hebben we de basis gelegd voor een modern SOC-systeem, gebaseerd op open-source software. Dit heeft geresulteerd in:
- Een privacy-by-design SOC/SIEM-systeem
- Een snelle en performante applicatie voor het verwerken van logs op grote schaal
- Een uitbreidbare en configureerbare open-source oplossing
Want to have a chat? Contact us now
Get more data-driven with BiteStreams, and leave the competition behind you.
Contact us