Skip to main content

Übungsaufgabe

Szenario:

Sie sind ein Softwareentwickler, der beauftragt wurde, eine CRM (Customer Relationship Management)-Anwendung für ein mittelständisches Unternehmen zu entwickeln. Die Anwendung soll es dem Unternehmen ermöglichen, Kundeninformationen zu verwalten, Kontakte zu pflegen, Verkaufsaktivitäten zu protokollieren und Berichte zu erstellen. Da die CRM-Anwendung sensible Unternehmens- und Kundendaten enthält, ist es von größter Bedeutung, die Sicherheit der Daten zu gewährleisten. Denken Sie über die Privilegien nach, die bei der Entwicklung dieser CRM-Anwendung umgesetzt werden müssen, und nennen Sie jeweils zwei konkrete Schritte, um diese Privilegien zu realisieren.

Systeminformationen:

  • Die CRM-Anwendung wird webbasiert entwickelt und wird von Mitarbeitern über verschiedene Geräte wie Desktop-Computer, Laptops und mobile Endgeräte genutzt.
  • Die Anwendung wird auf einem internen Server des Unternehmens gehostet.
  • Es wird eine relationale Datenbank für die Speicherung der Kundendaten verwendet, und es werden auch Dokumente wie Verträge oder Notizen in der Anwendung gespeichert.
  • Die Anwendung erfordert eine nahtlose Integration mit vorhandenen Unternehmenssystemen wie E-Mail-Servern, Buchhaltungssoftware oder Kundensupport-Ticketing-Systemen.
  • Es werden verschiedene Benutzerrollen in der CRM-Anwendung benötigt, wie z.B. Administratoren, Vertriebsmitarbeiter, Kundendienstmitarbeiter und Teamleiter.
  • Die Anwendung sollte die Anforderungen an die Datenschutz-Grundverordnung (DSGVO) erfüllen und den Datenschutz der Kundendaten gewährleisten.
  • Es wird erwartet, dass die CRM-Anwendung regelmäßige Updates und Wartungsarbeiten erfährt, um Sicherheitslücken zu beheben und die Leistung zu optimieren.
  • Die Anwendung sollte über ein zentrales Protokollierungssystem verfügen, um Aktivitäten der Benutzer, Systemereignisse und Sicherheitsvorfälle zu überwachen und zu protokollieren

Aufgabe:

Ihre Aufgabe besteht darin, die Umsetzung der Secure Design Principles in der CRM- Anwendung zu analysieren und jeweils zwei konkrete Schritte für die Realisierung der folgenden Privilegien zu identifizieren:

  • Least Privilege (geringste Privilegien):
  • Defense in Depth (mehrstufige Verteidigung):
  • Fail-Safe (ausfallsichere Voreinstellungen):
  • Secure by Default (sicherheitstechnisch voreingestellt):
  • No Security by Obscurity (keine Sicherheit durch Verschleierung)

Antworten:

Least Privilege

  • Benutzerrollen definieren mit entsprechenden geringstnötigen Privilegien. Administratoren, Vertriebsmitarbeiter, Kundendienstmitarbeiter und Teamleiter.
  • Zugriffskontrolle implementieren. z.B. Rollenbasierte oder Attribut-basierte Zugriffskontrolle.
  • Berechtigungen für Zugriff auf Sensible Daten (z.B. Kundendaten) benötigt
  • Infrastruktur: Systeme bekommen nur erforderlichen Zugriffsrechte. (z.B. DB whitelist only app-server can talk to it)

Defense in Depth

  • Netzwerksicherheit nutzen: z.B: Firewall, IDS, IPS, Anomalie-erkennungs-Systeme...
  • Whitelisting, Blacklisting. (z.B. DB can only be reached from IP:port of app-server)
  • Verschlüsselung von Kommunikation (SSL TLS)
  • Verschlüsselung von Daten (Passwörter salted hashed)
  • Inputvalidierung
  • Content Security Policies

Fail-Safe (ausfallsichere Voreinstellungen):

  • while endlosschleife die den prozess wieder startet wenn er ausfällt

Secure by Default (sicherheitstechnisch voreingestellt):

  • Verschlüsselte Kommunikation
  • Deaktivierung von nicht benötigten Diensten / Features
  • Benutzerkonten ohne Passwörter dürfen nicht aktiv sein
  • automatisches patchen (nicht durch nutzer angestoßen)
  • Session-Timeout
  • ID-Templates (???)

No Security by Obscurity (keine Sicherheit durch Verschleierung)

  • offene Sicherheitsarchitektur nutzen, keine proprietären Sicherheitsprotokolle
  • Pen-Test durchführen lassen
  • öffentliche Kryptografische verfahren
  • nur weil die URL nicht direkt einsehbar ist, ist sie nicht nicht aufrufbar