Defense in Depth
Van de kern uit na buiten:
Application & Data Security:
Secure Coding, Patching, encryption, labeling.
Host Security:
Patching, Antivirus, Whitelisting, block unwanted services.
Network Security:
Firewalls, IPS/IDS, Monitoring & Allerting.
Physical Security:
Camera’s, Reception, ID Cards.
Policy & Procedures:
Risk Management, Audit and assessment, Awareness, etc
System Components
Primaire opslag – is een tijdelijke opslagplaats voor gegevens die de CPU binnenkomen en verlaten.
Random Access Memory (RAM) – is een tijdelijke opslagplaats voor gegevens die door besturingssystemen worden gebruikt. Het is vluchtig; dit betekent dat de gegevens verloren gaan als het wordt uitgeschakeld. Er zijn twee soorten RAM: dynamisch en statisch.
Read-Only Memory (ROM) – is niet-vluchtig, wat betekent dat de gegevens niet verloren gaan wanneer een computer wordt uitgeschakeld; ROM kan over het algemeen niet worden gewijzigd. ROM wordt soms ook wel firmware genoemd.
Erasable and Programmable Read-Only Memory (EPROM) is niet-vluchtig, net als ROM, maar EPROM kan wel worden gewijzigd.
Processtatussen:
* Gestopt; proces is voltooid of moet worden beëindigd.
* Wachten; het proces is klaar voor verdere uitvoering, maar wacht op een apparaat of toegangsverzoek.
* Actief; wordt uitgevoerd op de CPU en blijft doorgaan totdat het is voltooid, de time slice verloopt of het is
geblokkeerd.
* Klaar; Proces klaar voor uitvoering wanneer CPU gereed is
Multitasking – meer dan één taak tegelijk uitvoeren.
Multiprocessing – er is meer dan één CPU bij betrokken.
Multi-Threading: verschillende onderdelen van een programma tegelijkertijd uitvoeren
Single state machine – werkt in de beveiligingsomgeving op het hoogste niveau van classificatie van de informatie op de computer. Met andere woorden, alle gebruikers op dat systeem moeten toestemming hebben om toegang te krijgen tot de informatie op dat systeem.
Multi-state machine – kan verschillende beveiligingsniveaus bieden zonder het risico de integriteit van het systeem in gevaar te brengen.
Software
* 1GL: machinetaal (direct gebruikt door een computer)
* 2GL: assembler
* 3GL: FORTRAN. Basis pl/1 en C++
* 4GL: Natural/focus en SQL
* 5GL: Prolog, lisp, AI-talen gebaseerd op logica
Process Restrictions
Confinement – om de acties van een programma te beperken. Simpel gezegd, procesconfinement stelt een proces in staat om alleen te lezen van en te schrijven naar bepaalde geheugenlocaties en bronnen. Dit staat ook bekend als sandboxing.
Bounds – een proces bestaat uit limieten die zijn ingesteld op de geheugenadressen en bronnen waartoe het toegang heeft. De bounds geven het gebied aan waarbinnen een proces is ingeperkt of ingesloten.
Isolatie – Wanneer een proces wordt ingeperkt door toegangsgrenzen af te dwingen, wordt dat proces geïsoleerd uitgevoerd. Procesisolatie zorgt ervoor dat elk gedrag alleen van invloed is op het geheugen en de bronnen die aan het geïsoleerde proces zijn gekoppeld.
Virtualization
Type 1 Hypervisor (Hardware)
More Secure: Less vulnerabilities due to the lack of a host OS
Guest OS
Host & Hypervisor
Type 2 Hypervisor (Software)
Guest OS
Host OS & Hypervisor
Host
Database Security
Aggregation: records uit één of meer tabellen combineren om potentieel bruikbare informatie te produceren.
Inference: Hierbij worden meerdere stukjes niet-gevoelige informatie gecombineerd om toegang te krijgen tot informatie die op een hoger niveau geclassificeerd moet worden.
Data Warehousing: grote databases, slaan grote hoeveelheden informatie op uit verschillende databases voor gebruik met gespecialiseerde analysetechnieken.
Data Mining: Met deze techniek kunnen analisten datawarehouses doorzoeken op zoek naar mogelijk gecorreleerde informatie.
Security Posture
Deny unless: Block everything unless it is allowed.
Permit Unless: Allow everything unless it is forbidden.
Zero trust security model: Trust nothing unless it is verified secure.
Access Criterium
Het onderwerp (proces, gebruiker, systeem) moet informatie over toegangscriteria verstrekken voordat het geautoriseerd kan worden om toegang te krijgen tot een object.
Criteria voor toestemmingen: Heeft het onderwerp een voldoende hoog toestemmingsniveau?
Criteria voor ‘need-to-know’: Heeft een onderwerp het recht om de informatie te kennen?
Criteria voor minimale bevoegdheden: Toegang wordt verleend op basis van het laagste bevoegdheidsniveau, d.w.z. een gebruikersaccount of beheerdersaccount.
Scheiding van taken: Belangenverstrengeling moet worden voorkomen; niemand mag een order aanmaken en goedkeuren in dezelfde rol.
Access Control Types
Verplichte toegangscontrole: werkt met toestemmingen en classificaties. MAC wordt afgedwongen met behulp van beveiligingslabels op zowel het onderwerp als het object.
Discretionaire toegangscontrole: de eigenaar van de gegevens definieert de toegang.
Toegangscontrolelijst: gebaseerd op eenvoudige regels, toegestaan of niet (lezen, schrijven en uitvoeren moeten inbegrepen zijn).
Toegangscontrole op basis van regels: d.w.z. firewallregels, iets is toegestaan of geblokkeerd.
Toegangscontrole op basis van rollen: gebruik rollen of groepen als container voor gebruikers en wijs vervolgens machtigingen en rechten toe aan containers.
Geclaimd: de gebruiker krijgt een token om toegang te krijgen tot gegevens. Dit token kan op elk moment worden ingetrokken.
Goals of Cryptography
Vertrouwelijkheid: Gegevens worden alleen gezien door degenen die dat zouden moeten doen.
Integriteit: Gegevens zijn correct.
Bewijs van herkomst: Bewijs van afzender.
Onweerlegbaarheid: Acties zijn onbetwistbaar.
Bescherming van opgeslagen gegevens: Gegevens worden beveiligd opgeslagen.
Bescherming van gegevens tijdens verzending: Gegevens worden beveiligd verzonden.
Encryption Strength
Encryption strenght is determined by:
The algorithm
The secrecy of the key
The key lenght
The Initialization Vectors
How all works together
The strength is correlated to the effort and resources needed to break the cryptosystem
Symmectrical Encryption
Key:
- Both the receiver and the sender share a common secret key.
- Larger key size is safer > 128
Some Algorithms:
DES
3DES
AES Advanced Encryption Standard (most common)
RC5
IDEA
Twofish
Blowfish
Serpent
Symmetrical Encryption:
Does not provide mechanisms for authentication and non-repudiation
Asymmetrical Encryption
Key:
- Sender and receiver have public and private keys.
- Public key to encrypt a message, private key to decrypt
- Slower than symmetric, secret key (100 to 1000)
Some Algorithms:
RSA
Diffie Hellman Key exchange
ElGamal
ECC -Elliptic Curve Cryptosystem
Asymmetrical Encryption:
Provides mechanisms for authentication and non-repudiation
Hybrid Encryption
Uses both asymmetrical and symmetrical encryption
- asymmetrical for key exchange
- symmetrical for the bulk
- thus it is fast
- example: SSL, PGP, IPSEC S/MIME
Quantum Computing & Encryption
Quantum computing is een type berekening waarvan de bewerkingen de verschijnselen van de kwantummechanica kunnen benutten, zoals superpositie, interferentie en verstrengeling. Apparaten die kwantumberekeningen uitvoeren, worden kwantumcomputers genoemd.
Quantum computers kunnen mogelijk al rond 2030 de huidige public encryptie (dus asymmetrische) keys kraken.
Hashing
Hashing is het proces waarbij een gegeven sleutel of een reeks tekens wordt omgezet in een andere waarde. Dit wordt meestal weergegeven door een kortere waarde of sleutel met een vaste lengte die de oorspronkelijke reeks vertegenwoordigt en het gemakkelijker maakt om deze te vinden of te gebruiken.
Hashing Attacks
Attack by using Brute Force and dictionary attacks
Basic Technique – Brute Force will win with no constraints input of any length and generate a fixed
length output
Hash algorithms (Message Digests)
MD5 (Cracked)
SHA1 (Cracked)
SHA2
SHA3
Digital Signature
Een digitale handtekening is een wiskundig systeem om de authenticiteit van digitale berichten of documenten te verifiëren. Een geldige digitale handtekening op een bericht geeft de ontvanger het vertrouwen dat het bericht afkomstig is van een afzender die de ontvanger kent.
Hieronder staan enkele veelvoorkomende redenen om een digitale handtekening toe te passen op communicatie:
Authenticatie => Een bericht kan een briefhoofd of een handgeschreven handtekening hebben die de afzender identificeert, maar briefhoofden en handgeschreven handtekeningen kunnen worden gekopieerd en geplakt op vervalste berichten. Zelfs legitieme berichten kunnen tijdens de overdracht worden gewijzigd.
Onweerlegbaarheid => of meer specifiek de weerlegbaarheid van de oorsprong, is een belangrijk aspect van digitale handtekeningen. Door deze eigenschap kan een entiteit die bepaalde informatie heeft ondertekend, later niet ontkennen dat ze deze heeft ondertekend.
PKI Information
Digitale certificaten: bevatten specifieke identificerende informatie en hun samenstelling wordt beheerst door internationale standaarden.
Certificeringsinstanties (CA’s): genereren digitale certificaten met de openbare sleutels van systeemgebruikers.
Gebruikers verspreiden deze certificaten vervolgens naar personen met wie ze willen communiceren.
Ontvangers van certificaten: verifiëren een certificaat met de openbare sleutel van de CA.
X.509: aanmaken en valideren van digitale certificaten
Wie ondertekent een digitaal certificaat? Iemand die garant staat voor de persoon, niet de persoon zelf.
CRL’s: Certificate Revocation Lists (CRL’s) worden bijgehouden door de verschillende certificeringsinstanties en bevatten de serienummers van certificaten die door een CA zijn uitgegeven en zijn ingetrokken, samen met de
datum en tijd waarop de intrekking van kracht werd.
E-Mail Security
S/Mime: PKI for e-mail
PEM: Privacy Enhanced Email Encryption (AES) PKI X.509 and RSA
Message Security protocol: Military X.400. (Sign, Encrypt, Hash)
Pretty Good Privacy: Uses IDEA and RSA instead
Office 365 Message Encryption (OME): Used in Outlook.com, Yahoo, Gmail etc
SPAM Prevention
SPF-record: Sender Policy Framework. SPF controleert of een verzendende mailserver die namens een domein e-mail wil versturen, daartoe gerechtigd is.
Informatie wordt toegevoegd aan het DNS-record.
DKIM: Domain Keys Identified Mail. E-mailberichten kunnen worden geverifieerd met DKIM. Zo kan de ontvanger van een e-mail controleren of een e-mailbericht daadwerkelijk van de afzender afkomstig is en of het bericht ongewijzigd is gebleven. DKIM zelf houdt spam niet tegen, maar markeert legitieme e-mail als geldig met behulp van een DKIM-handtekening.
DMARC: Domain-based Message Authentication, Reporting and Conformance. Met behulp van deze standaard kan een e-mailprovider aangeven hoe andere (ontvangende) mailservers moeten omgaan met de resultaten van de SPF- en/of DKIM-controles van ontvangen e-mails. Dit gebeurt door een DMARC-beleid te publiceren in het DNS-record van een domein.
SPAM Prevention
Als er een geldig _dmarc-record wordt gevonden, geeft het record de ontvangende partij instructies over hoe de e-mail moet worden verwerkt. Het belangrijkste is dat het record aangeeft wat er met de e-mail moet gebeuren als deze de DKIM- en SPF-controle niet doorstaat en waar rapporten moeten worden afgeleverd over e-mails die de validatie niet doorstaan.
Dit biedt twee geweldige voordelen voor de verzender van de e-mail:
Het is de verzender (niet de ontvanger) die bepaalt wat de ontvanger moet doen met e-mails die de DMARC-controle niet doorstaan.
De verzender heeft de mogelijkheid om centraal informatie te ontvangen over alle e-mails met mislukte DMARC-validatie die zijn verzonden met (of zich voordoen als) het e-maildomein van het bedrijf.
Cloud Deployment Models
Private
Public
Hybrid
Community
Samenvatting HC week 3
In dit hoorcollege is gesproken over een aantal topics. In het topic System Security is defense in depth v/d verschillende computer componenten centraal.
Andere topics zijn database security en access managenent. In het topic cryptography is symmetrische en asymmetrische encryptie besproken. De risico’s van quantum computing op cryptografie.
In relatie tot het topic encryptie is verder nog gesproken over hashing, digital signatures en PKI.
Verder zijn ook nog E-Mail en cloud security besproken.
Begrippenlijst
RAM = Random Acces Memory
ROM = Read Only Memory
CPU = Central Processing Unit
SQL = Structured Query Language
OS = Operating System
DES = Data Encryption Standard
AES = Advanced Encryption Standard
IDEA = International Data Encryption Algorythm
RSA = Rivest, Shamir, Adleman
ECC = Elliptic Curve Cryptosystem
SSL = Secure Sockets Layer
PGP = Pretty Good Privacy
IPSEC = Internet Protocol Security
S/MIME = Secure/Multipurpose Internet Mail Extensions
MD5 = Message Digest 5
SHA = Secure Hashing Algorithm
PKI = Public Key Infrastructure
CA = Certificate Authority
CRL = Certificate Revocation List
PEM = Privacy Enhanced Email Encryption
SPF = Sender Policy Framework
DKIM = Domain Keys Identified Mail
DMARC = Domain-based Message Authentication
IaaS = Infrastructure as a Service
PaaS = Platform as a Service
SaaS = Software as a Service
SAML = Security Assertion Markup Language