Apr 18, 2023

APT Detectie voor ICS

De blogpost bespreekt het detecteren van Advanced Persistent Threats (APT's) in Industrial Control Systems (ICS) en legt uit waarom dit een uitdaging is. Er wordt ingegaan op wat APT's zijn en hoe de detectie kan worden verbeterd in de context van ICS, met behulp van best practices zoals specifieke detectietools en een security monitoring-architectuur die rekening houdt met de kenmerken van ICS-netwerken.

APT Detectie voor ICS

Interview multiple candidates

Lorem ipsum dolor sit amet, consectetur adipiscing elit proin mi pellentesque  lorem turpis feugiat non sed sed sed aliquam lectus sodales gravida turpis maassa odio faucibus accumsan turpis nulla tellus purus ut   cursus lorem  in pellentesque risus turpis eget quam eu nunc sed diam.

Search for the right experience

Lorem ipsum dolor sit amet, consectetur adipiscing elit proin mi pellentesque  lorem turpis feugiat non sed sed sed aliquam lectus sodales gravida turpis maassa odio.

  1. Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  2. Porttitor nibh est vulputate vitae sem vitae.
  3. Netus vestibulum dignissim scelerisque vitae.
  4. Amet tellus nisl risus lorem vulputate velit eget.

Ask for past work examples & results

Lorem ipsum dolor sit amet, consectetur adipiscing elit consectetur in proin mattis enim posuere maecenas non magna mauris, feugiat montes, porttitor eget nulla id id.

  • Lorem ipsum dolor sit amet, consectetur adipiscing elit.
  • Netus vestibulum dignissim scelerisque vitae.
  • Porttitor nibh est vulputate vitae sem vitae.
  • Amet tellus nisl risus lorem vulputate velit eget.
Vet candidates & ask for past references before hiring

Lorem ipsum dolor sit amet, consectetur adipiscing elit ut suspendisse convallis enim tincidunt nunc condimentum facilisi accumsan tempor donec dolor malesuada vestibulum in sed sed morbi accumsan tristique turpis vivamus non velit euismod.

“Lorem ipsum dolor sit amet, consectetur adipiscing elit nunc gravida purus urna, ipsum eu morbi in enim”
Once you hire them, give them access for all tools & resources for success

Lorem ipsum dolor sit amet, consectetur adipiscing elit ut suspendisse convallis enim tincidunt nunc condimentum facilisi accumsan tempor donec dolor malesuada vestibulum in sed sed morbi accumsan tristique turpis vivamus non velit euismod.

Industrial Network Monitoring Tools komen in veel vormen en maten. Dat er heel wat parameters zijn die een rol spelen staat ook buiten kijf, want deze tools moeten niet alleen heel goed zijn om “gewoon” IT verkeer te detecteren en onderzoeken, maar daar bovenop ook de wondere wereld van industriële protocollen begrijpen. Deze twee werelden; in de volksmond vaak IT / OT genoemd; botsen vaak met elkaar en dat op meer dan één manier.
Eén van de belangrijke parameters, als je naar de kern van de zaak gaat, is uiteraard aankoop prijs. En dan is er uiteraard een zeer interessante ondergrens: €0.

Inleiding

Open source network monitoring is meestal gratis qua aankoop. Er kruipt uiteraard wat meer energie en tijd in het opzetten van zo’n systeem en het troubleshooting is ook vaak een vast onderdeel van de installatie, maar de aankoopprijs is niet te verslaan.
Dit artikel is een samenvatting van een onderzoeksproject uitgevoerd door medewerkers D. Rusek en S. Roobol van Deloitte in een post doctoraatsstudie voor de Universiteit van Amsterdam. Hun vraag “Hoe kan netwerk analyse gebruikt worden om de aanwezigheid van Advanced Persistent Threats te detecteren in een Industrieel Controle Systeem.
Oftewel, hoe kunnen opensource tools ingezet worden in de strijd tegen kwaadaardig netwerk verkeer op industriële systemen.

De resulterende paper kan hier gevonden worden: https://www.delaat.net/rp/2019-2020/p21/report.pdf en de bijhorende presentatie staat hier: https://delaat.net/rp/2019-2020/p21/presentation.pdf

Setup

Bij het onderzoek werd uitgegaan van bestaande software die reeds jaren ervaring heeft met algemene network monitoring. Een oplossing werd gevonden in de opvolger van Bro (https://github.com/bro), genaamd Zeek. Bro werd overigens uitvoerig besproken en gedemonstreerd tijdens ons voorgaande Tetra project “Veilige Industriële Netwerken”: https://www.insecurity.be/verboten/presentaties/presentatie_gc5_NSM_for_ICS.pdf

Bro werd intussen “geforked” en hernoemd naar Zeek: https://github.com/zeek/zeek , maar het opzet blijft hetzelfde: een open source framework dat enerzijds een basis analyse aanbiedt, zo efficiënt mogelijk probeert te werken en toch flexibel is dankzij een eigen Zeek scripting language. Deze Zeek Scripting Language is waar dit onderzoek start. Extra Zeek scripts zijn gemaakt of aangepast voor o.a. ARP spoofing, DNS tunneling, modbus, profinet en S7comm. Dit om monitoring te kunnen uitvoeren op live systemen of op reeds eerder gecapteerde data in de vorm van een pcap bestand.

Scripts gecreëerd om Zeek de kans te geven meer begrip te geven aan de data

Op een standaard Linux machine is het opzetten vrij eenvoudig:

En de gratis network monitoring tool is klaar voor gebruik, deze bevat standaard een aantal definities (zichtbaar in de folder /opt/zeek/share/zeek/base/) en zal zelfs automatisch e-mails versturen bij overtredingen.

Detectie

Er zijn een aantal modellen die kunnen gebruikt worden om niveaus, types en ernst van bedreigingen te bepalen. Voor IT omgevingen wordt vaak het MITRE ATT&CK framework gebruikt dat hier terug te vinden is: https://attack.mitre.org. Dit bevat onderverdelingen van technieken die gebruikt worden bij security issues en bedreigingen.
Sinds januari 2020 bestaat er ook een industriële versie van dit framework: ATT&CK for Industrial Control Systems, https://collaborate.mitre.org/attackics
Dit framework helpt dus met de classificatie van het type bedreiging die wordt gedetecteerd.

De verschillende stappen van een aanval moeten ook gecategoriseerd kunnen worden. Is een bedreiging onderdeel van de eerste fase en zitten we dus vroeg in de aanval, of gaat het bijv. over een laterale beweging van een stuk malware dat reeds geruime tijd in de organisatie zit?
Om dit in kaart te brengen bestaat er voor de IT wereld de zogenaamde Cyber Kill Chain van Lockheed Martin: https://www.lockheedmartin.com/en-us/capabilities/cyber/cyber-kill-chain.html.
Maar ook hier bestaat een tegenganger voor de industriële wereld, SANS heeft in 2015 de Industrial Control System Cyber Kill Chain ontwikkeld hiervoor: The Industrial Control System Cyber Kill Chain (sans.org)

Er bestaan ook andere versies van deze ICS Cyber Kill Chain.
In 2016 werd deze voorgesteld: Cyber Kill Chain applied to ICS | INCIBE-CERT (incibe-cert.es)
En in 2018: Kill Chain for Industrial Control System (semanticscholar.org)

Dit onderzoek heeft beide systemen; Mittre ATT&CK ICS en de SANS ICS Cyber Kill Chain naast elkaar gezet.

Mapping van het ATT&CK framework en de ICS Killchain

Om uiteindelijk te oordelen of een bepaald soort gedetecteerd verkeer nu onderdeel is van een aanval of niet, werd door de onderzoekers een flowchart ontwikkeld. Deze zal op basis van de log-files uit Zeek een flowchart overlopen door deze te mappen op het ICS Mitre framework.

Flowchart van de anomaly mapper

Het onderzoek

In samenwerking met de onderzoekers van IC4 werden een aantal benchmark scenario’s geselecteerd. Deze werden manueel en op onverwachte momenten uitgevoerd om het gedrag van een potentiële bedreiging te simuleren.

  • ARP spoofing: Man-in-The-Middle
  • 2 SSH sessies
  • RDP (Extern bureaublad) sessie
  • Instellen Siemens PLC uitgangen via S7comm
  • Instellen Siemens PLC variabelen via S7comm
  • Stoppen en starten van een Siemens PLC via S7comm
  • Opladen van een EXE bestand via FTP naar een PLC
  • Een TCP scan van een volledig netwerk
  • WannaCry werd uitgevoerd op een PC in het datacenter
  • Profinet DCP broadcast scanning én wijzigen van de naam van een PLC
  • DNS tunneling via speciaal aangemaakte DNS requests

Tot slot was de hoofdvraag: in hoeverre werden bovenstaande scenario’s herkend als potentieel kwaadaardig door de nieuw gemaakte Zeek scripts?

Resultaten en conclusies

Over het algemeen werden er heel wat zaken correct gedetecteerd.

Ongewone zaken, zoals het gebruik van HTTPS over poort TCP/80 werden correct geïdentificeerd en zat ook in de ontwikkelde scripts. Ook al was het geen onderdeel van de scenario’s.
De ARP spoofing was vrij simpel: Zeek kan ARP replies die geen bijhorende request hebben detecteren en op die manier met vrij grote zekerheid vaststellen dat een spoofing/poisoning aanval gaande is.
Bij SSH verbindingen werd bijv. in het script ingesteld dat alles buiten de kantooruren een hoger risico bevat, dus ook hier werd alles gedetecteerd.
Voor S7comm is het een ander verhaal, dit propriëtaire protocol heeft meerdere versies (een COTP versie en een native CPU versie), en terwijl bijv. het wijzigen van uitgangen en variabelen wel gedetecteerd werd, was dat bij het stoppen starten van de PLC niet het geval. Deze laatste gebruikt een COTP protocol dat nog niet door Wireshark of andere S7comm analyzers wordt herkend (ook wel S7comm Plus genoemd).
Het WannaCry virus werd om nog onverklaarbare redenen niet gedetecteerd.
De andere werden correct geïdentificeerd en ook gemapped aan bijv. de verkennings (discovery) fase van de Kill Chain.

Uiteindelijk werden de meeste zaken wel degelijk correct geïdentificeerd.

Naast het onderzoek op de live demo omgeving van IC4 werd ook een bestaande capture file gebruikt: van de 160 gekende en aangegeven bedreigingen in deze capture file werd door Zeek en de bijgevoegde scripts 120 bedreigen correct geïdentificeerd.

Op basis van deze data en het eigen onderzoek werden ratio’s berekend: Positive Predictive Value (voorspelling van bedreigingen), True Positive Rate (effectieve bedreigingen herkend) en de Matthews Correlation Coefficient (die rekening houdt met de grootte van de sample size).

Ratio’s van voorspellingen en geïdentificeerde bedreigingen

Uiteraard gaan alle credits aan Dominika Rusek en Steffan Roobol van Deloitte en OS3.

U kan alle verdere details lezen in de paper: https://www.delaat.net/rp/2019-2020/p21/report.pdf

Aarzel niet om ons te contacteren