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

Informale Herleitung zu 5.2.3.1.4 (aufheben):
Eine Programmcode mit unerwünschten Nebeneffekten gilt als korrupter Programmcode. Es gibt verschiedene Arten korrupten Programmcodes. Im weitesten Sinne lässt sich auch ein Exploit als korrupten Programmcode bezeichnen. q.e.d.

1 Sicherheit ist ein Zustand.
1.1 Er sieht eine wohldefinierte Anzahl an erlaubten Handlungen vor.
1.1.1 Eine Handlung ist eine ausgeführte Tätigkeit.
1.1.2 Eine Handlung kann sowohl aktiv (aktionär) als auch passiv (reaktionär) erfolgen.
1.1.3 Eine aktive (aktionäre) Handlung ist eine freiwillige Aktion ohne vorausgehenden Reiz.
1.1.4 Eine passive (reaktionäre) Handlung ist eine provozierte und unausweichliche Reaktion auf einen vorangegangenen Reiz.
1.2 Die produktive Sicherheit eines Systems (im Betrieb) wird in erster Linie an der Unterbindung unerwünschter Handlungen gemessen.
1.2.1 Eine Möglichkeit ist der Spielraum einer Handlung.
1.2.2 Das Ausbleiben jeglicher Möglichkeiten lässt absolute Sicherheit erlangen.
1.2.3 Sind alle unerwünschten Handlungen unterbunden, kann mit grösstmöglicher Wahrscheinlichkeit von einem sicheren Produkt ausgegangen werden.
1.2.4 Auch eine ursprünglich vorgesehene Möglichkeit kann eine Unsicherheit darstellen.
2 Unsicherheit gewährt eine nicht zugelassene Handlung.
2.1 Unsicherheit sowie Sicherheit existieren auf theoretischer (ℑ) und auf praktischer (ℜ) Ebene.
2.1.1 Eine (praktische) Unsicherheit lässt sich stets theoretisch erfassen.
2.1.2 Der maximale Aufwand des Erkennens der Sicherheit eines Systems erfordert das Erkennen und Bewerten sämtlicher möglichen Zustände dessen.
2.2 Eine Gefahr generiert sich dadurch, dass die gegebene Unsicherheit auch ausgenutzt werden wird. Dies wird als Risiko bezeichnet.
2.2.1 Das Ausnutzen einer Unsicherheit kann verschiedene Motive haben.
2.2.2 Je einfacher ein Handlungsspielraum ist, desto eher werden sich Leute in diesem bewegen wollen.
2.2.3 Je wertvoller die erreichbaren Möglichkeiten sind, desto eher werden sich die Leute diesen nähern wollen.
2.2.4 Das potentielle Risiko orientiert sich an der Qualität und Quantität der drohenden Gefahr.
3 Eine unzulässige Handlung ist ein Angriff.
3.1 Ein Angriffsversuch ist die Grundlage eines erfolgreichen Angriffs.
3.1.1 Ein Angriffsversuch erfordert die Möglichkeit mindestens einer Handlung.
3.1.2 Ein Angriffsversuch, der mit ausschliesslich einer Handlung initiiert wird, wird als One-Shot bezeichnet.
3.1.3 Je mehr Angriffsversuche durchgeführt werden können, desto eher lässt sich die Qualität des Angriffs optimieren.
3.2 Ein erfolgreicher Angriff erfordert die Möglichkeit einer erfolgreichen Handlung ausserhalb des vorgesehenen Handlungsspielraums.
3.2.1 Er beweist die praktische Unsicherheit des Systems im gegenwärtigen Zustand.
3.2.2 Ist nach dem Durchspielen aller erdenklichen Angriffsversuche kein erfolgreicher Angriff erreicht, kann das System punktuell (bezüglich der Angriffstechnik und des Angriffszeitpunkts) als sicher eingestuft werden.
3.3 Ein erfolgreicher Angriff kann zu einem späteren Zeitpunkt in gleicher Weise wiederholt werden. In manchen Fällen ist dies aber nicht möglich.
3.3.1 Nur weil sich ein Angriff zu einem späteren Zeitpunkt nicht mehr wiederholen lässt, heisst dies nicht, dass eben diese Unsicherheit nicht bestand, nicht mehr besteht oder nicht mehr bestehen wird.
3.3.2 Eine geringe Änderung im System kann dazu führen, dass ein Angriff nicht mehr erfolgreich sein kann.
4 Unsicherheiten und Angriffe sind unter sich nicht gleichwertig.
4.1 Die Qualität einer Unsicherheit ist von der erforderlichen Effizienz und Eleganz, die für einen erfolgreichen Angriff unabdingbar ist, abhängig.
4.1.1 Die Qualität einer Unsicherheit hat in einem gewissen Rahmen Einfluss auf die Qualität eines Angriffs.
4.1.2 Die Qualität einer Unsicherheit ist umso grösser, je mehr Handlungspielraum sie ungewollt zur Verfügung stellen kann.
4.1.3 Die Einstufung einer Unsicherheit muss objektiv erfolgen.
4.1.4 Eine Unsicherheit A kann als Grundlage für eine Unsicherheit B dienen.
4.2 Die Qualität eines Angriffs kann, unabhängig vom charakteristischen Erfolg dessen, unterschiedlich ausfallen.
4.2.1 Ein Angriff gilt als effizient, wenn er mit einem Minimum an Bewegung im auferlegten Handlungsspielraum durchgeführt werden kann.
4.2.2 Ein Angriff gilt als elegant, wenn er den auferlegten Handlungspielraum in unerwarteter und kreativer Weise nutzt.
4.2.3 Ein Angriff gilt als einfach, wenn für die erfolgreiche Durchführung ein Minimum an Effizienz und Eleganz erforderlich ist.
4.2.4 Das Messen der Qualität eines Angriffs an der Qualität des Angreifers ist subjektiv und damit minderwertig.
5 Eine Programmcode mit unerwünschten Nebeneffekten gilt als korrupter Programmcode.
5.1 Ein korrupter Programmcode ist nur dann korrupt, wenn er unerwünscht ist. Jeglicher andere Code ist bis zu dieser Definition entweder legitim oder unnötig.
5.1.1 Programmcode ist dann legitim, wenn er eine Arbeit ausführt, die ausgeführt werden will und soll.
5.1.2 Programmcode ist dann unnötig, wenn er Arbeit ausführt, die nicht ausgeführt werden muss oder müsste.
5.1.3 Um einen korrupten Programmcode als solchen erkennen zu können, muss man sich seiner Nützlichkeit/Erwünschtheit bewusst werden.
5.2 Es gibt verschiedene Arten korrupten Programmcodes.
5.2.1 Die populärste Form korrupten Programmcodes sind Computerviren.
5.2.2 Fast so populär wie Computerviren sind Trojanische Pferde.
5.2.3 Im weitesten Sinne lässt sich auch ein Exploit als korrupten Programmcode bezeichnen.
5.3 Korrupter Programmcode lässt sich unter gewissen Umständen als solchen erkennen.
5.3.2 Viele Antiviren-Lösungen benutzen eine patternbasierte Methode, um typische Zeichen bekannter Schädlinge zu entdecken.
5.3.3 Bei einer heuristischen Analyse wird das Verhalten einer Software auf potentiell schädliche Routinen hin geprüft (z.B. Funktion zum Löschen ganzer Datenträger).
5.3.4 Korrupter Programmcode lässt sich entfernen.
6 Sensitive Daten müssen vor Manipulationen geschützt werden.
6.1 Eine unerwünschte Manipulation ist die unerlaubte Einsicht durch Dritte. Die Daten verlieren dadurch ihre Vertraulichkeit.
6.1.1 Das Mitlesen einer Kommunikation wird umgangssprachlich als Lauschangriff bezeichnet.
6.1.2 Um eine unerwünschte Einsicht zu verhindern, kann ein abgeschotteter (dedizierter) Kanal genutzt werden.
6.1.3 Ist das Einsetzen eines dedizierten Kanals nicht möglich, muss eine Verschlüsselung ihre Anwendung finden.
6.2 Eine weitere unerwünschte Manipulation ist die Veränderung. Die Daten verlieren dadurch ihre Integrität.
6.2.1 Typischerweise werden digitale Signaturen eingesetzt, um die Integrität (Fälschbarkeit) und Authentizität (Herkunft) von Daten verifizieren zu können.
6.2.2 Es gibt auch hier verschiedene Verfahren zur Generierung elektronischer Signaturen.
6.2.3 Das Gewährleisten der Integrität kann ebenso durch eine Verschlüsselung realisiert werden.
6.3 Eine andere unerwünschte Manipulation ist das Verzögern oder Unterbinden des Datenflusses. Die Daten verlieren dadurch ihre Verfügbarkeit.
6.3.1 Eine destruktive Attacke auf einen Dienst wird als Denial of Service (DoS) bezeichnet.
6.3.2 Die einfachste und direkteste Methode einen Dienst unbrauchbar zu machen, ist diesen zu überlasten.
6.3.3 Schlecht umgesetzte oder gewartete Dienste lassen sich unter Umständen als Drittperson einfachso deaktivieren.