Application-Security

Bis in die Anwendungsebene sicher

26. September 2007, 11:25 Uhr |

Das Thema IT-Sicherheit war selten so aktuell wie heute, täglich fügen Hacker durch neue und einfacher werdende Angriffe den Unternehmen schwere Schäden zu. Besonders gefährdet ist dabei die meist noch unzureichend geschützte Anwendungsebene, die durch Application-Security abgesichert werden sollte.

Das Hauptaugenmerk bei Application-Security liegt auf dem Schutz der Prozesse und nicht auf dem Schutz von Geräten.

Angriffe über Web-Applikationen besitzen eine völlig andere Qualität als bisher bekannte Hackerattacken. Die Einfachheit des Zugriffs und die oft unbemerkten Angriffe machen die Application-Security so brisant. Das Risiko auf der Applikationsebene reicht vom Missbrauch der Benutzerdaten über Datendiebstahl und Wirtschaftsspionage bis hin zum Vandalismus. Missbräuchlich können beim unerlaubten Zugriff auf die Applikationsebene Accounts oder Sessions existierender Benutzer übernommen werden und beispielsweise auf fremde Rechnung Bestellungen getätigt werden. Oder es werden zum Zwecke der Spionage ganze Dateien mit oft unternehmenskritischen Informationen von außen aus dem System abgezogen.

Leider ist oft ein direkter Datenbank-Durchgriff möglich. Heikel daran ist, dass solche Angriffe meist unbemerkt durchgeführt werden können, da die entsprechenden Zugriffe auf Applikationsebene erfolgen und nicht unbedingt mitgeloggt werden. Vandalismus hingegen ist sicher seltener, doch die Auswirkungen sind bitter. Der Betrieb des Systems kann gestört oder gar verhindert werden. Zwar laufen die meisten Applikationen heute bereits im Umfeld einer sicheren Infrastruktur, aber die Applikationsebene selbst steht meist völlig offen. Der Angreifer muss dann gar nicht erst versuchen, etwa ein Firewall-System zu umgehen oder einen Web-Server anzugreifen. Er gibt sich vielmehr als normaler Benutzer aus, verwendet alle Systeme wie vorgesehen und wird von seinem Browser aus bis zur Applikationsserver-Datenbank direkt verbunden. Dort kann er mögliche Schwächen der Anwendungen für sich auszunutzen.

Branchenübergreifende Bedrohung

Application-Security ist für kleine Unternehmen, klassischen Mittelstand und große Unternehmen, die mit eigenen oder fremden Applikationen arbeiten und beispielsweise Windows-, Linux- oder Unix-Umgebungen nutzen, unabdingbar und branchenübergreifend wichtig. Besonders aber sind Unternehmen gefährdet, die im Bereich E-Commerce tätig sind und ihre Software auf Basis von Web-Technologien im Intra- oder auch im Internet einsetzen. Natürlich sind auch die Bereiche von Kreditkarten-Charity und E-Banking besonders gefährdet, denn hier laufen extrem viele Transaktionen, die geschützt werden müssen. Besonders anfällig für Fehler sind auch Systeme, die unter C/C++ entstanden sind.

Bei »Java/.NET« hingegen werden Anwendungen beim Ausführen auf viel mehr potentielle Fehler überprüft, so dass zum Beispiel der bekannte Buffer-Overflow durch das Überschreiben von Arrays kein Thema mehr ist. Die möglichen Risikopotentiale bei Windows-Umgebungen und anderen Plattformen, wie Linux oder Unix, sind entweder ein Angriff von außen: Einem Angreifer gelingt es, durch ein Eingabefeld in irgendeiner Maske einer Webanwendung, ein SQL-Statement zu injizieren, welches Daten aus der Datenbank löscht, und somit die Arbeit mit der Anwendung verhindert. Oder aber es stellt sich heraus, dass Sitzungen fremder Benutzer übernommen oder missbraucht werden können oder sensible Daten, wie Kreditkartennummern, leicht ausgelesen werden können.

