<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.gscore.org/blog/index.php/feed/rss2/xslt" ?><rss version="2.0"
  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/">
<channel>
  <title>Toady's blog</title>
  <link>http://www.gscore.org/blog/index.php/</link>
  <description>A blog on VoIP, Security, Linux, Code, PAM, Gscore, Life, ...</description>
  <language>en</language>
  <pubDate>Wed, 20 Aug 2008 19:58:08 +0200</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Picviz::Dshield</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/08/20/Picviz%3A%3ADshield</link>
    <guid isPermaLink="false">urn:md5:f36f24f93ccba45d18d2463935947a54</guid>
    <pubDate>Wed, 20 Aug 2008 19:51:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    I have written a Perl module to access to &lt;a hreflang=&quot;en&quot; href=&quot;http://www.dshield.org&quot;&gt;Dshield&lt;/a&gt; data. The idea behind that is to do some special reactions to stuff dshield sees for &lt;a hreflang=&quot;en&quot; href=&quot;http://www.wallinfire.net/picviz&quot;&gt;Picviz&lt;/a&gt;, such as coloring lines in red it they match.&lt;br /&gt;&lt;br /&gt;To use the class you simply tell perl to use the class, create a new object like this:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;use Picviz::Dshield;&lt;br /&gt;$dshield = Picviz::Dshield-&amp;gt;new();&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This will actually download the list of IP and port trends from my daily updated wallinfire.net mirror (to avoid bothering dshield.org).&lt;br /&gt;&lt;br /&gt;Then, to check wether an IP match a dshield data or not, you can call:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;if ($dshield-&amp;gt;ip_check(&quot;192.168.1.42&quot;)) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &quot;The IP address is in the Dshield database&quot;;&lt;br /&gt;} else {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &quot;The IP address is not in the Dshield database&quot;;&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;So without any knowledge of how dshield works etc, you can easily embed and script with perl a connection to it.&lt;br /&gt;&lt;br /&gt;After that, I modified the ssh authentication script to see wether my server was attacked by IP addresses in Dshield, and I produced to following graph:&lt;br /&gt;&lt;img style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://www.gscore.org/blog/public/.auth_m.jpg&quot; /&gt;As you can see, there is a red line, showing that I've got SSH scanned by one IP address at different times, with (hopefully!) failed authentication, on the root login.&lt;br /&gt;&lt;br /&gt;All this is available in the tools/ directory of the latest Picviz trunk. To install the Dshield perl module, simply type:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$ cd trunk/tools/Picviz-Dshield&lt;br /&gt;$ perl Makefile.PL&lt;br /&gt;$ make&lt;br /&gt;$ sudo make install&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;and you can test your ssh connections using the ssh connection script in tools/auth/ :&lt;br /&gt;&lt;code&gt;&lt;br /&gt;$ perl ssh-authdshielded2pcv.pl /var/log/auth.log &amp;gt; auth.pcv&lt;br /&gt;$ picviz-gui auth.pcv&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/08/20/Picviz%3A%3ADshield#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/08/20/Picviz%3A%3ADshield#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/72</wfw:commentRss>
      </item>
    
  <item>
    <title>Picviz news</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/08/18/Picviz-news</link>
    <guid isPermaLink="false">urn:md5:a23ca23b3537ccf8bb366543cd344b83</guid>
    <pubDate>Mon, 18 Aug 2008 17:47:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    &lt;p&gt;While I am in hollidays in Canada, I would like to share some Picviz development news:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;img style=&quot;width: 154px; height: 55px;&quot; alt=&quot;&quot; src=&quot;http://fedoraproject.org/w/uploads/2/2d/Logo_fedoralogo.png&quot; /&gt;Picviz &lt;a hreflang=&quot;en&quot; href=&quot;https://bugzilla.redhat.com/show_bug.cgi?id=458678&quot;&gt;entered Fedora CVS&lt;/a&gt; and will be available to Fedora users for next release. Package seems to have been backported until Fedora core 7. I would like to congratulate folks at Redhat who have been amazingly reactive and helped me to improve my cmake skills and make sure Picviz can be installed on every architecture.&lt;/li&gt;
&lt;li&gt;While I was in the plane I added the &lt;strong&gt;penwidth&lt;/strong&gt; property in trunk. So this will be in the September 0.3 release. As you can guess in the name, it increases the line width. This picture illustrates the property:&lt;/li&gt;
&lt;/ul&gt;
&lt;img style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://www.gscore.org/blog/public/nice.png&quot; /&gt;I take graphviz API as a name reference to every property I can add to a line. To have a line with red color and with a width of 3, simply type:&lt;br /&gt;&lt;br /&gt;&lt;div align=&quot;center&quot;&gt;&lt;code&gt;data1=&quot;foo&quot;,data2=&quot;bar&quot;,...,dataN=&quot;12345&quot; [color=&quot;red&quot;,penwidth=&quot;3&quot;];&lt;/code&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/08/18/Picviz-news#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/08/18/Picviz-news#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/71</wfw:commentRss>
      </item>
    
  <item>
    <title>Trying xkcd style</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/08/11/Trying-xkcd-style</link>
    <guid isPermaLink="false">urn:md5:6f6332fb8494004085eb428f28e026a9</guid>
    <pubDate>Mon, 11 Aug 2008 21:19:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    &lt;p&gt;I though it would be easier to draw this, damn! I am so bad &lt;img src=&quot;/blog/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.gscore.org/blog/public/ids-fun.png&quot; alt=&quot;ids-fun.png&quot; style=&quot;display:block; margin:0 auto;&quot; /&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/08/11/Trying-xkcd-style#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/08/11/Trying-xkcd-style#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/70</wfw:commentRss>
      </item>
    
  <item>
    <title>Picviz 0.2 is out!</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/08/07/Picviz-02-is-out</link>
    <guid isPermaLink="false">urn:md5:b512c076624d818d2656be3fcd51a349</guid>
    <pubDate>Thu, 07 Aug 2008 12:37:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    &lt;p&gt;From &lt;a href=&quot;http://www.wallinfire.net/pipermail/picviz/2008-August/000001.html&quot; hreflang=&quot;en&quot;&gt;release notes&lt;/a&gt;:&lt;/p&gt;


&lt;p&gt;Picviz is a parallel coordinates plotter which enables easy scripting from
various input (tcpdump, syslog, iptables logs, apache logs, etc..) to visualize
your data and discover interesting results quickly.&lt;/p&gt;


