package ITsecAufgaben; import java.util.Scanner; public class ITsecAufgaben { public static void zehnteAufgabe() { // Methodenrumpf füllen } public static void neunteAufgabe() { // Methodenrumpf füllen } public static void achteAufgabe() { // Methodenrumpf füllen } public static void siebteAufgabe() { // Methodenrumpf füllen } public static void sechsteAufgabe() { // Methodenrumpf füllen } public static void fünfteAufgabe() { // Methodenrumpf füllen } public static void hielfsMethodeVierteAufgabe(String[][] eingabe, int spalte, int zeile) { Scanner hIn = new Scanner(System.in); if(zeile == 0) { System.out.println("Angreifer eingeben: "); } else if( zeile == 1) { System.out.println("Motivation eingeben: "); } else { System.out.println("Beispiel-Werkzeug eingeben: "); } eingabe[spalte][zeile] = hIn.nextLine(); //hIn.close(); } public static void vierteAufgabe() { System.out.println( "Erstellen Sie die Tabelle zu den sieben Angreifertypen, nennen Sie NACHEINANDER ihre Bezeichnung, ihre Motivation & mögliche Werkzeuge!\n Drücken Sie Zahl ungleich '0' für die nächste Frage."); String[][] lösung = { { "Nutzende", "Persönliche Vorteile (Features freischalten,...)", "Anwendung von Tools oder Anleitungen; Anheuerung organisierter Krimineller;..." }, { "Mitarbeitende", "Rache; Geld; Whistleblower;...", "Zugriff auf und Kompromittierung interner Systeme" }, { "White Hats, Pentester", "Prestige; Herausforderung; Geld;...", "Identifikation von Schwachstellen; Ausnutzung unter ethischen Richtlinien;..." }, { "Grey Hats", "Prestige; Herausforderung; ideologische Ziele; Vandalismus; Geld", "Identifikation und Ausnutzung von Schwachstellen; Offenlegung des Eindringens" }, { "Black Hats", "Geld oder Habgier", "Identifikation und Ausnutzung von Schwachstellen; Kompromittierung des Systems; Monetarisierung" }, { "Konkurrenz", "Störung; Wirtschaftsspionage; Diskreditierung", "Reverse-Engineering von Produkten; Anheuerung organisierter Krimineller" }, { "Staaten oder Geheimdienste", "Wirtschaftliche Vorteile, Destabilisierung", "Kompromittierung der Infrastruktur, Komponenten oder Standards; Tarnung vor Entdeckung" } }; String[][] aufgabe = new String[7][3]; // String[][] lösung = new String[7][3]; int result = 1, frage = 1; Scanner in = new Scanner(System.in); frage = in.nextInt(); if (frage == 0) { //aufgabe.length for (int i = 0; i <= 6; i++) { for(int j = 0; j <= 2; j++) { if (j == 3 || i == 8) { break; } hielfsMethodeVierteAufgabe(aufgabe, i, j); } if(i == 8) { break; } } } System.out.println("Zeigen Sie nun di2e Lösung mit '0' an & vergleichen Sie Ihre Eingabe:\n"); result = in.nextInt(); if (result == 0) { String res = ""; for (int i = 0; i < 7; i++) { res = "" + lösung[i][0] + " | " + lösung[i][1] + " | " + lösung[i][2] + "\n"; System.out.println(res); } //System.out.println("\n\n"); res = ""; for (int i = 0; i < 7; i++) { res = "" + aufgabe[i][0] + " | " + aufgabe[i][1] + " | " + aufgabe[i][2] + "\n"; System.out.println(res); } } else { System.out.println("Bitte nochmal '0' eingeben, ansonsten 'STRG + Z'"); result = in.nextInt(); } in.close(); } // String[][] für Angreifer public static void dritteAufgabe() { System.out.println("Schreiben Sie die sechs IT-Sicherheitsziele mit kurzer Erläuterung auf!\n Drücken Sie '0' für die Lösung, andere Zahl für nächste Frage."); Scanner in = new Scanner(System.in); int result = 1; result = in.nextInt(); if(result == 0) { System.out.println("1. Vertraulichkeit (Vert.) := allg. Schutz vor unbefugter Preisgabe von Informationen\r\n" + "\r\n" + "2. Integrität (I.) := Sicherstellung der Korrektheit von Daten & der korrekten Funktionsweise von Systemen\r\n" + "\r\n" + "3. Authentizität (Auth.) := Kommunikationspartner/angegebene Quelle ist tatsächlich diejenige Person/Entität, die sie vorgibt zu sein, bzw. ist authentisch\r\n" + "\r\n" + "4. Verfügbarkeit (Verf.) := Sicherstellung der vorgesehenen Nutzbarkeit eines IT-Systems\r\n" + "\r\n" + "5. Autorisierung (Autor.) := Freischaltung der eingeräumten Rechte für eine erfolgreich authentifizierte Person\r\n" + "\r\n" + "6. Verbindlichkeit (Verb.) := Empfangen/Senden einer Nachricht oder Durchführen einer Handlung kann nicht abgestritten werden (e.g. wegen falscher Beschuldigung oder Fährten)"); } System.out.println("\n\nAufgabe 3 fertig"); } public static void zweiteAufgabe() { System.out.println("\nBerechnen Sie RSA per Hand. Taschenrechner & Website erlaubt.\n"); System.out.println("Gegeben sind: p = 13, q = 17, e = 11, P1 = 23"); System.out.println("Geben Sie das Ergebnis für N, phiOfN, encKey, decKey & C1:\n"); // <-- hier ggf. refactoring boolean an = true; int N = 0, phiOfN = 0, decKey = 0, C1 = 0, encKey = 0, abbrechen = 0; // String encKey = "(221, 11)"; Scanner in = new Scanner(System.in); while (an) { System.out.println("Abbrechen & Lösungen anzeigen mit '1', ansonsten weiter "); abbrechen = in.nextInt(); if(abbrechen == 1) { an = false; break; } System.out.println( "Ergebnisse für N, phiOfN, decKey, Cipher1 & encKey eingeben:\n Vorsicht: encKey besteht aus N & '?' angehangen ; alle Werte sind integer"); System.out.println("N:"); N = in.nextInt(); System.out.println("phiOfN:"); phiOfN = in.nextInt(); System.out.println("decKey:"); decKey = in.nextInt(); System.out.println("C1:"); C1 = in.nextInt(); System.out.println("encKey:"); encKey = in.nextInt(); if (N == 221 && phiOfN == 192 && encKey == 22111 && decKey == 35 && C1 == 56) { System.out.println("\nRichtiges Ergebnis\n"); an = false; } else { System.out.println("\nFalsches Ergebnis\n"); } } in.close(); } // kein äöüÄÖÜ public static void erstesQuiz() { System.out.println("debug: erstesQuiz() fängt an\n"); System.out.println("Was ist die Definition von 'Schwachstelle'?\n"); System.out.println( "\n1. Ein sicherheitsrelevanter technischer oder Prozess-Fehler.\n2. Ein Softwarefehler, der ausgenutzt werden kann\n3. Die Verse eines Menschen.\n\n 0 -> Lösung ; 42 -> naechste Aufgabe"); Scanner in = new Scanner(System.in); int age = 1; while (age != 0) { age = in.nextInt(); // if(age == 0) { break; } if (age == 1) { System.out.println("Richtig!\n"); } else if (age == 0) { System.out.println("Auf Wiedersehen."); } else { System.out.println("Falsch.\n"); } } in.close(); System.out.println("\ndebug: erstesQuiz() fertig"); } // für debugging & dev-test public static void main(String[] args) { // TODO Auto-generated method stub System.out.println("ITsec-main betreten\n\n"); //erstesQuiz(); //zweiteAufgabe(); //dritteAufgabe(); //vierteAufgabe(); System.out.println("\n\nmain endet"); } }