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.

163 lines
5.4 KiB

  1. package ITsecAufgaben;
  2. import java.util.Scanner;
  3. public class ITsecAufgaben {
  4. public static void zehnteAufgabe() {
  5. // Methodenrumpf füllen
  6. }
  7. public static void neunteAufgabe() {
  8. // Methodenrumpf füllen
  9. }
  10. public static void achteAufgabe() {
  11. // Methodenrumpf füllen
  12. }
  13. public static void siebteAufgabe() {
  14. // Methodenrumpf füllen
  15. }
  16. public static void sechsteAufgabe() {
  17. // Methodenrumpf füllen
  18. }
  19. public static void fünfteAufgabe() {
  20. // Methodenrumpf füllen
  21. }
  22. public static void vierteAufgabe() {
  23. System.out.println(
  24. "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.");
  25. String[][] lösung = {
  26. { "Nutzende", "Persönliche Vorteile (Features freischalten,...)",
  27. "Anwendung von Tools oder Anleitungen; Anheuerung organisierter Krimineller;..." },
  28. { "Mitarbeitende", "Rache; Geld; Whistleblower;...",
  29. "Zugriff auf und Kompromittierung interner Systeme" },
  30. { "White Hats, Pentester", "Prestige; Herausforderung; Geld;...",
  31. "Identifikation von Schwachstellen; Ausnutzung unter ethischen Richtlinien;..." },
  32. { "Grey Hats", "Prestige; Herausforderung; ideologische Ziele; Vandalismus; Geld",
  33. "Identifikation und Ausnutzung von Schwachstellen; Offenlegung des Eindringens" },
  34. { "Black Hats", "Geld oder Habgier",
  35. "Identifikation und Ausnutzung von Schwachstellen; Kompromittierung des Systems; Monetarisierung" },
  36. { "Konkurrenz", "Störung; Wirtschaftsspionage; Diskreditierung",
  37. "Reverse-Engineering von Produkten; Anheuerung organisierter Krimineller" },
  38. { "Staaten oder Geheimdienste", "Wirtschaftliche Vorteile, Destabilisierung",
  39. "Kompromittierung der Infrastruktur, Komponenten oder Standards; Tarnung vor Entdeckung" } };
  40. String[][] aufgabe = new String[7][3];
  41. // String[][] lösung = new String[7][3];
  42. int result = 1, frage = 1;
  43. Scanner in = new Scanner(System.in);
  44. frage = in.nextInt();
  45. in.close();
  46. }
  47. // String[][] für Angreifer
  48. public static void dritteAufgabe() {
  49. 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.");
  50. Scanner in = new Scanner(System.in);
  51. int result = 1;
  52. result = in.nextInt();
  53. if(result == 0) {
  54. System.out.println("1. Vertraulichkeit (Vert.) := allg. Schutz vor unbefugter Preisgabe von Informationen\r\n"
  55. + "\r\n"
  56. + "2. Integrität (I.) := Sicherstellung der Korrektheit von Daten & der korrekten Funktionsweise von Systemen\r\n"
  57. + "\r\n"
  58. + "3. Authentizität (Auth.) := Kommunikationspartner/angegebene Quelle ist tatsächlich diejenige Person/Entität, die sie vorgibt zu sein, bzw. ist authentisch\r\n"
  59. + "\r\n"
  60. + "4. Verfügbarkeit (Verf.) := Sicherstellung der vorgesehenen Nutzbarkeit eines IT-Systems\r\n"
  61. + "\r\n"
  62. + "5. Autorisierung (Autor.) := Freischaltung der eingeräumten Rechte für eine erfolgreich authentifizierte Person\r\n"
  63. + "\r\n"
  64. + "6. Verbindlichkeit (Verb.) := Empfangen/Senden einer Nachricht oder Durchführen einer Handlung kann nicht abgestritten werden (e.g. wegen falscher Beschuldigung oder Fährten)");
  65. }
  66. System.out.println("\n\nAufgabe 3 fertig");
  67. }
  68. public static void zweiteAufgabe() {
  69. System.out.println("\nBerechnen Sie RSA per Hand. Taschenrechner & Website erlaubt.\n");
  70. System.out.println("Gegeben sind: p = 13, q = 17, e = 11, P1 = 23");
  71. System.out.println("Geben Sie das Ergebnis für N, phiOfN, encKey, decKey & C1:\n"); // <-- hier ggf. refactoring
  72. boolean bool = true;
  73. int N = 0, phiOfN = 0, decKey = 0, C1 = 0, encKey = 0;
  74. // String encKey = "(221, 11)";
  75. Scanner in = new Scanner(System.in);
  76. while (bool) {
  77. System.out.println(
  78. "Ergebnisse für N, phiOfN, decKey, Cipher1 & encKey eingeben:\n Vorsicht: encKey besteht aus N & '?' angehangen ; alle Werte sind integer");
  79. System.out.println("N:");
  80. N = in.nextInt();
  81. System.out.println("phiOfN:");
  82. phiOfN = in.nextInt();
  83. System.out.println("decKey:");
  84. decKey = in.nextInt();
  85. System.out.println("C1:");
  86. C1 = in.nextInt();
  87. System.out.println("encKey:");
  88. encKey = in.nextInt();
  89. if (N == 221 && phiOfN == 192 && encKey == 22111 && decKey == 35 && C1 == 56) {
  90. System.out.println("\nRichtiges Ergebnis\n");
  91. } else {
  92. System.out.println("\nFalsches Ergebnis\n");
  93. }
  94. }
  95. in.close();
  96. }
  97. // kein äöüÄÖÜ
  98. public static void erstesQuiz() {
  99. System.out.println("debug: erstesQuiz() fängt an\n");
  100. System.out.println("Was ist die Definition von 'Schwachstelle'?\n");
  101. System.out.println(
  102. "\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");
  103. Scanner in = new Scanner(System.in);
  104. int age = 1;
  105. while (age != 0) {
  106. age = in.nextInt();
  107. // if(age == 0) { break; }
  108. if (age == 1) {
  109. System.out.println("Richtig!\n");
  110. } else if (age == 0) {
  111. System.out.println("Auf Wiedersehen.");
  112. } else {
  113. System.out.println("Falsch.\n");
  114. }
  115. }
  116. in.close();
  117. System.out.println("\ndebug: erstesQuiz() fertig");
  118. }
  119. // für debugging & dev-test
  120. public static void main(String[] args) {
  121. // TODO Auto-generated method stub
  122. System.out.println("ITsec-main betreten\n\n");
  123. /*
  124. erstesQuiz();
  125. zweiteAufgabe();
  126. dritteAufgabe();
  127. */
  128. vierteAufgabe();
  129. }
  130. }