&lt;p&gt;Picviz helps you to create, automate and understand parallel coordinates plots.
Its primary goal is to graph data in order to be able to quickly analyze
problems and find correlations among variables. With security analysis in mind,
the program has been designed to be very flexible, able to graph millions of
events.&lt;/p&gt;


&lt;p&gt;The language is designed to be close to the graphviz graph description
language.&lt;/p&gt;


&lt;p&gt;Picviz features a language to describe your graphs; An engine producing images
in parallel coordinates from this language; Python bindings to gather
calculated data, raw data and a frontend written in Python and QT4.&lt;/p&gt;


&lt;p&gt;You can download the program from &lt;a href=&quot;http://www.wallinfire.net/picviz&quot; hreflang=&quot;en&quot;&gt;its project page&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/08/07/Picviz-02-is-out#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/08/07/Picviz-02-is-out#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/69</wfw:commentRss>
      </item>
    
  <item>
    <title>Picviz trunk news</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/08/06/Picviz-trunk-news</link>
    <guid isPermaLink="false">urn:md5:0a9dff77dcb5590edc421cd1152d47a1</guid>
    <pubDate>Wed, 06 Aug 2008 22:42:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    I had a &lt;a hreflang=&quot;en&quot; href=&quot;http://www.plplot.org&quot;&gt;plplot&lt;/a&gt; plugin kept secretly that I decided to put in trunk. &lt;br /&gt;&lt;br /&gt;This plugin allows you to generate several kind of images, such as PNG. When you are dealing with a huge set of data, this kind of plugin is recommended. Demonstration:&lt;br /&gt;&lt;code&gt;toady@marcadet:~/local/scm/svn/picviz/trunk/samples$ pcv -Tplplot test1.pcv &lt;br /&gt;&lt;br /&gt;Plotting Options:&lt;br /&gt;&amp;nbsp;&amp;lt; 1&amp;gt; gcw&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Gnome Canvas Widget&lt;br /&gt;&amp;nbsp;&amp;lt; 2&amp;gt; ps&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PostScript File (monochrome)&lt;br /&gt;&amp;nbsp;&amp;lt; 3&amp;gt; psc&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PostScript File (color)&lt;br /&gt;&amp;nbsp;&amp;lt; 4&amp;gt; xfig&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Fig file&lt;br /&gt;&amp;nbsp;&amp;lt; 5&amp;gt; hp7470&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HP 7470 Plotter File (HPGL Cartridge, Small Plotter)&lt;br /&gt;&amp;nbsp;&amp;lt; 6&amp;gt; hp7580&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HP 7580 Plotter File (Large Plotter)&lt;br /&gt;&amp;nbsp;&amp;lt; 7&amp;gt; lj_hpgl&amp;nbsp;&amp;nbsp;&amp;nbsp; HP Laserjet III, HPGL emulation mode&lt;br /&gt;&amp;nbsp;&amp;lt; 8&amp;gt; pbm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PDB (PPM) Driver&lt;br /&gt;&amp;nbsp;&amp;lt; 9&amp;gt; null&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Null device&lt;br /&gt;&amp;nbsp;&amp;lt;10&amp;gt; mem&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; User-supplied memory device&lt;br /&gt;&amp;nbsp;&amp;lt;11&amp;gt; svg&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Scalable Vector Graphics (SVG 1.1)&lt;br /&gt;&amp;nbsp;&amp;lt;12&amp;gt; xcairo&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cairo X Windows Driver&lt;br /&gt;&amp;nbsp;&amp;lt;13&amp;gt; pdfcairo&amp;nbsp;&amp;nbsp; Cairo PDF Driver&lt;br /&gt;&amp;nbsp;&amp;lt;14&amp;gt; pscairo&amp;nbsp;&amp;nbsp;&amp;nbsp; Cairo PS Driver&lt;br /&gt;&amp;nbsp;&amp;lt;15&amp;gt; svgcairo&amp;nbsp;&amp;nbsp; Cairo SVG Driver&lt;br /&gt;&amp;nbsp;&amp;lt;16&amp;gt; pngcairo&amp;nbsp;&amp;nbsp; Cairo PNG Driver&lt;br /&gt;&lt;br /&gt;Enter device number or keyword: 16&lt;br /&gt;Enter graphics output file name: foobar.png&lt;br /&gt;toady@marcadet:~/local/scm/svn/picviz/trunk/samples$&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;By the way, for people who missed it:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;The project page is &lt;a hreflang=&quot;en&quot; href=&quot;http://www.wallinfire.net/picviz&quot;&gt;http://www.wallinfire.net/picviz&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;You can register to the mailing list at: &lt;a hreflang=&quot;en&quot; href=&quot;http://www.wallinfire.net/cgi-bin/mailman/listinfo/picviz&quot;&gt;http://www.wallinfire.net/cgi-bin/mailman/listinfo/picviz&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;There is an IRC channel on Freenode: #picviz&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;And the SVN repository moved away from sourceforge to wallinfire:&lt;br /&gt;&lt;pre class=&quot;wiki&quot;&gt;&lt;code&gt;$ svn co http://www.wallinfire.net/svn-picviz/trunk picviz&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Hum, and the picture of the day: a nmap scan&lt;/p&gt;
