|
Log forensics
Log analyse er et af de meget vigtige områder indenfor computer forensics. Udover at være en kilde til information om drift- og applikationsproblemer er det ofte information fra logfiler der først afslører sikkerhedshændelser.
Derudover kan logfiler i de tilfælde hvor logning er aktiv - og ikke er blevet slettet af en angriber - i mange tilfælde være den eneste væsentlige form for bevismateriale fra en sikkerhedshændelse.
I nogle tilfælde er logfiler således det eneste spor at gå ud fra og det er ofte et sted hvor information, der kan bruges i andre typer forensics undersøgelser, kan findes. Underlige hændelser og afvigende mønstre kan pege en undersøgelse i den rigtige retning, ligesom logfiler f.eks. kan indsnævre tidspunktet for hvornår en hændelse kan have fundet sted eller give information om f.eks. potentielt interessante filer, personer og IP-adresser der kan benyttes i efterfølgende undersøgelser.
Log undersøgelser
En typisk log gennemgang vil starte med at forsøge at opnå en overordnet teori om hvad der er sket.
Derefter testes teorien ved at gennemgå data, gerne fra en række forskellige kilder. Endelig forbindes data fra logfilerne med information fra andre typer forensics undersøgelser, f.eks. host og netværksforensics.
Et almindeligt spørgsmål man kan stille sig selv for at bekræfte eller modsige den overordnede teori kan f.eks. være
"Hvem har været logget ind på systemet indenfor en vis periode - og hvorfra". Logfiler kan således hurtigt indsnævre hvad der skal undersøges videre (f.eks. som nævnt ovenfor udvalgte filer, IP-adresser eller personer).
Andre grundlæggende spørgsmål man kan stille sig selv, typisk i starten af en undersøgelse, inkluderer "er der tegn på problemer fra kendte tidligere sikkerhedshændelser", "hvad er de mest almindelige hændelser i loggen", "hvad er kun logget en eller to gange", "hvad har aldrig været logget tidligere" og "er der spor efter IP-adresser, der er kendte 'angrebsadresser'".
Forberedelse
Log forensics er en vigtig del af det man kalder "forensics readiness" - en række skridt en virksomhed eller organisation kan tage på forhånd for at reducere den tid det tager at indsamle og analysere data.
Grundideen i forensic readiness er kort sagt, at minimere omkostningerne ved at udføre forensics undersøgelser ved at maksimere virksomhedens evne til at indsamle digitalt bevismateriale. Der fokuseres typisk på fire områder: 1. Logning (hvordan logning udføres og hvad der logges), 2. Brug af Intrusion Detection Systemer, 3. Selve indsamlingen af forensics data (effektivt, hurtigt og korrekt) og 4. Håndtering af bevismateriale. Logfiler skal - som alt andet potentielt bevismateriale - indsamles og behandles korrekt så det sikres der på ingen måde kan drages tvivl om materialets gyldighed i en evt. retssag. (Meget mere om dette emne på vej i en adskilt tekst om "chain of custody" og behandling af bevismateriale).
Som udgangspunkt anbefales
logning af så meget data som muligt,
opbevaring af logfiler så længe som det er muligt - teknisk og lovmæssigt,
synkronisere af ure på alle systemer,
mulighed for- og træning i sortering og filtrering af log data.
Et stærkt kontrolspor er nyttigt i mange situationer. Jo mere data der logges - og jo mere detaljeret det er, jo større chance vil man typisk have for at skabe et nøjagtigt overblik over en potentiel hændelse. I mange situationer kan det være interessant at gennemgå gamle logfiler og de bør derfor gemmes så længe som overhovedet muligt, det der ser tilforladeligt ud i dag kan vise sig at være skadeligt i morgen.
Jo mere detaljerede logfilerne er, jo mere information kan man alt andet lige trække ud af filerne. F.eks. vil det typisk være betydeligt mere interessant hvis brugernavne registreres i en sulog end hvis kun tiderne hvor su er foretaget registreres. Se artikel for et eksempel.
Potentielle problemer Gennemgang af logfiler kan medføre en række grundlæggende problemer, de mest almindelige man kommer ud for er:
Logfiler kan være meget store og det kan være svært at finde den relevante information i mængden af data.
Man vil ofte forsøge at sammenholde information fra logfiler på tværs af servertype. Men det kan være svært at sammenholde logfiler fra forskellige typer enheder servere, intrusion detection systemer, firewalls, routere m.m.
Forskellige applikationer laver logfiler i vidt forskellige formater, der findes ikke noget standard format der gælder alle applikationer. Det samme program kan ofte logge i forskellige formater, afhængigt af hvordan programmet er konfigureret og f.eks. kan Windows Events være forskellige afhængig af operativ systemet - nogle Windows event ID er f.eks. forskellige mellem Windows 2000 og Windows 2003.
Endelig kan det ofte være svært at sammenholde tider på tværs af tidszoner og systemer med ure der alle går forskelligt.
Nedenstående links til mere information er som sædvanligt opdelt i Windows, Unix m.m. En række af programmerne kan dog bruges til flere forskellige systemer!
Log information:
Loganalysis.org har masser af information om logs og programmer. Ledes af Tina Bird og Marcus Ranum.
NIST's vejledning om logning - udvikling, implementering og vedligeholdelse af logningsløsninger. Fra grundlæggende information om logning til information om hardware, software, netværk og opbevaringsmedier.
Anton Chuvakin's
hjemmeside med link til hans blog m.v. og "ugens" log tip.
Artikel af Steve Romig om sammenholdelse af log filer fra ;login: The Magazine of USENIX and SAGE.
Log analyse Mailing Listen.
SANS top 5 liste over nyttige ting at lede efter i logfiler.
RFC 2068 - HTTP med bl.a. HTTP svarkoder.
SANS Internet Storm Center har god information om logning i revision/audit teksten.
Information om Microsoft Event Log formatet her. Mere her og her og her.
Bleeding Edge Threats (tidligere Bleeding Edge Snort)'s DNS Blackhole projekt, Shadowserver, Internet Storm Center og Spamhaus har information om IP-adresser og domæner der i øjeblikket bruges til hacking og spedning af malware, spam m.m.
Open Event Log projektet samler eksempler på system og applikationslogs for at lette analyse
SANS Reading Room med tekster om logning.
Eksempler på potentielle angreb imod loganalyse.
Log blogs:
Loglogic bloggen har information og links.
Windows Security Logging and Other Esoterica blog fra medlemmer af Microsoft's auditing team.
Log gennemgang - Windows systemer:
Masser af information om Windows logs, bl.a. leksikon over Event ID'er.
Information om Event loggen fra Heysoft Windows Event Log Encyclopedia og Eventid.net gør det muligt at søge efter information om events i Windows eventloggen.
Microsofts start side for information om Event Viewer.
Microsoft Events and Errors Message Center med detaljerede oplysninger og mulighed for produkt specifikke søgninger.
Analyse af logfiler på IIS 6.0.
Microsoft TechNet Webcast: IIS Data Mining with Log Parser 2.X - Level 300.
Microsoft TechNet Webcast: Using Windows Event Logging to Enhance Compliance and Security (Level 200).
Information om logging i Vista.
Keith Jones "Parse PsLoglist Data Into A Database in Windows".
Eksempel på anbefalet logning på Windows system.
Logning i Windows AD og de fem vigtigste settings der skal logges.
Excel's PivotTables funktion kan være meget nyttig til at gennemgå et begrænset antal logfiler. Autofilter funktionen kan også give et hurtigt overblik hvis logfilen ikke er for stor.
Windows programmer:
Log Parser er et fantastisk program, der gør det muligt at søge i en lang række forskellige logfil formater med SQL SELECT statements. Der kan filtreres på alle elementer i logfilerne og en enkelt kommando kan søge i flere forskellige logfiler samtidigt.
Den uofficielle Log Parser support side , der ledes af Microsoft udvikleren der skrev Log Parser, har masser af information. Se også forummet på siden.
EventCombMT fra Windows Server Resource Kit'et har noget af den samme funktionalitet som Log Parser. Programmet er ikke så avanceret man kan bruge hvis man foretrækker GUI programmer.
En GUI til Log Parser og en IIS Log Parser med GUI der også benytter Log Parser.
DumpEVT fra Systemtools kan eksportere logfiler til et andet format for at importere loggen til en Access eller SQL database.
Microsoft programmet EventTriggers kan bruges i nogle typer undersøgelser ved automatisk at eksekvere scripts og kommandoer når specificerede events finder sted.
Psloglist fra Sysinternals kan dumpe indholdet af Event Loggen.
Kiwi Syslog er en gratis Syslog til Windows.
Lasso projektet er en videreudvikling af Snare for Windows, der er en service til Windows NT, Windows 2000, Windows XP og Windows 2003 der arbejder sammen med Windows Eventlogs (understøttelse af Security, Application, System, DNS, File Replication Service og Active Directory logs) for real-time overførsel af log informationen til centrale opsamlingsmaskiner.
Snare har agenter der bl.a. kan sende IIS logfiler og ISA logfiler til en central syslog server.
Log gennemgang - Unix systemer:
Syslog.org for information om syslog.
Marcus Ranum's nbs (never before seen) skaber en database over
tidligere hændelser, der gør det muligt at tage stilling til nye
hændelser, så det kan undersøges om de er sikkerhedsrelaterede eller
ej. Marcus Ranum's hjemmeside har også flere andre
interessante programmer.
Mergelog kan sortere almindelige logfiler så hændelser sorteres i kronologisk orden.
GrokEVT er en opensource parser for Windows Event Logs.
Logwatch til Linux.
Log Minion er et lille perlscript der kan sende data til syslog fra kilder der normalt ikke understøtter syslog.
syslog-ng - Syslog.
LogHound er et program til at udgrave mønstre fra eventlogs.
SLCT - simple logfile clustering tool.
Anton Chuvakin har en beskrivelse af en række forskellige programmer i Advanced Log Processing teksten.
Log gennemgang - IDS m.m.:
Snort har links til en en række forskellige programmer til data analyse m.m., inklusive squil.
Splunk til logindsamling og analyse, håndterer logs fra mange forskellige kilder, f.eks. Apache, IIS og Windows event logs. Logfilerne importeres til databasen og kan
søges igennem en "Google lignende" front end. Programmet er gratis for op til 500 mb logfiler om dagen.
Splunk Wiki og
Splunk FAQ.
OSSEC "Open Source Host-based Intrusion Detection System" har en række
features, inklusive log analyse, rootkit check og alarmering. Der er en
række regler på http://www.ossec.net/rules/,
der opdateres dagligt.
SEC - simple event correlator kan sammenholde hændelser og kan modtage input fra en række forskellige kilder. SEC er testet med bl.a. Snort, HP OpenView, CiscoWorks, BMC Patrol og Nagios. SEC regler samles af Bleeding Edge Threats projektet.
Privateye kan sammenholde logdata fra forskellige kilder f.eks Snort, HoneyNet og IPS systemer og i nogle tilfælde automatisk udføre handlinger på de systemer der genererede logfilerne.
Tak til Jimmi Andersen fra Immune.dk for input til siden.
|