# IT-Sicherheitsaudit

Als IT-Sicherheitsaudit (englisch IT security audit, von lateinisch audit ‚er/sie hört‘, sinngemäß ‚er/sie überprüft‘) werden in der Informationstechnik (IT) Maßnahmen zur Risiko- und Schwachstellenanalyse (engl. Vulnerability Scan) eines IT-Systems oder Computerprogramms bezeichnet. Bedrohungen für die Sicherheit können ausgehen von kriminellen Angriffen, von organisatorischen Mängeln aber auch von technischen Unfällen oder höherer Gewalt. Schwachstellen sind Fehler eines IT-Systems oder einer Organisation, durch die diese für Bedrohungen anfällig werden. Eine Bedrohung oder eine Schwachstelle allein reichen jedoch nicht aus, um die Sicherheit eines Systems zu gefährden. Eine Gefährdung für das angegriffene System besteht nur dann, wenn eine Bedrohung auf eine existierende Schwachstelle trifft. Die Ursachen für Schwachstellen sind vielseitig. Sie können in der Konzeption, Implementierung oder auch im Betrieb liegen und umfassen ebenfalls Design- oder Konstruktionsfehler, menschliches Fehlverhalten oder ungenügende Standortsicherheit. Schwachstellenanalysen dienen dazu, diese Fehler systematisch zu finden, um Bedrohungen und Angriffsszenarien abzuwenden. Sicherheitsaudits finden meist im Rahmen eines Qualitätsmanagements statt und dienen der Reduzierung von Sicherheitslücken sowie der Einführung von Best practices in einer Organisation (öffentliche Verwaltung, Unternehmen). IT-Sicherheitsaudits zählen zum Bereich der Netzwerk- und Informationssicherheit.
In Anlehnung an die englischsprachigen Termini Security Test und Security Scan werden in der deutschsprachigen Literatur statt Sicherheitsaudit Begriffe wie Sicherheitsüberprüfung oder Sicherheitsprüfung verwendet. Meist sind hiermit nur Teilaspekte eines vollständigen Audits gemeint. Der Prozess des Audits wird häufig als Auditing bezeichnet, während die durchführende Person Auditor heißt.

## Übersicht

