Auf TechEd Europe 2012 hielt Aaron Margosis von Microsoft eine Session mit diesem reißerischen Titel. Dabei geht es vor allem darum, alte Web-Applikationen (Legacy Apps) sicher zu machen und sicher zu betreiben. Die Session-Beschreibung ist auf der TechEd Website hier zu finden.
Die Session mit den Tags Security & Identityadressiert IT-Verantwortliche LOB-Apps sicher zu machen. Hier wurden nicht die üblichen Top-Web-Sicherheitslöcher wie Cross Site Scripting und SQL Injection & Co betrachtet, sondern Sicherheits-Themen, die weniger bekannt sind.
Aaron empfiehlt gleich zu Beginn einige Literatur für Developer:
24 Deadly Sins, Writing Secure Code, etc.
Die folgende Grafik zeigt eine Statistik der häufigsten bekannten Angriffe in verschiedenen Software-Applikationen. Interessant.
Hier einige wichtige Themen zur Prüfung von Legacy-Websites, Apps und Browser-Settings im eigenen Unternehmen:
- Java Runtime-Problem: Frameworks, die side-by-side (also in verschiedenen Versionen) auf einer Windows Maschine laufen können, laufen in Gefahr nie mehr gepatcht zu werden. Man stelle sich ein Windows System vor, das seit 2 Jahren nicht mehr gepatcht wurde... heutzutage undenkbar.
- 142 separate Vulberabilities in JRE. Unbedingt Patches einspielen (sollte recht problemlos sein - aber danach Apps testen; wie gewohnt). Ich habe selten einen Speaker von Microsoft so viel über Java sprechen gehört.
- regedit /s ie-settings.reg - alte Unternehmens-IE Settings weiter zu übernehmen ist ein Risiko (vor allem ist das REG File nicht selbsterklärend).
- IE Zone Analyzerist ein tolles Tool zur Anzeige und Vergleichen von Internet Explorer Einstellungen.
- Protected Mode (gibt es seit IE7) ist in Intranet und Trusted Sites aus, an in Internet Umgebungen - PM nicht umgehen oder ausschalten!
- VMMap - Sysinternals- Tool zur Prüfung von Buffer Overruns in Software.
- ActiveX (baut auf COM und OLE auf). IE verwendet ein "plug-in" Model zur Ausführung solcher Komponenten. Bei IE7 musste der User entscheiden, ob die ActiveX Komponente ausgeführt werden soll oder nicht - auch keine gute Lösung.
- Nicht für Scripting sicher: Microsoft Word, Windows Scripting Host, ... nicht verwenden!
- Wie können Sicherheitslöscher gefixt werden?
Beispielsweise SiteLocks, durch Logik in custom functions kapseln, Office-Dokumente am Server ohne Automation erzeugen, ActiveX vermeiden. etc.
- Falls es unbedingt ein ActiveX sein muss: C++ oder VB6 (ernst gemeint).
Aaron zeigte sogar eine Demo mit VB6 (ui, ist das alt: aus 1998) und PowerShell Script. - Natürlich gilt: Wenn möglich moderne Technologien verwenden, klar.
- Weitere Ressourcen für Developer:
www.microsoft.com/twc
www.microsoft.com/security
www.microsoft.com/privacy
www.microsoft.com/reliability
In diesem Sinne: Die unsicheren Apps (Zeiten) sind vorbei. Die Session zeigte einige Punkte, die es in alten Web-Applikationen zu beachten gilt: Developer müssen (alte) Funktionen sicher machen bzw. umbauen. Nichts Neues. Aber auch wichtig.