Der SmartScreen-Filter ist das Windows-Gegenstück zum Gatekeeper von macOS. Anwendungen, die neu auf das Betriebssystem gekommen sind, werden gegen eine Datenbank in der Cloud geprüft. Nur Anwendungen, die auf einer Whitelist stehen, können ausgeführt werden.

Schadware kann auf vier Wegen auf den Rechner gelangen: Durch Exploits, durch Mailanhänge, durch Instant Messenger und durch Downloads. Beliebt bei Spam-Mails sind zum Beispiel zip-Anhänge, die die allseits bekannte Rechnung.pdf.exe oder ähnliche Programme enthalten. Windows blendet die Dateinamenserweiterung -exe standardmäßig aus, was in diesem Fall ein Risiko darstellt. Und auch sonst wird im Internet gerne alles angeklickt und heruntergeladen, was nicht bei drei auf der Festplatte ist. Da es die meisten Menschen nicht für nötig erachten, Software von der Originalquelle zu saugen, stellt dies ein Sicherheitsrisiko dar. Bei seltenen Programmen wird in der Regel der erstbeste Googletreffer angeklickt, und von dort heruntergeladen.

Um das Sicherheitsrisiko zu minimieren, wurde unter Windows XP SP2 für den Internet Explorer 6 der Zone.Identifier eingeführt. Dieses Konzept wurde wenig später von allen Browsern und Mail-Clients übernommen, welche unter Windows laufen. Wird eine Datei aus dem Netz heruntergeladen, wird im Alternativen Datenstrom der Eintrag

[ZoneTransfer]
ZoneId=3

eingefügt. Wird diese Datei nun doppelt angeklickt, kam bis Windows 7 eine Sicherheitswarnung, sofern es sich um eine ausführbare Datei handelt. Damit konnte zumindest ausführbaren Email-Anhängen ein Riegel vorgeschoben werden.

Ab dem Internet Explorer 8 wurde SmartScreen als URL-Reputationsdienst eingeführt. Bevor eine Webseite angesurft wird, wird der Link gegen eine Datenbank schädlicher URLs geprüft. Ist ein Treffer dabei, wird statt der Webseite eine rote Warnmeldung eingeblendet. Ab dem Internet Explorer 9 wurde ein Reputationsdienst für Dateidownloads eingeführt, der verwirrenderweise ebenfalls SmartScreen heißt, mit dem URL-Reputationsdienst aber nichts gemein hat.

smartscreenURL
SmartScreen URL Reputation

Wird mit IE9 oder höher, oder dem Edge-Browser von Windows 10 eine Datei heruntergeladen, erfolgt nach dem Download eine Reputationsprüfung durch SmartScreen App Reputation. Dabei werden unter anderem der Hashwert, der Dateiname sowie die digitale Signatur (sofern vorhanden), der Name der Firma welche die Anwendung signiert hat und weiteres an den SmartScreen-Server nach apprep.smartscreen.microsoft.com gesendet.

Im Server findet nun die Reputationsprüfung statt. Ist die Datei digital signiert, wird die Reputation durch die Signatur bestimmt. Ist die Datei nicht signiert, wird die Reputation am Hashwert festgemacht.

SmartScreen ist Software-Whitelisting reinsten Wassers: Neue und somit unbekannt Dateien werden blockiert, bekannte und vertrauenswürdige dürfen passieren. Beim Download mit IE oder Edge können nur bekannte, vertrauenswürdige Dateien sofort ausgeführt werden. Ist die Datei nicht auf der Software-Whitelist, kommt eine Abfrage.

smartscreen_vote

Jedes drücken auf Ausführen bringt die Datei der Whitelist ein Stückchen näher, jedes drücken auf Löschen rückt sie näher an die Blacklist. Ist die Software schließlich in der Blacklist nicht vertrauenswürdiger Programme gelandet, erscheint die vernichtende Meldung

smartscreen_block

Zum einen wird eine Software als sicher eingestuft, wenn sie oft heruntergeladen wird. Eine weitere bekannte Methode sind Telemetriedaten von Windowsrechnern um zu prüfen, ob die Software bereits vorher in Erscheinung trat. Ferner werden Antivirenergebnisse, die Reputation der URLs welche diese Software vertreiben, sowie deren Traffic zur Auswertung genommen. Das Gesamtsystem der Reputationsmessung ist punktebasiert. Ist ein Programm mit einem Extended-Validation-Zertifikat signiert, hat es bereits einen so hohen Pluspunktestand, dass es von Tag eins an SmartScreen passiert. Ist die Software mit einem normalen digitalen Zertifikat signiert, erfolgt nur in den ersten Tagen eine Blockierung. Nach ein paar Downloads und Programmstarts landet das Programm auf der Whitelist. Ist eine Software nicht signiert, so muss der Hashwert durch unzählige Downloads und Programmstarts mühsam auf die Whitelist geklickt werden. Jede noch so kleine Änderung an der Software ändert den Hashwert, und damit beginnt das Spiel von vorne. Praktisch jede moderne, seriöse Software ist deshalb mit einem Authenticode Certificate signiert, welches durch eine Zertifizierungsstelle ausgegeben wurde, die Mitglied im Windows Root Certificate Program ist.

