Über unsMediaKontaktImpressum
Angela Espinosa 21. April 2015

Datensicherheit - gesetzliche Anforderungen und Branchenregeln

“Ach, ich finde es ja drollig, dass Sie Datenbanksicherheit in Ihr Profil schreiben. Wir haben eine Web Application Firewall (WAF).“ In meinem Kopf brodelt es und ich frage mich, was eine WAF mit  Datenbanksicherheit zu tun hat...

Eine Web Application Firewall sollte eingesetzt werden, sobald Anwendungen im Internet erreichbar sind. Mit diesem Werkzeug kann man die Kommunikation auf Applikationsebene untersuchen und gegebenenfalls bei verdächtigem Verhalten unterbinden. Doch obwohl man dieses Tool einsetzt, muss man immer noch über Datenbanksicherheit nachdenken. Denn schlussendlich liegen die Daten in einer Datenbank, die Schutzmechanismen anbietet. Wichtig ist es, diese zu nutzen und damit die Sicherheit zu erhöhen. Dieser Artikel beschreibt, woher das ganze Sicherheitsthema kommt und wo es enden kann, nämlich in diesem Fall auf technischer Ebene in der Datenbank.

Die Ursprünge der IT- und Informationssicherheit

Immer mehr Geschäftsprozesse werden digital abgebildet. Schützenswerte Informationen wie Unternehmensdaten und personenbezogene Daten werden zahlreich digital verarbeitet, abgespeichert oder durch andere Provider gehostet. Für Hacker gibt es dadurch mehr potentielle Ansatzpunkte, um von innen sowie von extern Daten abzugreifen und damit steigen die Risiken für Unternehmen und öffentliche Einrichtungen, Schaden zu erleiden. Somit wächst auch der Druck, Maßnahmen zur Informationssicherheit durchzuführen. Diese beziehen sich in der Regel auf die sogenannten Schutzziele der Informationssicherheit – Vertraulichkeit, Integrität und Verfügbarkeit.

  • Vertraulichkeit beschreibt, dass die Information wirklich nur den Personenkreis erreicht, an den sie gerichtet ist.
  • Integrität stellt die Unverfälschtheit einer Nachricht und den Schutz vor unautorisierten Änderungen sicher. Das heißt, die gesendete Nachricht ist wirklich von mir und enthält nur die Information, die ich übermitteln möchte.
  • Verfügbarkeit ist eine Kennzahl. Sie erklärt, wie lange das IT-System zur Erfüllung der Dienstleistung zur Verfügung steht.

Maßnahmen zur Informationssicherheit werden zunehmend vom Gesetzgeber und Kunden eingefordert. Es gibt gesetzliche Regelungen, die dies direkt oder indirekt vorschreiben. Außerdem haben sich (ausgehend vom Skandal um die Enron Bilanzfälschung im Jahr 2001) die gesetzlichen Anforderungen an Compliance und Transparenz von Finanz- und Rechnungswesen erhöht. Informationssicherheit muss damit in jeder Firma großgeschrieben werden. Um einen sicheren Umgang mit daten- und informationsverarbeitenden Systemen zu gewährleisten, ist es erforderlich, entsprechend der jeweiligen Gefährdung, Sicherheitsstandards zu entwickeln und einzuhalten. Und das auch auf Datenbankebene.

Gesetzliche Vorgaben, die maßgeblich das Management der IT-Systeme im Unternehmen prägen.

Dreh- und Angelpunkt ist das KonTraG, das Gesetz zur Kontrolle und Transparenz im Unternehmen. Es hat als Ziel, die Unternehmensführung deutscher Unternehmen zu verbessern. In der Umsetzung bedeutet dies, verbindliche Regeln und ein unternehmensweites Risikomanagement einzuführen. Risiken müssen bewertet und darauf aufsetzend sinnvolle Maßnahmen formuliert werden. Wörtlich schreibt das Gesetz dazu in § 91 Abs. 2 AktG eine neue Vorschrift vor, nach der der Vorstand verpflichtet wird, „geeignete Maßnahmen zu treffen, insbesondere ein Überwachungssystem einzurichten, damit den Fortbestand der Gesellschaft gefährdende Entwicklungen früh erkannt werden”.

