Wat is OpenKAT?

Aangepast:

Vele van jullie zullen er nog nooit van gehoord hebben. OpenKAT! Uiteraard staat het internet vol met lieve, grappige en opzienbarende kattenfilmpjes maar OpenKAT is toch net even wat anders. KAT staat voor “Kwetsbaarheden Analyse Tool”. En Open refereert naar het feit dat de tool open-source is. Zoals de afkorting en diens vertaling ook doen vermoeden is OpenKAT een product van Nederlandse bodem. OpenKAT is namelijk een scantool die in ontwikkeling is bij het ministerie van Volksgezondheid in samenwerking met Z-CERT. Naast persoonlijke hygiëne is de hygiëne van de digitale omgeving namelijk net zo belangrijk. Als CERT-WM participeren we mee met OpenKAT en daarom vertellen we er in deze blog graag wat meer over.

De drijfsfeer en kracht van OpenKAT:

OpenKAT is een tool die zelf OpenSource is maar ook bestaat uit diverse open-source tools. Er zijn ontzettend veel krachtige open-source tools op de markt die op zichzelf ontzettend sterk zijn in het uitvoeren van een specifieke handeling. Maar wat als al deze tools nou eens goed met elkaar geïntegreerd konden worden? Wat als deze tools samen een krachtige scanner vormen om allerhande kwetsbaarheden te detecteren? Dat is wat de ontwikkelaars van OpenKAT voor ogen hadden tijdens het ontwikkelen van deze tool. De beste diepgaande open-source tooling in een combinatie met elkaar plaatsen om een krachtige brede en diepe vulnerability scanner te krijgen.

En traditionele vulnerability scanners dan?

Uiteraard klinkt een vulnerability scanner niet “nieuw”. We kennen allemaal vulnerability scanners zoals Nessus en Acunetics. Ook zijn er al andere vulnerability scanners die zijn gebouwd rondom open-source tools. Dus wat is de businesscase van OpenKAT? De kracht van OpenKAT zit in een aantal zaken:

  • Het geven van een breder inzicht. Dus niet alleen security vulnerabilities komen in beeld, maar ook andere vulnerabilities zoals configuratieafwijkingen worden inzichtelijk.
  • OpenKAT voorziet in voortgangsrapportage waardoor organisaties de ontwikkelingen in positieve, of negatieve zin kunnen bijhouden.

Veel bestaande oplossingen bieden een stukje van de securitypuzzel. ISMS, vulnerability scanning, inventarisatiesystemen en SIEM systemen. Stuk voor stuk nuttige hulpmiddelen, maar ze sluiten onvoldoende aan bij de operatie. Een klein technisch falen kan b.v. een ernstig compliance-risico veroorzaken.

Ruis?

Het nadeel, wanneer meerdere resultaten geretourneerd worden door verschillende tools, is de ruis. Waar overlappen de resultaten elkaar? Wat zijn nieuwe inzichten? Wat is informatief voor de gebruiker? Om de resultaten overzichtelijk te houden moet er heel wat gebeuren. De OpenKAT engine zorgt dat de data gecorreleerd en gefilterd wordt zodat alleen de juiste informatie overblijft voor de gebruiker. Het motto is dan ook “I see, I see, what you do’t see”.

Nieuwe uitgangspunten

Omdat OpenKAT een nieuw systeem is kon men hierbij gemakkelijk een aantal uitgangspunten centraal zetten. Zo werkt OpenKAT met een “object-oriented” model. Dit model is de basis van OpenKAT en geeft o.a. inzicht en classificatie van de huidige systemen. Voordat OpenKAT iets interpreteert moet hij de data kunnen plaatsen binnen dit object-georiënteerd-model. Dit geeft als groot voordeel dat de data die geïnterpreteerd wordt door OpenKAT ook meteen laat zien welke systemen het nog meer raakt. Output uit traditionele tools zou slechts 1 vulnerability op 1 systeem tonen. Maar wat wordt er vervolgens nog meer geraakt? Een ander uitgangspunt is herleidbaarheid. OpenKAT maakt gebruik van een temporal graph database. Naast het feit dat deze techniek ontzettend snel is zorgt hij ervoor dat kwetsbaarheden herleidbaar zijn. Hoe lang speelt het al en speelt het misschien ook op andere systemen? Ook geeft OpenKAT de mogelijkheid om handmatige bevindingen in te voeren waardoor informatie nog meer verrijkt wordt. Zo kan de OpenKAT scanner continue scannen op vulnerabilities maar kunnen deze resultaten verrijkt worden met de resultaten vanuit een pentest. Wanneer OpenKAT een volwassen stadium bereikt, is het mogelijk om op elk moment voor elke periode een rapportage te genereren die geheel conform internationale standaarden is. Tenslotte kunnen nieuwe businessrules zelf worden ingevoerd waardoor maatwerk tot de mogelijkheden behoord. Iedere organisatie is immers anders. Dus resumé:

  • Werken volgens “object-oriented” model.
  • Retourneren van nuttige informatie die zowel technisch kan zijn, als op basis van configuratie of compliance.
  • Data wordt niet zomaar overgenomen uit tools maar eerst verwerkt, verrijkt en geïnterpreteerd.
  • Herleidbaarheid van de data.
  • Geven van breder inzicht. Welke systemen worden nog meer geraakt?
  • Gebruik van temporal graph database welke de data forensisch accuraat (bewijsbaar) opslaat.

Kortom, OpenKAT beloofd meer te zijn dan simpelweg een samenstelling van open-source tools.

Boefjes

Katten zijn boefjes toch? Binnen OpenKAT worden de tools “Boefjes” genoemd. OpenKAT komt standaard met veel soorten boefjes. Denk aan integraties van b.v. nmap, Shodan en Binary Edge. Maar naast alle standaard integraties maakt OpenKAT het ook gemakkelijk om boefjes toe te voegen. De OpenKAT API is zo gemaakt dat nieuwe tools gemakkelijk te integreren zijn. Werkt jouw omgeving met specifieke tools of wil je de OpenKATinformatie verrijken met informatie uit nieuwe (custom) bronnen dan is dat relatief gemakkelijk te regelen. Boefjes kunnen vervolgens beschikbaar gesteld worden voor de community zodat iedereen deze “modules” kan gebruiken. Ook dat is de kracht van open-source!

Nog niet klaar, alle hulp is welkom!

Op dit moment is OpenKAT nog in ontwikkeling. Later dit jaar zal OpenKAT volledig open-source worden. Maar er is ook dan nog veel ontwikkeling, finetuning en hulp nodig. Heb je interesse in het OpenKAT project? Wil je meehelpen en mee participeren? Kijk dan voor alle informatie op https://openkat.nl

Jarno Baselier