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.

IMG_3085

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.

IMG_3082

Die folgende Grafik zeigt eine Statistik der häufigsten bekannten Angriffe in verschiedenen Software-Applikationen. Interessant.

IMG_3087

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.
    IMG_3091

  • 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.
    IMG_3093

  • Falls es unbedingt ein ActiveX sein muss: C++ oder VB6 (ernst gemeint).
    IMG_3094
    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.