Persönliche oder personenbezogene Daten wie zum Beispiel Name, Alter, Familienstand, aber auch personenbeziehbare Daten wie IP-Adresse oder Personalnummer werden immer kostbarer. Ein Personen-Datensatz (bspw.: Name und Einkaufsprofil) wird bei 150 Euro gehandelt. Deshalb ist es wichtig, dass der Schutz dieser Daten auch gesetzlich geregelt wird. Das Bundesdatenschutzgesetz (BDSG) wurde genau dafür erlassen. Hierin wird im Detail beschrieben, welche Rechte, Pflichten und Maßnahmen zu treffen sind. Dazu gehören die Einsetzung eines Datenschutzbeauftragten ab einer gewissen Unternehmensgröße und die Auftragsdatenverarbeitung-Vereinbarung zwischen Vertragspartnern. Diese wird geschlossen, wenn im Auftrag und auf Weisung der verantwortlichen Stelle personenbezogene Daten erhoben, verarbeitet oder genutzt werden.

Im Handelsgesetzbuch (HGB) finden sich Forderungen zu den drei Schutzzielen wieder. Es wird vorgeschrieben, dass die Buchführung „ordnungsmäßig“ und „in einer entsprechenden Zeit aufzustellen“ ist. Ein Paragraf zur Verletzung der Geheimnispflicht beschreibt die Vertraulichkeit. Das sind nur ein paar Vorgaben, die es seitens der Gesetzgebung gibt. Einige Punkte überschneiden sich, aber im Kern geht es immer darum, Risiken zu erkennen und durch entsprechende Maßnahmen zu vermeiden oder zu vermindern.

In Zukunft werden sich Gesetze weiter verschärfen oder neue hinzukommen. Auf EU Ebene wird an einer Richtlinie zur Netz- und Informationssicherheit gearbeitet. Hier hapert es noch an einigen Stellen, aber die Absicht allein zeigt, dass das Thema Cybersecurity immer wichtiger wird.

In Deutschland wird eifrig an dem umstrittenen IT-Sicherheitsgesetz gefeilt. Mit diesem Gesetz sollen sogenannte KRITIS, kritische Infrastrukturen (die für das Funktionieren unseres Gemeinwesens zentral sind) geschützt werden. Da IT-Sicherheitsstandards je nach Unternehmen, Branche oder Druck von außen sehr unterschiedlich bis gar nicht umgesetzt sind, soll dieses Gesetz Verbesserungen herbeiführen. Ein Mindestniveau an IT-Sicherheit soll geschaffen werden und dessen Nachweis durch Erfüllung von Sicherheitsaudits erbracht werden. Erhebliche IT-Sicherheitsvorfälle sollen an das BSI (Bundesamt für Sicherheit in der Informationstechnik) gemeldet werden. Zusätzlich soll eine Kontaktstelle für das Meldeverfahren auf Unternehmensseite eingerichtet werden.

Nach derzeitigem Stand haben Unternehmen zwei Jahre Zeit, die Anforderungen zu erfüllen.

Der Kabinettsbeschluss ist abgeschlossen, jetzt wird erwartet, dass der Bundestag im zweiten Quartal 2015 das Gesetz verabschiedet. Anfang 2016 kann vermutlich mit einer Rechtsverordnung (mit Festlegung der betroffenen Unternehmen) gerechnet werden. Nach derzeitigem Stand haben danach die Unternehmen, wie in der Rechtsverordnung niedergelegt, zwei Jahre Zeit, die Anforderungen zu erfüllen.

Branchenstandards oder Normen

Sie bauen auf den Forderungen der Gesetzgebung auf und konkretisieren die Anforderungen an die Unternehmen. Spezielle Gremien stellen Regeln auf und entwickeln sie auch weiter. Die Standards oder Normen werden durch spezifische Audits auf Umsetzung geprüft. Entsprechend wird dann ein Zertifikat oder ein Testat (bei Prüfstandards) ausgestellt. Hierzu wird im Vorfeld der „Scope“ definiert, welche IT-Systeme betroffen sind und geprüft werden müssen.

Einige Branchenstandards/Normen sind hier zu nennen:

  • ISO/IEC 27000 (Informationssicherheits-Managementsysteme),
  • BSI-IT Grundschutz und BSI Standards zur Informationssicherheit,
  • CObit (Control Objectives for Information and related Technology),
  • ITSEC/CC (Information Technology Security Evaluation Criteria/Common Criteria),
  • PCI-DSS (Payment card industry-Data Security Standard),
  • PS951/ISAE3402 (Prüfstandards),
  • ISO/IEC 20000 (Service Management),
  • ITIL (IT Infrastructure Library)

In der folgenden Grafik ist dargestellt, wie die Anwendungsbereiche einiger gängiger Normen aussehen:

Die Grafik stellt dar, worauf sich die jeweilige Norm fokussiert (Personen/Datenbezug, Produkt/Systembezug bzw. Organisationsbezug). Des Weiteren sieht man, ob die Norm eher Regelungen auf der Managementebene betrifft (allg. Unternehmensleitlinien) oder mehr auf der technischen Ebene (z. B. Vorgaben für Systemkonfigurationen).

