5 januari 2005 – I det här problemet:

  1. REDAKTIONELLA

    • Har du DEP?
  2. WINDOWS INTERNALS, 4TH EDITION

  3. VAD ÄR NYTT PÅ SYSINTERNALS

    • Novemberstatistik
    • Sysinternals Magazine-artiklar
    • RSS-feed för sysinternals
    • Mark är en Microsoft MVP
    • Kör automatiskt v6.01
    • Process Explorer v8.61
    • Sigcheck v1.0
    • Bginfo v4.07
    • Regjump v1.0
    • Hex2dec v1.0
    • Tcpvcon v2.34
    • PsTools-uppdateringar
    • Sysinternals på Microsoft
  4. INFORMATION OM INTERNT

    • Internet-surfning
    • Använda LiveKd för att felsöka sjukdomssystem
    • Creekside?
    • ChkReg Registry Fixer
    • Windows Minnesdiagnostik
    • Undersöka odokumenterade gränssnitt
  5. INTERN UTBILDNING

    • Windows anslutningar i San Francisco
    • Praktiska praktiska Windows Internals/Sysinternals Classes av Mark Russinovich & David Bob

Sysinternals Newsletter är sponsrat av Fallnals Software, på webben på http://www.winternals.com . Taraa Software är den ledande utvecklaren och leverantören av avancerade systemverktyg för Windows NT/2000/XP/2003.

Vi är glada över att kunna presentera den kommande versionen av Administrator's Chin 5.0 med en omfattande uppdatering ERD Commander 2005.

Nya funktioner i ERD Commander 2005 är:

  • Kraschanalysverktyg: Snabbt och enkelt diagnostisera drivrutinen som ansvarar för en Windows krasch – även om systemet inte startar
  • DiskWipe – Radera hårddiskar eller volymer på ett säkert sätt; Automatiska körningar: Se vilka program som börjar vid Windows installation och användarinloggning – användbart för att diagnostisera problem med systemresurser och hitta potentiell skadlig kod
  • FireFox-webbläsare: ladda ned snabbkorrigeringar, drivrutinsuppdateringar, sök efter hjälp i Microsoft Knowledge Base – allt på det system som du försöker reparera
  • Guiden Avinstallera snabbkorrigeringar, där du kan ta bort snabbkorrigeringar och service pack i ett system som inte kan startas
  • Systemfilreparation, som kontrollerar Windows systemfilerna för integritet.

Dessa funktioner, flera förbättringar och användbarhetsförbättringar för ERD Commander 2005 och en ny enklare att bygga och använda Remote Recover-klient baserad på Windows PE ingår i den nya administratörens Build 5.0, som är tillgänglig i slutet av januari 2005. Om du vill registrera dig för en utvärdering av administratörens Chin 5.0 när den släpps går du till http://www.winternals.com/ap5preview/.

REDAKTIONELLA

Hej!

Välkommen till Sysinternals nyhetsbrev. Nyhetsbrevet har för närvarande 40 000 prenumeranter.

Den ökande strömmen av skadlig kod, inklusive spionprogram och virus, gör att alla är bekymrade över säkerheten. Exempel på bra säkerhetsåtgärder är att hålla koll på operativsystem och programkorrigeringar, installera och konfigurera brandväggs-, antivirus- och spionprogramsborttagningsverktyg och att göra bedömning när du laddar ned från Internet eller öppnar e-postbilagor. Trots omfattande åtgärder kan skadlig kod dock fortfarande hitta sätt att komma förbi försvar och infektera en dator. Det vanligaste kryphålet i ett systemskydd är säkerhetsrisken för buffertspill och det är därför du bör känna till funktionen dataexekveringsskydd (DEP) i Windows XP Service Pack 2.

Ett buffertspill är ett programmeringsfel som skadliga program kan dra nytta av för att ta kontroll över tråden som kör kodningsfelet. Buffertspill är vanligtvis stackbaserade, vilket innebär att en angripare ger programmet mer data än vad som får plats i en buffert som lagras på stacken. Data är utformade på ett sådant sätt att när funktionen med spillet försöker återgå till funktionen som den anropades från återgår den i stället till en plats i data.

Tyvärr kan buffertspillsfel även de mest testade och granskade programmen. Flera buffertspill meddelas för Windows och dess komponentprogramvara varje månad (Linux och dess program är inte immuna, med ett antal buffertspill i par med Windows). Ett vanligt tema för de flesta buffertspillskryphål är att de resulterar i körning av kod som placeras i minnesregioner som endast ska innehålla data.

Intel Itanium-processorn har stöd för "no-execute"-skydd från sin version, men det var inte förrän Windows XP SP2 (och kommande Windows Server 2003 SP1) som Windows faktiskt använder det här maskinvarustödet, till exempel att markera trådstackar och heap-minne som icke körbart. Andra processorer som stöder maskinvaruskydd utan körning är 64-bitars AMD64 Opteron och Athlon 64 och Intels klon EM64T-now som finns på Xeon- och Pentium 4-processorer. AMD och Intel introducerade nyligen 32-bitars processorer utan körningsstöd: AMD Sempron och Pentium 4 "J"-familjen (till exempel 520J, 540J osv.).

Det kan verka uppenbart för dig att Windows som standard bör framtvinga no-execute-skydd för stackar och program heap-minne för att förhindra buffertspillskryphål, men det finns hundratusentals befintliga program, varav vissa faktiskt kan förlita sig på att inställningen inte tillämpas för korrekt åtgärd. Därför ger Windows XP SP2, den första versionen av Windows som tillämpar skydd utan körning, en administratörs kontroll över vilka processer som skyddas och vilka som inte gör det. För det första, i ett beslut som syftar till att förbättra säkerheten i framtiden, framtvingar 64-bitarsversionen av Windows alltid flaggor utan körning för alla 64-bitarsprocesser. Om en programvaruleverantör vill släppa ett 64-bitarsprogram måste de se till att de inte kör kod från icke-körbara regioner i minnet (de kan markera ett dataområde som körbart om de genererar kod i farten, vilket Java- och .NET-program ofta gör).