Application-Security ist eine unternehmenskritische Prävention. Denn bereits geschehene Fehler sind sträflich und Gegenmaßnahmen kosten viel Geld. Hier gibt es nie eine zweite Chance, geschützt zu sein. Um wirtschaftlichen Schäden vorzubeugen gilt es Risiken zu minimieren, durch innovative Konzepte mittelfristig viel Geld zu sparen und Business-Continuity zu gewährleisten. Durch ein intelligentes Innovations-Management können die CIOs im Zuge der Applikationssicherheit zudem eine deutliche Verbesserung ihrer Geschäftsprozesse ermöglichen. Es gilt aber nicht nur diese Prozesse zu optimieren, sie müssen vielmehr verstanden werden und die Sicherheit der jeweiligen Geschäftsprozesse, die eine große Relevanz für das Unternehmensgeschehen haben, muss adäquat gelöst werden.

Lösungen zum Schutz der Applikationsebene sind heute verfügbar und viele Unternehmen sind bereits für das Thema Application-Security sensibilisiert – wenn leider oft auch erst durch Schadensfälle – und ordnen wieder ihre Budgets, um langfristig allen Angriffen von außen zu widerstehen. Wichtigster Aspekt zum Applikationsschutz von bereits laufenden Systemen ist eine »Prozess-orientierte Risikoanalyse« durch einen Security-Experten mit Branchen Know-how. Security auf Applikationsebene hat immer mit Geschäftsprozessen zu tun, die erst mal verstanden werden müssen. Daher ist Branchen-Know-how für diese Leistung unerlässlich. Bewährt hat sich beispielsweise die »Prozessorientierte IT Risiko Analyse«, kurz »pITra«, eine geschützte Methodik zur Erkennung von IT-Risiken, die nicht nur alle relevanten Fragestellungen einbezieht, sondern auch die rechtlichen Vorschriften, zu deren Einhaltung Unternehmen verpflichtet sind. So erkennt beispielsweise der Anbieter SHE die gefährdeten Geschäftsprozesse durch die Analyse von Bedeutung und Risikopotential, um dann die Applikationen nachhaltig schützen zu können. Das Hauptaugenmerk bei Application-Security liegt auf dem Schutz der Prozesse und nicht auf dem Schutz von Geräten.

Viele wesentliche Maßnahmen greifen zum Schutz von Applikationen ineinander. Die beste Voraussetzung für eine sichere Applikationsebene wäre eine bereits sichere Softwareentwicklung, die dann natürlich in einem sicheren Umfeld betrieben wird. In diesem Idealfall der sicheren Softwareentwicklung müsste Application-Security im gesamten Lebenszyklus einer Software berücksichtigt werden. Von der Anforderungsanalyse über das Design, die Implementierung der Anwendung, von der Testphase hin zum sicheren Betrieb. Oft ist diese Sicherheit bei der Entwicklung der Anwendung natürlich nicht berücksichtigt worden, da die Möglichkeiten für potentielle Angriffe eher beim Zugang der Netzwerke vermutet wurden. Hier muss dann deutlich nachgebessert werden. Im Zuge der Risikoanalyse sollte also eine professionelle Technologieberatung stehen. Das bedeutet natürlich nicht, dass man auf jeden Technologie-Hype aufspringen und gleich teuer investieren muss. Aber adäquate Lösungen, die die bereits existierende unternehmensinterne Technologie berücksichtigen und integrieren, sind unerlässlich. Sinnvolle Technologieerweiterungen im Bereich Application-Security sind zum Beispiel Application-Gateways. Hierbei handelt es sich um dedizierte Lösungen für den Schutz von Anwendungen auf Applikationsebene.

Ein weiterer Aspekt ist die Input-Validation. Das bedeutet, sämtliche Benutzer-Eingaben, die eine Applikation entgegen nimmt, müssen sorgfältig auf Plausibilität geprüft werden. Ein Server darf sich nicht auf Validierungen seiner Clients verlassen, da die Daten auf dem Weg zum Server manipuliert worden sein könnten. Dies ist die wichtigste Maßnahme, um Problemen wie SQL-Injection oder Cross-Site-Scripting zu begegnen. Auch sogenannte Buffer-Overflows gibt es auf der Applikationsebene, das heißt, Eingabefelder werden mit mehr Daten gefüllt, als sie vertragen. Hier ist eine sorgfältige Input-Validation erforderlich. Von Output-Sanitation spricht man hingegen bei der sorgfältigen Reinigung der Antworten vom Server an die Clients. Das ist notwendig und wesentlich, insbesondere wenn es sich etwa um Fehlermeldungen oder Logging-Informationen handelt, aus welchen der Angreifer nützliche Informationen für seinen Angriff lesen könnte. Ein häufiges Risiko liegt hier in der Tatsache begründet, dass Entwickler oft gar nicht wissen, was ein System im Fehlerfall alles ausgibt.