Je nach Anwendungsgebiet fallen Audits zu den jeweiligen Normen/Standards unterschiedlich aus. Ein Audit zu ISO 27000 ist demnach eher prozess- und managementorientiert mit entsprechend kleinen Stichprobengrößen. Hier steht das Managementsystem im Mittelpunkt, mit dem die noch offenen Punkte/Maßnahmen nachverfolgt und nachhaltig dokumentiert werden.
PCI-DSS (Verarbeitung von Kreditkartendaten) schreibt andererseits ein sehr klares Regelwerk vor, wie die technische Umsetzung erfolgen muss. Hier konzentriert sich eine Prüfung sehr stark auf technische Sachverhalte, Stichprobenumfänge von 100% werden hier angewandt. Bei Prüfung eines internen Kontrollsystems (IKS) nach PS951 oder ISAE3402 durch Wirtschaftsprüfer werden sowohl Prozesse als auch technische Sachverhalte betrachtet, wobei statistisch bestimmte Stichprobengrößen zur Anwendung kommen.

Welchen Standard oder welche Norm das Unternehmen für seine eigenen Belange einhalten muss, entscheidet sich aufgrund der Art des eigenen Geschäftsmodells, der Branche in der es agiert und der Ansprüche Dritter. Auf technischer und organisatorischer Ebene heißt das konkret, dass Einzelmaßnahmen oft deckungsgleich sind und automatisch verschiedene Normen abdecken.

Auf Datenbankebene

Hier geht es nicht nur darum, der Papersecurity gerecht zu werden, sondern auch Gefahren zu erkennen und ihnen begegnen zu können. Papersecurity bedeutet für mich, dass auf dem Papier alles für die Sicherheit getan ist. Konzepte bezüglich Klassifizierung der Systeme, Benutzer- und Passwortmanagement, Härtung inklusive der regelmäßigen Checks, Ausnahmen und Administration sind verfasst und umgesetzt. Aber reicht es, um Angriffe abzuwehren oder zu erkennen?

100-prozentige Sicherheit gibt es nicht, aber mit 80 Prozent kann man schon eine gute Basis Schaffen. Wichtig dabei ist die Nachvollziehbarkeit.

Wieviel Sicherheit brauche ich, um noch die Balance zu halten zwischen Kosten, Aufwand und Nutzen. Eine 100-prozentige Sicherheit gibt es nicht. Man kann aber mit 80 Prozent Sicherheit schon eine gute Basis schaffen. Ein ganz wichtiger Punkt dabei ist die Nachvollziehbarkeit. Wenn ich einen Angriff nicht verhindern kann, sollte ich wenigstens wissen, dass es einen gab.
Wenn ein Angreifer nun vor der Datenbanktür steht und nur noch anklopfen muss, wird er versuchen, sogenannte Exploits für seine Zwecke zu gebrauchen. Exploits sind Sicherheitslücken oder Schwachstellen im Programmcode der Datenbanksoftware. Sie erlauben es, dass verschiedene Folgeaktivitäten vorkommen können. Ich möchte einige wichtige Exploits der Oracle-Datenbank erklären und Schritte, die es einem erleichtern, das Ausnutzen zu erkennen oder zu verhindern.

Die größten Probleme sind immer noch die Privilegien-Eskalation und SQL Injection. Selbst in Version 12c, der neuesten Oracle-Datenbank-Version sind diese Schwachstellen zu finden. Privilegien-Eskalation beschreibt das intelligente Zusammenspiel von Funktionen oder Prozeduren und schwachem PL/SQL-Code. Die Hersteller sind sich dessen bewusst und reagieren (meistens). Hier gilt es bei besonders kritischen Datenbanken, zeitnah die Critical Patch Updates also sicherheitsrelevante Patches einzuspielen. Alleine deshalb gibt es mit jeder neuen Datenbank-Software-Version neue Herangehensweisen, diese geschlossenen Lücken wieder zu umgehen.

Ein konkretes Beispiel beschreibt das Problem näher. Es gibt in der Datenbank Java Pakete/Funktionen (DBMS_JAVA_TEST und DBMS_JAVA), die von jedem Benutzer aufgerufen werden können. Die Rolle Public mit mehr als 15.000 Privilegien wird jedem neuen Benutzer automatisch zugewiesen. Das heißt aber im Umkehrschluss auch, ich als Datenbankadministrator muss diese Rechte (auf die „unsicheren“ Pakete) explizit der Rolle Public entziehen. Ignoriere ich das einfach, kann ein Benutzer mithilfe der Pakete und der Ausnutzung des SQL-Codes viel höhere Rechte erlangen und Schindluder treiben, also z. B. Daten einsehen und verändern, neue Benutzer anlegen oder verändern, Rechte vergeben und entfernen, Spuren verwischen etc.