Regelmäßige IT-Sicherheitsaudits bilden einen unentbehrlichen Teil des deutschen IT-Grundschutzes. International sind die Management-Standards für IT-Sicherheitsaudits in der Norm ISO/IEC 27001 der ISO festgelegt. Darüber hinaus gibt es eine Reihe weiterer internationaler Security Policies. Diese dienen der Planung, Dokumentierung und ständigen Weiterentwicklung des Informationssicherheitsmanagementsystems eines Unternehmens (ISMS, siehe auch IT-Service-Management). Die Audits werden meist von externen Experten – auch Chief Audit Executives (CAE) genannt – in Absprache mit der Geschäftsführung durchgeführt. Der dabei erstellte Maßnahmenkatalog bildet die Grundlage für weitere Schritte durch die Administratoren der hausinternen IT-Abteilung. Sie sind für den laufenden Abgleich von Soll und Ist und die Wartung des Systems in Übereinstimmung mit der Security Policy des Unternehmens zuständig. Systeme können dabei Personal Computer, Server, Großrechner (Mainframes), Router oder Switches umfassen. Anwendungen können beispielsweise Webserver wie Apache, Datenbank-Systeme wie Oracle oder MySQL und Mailserver umfassen.
Nach einer Bestandsaufnahme, der IT-Strukturanalyse, finden die jeweiligen Tests statt. Auf diese folgt in der Regel die Bewertung des Schutzbedarfs sowie eine Auswahl von Maßnahmen, welche in einem Maßnahmenkatalog festgehalten werden. Die Umsetzung der Maßnahmen wird aus Gründen der internen Sicherheit meist nicht vom Auditor selbst durchgeführt, da dieser nach Durchführung eines Audits mit den Sicherheitslücken des Unternehmens zu sehr vertraut ist. Mit der Unterzeichnung eines Non-Disclosure Agreements (NDA) verpflichtet sich der Auditor zur Geheimhaltung. Ein Auditor muss ausreichend Erfahrung im Netzwerkbereich mitbringen und in der Lage sein, sich in einen Angreifer hinein zu versetzen. Gründe und Ziele einer potenziellen Attacke entscheiden über die angewandte Methodik.
Manuelle Maßnahmen einer Sicherheitsanalyse umfassen dabei:
* die Befragung der Belegschaft eines Unternehmens (siehe Social Engineering)
* Security Scans mittels Portscannern wie Nmap, Sniffern wie Wireshark, Vulnerability Scannern (engl. für „Verwundbarkeitsprüfer“) wie Nessus und anderer Tools, nämlich Vulnerability Assessment (VA) Produkte
* die Überprüfung der Zugangskontrolle bei Anwendungen und Betriebssystemen
* die Analyse des physikalischen Zugangs zum System.
Eine weitere Methode, Sicherheitsschwachstellen festzustellen, sind Penetrationstests. Sie bilden einen wesentlichen Bestandteil eines vollen IT-Sicherheitsaudits. Hierbei werden Angriffe von außen (Internet) als auch von innerhalb des Unternehmensnetzwerkes simuliert. Dieser Vorgang wird häufig auch als friendly Hacking und der Auditor als White-Hat-Hacker bezeichnet (siehe auch Hackerethik)
Das BSI IT-Sicherheitshandbuch trifft folgende Unterscheidung:
* Informationsbasis (Black-Box, White-Box)
* Aggressivität (passiv, vorsichtig, abwägend, aggressiv)
* Umfang (vollständig, begrenzt, fokussiert)
* Vorgehensweise (offensichtlich, verdeckt)
* Technik (Netzwerkzugang, sonstige Kommunikation, physischer Zugang, Social Engineering)
* Ausgangspunkt (von außen, von innen)
Eine beliebte unauffällige (passive) Methode bei manuellen Audits ist das Google hacking. Während zur groben Abschätzung der IT-Infrastruktur eines Unternehmens oft ein Blick in öffentliche Stellenausschreibungen ausreicht, können mit Hilfe komplexer Suchmaschinenabfragen auf Google, Live Search, Yahoo Search und ähnlichen Suchmaschinen vertrauliche und sensible Daten unbemerkt erspäht werden. Die Bandbreite der „Security Nuggets“ (engl. für „Sicherheitsbrocken“) reicht dabei von privaten Informationen wie Kreditkartennummern, Sozialversicherungsnummern und Passwörtern sowie abgelegten Dateien wie internen Auditing-Berichten, Passwort-Hashes oder Logdateien (Nessus, Sniffer) über unsichere offene Dienste wie OWA, VPN und RDP bis zur Offenlegung zahlreicher Exploits und Schwachstellen der betreffenden Websites. Hierbei kommen bestimmte Suchmaschinenfilter und Operatoren zum Einsatz. Mit der Google hacking Datenbank (GHDB) existiert eine eigene Sammlung bekannter Taktiken und Einsatzmöglichkeiten. Mehrere Anbieter von automatisierten Vulnerability Scannern für Webdienste haben diese Datenbank in ihre Produkte integriert. Zur Erkennung einer „Google-hacking-Attacke“ können eigene Honeypots eingerichtet werden. Häufig finden sich im Quellcode von Websites Kommentare mit nützlichen Informationen für Angreifer. Werden diese Daten vom Anbieter einer Website gelöscht, sind sie in den meisten Fällen über den Cache einer Suchmaschine oder über Archive wie die Wayback Machine der Öffentlichkeit nach wie vor zugänglich.
Als Alternative oder Ergänzung zu den manuellen Auditing-Maßnahmen können computerunterstützte Auditing-Techniken (engl. Computer Assisted Auditing Techniques, CAAT) eingesetzt werden. Solche automatischen Auditing-Maßnahmen sind Teil der Audit-Standards, welche vom American Institute of Certified Public Accountants (AICPA) herausgegeben werden und in den USA für die Verwaltung verpflichtend sind (siehe Sarbanes-Oxley Act). Sie umfassen systemgenerierte Audit-Reports sowie die Verwendung von Monitoring-Software, welche Änderungen an Dateien oder Einstellungen auf einem System berichtet. Eine Checklist der AICPA soll Administratoren diese Arbeit erleichtern. freie Software in diesem Bereich sind die Auditing- und Reporting-Software TIGER und Open Source Tripwire sowie die Monitoring-Software Nagios. Hauptzweck dieser Produkte ist die Dokumentation und Warnung bei Änderungen am System.

## Richtlinien und Maßnahmen

