Securosys Blog

Segregation of duties richtig gemacht

Geschrieben von Andreas Curiger | May 05, 2022

Viele Geschäftsprozesse können problematisch oder fehlerhaft sein, wenn sie von einer einzigen Person in einem Unternehmen durchgeführt werden. Um dies zu verhindern, wird der Grundsatz der Aufgabentrennung (Segregation of Duties - SoD) angewandt. Die Aufgabentrennung ist für eine wirksame interne Kontrolle von entscheidender Bedeutung, da sie das Risiko sowohl fehlerhafter als auch unangemessener Handlungen verringert.

Automatisierung von Segregation of Duties


Aufgabentrennung (Segregation of Duties - SoD) bedeutet, dass keine einzelne Person in der Lage sein sollte, im Rahmen ihrer normalen Aufgaben Fehler oder Betrug zu begehen und dann zu verbergen. Tatsächlich ist SoD ein zentrales Thema für Unternehmen, um die Einhaltung von Gesetzen und Vorschriften zu gewährleisten, und ein vertrautes Konzept für jeden, der jemals im Finanz- oder Bankwesen gearbeitet hat. Im Allgemeinen sind die wichtigsten Aufgaben, die getrennt werden müssen, folgende:

  • Autorisierung oder Genehmigung von Transaktionen, die diese Vermögenswerte betreffen
  • Verwahrung von Vermögenswerten
  • Aufzeichnung oder Berichterstattung über verbundene Transaktionen

Die Digitalisierung von Geschäftsprozessen erfordert, dass SoD durch eine Workflow-Engine vollautomatisch durchgesetzt wird. Wenn diese Prozesse in die Cloud übertragen werden, muss garantiert werden, dass der SoD-basierte Entscheidungsfindungscode unverfälschte Eingaben erhalten hat, unverfälscht ausgeführt wurde und unverfälscht Ausgaben retourniert wurden. Außerdem muss der automatisierte Prozess überprüfbar sein. Dies kann durch die Kombination eines Workflow-Engine (Transaction Security Broker, TSB) mit einer vertrauenswürdigen Ausführungsumgebung (Trusted Execution Environment, kurz TEE) erreicht werden.

 

Das Trusted Execution ENVIRONMENT


Ein TEE kann als dedizierter sicherer Bereich eines Hauptprozessors (CPU) realisiert werden, der auf der Hardware- oder Softwareebene vom Rest des Computers isoliert werden kann. Es wird auch als Enklave bezeichnet und bietet Sicherheitsmerkmale wie isolierte Ausführung, Integrität der Anwendungen, die mit dem TEE ausgeführt werden, sowie Vertraulichkeit ihrer Daten. Moderne Computersysteme und insbesondere Cloud-Computing-Server stützen sich häufig auf Enklaven. Laptops, Desktops, Tablets oder Smartphones nutzen Enklaven, um die Passwörter oder Verschlüsselungsschlüssel einer Anwendung sicher zu speichern, während Server- Enklaven genutzt werden, um die Daten verschiedener Cloud-Server-Mieter zu isolieren.


Gegenwärtig werden Enklaven von verschiedenen zugrunde liegenden hardwarebasierten Technologien wie Intels Software Guard Extensions (SGX), ARMs TrustZone, RISC-Vs Keystone, Qualcomms Secure Execution Environment (QSEE) oder KU Leuven's Sancus unterstützt. Leider sind diese hardwarebasierten Technologien anfällig für Seitenkanalangriffe. Gut dokumentiert sind insbesondere die gebrochenen Isolationsversprechen von SGX. Es gibt mehrere Softwareentwicklungskits (SDK), die eine Schnittstelle für Anwendungen zur Interaktion mit der zugrunde liegenden Enklaventechnologie bereitstellen. Neben der Schnittstellenfunktion besteht die Aufgabe dieser SDKs auch darin, die Enklave auf Softwareebene vor bösartigem Code zu schützen, der möglicherweise auf Betriebssystemebene ausgeführt wird. Insbesondere muss ein SDK in der Lage sein, bösartige Befehle zu erkennen, die bei Versuchen, Daten aus der Enklave zu exfiltrieren, verwendet werden könnten, was eine nicht triviale Aufgabe ist: Forschungsteams, die diese Enclave-SDKs überprüfen, finden immer wieder ausnutzbare Schwachstellen.

Dedizierte TEE-Hardware-Appliances vermeiden diese Sicherheitsmängel von vornherein. Ihr gut abgeschirmtes und manipulationssicheres Gehäuse in Kombination mit ihrer sicherheitsorientierten Softwarearchitektur macht Seitenkanalangriffe nutzlos. Durch eine dedizierte Hardware- und Firmware-Architektur wird eine starke Isolierung zwischen den Tenants gewährleistet.

 

Automatisierte Segregation of Duties und Blockchain


SoD ist ein unverzichtbares Prinzip im dezentralen Finanzwesen (DeFi) und in Blockchain-bezogenen Unternehmen im Allgemeinen. In diesen Bereichen wird die Workflow-Engine oft als Smart Contract auf der Ethereum-Blockchain realisiert. Ein grundlegendes Manko von Smart Contracts ist jedoch das sogenannte Blockchain-Orakel-Problem. Intelligente Verträge können von Natur aus nicht mit Daten und Systemen außerhalb ihrer eigenen Blockchain-Umgebung interagieren. Blockchains erhalten daher Eigenschaften wie die Genehmigung von Nutzertransaktionen, Garantien für einmalige Ausgaben oder andere Informationen von zusätzlichen Teilen der Infrastruktur, die als "Orakel" bezeichnet werden. Entwickler gehen das Orakelproblem an, indem sie z. B. TEEs auf Sidechains oder andere Mittel einsetzen. Institute, die die Blockchain- und Smart-Contract-Technologie nutzen, richten beispielsweise eine zusätzliche Off-Chain-Infrastruktur ein, um die vollständige Einhaltung der Gesetze zur Kundenkenntnis (KYC) und Geldwäschebekämpfung (AML) zu gewährleisten, die in prüfbaren Code übersetzt werden, der auf einem speziellen TEE läuft.

Im Allgemeinen profitieren wichtige Branchen von der Kombination von Orakeln und Smart- Contracts. Dazu gehören die Preise von Vermögenswerten für das Finanzwesen, Wetterinformationen für Versicherungen, Zufälligkeiten für Spiele, IoT-Sensoren für die Lieferkette, ID-Verifizierung für Behörden und vieles mehr.


Fazit


Prozessautomatisierung erfordert SoD, das sicher in die IT-Infrastruktur eines Unternehmens integriert ist. Die Ausführung von entscheidungsrelevantem Code muss besonders geschützt werden, insbesondere in Branchen, in denen Transaktionen nicht rückgängig gemacht werden können und / oder Prozesse auditierbar sein müssen. Die Workflow-Engine kann als TSB-Software oder als Smart Contract auf einer Blockchain realisiert werden. Aus Gründen der Sicherheit und Nachvollziehbarkeit muss der Entscheidungscode auf speziellen TEE-Geräten ausgeführt werden.