Mit Windows 8 wurde SmartScreen App Reputation in explorer.exe integriert. Jede mittels shellexecute() ausführbare Datei, also -com, -exe, -scr, -msi und -bat, welche den Zone.Identifier besitzt, wird vor dem Start von SmartScreen geprüft. Die Feinheiten der Blockade waren bei dem integrierten SmartScreen-Filter nicht sichtbar: Jedes Programm das nicht auf der Whitelist steht wurde mit einem blauen Popup geblockt.

Screenshot (5)
Smartscreen App Reputation

Ab Windows 10 Version 1607 gibt es einige Veränderungen: Smartscreen.exe ist ein eigenes Programm im System32-Verzeichnis, und arbeitet unabhängig von explorer.exe. Es wird von einem Servicehost bei Bedarf gestartet. Das grafische Popup „Der Computer wurde durch Windows geschützt“ wird nun durch eine WinRT-Anwendung namens CHXsmartscreen.exe dargestellt. Ferner wird nun zwischen Anwendungen die nicht auf der Whitelist stehen (blau) und Anwendungen auf der Blacklist (rot) unterschieden.

Ab Windows 1709 wurde das grafische Erscheinungsbild wieder geändert. Die Popups sind quadratischer und berücksichtigen die Systemfarbe. Wurde bei vorherigen SmartScreen-Versionen bei fehlender Internetverbindung eine Warnung eingeblendet, wird nun die Datei sofort ausgeführt.

red_smartscreen
Programm auf der Blacklist, ab Windows 10 Version 1607

Ab Windows 10 Version 1703 kann SmartScreen im Windows Defender Security Center unter „App- & Browsersteuerung“ konfiguriert werden. SmartScreen App Reputation wird dort unter „Apps und Dateien überprüfen“ abgehandelt, wo er als Windows Defender SmartScreen bezeichnet wird. SmartScreen für Edge und Store Apps bezieht sich auf SmartScreen URL Reputation. Alle SmartScreen-Funktionen können auf der Microsoft Webseite http://demo.smartscreen.msft.net/ getestet werden. Die -exe der App Rep Demos können auch heruntergeladen werden, um das grafische Popup auf dem Desktop zu erzeugen.

Seit Windows 8 bzw. IE11 sammelt Microsoft bei Nutzern welche einwilligten, TLS- und App-Zertifikate. Diese seit Oktober/November 2013 laufende Maßnahme soll auch helfen, gefälschte X.509-Zertifikate zu erkennen. Dazu wurde die CAPI2 modifiziert, um die Daten an Microsofts Trustworthy Computing Group zu senden, welche für SmartScreen zuständig ist. Die Trustworthy Computing Group speist die SmartScreen-Daten in die COSMOS-Datenbank ein. Anfang 2014 wurden 100.000 bis 150.000 neue Zertifikate pro Tag an die Datenbank gesendet, deren Speicherkapazität mehrere Petabytes beträgt.

Durch die Integration von SmartScreen in den Desktop konnte die Sicherheit von Windowsrechnern deutlich erhöht werden. Nur Downloads und Email-Anhänge, die auf einer Software-Whitelist stehen, können problemlos ausgeführt werden. Auch das Einbinden von Schadcode in bekannte Programme wird so nutzlos: Der Schadcode verändert den Hashwert, sodass unsignierte Programme wieder blockiert werden. Bei signierten Programmen wird durch das Einbinden die digitale Signatur zerstört, sodass auch diese Programme als unbekannte App blockiert werden.

Durch den SmartScreen-Filter sind Makroviren, und Trojaner in JavaScript oder Visual Basic Script wieder beliebter geworden. Diese können aber einfach abgewehrt werden, da Endanwender weder Makros noch den Windows Script Host benötigen: Beides kann einfach deaktiviert werden.

Da die Hersteller von Adware inzwischen ihre Werke digital signieren, schützt der SmartScreen-Filter nicht vor Crapware. Durch die digitale Signatur kann zwar jede Software einem bestimmten Entwickler zugeordnet werden, allerdings ist es nicht verboten, digitalen Müll zu produzieren.

Programme, die nicht mit dem Zone.Identifier versehen sind, werden von SmartScreen nicht geprüft. Dazu zählen alle Programme, die nativ zu Windows gehören, sowie bereits installierte Anwendungen. In der Praxis betrifft die Prüfung also nur Portable Executables (-exe, -scr, -com) und Installer-Pakete (-msi), die aus dem Netz stammen.


[1,2,3,4,5,6] Alle Bilder selbst erstellt.