&lt;pre class=&quot;wiki&quot;&gt;&lt;br /&gt;&lt;img style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://www.gscore.org/blog/public/nmap-scan.png&quot; /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/08/06/Picviz-trunk-news#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/08/06/Picviz-trunk-news#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/68</wfw:commentRss>
      </item>
    
  <item>
    <title>Best libprelude release ever released!</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/08/05/Best-libprelude-release-ever-released</link>
    <guid isPermaLink="false">urn:md5:52a8469cf7dd4d4065abcaed301bfd26</guid>
    <pubDate>Tue, 05 Aug 2008 21:58:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    Today libprelude 0.9.19 was release (&lt;a hreflang=&quot;en&quot; href=&quot;http://www.prelude-ids.com/en/development/download/index.html?notes=libprelude-0.9.19.txt&quot;&gt;read notes&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;To me this is the best release ever because not only the library is very mature, but it allows you to use what we' ve called the easy bindings.
&lt;br /&gt;&lt;br /&gt;In short, with the easy bindings, you can install prelude, use its components and with a bit of Python/Lua/Ruby/Perl (swig allows other languages) to do:
&lt;br /&gt;&lt;code&gt;&lt;br /&gt;import PreludeEasy&lt;br /&gt;from PreludeEasy import ConnectionPool, Connection&lt;br /&gt;&lt;br /&gt;c = PreludeEasy.ClientEasy(&quot;YourEventReader&quot;, PreludeEasy.Client.IDMEF_READ)
&lt;br /&gt;c.SetFlags(PreludeEasy.Client.CONNECT)
&lt;br /&gt;&lt;br /&gt;pool = c.GetConnectionPool()&lt;br /&gt;pool.AddConnection(Connection(&quot;127.0.0.1&quot;))
&lt;br /&gt;&lt;br /&gt;idmef = PreludeEasy.IDMEF()
&lt;br /&gt;&lt;br /&gt;while 1:
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = c.RecvIDMEF(idmef, 100)
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ret and not idmef.Get(&quot;heartbeat.create_time&quot;):
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; print &quot;Alert:%s&quot; % (idmef.Get(&quot;alert.classification.text&quot;) or &quot;(unknown)&quot;)&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/08/05/Best-libprelude-release-ever-released#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/08/05/Best-libprelude-release-ever-released#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/67</wfw:commentRss>
      </item>
    
  <item>
    <title>Picviz 0.1 released!</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/08/04/Picviz-01-released</link>
    <guid isPermaLink="false">urn:md5:ce382a488a3ba5ff96fbc030f82e12b0</guid>
    <pubDate>Mon, 04 Aug 2008 14:38:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    &lt;p&gt;Picviz 0.1 is now officially released!&lt;/p&gt;


&lt;p&gt;You can grab the first version on&lt;a href=&quot;http://www.wallinfire.net/picviz&quot; hreflang=&quot;en&quot;&gt; the project page&lt;/a&gt;. And see stuff you can do with it with &lt;a href=&quot;http://www.wallinfire.net/picviz/wiki/GeneratedBindKaminsky&quot; hreflang=&quot;en&quot;&gt;a page I am currently writing on the DNS Kaminsky attack&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Enjoy!&lt;/p&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/08/04/Picviz-01-released#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/08/04/Picviz-01-released#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/66</wfw:commentRss>
      </item>
    
  <item>
    <title>Behave like Apple, catch hackers interest!</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/08/03/Behave-like-Apple-catch-hackers-interest</link>
    <guid isPermaLink="false">urn:md5:9d99f6aef3ac1fbac09ea1f46961e7b1</guid>
    <pubDate>Sun, 03 Aug 2008 21:09:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    &lt;p&gt;So I've learned tonight that the company that made Snow White sleep &lt;a href=&quot;http://it.slashdot.org/article.pl?sid=08/08/03/0031228&quot; hreflang=&quot;en&quot;&gt;reiterates canceling talks&lt;/a&gt; during black hats.&lt;/p&gt;


&lt;p&gt;Yes, they reiterate because Daniel's talk at &lt;a href=&quot;http://eusecwest.com/pastevents.html&quot; hreflang=&quot;en&quot;&gt;Eusecwest 2007&lt;/a&gt; was also canceled for an obscure reason.&lt;/p&gt;


&lt;p&gt;Did someone told Apple that this is exactly the right behavior to catch hackers interest?&lt;/p&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/08/03/Behave-like-Apple-catch-hackers-interest#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/08/03/Behave-like-Apple-catch-hackers-interest#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/65</wfw:commentRss>
      </item>
    
  <item>
    <title>HD Moore owned ;)</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/07/30/HD-Moore-owned</link>
    <guid isPermaLink="false">urn:md5:57408399a458587fa71a05743094a257</guid>
    <pubDate>Wed, 30 Jul 2008 15:11:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    &lt;p&gt;&lt;a href=&quot;http://www.networkworld.com/news/2008/073008-dns-attack-writer-a-victim.html&quot; hreflang=&quot;en&quot;&gt;This news&lt;/a&gt; is quite funny!&lt;/p&gt;


&lt;p&gt;&lt;q&gt;One of BreakingPoint's servers was forwarding DNS (Domain Name System) traffic to the AT&amp;amp;T server, so when it was compromised, so was HD Moore's company&lt;/q&gt;&lt;/p&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/07/30/HD-Moore-owned#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/07/30/HD-Moore-owned#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/64</wfw:commentRss>
      </item>
    
  <item>
    <title>Picviz, or the art of parallel coordinates</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/07/20/Picviz-or-the-art-of-parallel-coordinates</link>
    <guid isPermaLink="false">urn:md5:e5d2b2913e76f54d87ae12f9fe3e2129</guid>
    <pubDate>Sun, 20 Jul 2008 20:01:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    A few weeks ago, a started a new programming project has hobby: Picviz, a project to ease the creation, manipulation and visualization of parallel coordinates plot.&lt;br /&gt;&lt;br /&gt;In short, parallel coordinates plot is a technique to visualize several dimensions in a 2D plan. When an event occurs, it has a set of variables and when it comes to deal with thousands if not million of data, it is a big challenge to understand them quickly and dig for correlation among variables and events. So here comes a 123 years old technique into the computer security field. I recommend you reading &lt;a hreflang=&quot;en&quot; href=&quot;http://en.wikipedia.org/wiki/Parallel_coordinates&quot;&gt;the Wikipedia page&lt;/a&gt; on the subject for more about this.&lt;br /&gt;&lt;br /&gt;A few months ago, while doing research on IDS correlation with &lt;a hreflang=&quot;en&quot; href=&quot;http://www.wzdftpd.net/blog/&quot;&gt;Pierre&lt;/a&gt; (&lt;a hreflang=&quot;en&quot; href=&quot;http://www.wallinfire.net/files/correlation-womi-paper.pdf&quot;&gt;Paper&lt;/a&gt;, &lt;a hreflang=&quot;en&quot; href=&quot;http://www.wallinfire.net/files/correlation-womi-cansec2008.pdf&quot;&gt;Slides&lt;/a&gt;), we had fun writing &lt;a hreflang=&quot;en&quot; href=&quot;http://www.gscore.org/blog/index.php/post/2008/05/08/PIG-Prelude-IDMEF-Grapher&quot;&gt;PIG, The Prelude IDMEF Grapher&lt;/a&gt; on top of Prelude Python Easy bindings.&lt;br /&gt;&lt;br /&gt;The application was very hackish and we could hardly automate the graph creation outside of writting stuff in Python, QT and using the IDMEF objects from Prelude.&lt;br /&gt;&lt;br /&gt;Which is what I decided to fix.&lt;br /&gt;&lt;br /&gt;I wanted an application that could be easy to &lt;strong&gt;automate&lt;/strong&gt; the creation of graphs, able to deal with a &lt;strong&gt;large set of data&lt;/strong&gt;, able to let people write easily their &lt;strong&gt;rendering and output plugins&lt;/strong&gt;, &lt;strong&gt;a graph language&lt;/strong&gt; as close as the &lt;a hreflang=&quot;en&quot; href=&quot;http://www.graphviz.org&quot;&gt;graphviz&lt;/a&gt; dot language, &lt;strong&gt;python bindings&lt;/strong&gt; to ease the creation of prototypes and use them for the &lt;strong&gt;graphical frontend&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;I am pretty much close to the requirements, and you can download a (buggy? if so please report!) version with subversion:&lt;br /&gt;&lt;p&gt;&lt;code&gt;
