<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Windows Security Logging and Other Esoterica : Descriptions</title><link>http://blogs.msdn.com/ericfitz/archive/tags/Descriptions/default.aspx</link><description>Tags: Descriptions</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Mapping pre-Vista Security Event IDs to Security Event IDs in Vista+</title><link>http://blogs.msdn.com/ericfitz/archive/2009/06/10/mapping-pre-vista-security-event-ids-to-security-event-ids-in-vista.aspx</link><pubDate>Thu, 11 Jun 2009 02:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9725278</guid><dc:creator>Eric Fitzgerald</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/ericfitz/comments/9725278.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ericfitz/commentrss.aspx?PostID=9725278</wfw:commentRss><wfw:comment>http://blogs.msdn.com/ericfitz/rsscomments.aspx?PostID=9725278</wfw:comment><description>&lt;P&gt;I've written twice (&lt;A title="Vista Security Events Get Noticed" href="http://blogs.msdn.com/ericfitz/archive/2007/04/18/vista-security-events-get-noticed.aspx" mce_href="http://blogs.msdn.com/ericfitz/archive/2007/04/18/vista-security-events-get-noticed.aspx"&gt;here&lt;/A&gt; and &lt;A title="Documentation on the New Security Events" href="http://blogs.msdn.com/ericfitz/archive/2007/07/31/documentation-on-the-windows-vista-and-windows-server-2008-security-events.aspx" mce_href="http://blogs.msdn.com/ericfitz/archive/2007/07/31/documentation-on-the-windows-vista-and-windows-server-2008-security-events.aspx"&gt;here&lt;/A&gt;) about the relationship between the "old" event IDs (5xx-6xx) in WS03 and earlier versions of Windows, and between the "new" security event IDs (4xxx-5xxx)&amp;nbsp;in Vista and beyond.&lt;/P&gt;
&lt;P&gt;In short, EventID(WS03) + 4096 = EventID(WS08) for almost all security events in WS03.&lt;/P&gt;
&lt;P&gt;The exceptions are the logon events.&amp;nbsp; The logon success events (540, 528) were collapsed into a single event 4624 (=528 + 4096).&amp;nbsp; The logon failure events (529-537, 539) were collapsed into a single event 4625 (=529+4096).&lt;/P&gt;
&lt;P&gt;Other than that, there are cases where old events were deprecated (IPsec IIRC), and there are cases where new events were added (&lt;A title="DS Auditing in WS08" href="http://technet.microsoft.com/en-us/library/cc731607.aspx" mce_href="http://technet.microsoft.com/en-us/library/cc731607.aspx"&gt;DS Change&lt;/A&gt;).&amp;nbsp; These are all new instrumentation and there is no “mapping” possible- e.g. the new DS Change audit events are complementary to the old DS Access events; they record something different than the old events so you can’t say that the old event xxx = the new event yyy because they aren’t equivalent.&amp;nbsp; The old event means one thing and the new event means another thing; they represent different points of instrumentation in the OS, not just formatting changes in the event representation in the log.&lt;/P&gt;
&lt;P&gt;Of course I explained earlier &lt;A title="Why we renumbered the security events in Vista" href="http://blogs.msdn.com/ericfitz/archive/2007/04/18/vista-security-events-get-noticed.aspx" mce_href="http://blogs.msdn.com/ericfitz/archive/2007/04/18/vista-security-events-get-noticed.aspx"&gt;why&lt;/A&gt; we renumbered the events, and (in the same place) why the difference is "+4096" instead of something more human-friendly like "+1000".&amp;nbsp; The bottom line is that the event schema is different, so by changing the event IDs (and not re-using any), we force existing automation to be updated rather than just misinterpreting events when the automation doesn't know the version of Windows that produced the event.&amp;nbsp; We realized it would be painful but it is nowhere near as painful as if every event consumer had to be aware of, and have special casing for, pre-Vista events and post-Vista events with the same IDs but different schema.&lt;/P&gt;
&lt;P&gt;So if you happen to know the pre-Vista security events, then you can quickly translate your existing knowledge to Vista by adding 4000, adding 100, and subtracting 4.&amp;nbsp; You can do this in your head.&lt;/P&gt;
&lt;P&gt;However if you're trying to implement some automation, you should avoid trying to make a chart with "&amp;lt;Vista" and "&amp;gt;=Vista" columns of event ID numbers, because this will likely result in mis-parsing one set of events, and because you'll find it frustrating that there is not a 1:1 mapping (and in some cases no mapping at all).&lt;/P&gt;
&lt;P&gt;Eric&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9725278" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Descriptions/default.aspx">Descriptions</category><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Tools/default.aspx">Tools</category></item><item><title>Windows Server 2008 Security Events Posted</title><link>http://blogs.msdn.com/ericfitz/archive/2008/04/16/windows-server-2003-security-events-posted.aspx</link><pubDate>Thu, 17 Apr 2008 09:09:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8401512</guid><dc:creator>Eric Fitzgerald</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/ericfitz/comments/8401512.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ericfitz/commentrss.aspx?PostID=8401512</wfw:commentRss><wfw:comment>http://blogs.msdn.com/ericfitz/rsscomments.aspx?PostID=8401512</wfw:comment><description>&lt;P&gt;Fadi, Ned and Brian of the auditing team have documented all the auditing events by audit policy category and subcategory for your reference.&lt;/P&gt;
&lt;P&gt;Check it out in the &lt;A class="" title="Microsoft Knowledge Base Article 947226" href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;947226" mce_href="http://support.microsoft.com/default.aspx?scid=kb;EN-US;947226"&gt;Knowledge Base&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;Even better, they documented all the events in spreadsheet format, and that's propagating to the Microsoft Download Center.&amp;nbsp; I'll publish the link when it's online.&lt;/P&gt;
&lt;P mce_keep="true"&gt;2008-04-17 UPDATE:&amp;nbsp; Brian just sent me the link: &lt;A class="" title="Microsoft Download Center" href="http://www.microsoft.com/downloads/details.aspx?FamilyID=82e6d48f-e843-40ed-8b10-b3b716f6b51b&amp;amp;DisplayLang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=82e6d48f-e843-40ed-8b10-b3b716f6b51b&amp;amp;DisplayLang=en"&gt;here&lt;/A&gt; is the spreadsheet.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8401512" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Descriptions/default.aspx">Descriptions</category><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Tools/default.aspx">Tools</category></item><item><title>You learn something new every day- Logon Type 0</title><link>http://blogs.msdn.com/ericfitz/archive/2008/02/26/you-learn-something-new-every-day-logon-type-0.aspx</link><pubDate>Tue, 26 Feb 2008 23:49:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7909612</guid><dc:creator>Eric Fitzgerald</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/ericfitz/comments/7909612.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ericfitz/commentrss.aspx?PostID=7909612</wfw:commentRss><wfw:comment>http://blogs.msdn.com/ericfitz/rsscomments.aspx?PostID=7909612</wfw:comment><description>&lt;P&gt;Today I encountered something new in the logon event- I thought that was old hat and I knew all there was to know about that but I guess I was wrong.&lt;/P&gt;
&lt;P&gt;The logon event (&lt;A class="" title="Events 528 and 540" href="http://blogs.msdn.com/ericfitz/archive/2004/12/09/279282.aspx" mce_href="http://blogs.msdn.com/ericfitz/archive/2004/12/09/279282.aspx"&gt;528/540&lt;/A&gt; prior to Windows Vista, 4624 in Vista and Windows Server 2008) has a field called a Logon Type.&amp;nbsp; This is a code that is passed into the logon API that tells the authentication system in Windows which policy to check the logon against.&amp;nbsp; Windows has separate policy checks for network logons, interactive logons, etc., so that you can allow users to access a system in some ways but not in others.&lt;/P&gt;
&lt;P&gt;The logon type code is, in C/C++ parlance, an enumerated value- it's an ordered list of numeric values, each with&amp;nbsp;an associated name, and these are defined in a publicly available file in the source code (ntsecapi.h).&amp;nbsp; In the source code, the values are always referenced by name.&lt;/P&gt;
&lt;P&gt;Today on one of the internal aliases someone actually found a logon event with a logon type of 0- I have never personally seen one of these before and 0 is not defined in the &lt;A class="" title="SECURITY_LOGON_TYPE enumeration" href="http://msdn2.microsoft.com/en-us/library/aa380129.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/aa380129.aspx"&gt;SECURITY_LOGON_TYPE&lt;/A&gt; enumeration, so I would have assumed that it was a bug- but it turns out that we are &lt;A class="" title="Win32_LogonSession WMI Class" href="http://msdn2.microsoft.com/en-us/library/aa394189.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/aa394189.aspx"&gt;aware&lt;/A&gt; of this case and use it occasionally for system logons.&lt;/P&gt;
&lt;P&gt;So there you are.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7909612" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Descriptions/default.aspx">Descriptions</category><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Tips/default.aspx">Tips</category></item><item><title>I always wondered who Björn was...</title><link>http://blogs.msdn.com/ericfitz/archive/2008/01/17/i-always-wondered-who-bj-rn-was.aspx</link><pubDate>Fri, 18 Jan 2008 01:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7144510</guid><dc:creator>Eric Fitzgerald</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/ericfitz/comments/7144510.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ericfitz/commentrss.aspx?PostID=7144510</wfw:commentRss><wfw:comment>http://blogs.msdn.com/ericfitz/rsscomments.aspx?PostID=7144510</wfw:comment><description>&lt;P&gt;OK here's something I just remembered today.&amp;nbsp; I may be the last person who remembers this so it's important that I record this somewhere.&lt;/P&gt;
&lt;P&gt;In the RTM bits of Windows NT 4.0, for the German language release only,&amp;nbsp;someone snuck in a string resource into the auditing message file.&amp;nbsp; I'm guessing that it was one of our localization engineers, but I don't know- I was over in the support side of things at the time.&amp;nbsp; I stumbled across the message one day while looking at source code.&lt;/P&gt;
&lt;P&gt;Here's Björn's momentous message:&amp;nbsp; "Björn grüßt den rest der welt".&amp;nbsp; Basically Björn says hi to everyone.&amp;nbsp; He's a friendly guy.&lt;/P&gt;
&lt;P&gt;This is string resource zero in the message table resource- it's not a code resource, it's properly formed and it's not used by the code anywhere.&amp;nbsp; You would not know it exists unless you slog through source code (like me) or use a hex editor or string dumper to analyze binaries AND happen to be so bored that you pull out an NT 4.0 RTM German CD and examine msaudite.dll.&amp;nbsp; NT4 RTM CD's&amp;nbsp;are pretty rare, btw, because we replaced them with slipstream SP1 CD's very shortly after release.&lt;/P&gt;
&lt;P&gt;If I remember correctly somebody else came along in a later service pack and changed Björn's name to their own (maybe it was Ulli?&amp;nbsp; I can't remember and I'm too lazy to find the source- it requires a lot of effort to dig that far back).&amp;nbsp; I do remember that shortly thereafter there was a huge Easter Egg crackdown here at Microsoft&amp;nbsp;probably brought to a head by the &lt;A class="" title="Excel 97 Easter Egg" href="http://www.eeggs.com/items/718.html" mce_href="http://www.eeggs.com/items/718.html"&gt;Excel 97 Flight Simulator&lt;/A&gt;.&amp;nbsp; Björn's message of goodwill to mankind was erased forever.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;I did a search using the &lt;A class="" title="Windows Live Search" href="http://search.live.com/" mce_href="http://search.live.com"&gt;Officially Santioned Search Engine&lt;/A&gt; and the other one too; evidently the internet has forgotten Björn's message.&amp;nbsp; But I still remember, Björn.&lt;/P&gt;
&lt;P&gt;Anyway I thought you might like this bit of arcana.&amp;nbsp; If you are bored, have a hex editor and a German NT4 CD, knock yourself out...&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7144510" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Descriptions/default.aspx">Descriptions</category></item><item><title>Why does Windows XP generate so many logon failure events?</title><link>http://blogs.msdn.com/ericfitz/archive/2007/11/09/why-does-windows-xp-generate-so-many-logon-failure-events.aspx</link><pubDate>Sat, 10 Nov 2007 02:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6031509</guid><dc:creator>Eric Fitzgerald</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/ericfitz/comments/6031509.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ericfitz/commentrss.aspx?PostID=6031509</wfw:commentRss><wfw:comment>http://blogs.msdn.com/ericfitz/rsscomments.aspx?PostID=6031509</wfw:comment><description>&lt;P&gt;I got the question last week, why there are so many logon failure events on Windows XP when it is not domain joined.&lt;/P&gt;
&lt;P&gt;The short answer is, by design.&amp;nbsp; (Yes, bad design.)&lt;/P&gt;
&lt;P&gt;The longer answer is that the shell team is working around the fact that there is no "tell me if this user account has a blank password" API.&lt;/P&gt;
&lt;P&gt;When in a workgroup (not domain joined), Windows XP displays a welcome screen that has little pictures (called "tiles") for each user who is permitted to log on to the computer.&lt;/P&gt;
&lt;P&gt;The shell team wanted the experience that when you click on a tile, that you will immediately be logged on if your password is blank (we have good data that a large percentage of home users have blank passwords).&amp;nbsp; They only want you to be prompted for a password if you actually have a password.&amp;nbsp; Fair enough, and it also helps with accessibility for people for whom typing is challenging.&lt;/P&gt;
&lt;P&gt;The XP Welcome Screen, when it is initialized each time it is to be displayed, attempts to log on each user for which a tile will be displayed,&amp;nbsp;using a blank password.&amp;nbsp; Users with non-blank passwords will cause failures in this case (other users will cause logon success events followed by &lt;SPAN style="FONT-SIZE: 10pt; COLOR: blue; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;logoff success&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt; events). &lt;SPAN style="COLOR: red"&gt;[2007-11-21 correction]&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;The Welcome Screen uses the result of these logon attempts to decide whether to display a password box when you select a user's tile.&amp;nbsp; If the user has a blank password, they will be logged on instead of being prompted for a password.&lt;/P&gt;
&lt;P&gt;Why are they&amp;nbsp;logging on the account?&amp;nbsp; Well&amp;nbsp;it turns out to be the easiest way to tell if your password is&amp;nbsp;blank.&amp;nbsp;&amp;nbsp;We don't have a "is your password blank" API- that would be a security disaster- and we would prefer that the shell team not go mucking about in the SAM, retrieving hashes&amp;nbsp;and computing the blank password hash for each account so that it could compare them.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I asked for this behavior to be changed prior to XP's release.&amp;nbsp; Specifically I asked that the blank password check be moved from Welcome screen initialization to tile selection- this would still cause logon failures but many fewer of them.&amp;nbsp; I was declined.&amp;nbsp; I asked for fixes to it in SP1 and SP2 and was declined.&amp;nbsp; At this point we will not be revisiting this "feature"; the Welcome Screen was redesigned to eliminate this problem.&lt;/P&gt;
&lt;P&gt;The shell team who designed the Welcome Screen did not feel that auditing was a common scenario for workgroup machines, and I didn't (and still don't) have any business case to dispute that.&lt;BR&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=6031509" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Descriptions/default.aspx">Descriptions</category><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Tips/default.aspx">Tips</category></item><item><title>List of Windows Server 2003 Events</title><link>http://blogs.msdn.com/ericfitz/archive/2007/10/12/list-of-windows-server-2003-events.aspx</link><pubDate>Fri, 12 Oct 2007 21:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5428381</guid><dc:creator>Eric Fitzgerald</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/ericfitz/comments/5428381.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ericfitz/commentrss.aspx?PostID=5428381</wfw:commentRss><wfw:comment>http://blogs.msdn.com/ericfitz/rsscomments.aspx?PostID=5428381</wfw:comment><description>&lt;P&gt;So a long time ago, back in my days of&amp;nbsp;providing technical support for Windows NT 4.0,&amp;nbsp;I published "&lt;A class="" title="Security Event Descriptions, MSFT Knowledge Base Article Q174074" href="http://support.microsoft.com/kb/174074/en-us" mce_href="http://support.microsoft.com/kb/174074/en-us"&gt;Security Event Descriptions&lt;/A&gt;".&amp;nbsp; This article was the "schema" so to speak, for the Windows NT 4.0 security event log events.&lt;/P&gt;
&lt;P&gt;Technically Windows events are not schematized until Windows Vista; or put another way the schema is implicit based on the instrumentation in the code- since the event is raised by some function in the code, the "schema" could be interpreted as the parameter order in the call to that function.&lt;/P&gt;
&lt;P&gt;Anyway security monitoring types love that article, but I hate it.&amp;nbsp; It's just better than nothing.&amp;nbsp; It doesn't state which events map to which audit policy categories.&amp;nbsp; It does tell you whether the event is a succss or failure event but it doesn't alert you to the cases where the same event is used for success and failure (e.g. event 560).&lt;/P&gt;
&lt;P&gt;When Windows 2000 came around and we added two new audit policy categories (DS Access and Account Logon [which was a huge naming blunder]), I wrote an article for the Windows 2000 security events.&amp;nbsp; However it was so large I broke it into &lt;A class="" title="Windows 2000 Security Event Descriptions (Part 1 of 2)" href="http://support.microsoft.com/kb/299475/en-us" mce_href="http://support.microsoft.com/kb/299475/en-us"&gt;two&lt;/A&gt; &lt;A class="" title="Windows 2000 Security Event Descriptions (Part 2 of 2)" href="http://support.microsoft.com/kb/301677/EN-US/" mce_href="http://support.microsoft.com/kb/301677/EN-US/"&gt;articles&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;I didn't write an article for Windows Server 2003.&amp;nbsp; At first I didn't think it was necessary because we propagated all the WS03 events to the &lt;A class="" title="Technet Events and Errors Message Center" href="http://www.microsoft.com/technet/support/ee/ee_advanced.aspx" mce_href="http://www.microsoft.com/technet/support/ee/ee_advanced.aspx"&gt;Technet Events &amp;amp; Errors Message Center&lt;/A&gt; web site.&amp;nbsp; I wrote custom content for the top 30 or so events by volume of searches&lt;/P&gt;
&lt;P&gt;(On a side note, did you ever wonder what happens when you click the "More Information" link at the bottom of the Event Viewer event description?&amp;nbsp; We send the event source, event ID, OS version and so forth to the Technet E&amp;amp;E site and display the content that is returned.&amp;nbsp; We count the number of hits for each OS Version/Source/Event ID combination and then our writing teams pester the component owners to populate that content.)&lt;/P&gt;
&lt;P&gt;Anyway, I was making excu^h^h er, explaining why I didn't write the KB articles for Windows Server 2003 security events.&amp;nbsp; So I thought the E&amp;amp;E message center would be all that anyone needed.&amp;nbsp; It didn't strike me as that important that you had to have seen the event (or at least know it exists) before you could use the site.&amp;nbsp; However since then I have received a large number of requests for the event definitions, mainly from people who were creating security event management solutions.&lt;/P&gt;
&lt;P&gt;So here's what I have for you, courtesy of Ned, one of the audit log posse here at Microsoft.&amp;nbsp; If you want a complete list of WS03 security events, then I suggest you look at &lt;A class="" title="Windows Server 2003 Security Guide: Audit Policy" href="http://www.microsoft.com/technet/security/prodtech/windowsserver2003/w2003hg/s3sgch04.mspx#EKH" mce_href="http://www.microsoft.com/technet/security/prodtech/windowsserver2003/w2003hg/s3sgch04.mspx#EKH"&gt;chapter 4 of the Windows Server 2003 Security Guide&lt;/A&gt;.&amp;nbsp; This documents the event IDs of all the security events on Windows Server 2003.&amp;nbsp; Plus, it groups them by policy category, in case you ever wanted to know what you are in for if you enable one of the categories for audit.&amp;nbsp; If you want the layout of the event (what data is in the description field, and in what order) then just look for that specific event on the &lt;A class="" title="Technet Events and Errors Message Center" href="http://www.microsoft.com/technet/support/ee/ee_advanced.aspx" mce_href="http://www.microsoft.com/technet/support/ee/ee_advanced.aspx"&gt;Technet E&amp;amp;E&lt;/A&gt; site or click the link in the bottom of the event description in Event Viewer.&lt;/P&gt;
&lt;P&gt;I've already described how the Vista and Windows Server 2008 (and subsequent releases) event systems are &lt;A class="" title="Eric's Blog Post on Vista Event Schema" href="http://blogs.msdn.com/ericfitz/archive/2007/07/31/documentation-on-the-windows-vista-and-windows-server-2008-security-events.aspx" mce_href="http://blogs.msdn.com/ericfitz/archive/2007/07/31/documentation-on-the-windows-vista-and-windows-server-2008-security-events.aspx"&gt;self-documenting&lt;/A&gt;, so I won't go into that further here.&lt;/P&gt;
&lt;P&gt;One last tip: If you own &lt;A class="" title="OpsMgr 2007 Home Page" href="http://www.microsoft.com/systemcenter/opsmgr/default.mspx" mce_href="http://www.microsoft.com/systemcenter/opsmgr/default.mspx"&gt;Microsoft System Center Operations Manager 2007&lt;/A&gt;, then you can search for a file called EventSchema.xml on the media.&amp;nbsp; It is an XML document that describes one possible normalization all the security events from Windows 2000 forward, and the semantic content of the normalized events.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: red; LINE-HEIGHT: 115%; FONT-FAMILY: 'Arial','sans-serif'"&gt;2007-10-31 UPDATE: There is also an event-id-to-audit-policy-category map &lt;/SPAN&gt;&lt;A class="" title=Technet href="http://technet2.microsoft.com/windowsserver/en/library/6847e72b-9c47-42ab-b3e3-691addac9f331033.mspx?mfr=true" mce_href="http://technet2.microsoft.com/windowsserver/en/library/6847e72b-9c47-42ab-b3e3-691addac9f331033.mspx?mfr=true"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5428381" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Descriptions/default.aspx">Descriptions</category><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Tools/default.aspx">Tools</category></item><item><title>Documentation on the Windows Vista and Windows Server 2008 Security Events</title><link>http://blogs.msdn.com/ericfitz/archive/2007/07/31/documentation-on-the-windows-vista-and-windows-server-2008-security-events.aspx</link><pubDate>Wed, 01 Aug 2007 00:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4153099</guid><dc:creator>Eric Fitzgerald</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/ericfitz/comments/4153099.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ericfitz/commentrss.aspx?PostID=4153099</wfw:commentRss><wfw:comment>http://blogs.msdn.com/ericfitz/rsscomments.aspx?PostID=4153099</wfw:comment><description>&lt;P&gt;I'm hearing lots of complaints that we don't have &lt;A class="" title="Microsoft Knowledge Base" href="http://support.microsoft.com/kb/299475" mce_href="http://support.microsoft.com/kb/299475"&gt;KB articles&lt;/A&gt; on these yet.&amp;nbsp; Doriansoft has a &lt;A class="" title=Doriansoft href="http://eventlogs.blogspot.com/2007/04/4096-security-events-lane.html" mce_href="http://eventlogs.blogspot.com/2007/04/4096-security-events-lane.html"&gt;blog post&lt;/A&gt; complaining that the "&lt;A class="" href="http://blogs.msdn.com/ericfitz/archive/2007/04/18/vista-security-events-get-noticed.aspx" mce_href="http://blogs.msdn.com/ericfitz/archive/2007/04/18/vista-security-events-get-noticed.aspx"&gt;add 4096&lt;/A&gt;" rule doesn't work because we collapsed the logon events into a single success event and failure event (from 2 success events [528, 540] and&amp;nbsp;10 failure events [529-537, 539]).&lt;/P&gt;
&lt;P&gt;Well, In Vista and beyond the event log is self-documenting.&amp;nbsp; From an elevated command prompt (one with admin privileges), type the following:&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"&gt;wevtutil gp Microsoft-Windows-Security-Auditing /ge /gm:true&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;This example dumps only the 360 or so unique security event messages (publisher=Microsoft-Windows-Security-Auditing); other publishers can be enumerated with the &lt;STRONG&gt;ep&lt;/STRONG&gt; switch of wevtutil.&lt;/P&gt;
&lt;P&gt;Event messages can be formatted as XML using the /f switch, see the command-line help.&lt;/P&gt;
&lt;P&gt;As a side note, this is, in slightly different format, the same information we publish in the KB, and a KB article is in the works.&lt;/P&gt;
&lt;P&gt;Why did we renumber the events?&amp;nbsp; As explained in my earlier &lt;A class="" href="http://blogs.msdn.com/ericfitz/archive/2007/04/18/vista-security-events-get-noticed.aspx" mce_href="http://blogs.msdn.com/ericfitz/archive/2007/04/18/vista-security-events-get-noticed.aspx"&gt;post&lt;/A&gt;, we changed the internal detail of each event so much (to improve understandability, readability, consistency, etc.) that we would have broken essentially all existing automation anyway.&amp;nbsp; By renumbering the events we made the automation break in as obvious a way as possible, and also made it as clear as possible that THESE ARE DIFFERENT EVENTS.&lt;/P&gt;
&lt;P&gt;The "add 4096" rule is not meant to imply that the events are the same, but rather allows you to find the new equivalent event, if you have knowledge of the old event.&amp;nbsp; Simply renumbering your automation will not make it work.&amp;nbsp; It's a mental aid for you, the Windows security professional.&lt;/P&gt;
&lt;P&gt;[2007-10-12 Update: changed tags]&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4153099" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Descriptions/default.aspx">Descriptions</category><category domain="http://blogs.msdn.com/ericfitz/archive/tags/HowTo/default.aspx">HowTo</category><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Tips/default.aspx">Tips</category><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Tools/default.aspx">Tools</category></item><item><title>The Trouble With Logoff Events</title><link>http://blogs.msdn.com/ericfitz/archive/2007/05/08/the-trouble-with-logoff-events.aspx</link><pubDate>Tue, 08 May 2007 23:37:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2487738</guid><dc:creator>Eric Fitzgerald</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/ericfitz/comments/2487738.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ericfitz/commentrss.aspx?PostID=2487738</wfw:commentRss><wfw:comment>http://blogs.msdn.com/ericfitz/rsscomments.aspx?PostID=2487738</wfw:comment><description>&lt;P&gt;A lot of you guys probably are using your SEM/SEIM systems to record logon and logoff activity without much of a second thought.&lt;/P&gt;
&lt;P&gt;I just thought I'd bring one problem to your attention.&lt;/P&gt;
&lt;P&gt;Logoff events are not strictly reliable.&lt;/P&gt;
&lt;P&gt;From an engineering sense they are deterministic.&amp;nbsp; However like many audit events, if you don't really think about how they work you might make assumptions that aren't correct.&amp;nbsp; And you know what they say about assumptions...&lt;/P&gt;
&lt;P&gt;Anyway, here's the problem.&amp;nbsp; There is nothing that requires a client to notify you when the client decides to stop using your services.&amp;nbsp; So for network logon sessions, the "logoff" event often just means "I got tired of waiting with reserved resources allocated for the client, so I reclaimed the resources.&amp;nbsp; I'll give the client more resources if they come back (and can authenticate)".&amp;nbsp; In other words- timeout.&lt;BR&gt;&lt;BR&gt;You cannot, with protocols, force a client to notify you that they're done.&amp;nbsp; Nice clients will if they can.&amp;nbsp; Sometimes they physically&amp;nbsp;can't notify you (this could be what we used to call the "backhoe and a beer" problem in&amp;nbsp;my years in product support&amp;nbsp;that is completely beyond the client's control).&amp;nbsp; Sometimes they just choose not to notify you.&amp;nbsp; I myself have designed software which just tore down the network connection when done or at the first sign of trouble, and started over again from scratch, rather than go through sophisticated "goodbye" or "fault" semantics.&amp;nbsp; A robust server can handle the situation and will notice fairly quickly, reclaiming any reserved resources and generating any necessary audit trail.&amp;nbsp; However I have seen software that has such expensive connection set-up that they hang on to connections for dear life long after everyone else would have turned out the lights and gone home.&amp;nbsp; The funny&amp;nbsp;thing is that half the time they don't realize that their client crashed, lost its state (that they were depending on for reconnection) and rebooted, and has reconnected with a new session.&amp;nbsp; But I digress.&lt;/P&gt;
&lt;P&gt;For interactive logon sessions, there is no guarantee of a logoff event either.&amp;nbsp; There is no law of physics that forces a logoff audit if I pull the power cord out while I'm plugged in.&lt;/P&gt;
&lt;P&gt;Plus, I've talked about token leaks before haven't I?&amp;nbsp; Maybe not?&lt;/P&gt;
&lt;P&gt;Windows logon events technically mean that we have created a data structure called a logon session.&amp;nbsp; Associated with a logon session are one or more data structures called tokens.&amp;nbsp; Each token has a number associated with it called a reference count, which is just a count of how many&amp;nbsp;processes&amp;nbsp;are using it at any given time.&amp;nbsp; The reference count starts at 1 and goes up whenever a new process starts and down when the process terminates.&amp;nbsp; It also goes up when a process specifically asks for a reference to a token and goes down when the process releases that reference.&amp;nbsp; When the last process (your shell program, Explorer) releases its reference to your token, the token's reference count drops to zero.&amp;nbsp; When the reference count drops to zero we destroy the token and the logon session associated with the token; the logoff event means the logon session was destroyed.&amp;nbsp; For network logons we use a thread token that is given back to the service that asked to log you on; that token is usually assigned to a thread that does work on your behalf.&amp;nbsp; It's all a little more complex than this in real life but this is basically how it works.&lt;/P&gt;
&lt;P&gt;Anyway many applications, particularly server applications, request references to tokens, and then forget to release the references.&amp;nbsp; This causes the reference counts to never drop to zero, and prevents us from generating the logoff event as a result.&lt;/P&gt;
&lt;P&gt;To work around this we added the "Begin logoff" event (551) in Windows Server 2003, which can be interpreted as a logoff event, but this doesn't cover all cases.&amp;nbsp; There are still some cases where logoff events are not generated due to poorly behaving applications.&amp;nbsp; We fix all known instances of this in the operating system before we release Windows, and we test it rather thoroughly, but we can't promise that your applications will not leak tokens.&amp;nbsp; If you encounter this you can troubleshoot by isolating each application until the token leak goes away, and then working with that application vendor.&lt;/P&gt;
&lt;P&gt;Eric&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=2487738" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Descriptions/default.aspx">Descriptions</category><category domain="http://blogs.msdn.com/ericfitz/archive/tags/HowTo/default.aspx">HowTo</category><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Tips/default.aspx">Tips</category></item><item><title>How are object access events generated?</title><link>http://blogs.msdn.com/ericfitz/archive/2006/10/26/how-are-object-access-events-generated.aspx</link><pubDate>Thu, 26 Oct 2006 20:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:876325</guid><dc:creator>Eric Fitzgerald</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/ericfitz/comments/876325.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ericfitz/commentrss.aspx?PostID=876325</wfw:commentRss><wfw:comment>http://blogs.msdn.com/ericfitz/rsscomments.aspx?PostID=876325</wfw:comment><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;I wrote this as an answer for Tom, who emailed me, but I thought I'd share it with everyone.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;There are&amp;nbsp;7 events associated with object access auditing in Windows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;560&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; is the "open handle" event.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It is logged when an app asks for access to an object (via a call like CreateFile).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;An access check is performed against the DACL (discretionary access control list == permissions) and an audit check is performed against the SACL (system access control list == audit settings).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If the result of the access check matches the result of the audit check, an audit is generated- for successful accesses, the audit records the accesses that were granted, and for failures, the audit records the accesses that were requested.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If the access check was successful, then a handle is returned to the calling program.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;There is no event 561.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;I don't know why, maybe we'll use it in the future for something cool we haven't thought of yet.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;562&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; is the "close handle" event.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It is logged when an app disposes of an existing handle (how it got the handle is described above).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;563&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; is the "open handle for delete" event.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It works EXACTLY like event 560, and is logged only for files and only when the CreateFile API is called with a special flag that says "This is going to be a temporary file, delete it when I close the handle".&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;564&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; is the "delete" event.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It works EXACTLY like event 562, but it is logged in conjunction with event 563 rather than event 560.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Note that depending on how the object was deleted, you might get a 560-562 pair or a 563-564 pair.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The former are much more common.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;565&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; and &lt;B style="mso-bidi-font-weight: normal"&gt;566&lt;/B&gt; are application and AD access audit events.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;They record the actual accesses that were performed on the application-specific object or on the AD object.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;There are no handle semantics for these events.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;567&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt; is the "operation audit" event.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It first exists on Windows XP.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Once a handle to an object is opened (event 560 or 563), 567 is generated the first time an audited access is performed on an object.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;Now let's put this together.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;Scenario 1:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Notepad is used to open an existing text file.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;Notepad calls createfile("filename.txt").&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Access check is performed, not opening for delete--&amp;gt; generate event 560 and list the accesses notepad was given (== what it asked for).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Notepad is a well-behaved app and only asks for what it intends to use: GENERIC_READ (==read_control + read_data + read_attributes).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Notepad reads the file (event 567 for "read_data") and closes the handle (event 562).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;Scenario 2: Word is used to open an existing Word document.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;Word has funny file i/o semantics.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You've probably noticed that it generates files with silly names like "~ocument1.doc" and "~wrdf7.tmp".&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If you were to watch it very carefully with a program like FileMon from SysInternals, you'd notice that what Word does is:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;1) Copy the file with a new name&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;2) Creates one or more temporary files for doing some operations (I don't know exactly what for)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;3) Update the metadata in the original file to indicate it's locked for editing&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;4) Operate on the copy&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;And at save it:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;5) Deletes the original file&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;6) Renames the working copy with the original name&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;7) Deletes the temporary working file(s)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;The audit trail looks much more unusual:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;You'll see 560 for the original file (open handle with all accesses), 560 for the copy (if there's an object-inherit SACL on the directory), 560 for the temp file, 567 (read data + write data) for the original file (reading the contents to write to the temporary file, writing metadata to the original file), 567 for the copy (write data), 567 for the temp file (???), and possibly more 567 events as it accesses the files.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;At the end when you save you see a similar mess as it cleans up.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It can vary a little depending on what you do in Word.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;You might ask, “Well, Eric, why don’t you just get rid of all that junk and just log an event that says what Word did?”.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;Good question.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;As I mentioned in my post on “&lt;A href="http://blogs.msdn.com/ericfitz/archive/2006/09/20/763918.aspx" mce_href="http://blogs.msdn.com/ericfitz/archive/2006/09/20/763918.aspx"&gt;Trustworthiness in Audit Records&lt;/A&gt;”, the only practical way to do that would be to instrument Word for audit, and then the audit trail would be exactly as reliable as the user using Word, because if Word can write to the audit trail, and Word is running in the user’s context, then the user can write to the audit trail.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;Now, we CAN improve things.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In fact we did for Vista.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Most people other than developers and Common Criteria evaluators don’t care about handle open/close audit events.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;So we made those harder to turn on in Vista, and we improved the “operation” audit event (was id 567, now it’s 4663 in Vista) so that it can stand alone.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;So by default when you turn on object auditing, you don’t see who requested access to objects, you see who performed access on objects.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This is a huge step in the right direction, IMO.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;There's a good technical discussion of access check &amp;amp; audit here.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It’s a little dated- it pre-dates event 567 in XP- but it is still accurate.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;I suggest that you read the whole "access control" section, but at the very least, read the 2 pages in this section on "access check" and "audit generation".&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;Eric&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Verdana','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-family: Arial"&gt;[2008-09-04 Updated link]&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=876325" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Descriptions/default.aspx">Descriptions</category><category domain="http://blogs.msdn.com/ericfitz/archive/tags/HowTo/default.aspx">HowTo</category></item><item><title>Quick Overview of Object Access Auditing in Windows</title><link>http://blogs.msdn.com/ericfitz/archive/2006/03/07/545726.aspx</link><pubDate>Wed, 08 Mar 2006 01:16:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:545726</guid><dc:creator>Eric Fitzgerald</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/ericfitz/comments/545726.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ericfitz/commentrss.aspx?PostID=545726</wfw:commentRss><wfw:comment>http://blogs.msdn.com/ericfitz/rsscomments.aspx?PostID=545726</wfw:comment><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;A lot of people are unhappy with object access auditing on Windows, because what they want to know is "who touched the object and what did that person do", but what Windows auditing tells you is actually "who touched the object and what did they ask for permission to do".&amp;nbsp; The distinction is subtle, but if you are interpreting object access events as recording what changes were made to objects, then you're probably misunderstanding what the log is saying.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Tahoma"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;To that end, here's a brief overview of Windows Object Access auditing.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Tahoma"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt;On all OS's since Windows NT 3.1 up to and including Windows Server 2003:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;A href="http://www.microsoft.com/technet/support/ee/transform.aspx?ProdName=Windows%20Operating%20System&amp;amp;ProdVer=5.0&amp;amp;EvtID=560&amp;amp;EvtSrc=Security&amp;amp;LCID=1033"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT size=2&gt;Event 560&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt; is recorded when an attempt is made to open a handle an object, and the object has a &lt;SPAN style="COLOR: black"&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/secgloss/security/s_gly.asp?FRAME=true#_security_system_access_control_list_gly"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;System Access Control&amp;nbsp;List&lt;/SPAN&gt;&lt;/A&gt; &lt;/SPAN&gt;(SACL) which matches the access attempt. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;UL type=circle&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level2 lfo1; tab-stops: list 1.0in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt;For successful accesses, the granted access mask is compared to the SACL for &lt;SPAN style="COLOR: black"&gt;&lt;A href="http://msdn.microsoft.com/library/en-us/secgloss/security/a_gly.asp?FRAME=true#_security_access_control_entry_gly"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;Access Control Entries&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt; (ACEs) which match the token used to request access, and if there is a match, the granted access mask is recorded. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level2 lfo1; tab-stops: list 1.0in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt;For failed accesses, the requested access mask is compared to the SACL for ACE entries which match the token used to request access, and if there is a match, the requested access mask is recorded. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: black; mso-list: l0 level2 lfo1; tab-stops: list 1.0in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;FONT size=2&gt;&lt;SPAN style="COLOR: windowtext; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;For more detail on access check and audit generation, read this: &lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;UL type=square&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: navy; mso-list: l0 level3 lfo1; tab-stops: list 1.5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;A href="http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/distrib/dsce_ctl_tmvc.asp?frame=true"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT size=2&gt;Overview &lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Tahoma"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: black; mso-list: l0 level3 lfo1; tab-stops: list 1.5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;A href="http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/distrib/dsce_ctl_rsty.asp?frame=true"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT size=2&gt;Access check&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT size=2&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; COLOR: black; mso-list: l0 level3 lfo1; tab-stops: list 1.5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;A href="http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/distrib/dsce_ctl_qsyx.asp?frame=true"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT size=2&gt;Audit generation&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT size=2&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;A href="http://www.microsoft.com/technet/support/ee/transform.aspx?ProdName=Windows%20Operating%20System&amp;amp;ProdVer=5.0&amp;amp;EvtID=562&amp;amp;EvtSrc=Security&amp;amp;LCID=1033"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT size=2&gt;Event 562&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt; is recorded when a previously opened handle is closed. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;A href="http://www.microsoft.com/technet/support/ee/transform.aspx?ProdName=Windows%20Operating%20System&amp;amp;ProdVer=5.0&amp;amp;EvtID=563&amp;amp;EvtSrc=Security&amp;amp;LCID=1033"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT size=2&gt;Event 563&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt; is recorded in the same manner as event 560, but when the object is a file opened with the FILE_FLAG_DELETE_ON_CLOSE flag. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;A href="http://www.microsoft.com/technet/support/ee/transform.aspx?ProdName=Windows%20Operating%20System&amp;amp;ProdVer=5.0&amp;amp;EvtID=564&amp;amp;EvtSrc=Security&amp;amp;LCID=1033"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT size=2&gt;Event 564&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt; is recorded when a file handle opened for delete, is closed, and therefore the file is deleted. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt;Note that event 560 does not record what was done to the object, only what accesses were requested to the object.&amp;nbsp; This is an important distinction.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt;On Windows XP and Windows Server 2003 a new feature "Operation-Based Auditing" was added:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo2; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;A href="http://www.microsoft.com/technet/support/ee/transform.aspx?ProdName=Windows%20Operating%20System&amp;amp;ProdVer=5.2&amp;amp;EvtID=567&amp;amp;EvtSrc=Security&amp;amp;LCID=1033"&gt;&lt;SPAN style="mso-bidi-font-size: 12.0pt"&gt;&lt;FONT size=2&gt;Event 567&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt;is recorded for the first instance of a specific access being performed against an open handle.&amp;nbsp; The event records the access(es) that were performed against the handle. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;UL type=circle&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l2 level2 lfo2; tab-stops: list 1.0in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt;Event 567 is only recorded for the first instance of any access against a given handle- if an application opens a file and writes to it a hundred times, only one WRITE_DATA event will be generated.&amp;nbsp; If the same handle is used for a different access, then a new event will be generated with the new access.&amp;nbsp; If more than one access is performed against a handle at the same time, the operation audit will include all accesses that were performed at that time.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Tahoma"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l2 level2 lfo2; tab-stops: list 1.0in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt;Event 567 does not record the object name; it's necessary to correlate event 567 with the most recent event 560 (where 567.handle_id==560.handle_id) to determine the object name. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l2 level2 lfo2; tab-stops: list 1.0in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;Event 567 does not record the results of changes to objects; that is, it doesn't record before &amp;amp; after values.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Tahoma"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l2 level2 lfo2; tab-stops: list 1.0in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;Due to a bug, &lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-FAMILY: Tahoma"&gt;remote&lt;/SPAN&gt;&lt;/I&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt; accesses to files (via shares)&amp;nbsp;do not cause event&amp;nbsp;567&amp;nbsp;until Windows XP Service Pack 2 and Windows Server 2003 Service Pack 1.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt;On Windows &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:place w:st="on"&gt;Vista&lt;/st1:place&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo3; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt;The event id numbers of all these events change by +4096.&amp;nbsp; That is, 560 becomes 4656, 567 becomes 4663, etc.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Tahoma"&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo3; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt;Event 4663 (previously 567) records the object name; handle id correlation is no longer required. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo3; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt;For registry and DS objects, the old and new values of changed objects are recorded when practical. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo3; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;&lt;FONT size=2&gt;Audit policy allows auditing to be enabled on a&amp;nbsp;per-object-type (file, registry, etc.) basis vs. all-or-nothing. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo3; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;FONT size=2&gt;&lt;SPAN style="FONT-FAMILY: Tahoma; mso-bidi-font-size: 10.0pt"&gt;Audit policy allows handle-based auditing to be disabled and only operation audits (event 4663) to be generated.&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: Tahoma"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Tahoma; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA"&gt;That's all for now!&amp;nbsp; As always, comments are welcome!&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=545726" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Descriptions/default.aspx">Descriptions</category><category domain="http://blogs.msdn.com/ericfitz/archive/tags/HowTo/default.aspx">HowTo</category><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Previews/default.aspx">Previews</category></item><item><title>Privilege Use- what do we audit, and when?</title><link>http://blogs.msdn.com/ericfitz/archive/2005/12/05/500316.aspx</link><pubDate>Tue, 06 Dec 2005 03:06:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:500316</guid><dc:creator>Eric Fitzgerald</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/ericfitz/comments/500316.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ericfitz/commentrss.aspx?PostID=500316</wfw:commentRss><wfw:comment>http://blogs.msdn.com/ericfitz/rsscomments.aspx?PostID=500316</wfw:comment><description>&lt;P&gt;&lt;FONT face=Verdana size=2&gt;Odd thing today- I got two questions about the obscure "&lt;/FONT&gt;&lt;A href="http://www.microsoft.com/technet/prodtechnol/windowsserver2003/library/ServerHelp/ee2f85ac-e3fb-4a24-b133-8c7fdfc5cee8.mspx"&gt;&lt;FONT face=Verdana size=2&gt;FullPrivilegeAuditing&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt;" registry setting- so I thought I'd post my answer.&amp;nbsp; Some of this is not new, I posted on the &lt;/FONT&gt;&lt;a href="http://blogs.msdn.com/ericfitz/archive/2004/12/20/327478.aspx"&gt;&lt;FONT face=Verdana size=2&gt;Windows Server 2003 SP1 changes to auditing&lt;/FONT&gt;&lt;/A&gt;&lt;FONT face=Verdana size=2&gt; a while back.&lt;/FONT&gt;&lt;/P&gt;&lt;FONT face=Verdana size=2&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Events ID 577 and 578 are governed by the Privilege Use audit category.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;All privileges except the following are audited by these events:&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in" type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo1; tab-stops: list .5in"&gt;ChangeNotifyPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo1; tab-stops: list .5in"&gt;AuditPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo1; tab-stops: list .5in"&gt;CreateTokenPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo1; tab-stops: list .5in"&gt;AssignPrimaryTokenPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo1; tab-stops: list .5in"&gt;DebugPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo1; tab-stops: list .5in"&gt;SystemtimePrivilege (only suppressed for services, and only on Windows Server 2003) 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo1; tab-stops: list .5in"&gt;BackupPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l1 level1 lfo1; tab-stops: list .5in"&gt;RestorePrivilege&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;With FullPrivilegeAuditing enabled audit will only be suppressed for these privileges:&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in" type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l3 level1 lfo2; tab-stops: list .5in"&gt;ChangeNotifyPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l3 level1 lfo2; tab-stops: list .5in"&gt;AuditPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l3 level1 lfo2; tab-stops: list .5in"&gt;CreateTokenPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l3 level1 lfo2; tab-stops: list .5in"&gt;AssignPrimaryTokenPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l3 level1 lfo2; tab-stops: list .5in"&gt;DebugPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l3 level1 lfo2; tab-stops: list .5in"&gt;SystemtimePrivilege (only suppressed for services, and only on Windows Server 2003)&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Prior to Windows Server 2003 SP1, Windows generated audit event 576 at logon if the account held any of these privileges (notice that it's the same list that is used for FullPrivilegeAuditing, by default- no coincidence- same data structure).&amp;nbsp; The theory of operation was that event ID 576 recorded privileges held at logon which did not cause the generation of privilege use audits under normal usage circumstances.&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in" type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo3; tab-stops: list .5in"&gt;ChangeNotifyPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo3; tab-stops: list .5in"&gt;AuditPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo3; tab-stops: list .5in"&gt;CreateTokenPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo3; tab-stops: list .5in"&gt;AssignPrimaryTokenPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo3; tab-stops: list .5in"&gt;BackupPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo3; tab-stops: list .5in"&gt;RestorePrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l2 level1 lfo3; tab-stops: list .5in"&gt;DebugPrivilege&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;Starting with Windows Server 2003 SP1, these privileges cause event 576.&amp;nbsp; The new theory of operation is that event ID 576 records privileges which are "administrator-equivalent"- privileges which can either be used to elevate to administrator, or to compromise the audit trail.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In other words, we re-purposed an event that no one cared about.&lt;/P&gt;
&lt;UL style="MARGIN-TOP: 0in" type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo4; tab-stops: list .5in"&gt;AssignPrimaryTokenPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo4; tab-stops: list .5in"&gt;AuditPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo4; tab-stops: list .5in"&gt;BackupPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo4; tab-stops: list .5in"&gt;CreateTokenPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo4; tab-stops: list .5in"&gt;DebugPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo4; tab-stops: list .5in"&gt;EnableDelegationPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo4; tab-stops: list .5in"&gt;ImpersonatePrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo4; tab-stops: list .5in"&gt;LoadDriverPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo4; tab-stops: list .5in"&gt;RestorePrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo4; tab-stops: list .5in"&gt;SecurityPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo4; tab-stops: list .5in"&gt;SystemEnvironmentPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo4; tab-stops: list .5in"&gt;TakeOwnershipPrivilege 
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; mso-list: l0 level1 lfo4; tab-stops: list .5in"&gt;TcbPrivilege&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;In Windows Server 2003 RTM, Windows generates event ID 576 if either the Logon/Logoff category or the Privilege Use category is enabled.&amp;nbsp; In Windows Vista, it's a Logon event only (in the "Special Logon" subcategory), and no longer associated with the Privilege Use category.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=500316" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Descriptions/default.aspx">Descriptions</category></item><item><title>Why don't I see the workstation name in logon events?</title><link>http://blogs.msdn.com/ericfitz/archive/2005/08/09/why-don-t-i-see-the-workstation-name-in-logon-events.aspx</link><pubDate>Tue, 09 Aug 2005 23:19:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:449664</guid><dc:creator>Eric Fitzgerald</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/ericfitz/comments/449664.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ericfitz/commentrss.aspx?PostID=449664</wfw:commentRss><wfw:comment>http://blogs.msdn.com/ericfitz/rsscomments.aspx?PostID=449664</wfw:comment><description>&lt;P&gt;&lt;FONT size=2 face=Tahoma&gt;Top reasons:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Tahoma&gt;1. In NTLM logons, it's subject to spoofing.&amp;nbsp; There exist hacking tools which improperly populate the workstation field of the logon request.&amp;nbsp; I don't know if this is intentional or not.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Tahoma&gt;2. There is no way to carry this information in LDAP requests; AD logon events will never have the workstation name.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Tahoma&gt;3. As discussed in a &lt;A title="Deciphering Account Logon Events" href="http://blogs.msdn.com/ericfitz/archive/2005/08/04/447934.aspx" mce_href="http://blogs.msdn.com/ericfitz/archive/2005/08/04/447934.aspx"&gt;previous post&lt;/A&gt; about account logon events, there's not a standard way for us to carry this information in a Kerberos ticket request.&amp;nbsp; There's no place for us to put it in the Kerberos ticket without breaking compatibility.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Tahoma&gt;4. Reverse lookup (DNS or NetBIOS) is unreliable and insecure, and not configured in many locations.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2 face=Tahoma&gt;Eric&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=449664" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Descriptions/default.aspx">Descriptions</category><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Tips/default.aspx">Tips</category></item><item><title>Deciphering Account Logon Events</title><link>http://blogs.msdn.com/ericfitz/archive/2005/08/04/447934.aspx</link><pubDate>Fri, 05 Aug 2005 04:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:447934</guid><dc:creator>Eric Fitzgerald</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/ericfitz/comments/447934.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ericfitz/commentrss.aspx?PostID=447934</wfw:commentRss><wfw:comment>http://blogs.msdn.com/ericfitz/rsscomments.aspx?PostID=447934</wfw:comment><description>&lt;P&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;One of the most common questions that I get about Windows Auditing is, how come you guys were so @#%! stupid that you put in two logon categories?&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;The answer is actually pretty simple- we're bad at choosing names.&amp;nbsp; "Account Logon" isn't really about logon, it's about credential validation.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;Here's the low down on what is the difference between Logon/Logoff and Account Logon events, and how to decipher Account Logon events.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;&lt;STRONG&gt;Audit Logon/Logoff generates events for the creation and destruction of logon sessions.&amp;nbsp; These events occur on the machine which was accessed&lt;/STRONG&gt;.&amp;nbsp; In the case of an interactive logon, these would be generated on the machine which was logged on to.&amp;nbsp; In the case of network logon, for example, accessing a share, these events would be generated on the machine hosting the resource that was accessed.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;&lt;STRONG&gt;Audit Account Logon generates events for credential validation. These events occur on the machine which is authoritative for the credentials&lt;/STRONG&gt;.&amp;nbsp; For domain accounts, the domain controller is authoritative. For local accounts, the local machine is authoritative.&amp;nbsp; Since domain accounts are used much more frequently in enterprise environments than local accounts, most of the Account Logon events in a domain environment occur on the domain controllers which are authoriative for the domain accounts.&amp;nbsp; However, these events can occur on any machine, and may occur in conjunction with or on separate machines from logon/logoff events.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma size=2&gt;&lt;STRONG&gt;Logging on interactively to a workstation, using a domain account, can cause more activity than you might expect on the DC.&amp;nbsp; &lt;/STRONG&gt;An interactive logon is pretty complex and involves multiple steps.&amp;nbsp; Typically, from the time you turn on your workstation until the time you are viewing your desktop, the following things happen:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma size=2&gt;Machine establishes trust with domain: Kerberos AS request (Event 672 on the DC), Kerberos TGS request for AD (DC, 673)&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma size=2&gt;Machine gets policy: Kerberos TGS request for access to Netlogon share on DC [group policy] (DC, 673) (DC, 540, 538, maybe more than once)&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma size=2&gt;User logs on: Kerberos AS request (DC, 672), Kerberos TGS request for AD (DC, 673), Logon session created (workstation, 528, 576)&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma size=2&gt;User gets policy: Kerberos TGS request for DC\Netlogon [logon scripts, group policy] (DC, 673), Network logon (DC, 540, 538, usually 2-3 rounds)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT face=Tahoma&gt;&lt;FONT size=2&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT color=#000000&gt;In Account Logon failures for Kerberos,&amp;nbsp;the KDC has to generate an AS reply with an RFC 1510 error.&amp;nbsp;Since RFC 1510 error codes don't contemplate Windows-specific errors, and we have to return Kerberos-specific errors in Kerberos AS request failure replies, we had to map Windows error conditions to kerberos error codes. &lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT color=#000000&gt;The error code mappings are described in the Kerberos Troubleshooting document that is available on Microsoft.com: &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/tkerberr.mspx"&gt;&lt;FONT color=#000000&gt;http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/security/tkerberr.mspx&lt;/FONT&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;Here are some questions that you might have about Account Logon events:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=838255816-03082005&gt;&lt;/SPAN&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;Q: Why do you only have the IP address in the Account Logon event, and not the computer name?&lt;BR&gt;A: There are three reasons:&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;There is no secure method for the KDC to get the remote machine's name at the current time.&amp;nbsp; If the client provides the name (as in NTLM), then it's not trustworthy and can be spoofed.&amp;nbsp; There are Unix-based hacking tools which spoof workstation name in NTLM auth requests.&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT color=#000000 size=2&gt;&lt;FONT face=Tahoma&gt;DNS and NetBIOS reverse lookup are not secure and are not reliable- if we tried this, we'd have a high incidence of incorrect or missing information, and hurt performance.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma color=#000000 size=2&gt;&lt;SPAN class=838255816-03082005&gt;&lt;/SPAN&gt;Even if we chose to do add the name anyway, when we could, there's no field for us to use to carry it&amp;nbsp;in Kerberos AS REQ &amp;amp; TGS REQ messages- we'd have to overload some other field, and run a high risk of loss of compatibility with MIT's reference implementation.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma size=2&gt;Q: How do I correlate the Account Logon event on a DC with the Logon/Logoff event on the machine which was accessed?&lt;BR&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma size=2&gt;A:&amp;nbsp;Easy!&amp;nbsp; The Account Logon event and the Logon/Logoff event both contain a field called a Logon GUID, starting in Windows Server 2003.&amp;nbsp; Just compare the GUIDs- if they match, it's the same Kerberos ticket.&amp;nbsp; Unfortunately this only works for Kerberos; other Logon events contain a GUID that is all zeroes.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma size=2&gt;Q: Is there such a thing as an Account Logoff event?&lt;BR&gt;A: No.&amp;nbsp;The DC is only aware of logons, not logoffs (there's no possible way to force a machine to contact a DC when logging off- consider crashes, etc.)&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma size=2&gt;Q: I just want to monitor my DC's logs.&amp;nbsp; Is that good enough?&lt;BR&gt;A: Well, the DC has a distorted view of logon as mentioned above.&amp;nbsp; Also, the DC only knows where the logon request came from most recently.&amp;nbsp; Consider using IIS- the logon request originates at a browser somewhere on the internet.&amp;nbsp; IIS receives the request and then sends a logon request to the DC.&amp;nbsp; From the DC's point of view, the source of the logon is IIS.&amp;nbsp; If you only collect the DC's logs, you'll miss the detail of where the request came from.&amp;nbsp; This is true for any network service- RPC, file sharing, remote desktop, etc.&amp;nbsp; Also, the DC doesn't have enough information to answer "how long was the user logged on".&amp;nbsp; However there is one really interesting piece of information in DC logs.&amp;nbsp; In event 673 (Kerberos Service Ticket granted), the service name is listed.&amp;nbsp; This is the most detail that the DC can provide, on what the user was logging on for.&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN class=838255816-03082005&gt;&lt;FONT face=Tahoma size=2&gt;Eric&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=447934" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Descriptions/default.aspx">Descriptions</category></item><item><title>Events 528 and 540</title><link>http://blogs.msdn.com/ericfitz/archive/2004/12/09/279282.aspx</link><pubDate>Fri, 10 Dec 2004 04:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:279282</guid><dc:creator>Eric Fitzgerald</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/ericfitz/comments/279282.aspx</comments><wfw:commentRss>http://blogs.msdn.com/ericfitz/commentrss.aspx?PostID=279282</wfw:commentRss><wfw:comment>http://blogs.msdn.com/ericfitz/rsscomments.aspx?PostID=279282</wfw:comment><description>&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Logon events.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Event 528 and Event 540 are the Logon events.&amp;nbsp; Event 528 is for all logons except "network" logons.&amp;nbsp; "Network" logons are SMB/Microsoft-DS logons (i.e. connecting to a share).&amp;nbsp; RDP, IIS, FTP logons, etc., are event 528 even though credentials may have come from over the network.&amp;nbsp; All event 540's are logon type 3.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;For Kerberos logons, the workstation field might not be filled out- the Kerberos ticket request messages don't have a field where we can carry this information and authentication of the user account is not based on the machine's TGT, so to the KDC, the workstation just looks like an IP address.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Not every code path in Windows Server 2003&amp;nbsp;is instrumented for IP address, so it's not always filled out.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;"Transited services" is part of our S4U delegation mechanism.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;Here's the description from &lt;/FONT&gt;&lt;A href="http://www.microsoft.com/technet/support/ee/result.aspx?EvtSrc=Security&amp;amp;EvtID=528&amp;amp;ProdName=Windows+Operating+System&amp;amp;LCID=1033&amp;amp;ProdVer=5.2"&gt;&lt;FONT face=Tahoma size=2&gt;http://www.microsoft.com/technet/support/ee/result.aspx?EvtSrc=Security&amp;amp;EvtID=528&amp;amp;ProdName=Windows+Operating+System&amp;amp;LCID=1033&amp;amp;ProdVer=5.2&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;TABLE id=TopTable style="WIDTH: 500px" cellSpacing=0 cellPadding=3 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD style="BORDER-TOP: #cccccc thin solid; BORDER-LEFT: #cccccc thin solid; WIDTH: 150px; BORDER-BOTTOM: #cccccc thin solid" vAlign=top noWrap&gt;
&lt;P&gt;&lt;B&gt;&lt;FONT face=Tahoma size=2&gt;Message:&lt;/FONT&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;&lt;FONT face=Tahoma size=2&gt;&lt;/FONT&gt;&lt;/STRONG&gt;&amp;nbsp;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-RIGHT: #cccccc thin solid; BORDER-TOP: #cccccc thin solid; BORDER-BOTTOM: #cccccc thin solid" align=left&gt;&lt;FONT face=Tahoma size=2&gt;Successful Logon:&lt;BR&gt;User Name: %1&lt;BR&gt;Domain: %2&lt;BR&gt;Logon ID: %3&lt;BR&gt;Logon Type: %4&lt;BR&gt;Logon Process: %5&lt;BR&gt;Authentication Package: %6&lt;BR&gt;Workstation Name: %7&lt;BR&gt;Logon GUID: %8&lt;BR&gt;Caller User Name: %9&lt;BR&gt;Caller Domain: %10&lt;BR&gt;Caller Logon ID: %11&lt;BR&gt;Caller Process ID: %12&lt;BR&gt;Transited Services: %13&lt;BR&gt;Source Network Address: %14&lt;BR&gt;Source Port: %15&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colSpan=2&gt;&lt;FONT face=Tahoma size=2&gt;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=tdH3 colSpan=2&gt;&lt;FONT face=Tahoma size=2&gt;Explanation&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colSpan=2&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;A logon session was successfully created for the user. The message contains the Logon ID, a number that is generated when a user logs on to a computer. The Logon ID is unique to that logon session until the computer is restarted, at which point the Logon ID may be reused. The Logon ID can be used to correlate a logon message with other messages, such as object access messages.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;For logons that use Kerberos, the logon GUID can be used to associate a logon event on this computer with an account logon message on an authenticating computer, such as a domain controller.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;This message includes the user name and the domain information for the user account that logged on, the name of the logon process that logged the user on, the type of authentication credentials that were presented, and a logon GUID (globally unique identifier).&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;This message also includes a logon type code. The logon type code indicates the manner in which the user logged on. The following table explains the logon type code:&lt;/FONT&gt;&lt;/P&gt;
&lt;TABLE cellSpacing=0 cellPadding=3 border=1&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH&gt;&lt;FONT face=Tahoma size=2&gt;Logon type&lt;/FONT&gt;&lt;/TH&gt;
&lt;TH&gt;&lt;FONT face=Tahoma size=2&gt;Logon title&lt;/FONT&gt;&lt;/TH&gt;
&lt;TH&gt;&lt;FONT face=Tahoma size=2&gt;Description&lt;/FONT&gt;&lt;/TH&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;2&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;Interactive&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;A user logged on to this computer at the console.&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;3&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;Network&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;A user or computer logged on to this computer from the network.&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;4&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;Batch&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;Batch logon type is used by batch servers, where processes might run on behalf of a user without the user's direct intervention.&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;5&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;Service&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;A service was started by the Service Control Manager.&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;7&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;Unlock&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;This workstation was unlocked.&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;8&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;NetworkCleartext&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;A user logged on to a network and the user password was passed to the authentication package in its unhashed (plain text) form. It is possible that the unhashed password was passed across the network, for example, when IIS performed basic authentication.&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;9&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;NewCredentials&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;A caller (process, thread, or program) cloned its current token and specified new credentials for outbound connections. The new logon session has the same local identity, but it uses different credentials for other network connections.&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;10&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;RemoteInteractive&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;A user logged on to this computer remotely using Terminal Services or a Remote Desktop connection.&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;11&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;CachedInteractive&lt;/FONT&gt;&lt;/TD&gt;
&lt;TD&gt;&lt;FONT face=Tahoma size=2&gt;A user logged on to this computer with network credentials that were stored locally on the computer. The domain controller was not contacted to verify the credentials.&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;The Workstation name field specifies the NetBIOS name of the remote computer that originated the logon request. If no information is displayed in this field, either a Kerberos logon attempt failed because the ticket could not be decrypted, or a non-Windows NetBIOS implementation or utility did not supply the remote computer name in the logon request.&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colSpan=2&gt;&lt;FONT face=Tahoma size=2&gt;&amp;nbsp; &amp;nbsp;&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD class=tdH3 colSpan=2&gt;&lt;FONT face=Tahoma size=2&gt;User Action&lt;/FONT&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD colSpan=2&gt;
&lt;P&gt;&lt;FONT face=Tahoma size=2&gt;No user action is required.&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=279282" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/ericfitz/archive/tags/Descriptions/default.aspx">Descriptions</category></item></channel></rss>