<?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>Your debugging code can be a security hole</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2005/12/12/502719.aspx</link><description>Your log files and debugging hooks can reveal information.</description><dc:language>en-US</dc:language><generator>Telligent Evolution Platform Developer Build (Build: 5.6.50428.7875)</generator><item><title>Applications and DLLs don't have privileges; users do</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2005/12/12/502719.aspx#705960</link><pubDate>Fri, 18 Aug 2006 17:00:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:705960</guid><dc:creator>The Old New Thing</dc:creator><description>The Windows security model is based on identity.&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=705960" width="1" height="1"&gt;</description></item><item><title>re: Your debugging code can be a security hole</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2005/12/12/502719.aspx#503744</link><pubDate>Wed, 14 Dec 2005 23:32:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:503744</guid><dc:creator>Jay B</dc:creator><description>Certainly I would agree with you that logs should go into the user's profile directory.  The Event Log isn't really suited for a wide spectrum of logging output.&lt;br&gt;&lt;br&gt;However, since there is no facility that leads developers down the righteous path (such as my post about CSIDL_LOGFILES for use with SHGetSpecialFolderPath, but ideally a more robust logging solution as yet unseen), the standard/best practice isn't going to be conformed too.&lt;br&gt;&lt;br&gt;Make it easy to do it the right way, and the &amp;quot;clueless&amp;quot; will follow.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=503744" width="1" height="1"&gt;</description></item><item><title>re: Your debugging code can be a security hole</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2005/12/12/502719.aspx#503400</link><pubDate>Wed, 14 Dec 2005 04:29:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:503400</guid><dc:creator>Mark Steward</dc:creator><description>How about the geniuses at my University's computer services department, who have a huge virtual infrastructure for their &amp;quot;clusters&amp;quot; (rooms full of ICA clients)?  These are network booted to W2k, with locked cases and a special shell that only allows you to connect, change volume, etc.&lt;br&gt;&lt;br&gt;And then they leave the ICA configuration file writeable, so anybody can turn on key logging.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=503400" width="1" height="1"&gt;</description></item><item><title>re: Your debugging code can be a security hole</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2005/12/12/502719.aspx#503339</link><pubDate>Wed, 14 Dec 2005 01:32:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:503339</guid><dc:creator>kbiel</dc:creator><description>&amp;quot;There's no standard for where log files get put&amp;quot;&lt;br&gt;&lt;br&gt;I disagree, there's the Event Log service.  I understand that some programs that must run older (non-NT kernel) Windows systems can not rely on the event log being available, but device drivers certainly don't fall into that category.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=503339" width="1" height="1"&gt;</description></item><item><title>re: Your debugging code can be a security hole</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2005/12/12/502719.aspx#503026</link><pubDate>Tue, 13 Dec 2005 09:13:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:503026</guid><dc:creator>Paul Coddington</dc:creator><description>&amp;quot;There's no standard for where log files get put, which is why you see some of them in C:\Windows\System32\LogFiles, some in C:\, some in the Program Files application directory, some in My Documents, etc...&amp;quot;&lt;br&gt;&lt;br&gt;There is actually, but too many programmers are clueless about it - anything the user produces (including log files) in general goes into their profile, in this case, in a custom folder under 'application data'.&lt;br&gt;&lt;br&gt;It has to be this way, because anything run by the user does not necesssarily have the rights to write a file anywhere else - which brings us back to the other cardinal sin of programming &amp;quot;always assume the user is an administrator&amp;quot;.&lt;br&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=503026" width="1" height="1"&gt;</description></item><item><title>re: Your debugging code can be a security hole</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2005/12/12/502719.aspx#503025</link><pubDate>Tue, 13 Dec 2005 09:11:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:503025</guid><dc:creator>JamesW</dc:creator><description>Steve: 'I also can't forgive ANYTHING for creating something in the root'&lt;br&gt;&lt;br&gt;There's a well known office suite that dumps its install log files to / on OS X.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=503025" width="1" height="1"&gt;</description></item><item><title>re: Your debugging code can be a security hole</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2005/12/12/502719.aspx#502927</link><pubDate>Tue, 13 Dec 2005 02:58:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:502927</guid><dc:creator>Raymond Chen - MSFT</dc:creator><description>If you're the admin, then you don't need to go to all that trouble. Just install your own keylogger.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=502927" width="1" height="1"&gt;</description></item><item><title>re: Your debugging code can be a security hole</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2005/12/12/502719.aspx#502923</link><pubDate>Tue, 13 Dec 2005 02:47:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:502923</guid><dc:creator>Mihai</dc:creator><description>&amp;quot;Actually there is no issue (from a security standpoint) at the application level since there is no privilege elevation&amp;quot;&lt;br&gt;Counter-example: an application is used for passwords management. The logging feature dumps the password in clear text somewhere.&lt;br&gt;As an admin, I can set the registry key on the machine shared by several users, and as a result I get all their private data (Amazon, CitiBank, credit card numbers, etc.)&lt;br&gt;This is stuff I cannot get even if I am admin.&lt;br&gt;So, NEVER is better!&lt;br&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=502923" width="1" height="1"&gt;</description></item><item><title>re: Your debugging code can be a security hole</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2005/12/12/502719.aspx#502810</link><pubDate>Mon, 12 Dec 2005 21:37:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:502810</guid><dc:creator>Stu</dc:creator><description>How about if you do something like using a public/private key to varify that the debug information request is from an authorized debugger?&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=502810" width="1" height="1"&gt;</description></item><item><title>re: Your debugging code can be a security hole</title><link>http://blogs.msdn.com/b/oldnewthing/archive/2005/12/12/502719.aspx#502792</link><pubDate>Mon, 12 Dec 2005 20:59:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:502792</guid><dc:creator>Daev</dc:creator><description>One of the points Peter Seibel makes in his compulsively readable book on Common LISP is about the programming convenience of a language based around an interactive &amp;quot;read-evaluate-print loop.&amp;quot;  Even LISP applications running &amp;quot;in the wild&amp;quot; have this feature, which he illustrates with a story:&lt;br&gt;&lt;br&gt;&amp;quot;An even more impressive instance of remote debugging occurred on NASA's Deep Space 1 mission.  A half year after the spacecraft launched, a bit of Lisp code was going to control the spacecraft for two days while conducting a sequence of experiments.  Unfortunately, a subtle race condition in the code had escaped detection during ground testing and was already in space.  When the bug manifested in the wild -- 100 million miles away from Earth -- the team was able to diagnose and fix the running code, allowing the experiments to complete.  One of the programmers described it as follows:&lt;br&gt;&lt;br&gt;'Debugging a program running on a $100M piece of hardware that is 100 million miles away is an interesting experience.  Having a read-eval-print loop running on the spacecraft proved invaluable in finding and fixing the problem.'&amp;quot;&lt;br&gt;&lt;br&gt;My thought upon reading this:  it's a good thing for you guys that hackers don't have radio-telescope dishes yet.&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=502792" width="1" height="1"&gt;</description></item></channel></rss>