Die von Sicherheitsexperten vorgeschlagenen Richtlinien und Maßnahmenkataloge im Bereich der IT-Sicherheit sind sehr umfangreich. So gibt es neben der ISO/IEC 27001 auch noch die ISO/IEC 17799 sowie die diesen zu Grunde liegende britische BS 7799. Ferner existieren die Sicherheitsarchitektur X.800, die IT-Grundschutz-Kataloge (früher IT-Grundschutzhandbuch) des BSI, die Verfahrensbibliothek ITIL sowie die ITSEC-Kriterien. Das Audithandbuch Open Source Security Testing Methodology Manual (OSSTMM) des Institute for Security and Open Methodologies (ISECOM) unterscheidet entsprechend der möglichen Angriffsmöglichkeiten fünf Kategorien der Sicherheitsinteraktion, Kanäle genannt:
* physikalische Interaktion
* Telekommunikation (analoge Kommunikation)
* Datennetzwerke (Paketkommunikation)
* drahtlose Interaktion
* menschliche Interaktion
Grundsätzlich muss sich ein Unternehmen zwischen unterschiedlichen Risikoanalysestrategien entscheiden und darauf aufbauend die Ziele eines Auditings festlegen. Da die Durchführung einer detaillierten Risikoanalyse einer gesamten Organisation teuer und aufwändig ist, wird meist eine Kombination aus Grundschutzmaßnahmen (Baseline Security Controls) und Schutzbedarfsfeststellung (High Level Risk Analysis) gewählt. Alle Systeme, deren Risiko über niedrig bis mittel, also bei hoch bis sehr hoch liegt, werden einer detaillierten Risikoanalyse unterzogen. Je nach möglichem Schadensausmaß (dem Wert der bedrohten Objekte) und Relevanz ergibt sich eine unterschiedliche Risikobewertung und somit auch ein unterschiedlicher Schutzbedarf.
Die Bandbreite der vorgeschlagenen Maßnahmen reicht von der Einrichtung einer DMZ für externe Dienste und der Trennung des Netzwerks in unterschiedliche Segmente durch VLANs (beispielsweise ein separates VLAN für Netzwerkdrucker, ein weiteres für WLAN, Abteilung A, Abteilung B, Geschäftsführung und so fort) sowie der Einschränkung der Autorisierung des Zugriffs von außen auf das Netzwerk über VPN über den Einsatz von Verschlüsselungsmechanismen, die Einrichtung und Wartung von Firewalls, IDS/IPS, Virenschutz, Geräte- oder Endpunktkontrolle und Identitätsmanagement sowie die Evaluierung der vorhandenen Benutzerprofile und Zugriffskontrolllisten (ACLs) sowohl auf den Arbeitsplatzrechnern als auch im Netzwerk bis hin zur Einrichtung eines zentralen Update-Servers für alle Betriebssysteme (siehe z. B. Windows Update Server).
Sicherheitsexperten haben die Möglichkeit, ihr Wissen potenziellen Kunden gegenüber durch anerkannte Zertifizierungen nachzuweisen. Darunter fallen unter anderem der CISSP von der International Information Systems Security Certification Consortium, der CISA und der CISM von der ISACA, der OSSTMM Professional Security Tester (OPST) und der OSSTMM Professional Security Analyst (OPSA) der ISECOM, eine der zahlreichen ITIL- oder LPI-Zertifizierungen, sowie solche der APO-IT oder von im IT-Sicherheitssektor angesehener Firmen wie Cisco. In Österreich existiert für IT-Berater ferner die Auszeichnung des IT-Ziviltechnikers. Diese und weitere Zertifikate können in speziellen Lehrgängen erworben werden.

## Ablauf eines Audits

