Tractatus Logico-Philosophicus Instrumentum Computatorium
Letztes Update des Tractatus: 12.04.2018

Darstellung: Liste | Logik | Prosa | Diagramm (474 kb)
Details: 6 | 5 | 4 | 3 | 2 | 1

Formale Herleitung zu 5.3.4.1 (aufheben):
(1) Korrupter Programmcode = (Programmcode ∧ Unerwünschter Nebeneffekt)
(2) ∀(Korrupter Programmcode) → ∃(Erkennbar)
(3) (Korrupter Programmcode ∧ Desinfektion) → Sauberes System
(4) Korrupter Programmcode ∨ Legitimer Programmcode
q.e.d.

1 Sicherheit ∈ Zustand
1.1 Sicherer Zustand = {Handlung1, Handlung2, ..., Handlungn}
1.1.1 ∀x(Handlung(x) ∧ AusgeführteTätigkeit(x))
1.1.2 ∀x(Handlung(x) ∧ (Aktiv(x) ∨ Passiv(x)))
1.1.3 ∀x(Handlung(x) ∧ Freiwillig(x) ∧ OhneReiz(x)) → AktiveHandlung(x)
1.1.3.1 ∀x(Handlung(x) ∧ MenschlicheAktion(x)) → Freiwillig(x)
1.1.3.2 ∀x(Handlung(x) ∧ (¬MenschlicheAktion(x) ∨ ComputerAktion(x) ∨ MaschineAktion(x) ∨ RoboterAktion(x))) → ProvozierteReaktion(x)
1.1.4 ∀x(PassiveHandlung(x)) ⇔ ProvozierteReaktionAufVorangegangenerReiz(x)
1.1.4.1 ∀x(AktiverReiz(x) ∨ PassiverReiz(x)) ↔ Reaktion
1.1.4.2 ∀x(ComputerInteraktion(x) ∧ Reiz(x)) ⇔ (Eingabe(x) ∨ Anfrage(x))
1.1.4.2.1 ∀x(Eingabe(x) → Datenverarbeitung(x))
1.1.4.2.2 ∃x(Ausgabe(x) ∧ ¬Reaktion(x)) → ∀x(Ausgabe(x) → (Datenannahme(x) ∨ Verarbeitung(x)))
1.1.4.2.3 ∃x("GET x HTTP/1.0\n\n" → GenerierungVonRessource(x))
1.1.4.2.3.1 ∃x∀y(SYN(x) → SYN/ACK(x, y) → ACK(y) → TCPVerbindungEtabliert(x, y))
1.1.4.2.3.2 ∀x(TCPVerbindung(x) ∧ HTTP(x) ∧ Anfrage(x) → HTTPAnfrage(x))
1.1.4.2.3.3 ∀x(HTTPAnfrage(x) → HTTPParsing(x))
1.1.4.2.3.4 ∀x(HTTPParsing(x) → RessourceZurückschicken(x))
1.1.4.3 ∃x((Reiz(x1) → Reiz(x2)) → Loop(x))
1.1.4.3.1 ∀x((Loop(x) → BelegenVonRessourcen(x)) → ∃y(DenialOfService(y))
1.1.4.3.2 ∀x(WeiterleitenImKreis(x) → RoutingLoop(x))
1.1.4.3.3 ∀x((Deadlock(x) ∨ Livelock(x)) ⇔ (Loop(x) ∧ Blockierung(x)))
1.1.4.3.4 ∃x((IntelligentesSystem(x) ∧ (Loop(x) ∨ Deadlock(x))) → Schutzmassnahme(x))
1.1.4.3.4.1 (Routing ∧ (TTL < 1)) → (Verwerfen ∧ ICMP-Fehlermeldung)
1.1.4.3.4.2 Sequenznummer = {i, i+j, ...}
1.1.4.3.4.3 (ICMP ∧ Fehlermeldung) → Keine Antwort
1.1.4.3.4.4 (Scheduler ∧ Belegung) ≠ Doppelbelegung
1.2 ∃x(UnterbindungUnerwünschterHandlungen(x) → ProduktiveSicherheit(x))
1.2.1 ∀x(SpielraumEinerHandlung(x) → Möglichkeit(x))
1.2.2 ∀x(¬Möglichkeit(x) → AbsoluteSicherheit(x))
1.2.2.1 ∀x((System(x) ∧ ¬Möglichkeit(x)) → ¬Nutzen(x))
1.2.2.2 ∀x((ProduktivesSystem(x) ∧ ¬Möglichkeit(x)) → Nutzen(x))
1.2.2.3 ∃x(System(x) ∧ Möglichkeit(x))
1.2.2.4 ∀x(Produkt(x) ∧ (Qualität(x) ∧ Nutzen(x)))
1.2.3 ∃x(¬UnerwünschteHandlungen(x) → ⌈SicheresProdukt(x)⌉)
1.2.3.1 ∀x(NeedToKnowPrinzip(x) → MinimumAnErforderlichenHandlungen(x))
1.2.3.2 ∃x((UnerwarteteMöglichkeit(x) ∨ UnerwünschteMöglichkeit(x)) → Unsicherheit(x))
1.2.4 ∃x((Möglichkeit(x) ∧ Vorgesehen(x)) → Unsicherheit(x))
1.2.4.1 ∃x((Möglichkeit(x) ∧ Zugelassen(x)) → ¬Sicherheit(x))
1.2.4.1.1 ∃x(Fehlermeldung(x) ∧ Unkritisch(x))
1.2.4.1.2 ∃x(Fehlermeldung(x) → GrundlageFürAngriff(x))
1.2.4.1.3 ∃x(Handlungsspielraum(x) → Unsicherheit(x))
1.2.4.2 ∃x((Unsicherheit(x) ∧ Unbekannt(x)) ⇔ (Unsicherheit(x) ∧ Bekannt(x))
1.2.4.2.1 ∃x((Unsicherheit(x) ∧ ¬Beobachten(x)) ∨ (Unsicherheit(x) ∧ Beobachten(x)) → Unsicherheit(x))
1.2.4.2.2 ∃x(((Unsicherherheit(x) ∧ VeröffentlichungJanuar2000(x) ∧ EntdeckungJanuar2006(x)) → Unsicherheit6Jahre(x))
1.2.4.2.2.1 ∃x((MicrosoftWindowsXP(x) ∧ Veröffentlichung25.10.2001(x) ∧ RPCDienst(x) ∧ Pufferüberlauf(x) ∧ Fund16.07.2003(x)) → (Unsicherheit(x) ∧ ≥629Tage(x)))
1.2.4.2.2.2 ∃x((Nameserver(x) ∧ Veröffentlichung21.07.2008(x) ∧ Nameserver(x) ∧ Schwachstelle(x)) → (Unsicherheit(x) ∧ 25Jahre(x)))
2 ∀(Unsicherheit) = ∃(Nicht zugelassene Handlung)
2.1 ∀x(((Unsicherheit(x) ∧ (Theorie(x) ∨ Praxis(x))) ∧ ((Sicherheit(x) ∧ (Theorie(x) ∨ Praxis(x)))
2.1.1 ∀x(Unsicherheit(x) ⊃ TheoretischeUnsicherheit(x) ⊇ PraktischeUnsicherheit(x) ℜ)
2.1.1.1 ∀x((¬ZugelasseneHandlung(x) ∧ ¬Praxis(x)) → TheoretischeUnsicherheit(x))
2.1.1.2 ∀x((NichtZugelasseneHandlung(x) ∧ Praxis(x)) → PraktischeUnsicherheit(x))
2.1.1.3 2.1.1.3 Praktische Unsicherheit lässt sich theoretisch erfassen. Theoretische Unsicherheit manifestiert sich hingegen nicht zwangsweise in der Praxis.
2.1.1.4 ∀x((TheoretischeUnsicherheit(x)) ≤ (PraktischeUnsicherheit(x) → ProduktiveSicherheit(x))
2.1.1.4.1 (Umsetzung ∧ Aktivierung) → Manifestierung praktischer Sicherheit
2.1.1.4.2 Deaktivierung des Systems → Verschwinden der produktiven Unsicherheit
2.1.2 Maximaler Aufwand des Erkennens der Sicherheit = {Zustand1, Zustand2, ..., Zustandn}
2.1.2.1 Aufwand > 0
2.1.2.1.1 [1]b = {0, 1}
2.1.2.1.2 [2]b = {00, 01, 10, 11}
2.1.2.1.3 [n]b = 2^n
2.1.2.4 Komplexität = Zustand^Positionen
2.1.2.4.1 Universum = Endlichkeit
2.1.2.4.2 Endlichkeit → Endliche Anzahl an Zuständen
2.1.2.4.3 (∀(System) ∈ ∃(Universum)) → Endliche Anzahl an Zuständen
2.1.2.4.4 Endlichkeit → ¬Unendliche Komplexität
2.1.2.4.5 Endliche Komplexität → Endlicher Aufwand
2.1.2.5 Aufwand = Anzahl prüfender Zustände
2.1.2.5.1 Komplexität 0 < Komplexität 010011
2.1.2.5.3 Komplexität 010011 ≡ Komplexität 001010
2.1.2.6 Hohe Komplexität heutiger Systeme → Unwirtschaftlichkeit der Prüfung aller Zustände
2.1.2.6.1 Unwirtschaftliche Prüfung aller Zustände → Keine 100 %ige Sicherheit
2.1.2.6.2 Unwirtschaftliche Prüfung aller Zustände → 100 %ige Sicherheit lässt sich in der Praxis nicht wirtschaftlich beweisen oder erreichen
2.1.2.6.3 Unwirtschaftliche Prüfung aller Zustände → Absolute Mehrheit der Fälle erreicht keine Sicherheit
2.2 ((Unsicherheit ∧ Mögliche Ausnutzung) → Gefahr) → Risiko
2.2.1 {Motiv1, Motiv2, ..., Motivn} → Ausnutzen einer Unsicherheit
2.2.1.1 (Gegenwart ∨ Zukunft) ∧ Motiv → Ausnutzung
2.2.1.1 Populistische Diskussion → Geldgier als Motiv
2.2.1.2 (Spieltrieb ∨ Neugierde) → Wichtigstes Motiv
2.2.1.3 (Zukunft ∧ Unsicherheit ∧ Motiv) → Finanzielle Interessen
2.2.2 ((Einfachheit + x) ∧ Handlungsspielraum) → (Interesse + x)
2.2.2.1 (Interesse > 0) → (Bewegung > 0)
2.2.2.2 Einfachheit → Akzeptanz
2.2.2.2.1 (Funktionalität ∨ Ergonomie) → Verkauf
2.2.2.2.2 (Windows ∧ Einfachheit) → Etablierung Windows
2.2.2.2.3 (Apple ∧ Stil) → Akzeptanz Apple
2.2.2.3 Akzeptanz → Mehr Angreifer
2.2.2.3.1 (Unpopularität ∧ Produkt) → Geringe Anzahl Angreifer
2.2.2.3.2 (Produkt ∧ Wenige Schwachstellen) → ¬Wenige Sicherheitslücken
2.2.3 (Möglichkeiten ∧ (Wert > 0)) → Interesse
2.2.3.1 Möglichkeit = Wert × x
2.2.3.1.1 Existenz = {Ja, Nein}
2.2.3.1.2 Quantisierung = {n, n+1, ... n+m}
2.2.3.2 (Subjektivität ∧ Bewertung) → Absoluter Wert
2.2.3.2.1 ∃Information = ∃(Person ∧ Interesse)
2.2.3.2.2 ((Ressourcen ∧ Schüler) → Wertvoll) ∧ ((Ressourcen ∧ Mathematiker) → Nicht wertvoll)
2.2.3.2.3 ((Geld ∧ Person Y) → Wertvoll) ∧ ((Geld ∧ Person X) → Nicht wertvoll)
2.2.4 ∀(Potentielles Risiko) = ∀(Qualität ∧ Quantität)
2.2.4.1 Qualität = Mächtigkeit = Ressourcen = (Zeit ∧ Wissen)
2.2.4.1.1 (Zeit ∧ ¬Wissen) = (¬Zeit ∧ Wissen)
2.2.4.1.2 Möglichkeiten ⇔ ((Wissen ∨ Zeit) ∧ Geld)
2.2.4.2 Quantität = Anzahl potentielle Angreifer
2.2.4.2.1 Potentieller Angreifer = Mensch
2.2.4.2.2 Effektive potentielle Angreifer ≥ Existierende Nutzer
2.2.4.2.3 (Anzahl effektive Angreifer ∧ ¬Angriff) &rarr Anzahl Angreifer unbekannt
3 Angriff = Unzulässige Handlung
3.1 ∀Angriff = ∃Angriffsversuch
3.1.1 Angriffsversuch ⊆ Handlungn
3.1.2 One-Shot = Handlung1
3.1.2.1 Qualität Angriffsversuch X = One-Shot X
3.1.3 Qualitativer Angriff = {Angriffsversuch1, Angriffsversuch2, ... Angriffsversuchn}
3.1.3.1 (Angriffsversuch0 < Angriffsversuch1 < Angriffsversuchn)
3.1.3.2 ∃x(PerfekterAngriff(x))
3.1.3.2.1 Perfekter Angriff = AusschliesslichesErreichen ∧ UnmittelbaresErreichen
3.1.3.2.2 ∃x(Angriff1(x) = Angriff2(x))
3.1.3.3 Intelligentes System ∧ Angriffsversuch → Unterbinden von Zugriffen
3.1.3.3.1 Intrusion Detection System = Erkennen von Angriffsversuchen
3.1.3.3.1.1 Erkennen von Angriffsversuchen = {Methode1, Methode2, Methoden, ...}
3.1.3.3.1.2 Pattern-basierter Ansatz = Erkennen von typischen Angriffsmustern
3.1.3.3.1.3 Angriffsmuster = (Erkennbar ∧ identifizierbar)
3.1.3.3.1.4 Anomaly Detection = (Abweichung des üblichen Verhaltens → Angriffsversuch)
3.1.3.3.2.1 Firewall-Element ~= Intrusion Prevention-System
3.1.3.3.2.2 Antivirus ~= Intrusion Prevention-System
3.1.3.3.3 Intrusion Prevention-System = {Unterbinden von Kommunikationsübertragungen, Unterbinden von Kommunikationsmöglichkeiten}
3.1.3.3.3.1 Unterbinden von Kommunikationsübertragungen = Verhindern von Datenaustausch
3.1.3.3.3.2 Unterbinden von Kommunikationsübertragungen = Verhindern der Agierungsmöglichkeit des Angreifers
3.1.3.3.3.3 Unterbinden von Kommunikationsübertragungen = Gegenangriff
3.1.3.3.3.4 Gegenangriff = Strike-Back Verfahren
3.1.3.3.3.5 Automatische Mechanismen → Denial of Service-Möglichkeiten
3.2 (Handlung ∧ ¬Handlungsspielraum) → Erfolgreicher Angriff
3.2.1 Erfolgreicher Angriff → Praktische Unsicherheit
3.2.2 Kein erfolgreicher Angriff → Sicherheit
3.3 ∀Angriff = ∀(Wiederholbar ∨ Nicht wiederholbar)
3.3.1 (Erfolgreicher Angriff ∧ Nicht wiederholbar) → ¬Keine Unsicherheit
3.3.1.1 Sicherheit = Verfallbarer Zustand
3.3.1.1.1 (System ∧ Sicherheit ∧ Änderung) → Verfallen von Sicherheit
3.3.1.1.1.1 ((System ∧ Geprüft) ∧ Änderung) → Erneute Prüfung
3.3.1.1.1.2 Erneute Prüfung = Re-Check
3.3.1.1.1.3 (Erneute Prüfung ∧ Prüfung veränderte Elemente ∧ Prüfung tangierter Elemente) → Delta-Analyse
3.3.1.1.2 (System ∧ Sicherheit ∧ Interaktion) → Verfallen von Sicherheit
3.3.1.1.2.1 Analyse im effektiven Betrieb ∈ Umfassende Sicherheitsüberprüfung
3.3.1.1.2.2 (Test ∧ Laufender Betrieb) → Live-Test
3.3.1.2 Sicherheit = Fortwährender Prozess
3.3.1.2.1 Sicherheitsprozess = {Sicherheitszustand1, Sicherheitszustand2, ... Sicherheitszustandn}
3.3.1.2.1.1 ¬(Sicherheit = Prozess) → (Beständige Sicherheit = Prozess)
3.3.1.2.1.2 Prozess → ¬Sicherheit
3.3.1.2.1.3 Prozess = Individualität
3.3.1.2.2 Sicherheitsprozess = Schein der stetigen Sicherheit
3.3.2 (System ∧ Änderung) → Angriff nicht mehr erfolgreich
3.3.2.1 Erhöhung der Sicherheit = Anpassung des Handlungsspielraums
3.3.2.1.1 Massnahme = Anpassung auf Ebene X
3.3.2.1.1.1 Problem an der Wurzel gepackt = Betroffene Komponente angepasst
3.3.2.1.1.2 Layered Security = Problem durch tangierte Komponente gelöst
3.3.2.1.1.3 Problem gelöst = (Wurzel ∨ Layered) = (Wurzel = Layered)
3.3.2.1.3 Effektive Massnahme = Erforderliche Änderung zur Verhinderung eines Angriffs
3.3.2.1.3.1 Minimale Massnahme = Minimale Änderung
3.3.2.1.3.2 Eliminierung des Handlungsspielraums → Sicherste Massnahme
3.3.2.1.3.3 ¬Gegenmassnahme = Veränderung eines Angriffs
3.3.2.1.4 Erhöhung der Kompliziertheit → Potentielle Erhöhung der Sicherheit
3.3.2.1.4.1 Erhöhung der Kompliziertheit = "Security By Obscurity"
3.3.2.1.4.2 (Erhöhung der Kompliziertheit ∧ Bester Fall) → Verhindern eines Angriffs
3.3.2.1.4.3 (Erhöhung der Kompliziertheit ∧ Schlechtester Fall) → Verzögern eines Angriffs
3.3.2.1.4.4 (Komplex ∨ Kompliziert) ¬ (Komplex ∨ Kompliziert)
3.3.2.1.4.5 Erhöhung der Kompliziertheit ¬ Echte langfristige Sicherheit
3.3.2.1.4.6 Lineares Erhöhen der Kompliziertheit → Überproportionales Erhöhen der Fehlerquellen
3.3.2.1.4.7 (Problem ∧ Hast) → UnabsichtlicheKompliziertheit → VerbauenVonMöglichkeiten
3.3.2.1.4.8 (Verhindern von Kompliziertheit → Verhindern von Fehlern) = "Keep it simple, keep it secure."
3.3.2.2 (Unsicherheit ∧ Keine Änderungen möglich) → Unsicherheit
3.3.2.2.1 (Unsicherheit ∧ Keine Änderungen möglich) → Risikokalkulation → ∂Unsicherheit
3.3.2.2.1 Umfassende Gegenmassnahme → ¬(Angriff erfolgreich ∧ Alternativen erfolgreich)
3.3.2.2.1.1 Angriffsvariante = Angriff \ Nebeneigenschaft
3.3.2.2.1.1 Risikokalkulation = (Wirtschaftlichkeit ∧ Möglichkeiten)
3.3.2.2.1.2 Risikokalkulation = (Wirtschaftlichkeit ∧ Möglichkeit) \ (Schönheit ∧ Eleganz)
3.3.2.2.1.2 Angriff = {Eigenschaft1, Eigenschaft2, ... Eigenschaftn}
3.3.2.2.1.3 ((Angriff1 = Eigenschaft1) ∧ (Angriff1 \ Eigenschaft1)) → Angriff2
3.3.2.2.1.4 Angriffx ≈ Angriffy
3.3.2.2.2 Akzeptieren des Risikos = (Unsicherheit ∧ Keine Massnahmen)
3.3.2.2.2.1 (Ereignis > Akzeptiertes Risiko) → Fehlerhafte Risikokalkulation
3.3.2.2.2.2 Unbrauchbare Risikokalkulation = Fehlerhafte Risikokalkulation
3.3.2.2.2.3 Fehlerhafte Risikokalkulation → Neue Risikokalkulation
4 (Unsicherheitm ≠ Unsicherheitn) ≠ (Angriffm ≠ Angriffn)
4.1 Qualität einer Unsicherheit = (Effizienz ∧ Eleganz)
4.1.1 Qualität einer Unsicherheit → Qualität eines Angriffs
4.1.2 (Unsicherheit ∧ (Qualität + x)) → (Handlungsspielraum + x)
4.1.3 (Einstufung einer Unsichehreit ∧ Objektivität) → Erlaubt
4.1.3.1 Entwicklung eines metrischen Systems → Hochgradig subjektiv
4.1.3.1.1 Bewertungssysteme = {a, b, c, ...}
4.1.3.1.2 (Metrisches System a = {1, 2, ... 100}) ∧ (Metrisches System b = {L, M, H, E})
4.1.3.1.3 Viele Abstufungen → Genauere Klassifizierung
4.1.3.1.4 Genaue Klassifizierung → (Schwierige Klassifizierung ∧ Aufwendige Klassifizierung)
4.1.4 Unsicherheit A → Unsicherheit B
4.1.4.1 ((Unsicherheit A = 1) → (Unsicherheit B = 2)) ∨ ((Unsicherheit A = 2) → (Unsicherheit B = 2))
4.1.4.1.1 ((Unsicherheit A = 1) → (Unsicherheit B = 2)) = (System erreichbar ∧ TCP/IP-Fingerprinting)
4.1.4.1.2 ((Unsicherheit A = 2) → (Unsicherheit B = 2)) = (HTTP ∧ Sensitive Datenübertragung)
4.1.4.2 (Unsicherheit A = 3) &rarr ¬(Unsicherheit B < 3)
4.2 Qualität Angriff A ≠ Qualität Angriff B
4.2.1 Effizienter Angriff = Minimum an Bewegung
4.2.2 Eleganter Angriff = UnerwarteteNutzung ∧ KreativeNutzung
4.2.2.1 Handlungsspielraum → Kreativität
4.2.2.2 ((Handlungsspielraum + x) = (Komplexität + x)) ≠ ((Handlungsspielraum + x) = (Kreativität + x))
4.2.2.3 Abnahme der Kreativität = (Angriffn - n/m)
4.2.2.3.2 Angriffn ≥ (Angriffn+1)
4.2.2.3.3 ((Angriffn+1) ∧ Veränderung) ≥ Angriffn
4.2.2.4 Angriffx Kreativität = 0
4.2.2.4.1 Angriffx ≠ Hack
4.2.2.4.2 Skriptkiddie → Angriffx
4.2.3 Einfacher Angriff = Minimum Effizienz erforderlich
4.2.3.1 Grosse Unsicherheit → Kleiner Angriff
4.2.3.2 Kleinste Unsicherheit → Effektivsten Angriff
4.2.4 Qualität des Angreifers → Subjektive Messung
4.2.4.1 Angreifertypen = {Normaler Endanwender, Skriptkiddie, Semi-Professioneller Fachspezialist, Professioneller Angreifer}
4.2.4.1.1 (Angreifertyp ∧ Niedrigstes Verständnis) → Normaler Endanwender
4.2.4.1.2 (Angreifertyp ∧ (Tools ∨ Exploits)) → Skriptkiddie
4.2.4.1.2.1 (Angreifer ∧ Skript) → Skriptkiddie
4.2.4.1.2.2 Skriptkiddie → ¬AdaptiveAngriffsstrategie
4.2.4.1.2.3 Skriptkiddie = {16, 17, ... 25 Jahre}
4.2.4.1.2.4 Skriptkiddie = {Geltungsdrang, Neugierde}
4.2.4.1.2.5 Skriptkiddie = Männlich
4.2.4.1.3 (Angreifertyp ∧ Dediziertes Fachwissen) → Semi-professioneller Fachspezialist
4.2.4.1.3.1 Fachspezialist = Zurückgezogen
4.2.4.1.3.2 Fachspezialist = {20, 21, ... 35 Jahre}
4.2.4.1.3.3 Fachspezialist = UniversitäresUmfeld
4.2.4.1.3.5 (Fachspezialist ∧ Fachgebiet → Fachspezialist) ∧ (Fachspezialist ∧ KeinFachgebiet → Endanwender)
4.2.4.1.4 (Angreifertyp ∧ Hohes technisches Verständnis) → Professioneller Angreifer
4.2.4.1.4.1 ProfessionellerAngreifer → GeldVerdienen
4.2.4.1.4.2 ProfessionellerAngreifer = {SecurityConsultant, Nachrichtendienst, OrganisierteKriminalität}
4.2.4.1.4.3 (ProfessionellerAngreifer ∧ ¬BösartigesZiel) → WhiteHat
4.2.4.1.4.4 (ProfessionellerAngreifer ∧ BösartigesZiel) → BlackHat
4.2.4.1.4.4 Fachspezialist = {Administrator, Programmierer}
4.2.4.1.4.5 ProfessionellerAngreifer = {Systematisch, Wirtschaftlich}
4.2.4.1.4.6 ProfessionellerAngreifer → NeueAngriffsstrategien
4.2.4.2 (Professioneller Angreifer ∧ Kleiner Angriff) ≅ (Skriptkiddie ∧ Grosser Angriff)
4.2.4.3 Messbarkeit Angriffe = (Qualität Unsicherheit ∧ Qualität Angriff)
5 Korrupter Programmcode = (Programmcode ∧ Unerwünschter Nebeneffekt)
5.1 Korrupter Programmcode = (Programmcode ∧ Unerwünscht); (Unnötiger Programmcode ∨ Legitimer Programmcode) = (Programmcode ∧ ¬Korrupt)
5.1.1 Legitimer Programmcode = Programmcode führt Arbeit aus
5.1.2 Unnötiger Programmcode = (Programmcode ∧ Nicht benötigte Arbeit)
5.1.2.1 Unnötiger Programmcode → Ineffizienz
5.1.2.2 (Unnötiger Programmcode + x) = (Ineffizienz + x)
5.1.2.3 (NOP-Anweisung ∧ Ohne Nutzen) → Unnötig → Ineffizient
5.1.3 Programmcode = (Nützlich ∧ Erwünscht) ∨ (Unnützlich ∧ Unerwünscht)
5.2 Korrupter Programmcode = {Korrupter Programmcode1, Korrupter Programmcode2, ... Korrupter Programmcoden}
5.2.1 Computerviren = (Korrupter Programmcode ∧ Populärste Form)
5.2.1.1 Computerviren = Populistisch
5.2.1.2 Computervirus = Sich selber reproduzierendes Programm
5.2.1.2.1 Erstellen einer Kopie = Replikation ∧ Einfachheit
5.2.1.2.2 Overwriting-Virus = Computervirus ∧ Dateivirus ∧ Zieldatei überschreiben
5.2.1.2.3 Appending-Virus = Computervirus ∧ Dateivirus ∧ An Zieldatei anhängen
5.2.1.2.4 Brutstätte = {Dateiinhalt, Dateisystem, RAM/Speicher, Bootsektor, ...}
5.2.1.3 Computervirus = Computervirus \ Schadensroutine
5.2.1.3.1 Schadensroutine = {Daten löschen, Daten manipulieren, ...}
5.2.1.3.2 Schadensroutine ≈ Replikation
5.2.1.3.3 Schadensroutine → Einstufung
5.2.2 Popularität Computerviren > Popularität Trojanische Pferde
5.2.2.1 ("Trojanisches Pferd" ∧ Volksmund) → "Trojaner"
5.2.2.2 Familie Trojanisches Pferd ≠ Familie Computervirus
5.2.2.3 Trojanisches Pferd = Unbewilligte Aktion im Hintergrund
5.2.2.3.1 Keylogger = (Trojanisches Pferd ∧ Aufzeichnen von Tastatureingaben)
5.2.2.3.2 Remote-Control-Utility = (Trojanisches Pferd ∧ Fersteuerung)
5.2.2.4 ∀(Trojanisches Pferd) = ∃(Destruktiv ∨ Nicht destruktiv)
5.2.2.4.1 ANSI-Bombe = (Tastatureingabe ∧ Aktion)
5.2.2.4.2 Distributed Denial of Service = (Remote-Control-Utilities ∧ Denial of Service)
5.2.3 ∀(Exploit) ≈ ∃(Korrupter Programmcode)
5.2.3.1 ∀Exploit = ∃(Anleitung ∨ Tool)
5.2.3.1.1 ∀(Advisory ≈ Exploit)
5.2.3.1.1.1 Skizzierung eines Fehlers = (Advisory = Bulletin)
5.2.3.1.1.2 (Veröffentlichung Advisory ∧ (Finder ∨ Entwickler))
5.2.3.1.1.3 Finden einer Schwachstelle → Meldung an Entwickler → Vorbereiten einer Lösung → Herausgabe einer Lösung → Herausgabe des Advisories
5.2.3.1.1.4 Publizierung Advisories → Security-Mailinglisten
5.2.3.1.1.5 Verwundbarkeitsdatenbank = Katalogisierte Fehler
5.2.3.1.2 ∀(Exploit) = ∃(Gutartig ∨ Bösartig)
5.2.3.1.3 Exploit → Systematisches und automatisches Vorgehen
5.2.3.1.4 Verbieten von Exploits → Minderung der Effizienz bei Penetration Tests
5.2.3.1.4.1 Hackerparagraf → Keine professionellen Prüfungen mehr
5.2.3.1.4.2 (Ethischer Kodex ∧ Wohldefinierte Kommunikationswege) → Vorteile auch für Nutzer
5.2.3.2 ∀(Exploit ∧ Nutzer) → Legitim; ∀(Exploit ∧ Opfer) → Korrupt
5.3 ∀(Korrupter Programmcode) → ∃(Erkennbar)
5.3.2 Antiviren-Lösungen = {Pattern-Matching, ...}
5.3.2.1 Pattern-Matching = (Identifikation ∧ Analyse ∧ Charakterisierung ∧ Speicherung)
5.3.2.1.1 Pattern = Latenz
5.3.2.1.2 Latenz = Reaktionär
5.3.2.1.3 ∀(Präventive Pattern) = ∀(Unmöglich ∨ Ineffizient)
5.3.2.2 (Pattern A = "abcd"; Virus A = "abcZ") → (Erkennen "abcd" ∧ ¬Erkennen "abcZ") → ¬Erkennen Virus A
5.3.2.2.1 W32.Troj-Familie = {W32.Troj.a, W32.Troj.b, ...}
5.3.2.2.2 Anti-Pattern-Mechanismus = Polymorphie
5.3.3 Heuristik ≡ Verhaltensanalyse
5.3.3.1 Zeitnahe Reaktion = Heuristik
5.3.3.2 Nicht perfekt = (Heuristik ∨ Pattern-Matching)
5.3.3.2.1 Evasion = ((delvolume("C:\")) → (while(sleep 1); delfile(volume, directory, file);)
5.3.3.2.2 Evasion = (Löschen → Überschreiben)
5.3.3.3 Heuristik = Performanceverbrauch
5.3.4 (Korrupter Programmcode ∧ Desinfektion) → Sauberes System
5.3.4.1 Korrupter Programmcode ∨ Legitimer Programmcode
5.3.4.1.1 (Korrupter Programmcode ∧ (Dateien gelöscht ∨ Dateien überschrieben)) → Keine Wiederherstellung
5.3.4.1.2 (Gelöschte Daten ∧ Patch) → Funktionstüchtiger Code
5.3.4.2 ((Korrupter Programmcode A ∨ Korrupter Programmcode B) ∧ (Desinfektion A ∨ Desinfektion B)) → ¬Sauberes System
5.3.4.2.1 ((System ∧ Kompromittierung) ∧ Neuinstallation) → Sauberes System
6 Sensitive Daten → Schutz vor Manipulationen
6.1 (Einsicht durch Dritte ∈ Unerwünschte Manipulation) → ¬Vertraulichkeit
6.1.2 (Unerwünschte Einsicht ∧ Abgeschotteter Kanal) → Verhinderung
6.1.2.1 Abgeschotteter Kanal = Durch keine anderen Medien genutzt
6.1.2.2 (Geteilte Leitung ∧ VPN) → Abgeschotteter Kanal
6.1.3 Lösungsansatz = (¬Dedizierter Kanal ∧ Verschlüsselung)
6.1.3.1 Klartext = Unverschlüsselte Daten
6.1.3.2 Geheimtext = Verschlüsselte Daten
6.1.3.3 Symmetrische Verschlüsselung = EK(M) ∨ DK(C)
6.1.3.3.1 (DK(EK(M)) = M) ≡ (EK(DK(C) = C)
6.1.3.3.2 Private-Key Encryption = Basiert auf Geheimhaltung des Schlüssels
6.1.3.3.3 K → DK(C) → M
6.1.3.3.4 Forgery = (K ∧ EK(M) → C)
6.1.3.3.5 Standards = {DES (1976), AES (2000)}
6.1.3.4 Asymmetrische Verschlüsselung = Zwei unterschiedliche Schlüssel
6.1.3.4.1 Schlüsselpaar = {K1, K2}
6.1.3.4.2 EK1(M) = C
6.1.3.4.3 DK2(M) = M → DK2(EK1(M)) = M
6.1.3.4.4 Public-Key Encryption = Weitergabe des öffentlichen Schlüssels
6.1.3.4.5 Nachteile = Schlüsselaustausch ∧ Performance
6.1.3.4.6.1 Standard = {RSA}
6.1.3.5 Kryptoanalyse = Angreifen von kryptografischen Systemen
6.1.3.5.1 Abfangen einer Nachricht → Möglichkeit der Kryptoanalyse
6.1.3.5.1.1 Sniffing = Mitlesen von Netzwerkkommunikationen
6.1.3.5.1.2 Verfahren bekannt → Generierung eigener Nachrichten
6.1.3.5.2 Angriffsmethoden auf kryptografische Systeme = {Ciphertext-Only Attack, Known-Plaintext Attack, Chosen-Plaintext, Chosen-Ciphertext Attack, Chosen-Key Attack, Rubber-Hose Cryptanalysis}
6.1.3.5.2.1 Kryptoanalyse ≈ Statistische Verfahren
6.1.3.5.2.3 Kown-Plaintext Attack = Ci = EK(Pi) → (K ∨ Ci+1 = EK(Pi+1))
6.1.3.5.2.4 Chosen-Plaintext Attack = (Pi → Ci = EK(Pi)) → (K ∨ Ci+1 = EK(Pi+1))
6.1.3.5.2.5 Chosen-Ciphertext Attack = Ci → K
6.1.3.5.2.6 Chosen-Key Attack = K → EK(P)
6.1.3.5.2.7 Rubber-Hose Cryptanalysis = {Bedrohung, Erpressung, Folter}
6.1.3.5.3 Stufen erfolgreicher Kryptoanalyse = {Totaler Bruch, Global Dediction, Local Deduction, Information Dediction}
6.1.3.5.3.1 Totaler Bruch = K bekannt
6.1.3.5.3.2 Ciphertext-Only Attack = {C1 = EK(P1), C = EK(P2), ... Ci = EK(Pi)} → (K ∨ {P1, P2, ... Pi})
6.1.3.5.3.2 Global Dediction = A bekannt ∧ K unbekannt
6.1.3.5.3.3 Local Deduction = Pn bekannt
6.1.3.5.3.4 Information Dediction = Teile von K bekannt ∨ Struktur von M bekannt
6.1.3.5.3.5 Algorithmus unbedingt Sicher = Kein erfolgreicher Angriff mit allen Informationen möglich
6.2 (Veränderung ∈ Unerwünschte Manipulation) → ¬Integrität
6.2.1 Digitale Signatur → (Gewährleistung Integrität ∧ Gewährleistung Authentizität)
6.2.1.1 Signatur = SK(H(M))
6.2.1.2 Deterministisch = Eindeutigkeit
6.2.1.3 Probabilistisch = Vieldeutigkeit
6.2.2 Signatur = {RSA, DSA, El-Gamal, ...}
6.2.2.1 RSA = (Populär ∧ Schwierige Faktorisierung)
6.2.2.1.1 Primzahl Algorithmen = {x1, x2, ... xn}
6.2.2.1.1.1 Mn = 2^n - 1
6.2.2.1.1.2 ((n < 5) ∧ (2^2^n + 1)) → Fermat-Zahl
6.2.2.1.2 30 = 2 × 3 × 5
6.2.2.1.2.1 1 = ∅
6.2.2.1.2.2 6936 = 2^3 × 3 × 17^2
6.2.2.1.3 Generierung Primzahl ≤ Primfaktorzerlegung
6.2.2.1.3.1 RSA Factoring Challenge = Beweisbarkeit der Sicherheit von RSA
6.2.2.1.3.2 RSA-576 = 398 075 086 424 064 937 397 125 500 550 386 491 199 064 362 342 526 708 406 385 189 575 946 388 957 261 768 583 317 * 472 772 146 107 435 302 536 223 071 973 048 224 632 914 695 302 097 116 459 852 171 130 520 711 256 363 590 397 527
6.2.2.1.3.3 RSA-640 = 1 634 733 645 809 253 848 443 133 883 865 090 859 841 783 670 033 092 312 181 110 852 389 333 100 104 508 151 212 118 167 511 579 * 1 900 871 281 664 822 113 126 851 573 935 413 975 471 896 789 968 515 493 666 638 539 088 027 103 802 104 498 957 191 261 465 571
6.2.2.2 {DSA, El-Gamal, Schnorr-Signatur} = (Alternativ ∧ Diskreter Logarithmus in endlichen Körpern)
6.2.2.3 {ECDSA, ECGDSA, Nyberg-Rueppel-Signatur} = (Alternativ ∧ Diskreter Logarithmus in elliptischen Kurven)
6.2.3 Verschlüsselung → Integrität
6.2.3.1 (Verschlüsselung ∧ Forge) → ¬Integrität
6.3 ((Verzögerung ∨ Unterbindung) ∈ Unerwünschte Manipulation) → ¬Verfügbarkeit
6.3.1 Denial of Service = Destruktive Attacke
6.3.1.1 Distributed Denial of Service = Denial of Service durch verteilte Systeme
6.3.2 Überlastung → Denial of Service
6.3.2.2 ((Eigene Ressourcen > Andere Ressourcen) ∧ Überlastung) → Denial of Service
6.3.2.2.1 Überlastung = (Begrenzte Ressourcen ∧ Belegung der Ressourcen)
6.3.2.2.2 Denial of Service = (TCP ∧ SYN-Flooding)
6.3.3 Schlecht umgesetzte Dienste → Deaktivierung des Dienstes
6.3.3.1 (TCP/IP ∧ ARP-Kill) → Denial of Service
6.3.3.2 (TCP/IP ∧ ICMP-Fehlermeldung) → Denial of Service
6.3.3.2.2 (TCP ∧ (RST ∨ FIN)) → Denial of Service
6.3.3.3 Administrativer Zugriff → Deaktivierung → Denial of Service