För det andra: eftersom buffertspillskryphål vanligtvis är avsedda för operativsystemkomponenter skyddar 32-bitars Windows XP och Windows Server 2003 som standard avbildningar av kärnoperativsystemet. För 32-bitarsprogram (som körs på antingen 32-bitars Windows eller 64-bitars Windows) använder Windows XP som standard en "opt-in"-strategi (program skyddas inte som standard) medan Windows Server 2003 som standard väljer bort (program skyddas som standard men specifika program kan undantas). Detta är logiskt eftersom säkerheten vanligtvis har högre prioritet på serversystemen. Du kan ändra inställningarna för att välja eller avanmäla dig i dialogrutan för DEP-konfiguration som du kommer åt via knappen Inställningar i avsnittet Prestanda på sidan Avancerat på kontrollpanelens applet System.

Som jag nämnde tidigare, med undantag för de relativt nya AMD Sempron- och Pentium 4 "J"-processorerna, saknar alla x86-kompatibla kretsar som släppts hittills stöd för att inte köras. Men Windows XP och Windows Server 2003 implementerar en begränsad form av DEP på dessa processorer som kallas "programvaru-DEP". Eftersom operativsystemet får kontroll över en tråd när tråden genererar ett fel kan det säkerställa att felhanteraren den kör är en som registreras statiskt av programmets kod. Detta förhindrar ett kryphål som omdirigerar en tråds felhanterare för att köra skadlig kod i en spillstackbuffert, vilket är vad CodeRed-virus orsakade att IIS gjorde när det släpptes 2001.

Trots den relativa enkelheten är DEP ett av de starkaste försvaren som operativsystemet erbjuder i sin skärm mot självspridning av skadlig kod. Tyvärr begränsar tre saker dess kraft: bristen på maskinvarustöd i de flesta för tillfället distribuerade processorer för inställningen "no-execute", standardinställningen för att välja i Windows XP så att endast kärnoperativsystemets processer skyddas och brist på medvetenhet. Programvarans DEP är begränsad i sin omfattning och därför är DEP endast marginaliserat effektivt om du inte kör Windows på maskinvara som stöder no-execute. Det faktum att Windows XP som standard väljer att göra det innebär att även om användarna kör Windows på maskinvara utan körning är de enda processer som får DEP-skydd de som finns i operativsystemet – om det finns ett buffertspill i din brandvägg från tredje part, webbläsare, e-postläsare eller andra nätverksaktiverade program är du fortfarande sårbar. Vissa av de program som utnyttjas mest av skadlig kod, IIS och Outlook, skyddas i själva verket inte under inställningen för att anmäla sig. Eftersom de flesta inte känner till standardbeteendet, eller till och med DEP alls, är systemen i de flesta fall fortfarande utsatta för risk för problem med buffertspill.

Det är dags för Microsoft att låta användarna betala kompatibilitetspriset i utbyte mot bättre säkerhet, eller så kommer användarna att få betala ett mycket högre pris för virus , och de kommer i sin tur att skicka fakturan till Microsoft. Under tiden rekommenderar jag starkt att du uppgraderar till Windows XP SP2 (Windows XP 64-bitars edition och Windows Server 2003 SP1 har också stöd för att inte köra), växla till att välja och uppgradera till en processor med stöd utan körning (tyvärr får jag ingen provision).

Skicka nyhetsbrevet till vänner som du tror kan vara intresserade av innehållet.

Tack!

-Mark

WINDOWS INTERNALS, 4TH EDITION

Den officiella Microsoft-boken om internt i Windows Server 2003, Windows 2000 och Windows XP, som jag har samarbetat med Dave Magazine, är nu tillgänglig i bokbutiker. Dave och jag har utökat täckningen för den tidigare utgåvan med cirka 25 %, och lagt till nytt material, inte bara på Windows Server 2003 och XP-ändringar, utan även på felsökningsverktyg och tekniker. Du hittar avancerade tips om hur du använder Process Explorer, Filemon och Regmon, och det finns ett helt nytt kapitel om Windows en kraschdumpanalys.

Läs mer om bokens innehåll och beställning online på

http://www.sysinternals.com/windowsinternals.shtml

VAD ÄR NYTT PÅ SYSINTERNALS

SYSINTERNALS RSS-FEED