Eine weitere Methode ist die Authentication, bei der sich die Benutzer über ein passendes Verfahren gegenüber dem System auf sicherem Weg authentifizieren und eine klar definierte Rolle zugewiesen bekommen, deren Rechte das System überwacht. Encryption wiederum bedeutet, dass alle sensiblen Daten, auch die, die auf den ersten Blick harmlos erscheinen, sowohl beim Transport vom Client zum Server und zurück – beziehungsweise zwischen den beteiligten Systemen – als auch bei der Speicherung durch jeweils geeignete Verschlüsselungsmaßnehmen geschützt werden müssen. Was aber geschieht im Notfall? Das Error-Handling besagt, dass im – eventuell vom Angreifer provozierten – Fehlerfall eine Anwendung nicht aus dem Tritt geraten darf. Sie darf nach einem Fehlerfall weder »offen stehen« und dem Benutzer mehr Rechte einräumen als eigentlich erlaubt, noch darf sie »dicht machen«, denn das birgt dann die Gefahr von Denial-of-Service-Angriffen. Solche Probleme werden bei der Anwendungsentwicklung oft übersehen und unbewusst in ein System eingebaut.

Gewisse Klassen von Application-Security-Angriffen, wie etwa SQL-Injections oder XSS, kann man generisch in den Griff bekommen, weil die Angriffe gleichartig ablaufen – auch wenn der genaue Ablauf nicht bekannt sein muss. Bei gutem Design kann man den entsprechenden Code an einer zentralen Stelle einbauen, zum Beispiel eine Input-Validation. Doch auch das hängt immer noch vom Aufbau der jeweiligen Applikation ab, je nach dem, wie die Daten die Anwendung durchlaufen. Viele Lösungen können daher nur mit gutem Branchen- und Prozess-Know-how adäquat eingesetzt werden. Einige Überprüfungsparameter sind auch abhängig von der eingesetzten Technologie. Denn manche Frameworks und Programmierumgebungen besitzen bereits ein gewisses Maß an Sicherheits-Funktionalität, um beispielsweise Eingabevalidierungen bereits im Framework durchzuführen, bevor die Eingabe zur Applikation gelangt.

Vorbereitung für Application-Security

Nicht weg zu denken sind der menschliche und der Management-Aspekt. Grundvoraussetzung für ein sicheres Betreiben von Informationstechnologie ist ein Rechte-Konzept. Die Regeln dafür müssen von »oben« kommen. Funktionierende Geschäftsprozesse brauchen das Einhalten von Spielregeln.

Weiterhin sollten Unternehmen auf jeden Fall ihre Strukturen und Prozesse kennen, innerhalb derer die zu betrachtenden Applikationen laufen. Zudem sollte die Relevanz der eingesetzten Anwendungen für den Geschäftsbetrieb bekannt sein. Wichtig ist auch eine Dokumentation der Zugriffsrechte und der Zugriffsmöglichkeiten. Im Idealfall unterhält ein Unternehmen sowohl eine Produktiv-Umgebung ihres IT-Systems als auch eine Test-Umgebung.

Bei Applikations-Tests kann das Unternehmen entscheiden, ob ein reiner »Blackbox-Test« ohne jegliche Kenntnis über die Software stattfinden soll, oder ob ein punktuell tiefgehender »Whitebox-Test« mit Kenntnis der Applikationsstruktur stattfinden soll.

Ergebnis eines Application-Scans ist ein Dokument mit den überprüften Parametern sowie mit den gefundenen Sicherheitslücken. Es werden außerdem Empfehlungen bezüglich Abhilfemaßnahmen ausgesprochen, deren Umsetzung dann näher betrachtet werden muss. Es gibt dabei verschiedene Möglichkeiten, zum einen kann man einen – hoffentlich existierenden – Patch einspielen oder eine bestimmte Komponente austauschen. Oder man kann eventuell bereits existierende, aber nicht genutzte Sicherheitsmassnahmen aktivieren, also beispielsweise https statt http verwenden. Es ist auch möglich logische Fehler in einem Software-Code technisch zu beheben und zusätzliche Schutzmaßnahmen zu treffen – beispielsweise durch ein Application-Level-Gateway.

