Sicherheit ist wichtig! Vermutlich wird diesem Statement jeder zustimmen. Doch – was ist Sicherheit und wie kann diese insb. bei einem derart wichtigem Thema wie Browser bzw. Internet Explorer gewährleistet werden? Zu dem Thema habe ich vor einiger Zeit (29.11.2010) über den Internet Explorer 8 Sicherheitsleitfaden (in Deutsch) berichtet. Microsoft Security & Compliance Manager 2.5 mit Blick auf den IE9 Security Guide Seit damals ist der ein oder andere Tropfen Wasser den Rhein runtergeflossen, daher wird es Zeit das Thema erneut aufzugreifen – vor allem, da heute der Safer Internetday stattfindet und es vor kurzem das Update auf Version 2.5beta des Microsoft Security & Compliance Managers (SCM) gegeben hat, denn genau in diesem findet sich die finale Version des Internet Explorer 9 Security Guides (derzeit nur in English verfügbar, wir prüfen derzeit, ob eine Übersetzung sinnvoll ist). Der Guide richtet sich insb. an IT Pros und gibt neben den Hintergründen zum Zonenmodell und anderen IE Komponenten auch klare Anleitung in How to für das Design und Verwaltung des AD und den entsprechenden OUs etc. Daher ist dies für mich ein MUST-READ für jeden Sicherheits-bewussten Admin und IT Pro. Der SCM bietet neben diesem (und anderen Sicherheits-Dokumenten zu Microsoft Produkten) auch die Möglichkeit über Baselines und unseren Empfehlungen für bestimmte Szenarien auf einfachem, schnellem und komfortablen Weg den Internet Explorer und die anderen Produkte zu “harden”. Kleiner Hinweis noch zur Installation des SCM 2.5b: Ich hatte Probleme mit dem Installer, da er keine Verbindung zu der Webseite aufbauen konnte und deshalb direkt beendet wurde. Workaround hier ist den Installer zu entpacken und dort dann nicht scmsetup.exe aufzurufen, sondern je nach installiertem OS direkt scmsetupx64.msi bzw. scmsetupx86.msi welche dann direkt ohne Probleme die Installation durchführen. Btw. hier zur Erinnerung meine Blogserie zu den IE Settings und weitere interessante Links: Blog Serie: Internet Zonen und Internet Explorer Erweiterte Einstellungen (Advanced Settings) [Updated IE9] Tracking-Protection im Internet Explorer 9 <= grade für Daten- und Profilsicherheit wichtig! ActiveX Filterung <= es gibt eine Zukunft ohne Plugins! -Stephanus
Mitte Dezember haben wir über den ExploringIE Blog (nicht zu verwechseln mit unserem offiziellen IE Blog) bekannt gegeben, dass wir mit Anfang Januar – beginnend mit Australien und Brasilien – gestaffelt mit dem automatischen Update des Internet Explorers beginnen werden. Da diese Tatsache (zu) wenig Aufmerksamkeit erhalten hat, möchte ich dies an dieser Stelle nachholen – also, worum geht’s? Durch unsere Downloadstatistiken der Internet Explorer Updates und der Beobachtung von ausgenutzten – aber eigentlich schon geschlossenen – Sicherheitslücken wurde entschieden, dass es sinnvoll ist, das Updaten des Internet Explorers – insb. für Consumer – zu vereinfachen und vor allem schneller durchzuführen. Diesem und anderen Themen widmet sich der engl. Artikel auf dem o.g. ExploringIE Blog (übersetzt durch den Microsoft Translator). Für Deutschland werden wir langsam und stufenweise ab voraussichtlich Mitte Februar die Rate der Autoupdates für unsere deutschen Kunden steigern. Bevor nun alle IT Pros/Admins aufschreien und gleich alle Netzwerkkabel kappen, die TMG Admins alle Microsoft URLs blocken lässt und eigentlich Internet gleich ganz verbieten möchten, keine Angst, auch daran haben wir gedacht! Es gibt sowohl für den IE8 als auch für den IE9 sog. Blocker Toolkits, mit denen dies verhindert werden kann, damit nach wie vor die IT entscheidet wann und wie die Updates verteilt werden: …für Internet Explorer 8 …für Internet Explorer 9 ABER natürlich sollte jeder IT Verantwortliche schon aus Eigennutz bestrebt sein, immer die aktuellste Version (bzw. Patchstand) des eingesetzten Internet Explorers zu verwenden! -Stephanus
Ich habe zwar genau vor einem Jahr schon einmal über die Tracking Protection [TP] (sorry, aber mir gefällt der Engl. Begriff deutlich besser, daher werde ich diesen auch nachfolgend weiterverwenden) berichtet, jedoch ist mir aufgefallen, dass ich zwar das UI beschrieben habe, aber nicht was die TP eigentlich genau macht, dies möchte ich nun nachholen: Agenda Fast track Definition Do Not Track Do Not Track im Internet Explorer Funktionsweise von Tracking Protection Lists Nutzen Probleme bei der Nutzung Zu guter Letzt Fast track: wo gibt es TPLs? Zum einen gibt es in der IEGallery je nach Land gefeaturete Listen, oder aber auch über bestimmte Webseiten wie z.B. Privacy Online (sogar mit einer extra für Deutschland erstellten Liste). Definition Fangen wir mit einer Definition von Tracking an (mir ist neben Tracking auch schon ein anderer Begriff über den Weg gelaufen, der das Thema auch sehr schön beschreibt: Stalking. Ich bleibe aber bei Tracking, da dies der gebräuchlichere Begriff ist): Tracking ist das Aufzeichnen von Nutzerverhalten durch Dritte, ohne dem User dadurch direkt einen Mehrwert zu liefern und die Daten später zum eigenen Nutzen weiterzuverwenden. Dies ist zumindest meine Definition. Allerdings ist es sehr, sehr schwierig eine klare technische Grenze zwischen z.B. Tracking und Werbung zu ziehen. Wenn also Tracking verhindert werden soll, so soll nach Möglichkeit Werbung - denn dadurch wird ein Großteil des Webs finanziert - nicht verhindert werden. Ein Tracking Schutz soll und darf also kein Werbeschutz sein! Da allerdings bei jedem Aufruf von “standard” Werbung auch Daten über den verwendeten PC/User mitübertragen werden (z.B. IP Adresse, die bei etwas cleverer Implementierung durchaus auf einen User gemappt werden kann), ist es hier nicht einfach zu entscheiden ob man dies zulassen kann/soll oder eben nicht. Do Not Track Zu diesem Zweck hat sich eine Art Community entwickelt, die versucht den sog. “DNT” (Do-Not-Track) http Header einzuführen und zu etablieren, siehe auch http://en.wikipedia.org/wiki/Do_not_track_header. Dieser DNT Header – sofern aktiviert – kann über donottrack.us überprüft werden – teilt dem Webserver und damit auch der Webseite mit, dass der User wünscht nicht getrackt zu werden. Der Webserver/seite/betreiber kann dann darauf Rücksicht nehmen – oder leider auch nicht. Es ist keine gesetzliche Verpflichtung oder ein “muss”! donottrack.us zeigt dem User ob sein Browser dies unterstützt, und ob es aktiv ist Außerdem unterstützen leider immer noch nicht alle großen Webbrowser diese einfache Möglichkeit den User zu schützen (DNT wird derzeit nur von Internet Explorer 9, Firefox, Safari, Konquerer unterstützt, siehe auch hier). DNT im Internet Explorer Die Aktivierung dieses Mechanismus ist im Internet Explorer einfach, es muss lediglich irgendeine Tracking Schutz Liste (Tracking Protection List) aktiviert sein, sprich entweder die eigene, personalisierte, oder jede andere 3rd Party TPL! Das ist sehr einfach zu erreichen, indem über das Zahnrad->Sicherheit->Trackingschutz (oder Extras->Internetoptionen->Programme->Addons verwalten->Trackingschutz) das UI aufgerufen wird: Dort kann dann z.B. die eigene TPL aktiviert werden: Wie äußert sich dies nun auf der Leitung? Hierzu bemühe ich die F12 Tools bzw. den Fiddler: Und dort ist zu sehen, dass der IE nur durch Einsatz einer TPL den DNT Header auf 1 setzt und damit signalisiert, dass nicht getrackt werden soll. Funktionsweise von Tracking Protection Lists Neben DNT unterstützt der Internet Explorer bis jetzt als einziger Browser sog. Tracking Protection Lists. In diesen Listen können sowohl gute als auch schlechte Domänen oder Strings eingetragen werden, die zu Trackinganbietern gehören, z.B. etwa "-d boesetrackingdomaene.com”. Wenn nun der User auf eine Webseite navigiert auf der eine Verknüpfung – z.B. durch ein Trackingbild, oder ein Trackingscript – zu eben jener boesetrackingdomaene.com existiert, z.B. <img src=”http://boesetrackingdomaene.com/trackingbild.jpg” /> so würde ein normaler Browser dieses Bild einfach laden. Wenn nun der User allerdings entweder eine 3rd party TPL installiert hat oder aber in seiner eigenen der eingestellte Schwellwert (kann zwischen 3 und 30 eingestellt werden, auch über eine GPO) der erlaubten Aufrufe dieser Resource überschritten wird, so fordert der Internet Explorer diese Datei gar nicht erst an. Nutzen der TPLs Dies bedeutet automatisch gleich mehrere Dinge: Tracking kann nicht stattfinden, da keine Daten an 3. versendet werden, die Privatsphäre bleibt gewahrt Die aufgerufene Seite lädt schneller, da weniger Daten übertragen werden müssen und damit auch weniger Daten/Scripte verarbeitet werden müssen Die Netzwerklast sinkt, insb. da die Tracking Resourcen typischerweise klein sind und damit einen recht hohen Overhead im Netzwerk verursachen und dadurch wichtigere Daten verlangsamt werden Aus dem identischen Grund wie in 3. wird die allgemeine Last auf einem ggf. vorhandenen Proxy reduziert oder wenn über UMTS keine Datenflat verwendet wird, so werden weniger Daten abgerechnet D.h. wir erreichen dadurch mehr Sicherheit, mehr Datenschutz, weniger Overhead, eine verbesserte Performance und ggf. sogar reduzierte Kosten. Die beiden letztgenannten Punkte sind vermutlich im Wesentlichen für ITPros/Unternehmen von Interesse, sollten aber durchaus in Erwägung gezogen werden, da dadurch (je nach Nutzung und Anzahl der Nutzer) deutlich die Netzwerk & Proxylast verringert werden kann und dadurch letztlich Geld eingespart werden kann. Probleme bei der Nutzung Bei der Verwendung von TPLs kann es vorkommen, dass bestimmte Mechanismen auf einer Webseite nicht (mehr) funktionieren. Dies ist dem geschuldet, dass viele Webseiten sog. Content Distribution Networks (CDN) nutzen. Diese CDN dienen dazu, dass oft genutzte Libraries – z.B. jQuery – nicht von der eigenen Webseite, sondern von einem besonders performanten und typischerweise “nahen” Ort kommen. Dies erhöht die Geschwindigkeit und reduziert letztlich auch die Netzwerklast/kosten der Webseite. Wenn bei der Erstellung der TPLs nicht auf diese CDNs Rücksicht genommen wird, so kann eine TPL im schlechtesten Fall verhindern, dass eine notwendige Javascript Resource nicht geladen wird und damit die Webseite (zum Teil) unbrauchbar wird. Hierfür haben sich die Entwickler des Internet Explorers ebenfalls etwas einfallen lassen: man kann für eine Webseite schnell die TP abschalten, dazu gibt es in der Adresszeile ein neues Symbol. Wenn nun für eine Webseite die TP disabled wurde, so wird dies für diese Seite gespeichert – also bei dem nächsten Besuch bleibt diese Einstellung – aber alle anderen Seiten bleiben davon unberührt: Für die ITPros: Die Settings für die Ausnahmen werden in der Registry unter HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Safety\Tracking Protection Exceptions gespeichert und zwar als dword welches den Namen der Domäne (z.B..”microsoft.com”) und als Wert 1 beinhaltet. Dies kann also entsprechend ferngewartet werden. Zu guter Letzt Zu guter Letzt möchte ich eine Empfehlung an Werbetreibende abgeben: Aufgrund der Tracking Problematik und auch der Funktionsweise von gängigen Adblockern sollte Werbung von den jeweiligen Webservern kommen, sprich wenn ich auf www.gutewebseite.irgendwas gehe, dann sollte der Werbebanner auch durch gutewebseite.irgendwas ausgeliefert werden und nicht von ad.boeseradserver.irgendwas. Dies beobachte ich übrigens schon vereinzelt und freue mich, dass hier ein Trend zu erkennen ist! Zu der Erstellung/Updates von TPLs habe ich mich unter Tracking Protection Lists und ihre Updates bereits geäußert, die Erstellung selber ist in der MSDN hinreichend beschrieben (Bei Fragen gerne direkt oder als Kommentar). Siehe außerdem: Thema der Woche: Datenschutz -Stephanus
Aktuell ist das Thema Sandboxing in vieler Munde, daher möchte ich hier die technischen Hintergründe näher erläutern: Agenda Einführung Was ist und woher kommt der Protected Mode Aber was genau ist der Protected Mode Wie kann ich das IL Verhalten sehen? Integrity Level Empfehlung Und was ist mit Windows XP Sonstiges Links Einführung Es war einmal ein Betriebssystem welches ab und an dazu benutzt wurde um Inhalte aus dem Internet herunterzuladen. Sei es über den mitgelieferten Internet Browser (nennen wir ihn kurz IE) oder durch z.B. Mailprogramme, welche zum Teil auch in der Lage waren HTML Content darzustellen und dazu natürlich auch die Nähe zu o.g. IE suchten. Damals – es war eine wahrlich düstere und gefährliche Zeit – wussten die Bürger leider nur wenig von den Gefahren, die auf den weiten Straßen des globalen Straßennetzes auf sie warteten. So kam es von Zeit zur Zeit dazu, dass unbescholtene Bürger auf Dinge klickten, die gar fürchterliches auf ihren Reisekutschen anrichteten, denn niemand half ihnen, niemand hob das Schild um den Hieb der Räuber und die Pfeile aus dem Hinterhalt abzufangen. Doch als sich die Überfälle auf die Bürger mehrten begriff der Hersteller der Kutschgefährte, dass dies so nicht bleiben darf und dass nicht der Nutzer das Schild heben muss, sondern die Karosserie ihn beschützen sollte. Gedacht – getan – die nächste Version der Kutsche sah anders aus – schicker, aber auch sicherer und schneller. Die Angreifer schlugen sich ihre ach so scharfen Schwerter an der eisernen Hülle der Kutschen stumpf, und so sah der König des Landes, dass es seinen Bürgerinnen und Bürgern besser ging. Jedoch musste er hilflos mitansehen, dass nicht jeder aus seinem Gefolge die neue Kutsche nutzt, obwohl jeder sein altes und überholtes Modell einfach und kostenlos durch das Neue ersetzen kann. Dies machte ihn sehr traurig und so befahl er dem Kutschenbauer seine Anstrengungen noch mehr zu erhöhen, damit das nächste Modell so prächtig ist, dass ein niemand sich davor zurückhalten kann dieses sofort zu nutzen. Und siehe, das neue Modell war so gut, dass seine Bürgerinnen und Bürger den Wert erkannten und das neue Modell mehr und mehr nutzen, denn es ist nicht nur sicherer, sondern auch noch schneller und noch schöner! Und wenn der König nicht gestorben ist, dann lebt er und sein Gefolge heute immer noch sicher und geschützt durch den Internet Explorer 9. Was ist und woher kommt der Protected Mode? Ist Sicherheit nur ein Märchen? Natürlich nicht – aber die negativen Vorurteile zur Sicherheit des Internet Explorers sind eins! In den vergangenen Jahren wurden die Sicherheits-Mechanismen sowohl in Windows (XP->Vista->7) als auch im Internet Explorer (6->7->8->9) deutlich weiterentwickelt. Neben dem Smartscreen-Filter, den Änderungen an DEP/NX, Codeoptimierungen, Trackingschutz, etc ist eine wesentliche Komponente bei der Sicherheit der sog. Protected Mode, oder wenn man so will der IE Sandbox. Aber was genau ist der Protected Mode? Mit Windows Vista haben wir das Sicherheitskonzept von Windows grundlegend geändert. Neben vielen anderen Mechanismen haben wir die sog. Integrity Level (IL) eingeführt. Ohne zu technisch zu werden und vom eigentlichen Thema abzukommen kurz was ist das: Der Protected Mode ist eine Sandbox Technologie – nicht mehr, aber auch nicht weniger. Integrity Level Etwas genauer: Die Grundidee von ILs ist, dass jedes Objekt [ein Objekt kann eine Datei, ein Folder, ein Prozess, eigentlich alles auf einem Windows Betriebssystem sein] eine Sicherheitseinstufung (Integrity Level) erhält. Über diese IL wird definiert, welche Rechte ein Objekt hat und wie dieses mit anderen Objekten der gleichen oder eines anderen IL interagieren kann/darf. Von diesen IL wurden 4 definiert: System/System – vorbehalten für System eigene Objekte, wie Services High/Hoch – dieses Level besitzen Objekte, die Administratoren zugeordnet werden können Medium/Mittel – dies ist das “normale” Benutzer Level Low/Niedrig – das niedrigste Level mit deutlich weniger Möglichkeiten als “Mittel” Integrity Level werden – sofern nicht anders behandelt – vom Parent Objekt an das Child Objekt vererbt. D.h. ein Medium IL Prozess würde i.d.R. auch einen Medium IL Prozess erzeugen. Beim IE7 war es noch so, dass bei einem Wechsel des ILs, extra ein neues Fenster (==Prozess) erzeugt werden musste, z.B. wenn ein Link von einer normalen Webseite (Protected Mode on => IL = Low) auf eine Webseite z.B: in der Trusted Sites Zone (Protected Mode off => IL = Medium) führte. Dieses Verhalten wurde mit IE8 – und damit auch in IE9 ff. – durch die Technologie Loosly Coupled IE (LCIE) deutlich userfreundlicher gestaltet. Seit Internet Explorer 8 werden nämlich beim Start eines IEs – zumindest mit der default Einstellung – genau zwei Prozesse gestartet: Der Verwaltungsprozess (oder auch “Brokerprozess”, der z.B. auch das eigentliche Fenster bereitstellt Der TAB-Prozess, der die Webseite anzeigt Dabei ist es “normal”, dass der TAB Prozess im Protected Mode – also mit IL=low – gestartet wird und der Verwaltungsprozess mit IL=medium. Dies ist notwendig, damit z.B. Dateidownloads auch an das Betriebssystem übergeben werden können, denn wenn nur IL=low IE Prozesse existieren würden, so könnten auch Downloads nicht die Sandbox des IE verlassen! Bei einem Wechsel von ILs im IE wird daher dann nicht mehr ein neues Fenster (==Broker) geöffnet, sondern unter der Haube ein neuer Prozess verwendet, der dann das entsprechende IL erhält – dies wird vom Broker Prozess gesteuert. Übrigens: das Erstellen von Prozessen ist ein relativ “teurer” Vorgang in einem Betriebssystem. Daher versucht der IE seine eigenen Prozesse wiederzuverwenden. Und grade nach einem Wechsel zwischen ILs kann es also dazu kommen, dass es mehr Prozesse gibt, als man eigentlich erwarten würde. Diese “sterben” allerdings – sofern sie nicht anderweitig genutzt werden können – nach einer gewissen Zeit (~30s). Ich freue mich übrigens, dass auch andere Browserhersteller sich endlich an unserem Konzept orientiert haben und vergleichbare Sandbox Modelle implementieren – zwar immer noch zu wenige, aber ich sehe optimistisch in die Zukunft, dass neben dieser vielleicht auch die anderen Sicherheitsmechanismen langsam Einzug halten! Wie kann ich das IL Verhalten sehen? Die einfachste Methode hierzu ist den Process Explorer von Sysinternals zu verwenden. Hier muss lediglich die Spalte “Integrity” hinzugefügt werden: Im Screenshot zu sehen sind mehrere Internet Explorer Fenster (4), die dreimal je einen und einmal insg. 4 Tabs enthalten. Empfehlung Für Consumer / normale, nicht-firmen Nutzer: Einfach die Default Einstellungen verwenden. Da für nicht Domänen Maschinen die Zonen nicht (bzw. nur in geringem Maße) verwendet werden, ist hier keine Aktion notwendig! Für IT Pros: Per Default ist der PM – also die Sandbox – für die Trusted Sites und Local Intranet Zone deaktiviert: Dies dient dazu, dass insb. ältere Anwendungen, die u.U. auf veraltete ActiveX Controls zurückgreifen, weiter genutzt werden können. Dies stellt einen “trade-off” zwischen Kompatibilität und Sicherheit dar. Sofern also keine alten Anwendungen verwendet werden, oder ein Test ergeben hat, dass die alten Anwendungen keine Probleme mit dem Protected Mode haben, so sollte der Protected Mode auch für die Trusted Sites und Local Intranet Zone vorgegeben werden. Aber auch wenn dies nicht möglich ist, so sollte zumindest für die Internet und die Restricted Sites Zone der PM über GPOs festgeschrieben werden! Und was ist mit Windows XP? Da unter Windows XP – und damit auch Windows Server 2003 – das Modell der Integrity Level nicht existiert, kann eine Sandbox über IL nicht erreicht werden! Daher sollten Rechner, die heute noch mit Windows XP betrieben werden, alleine schon wegen der Sicherheit im Internet auf ein aktuelles Betriebssystem wie Windows 7 upgegradet werden. Außerdem rennt die Zeit langsam davon, es sind beinahe nur noch 2 Jahre mit Extended Support für Windows XP übrig und wenn man von einem typischen Migrationsprojekt ausgeht, so wird das langsam knapp hier noch vor diesem Ende das Projekt zum Ende geführt zu haben. Also neben der Sicherheit sollte auch aus Support Gründen (==keine Security Patches mehr) wenn nicht eh schon geschehen, dann genau jetzt ein Windows XP=>Windows 7 Migrations Projekt gestartet werden! (Jede Applikations Kompatibilitätsanstrengung für Windows 7 wird auch Früchte für zukünftige Betriebssysteme tragen und ist somit weder heute noch in der Zukunft verschwendetes Geld!) Sonstiges Übrigens: Integrity Level funktionieren nur dann, wenn die User Account Control (UAC) aktiviert ist! => Unter gar keinen Umständen sollte die UAC deaktiviert werden! Dies gilt genauso wenn der User “Administrator” verwendet wird. Auch dann existiert die Sicherung über ILs nicht! Neben den Sicherheitsmechanismen, die auf Bit-Ebene implementiert wurden, eben wie PM, DEP, etc, ist es aber wenigstens genauso wichtig Mechanismen und damit eine Antwort auf Angriffe zu haben, die nicht das System sondern den User angreifen, sprich Social Engineering Malware. Und immer wichtiger wird außerdem ein Schutz der Privatsphäre, denn (nicht nur) die Werbetreibenden haben ein zunehmendes Interesse daran, Nutzerverhalten zu speichern und für die eigenen Zwecke zu missbrauchen. Daher sollte sich jeder auch einmal die Möglichkeiten des Internet Explorers anschauen, genau dieses Tracking der eigenen Persönlichkeit zu unterbinden! Links Windows Vista Integrity Mechanism Technical Reference – MSDN Understanding and Working in Protected Mode Internet Explorer Loosly Coupled IE Default Integrity Level and Automation – Eric Lawrence Blog PsExec, User Account Control and Security Boundaries – Mark Russinovich -Stephanus