Jag fick begäran om att lägga till en mekanism för meddelanden om ny publicering i Sysinternals så ofta att jag slutligen följde den webbomfattande trenden och lade till ett RSS-flöde (om du inte är bekant med RSS-feeds är här en bra introduktion: http://rss.softwaregarden.com/aboutrss.html). Flödet ger mig också möjlighet att meddela dig om mindre felkorrigeringar och uppdateringar som inte kräver en fullständig lista på startsidan. Det ser redan ut som det bästa sättet för användare att lära sig om uppdateringar baserat på antalet träffar som flödet får per dag.

Få åtkomst till Sysinternals RSS-feeden på:

http://www.sysinternals.com/sysinternals.xml

SYSINTERNALS MAGAZINE-ARTIKLAR

För ungefär sex månader sedan började jag skapa en kolumn halvårsvis i Windows IT Pro Magazine (tidigare Windows och .NET Magazine) på Sysinternals-verktyg. Varje kolumn beskriver olika verktyg och ger tips om avancerad användning och information om hur de fungerar.

Av de tre som har publicerats, som anges nedan, är de första två tillgängliga online av icke-prenumeranter och den tredje blir snart:

Autoruns: http://www.win2000mag.com/Windows/Article/ArticleID/44089/44089.html

Pslist och Pskill: http://www.winnetmag.com/Windows/Article/ArticleID/43569/43569.html

PsExec: http://www.winnetmag.com/Windows/Issues/IssueID/714/Index.html

MARK ÄR EN MICROSOFT MVP

MVP-leaden (Platform SDK Microsoft Most Valuable Professional) har gett mig namnet MVP för 2005. Jag är glad för honom och Microsoft för denna officiella bekräftelse av de bidrag jag har gjort till Microsoft-kunder med Sysinternals.

NOVEMBERSTATISTIK

Slutligen fick jag ett ganska bra program för webbtrafikanalys för Sysinternals och har analyserat loggfilerna för november månad. Numrens omfattning är till och med samma som jag. Här är några av de viktigaste sakerna:

  • 3,6 miljoner sidvisningar
  • 775 000 unika besökare
  • Nedladdning av 1,2 miljoner verktyg
  • 200 000 nedladdningar av Process Explorer, nedladdningen #1

AUTORUNS V6.01

Autoruns har utvecklats mycket under de senaste månaderna med två större versionsnummeruppdateringar. Den senaste versionen av Autoruns visar platser för automatisk start utöver standardmapparna För körningsnyckel och startmappar, inklusive DLL:er för Winlogon-meddelanden, Explorer-verktygsfält, namnområdestillägg och webbläsartillägg samt DLL:er för automatisk initiering. En annan ny funktion: Google-menyalternativet (lånat från Process Explorer) hjälper dig att identifiera okända bilder genom att öppna en webbläsare och initiera en sökning efter det valda avbildningsnamnet.

En annan ny funktion, bildsigneringsverifiering, kan hjälpa dig att skilja mellan skadlig kod och systemkomponenter eller betrodda program. Microsoft innehåller vanligtvis hash-värden för operativsystemfiler som har signerats med Microsofts privata signeringsnyckel. Windows kryptografiska funktioner dekrypterar de signerade hash-koderna med Microsofts offentliga signeringsnyckel och Autoruns verifierar bilderna i systemet genom att jämföra deras hash-värden med de dekrypterade versionerna och prefixera bildens företagsnamn med "(Verifierad)" när det finns en matchning. Om en avbildning har manipulerats, skadats, ersatts eller har en hash signerad av en utgivare som inte är betrodd av systemet, rapporterar Autoruns företagets namn för avbildningen som "(Inte verifierad)".

Som systemadministratör kanske du vill kontrollera avbildningarna för automatisk start i andra konton än dem som du är inloggad på, så autoruns innehåller nu en användarmeny med val för varje konto som har en profil lagrad på datorn.

Slutligen finns det nu en kommandoradsekvivalent till det grafiska användargränssnittet för Autoruns, autorunsc, som visar information om autoruns till konsolen. Dess möjlighet att formatera utdata som CSV, i kombination med Sysinternals PsExec-verktyg, gör det enkelt för dig att generera inventeringar av de konfigurerade avbildningarna för automatisk start för datorer i nätverket.

Ladda ned Autoruns på
http://www.sysinternals.com/ntw2k/freeware/autoruns.shtml

PROCESS EXPLORER V8.61

Processutforskaren, ett verktyg som ersätter Aktivitetshanteraren som ett avancerat verktyg för processhantering, har varit det verktyg som jag har fokuserat mest på, och det beror på att jag får så mycket feedback för det. Sedan det senaste nyhetsbrevet processutforskaren har gått från version 8.4 till 8.6. En mängd nya funktioner markerar dessa två versioner, inklusive ett Google-menyalternativ som initierar en sökning efter information om en vald process, en strängflik i dialogrutan för processegenskaper som visar ASCII- och Unicode-strängar som finns i en processbildfil, en strängmenypost som visar strängar i en vald DLL-bildfil, och namnet på den process som förbrukar mest processorkraft i knappbeskrivningen som visas när du hovrar musen över ikonen i processutforskaren i fältet.

Många efterfrågade funktioner som de saknade när de växlade från Aktivitetshanteraren, till exempel Aktivitetshanteraren fliken Program. Fliken Program visar en lista över fönster på den översta nivån på det interaktiva skrivbordet tillsammans med statusen för tråden som äger varje fönster: "Körs" om tråden för närvarande väntar på att få ett Windows-meddelande eller har bearbetat ett Windows-meddelande under de senaste fem sekunderna och "svarar inte" annars (ironiskt nog innebär det vanligtvis att "körs" anger att tråden väntar och "svarar inte" att den inte körs). Du kan nu hämta samma information med Processutforskaren genom att lägga till kolumnerna "Fönsterrubrik" och "Fönsterstatus" i processvyn.

Processutforskaren har haft funktioner at.NET målprocesser under en längre tid, inklusive markering för .NET-processer och fliken .NET-prestanda i dialogrutan för processegenskaper i .NET-processer. En .NET-process är en process som har lästs in och registrerats med .NET-körningen. Om en process registreras någon gång efter att den har startats kanske processutforskaren inte inser att det är en .NET-process, men den senaste versionen kontrollerar om processerna för .NET-status och jobbobjektmedlemskap kontrolleras igen när du uppdaterar visningen manuellt, antingen genom att trycka på knappen uppdatera verktygsfältet, F5-tangenten eller genom att välja menyalternativet Uppdatera.

I situationer när du inte är säker på vilken process som äger ett fönster kan du använda den nya knapp i verktygsfältet för fönster finder för att identifiera den. Dra bara verktygsfältsknappen, som ser ut som ett mål, från verktygsfältet och över fönstret i fråga så väljer Processutforskaren den ägande processen i processvyn.

Ett tillägg som blir omedelbart uppenbart för dig är miniprocessordiagrammet som visas nära verktygsfältet. Det här diagrammet visar systemets processoranvändningshistorik, och precis som den expanderade version som du får när du klickar på den för att öppna dialogrutan Processutforskaren Systeminformation visas en knappbeskrivning som innehåller tidsstämpeln och den högsta processoranvändningsprocessen för punkten i diagrammet som du flyttar musen över. Du kan flytta grafen till valfri plats i verktygsfältet, även till dess en rad så att den sträcker sig över bredden på fönstret Processutforskaren.

Två säkerhetsrelaterade funktioner är avbildningssigneringsverifiering och DEP-status (Data Execution Protection). När du aktiverar alternativet för avbildningssignering kontrollerar Processutforskaren om en processavbildning har signerats digitalt av betrodd signerare och, som Autoruns, prefixerar du företagsnamnet i dialogrutan för processegenskaper med "Verifierad" eller "Inte verifierad". Alternativet är inaktiverat som standard eftersom avbildningssigneringskontrollen kan ta flera sekunder när kontrollen går till webbplatser för att verifiera giltigheten för signeringscertifikat.

DEP, som jag beskriver i introduktionen till det här nyhetsbrevet, är något som du bör aktivera på Windows XP SP2 för förbättrat skydd mot buffertspillskryphål. Du kan kontrollera DEP-statusen för en process antingen genom att lägga till kolumnen "DEP-status" i processvyn eller genom att markera fältet "DEP-status" på bildsidan i dialogrutan för processegenskaper.

Slutligen visar processutforskaren nu de drivrutiner som lästs in på systemet i DLL-vyn för systemprocessen, vilket är den process som är associerad med arbetartrådar för kernel- och enhetsdrivrutiner. Samma information är tillgänglig för varje drivrutin som för DLL:er som anges för andra processer, inklusive version, företagsnamn, fullständig sökväg och inläsningsadress i systemets adressutrymme.

Ladda ned Process Explorer på
http://www.sysinternals.com/ntw2k/freeware/procexp.shtml

SIGCHECK V1.0

Många sysinternals-verktyg använder funktioner som hjälper användare att identifiera skadlig kod och Sigcheck är ett kommandoradsverktyg som nästan uteslutande fokuserar på det målet. Den använder samma verifieringsfunktioner för avbildningssignering som ingår i Autoruns och Process Explorer för att ange om en fil har signerats digitalt av en betrodd utgivare eller inte. Dessutom rapporterar den information om filversion för den eller de avbildningar som du anger, inklusive produktnamn, beskrivning, företagsnamn och version. Den här informationen liknar den som Filever-verktyget som levereras med Windows XP- och Windows Server 2003-rapporter, men Sigcheck rapporterar även tidsstämpeln när filen ursprungligen var "länkad" eller skapades för osignerade avbildningar och tidsstämpeln för avbildningssignering för dem som signerats. Slutligen signeras de flesta signerade hash-värden med nycklar som själva har signerats, en sekvens som utgör en så kallad certifikatsigneringskedja. Sigcheck stöder ett kommandoradsalternativ som dirigerar den att skriva ut signeringskedjan med information om var och en av signerarna i kedjan.

En av de potentiella säkerhetsrelaterade användningsområdena för Sigcheck är att undersöka osignerade .exe .dll- eller .sys-avbildningar i någon av katalogerna under roten av Windows-installationen (vanligtvis \Windows). Du kan enkelt identifiera osignerade .exe avbildningar genom att köra Sigcheck med den här kommandoraden, till exempel:

sigcheck -s -u c:\windows\*.exe

Alla Microsoft-avbildningar bör innehålla giltiga signaturer, men kommandot ovan visar tyvärr att många inte gör det, vilket resulterar i filer som kan utnyttjas för att dölja skadlig kod.

Ladda ned Sigcheck på
http://www.sysinternals.com/ntw2k/source/misc.shtml

BGINFO V4.07

Den här mindre uppdateringen av Bginfo, ett verktyg som visar den information som du konfigurerar på skrivbordet på den dator där du kör den för enkel visning, har bättre stöd för block som det måste sträcka sig för att passa den storlek som du anger, förbättrad CPU-identifiering, stöd för MySQL och förbättrad kompatibilitet för bildskärmar med flera övervakare.

Ladda ned Bginfo på
http://www.sysinternals.com/ntw2k/freeware/bginfo.shtml

REGJUMP V1.0

Om du någonsin har viljat skapa Explorer-genvägar till specifika registernycklar eller bara ange en nyckels sökväg och ha Regedit öppet till målplatsen kommer regjump vara användbart. Regjump är ett kommandoradsverktyg som använder samma "jump-to"-teknik för registret som vi var först med i Regmon. Ge Regjump en registersökväg som kommandoradsargument så öppnas Regedit och navigerar till den angivna nyckeln eller värdet.

Ladda ned Regjump på
http://www.sysinternals.com/ntw2k/source/misc.shtml

HEX2DEC V1.0

När jag arbetar med felsökning och demontering behöver jag ofta konvertera hexadecimalt till decimaler och vice versa. Slutligen blev jag glad över att öppna Calc, ange ett tal och sedan växla basen för att se konverteringen, så jag skrev ett litet kommandoradskonverteringsverktyg. Hex2dec konverterar i båda riktningarna och identifierar enkelt indata som hexadecimala om det har prefixet "0x" eller "x" eller innehåller bokstäverna "a'-'f" (dess versaler är inte känsliga).

Ladda ned Hex2dec på
http://www.sysinternals.com/ntw2k/source/misc.shtml

TCPVCON V2.34

Netstat är ett kommandoradsverktyg som är inbyggt i Windows NT och senare som visar de aktiva TCP- och UDP-slutpunkterna i systemet. Den version som Microsoft introducerade med Windows XP innehåller användbar information: processidentifieraren (PID) för processen som öppnade varje slutpunkt. Men för att fastställa namnet på processen eller annan information om den måste du öppna ett processlistningsverktyg och hitta processen med detta PID.

TCPView är ett sysinternals GUI-program som visar samma aktiva slutpunktsinformation, men mycket mer praktiskt än Netstat, eftersom det innehåller namnet på processen, snabbt växlar mellan DNS-namn och rådata-IP-adresser och markeringar med färger nya och borttagna slutpunkter. TCPView-nedladdningen innehåller nu TCPVCon, en konsolversion av TCPView, för dem av dig som vill använda kommandoradsgränssnitt. Till skillnad från Netstat visar TCPVCon den fullständiga sökvägen till processen som är associerad med varje slutpunkt och innehåller en växel som dumpar utdata i CSV-format.

Ladda ned Tcpvcon på
http://www.sysinternals.com/ntw2k/source/tcpview.shtml

PSTOOLS-UPPDATERINGAR

PsKill och PsLoglist är de två PsTools som har fått förbättringar under de senaste månaderna. PsKill, ett kommandoradsverktyg som avslutar processer i det lokala systemet eller ett fjärrsystem, har nu stöd för en växel så att du kan avsluta -t ett helt träd med processer. Ett antal personer har efterfrågat det här alternativet för att göra det enkelt att rensa skenande träd i batchskript.

PsLoglist är ett kommandoradsverktyg som dumpar händelseloggar på lokala system eller fjärrsystem. De senaste uppdateringarna har lagt till 5 alternativ i den redan långa listan över kommandoradskvalificerare. Med de nya argumenten kan du undanta angivna händelsetyper eller händelsekällor från utdata eller bara dumpa händelser från de senaste minuterna eller timmarna. Nu har den även stöd för ett övervakningsläge för händelseloggen där den körs tills du avslutar den och skriver ut händelseloggposter när de genereras.

Ladda ned PsTools, inklusive PsKill och PsLoglist, på
http://www.sysinternals.com/ntw2k/freeware/pstools.shtml

SYSINTERNALS AT WWW.MICROSOFT.COM

Här är den senaste installationen av Sysinternals-referenser i Microsoft Knowledge Base (KB) som publicerats sedan det senaste nyhetsbrevet. Detta ger 63 det totala antalet offentliga KB-referenser till Sysinternals.

  • KORRIGERING: Windows Media Player 9-serien för Windows ofta åtkomst till registret och kan påverka prestandahttp://support.microsoft.com/?kbid=886423

  • GDI+ 1.0 Säkerhetsuppdatering – översikthttp://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnsecure/html/gdiplus10security.asp

  • Registry Editing http://support.microsoft.com/default.aspx?scid=kb ;en-gb;835818

  • Du får felmeddelandet "Det finns ingen information att visa i den här vyn" när du försöker komma åt en Project View http://support.microsoft.com/default.aspx?scid=kb ;en-us;810596

INFORMATION OM INTERNT

INTERNET-SURFNING

För ungefär ett år sedan meddelade jag att jag hade växlat från Internet Explorer till Mozilla eftersom Internet Explorer saknade de funktioner som anses obligatoriska för en hyfsad webbläsare, till exempel blockering av popup-fönster, bläddring med flikar, automatisk formulärfyllning och annonsfiltrering. Inte långt efteråt pekade någon mig på Avant Browser, en liten nedladdning som använder Internet Explorer (det är inte en egen webbläsare) för att ge allt detta och mycket mer. Mozillas clunky-användargränssnitt och brist på kompatibilitet med vissa webbplatser har jag ofta bestämt mig för att byta enkelt. Även om den nya FireFox-versionen är bättre i båda fallen finns det fortfarande vissa inkompatibla webbplatser (till exempel Windows Update) och därför har jag inte varit tvungen att byta igen.

Microsofts långsamma utveckling när det gäller att förbättra Internet Explorer, även mot bakgrund av IE:s måttliga Windows XP SP2-förbättringar, bör göra att de inte behöver köpa Avant Browser och bygga in det i nästa version av Internet Explorer.

Hämta Avant Browser på: http://www.avantbrowser.com

ANVÄNDA LIVEKD FÖR ATT FELSÖKA FELSÖK SYSTEM

LiveKd är ett verktyg som jag skrev för den tredje utgåvan av Inside Windows 2000 (det är nu ett freeware-verktyg på Sysinternals). Du kan använda Windbg eller Kd för Microsofts felsökningsverktyg för Windows-paketet för att köra felsökningskommandon som normalt används för att undersöka kraschdumpar och låsta system i ett system som är online och aktivt. Microsoft introducerade en liknande funktion, "lokal kernel-felsökning", för felsökningsverktygen när den körs på Windows XP och högre. Det finns flera saker du kan göra med LiveKd, men som du inte kan göra med lokal kernel-felsökning. Du kan till exempel inte titta på kernellägestrådstackar med lokal kernel-felsökning och kommandot list-kernel modules, , visar endast operativsystemets kernel och inte de andra inläsningsdrivrutinerna när de körs i lokal lm k kernel-felsökning. Båda kommandona fungerar i LiveKd.

Ett annat kommando som inte fungerar i lokal kernel-felsökning, men som gör det i LiveKd, är .dump . Jag lärde mig från en PSS-tekniker (Microsoft Product Support Services) att .dump kommandot kan vara användbart vid felsökning av ett system som är dåligt. En dator som har problem, men som levererar tjänster som webb- eller databastjänster, kanske inte är en kandidat för omstart eller traditionell felsökning där systemet pausas under undersökningen. Om du kör LiveKd och kör .dump resulterar det i en kraschdump-formaterad fil som innehåller innehållet i systemets fysiska minne. Du kan ta dumpfilen till en annan dator och analysera tillståndet för operativsystemet och tjänstprogrammen genom att läsa in dumpfilen i WinDbg eller Kd, vilket undviker ett avbrott när du tittar på orsaken till ett problem.

Ladda ned LiveKd på
http://www.sysinternals.com/ntw2k/freeware/livekd.shtml

CREEKSIDE?

Jag undersökte nyligen initieringen av Windows XP Service Pack 2-versionen av Winlogon, den systemprocess som ansvarar för att presentera inloggningsgränssnittet, när jag upptäckte kod i demonteringen där Winlogon kontrollerar om det finns en DLL-fil med namnet ediskeer.dll i katalogen, säkerställer att den signeras digitalt av en betrodd \Windows\System32 signerare, och läser sedan in den och anropar en namnlös funktion som exporteras av DLL-filen. Winlogon-koden som körs när någon loggar in på systemet anropar även dll-filen om den läses in under initieringen.

Jag har tittat efter DLL-filen i mitt system och hittade den inte, och den finns inte heller på Service Pack 2 CD. Så vad är DLL-filen? Med hjälp av de felsökningssymboler som Microsoft levererar för operativsystemet kunde jag se Winlogon konfigurera en variabel med namnet "Side" om ediskeer.dll finns och signeras och sedan insåg jag att "ediskeer" består av de sista 8 bokstäverna med "åsnasida" i omvänd ordning. Jag är fortfarande inte säker på vad Enside refererar till, men jag misstänker starkt att DLL-filen endast levereras med Windows XP Starter Edition, den lågkostnadsversion av Windows XP som Microsoft nyligen introducerade för utgående länder. Starter Edition baseras på samma operativsystemkärna som Windows XP Professional och Home Edition, men den har begränsningar för hur många program en användare kan köra samtidigt. Om jag har rätt läser Winlogon in DLL-filen för att framtvinga den gränsen och aktiverar den varje gång en ny användare loggar in.

CHKREG REGISTRY FIXER

Bryce och jag har under åren fått många begäranden om register analogi för Chkdsk, verktyget för konsekvenskontroll av filsystem. Vi har aldrig skrivit en eftersom vi har känt att målgruppen för en är för liten för att motivera arbetet. För ungefär ett år sedan släppte Microsoft den lite kända Chkreg, en Chkdsk för registret som åtgärdar många typer av registerfel.

Chkreg stöds tyvärr bara på Windows 2000 (det kan också fungera på Windows NT 4- och Windows XP-register) och implementeras som ett "inbyggt" program som använder det interna API:et i stället för Windows-API:et och därför inte körs under Windows. När du laddar ned den måste du installera den på en uppsättning Windows med startdiskar, vilket är tidskrävande och tidskrävande. Vi har kontaktat utvecklarna av Chkreg och uppmanat dem att offentligt släppa Windows-versionen som vi har lärt oss att Microsofts produktsupporttjänster (PSS) använder internt, men inte har några ord på när eller om de kommer att släppa den.

Du kan ladda ned Chkreg på
http://www.microsoft.com/downloads/details.aspx?FamilyID=56D3C201-2C68-4DE8-9229-CA494362419C&displaylang=en

WINDOWS-MINNESDIAGNOSTIK

En av de mest frustrerande upplevelserna för Windows användare är ett system som kraschar. I de flesta fall är felet en buggig enhetsdrivrutin från tredje part, som du kan åtgärda genom att inaktivera drivrutinen eller uppdatera till en version med en korrigering. Cirka 10 % av de krascher som rapporteras till Microsoft Online Crash Analysis (OCA) orsakas av maskinvaruproblem, varav de flesta är disk- och minnesrelaterade.

Om du får krascher som OCA inte kan diagnostisera eller om du misstänker ett minnesproblem bör du ägna några minuter åt Microsoft Windows Memory Diagnostic (WMD), ett verktyg för minneskontroll som Microsoft nyligen släppte. Installationsprogrammet för WMD frågar efter en diskett eller CD som WMD-programmet sparas på. När du startar en dator från disketten eller CD:n kör du WMD och utför ett omfattande test av datorns minne, rapporterar förloppet och eventuella problem till skärmen. Om du har minnesfel kan WMD spara frustrerande många Windows krascher.

Du kan ladda ned Windows minnesdiagnostik på http://www.microsoft.com/downloads/details.aspx?FamilyID=56D3C201-2C68-4DE8-9229-CA494362419C& displaylang=en

UNDERSÖKA ODOKUMENTERADE GRÄNSSNITT

Funktionen DEP-status som beskrivs i avsnittet om förbättringar av Processutforskaren tidigare i nyhetsbrevet förlitar sig på en odokumenterad funktion. Jag trodde att många av er skulle vara intresserade av att lära sig hur jag upptäckte, utan åtkomst till Windows-källkoden (Dave Magazine, min kohort för Windows Internals, har åtkomst, men det gör jag inte), funktionen och dess användning.

Det första steget i min analysprocess var att hypotesen att en DEP-statusfråga för en process skulle dirigeras via NtQueryInformationProcess API:et. Många Windows API-funktioner som hämtar information om en process använder NtQueryInformationProcess -gränssnittet för att hämta informationen. Den här funktionen, som är prototyp i Ntddk.h-filen för Windows Driver Development Kit (DDK), är tillgänglig från användarläge via systemanropsgränssnittet "ursprungligt API":

NTSYSAPI
NTSTATUS
NTAPI
NtQueryInformationProcess(
    IN HANDLE ProcessHandle,
    IN PROCESSINFOCLASS ProcessInformationClass,
    OUT PVOID ProcessInformation,
    IN ULONG ProcessInformationLength,
    OUT PULONG ReturnLength OPTIONAL
);

De första två argumenten är en referens till en process och en "processinformationsklass". PROCESSINFOCLASS-uppräkningen, de första definitionerna som visas nedan, ingår också i NTDDK. H:

typedef enum _PROCESSINFOCLASS {
    ProcessBasicInformation,
    ProcessQuotaLimits,
    ProcessIoCounters,
    ProcessVmCounters,
    ProcessTimes,
//...

Eftersom DEP introducerades i Windows XP SP2 förväntade jag mig inte att informationsklassen för DEP-frågor skulle listas i ntddk.h-versionerna Windows XP eller Windows Server 2003, och en snabbkontroll bekräftade att den saknades. Därför var jag tvungen att undersöka en demontering av SP 2:s Ntoskrnl.exe, bilden där implementeras, för att se om jag kunde fastställa NtQueryInformationProcess DEP-frågeinformationsklassen empiriskt.

En demonterare tar en körbar avbildning och visar en lista över de instruktioner för sammansättningsspråket som utgör dess kod. Instruktioner för sammansättningsspråk mappar direkt till de instruktioner som körs av en processor. Den dela upp som jag använder är IDA Pro eftersom den förstår Microsofts felsökningsinformationsfiler och integrerar informationen i http://www.datarescue.com sammansättningsspråkets utdata. I demonteringen upptäckte jag den konvergerade sekvensen med instruktioner i början av NtQueryInformationProcess som tar processinformationsklassparametern och kör kod som är specifik för varje klass. Eftersom jag visste att informationsklassen var ny kunde jag hoppa över körningen av de klasser som jag såg definitioner för i PROCESSINFOCLASS Ntddk-uppräkningen. Detta begränsade min undersökning till de cirka 3 eller 4 nya klasser som introducerades sedan Windows XP-versionen.

En av klasserna, den som motsvarar ett värde på 0x22, tog mig genom en kodsökväg till en funktion med namnet , vars början ProcessInformationClassMmGetExecuteOptions visas här:

PAGE:0054D7CC ; __stdcall MmGetExecuteOptions(x)
PAGE:0054D7CC _MmGetExecuteOptions@4 proc near ; CODE XREF:
NtQueryInformationPro0063ess(x,x,x,x,x)+251C p
PAGE:0054D7CC
PAGE:0054D7CC arg_4 = dword ptr 8
PAGE:0054D7CC
PAGE:0054D7CC mov edi, edi
PAGE:0054D7CE push ebp
PAGE:0054D7CF mov ebp, esp
PAGE:0054D7D1 mov eax, large fs:124h
PAGE:0054D7D7 mov eax, [eax+44h]
PAGE:0054D7DA mov cl, [eax+6Bh]
PAGE:0054D7DD mov eax, [ebp+arg_4]
PAGE:0054D7E0 and dword ptr [eax], 0
PAGE:0054D7E3 xor edx, edx
PAGE:0054D7E5 inc edx
PAGE:0054D7E6 test dl, cl
PAGE:0054D7E8 jz short loc_54D7EC
PAGE:0054D7EA mov [eax], edx
PAGE:0054D7EC
PAGE:0054D7EC loc_54D7EC: ; CODE XREF:
MmGetExecuteOptions(x)+1C j
PAGE:0054D7EC test cl, 2
PAGE:0054D7EF jz short loc_54D7F4
PAGE:0054D7F1 or dword ptr [eax], 2
PAGE:0054D7F4
PAGE:0054D7F4 loc_54D7F4: ; CODE XREF:
MmGetExecuteOptions(x)+23 j
PAGE:0054D7F4 test cl, 4
PAGE:0054D7F7 jz short loc_54D7FC
PAGE:0054D7F9 or dword ptr [eax], 4
PAGE:0054D7FC

IDA Pro visade mig på den första raden i ovanstående utdata att funktionen accepterar ett argument, vilket jag misstänker är en pekare till en variabel som tar emot DEP-inställningarna. Jag har ägnat tillräckligt med tid åt att gå igenom delar av Windows-kerneln för att identifiera instruktionssekvensen som en läsning av den aktuella mov eax, large fs:124h; mov eax,[eax+44h]_KTHREAD tråddatastrukturen i PCR-strukturen (processorkontrollregion) följt av en referens till fältet vid 0x44 förskjutning i KPROCESS_KTHREAD strukturen. Anvisningarna efter dessa läser enskilda bitar i byte vid 0x6B i _KPROCESS strukturen.

Jag vet inte vad som finns vid förskjutningen 0x6B jag startade Windbg i lokalt kernel-felsökningsläge och körde kommandot , som _KPROCESSdt _kprocess rapporterade detta:

+0x06b Flags : _KEXECUTE_OPTIONS

Looking at that structure with another dt command showed the bit definitions:

+0x000 ExecuteDisable : Pos 0, 1 Bit
+0x000 ExecuteEnable : Pos 1, 1 Bit
+0x000 DisableThunkEmulation : Pos 2, 1 Bit
+0x000 Permanent : Pos 3, 1 Bit
+0x000 ExecuteDispatchEnable : Pos 4, 1 Bit
+0x000 ImageDispatchEnable : Pos 5, 1 Bit
+0x000 Spare : Pos 6, 2 Bits

De här bitarna är ju relaterade till DEP och det verkar som kopierar dem från den strukturen till motsvarande bitar på minnesplatsen som skickas som MmGetExecuteOptionsProcessInformation argumentet till NtQueryInformationProcess . Jag hade därför fastställt att jag kunde fråga DEP-status för en process genom att anropa med en på 0x22, adressen för ett NtQueryInformationProcessProcessInformationClass (4 byte heltal) och en längd DWORD på 4. Det verkar som returnerar flaggor endast för den aktuella processen och ignorerar MmGetExecuteOptions parametern (Process Explorer frågar DEP-statusen för andra processer genom att låta hjälpdrivrutinen växla till dem ProcessHandle via KeAttachProcess API:et).

Jag gjorde förutom några små skillnader i 64-bitarsversionen av Windows, eftersom jag gör en 64-bitars version av Process explorer tillgänglig. På 64-bitars Windows kräver att är -1 och returnerar ett fel om den aktuella processen är en MmGetExecuteOptionsProcessHandleSTATUS_INVALID_PARAMETER 64-bitarsprocess, eftersom DEP alltid är på för 64-bitarsprocesser. Jag använde Windbg för att dela upp 64-bitarsversionen av Ntoskrnl.exe, men sedan dess har jag fått den version av IDA Pro som har stöd för amd64-bilddemontering.

INTERN UTBILDNING

WINDOWS-ANSLUTNINGAR I SAN FRANCISCO

Jag håller två sessioner på Windows Connections-konferensen, som körs av Windows IT Pro Magazine och äger rum den 17–20 april i San Francisco. En är en allmän session som heter "Understanding and Fighting Malware: Virus, Spyware och Rootkits" där jag beskriver hur skadlig kod utnyttjar sårbarheter för att sprida och kringgå säkerhetsåtgärder, hur de döljer sig med hjälp av avancerade tekniker som kallas "rootkits" och hur du identifierar dem och rensar dem från systemet.

Den andra sessionen är "Troubleshooting Windows Memory Problems" (Felsöka problem med Windows-minne) där jag visar dig hur du besvarar den gamla "vad är innebörden av de värden som jag ser i Aktivitetshanteraren", "vad använder mitt minne" och "hur stor ska jag göra växlingsfilen"- frågor.

Ladda ned konferenskonferens och registrera dig på
http://www.devconnections.com/shows/win/default.asp?s=60#

PRAKTISKA WINDOWS INTERNALS/SYSINTERNALS-KLASSER AV MARK RUSSINOVICH

Ägna fem dagar åt Mark Russinovich och David Edition, författare av den nya boken Windows Internals 4th Edition, som lär sig avancerade felsökningstekniker och fördjupar sig i det interna avsnittet om operativsystemets kernel Windows NT/2000/XP/2003. Om du är IT-proffs och distribuerar och stöder Windows-servrar och arbetsstationer måste du kunna gå djupare under ytan när något går fel. Att ha förståelse för de interna Windows-operativsystemet och att veta hur du använder avancerade felsökningsverktyg hjälper dig att hantera sådana problem och förstå systemprestandaproblem mer effektivt. Genom att förstå de interna kan programmerare bättre dra nytta av Windows och tillhandahålla avancerade felsökningstekniker. Och eftersom kursen utvecklades med fullständig åtkomst till Windows och utvecklare av kernelkällkoden vet du att du får den verkliga berättelsen.

Kommande datum är:

  • 6–10 JUNI, ORLANDO, FLORIDA
  • 11–15 JULI, TYSKLAND
  • 19–23 SEPTEMBER, SAN FRANCISCO, KALIFORNIEN
  • 5–9 DECEMBER, TEXAS

Obs! Det här är en praktisk klass – varje deltagare måste ta med sin egen bärbara dator (konfigurationsanvisningar skickas i förväg).

Du får en djup förståelse för kernelarkitekturen i Windows NT/2000/XP/2003, inklusive internt för processer, trådschemaläggning, minneshantering, I/O, tjänster, säkerhet, registret och startprocessen. Vi går även in på avancerade felsökningstekniker som deslering av skadlig kod, analys av kraschdump (blå skärm) och att komma förbi startproblem. Du får också lära dig avancerade tips om hur du använder viktiga verktyg från www.sysinternals.com (till exempel Filemon, Regmon, Process Explorer) för att felsöka en mängd system- och programproblem, till exempel långsamma datorer, virusidentifiering, DLL-konflikter, behörighetsproblem och registerproblem. Dessa verktyg används dagligen av Microsofts produktsupport och har använts effektivt för att lösa en mängd olika skrivbords- och serverproblem, så att känna till deras drift och program hjälper dig att hantera olika problem på Windows. Verkliga exempel kommer att ges som visar hur dessa verktyg kan användas för att lösa verkliga problem.

Om du vill registrera dig går du till http://www.sysinternals.com/troubleshoot.shtml


Tack för att du läser Sysinternals Nyhetsbrev.

Publicerad onsdag 05 januari 2005 16:36 av sn

[Nyhetsbrevsarkiv ^][ Volym 6, Nummer 2][Volym 7, Särskilt meddelande ]

[Nyhetsbrevsarkiv ^][ Volym 6, Nummer 2][Volym 7, Särskilt meddelande ]

System Internals Newsletter Volym 7, nummer 1

http://www.sysinternals.com
Copyright (C) 2005 Mark Russinovich