Kriterien für die Auswahl eines Dienstleisters

Auch im Bereich Application-Security gilt: Security muss für Unternehmen einen echten Mehrwert haben. Was die Sicherheit für Applikationen angeht, wird die Lösung immer individuell für die jeweiligen Unternehmen angepasst sein müssen. Gute Dienstleister werden ihre Lösung daher immer anwender- und damit bedarfsorientiert gestalten. Eine gute, prozessorientierte Risikoanalyse, eine weiterführende Strategie, eine professionelle Technologieberatung, die innovativ aber nicht nur der letzte Hype sein muss, eine gute Soforthilfe und begleitendes Monitoring sollte ein guter Dienstleister daher bieten können.

Gerade im Bereich der Application-Security ist die Erfahrung und das vertikale Branchen-Know-how ein entscheidendes Kriterium bei der Auswahl eines guten Dienstleisters. Sowohl im Umfeld der Applikations-Tests als auch bei einem Code-Review oder Schulungen

von Projektmitarbeitern muss der Dienstleister über mehrere Jahre hinweg Markt und Umfeld der Applikationssicherheit betrachtet haben, um effektiv auf Sicherheitslücken hinweisen zu können. Im Gegensatz zum Bereich der Netzwerksicherheit gibt es in der Anwendungssicherheit nur wenige Unternehmen, die sich bereits seit mehreren Jahren mit der Thematik auseinandersetzen und bereits Projekte bei Industrie und Banken sowie bei Softwareherstellern durchgeführt haben. Wichtig für einen Dienstleister ist auch die Kenntnis der Welten IT-Security und Softwareentwicklung. Gerade hier liegt die Stärke eines Experten für Application-Security. Um ein umfassendes Sicherheitskonzept gewährleisten zu können, sollten IT-Security-Dienstleister möglichst beide Bereiche integriert anbieten können: sowohl die Netzwerksicherheit als auch die Applikationssicherheit.

Ein weiteres Unterscheidungskriterium bei Security-Anbietern kann auch die Unternehmensgröße und die damit oft verbundene Herkunft der Dienstleister sein. Größere Dienstleister sind meist aus anderen Produktfeldern heraus entstanden und haben daraus, oft durch professionellen Zukauf oder durch Einsatz von Experten als Partnerunternehmen, ihre Security-Schiene entwickelt. Sie haben sicher den Vorteil großer Bekanntheit und können darüber das Bewusstsein für Security in den Unternehmen wertvoll fördern. Sie haben den Zugriff auf ein großes Kundenpotential, manchmal aber auch längere Entscheidungs- und Handlungswege. Kleinere und mittelständische Dienstleister kommen dagegen meist eher selbst aus der Entwicklung und Programmierung und haben ihre Sicherheitskonzepte originär und sukzessive weiterentwickelt. Ihr Handlungsschritt zur Fehlersuche ist daher oft leichter und zeiteffizienter durchführbar. Sie können in gleicher Sichtweise beispielsweise für ihre mittelständischen Kunden pragmatisch handeln und schnell und flexibel auf Kundenbedürfnisse eingehen.

Kleinere IT-Security-Dienstleister können vor allem für kleinere und mittelständische Unternehmen interessant sein, deren Budget für Security-Maßnahmen eher geringer ist als bei den »Bigships« und deren IT-Abteilungen, die eine überschaubare Manpower aufweisen. Unternehmen, die sich ganz auf ihre Kernkompetenzen konzentrieren wollen und ihren Fokus eher auf das operative Geschäft lenken, können selbst zeitlich oft weniger über Security-Innovationen nachdenken. Diese Unternehmen brauchen daher einen flexiblen und gleichzeitig verantwortlichen Partner und Experten als Dienstleister, der auch in der Lage ist, ein effektives Preis-Leistungsverhältnis anbieten zu können.

Daniel Wagner, Security Consultant, SHE


Jetzt kostenfreie Newsletter bestellen!

Matchmaker+