diff --git a/Algorithmen und Datenstrukturen/UEB02.md b/Algorithmen und Datenstrukturen/UEB02.md new file mode 100644 index 0000000..f0492df --- /dev/null +++ b/Algorithmen und Datenstrukturen/UEB02.md @@ -0,0 +1,33 @@ +# 1 +## proz1 +- 200 +- 2n +- O(n) +## proz2 +- 10000 +- n^2 +- O(n^2) +## proz3 +- 10 +- sqrt(n +- O(sqrt(n))) +## proz4 +- 100 * 9999 * 99 = 98990100 +- 100 * (n^2-1) * (n-1) +- O(n^3) +## proz5 +- 5050 +- sigma 1-> n (n*(n+1))/2 +- O(n^2) +## proz6 +- 7 +- log(n) + 1 +- O(log(n)) +# 2 +## 1 +- O(n * log2(n)) +## 2 +- O(2^n) +## 3 +- O(n^2) + diff --git a/Algorithmen und Datenstrukturen/UEB02.pdf b/Algorithmen und Datenstrukturen/UEB02.pdf new file mode 100644 index 0000000..0659f36 Binary files /dev/null and b/Algorithmen und Datenstrukturen/UEB02.pdf differ diff --git a/English/VL02.md b/English/VL02.md new file mode 100644 index 0000000..f0b3048 --- /dev/null +++ b/English/VL02.md @@ -0,0 +1,13 @@ +# p8 +## 1 +### a +- 1 Personalabteilung: HR +- 2 Vertrieb: Sales and Marketing +- 3 Hardware support: Hardware Support +- 4 Forschung und Entwicklung: R&D +- 5 Qualitätssicherung: Quality Assurance +- 6 Rechtsabteilung: Legal department +- 7 Kundendiests: Customer service +- 8 Softwareentwicklung: Software development +### b +Q \ No newline at end of file diff --git a/Informationssicherheit/Ueb01.md b/Informationssicherheit/Ueb01.md index de0da54..0ceed01 100644 --- a/Informationssicherheit/Ueb01.md +++ b/Informationssicherheit/Ueb01.md @@ -1,56 +1,87 @@ -# 1.1 +## 1.1 + ## a) Was ist das Hauptziel von CVE? Wie werden Verwundbarkeiten standardmäßig beschrieben? Wer ist Betreiber von CVE und welche Organisationen finanzieren das Projekt? ### Betreiber -- Der Betreiber ist die Mitre Corporation, eine Non-Profit-Organisation, die aus Verschiedenen Forschungsinstituten besteht und sich aus einer Abspaltung vom MIT gebildet hat. Ihr „Auftraggeber“ sind die USA. -Eines ihrer Institute ist z.B. das „Homeland Security Systems Engineering and Development Institute “. + +* Der Betreiber ist die Mitre Corporation, eine Non-Profit-Organisation, die aus Verschiedenen Forschungsinstituten besteht und sich aus einer Abspaltung vom MIT gebildet hat. Ihr „Auftraggeber“ sind die USA. + Eines ihrer Institute ist z.B. das „Homeland Security Systems Engineering and Development Institute “. ### Finanzierung -- Das CVE-Programm von der MITRE Corporation wird von der CISA (Cybersecurity and Infrastructure Security Agency) finanziert die dem bereits genanntem U.S. Department of Homeland Security. + +* Das CVE-Programm von der MITRE Corporation wird von der CISA (Cybersecurity and Infrastructure Security Agency) finanziert die dem bereits genanntem U.S. Department of Homeland Security. ## b) Was umfasst NVD im Vergleich zu CVE und wie werden Verwundbarkeiten standardmäßig beschrieben? Wer ist Betreiber von NVD und welche Organisationen finanzieren das Projekt? ### NVD -- NVD baut auf CVE auf und erweitert CVE um z.B. Analysen und Gegenmaßnahmen. -- NVD wird vom National Institute of Standards and Technology (NIST) betrieben und unter anderem von der US-Regierung finanziert. -- Beurteilt werden die Verwundbarkeiten mit Hilfe des Common Vulnerability Scoring System (CVSS), einem einheitlichen System für Beurteilung -- Weitere bereitgestellte Informationen sind: - - Betroffene Software bzw. Versionen - - Schweregrad - - Auswirkungen - - Gegenmaßnahmen + +* NVD baut auf CVE auf und erweitert CVE um z.B. Analysen und Gegenmaßnahmen. +* NVD wird vom National Institute of Standards and Technology (NIST) betrieben und unter anderem von der US-Regierung finanziert. +* Beurteilt werden die Verwundbarkeiten mit Hilfe des Common Vulnerability Scoring System (CVSS), einem einheitlichen System für Beurteilung +* Weitere bereitgestellte Informationen sind: + * Betroffene Software bzw. Versionen + * Schweregrad + * Auswirkungen + * Gegenmaßnahmen + +## c) +nvd angegebener score: 7,5 + +## d) + +#### Was ist das Ziel von CWE?: +Häufig vorkommende schwachstellen zu vermeiden.  +Sie bieten eine liste von den häufigsten schwachstellen für software firmware hardward und servies. + +#### Wie werden Verwundbarkeitstypen standardmäßig beschrieben?: + + +Jede schwachstelle wird kategoresiert und hat jeweils folgende eigenschaften: +\- WeaknessID +\- Abstraktion Typ +\- Struktur Typ +\- Beschreibung + +Und noch einige, die nicht immer auftauchen wie: +\- Erweiterte beschreibung +\- Alternativer Name +\- Abhängigkeiten +\- Beispiele + +#### Wer ist Betreiber von CWE? +CWE wird von seiner communinty betrieben. Darunter gehören auch Apple, Intel und Microsoft ## e) Was für ein Verwundbarkeitstyp ist Heartbleed laut CWE? CWE-126: Buffer Over-read -- Entsteht, wenn eine Anwendung versucht, Daten von einem Puffer oder Speicherbereich zu lesen, der kleiner ist als die angeforderte Datenmen -- Führt dazu, dass die Anwendung auf Speicher zugreift, der außerhalb des zugewiesenen Bereichs liegt und möglicherweise Daten liest, die nicht für sie vorgesehen sind -- Kann zu unerwartetem Verhalten, einschließlich Abstürzen oder Sicherheitslücken führen +* Entsteht, wenn eine Anwendung versucht, Daten von einem Puffer oder Speicherbereich zu lesen, der kleiner ist als die angeforderte Datenmen +* Führt dazu, dass die Anwendung auf Speicher zugreift, der außerhalb des zugewiesenen Bereichs liegt und möglicherweise Daten liest, die nicht für sie vorgesehen sind +* Kann zu unerwartetem Verhalten, einschließlich Abstürzen oder Sicherheitslücken führen -## f) Lernen Sie weitere Details zu Heartbleed, bspw. hinsichtlich Gegenmaßnahmen, Exploits, betroffener Software und ähnlichen Verwundbarkeiten. +## f) Lernen Sie weitere Details zu Heartbleed, bspw. hinsichtlich Gegenmaßnahmen, Exploits, betroffener Software und ähnlichen Verwundbarkeiten. -- Betroffene Software: Heartbleed betraf die OpenSSL-Bibliothek, die von vielen Webservern, E-Mail-Servern, VPN-Gateways und anderen Netzwerkdiensten verwendet wird. - -- Gegenmaßnahmen: - - - Als Unternehmen/Seitenbetriber: Um gegen Heartbleed geschützt zu sein, mussten betroffene Organisationen schnell reagieren, indem sie ihre OpenSSL-Versionen auf eine nicht anfällige Version aktualisierten. - - Als Entwickler: eine if-Abfrage - -- Exploits - - Entschlüsselung archivierter Daten - - Entschlüsselung während der Webserver-Verbindungsaufnahme - - Entschlüsselung der Verbindungsaufnahme an VoIP-Telefonen, Netzwerkdruckern und Routern +Betroffene Software: Heartbleed betraf die OpenSSL-Bibliothek, die von vielen Webservern, E-Mail-Servern, VPN-Gateways und anderen Netzwerkdiensten verwendet wird. - -- Ähnliche Schwachstellen, wie Heartbleed, die auf unsicheren Speicheroperationen beruhen: - - - "Buffer Overflow"-Schwachstelle - - Schwachstelle, die auftritt, wenn ein Programm versucht, mehr Daten in einen Puffer oder Speicherbereich zu schreiben, als dieser aufnehmen kann. - - "Catastrophic Backtracking" in OpenSSL (CVE-2015-0291), - - ermöglichte Angreifern, den SSL-Server durch Senden eines speziell gestalteten Pakets zum Absturz zu bringen - -# 1.2 +Gegenmaßnahmen: + +* Als Unternehmen/Seitenbetriber: Um gegen Heartbleed geschützt zu sein, mussten betroffene Organisationen schnell reagieren, indem sie ihre OpenSSL-Versionen auf eine nicht anfällige Version aktualisierten. +* Als Entwickler: eine if-Abfrage + +Exploits + +* Entschlüsselung archivierter Daten +* Entschlüsselung während der Webserver-Verbindungsaufnahme +* Entschlüsselung der Verbindungsaufnahme an VoIP-Telefonen, Netzwerkdruckern und Routern + +Ähnliche Schwachstellen, wie Heartbleed, die auf unsicheren Speicheroperationen beruhen: + +* "Buffer Overflow"-Schwachstelle + * Schwachstelle, die auftritt, wenn ein Programm versucht, mehr Daten in einen Puffer oder Speicherbereich zu schreiben, als dieser aufnehmen kann. +* "Catastrophic Backtracking" in OpenSSL (CVE-2015-0291), + * ermöglichte Angreifern, den SSL-Server durch Senden eines speziell gestalteten Pakets zum Absturz zu bringen + +## 1.2 ## a) Um welche Verwundbarkeit handelt es sich genau? Um welchen Verwundbarkeitstyp handelt es sich? @@ -70,59 +101,70 @@ Die Schwachstelle betrifft hauptsächlich Prozessoren von Intel sowie einige ARM ## d) Welche Gegenmaßnahmen wurden ergriffen? -- Hardware-Hersteller haben Mikrocode-Updates und Firmware-Updates bereitgestellt, um die Anfälligkeit ihrer Chips gegenüber Meltdown zu verringern. Diese Updates beheben nicht den Designfehler, helfen jedoch dabei, die Auswirkungen der Verwundbarkeit zu begrenzen. -- Betriebssystemhersteller haben Sicherheitspatches und Updates veröffentlicht, um ihre Systeme gegen Meltdown zu schützen. Diese Updates beinhalten Kernel Page Table Isolation oder ähnliche Techniken, um den Kernel-Speicher vom Benutzerspeicher zu isolieren und so den Zugriff auf geschützte Speicherbereiche zu verhindern. +* Hardware-Hersteller haben Mikrocode-Updates und Firmware-Updates bereitgestellt, um die Anfälligkeit ihrer Chips gegenüber Meltdown zu verringern. Diese Updates beheben nicht den Designfehler, helfen jedoch dabei, die Auswirkungen der Verwundbarkeit zu begrenzen. +* Betriebssystemhersteller haben Sicherheitspatches und Updates veröffentlicht, um ihre Systeme gegen Meltdown zu schützen. Diese Updates beinhalten Kernel Page Table Isolation oder ähnliche Techniken, um den Kernel-Speicher vom Benutzerspeicher zu isolieren und so den Zugriff auf geschützte Speicherbereiche zu verhindern. -## e) +## e) Berechnen Sie den CVSS Score mit dem ”Common Vulnerability Scoring System Calculator Version 3.1“. Welche qualitativen Unterschiede zum CVSS 3.1 Score von Heartbleed können Sie dabei feststellen? ### Heartbleed: + ![Alt text](https://cdn.discordapp.com/attachments/1017491520145854565/1090682843853758464/image.png) + ### Meltdown: + ![Alt text](https://cdn.discordapp.com/attachments/1017491520145854565/1090683294301044846/image.png) ### Angriffsvektor -- Heartbleed: Über das Netzwerk -- Meltdown: Lokal -### erforderliche Privilegien -- Meltdown erfordert niedrige Privilegien -- Heartbleed benötigt keine Privilegien + +* Heartbleed: Über das Netzwerk +* Meltdown: Lokal + +### erforderliche Privilegien + +* Meltdown erfordert niedrige Privilegien +* Heartbleed benötigt keine Privilegien + ### CVSS Score -- Meltdown: Base Score von 5.6(Medium) -- Heartbleed: Base Score von 7.5(High) +* Meltdown: Base Score von 5.6(Medium) +* Heartbleed: Base Score von 7.5(High) -# 1.3 +## 1.3 ## HTTP Basics + ### 1 -- Name eingeben -- Output wird zurückgegeben + +* Name eingeben +* Output wird zurückgegeben + ### 2 -- Mit Untersuchen nachgucken - - Network Tab auswälen - - POST request finden (attack2) - - Im request Tab Daten auslesen + +* Mit Untersuchen nachgucken + * Network Tab auswälen + * POST request finden (attack2) + * Im request Tab Daten auslesen ![image info](20230331_10h28m24s_grim.png) -- Alternativ: ZAP interception - - Schritte von HTTP Proxies durchführen - +* Alternativ: ZAP interception + * Schritte von HTTP Proxies durchführen ![image info](20230331_17h00m06s_grim.png) ## HTTP Proxies + ### 1 -- Breakpoint filter erstellen - - auf Request Header Contains POST setzen -- auf "Submit" drücken -- POST mit GET ersetzen -- 'x-request-intercepted:true' einfügen -- "doesn't+matter+really" mit "Requests are tampered easily" ersetzen -- auf "Continue" drücken +* Breakpoint filter erstellen + * auf Request Header Contains POST setzen +* auf "Submit" drücken +* POST mit GET ersetzen +* 'x-request-intercepted:true' einfügen +* "doesn't+matter+really" mit "Requests are tampered easily" ersetzen +* auf "Continue" drücken ![image info](20230331_14h12m43s_grim.png) @@ -130,37 +172,37 @@ Berechnen Sie den CVSS Score mit dem ”Common Vulnerability Scoring System Calc ### 1 -- Seite Untersuchen -- Zu den Console Tab wechseln -- webgoat.customjs.phoneHome() eingeben -- Die zufällig generierte Zahl abgeben +* Seite Untersuchen +* Zu den Console Tab wechseln +* webgoat.customjs.phoneHome() eingeben +* Die zufällig generierte Zahl abgeben ![image info](20230331_16h17m48s_grim.png) ### 2 -- Seite Untersuchen -- Zu den Network Tab wechseln -- Auf "Go" drücken -- POST request finden (der Name ist Network) -- Zum Request Tab wechsel -- NetworkNum auslesen - +* Seite Untersuchen +* Zu den Network Tab wechseln +* Auf "Go" drücken +* POST request finden (der Name ist Network) +* Zum Request Tab wechsel +* NetworkNum auslesen ![image info](20230331_16h22m19s_grim.png) - ## CIA Triad -### 1 -Antworten: -- Frage 1 - - Antwort 3 -- Frage 2 - - Antwort 1 -- Frage 3 - - Antwort 4 -- Frage 4 - - Antwort 2 +### 1 + +Antworten: + +* Frage 1 + * Antwort 3 +* Frage 2 + * Antwort 1 +* Frage 3 + * Antwort 4 +* Frage 4 + * Antwort 2 ![image info](20230331_16h29m50s_grim.png) \ No newline at end of file diff --git a/untitled/.gitignore b/untitled/.gitignore new file mode 100644 index 0000000..f68d109 --- /dev/null +++ b/untitled/.gitignore @@ -0,0 +1,29 @@ +### IntelliJ IDEA ### +out/ +!**/src/main/**/out/ +!**/src/test/**/out/ + +### Eclipse ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache +bin/ +!**/src/main/**/bin/ +!**/src/test/**/bin/ + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ + +### VS Code ### +.vscode/ + +### Mac OS ### +.DS_Store \ No newline at end of file diff --git a/untitled/.idea/.gitignore b/untitled/.idea/.gitignore new file mode 100644 index 0000000..13566b8 --- /dev/null +++ b/untitled/.idea/.gitignore @@ -0,0 +1,8 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/untitled/.idea/misc.xml b/untitled/.idea/misc.xml new file mode 100644 index 0000000..862d09b --- /dev/null +++ b/untitled/.idea/misc.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/untitled/.idea/modules.xml b/untitled/.idea/modules.xml new file mode 100644 index 0000000..3007dae --- /dev/null +++ b/untitled/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/untitled/.idea/vcs.xml b/untitled/.idea/vcs.xml new file mode 100644 index 0000000..6c0b863 --- /dev/null +++ b/untitled/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/untitled/src/Main.java b/untitled/src/Main.java new file mode 100644 index 0000000..0afa126 --- /dev/null +++ b/untitled/src/Main.java @@ -0,0 +1,8 @@ +// Press Shift twice to open the Search Everywhere dialog and type `show whitespaces`, +// then press Enter. You can now see whitespace characters in your code. +public class Main { + public static void main(String[] args) { + + + } +} \ No newline at end of file diff --git a/untitled/src/StopUhr.java b/untitled/src/StopUhr.java new file mode 100644 index 0000000..3dd7d4f --- /dev/null +++ b/untitled/src/StopUhr.java @@ -0,0 +1,19 @@ +public class StopUhr +{ + private long startTime, stopTime; + + public void start() + { + startTime = System.nanoTime(); + } + + public void stop() + { + stopTime = System.nanoTime(); + } + + public long getDuration() + { + return stopTime - startTime; + } +} \ No newline at end of file diff --git a/untitled/src/Zeitmessung.java b/untitled/src/Zeitmessung.java new file mode 100644 index 0000000..86d3b37 --- /dev/null +++ b/untitled/src/Zeitmessung.java @@ -0,0 +1,67 @@ +public class Zeitmessung +{ + static int tuWasCounter = 0; + private static double tuwas() + { + tuWasCounter++; + return Math.random(); + } + + // Linear + public static double func1(int n) + { + double summe = 0; + + for (int a = 0; a < n; a++) + summe += tuwas(); + + return summe; + } + + // Quadratisch + public static double func2(int n) + { + double summe = 0; + + for (int a = 0; a < n; a++) + for(int b = 0; b < n; b++) + summe += tuwas(); + + return summe; + } + + // log2(n) + public static double func6(int n) + { + double summe = 0; + + while (n > 0) + { + summe += tuwas(); + n /= 2; + } + + return summe; + } + + public static void main(String[] args) + { + StopUhr uhr = new StopUhr(); + final int n = 100000; + tuWasCounter = 0; + uhr.start(); + func1(n); + uhr.stop(); + System.out.println("func1 "+"n="+n+" Zeit:"+uhr.getDuration()+" tuWasCounter:" + tuWasCounter); + tuWasCounter = 0; + uhr.start(); + func2(n); + uhr.stop(); + System.out.println("func2 "+"n="+n+" Zeit:"+uhr.getDuration()+" tuWasCounter:" + tuWasCounter); + tuWasCounter = 0; + uhr.start(); + func6(n); + uhr.stop(); + System.out.println("func6 "+"n="+n+" Zeit:"+uhr.getDuration()+" tuWasCounter:" + tuWasCounter); + } +} diff --git a/untitled/untitled.iml b/untitled/untitled.iml new file mode 100644 index 0000000..c90834f --- /dev/null +++ b/untitled/untitled.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file