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.

An icon representing the goal of the project.

Het Doel

Realtime datatromen van applicaties bewaken op statistische afwijkingen.

An icon representing the challenge of the project.

De Uitdaging

Een systeem implementeren dat meerdere beveiligingsgevallen ondersteunt op realtime datatromen.

An icon representing the challenge of the project.

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
Ministerie van Volksgezondheid bouwt real-time oplossing voor beveiligingsbewaking, afbeelding is iemand die aan security werkt.

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