&lt;tt&gt;
svn co https://picviz.svn.sourceforge.net/svnroot/picviz/trunk picviz &lt;/tt&gt;&lt;/code&gt;&lt;tt&gt;&lt;br /&gt;&lt;/tt&gt;&lt;/p&gt;
&lt;p&gt;To compile, you will need cmake, bison, flex, python2.5-dev (if you want python bindings), and QT with its python bindings (I took QT because I already knew gtk+ very well and wanted to give a try and especially not struggle with a canvas: please gtk+ people, I &lt;strong&gt;urge&lt;/strong&gt; you to take goocanvas or anything you think better into the gtk+ sources!! I stopped writing gscore because of a lack of a decent canvas and I believe a lot of people are switching to QT because of this).&lt;/p&gt;
&lt;p&gt;Then run:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;# make install&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;And if you want python bindings:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;# cd src/libpicviz/bindings/python/ &amp;amp;&amp;amp; sudo ./setup.py install&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Once you have done that, you can go into /samples and try the few examples there.&lt;/p&gt;
&lt;p&gt;The language, as I said before is as close as graphviz as possible, you define your data and add properties in brackets after:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;foobar [label=&quot;My label&quot;]&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;It is devided in four sections:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;strong&gt;header&lt;/strong&gt; (optional): to set graph title, background etc..&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;engine&lt;/strong&gt; (optional): to change the engine internals (careful!)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;axes&lt;/strong&gt;: to set your axes names, types and properties&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;data&lt;/strong&gt;: where your data are&lt;/li&gt;
&lt;/ul&gt;
For example, a simple line would be:&lt;br /&gt;&lt;code&gt;header {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; title = &quot;Simple graph&quot;;&lt;br /&gt;}&lt;br /&gt;axes {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; integer ax1 [label=&quot;First&quot;];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ipv4&amp;nbsp;&amp;nbsp;&amp;nbsp; ax2 [label=&quot;IP Addr&quot;];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string&amp;nbsp; ax3 [label=&quot;Third&quot;];&lt;br /&gt;}&lt;br /&gt;data {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ax1=&quot;12345&quot;, ax2=&quot;127.0.0.1&quot;, ax3=&quot;Some text&quot; [color=&quot;red&quot;];&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Then run:&lt;br /&gt;&lt;code&gt;pcv -Tsvg blog-ex.pcv &amp;gt; blog-pcvex.svg&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;To produce the following image:&lt;br /&gt;&lt;a href=&quot;http://www.gscore.org/blog/public/blog-pcvex.png&quot;&gt;&lt;img style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://www.gscore.org/blog/public/./.blog-pcvex_m.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now, if you want to visualize your iptables logs, you can run the perl script called &quot;syslog-iptables2picviz&quot; from the tools/ directory like this:&lt;br /&gt;&lt;code&gt;sudo perl tools/syslog-iptables2picviz /var/log/iptables &amp;gt; iptables.pcv&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Which in my case produces the following image:&lt;br /&gt;&lt;img style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://www.gscore.org/blog/public/iptables-small.png&quot; /&gt;&lt;br /&gt;Here is a picture of 8000 events, which takes 2/3 seconds to generate on my laptop (3189.49 bogomips). The Zero is on top, so the time where this logs were taken is about 10:40 am (I am cheating because I know the time &lt;img src=&quot;/blog/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt; ).&lt;br /&gt;&lt;br /&gt;For information, the generation of 600 000 events took less than 10 seconds.&lt;br /&gt;&lt;br /&gt;Now, in order to dig into the graph, I wrote a frontend in Python+QT. So I needed python bindings, which I wrote in the &lt;em&gt;src/libpicviz/bindings &lt;/em&gt;directory. And the frontend is available in &lt;em&gt;src/frontend&lt;/em&gt;.&lt;br /&gt;&lt;br /&gt;To play with the first sample, you can run:&lt;br /&gt;&lt;code&gt;./picviz-gui.py ../../samples/test1.pcv&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;And when moving the mouse on the line, you will see the information:&lt;br /&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.gscore.org/blog/public/picviz-fe01.png&quot; /&gt;&lt;br /&gt;&lt;br /&gt;Now please, before the upcoming 0.1 release, I would need testings and feedback, so please do!&lt;br /&gt;&lt;br /&gt;Happy graphing!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/07/20/Picviz-or-the-art-of-parallel-coordinates#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/07/20/Picviz-or-the-art-of-parallel-coordinates#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/63</wfw:commentRss>
      </item>
    
  <item>
    <title>Quote of the day^Hlast week</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/07/15/Quote-of-the-day</link>
    <guid isPermaLink="false">urn:md5:345e885cbf111ed27827930b0585984f</guid>
    <pubDate>Tue, 15 Jul 2008 20:26:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    &lt;p&gt;&lt;q&gt;Well we have a better security track record than Red Hat, we do that by focusing very hard on security&lt;/q&gt; -- &lt;a href=&quot;http://derstandard.at/?id=3413801&quot; hreflang=&quot;en&quot;&gt;Mark Shuttleworth&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;Sure, keep focusing on &lt;a href=&quot;http://lkml.org/lkml/2007/6/6/29&quot; hreflang=&quot;en&quot;&gt;what&lt;/a&gt; &lt;a href=&quot;http://fedoraproject.org/wiki/Security/Features&quot; hreflang=&quot;en&quot;&gt;Redhat&lt;/a&gt; &lt;a href=&quot;http://www.awe.com/mark/blog/200704101400.html&quot; hreflang=&quot;en&quot;&gt;is&lt;/a&gt; &lt;a href=&quot;http://people.redhat.com/sgrubb/audit/&quot; hreflang=&quot;en&quot;&gt;actually&lt;/a&gt; &lt;a href=&quot;http://en.wikipedia.org/wiki/Exec_Shield&quot; hreflang=&quot;en&quot;&gt;doing&lt;/a&gt;!&lt;/p&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/07/15/Quote-of-the-day#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/07/15/Quote-of-the-day#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/62</wfw:commentRss>
      </item>
    
  <item>
    <title>EuSecWest</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/05/19/EuSecWest</link>
    <guid isPermaLink="false">urn:md5:8709548dbb378b4b4975f11e4b2762f3</guid>
    <pubDate>Mon, 19 May 2008 22:06:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    &lt;p&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.eusecwest.com/images/secwest_circle_34.png&quot; /&gt;&lt;img alt=&quot;&quot; src=&quot;http://www.eusecwest.com/images/square_logo_eusec.png&quot; /&gt; I will be in London in two days attending &lt;a hreflang=&quot;en&quot; href=&quot;http://www.eusecwest.com&quot;&gt;EuSecWest&lt;/a&gt;. If you want to share a beer and talk about IDS, &lt;a hreflang=&quot;en&quot; href=&quot;http://www.prelude-ids.org&quot;&gt;Prelude&lt;/a&gt;, &lt;a hreflang=&quot;en&quot; href=&quot;http://www.nufw.org&quot;&gt;NuFW&lt;/a&gt; or music, feel free to drop me a mail!&lt;/p&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/05/19/EuSecWest#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/05/19/EuSecWest#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/61</wfw:commentRss>
      </item>
    
  <item>
    <title>PIG - Prelude IDMEF Grapher</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/05/08/PIG-Prelude-IDMEF-Grapher</link>
    <guid isPermaLink="false">urn:md5:a117c973fca01d9598257374c5de5c77</guid>
    <pubDate>Thu, 08 May 2008 15:46:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    The &lt;a hreflang=&quot;en&quot; href=&quot;http://software.inl.fr/trac/wiki/Pig&quot;&gt;Prelude IDMEF Grapher&lt;/a&gt; written to illustrate one aspect of Intrusion Detection Systems for the conference on the subject at &lt;a hreflang=&quot;en&quot; href=&quot;http://www.cansecwest.com&quot;&gt;CanSecWest&lt;/a&gt; this year is getting some attention.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.gscore.org/blog/public/nessus-scan.png&quot;&gt;&lt;img style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://www.gscore.org/blog/public/./.nessus-scan_m.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Upon &lt;a hreflang=&quot;en&quot; href=&quot;http://raffy.ch/blog/&quot;&gt;Raffy&lt;/a&gt;'s request, I added to the excellent &lt;a hreflang=&quot;en&quot; href=&quot;http://www.secviz.org&quot;&gt;Secviz.org&lt;/a&gt; the generated graphs from three well-known scanners: Retina, Saint and Nessus.&lt;br /&gt;&lt;br /&gt;I attacked my &lt;a hreflang=&quot;en&quot; href=&quot;http://www.prelude-ids.org&quot;&gt;Prelude IDS&lt;/a&gt; machine which has two agents: &lt;a hreflang=&quot;en&quot; href=&quot;http://www.snort.org&quot;&gt;Snort&lt;/a&gt; and Prelude LML. Those agents generate IDMEF alerts and PIG connects to the Prelude Manager to listen to any IDMEF event received.&lt;br /&gt;&lt;br /&gt;With the power of Python+QT, in one hour I got the code up and running.&lt;br /&gt;&lt;br /&gt;If you want to read what Ron Gula from Tenable say about it, you can read &lt;a hreflang=&quot;en&quot; href=&quot;http://blog.tenablesecurity.com/2008/05/visualizing-nes.html&quot;&gt;his blog post about PIG&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Right now pig's code must be ported to the recent additions from Yoann on top of what Pierre and I wrote to get Prelude easy bindings working. The merge will happen very soon with trunk and then PIG will be improved.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/05/08/PIG-Prelude-IDMEF-Grapher#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/05/08/PIG-Prelude-IDMEF-Grapher#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/60</wfw:commentRss>
      </item>
    
  <item>
    <title>[RELEASE] Wolfotrack 1.0</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/04/27/%5BRELEASE%5D-Wolfotrack-10</link>
    <guid isPermaLink="false">urn:md5:b944288c7c8726d85caf86bb5699f5b1</guid>
    <pubDate>Sun, 27 Apr 2008 15:22:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    To put an end to &lt;a hreflang=&quot;en&quot; href=&quot;http://www.gscore.org/blog/index.php/post/2008/04/24/The-best-way-to-manager-your-firewall-teaser&quot;&gt;a teaser&lt;/a&gt;.&lt;br /&gt;
&lt;p&gt;Along with &lt;a hreflang=&quot;en&quot; href=&quot;http://piggledy.org/&quot;&gt;Laurent&lt;/a&gt; and &lt;a hreflang=&quot;en&quot; href=&quot;http://www.haypocalc.com/blog/&quot;&gt;Victor&lt;/a&gt;, we've written a Netfilter connection tracking manipulation tool based on the fabulous &lt;a hreflang=&quot;en&quot; href=&quot;http://www.3drealms.com/wolf3d/index.html&quot;&gt;Wolfenstein 3d&lt;/a&gt; game.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.gscore.org/blog/public/wolfotrack1.0.png&quot;&gt;&lt;img style=&quot;margin: 0 auto; display: block;&quot; alt=&quot;&quot; src=&quot;http://www.gscore.org/blog/public/./.wolfotrack1.0_s.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;You need only two dependencies: &lt;a hreflang=&quot;en&quot; href=&quot;http://www.libsdl.org/&quot;&gt;SDL library&lt;/a&gt; and &lt;a hreflang=&quot;en&quot; href=&quot;http://www.netfilter.org/projects/libnetfilter_conntrack/index.html&quot;&gt;libnetfilter_conntrack&lt;/a&gt;.&lt;/p&gt;
Description from the release notes:&lt;br /&gt;
&lt;blockquote&gt;&lt;p&gt;Tears were flowing from our bellowed&lt;br /&gt;Administrators out there.&lt;br /&gt;&lt;br /&gt;Connection tracking is not always easy,&lt;br /&gt;hence Wolfotrack, the conntrack killer that&lt;br /&gt;aims to reduce the firewall use difficulty&lt;br /&gt;that many people complained about for years.&lt;br /&gt;This software makes this time gone! We are now&lt;br /&gt;enhancing netfilter at the user level.&lt;/p&gt;
&lt;/blockquote&gt;
The idea is simple: with statefull firewall such as Netfilter, the Linux kernel firewall, connection states are kept in memory and allow you to use this simple rule to only allow answers to a previously initiated connection:&lt;br /&gt;&lt;code&gt;# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Because of the great work put by Netfilter core team into nfnetlink, and especially with the nfnetlink_conntrack socket, it is made trivial to grab the information Netfilter has with any connection state.&lt;br /&gt;&lt;br /&gt;For example this code registers the callback function that is then used to set the players connection:&lt;br /&gt;&lt;code&gt;void ct_list_create(void)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int ret;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; u_int8_t family = AF_INET;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; h = nfct_open(CONNTRACK, 0);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!h) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; perror(&quot;nfct_open error: Oh my god! this is terrible! you cannot kill conntracks out from Netfilter!!&quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nfct_callback_register(h, NFCT_T_ALL, ct_cb, NULL);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ret = nfct_query(h, NFCT_Q_DUMP, &amp;amp;family);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if ( ret == -1 ) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; exit(EXIT_FAILURE);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The, the callback prototype is:&lt;br /&gt;&lt;code&gt;int ct_cb(enum nf_conntrack_msg_type type,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; struct nf_conntrack *ct,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; void *data)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;And to set the source/destination ip and port out from the nf_conntrack structure:&lt;br /&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (nfct_get_attr_u8(ct, ATTR_ORIG_L3PROTO) == AF_INET) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip_src = nfct_get_attr_u32(ct, ATTR_ORIG_IPV4_SRC);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; saddr = strdup(inet_ntoa(ip_src));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ip_dst = nfct_get_attr_u32(ct, ATTR_ORIG_IPV4_DST);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; daddr = strdup(inet_ntoa(ip_dst));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; port_src = nfct_get_attr_u16(ct, ATTR_ORIG_PORT_SRC);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; sport = strdup(port_ntoa(port_src));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; port_dst = nfct_get_attr_u16(ct, ATTR_ORIG_PORT_DST);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; dport = strdup(port_ntoa(port_dst));&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Finally, when you kill the actor, we run the following function:&lt;br /&gt;&lt;code&gt;void ct_remove_from_id(int id)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (ct_list_get(id))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; nfct_query(h, NFCT_Q_DESTROY, ct_list_get(id)-&amp;gt;ct);&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;And that's all for the netfilter code (modulo a few tricks to set a connection tracking to a non-dead actor, ..). And here begins the &lt;a hreflang=&quot;en&quot; href=&quot;http://en.wikipedia.org/wiki/John_D._Carmack&quot;&gt;Carmack&lt;/a&gt; magic...&lt;br /&gt;&lt;br /&gt;I have a high respect for this guy, he started great games that I enjoyed playing in my childhood and I am still amazed by this:&lt;br /&gt;&lt;code&gt;i&amp;nbsp; = 0x5f3759df - ( i &amp;gt;&amp;gt; 1 );&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Yes, this is the famous magic constant to &lt;a hreflang=&quot;en&quot; href=&quot;http://en.wikipedia.org/wiki/Methods_of_computing_square_roots#Reciprocal_of_the_square_root&quot;&gt;calculate the square root&lt;/a&gt; of a number with NO loop of any sort.&lt;br /&gt;&lt;br /&gt;Putting the hands in the code, there was no PrintXY, so we wrote the function:&lt;br /&gt;&lt;code&gt;void US_PrintXY(char *str, word X, word Y)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; char c, *se, *s, *sz = strdup(str);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; word w, h;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; s = sz;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (*s)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; se = s;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; while ((c = *se) &amp;amp;&amp;amp; (c != '\n'))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; se++;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; *se = '\0';&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; USL_MeasureString(s,&amp;amp;w,&amp;amp;h);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; px = X;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; py = Y;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; USL_DrawString(s);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; s = se;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (c)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; *se = c;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; s++;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; X = WindowX;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; Y += h;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; X += w;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; px = X;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; py = Y;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; free(sz);&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;and in wl_draw.c, to draw the text about connection trackings, we need to have the actor in our visual spot:&lt;br /&gt;&lt;code&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; if (*visspot&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; || (*(visspot-1) &amp;amp;&amp;amp; !*(tilespot-1))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; || (*(visspot+1) &amp;amp;&amp;amp; !*(tilespot+1))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; || (*(visspot-65) &amp;amp;&amp;amp; !*(tilespot-65))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; || (*(visspot-64) &amp;amp;&amp;amp; !*(tilespot-64))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; || (*(visspot-63) &amp;amp;&amp;amp; !*(tilespot-63))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; || (*(visspot+65) &amp;amp;&amp;amp; !*(tilespot+65))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; || (*(visspot+64) &amp;amp;&amp;amp; !*(tilespot+64))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; || (*(visspot+63) &amp;amp;&amp;amp; !*(tilespot+63)))&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;and there while browsing the linked list of every object, we need to know if this actor is not dead, so we added this function:&lt;br /&gt;&lt;code&gt;int ActorDead(objtype *obj)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int retval = 0;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; switch(obj-&amp;gt;state) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case s_grddie4:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retval = 1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; break;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; retval = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return retval;&lt;br /&gt;}&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;and then, in the code we use it:&lt;br /&gt;&lt;code&gt;if ( ( obj-&amp;gt;obclass == guardobj ) &amp;amp;&amp;amp; ( ! ActorDead(obj)) ) {&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;ok, shame on me, we put the connection tracking only to guards. But if you want to improve the code, this is what you must patch.&lt;br /&gt;&lt;br /&gt;And then, if we get an appropriate connection tracking object, we run:&lt;br /&gt;&lt;code&gt;source = malloc(strlen(entry-&amp;gt;saddr) +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; strlen(&quot;:&quot;) +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; strlen(entry-&amp;gt;sport) + 1);&lt;br /&gt;target = malloc(strlen(entry-&amp;gt;daddr) +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; strlen(&quot;:&quot;) +&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; strlen(entry-&amp;gt;dport) + 1);&lt;br /&gt;sprintf(source, &quot;%s:%s&quot;, ct_list_get(obj-&amp;gt;id)-&amp;gt;saddr, ct_list_get(obj-&amp;gt;id)-&amp;gt;sport );&lt;br /&gt;sprintf(target, &quot;%s:%s&quot;, ct_list_get(obj-&amp;gt;id)-&amp;gt;daddr, ct_list_get(obj-&amp;gt;id)-&amp;gt;dport );&lt;br /&gt;&lt;br /&gt;SETFONTCOLOR(68, BKGDCOLOR);&lt;br /&gt;US_PrintXY(source, 30, 20);&lt;br /&gt;US_PrintXY(target, 30, 30);&lt;br /&gt;SETFONTCOLOR(TEXTCOLOR,BKGDCOLOR);&lt;br /&gt;&lt;br /&gt;free(source);&lt;br /&gt;free(target);&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Then, we go into the function KillActor (objtype *ob) and if the object is a guard, we run the killing function:&lt;br /&gt;&lt;code&gt;ct_remove_from_id(ob-&amp;gt;id);&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;And this is it! So in summary:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;That was fun to do&lt;/li&gt;
&lt;li&gt;The Wolf3d source code is crystal clear: I have &lt;strong&gt;never&lt;/strong&gt; looked for hours where this or that function was. I am really amazed by the work done by the ID software team back in the early '90. Everything is very logical and I am not involved in video games in any way, so there is a lot of things I don't know&lt;/li&gt;
&lt;li&gt;We need people to improve now. Please go to &lt;a hreflang=&quot;en&quot; href=&quot;http://software.inl.fr//trac/wiki/Wolfotrack&quot;&gt;the Wolfotrack project page&lt;/a&gt; and download, send patches etc..&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;And congrats to Laurent and Victor, that was fun working in team on this kind of project &lt;img src=&quot;/blog/themes/default/smilies/wink.png&quot; alt=&quot;;-)&quot; class=&quot;smiley&quot; /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/04/27/%5BRELEASE%5D-Wolfotrack-10#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/04/27/%5BRELEASE%5D-Wolfotrack-10#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/59</wfw:commentRss>
      </item>
    
  <item>
    <title>PF vs Netfilter</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/04/25/PF-vs-Netfilter</link>
    <guid isPermaLink="false">urn:md5:3e2930a38118806b61ca583e0773a5ff</guid>
    <pubDate>Fri, 25 Apr 2008 21:42:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    &lt;p&gt;Morceau choisi de &lt;a href=&quot;http://2008.rmll.info/Interview-Eric-Leblond-NuFW.html?lang=en&quot; hreflang=&quot;en&quot;&gt;l'interview d'Eric&lt;/a&gt; :&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Bon, c’est sur qu’il vaut peut-être mieux avoir authpf et être attaquable par IP spoofing plutôt que de pouvoir implémenter une solution résistante comme NuFW&lt;/p&gt;&lt;/blockquote&gt;


&lt;p&gt;(c) Eric L.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/04/25/PF-vs-Netfilter#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/04/25/PF-vs-Netfilter#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/58</wfw:commentRss>
      </item>
    
  <item>
    <title>The best way to manage your firewall (teaser)</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/04/24/The-best-way-to-manager-your-firewall-teaser</link>
    <guid isPermaLink="false">urn:md5:78aa325b271b985d1fb39547ddbef701</guid>
    <pubDate>Thu, 24 Apr 2008 21:02:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    &lt;h1&gt;&lt;img style=&quot;margin: 0 1em 1em 0; float: left;&quot; alt=&quot;&quot; src=&quot;http://www.gscore.org/blog/public/conntrack-teaser.png&quot; /&gt;Monday&lt;/h1&gt;
&lt;br /&gt;...is software release day&lt;br /&gt;&lt;br /&gt;Do &lt;strong&gt;NOT&lt;/strong&gt; miss the Netfilter users mailing list&lt;br /&gt;&lt;br /&gt;Once upon a time, administrators struggled to manage their firewall. That time will be in a few years, just like what happened to &lt;a hreflang=&quot;en&quot; href=&quot;http://uncyclopedia.org/wiki/Paris&quot;&gt;the city of Paris&lt;/a&gt;: Paris is considered to be the world's most romanticand seizable city. And the same thing will happen to firewall: &lt;strong&gt;they will finally be usable&lt;/strong&gt; for normal administrators.&lt;br /&gt;&lt;br /&gt;Stay tuned!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/04/24/The-best-way-to-manager-your-firewall-teaser#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/04/24/The-best-way-to-manager-your-firewall-teaser#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/57</wfw:commentRss>
      </item>
    
  <item>
    <title>Is your Opera browser vulnerable ?</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/04/08/Is-your-Opera-browser-vulnerable</link>
    <guid isPermaLink="false">urn:md5:9f5bf7f5faaf0095df95bc130a5c4bd2</guid>
    <pubDate>Tue, 08 Apr 2008 22:05:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    Do you want to know if you are using a vulnerable version of Opera ?&lt;br /&gt;&lt;ins&gt;&lt;br /&gt;&lt;/ins&gt;&lt;ul&gt;&lt;li&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.opera.com/support/search/view/881/&quot;&gt;Advisory: Newsfeed prompt can cause Opera to execute arbitrary code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;ul&gt;
&lt;li&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.opera.com/support/search/view/882/&quot;&gt; Advisory:&amp;nbsp; Resized canvas patterns can cause Opera to execute arbitrary code&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;Add the following Snort signature:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;alert tcp any any -&amp;gt; any $HTTP_PORTS (msg:&quot;PVR - Opera version that can be exploited by malicious people to conduct cross-site scripting attacks, disclose sensitive information, or to bypass certain security restrictions&quot;; flags:PA; flow:to_server,established; pcre:&quot;/User-Agent: Opera/9.2[0-6]/&quot;; reference:url,www.opera.com/support/search/view/881/; reference:url,www.opera.com/support/search/view/882/; priority:1; sid:200804032; rev:2;)&lt;br /&gt;&lt;code&gt;&lt;code&gt;&lt;br /&gt;&lt;/code&gt;&lt;/code&gt;&lt;/code&gt;&lt;p&gt;You can of course get this signatures in the &lt;a hreflang=&quot;en&quot; href=&quot;http://www.signatures.nu&quot;&gt;Signatures.NU&lt;/a&gt; project Snort Passive Vulnerabilities Rulesets (PVR).&lt;/p&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/04/08/Is-your-Opera-browser-vulnerable#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/04/08/Is-your-Opera-browser-vulnerable#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/56</wfw:commentRss>
      </item>
    
  <item>
    <title>Intrusion Detection Systems Correlation: a Weapon of Mass Investigation</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/04/07/Intrusion-Detection-Systems-Correlation%3A-a-Weapon-of-Mass-Investigation</link>
    <guid isPermaLink="false">urn:md5:aff4c2fb0681a731fde94bde13a99d0c</guid>
    <pubDate>Mon, 07 Apr 2008 03:37:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    &lt;p&gt;The paper I co-wrote with &lt;a href=&quot;http://www.wzdftpd.net/blog/&quot; hreflang=&quot;en&quot;&gt;Pierre&lt;/a&gt; is now &lt;a href=&quot;http://www.wallinfire.net/files/correlation-womi-paper.pdf&quot; hreflang=&quot;en&quot;&gt;available&lt;/a&gt;:&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Abstract&lt;/strong&gt;. This paper describes how correlation can be used to reduce false
positives, discover new attacks and fight the evasion of intrusion detection systems. Events from different sources, network-based, host-based and others, are
used to increase the accuracy of alerts and attacks understanding. A complete
solution based on the Prelude IDS framework and the Intrusion Detection Message Exchange Format (IDMEF) standard is proposed, using Voice over IP
(VoIP) as an example. Taking advantage of existing products in a hierarchical
manner renders more efficient the extraction of relevant security issues. We also
propose an algorithm to use correlation results to lower the amount of work
needed on sensors, to concentrate on higher-level attack detection.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Key words&lt;/strong&gt;: IDS, Hybrid IDS, IDMEF, Prelude, Correlation, Management,
Assessment, Visualization&lt;/p&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/04/07/Intrusion-Detection-Systems-Correlation%3A-a-Weapon-of-Mass-Investigation#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/04/07/Intrusion-Detection-Systems-Correlation%3A-a-Weapon-of-Mass-Investigation#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/55</wfw:commentRss>
      </item>
    
  <item>
    <title>Visualisation 3D d'évènements de sécurité</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/04/03/Visualisation-3D-devenements-de-securite</link>
    <guid isPermaLink="false">urn:md5:79c873be4ed55e949441cdd9990dcd50</guid>
    <pubDate>Thu, 03 Apr 2008 23:24:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    &lt;p&gt;Ce mois-ci j'ai un article dans le magazine programmez. Vous pouvez acheter le magazine pour lire notre article, le voir coupé en deux et avec des altérations non desirées par leurs auteurs, ou bien le lire sous sa forme originale et complète &lt;a href=&quot;http://www.wallinfire.net/files/visu-ids/visu-ids.html&quot; hreflang=&quot;fr&quot;&gt;ici&lt;/a&gt;.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/04/03/Visualisation-3D-devenements-de-securite#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/04/03/Visualisation-3D-devenements-de-securite#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/54</wfw:commentRss>
      </item>
    
  <item>
    <title>Snort PVR for latest CUPS vulnerabilities</title>
    <link>http://www.gscore.org/blog/index.php/post/2008/04/03/Snort-PVR-for-latest-CUPS-vulnerabilities</link>
    <guid isPermaLink="false">urn:md5:915e0baa7135eddac4491ac59627fcb9</guid>
    <pubDate>Thu, 03 Apr 2008 09:02:00 +0000</pubDate>
    <dc:creator>Sebastien Tricaud</dc:creator>
            
    <description>    Following recent vulnerabilities in the CUPS server, I created two signatures alerting you if your server is vulnerable on the two following CVE:
&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-0047&quot;&gt;CVE-2008-0047&lt;/a&gt;: Heap-based buffer overflow in the cgiCompileSearch function in CUPS
1.3.5, and other versions including the version bundled with Apple Mac
OS X 10.5.2, when printer sharing is enabled, allows remote attackers
to execute arbitrary code via crafted search expressions.&lt;/li&gt;
&lt;li&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-0882&quot;&gt;CVE-2008-0882&lt;/a&gt;: Double free vulnerability in the process_browse_data function in CUPS
1.3.5 allows remote attackers to cause a denial of service (daemon
crash) and possibly execute arbitrary code via crafted UDP Browse
packets to the cupsd port (631/udp), related to an unspecified
manipulation of a remote printer.  NOTE: some of these details are
obtained from third party information.&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;These signatures are:&lt;br /&gt;&lt;pre&gt;&lt;pre&gt;alert tcp any 631 -&amp;gt; any any (msg:&quot;PVR - CUPS Heap-based buffer overflow in the cgiCompileSearch function&quot;; flags:PA; flow:established; content:&quot;Server: CUPS/1.3.5&quot;; reference:cve,2008-0047; sid:200804021; rev:2;)&lt;/pre&gt;&lt;pre&gt;alert udp any 631 -&amp;gt; any any (msg:&quot;PVR - CUPS Double free vulnerability in the process_browse_data function&quot;; flags:PA; flow:established; content:&quot;Server: CUPS/1.3.5&quot;; reference:cve,2008-0882; sid:200804031; rev:1;)&lt;/pre&gt;&lt;/pre&gt;&lt;p&gt;And are of course available from the snort Passive Vulnerability Rulesets from the &lt;a hreflang=&quot;en&quot; href=&quot;http://www.signatures.nu&quot;&gt;Signatures.NU&lt;/a&gt; project:&lt;/p&gt;
&lt;pre&gt;svn co http://svn.signatures.nu/snort/pvr/unstable pvr&lt;/pre&gt;</description>
    
    
    
          <comments>http://www.gscore.org/blog/index.php/post/2008/04/03/Snort-PVR-for-latest-CUPS-vulnerabilities#comment-form</comments>
      <wfw:comment>http://www.gscore.org/blog/index.php/post/2008/04/03/Snort-PVR-for-latest-CUPS-vulnerabilities#comment-form</wfw:comment>
      <wfw:commentRss>http://www.gscore.org/blog/index.php/feed/rss2/comments/53</wfw:commentRss>
      </item>
    
</channel>
</rss>