Skip to content

Craig92/Boilerplate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

INT-WAW

Boilerplate fuer das Projekt. Dieses Projekt muss geforked werden, Meilensteinabgabe wird realisiert via Pull Request.

Pull Requests dienen hierbei der Bewertung, Abnahme und dem Auffinden von Plagiaten. Meilensteine sind zudem in der Meilensteinuebersicht einsehbar. Diese werden bei Bekanntgabe im Kurs angepasst, so dass jeder auf dem gleichen Informationsstand ist.

Testate

Es gibt 2 Testate. Zulassung zum Testat haben nur Projekte, die am jeweiligen Montag vorher (d.h. Montag, 12:00 Uhr mittags) einen Pull-Request auf dieses Projekt mit ihrem entwickelten Inhalt gestellt haben.

Alle Gruppen, die dies nicht erfuellt haben, werden nicht zum Testat zugelassen. Es gibt keine Ausnahmen.

Testat am 11.05.2016

Geprueft und abgenommen werden Meilenstein 1 und 2.

Testat am 15.06.2016

Geprueft und abgenommen werden Meilenstein 3 und 4.

Uebersicht

Overview Chart

Meilensteine

Fuer die erfolgreiche Bewertung des Projekts sind die Erfuellung der folgenden Meilensteine notwendig.

Studienleistung des INT-WAW Kurses ist erbracht bei Antreten des ersten Meilensteins.

Meilenstein 1 (Beginn 23.03.2016)

  • Verstaendnis von Git, GitHub, Branches, Triangularer Workflow
  • Pull-Request auf dieses Projekt mit Teamname im Issue und alle Mitglieder haben schon einmal commited.
  • Interface: Status Tabelle Bots (ID, IP, Auftrag, Workload, Aktion)
  • Interface: Sidebar-Menu (Status, Auftrag, Bots)
  • Interface: GET integration zu CNC Server (/api/Status)

Meilenstein 2 (Beginn 20.04.2016)

  • Interface: Uebersicht Status Toggle Button (Start/Stop) in Spalte Aktion
  • Interface: Uebersicht Tasks (Loeschen)
  • Interface: Formular Tasks (Hinzufuegen)
  • Interface: POST integration zu CNC Server (/api/Tasks)

Meilenstein 3

  • CNC: Implementierung mit Babel, ES7 und KOA.js
  • CNC: GET API fuer /api/Status (Interface <= CNC, Status von Bots)
  • CNC: POST API fuer /api/Status (BOT => CNC, Registrierung von Bots)
  • CNC: GET API fuer /api/Tasks (Bot <= CNC, Abnahme von Arbeit)
  • CNC: POST API fuer /api/Tasks (Interface => CNC, Erstellen von Arbeit)
  • Interface: Uebersicht Tasks Loeschen Button (Remove) in Spalte Aktion
  • CNC: DELETE API fuer /api/Tasks (Interface => CNC, Loeschen von Arbeit)

Meilenstein 4

  • CNC: GET /api/Tasks/new fuer unbearbeitete Auftraege (Tasks mit output == null)
  • BOT: GET /api/Tasks/new
  • BOT: POST /api/Tasks/:id fuer Bearbeitung der Tasks

Terminologie

CNC Interface (kurz: Interface)

Das CNC Interface ist eine lokale HTML5 Applikation. Es dient zur Kontrolle der Bots via deren CNC Server. Typischerweise ist diese lokale Applikation dafuer ausgelegt, mehrere (n) Server und mehrere (n * n) Bots zu kontrollieren und zu verwalten.

Den notwendigen Exploiting-Aspekt und wie diese Bots in der Regel auf Rechner gelangen ignorieren wir in dieser Vorlesung. In der Projektabnahme (Testate) werden mehrere Bots (ca. 100 - 200, davon ca. 2 lokal) zur Verfuegung sein, um das Projekt zu testen.

CNC Server (kurz: CNC)

Der CNC Server ist der sogenannte Command and Control Server. Dieser Server kontrolliert eine ihm bekannte Menge an Bots, welche sich, bei Aktivierung bzw. Ausfuehrung, registrieren.

Sinn des CNC Servers ist die intelligente Aufgabenverteilung fuer potenzielle Ausfaelle von Bots. Dementsprechend sollen Aufgaben redundant verteilt und bearbeitet werden, um die Auswertung dahinter zu ueberpruefen und bei Kalkulationen den Mittelwert der Reports (Resultate) zu errechnen.

Bot (kurz: BOT)

Ein Bot ist in unserem Fall ein stumpfes Programm, welches zur Ausgliederung von Arbeit (Workload) einer zentralen Architektur verwendet wird. Dies kann z.B. rechenintensive Arbeit, wie z.B. das Berechnen von Hashes oder das Bruteforcen von Kennwoerten zu ihren Hashes sein.

In der Projektabnahme (Testate) werden diese Bots mit dem letzten Verfuegbaren Stable Release von node.js bestueckt sein.

Organisation

Alle organisatorischen Aufgaben, Probleme und Fragen finden in dem Repository https://github.com/INT-WAW/Boilerplate/issues statt.

About

Die Boilerplate fuer das Projekt (Fork, Feature Branch und Pull Request)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published