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.
228 lines
7.0 KiB
228 lines
7.0 KiB
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");
|
|
}
|
|
|
|
}
|