ID: S202603110943
Status: school
Tags: Avans 2-2 Keuzenmodule, Cybersecurity

avans 2-2 m2 w4 Weerbaarheid software en hardware

⇐ les ⇒

Printer drivers runnen in kernel space op Windows???

Odido case study

voeg informatie toe

SSDLC

plak de figure hier in van mcsoft
voeg informatie toe

Testing en tooling

Static code testing

voeg informatie toe

Dynamic testing

Dynamic testing is geatomatiseerd testen, de black box aanpak. Dit is er voor het ontdekken van runtime bugs en het vinden van issues die script kiddies kunnen uitbuiten. Dit doe je pas bij een stabiel product en met een losse staging environment. Het is voor quality assurance. Tools:

  • ZAP
  • Burp Suite
  • AppScan
  • etc.

Open source analysis

Het controleren van afhankelijkheden van open source bibliotheek versies. Het gebruiken van veilige versies. Dit is voor het vinden van de zwakste schakels en het voorkomen van kritische kwetsbaarheden via de supply chain. Dit is om het kijken of je packages bekende kwetsbaarheden hebben. Dit is nodig als je een package installeerd, check dit automatisch. Maar je kan het ook automatisch met Jenkins en TeamCity. Tools:

  • WhiteSOurce
  • SourceClear
  • Snyk
  • etc.

Software bill of materials - SBOM

Een SBOM is een gestructureerd overzicht van alle componenten (denk aan libraries, packages, dependencies) die in een softwareapplicatie zijn gebruikt. Een SBOM is vergelijkbaar met een ingrediƫntenlijst op een voedselverpakking. Dit helpt organisaties om inzicht te krijgen in wat er precies in hun software zit, dit maakt het makkelijker om kwetsbaarheden te identificeren. En het is om te voldoen aan regelgeving zoals de NIS2 of CRA. Tools:

  • Syft
  • Trivy
  • etc.

Penetration testing

Hack je eigen producxt zoals een hacker zou doen, want een hacker doet het toch wel, dus dan kan je beter zelf het probleem vinden voor het ge-exploiteerd wordt. Dit is handig om te doen voordat het product uitgegeven wordt aan het publiek / de klant. Dit doe je in een staging environment, maar het kan altijd in productie, maar dan is het wel slim af te spreken dat ze niet gaan DDOS-en. Tools:

  • Kali Linux
  • Nessus
  • OpenVas
  • etc.

Zorg dat je een goed contract hebt. Ook als je bugbounties doet.

Kwetsbaarheden in software

MITRE ATTACK

MITRE ATT&CK framework is een website met een hele grote lijst aan taktieken en technieken als een globale knowledgebase over hacks met voorbeelden maar ook de mitigaties.

OWASP

Een website met concrete lijsten van vulnerabilites etc. Het is een non profit.

Algemene kwetsbaarheden

  • Memory management
  • Structured output
  • Race conditions
  • API vulnerabilities
  • Side-channel vulnerabilities

Je kan ook intern tussen computer componenten vulnerabilities vinden. Zo kan je hdmi aflsuisteren ofzo? of keyloggers.

Memory management vulnerabilities

  • Stack overflow, als je stack vol zit.
  • use after free, als je geheugen freed, maar het daarna gebruikt.
  • Control-flow hijack attack
  • Data-only attack
  • information leak attack
  • Code corruption attack
  • Buffer overflow

Bescherming

Windows en Linux hebben mogelijke bescherming: ā€œexploit protectionā€

Windows heeft bijvoorbeeld:

  • Randomize memory allocation (ASLR)
  • High entropy

Linux kan je dit soort options aanzetten als je via de terminal ui de kernel configureerd.

Al deze dingen hebben wel preformance issues.

Structured output

Zorg er voor dat je geen SQL injection en XSS attack kan uitvoeren :3

Race conditions

Als je async processes hebt dan kunnen variablen dubbel aangepast worden wat de 1e variable overwrite. Het zijn timing issues basically. Dit kan ook op hardware level.

API vulnerabilities

Side-channel vulnerabilities

Als een user niet bestaat moet hij nogsteeds een hash testen om te zorgen dat je niet ana timing af kan lezen of een suer wel / niet bestaat. Rate limiting die increased helpt ook tegen dit soort attacks.

mentioned vulnerabilities

  • log4shell
  • Heartbleed
  • MongoBleed
  • shellock
  • rowhammer
  • spectre
  • meltdown

Impact verminderen

Verkleining van impact

  • Containerization with Docker
  • defense‑in‑depth
  • logging
  • niet alles verbinden als het niet nodig is
  • verwijderen van oude/nutteloze gegevens
  • least privilage
  • Haal de stekker er uit als het fout gaat

Ecosystemen

Weet precies wat er draait, printers, access points etc. alles wat verbinden is met het internet of netwerk wil je op een rij hebben.

Cyber weerbaarheid

Cyber resillience is defined as the ability to anticipate, withstand, recover from and adapt to adverse conditions, stresses, attacks or compromises on systems that include cyber resources

Maatregelen:

  • firewall
  • vpn’s
  • geen toegang geven aan wie het niet moet hebben

Testing

Met security-testing en unit-testing en endpoint-testing kan je al veel bugs er uit halen.

  • Negative testing is de afwezigheid van iets aantonen. Dit is lastiger, maar wel beter.
  • Pen testing
  • Red teaming

Isolatiion running applications

Het is mogelijk om er uit te stappen, maar het wordt wel lastiger.

Wil je echt veilig zijn? draai op losse hardware.

Tails is een Linux distributie die gebouwd is om te zorgen dat je niet data leaked als je Tor browser / het ONION netwerk gebruikt. Want Operating systems leaken heel veel. Zet dit op een losse laptop / device.

References