You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

223 lines
7.1 KiB

  1. package ITsecAufgaben;
  2. import java.util.Scanner;
  3. import java.lang.Math;
  4. public class ITsecAufgaben {
  5. public void fünfteAufgabe() {
  6. System.out.println(
  7. "Drücken Sie '0' für die Aufgabe, '1' zum überspringen oder 'Strg + Z' zum abbrechen des Programmes: ");
  8. Scanner in = new Scanner(System.in);
  9. int[] ZahlenArray = new int[2];
  10. randomNumberArray(ZahlenArray);
  11. //
  12. int aufgabeStarten = in.nextInt();
  13. if (aufgabeStarten == 0) {
  14. int lösung;
  15. System.out.println("Berechnen Sie den 'größten gemeinsamen Teiler' der folgenden Zahlen: ");
  16. System.out.printf("%d & %d", ZahlenArray[0], ZahlenArray[1]);
  17. System.out.printf("\n\n Lösung anzeigen mit '2':");
  18. lösung = in.nextInt();
  19. if(lösung == 2) {
  20. lösung = ggTLösung(ZahlenArray[0], ZahlenArray[1]);
  21. System.out.printf("Lösung lautet: %d", lösung);
  22. }
  23. System.out.println("\nFünfte Aufgabe beendet");
  24. } else {
  25. System.out.println("\nFünfte Aufgabe beendet");
  26. }
  27. }
  28. public void hielfsMethodeVierteAufgabe(String[][] eingabe, int spalte, int zeile) {
  29. Scanner hIn = new Scanner(System.in);
  30. if (zeile == 0) {
  31. System.out.println("Angreifer eingeben: ");
  32. } else if (zeile == 1) {
  33. System.out.println("Motivation eingeben: ");
  34. } else {
  35. System.out.println("Beispiel-Werkzeug eingeben: ");
  36. }
  37. eingabe[spalte][zeile] = hIn.nextLine();
  38. // hIn.close();
  39. }
  40. public void vierteAufgabe() {
  41. System.out.println(
  42. "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.");
  43. String[][] lösung = {
  44. { "Nutzende", "Persönliche Vorteile (Features freischalten,...)",
  45. "Anwendung von Tools oder Anleitungen; Anheuerung organisierter Krimineller;..." },
  46. { "Mitarbeitende", "Rache; Geld; Whistleblower;...",
  47. "Zugriff auf und Kompromittierung interner Systeme" },
  48. { "White Hats, Pentester", "Prestige; Herausforderung; Geld;...",
  49. "Identifikation von Schwachstellen; Ausnutzung unter ethischen Richtlinien;..." },
  50. { "Grey Hats", "Prestige; Herausforderung; ideologische Ziele; Vandalismus; Geld",
  51. "Identifikation und Ausnutzung von Schwachstellen; Offenlegung des Eindringens" },
  52. { "Black Hats", "Geld oder Habgier",
  53. "Identifikation und Ausnutzung von Schwachstellen; Kompromittierung des Systems; Monetarisierung" },
  54. { "Konkurrenz", "Störung; Wirtschaftsspionage; Diskreditierung",
  55. "Reverse-Engineering von Produkten; Anheuerung organisierter Krimineller" },
  56. { "Staaten oder Geheimdienste", "Wirtschaftliche Vorteile, Destabilisierung",
  57. "Kompromittierung der Infrastruktur, Komponenten oder Standards; Tarnung vor Entdeckung" } };
  58. String[][] aufgabe = new String[7][3];
  59. // String[][] lösung = new String[7][3];
  60. int result = 1, frage = 1;
  61. Scanner in = new Scanner(System.in);
  62. frage = in.nextInt();
  63. if (frage == 0) {
  64. // aufgabe.length
  65. for (int i = 0; i <= 6; i++) {
  66. for (int j = 0; j <= 2; j++) {
  67. if (j == 3 || i == 8) {
  68. break;
  69. }
  70. hielfsMethodeVierteAufgabe(aufgabe, i, j);
  71. }
  72. if (i == 8) {
  73. break;
  74. }
  75. }
  76. }
  77. System.out.println("Zeigen Sie nun di2e Lösung mit '0' an & vergleichen Sie Ihre Eingabe:\n");
  78. result = in.nextInt();
  79. if (result == 0) {
  80. String res = "";
  81. for (int i = 0; i < 7; i++) {
  82. res = "" + lösung[i][0] + " | " + lösung[i][1] + " | " + lösung[i][2] + "\n";
  83. System.out.println(res);
  84. }
  85. // System.out.println("\n\n");
  86. res = "";
  87. for (int i = 0; i < 7; i++) {
  88. res = "" + aufgabe[i][0] + " | " + aufgabe[i][1] + " | " + aufgabe[i][2] + "\n";
  89. System.out.println(res);
  90. }
  91. } else {
  92. System.out.println("Bitte nochmal '0' eingeben, ansonsten 'STRG + Z'");
  93. result = in.nextInt();
  94. }
  95. }
  96. public void dritteAufgabe() {
  97. System.out.println(
  98. "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.");
  99. Scanner in = new Scanner(System.in);
  100. int result = 1;
  101. result = in.nextInt();
  102. if (result == 0) {
  103. System.out.println(
  104. "1. Vertraulichkeit (Vert.) := allg. Schutz vor unbefugter Preisgabe von Informationen\r\n" + "\r\n"
  105. + "2. Integrität (I.) := Sicherstellung der Korrektheit von Daten & der korrekten Funktionsweise von Systemen\r\n"
  106. + "\r\n"
  107. + "3. Authentizität (Auth.) := Kommunikationspartner/angegebene Quelle ist tatsächlich diejenige Person/Entität, die sie vorgibt zu sein, bzw. ist authentisch\r\n"
  108. + "\r\n"
  109. + "4. Verfügbarkeit (Verf.) := Sicherstellung der vorgesehenen Nutzbarkeit eines IT-Systems\r\n"
  110. + "\r\n"
  111. + "5. Autorisierung (Autor.) := Freischaltung der eingeräumten Rechte für eine erfolgreich authentifizierte Person\r\n"
  112. + "\r\n"
  113. + "6. Verbindlichkeit (Verb.) := Empfangen/Senden einer Nachricht oder Durchführen einer Handlung kann nicht abgestritten werden (e.g. wegen falscher Beschuldigung oder Fährten)");
  114. }
  115. System.out.println("\n\nAufgabe 3 fertig");
  116. }
  117. public void zweiteAufgabe() {
  118. System.out.println("\nBerechnen Sie RSA per Hand. Taschenrechner & Website erlaubt.\n");
  119. System.out.println("Gegeben sind: p = 13, q = 17, e = 11, P1 = 23");
  120. System.out.println("Geben Sie das Ergebnis für N, phiOfN, encKey, decKey & C1:\n");
  121. boolean an = true;
  122. int N = 0, phiOfN = 0, decKey = 0, C1 = 0, encKey = 0, abbrechen = 0;
  123. Scanner in = new Scanner(System.in);
  124. while (an) {
  125. System.out.println("Abbrechen & Lösungen anzeigen mit '1', ansonsten weiter ");
  126. abbrechen = in.nextInt();
  127. if (abbrechen == 1) {
  128. an = false;
  129. break;
  130. }
  131. System.out.println(
  132. "Ergebnisse für N, phiOfN, decKey, Cipher1 & encKey eingeben:\n Vorsicht: encKey besteht aus N & '?' angehangen ; alle Werte sind integer");
  133. System.out.println("N:");
  134. N = in.nextInt();
  135. System.out.println("phiOfN:");
  136. phiOfN = in.nextInt();
  137. System.out.println("decKey:");
  138. decKey = in.nextInt();
  139. System.out.println("C1:");
  140. C1 = in.nextInt();
  141. System.out.println("encKey:");
  142. encKey = in.nextInt();
  143. if (N == 221 && phiOfN == 192 && encKey == 22111 && decKey == 35 && C1 == 56) {
  144. System.out.println("\nRichtiges Ergebnis\n");
  145. an = false;
  146. } else {
  147. System.out.println("\nFalsches Ergebnis\n");
  148. }
  149. }
  150. }
  151. public void erstesQuiz() {
  152. System.out.println("debug: erstesQuiz() fängt an\n");
  153. System.out.println("Was ist die Definition von 'Schwachstelle'?\n");
  154. System.out.println(
  155. "\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");
  156. Scanner in = new Scanner(System.in);
  157. int age = 1;
  158. while (age != 0) {
  159. age = in.nextInt();
  160. // if(age == 0) { break; }
  161. if (age == 1) {
  162. System.out.println("Richtig!\n");
  163. } else if (age == 0) {
  164. System.out.println("Auf Wiedersehen.");
  165. } else {
  166. System.out.println("Falsch.\n");
  167. }
  168. }
  169. System.out.println("\n erstesQuiz() fertig");
  170. }
  171. }