Zusätzlich sollte das Auditing angeschaltet sein. Hier kann protokolliert werden, welches Paket verwendet wurde. Dafür sollten nicht nur Aktivitäten des SYS-Benutzers, sondern aller administrativen Accounts mitgeloggt und an eine zentrale Instanz weitergeleitet werden. So ist auch Stunden, Tage, Wochen nach einem Angriff noch nachvollziehbar, was getan wurde.

Benutzeraccounts, die ungenutzt sind, müssen gelöscht oder nach Passwortänderung gesperrt werden.

SQL-Injection ist immer noch der größte Angriffsvektor für Datenbanken in der Webanwendungswelt. Es bedeutet, dass SQL-Code über Eingabefelder bei einer Webanwendung eingeschleust und damit Auskunft über Datenformate, -inhalte und -strukturen erlangt wird. Mangelnde Maskierung oder Überprüfung von Metazeichen (wie Semikolon oder Anführungszeichen) ermöglicht dieses. Nicht nur Ausspähen ist die Folge, auch Veränderung der Daten. Damit kann ein erheblicher Schaden entstehen. Dafür ist es wichtig, die Privilegien des Nutzers, der in der Datenbank agiert, einzuschränken, frei nach dem Motto „So wenig wie möglich und so viele wie nötig“. Benutzeraccounts, die ungenutzt sind, müssen gelöscht oder nach Passwortänderung gesperrt werden.

Auch Werkzeuge wie Web-Application-Firewalls können hier gegebenenfalls einige SQL-Injections abfangen. Auch die Anwendungsentwickler müssen sich dieser Thematik stellen und geeignete Maßnahmen ergreifen und zum Beispiel Benutzer-Feldeingaben beschränken und die Übergabewerte mittels Prepared Statements übergeben. Die Daten werden dann nicht interpretiert und die SQL-Injection so verhindert.

Eine große Herausforderung neben den Exploits ist immer noch die Verwendung von unsicheren Passwörtern bei uralten (und neuen) Anwendungen. Wenn sich diese nicht ändern lassen, dann ist es wichtig, Maßnahmen beim Zugriff auf die Datenbank umzusetzen. Das bedeutet, dass Verbindungen kontrolliert und konfiguriert werden müssen. Ein Logon-Trigger kann die Zugriffe protokollieren und herausfiltern, welche Verbindungen unberechtigt sind und geblockt werden müssen. So auch durch Beobachtung und Auswertung der listener.log- und/oder alert.log-Datei.

Zu erwähnen ist auch, dass Testumgebungen oft stiefmütterlich behandelt werden. Hier dürften niemals Produktionsdaten eingespielt werden. Oftmals werden diese Systeme mit echten Daten genutzt und sollten deshalb immer mit im Scope der Prüfung und damit der Härtung der Sicherheitsmaßnahmen stehen.

Durch einen bekannten Oracle TNS-Poison Exploit, durch den sich leicht eine Man-in-the-Middle Situation über den Listener herstellen ließ, hat sich der Hersteller dazu bewegt, die Nutzung der Transportverschlüsselung aus den Lizenzbedingungen der Advanced Security Option zu lösen. Somit haben Schwachstellen, die jahrelang nicht gelöst wurden und der öffentliche Druck manchmal auch einen positiven Effekt auf die Sicherheit einer Datenbank. Es ist natürlich zu empfehlen, diese Kommunikationsverschlüsselung zwischen Client und Datenbank einzusetzen.

Die Härtung einer Datenbank ist zwar schön und gut, wenn sie einmal umgesetzt ist. Jedoch muss diese regelmäßig überprüft werden. Denn schon das Einspielen eines  Patches kann viele Einstellungen wieder zurücksetzen. Außerdem verändern sich die Anforderungen der Standards, der Sicherheit und der Software. Man bleibt nie auf dem gleichen Stand und entwickelt sich stetig weiter. Uns muss nur bewusst sein oder werden, dass Datenbanksicherheit ein sehr wichtiges Thema ist. Denn wo liegen denn die Daten?

Autorin

Angela Espinosa

Angela Espinosa ist seit 2001 bei der Lufthansa beschäftigt. In dem IT-Tochterunternehmen Lufthansa Systems begann Frau Espinosa nach der Ausbildung zur Fachinformatikerin in der UNIX-Abteilung. Schwerpunkt für sie war hier...
>> Weiterlesen
botMessage_toctoc_comments_9210