Audits verlaufen im Wesentlichen nach demselben Muster wie bösartige Angriffe. Hacker-Attacken können nach Methode und Zielsetzung grob in drei unterschiedliche Typen unterteilt werden:
* passiv
* aktiv
* aggressiv
Ziel eines passiven, automatisierten Angriffs durch Skripte und Bots kann beispielsweise die Ausweitung eines Botnets sein. Insbesondere Würmer werden zur automatisierten Ausnutzung von Schwachstellen eingesetzt. Andere bösartige Computerprogramme zur Verbreitung derartiger Bots sind Viren und Trojaner. Bei erfolgter Kompromittierung eines (als Zombie bezeichneten) Computers kann dieser zum Versenden von Spam, als Datenspeicher für Schwarzkopien, zum Ausführen von DDoS-Attacken und dergleichen genutzt werden. Durch einen aktiven, manuellen Angriff können sensible Daten ausgelesen oder bei Installation eines Backdoors Benutzer ausspioniert und Anwendungen durch den Angreifer kontrolliert werden. Aggressive Angriffe sind meist politisch motiviert und sollen in der Regel einen Systemausfall bewirken. Die Grenzen der Angriffsarten sind fließend.
Ein Audit besteht somit aus mehreren Phasen. Wurden Daten wie der zu scannende IP-Adressbereich (IP-Range) vom Kunden nicht bekannt gegeben, handelt es sich um einen Black-Box-Test. Hier kann im ersten Schritt ein Footprinting für den Auditor von Nutzen sein, um eine ungefähre Netzwerktopologie zu entwerfen. Dieser Schritt entfällt bei einem White-Box-Test. Das Erstellen einer Netzwerktopologie wird auch „Network Mapping“ (engl. für „Netzwerkabbildung“) genannt. Im nächsten Schritt wird das Computernetz mit einem automatischen Vulnerability Scanner auf potenzielle Schwachstellen hin überprüft. Um False Positives auszuschließen, ist eine genaue Auswertung der Resultate nötig. Eine weitere Phase eines Audits kann ein Penetrationstest (PenTest) auf Grundlage der in der Schwachstellenanalyse gewonnenen Erkenntnisse sein. Die Ergebnisse werden schließlich in einem ausführlichen Bericht zusammengefasst, welcher durch einen Maßnahmenkatalog zur Risikominimierung beziehungsweise -dezimierung zu ergänzen ist.
Vor einem Audit müssen Fragen wie Umfang, Dauer und Methoden abgeklärt werden. Darf der Betrieb in einem Unternehmen durch das Auditing nicht gestört werden, muss beispielsweise auf das Ausnutzen von etwaigen Programmfehlern (Bugs) beziehungsweise Sicherheitslöchern wie Pufferüberläufe in Software – Exploit genannt – verzichtet werden. Stark verbreitet sind hier DoS-Attacken. Das Herausfiltern von potenziellen Sicherheitslücken in einem System wird als „Vulnerability Mapping“ bezeichnet. Hierbei erstellt der Auditor eine Liste aller laufenden Dienste samt bekannter Bugs. Diese können beispielsweise auf Bugtraq, der CVE-Liste oder beim US-CERT abgefragt werden.
Zu den häufigsten Sicherheitslücken zählen laut McAfee:
* Vorgabeeinstellungen (default settings) bei kaum konfigurierten Routern, Firewalls, Webservern
* einfache, unverschlüsselte und/oder voreingestellte Passwörter (Fabrikseinstellung)
* mangelnde Sicherheits-, Wartungs- und Programmierkompetenzen beim Personal
* mangelnde Sicherheitskonzepte wie Security through obscurity, fahrlässiger Umgang mit vertraulichen Daten, Anfälligkeit für Social Engineering
* mangelnde Wartungskonzepte, beispielsweise seltene Updates und Passwortänderungen, oder mangelndes Monitoring
* schlechte Programmierkonzepte wie fehlende QA und Code Reviews sowie Vernachlässigung des Sicherheitsaspekts
* Verwendung unsicherer Dienste wie telnet, SNMP, RDP, X, SMB, MSRPC, Web-Guis wie OWA
* schlecht (meist in Eile) entwickelte Anwendungen mit Buffer Overflows, Format string vulnerabilities, integer overflows und/oder fehlender Eingabeprüfung
Zum Ausführen von Exploits dienen meist fertige Skripte wie sie beispielsweise auch von Scriptkiddies bei ihren Angriffen verwendet werden. Eine Sammlung von Exploits für viele gängige Betriebssysteme bietet Metasploit, ein Framework zum Erstellen und Testen von Exploits für Sicherheitslücken. Es ist eines der verbreitetsten Werkzeuge für PenTests.
Der Portscanner Nmap kann dabei verwendet werden, um Informationen über die Aktualität der am Zielsystem laufenden Anwendungen (Version und Patchlevel) zu gewinnen sowie zur Erkennung des Betriebssystems durch OS-Fingerprinting. Das grafische Network Mapper Frontend nmapfe wurde mittlerweile durch zenmap ersetzt, welches seinerseits aus Umit hervorgegangen ist. Banner Grabbing und Port Scanning können alternativ auch mit Netcat durchgeführt werden. Eine effiziente und schnelle Alternative zum verbreiteten Nmap bietet unter Umständen PortBunny. Nmap ist jedoch eines der mächtigsten und verbreitetsten Tools auf dem Gebiet.
Bekannte Sicherheitslücken können mit dem Vulnerability Scanner Nessus ausfindig gemacht werden. Auch eine manuelle Prüfung von Exploits in Web-Applikationen wie SQL-Injection oder Cross-Site-Scripting ist mit Nessus möglich. Verwandte Angriffe in diesem Bereich sind: Session Fixation, Cross-Site-Cooking, Cross-Site-Request-Forgery (XSRF), URL-Spoofing, Phishing, E-Mail-Spoofing, Session Poisoning, Cross-Site-Tracing (XST).
Weil Nessus ein sehr „lautes“ Tool ist, sein Gebrauch in einem Netzwerk also leicht festzustellen ist, werden oftmals „leise“ (meist passive) Tools wie firewalk (Paketfiltering Enumerator), hping3 (TCP/IP-Paketanalyse mit Traceroute-Modus) oder nmap bevorzugt. Zum Testen von Web-Applikationen existiert ferner der Nikto Web Scanner, der allein betrieben oder in Nessus eingebunden werden kann.
Häufig wird bei IT-Sicherheitsaudits (in Absprache mit der IT-Abteilung) versucht, Viren, Würmer und Trojaner und sonstige Malware in ein System einzuschleusen. Dies geschieht meist durch Social Engineering, indem der Auditor beispielsweise an alle User ein „wichtiges Sicherheitsupdate“ per Mail sendet oder persönlich überreicht. Auf diese Weise kann vorhandene Antivirensoftware, Personal Firewall, Paketfilter, Intrusion Prevention System und dergleichen auf Aktualität und Wirksamkeit hin überprüft werden. Wichtiger jedoch ist die Frage, wie die Anwender reagieren und ob sie den Sicherheitsrichtlinien des Unternehmens folgen.
Mit Tools wie John the Ripper kann versucht werden, Passwörter im System zu knacken. Diese können beispielsweise aus einem mittels Sniffern wie Wireshark oder tcpdump gewonnenen Hash ausgelesen werden. Hierzu sind auch Plug-ins für Nessus erhältlich. Verborgene Rootkits können mit Chkrootkit entdeckt werden. Auch gewöhnliche Unix-Bordmittel wie lsof (list open files) oder top zur Prozessverwaltung können hier helfen. Unter Windows empfiehlt sich die Verwendung der Sysinternals Suite von Mark Russinovich.
Die meisten der beschriebenen Tools finden sich unter anderem in den folgenden auf GNU/Linux basierenden Live-Systemen: BSI OSS Security Suite (BOSS), BackTrack (früher: Auditor Security Collection), Knoppix STD (Security Tools Distribution), Network Security Toolkit (NST), nUbuntu (oder Network Ubuntu), Helix. BackTrack wurde im März 2006 von Darknet zur besten Security Live-CD gekürt.
Neben den zahlreichen freien FOSS-Tools existiert eine Reihe von weit verbreiteten Closed-Source-Produkten wie der Paketanalyseplattform OmniPeek von WildPackets, dem Web Application Security Scanner N-Stalker, den automatischen Vulnerability Scannern Qualys, SecPoint Penetrator Vulnerability Scanner Retina von eEye Digital Security, den automatischen Vulnerability Scannern Quatrashield, IBM Internet Scanner (vormals: Internet Security Scanner), Shadow Security Scanner und GFI LANguard Network Security Scanner, sowie dem Paketsniffer Cain & Abel und anderen. Kostenpflichtige Tools zur Erstellung von Sicherheitskonzepten auf Basis des IT-Grundschutzes sind das GSTOOL des BSI sowie SecuMax und die HiScout GRC Suite. Im Unterschied zu den meisten freien Tools funktionieren die meisten dieser Produkte jedoch nur unter Windows. Eine freie und betriebssystemübergreifende Alternative zum GSTOOL bietet das auf Java basierende ISMS-Tool Verinice.