<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:dc="http://purl.org/dc/elements/1.1/"
         xmlns:syn="http://purl.org/rss/1.0/modules/syndication/"
         xmlns="http://purl.org/rss/1.0/">




    



<channel rdf:about="http://www.breakingpointsystems.com/community/blog/RSS">
  <title>BreakingPoint Labs Blog</title>
  <link>http://www.breakingpointsystems.com/community/blog</link>
  
  <description>
    
       BreakingPoint Labs Blog
       
  </description>
  
  
  
            <syn:updatePeriod>hourly</syn:updatePeriod>
            <syn:updateFrequency>1</syn:updateFrequency>
            <syn:updateBase>2008-05-15T06:50:00Z</syn:updateBase>
        
  
  <image rdf:resource="http://www.breakingpointsystems.com/logo.jpg"/>

  <items>
    <rdf:Seq>
        
            <rdf:li rdf:resource="http://www.breakingpointsystems.com/community/blog/ruby-vulns.odt"/>
        
        
            <rdf:li rdf:resource="http://www.breakingpointsystems.com/community/blog/the-difficulty-with-testing-blacklists"/>
        
        
            <rdf:li rdf:resource="http://www.breakingpointsystems.com/community/blog/more-intrusion-prevention-discussion"/>
        
        
            <rdf:li rdf:resource="http://www.breakingpointsystems.com/community/blog/dpi-to-throttle-internet-traffic-wheres-the-news"/>
        
        
            <rdf:li rdf:resource="http://www.breakingpointsystems.com/community/blog/load-profiles-for-layer-4-7-traffic"/>
        
        
            <rdf:li rdf:resource="http://www.breakingpointsystems.com/community/blog/filling-the-application-gap"/>
        
        
            <rdf:li rdf:resource="http://www.breakingpointsystems.com/community/blog/faster-activex-kill-kill"/>
        
        
            <rdf:li rdf:resource="http://www.breakingpointsystems.com/community/blog/high-speed-deep-packet-inspection-dpi-webinar"/>
        
        
            <rdf:li rdf:resource="http://www.breakingpointsystems.com/community/blog/network-test-to-break"/>
        
        
            <rdf:li rdf:resource="http://www.breakingpointsystems.com/community/blog/file-format-vulnerabilities-and-dynamic-exploit-generators"/>
        
    </rdf:Seq>
  </items>

</channel>

    <item rdf:about="http://www.breakingpointsystems.com/community/blog/ruby-vulns.odt">        <title>A Few More Bugs in Ruby</title>        <link>http://www.breakingpointsystems.com/community/blog/ruby-vulns.odt</link>        <description>
&lt;p&gt;We use Ruby all over the place in the &lt;a class="external-link" href="../../products"&gt;BPS appliance&lt;/a&gt; and for our internal tools, so the latest run of vulnerabilities in Ruby discovered by Drew Yao, &lt;a class="external-link" href="http://www.matasano.com/log/1070/updates-on-drew-yaos-terrible-ruby-vulnerabilities/"&gt;discussed in detail here&lt;/a&gt;, really caught our eye. While analyzing them, the &lt;a class="external-link" href="http://www.breakingpointlabs.com"&gt;BreakingPoint Labs &lt;/a&gt;team found several new unpatched bugs in Ruby's parser.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;These bugs are rather low impact because they don't really appear to be exploitable and because triggering already require enough access to run arbitrary Ruby statements. So we've decided just to publish them here for your enjoyment. Breaking things is just what we like to do here.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Too much recursion when evaluating a statement&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Examples:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;ruby -e 'eval(“[]”*10000)'
ruby -e 'eval(“+0”*8000)'
&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;Each of these causes so many calls to rb_eval() that it eventually runs off and accesses invalid memory. The second seems to be the same crash, but through a slightly different vector and leaves the program in a slightly different state.&lt;/p&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;Program received signal SIGSEGV, Segmentation fault.&lt;br&gt;0x0805891d in rb_eval (self=3084609960, n=Cannot access memory at address 0xbf143ebc&lt;br&gt;) at eval.c:2927&lt;br&gt;&lt;br&gt;#1&amp;nbsp; 0x0805a45d in rb_eval (self=3084831140, n=0xb7ddbeec) at eval.c:3467&lt;br&gt;#2&amp;nbsp; 0x0805a45d in rb_eval (self=3084831140, n=0xb7ddbed8) at eval.c:3467&lt;br&gt;#3&amp;nbsp; 0x0805a45d in rb_eval (self=3084831140, n=0xb7ddbec4) at eval.c:3467&lt;br&gt;...&lt;br&gt;#7815 0x0805a45d in rb_eval (self=3084831140, n=0xb7db5aa8) at eval.c:3467&lt;br&gt;#7816 0x08055e6a in eval_node (self=3084831140, node=0xb7db5aa8) at eval.c:1428&lt;br&gt;#7817 0x08062649 in eval (self=3084831140, ...) at eval.c:6490&lt;br&gt;#7818 0x08062a9f in rb_f_eval (argc=1, ...) at eval.c:5691&lt;br&gt;#7820 0x080602dc in rb_call0 (klass=3084836000, ...) at eval.c:5847&lt;br&gt;#7821 0x08061965 in rb_call (klass=3084836000, ...) at eval.c:6094&lt;br&gt;#7822 0x0805a98b in rb_eval (self=3084831140, n=0xb7ddcdb0) at eval.c:3488&lt;br&gt;#7823 0x08055e6a in eval_node (self=3084831140, node=0xb7ddcdb0) at eval.c:1428&lt;br&gt;#7824 0x0805644c in ruby_exec_internal () at eval.c:1634&lt;br&gt;#7825 0x08056490 in ruby_exec () at eval.c:1654&lt;br&gt;#7826 0x080564b2 in ruby_run () at eval.c:1664&lt;br&gt;#7827 0x0805434e in main ()&lt;br&gt;&amp;nbsp;at main.c:48&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;Extremely long syntax error causes invalid access&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Examples:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;ruby -e 'eval(“a”*10000000+”$”)'
ruby -e 'eval("a("*10000000)'
ruby -e 'eval("\x01!"*10000000)'
&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;When faced with a syntax error on a huge line like this, Ruby fails to allocate enough memory for the error message and dies trying to copy the message buffer. This seems to work with just about any line with a syntax error that is around 10 megabytes in size or more. The call to “alloca()” in parse.y tries to load the huge error string onto the stack and blows up.&amp;nbsp; Here's the error and the code that causes the crash:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;Program received signal SIGSEGV, Segmentation fault.
0x0809bc3b in ruby_yyerror (msg=0xbfe81f68 "syntax error, unexpected $end")
&amp;nbsp;&amp;nbsp;&amp;nbsp; at parse.y:2539

In parse.y:
2538&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; buf = ALLOCA_N(char, len+2);
2539&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; MEMCPY(buf, p, char, len);
&lt;/pre&gt;
&lt;/blockquote&gt;
</description>        <dc:publisher>No publisher</dc:publisher>        <dc:creator>Sean Bradly</dc:creator>        <dc:rights></dc:rights>                <dc:date>2008-07-03T11:42:33Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.breakingpointsystems.com/community/blog/the-difficulty-with-testing-blacklists">        <title>The Difficulty With Testing Blacklists</title>        <link>http://www.breakingpointsystems.com/community/blog/the-difficulty-with-testing-blacklists</link>        <description>
&lt;p&gt;I was recently directed to Greg Hoglund's new blog, &lt;a href="http://fasthorizon.blogspot.com/" target="FastHorizon"&gt;Fast Horizon&lt;/a&gt;.&amp;nbsp; So far the few posts he's made have been excellent reading, and I generally agree with most of what he's been saying over there.&amp;nbsp; Just recently he put up a post entitled &lt;a href="http://fasthorizon.blogspot.com/2008/06/whitelisting-is-next-snake-oil.html" target="FastHorizon-Whitelists"&gt;"Whitelists are the new snake-oil"&lt;/a&gt; where he convincingly outlines both why blacklisting is a failing approach to stopping malware (if it ever &lt;em&gt;really&lt;/em&gt; worked in the first place), and why the whitelisting approach that many vendors are moving toward is equally doomed to failure.&amp;nbsp; Blacklisting is the current industry standard approach to stopping malware and is used in technologies such as anti-virus and anti-spyware software.&amp;nbsp; Blacklisting is also the approach that most network security device vendors take to blocking network attacks and exploits.&amp;nbsp; While firewalls are the obvious exception to this rule as they are essentially whitelist based, the vast majority of packets that get blocked, filtered, or identified by other network security devices such as IDS and IPS systems are done so via a match against a blacklist of traffic signatures.&amp;nbsp; These signatures are analogous to fingerprints of the known malicious data that traverses the network.&amp;nbsp; The following quote from Greg's post nicely sums up the difficulties with this approach:&lt;/p&gt;
&lt;blockquote&gt;&lt;em&gt;"Blacklisting sounds ideal, but it doesn’t work. New malware emerges
daily that has no corresponding blacklist signature. The malware must
first be detected, and then processed. There is always a time window
where Enterprises have no defense. Recent figures suggest that the AV
vendors are falling so far behind this curve that they will never catch
up with the deluge of new malware arriving daily. It can take weeks for
a signature to become available.&lt;br&gt;&lt;br&gt;This deluge of new malware is due
to several factors. First, there is more money behind malware
development than ever before. Second, we weren’t really that good at
capturing malware in the past. Today, new malware can be automatically
collected, without human intervention. The slow trickle of malware
turned into a flood as honeypot technology emerged. Sensor grids can
obtain new malware samples with efficiency - they automatically ‘drive
by’ (aka spidering) malicious websites to get infections and leave open
ports on the ‘Net so automated scanners will exploit them. In parallel
to the automated collection efforts, cybercrime has risen to epic
levels. Finally, the barrier to entry has dropped for the cyber
criminal. Cyber weapon toolkits have become commonly available.
Anti-detection technology is standard fare. New variants of a malware
program can be auto-generated. A safe bet is to expect thousands of new
malware to hit the Internet per day."&lt;/em&gt;&lt;br&gt;&lt;/blockquote&gt;
&lt;p&gt;
What he describes happening in the malware space is also happening within the attack and exploitation landscape.&amp;nbsp; Network attacks and exploits are becoming increasingly more dynamic and harder to fingerprint for a number of reasons.&amp;nbsp; As individual exploits increase the number of targets they can attack, which usually consist of various combinations of target software, the operating system running that software, patch-levels of both the software and operating system, the hardware architecture that both are running on, and any number of other target environmental factors, identifying a single exploit or vulnerability based on it's related network traffic becomes much harder.&amp;nbsp; When you then factor in all of the evasion techniques such as data massaging, reordering, randomizing, encoding, encrypting, tunneling, and any number of others, many of which have become standard in publicly available tools such as the &lt;a href="http://www.metasploit.com" target="MSF"&gt;Metasploit Exploitation Framework&lt;/a&gt;, the problem gets exponentially harder and you begin to approach the number of potential variants of a single attack or exploit that the malware folks are seeing in their space.&lt;/p&gt;
&lt;p&gt;When faced with an ever-changing hostile network environment of malicious traffic, blacklists of signatures and filters that are developed to detect this data must be equally robust, and must be tested and verified with test cases that approach the dynamic nature and variation that you would see in the wild.&lt;/p&gt;
&lt;p&gt;For further reading on dynamic security tests, please see my previous post entitled &lt;a href="blog/file-format-vulnerabilities-and-dynamic-exploit-generators" target="BPSdtrammellFileFormat"&gt;"File Format Vulnerabilities and Dynamic Exploit Generators"&lt;/a&gt; from a few weeks ago.&amp;nbsp; It helps make Greg's point in that it illustrates how many variants of a malicious file must be properly detected when even only a handful of fields of data within that file can change and it still be a working file format exploit.&lt;/p&gt;
</description>        <dc:publisher>No publisher</dc:publisher>        <dc:creator>Dustin D. Trammell</dc:creator>        <dc:rights></dc:rights>                <dc:date>2008-07-02T19:09:55Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.breakingpointsystems.com/community/blog/more-intrusion-prevention-discussion">        <title>More Intrusion Prevention Discussion</title>        <link>http://www.breakingpointsystems.com/community/blog/more-intrusion-prevention-discussion</link>        <description>
&lt;p&gt;A few weeks ago we talked &lt;a class="external-link" href="../../resources/testmethodologies"&gt;Intrusion Prevention Systems&lt;/a&gt; (IPS) testing and we posted up our videos and methodology.&amp;nbsp; We've gotten some great feedback from the community and will be using some of it in our next set of videos (and we are always looking for more input).&amp;nbsp; With that in the back of my head I was interested to see &lt;a class="external-link" href="../../resources/news/product-reviews"&gt;The Tolly Group's&lt;/a&gt; &lt;a class="external-link" href="http://www.tolly.com/DocDetail.aspx?DocNumber=208296"&gt;most recent custom test&lt;/a&gt; of TrustWave's Intrusion Prevention Appliance.&amp;nbsp; You can &lt;a class="external-link" href="http://www.tolly.com/ts/2008/Trustwave/TS1000/Tolly208296TrustwaveTS1000.pdf"&gt;download the test summary&lt;/a&gt; and look at how they are going to test (full disclosure that they are using BreakingPoint in the testing).&amp;nbsp; We also have more info on &lt;a class="external-link" href="../../solutions/security-equipment-testing/"&gt;security equipment testing&lt;/a&gt;.&lt;/p&gt;
</description>        <dc:publisher>No publisher</dc:publisher>        <dc:creator>Kyle Flaherty</dc:creator>        <dc:rights></dc:rights>                <dc:date>2008-07-02T13:10:00Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.breakingpointsystems.com/community/blog/dpi-to-throttle-internet-traffic-wheres-the-news">        <title>DPI for Bandwidth Shaping? Where's the news?</title>        <link>http://www.breakingpointsystems.com/community/blog/dpi-to-throttle-internet-traffic-wheres-the-news</link>        <description>
&lt;p&gt;There seem to be &lt;a class="external-link" href="http://www.cbc.ca/technology/story/2008/06/19/tech-sandvine.html"&gt;several&lt;/a&gt; &lt;a class="external-link" href="http://www.xchangemag.com/hotnews/deep-packet-inspection-dpi-broadband-metering.html"&gt;conversations&lt;/a&gt; &lt;a class="external-link" href="http://blog.wired.com/music/2008/06/will-deep-packe.html"&gt;happening&lt;/a&gt; on &lt;a class="external-link" href="http://twitter.com/BreakingPoint/statuses/841856514"&gt;service providers using DPI to throttle traffic&lt;/a&gt;.&amp;nbsp; My reaction?&amp;nbsp; What's the big deal?&lt;/p&gt;
&lt;p&gt;This is another case of the media looking for a story that isn't there. Service providers of all sorts have been using bandwidth shaping [&lt;a class="external-link" href="../../products"&gt;DPI&lt;/a&gt;] since the early 90's. Technologies such as Asynchronous Transfer Mode (ATM), had bandwidth shaping in their specifications and ATM was one of the core transports of service providers. UBR , CBR, VBR anyone? Why is this a surprise?&lt;/p&gt;
&lt;p&gt;It reminds me of the Global Warming debate. Al Gore has been talking about it since the 70's - yet when he was vice president nothing got done about it. Not his fault, he's just one man. But if he were vice president now with Global Warming such a hot topic, pardon the pun, the media's pressure would bend the will of the people to solve the "issue". &lt;br&gt;&lt;br&gt;Just yesterday, based on some guys figuring out what &lt;a class="external-link" href="http://tech.slashdot.org/article.pl?sid=08/06/30/1155205"&gt;statistical packet analysis can get you&lt;/a&gt;, everybody went crazy again on this topic. Statistical packet analysis was around WELL before this paper. A bunch of guys from MIT started Mazu, which built a company based on this concept. Arbor is another company that leveraged this, well before Mazu did. So what's the hype? I guess it's a slow news day.&lt;/p&gt;
</description>        <dc:publisher>No publisher</dc:publisher>        <dc:creator>Dennis Cox</dc:creator>        <dc:rights></dc:rights>                <dc:date>2008-07-01T13:10:00Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.breakingpointsystems.com/community/blog/load-profiles-for-layer-4-7-traffic">        <title>Load Profiles for Layer 4-7 Traffic</title>        <link>http://www.breakingpointsystems.com/community/blog/load-profiles-for-layer-4-7-traffic</link>        <description>
&lt;p class="bodytext"&gt;Dennis just put together a new screencast which gives you a quick tour of load profiles for &lt;a class="external-link" href="../../products"&gt;Layer 4-7 traffic&lt;/a&gt;. He also goes into how to create steps and loops in Layer 2/3 test components. For current BreakingPoint users, the load profiles shown in the screencast will be found in the 1.2.1 release.&lt;/p&gt;
&lt;p class="bodytext"&gt;Below is a preview or you can always view it in full glory in a &lt;a href="../../../movies//1.2.1loadprofiles.mov" target="_blank"&gt;Separate Window (it's a little over 6 min.)&lt;/a&gt;.&lt;/p&gt;
&lt;object height="309" width="449"&gt;	&lt;param name="allowfullscreen" value="true"&gt;	&lt;param name="allowscriptaccess" value="always"&gt;	&lt;param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1204804&amp;amp;server=www.vimeo.com&amp;amp;show_title=0&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1"&gt;	&lt;embed width="449" height="309" src="http://www.vimeo.com/moogaloop.swf?clip_id=1204804&amp;amp;server=www.vimeo.com&amp;amp;show_title=0&amp;amp;show_byline=0&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always"&gt;&lt;/embed&gt;&lt;/object&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>        <dc:publisher>No publisher</dc:publisher>        <dc:creator>Kyle Flaherty</dc:creator>        <dc:rights></dc:rights>                <dc:date>2008-06-27T12:25:00Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.breakingpointsystems.com/community/blog/filling-the-application-gap">        <title>Filling the Application Gap</title>        <link>http://www.breakingpointsystems.com/community/blog/filling-the-application-gap</link>        <description>&lt;p&gt;Application traffic continues to grow at an astonishing pace, which certainly means many things to many people, but for Network Equipment Manufacturers (NEMs) and service providers it means that network devices must perform with all of this traffic AND do it at high-speeds of 10 gigabit per second and faster.&amp;nbsp; Today we announced a toolkit to allow for native generation of stateful proprietary &lt;a class="external-link" href="../../news/press-releases/breakingpoint-toolkit-first-to-allow-native-generation-of-stateful-proprietary-application-traffic-for-real-world-performance-testing-of-next-generation-network-devices?portal_status_message=Changes%20saved."&gt;application traffic&lt;/a&gt; (&lt;a class="external-link" href="../../news/press-releases/breakingpoint-toolkit-first-to-allow-native-generation-of-stateful-proprietary-application-traffic-for-real-world-performance-testing-of-next-generation-network-devices"&gt;news release&lt;/a&gt;).&amp;nbsp; I thought I would also share a couple of graphics we've been working on to show the "application gap" that exists and what we are trying to do about it:&lt;/p&gt;
&lt;div id="__ss_485085" style="text-align: left;"&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=gapfilesrev-1214396676786163-9&amp;amp;rel=0"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed width="425" height="355" src="http://static.slideshare.net/swf/ssplayer2.swf?doc=gapfilesrev-1214396676786163-9&amp;amp;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;p&gt;Legacy test vendors have been unable to meet the application
traffic needs of NEMs and service providers due to their &lt;a class="external-link" href="http://www.breakingpointsystems.com/community/blog/acceleratingdevelopment-networkdevices"&gt;locked-down
architecture&lt;/a&gt;. However it is critical to be able to test network
equipment with stateful application traffic including business,
recreational, malicious, and proprietary application traffic.&lt;/p&gt;
&lt;p&gt;As slide 2 shows, BreakingPoint is closing the "application gap" with the release of this toolkit which allows, for the
first time, native generation of stateful proprietary application
traffic.&amp;nbsp; The equation becomes simple: business, recreational, malicious, and proprietary application traffic plus the ability to simulate this traffic at speeds of 10 Gigabits per second on a single interface and scale up to 160 Gigabits per second and you are talking "real-world performance testing".&lt;/p&gt;</description>        <dc:publisher>No publisher</dc:publisher>        <dc:creator>Kyle Flaherty</dc:creator>        <dc:rights></dc:rights>                <dc:date>2008-06-25T12:58:43Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.breakingpointsystems.com/community/blog/faster-activex-kill-kill">        <title>Faster, ActiveX! Kill, Kill!</title>        <link>http://www.breakingpointsystems.com/community/blog/faster-activex-kill-kill</link>        <description>
&lt;p&gt;If you haven't thought about ActiveX Exploitation in a while, a
read-through of Warlord's January 2008 article, &lt;a href="http://www.uninformed.org/?v=9&amp;amp;a=2&amp;amp;t=pdf"&gt;"ActiveX - Active
Exploitation"&lt;/a&gt; is in order. I bring this up because the next StrikePack will feature a new strike, "Analysis: Killed ActiveX
Instantiation."&lt;/p&gt;
&lt;p&gt;As the name implies, this strike iterates through the client-side
ActiveX controls that Microsoft has "killed" via the kill bit mechanism,
and simulates a series of evil web pages which instantiate those
controls. As of today, there are 445 kill bits set on Windows XP and
Vista. These are all controls that Microsoft, in no uncertain terms, has
labeled as Very Bad For Internet Explorer. If you run any of these
controls, your browser will crash in horrible ways, or you risk getting
commands passed directly to the shell, or your browser hands over all
your personal data, or some other awful desktop fate.&lt;/p&gt;
&lt;p&gt;Instantiating these controls is easy -- just deliver an OBJECT tag with
the appropriate CLSID, reference the object with your exploitastic
Javascript, and you're pretty much done. Thus, you would think that
blocking these controls from instantiating in the first place would be
as fundamental to malware detection as any string matching Slammer or
Blaster signature.&lt;/p&gt;
&lt;p&gt;However, informal testing of a couple devices we have around the office
proved this assumption to be baseless. Rather than the forty or fifty
percent detection rates I was expecting, I found rates between zero and
ten percent.&lt;/p&gt;
&lt;p&gt;Admittedly, I had low expectations to begin with, so I wasn't
exactly shocked. That said, if you're in the market for a fancy
expensive device that claims client-side coverage, you may want consider
how that gear stacks up against vendor confirmed, publicly disclosed,
easy to use browser vectors.&lt;/p&gt;
</description>        <dc:publisher>No publisher</dc:publisher>        <dc:creator>Tod Beardsley</dc:creator>        <dc:rights></dc:rights>                <dc:date>2008-06-24T12:00:00Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.breakingpointsystems.com/community/blog/high-speed-deep-packet-inspection-dpi-webinar">        <title>Deep Packet Inspection (DPI) Webinar</title>        <link>http://www.breakingpointsystems.com/community/blog/high-speed-deep-packet-inspection-dpi-webinar</link>        <description>
&lt;p&gt;&lt;a class="external-link" href="../../news/press-releases/nss-labs-selects-breakingpoint-as-standard-for-testing-next-generation-content-aware-network-equipment"&gt;NSS Labs&lt;/a&gt; has announced a Webinar series focused on "High-Speed &lt;a class="external-link" href="../../products"&gt;Deep Packet Inspection&lt;/a&gt; (&lt;a class="external-link" href="if-youre-interested"&gt;DPI&lt;/a&gt;)".&amp;nbsp; The Webinar series starts on July 16th at 10am PDT with NSS Labs Chief Scientist, Bob Walder and CEO, Vik Phatak. After the first one we will certainly be discussing in more detail here on the blog and welcome you to ping us on &lt;a class="external-link" href="http://www.twitter.com/breakingpoint"&gt;Twitter&lt;/a&gt; during the webinar.&lt;/p&gt;
&lt;p&gt;&lt;a class="external-link" href="http://nsslabs.com/events/webinar-dpi-testing"&gt;More information and registration.&lt;/a&gt;&lt;/p&gt;
</description>        <dc:publisher>No publisher</dc:publisher>        <dc:creator>Kyle Flaherty</dc:creator>        <dc:rights></dc:rights>                <dc:date>2008-06-20T13:25:11Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.breakingpointsystems.com/community/blog/network-test-to-break">        <title>When Looking Bad Makes You Good</title>        <link>http://www.breakingpointsystems.com/community/blog/network-test-to-break</link>        <description>
&lt;p&gt;&lt;em&gt;Aren’t you afraid you’re going to make everybody look bad?&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;I often get asked this question when I am demonstrating the product, discussing &lt;a class="external-link" href="../../products"&gt;test results&lt;/a&gt;, or explaining how my product works to the folks who are &lt;a class="external-link" href="http://www.breakingpointlabs.com"&gt;testing network devices&lt;/a&gt;. Why is it that everyone is afraid of looking bad? It seems like the whole network industry has been immersed in this fear for so long that they’re willing to do anything to look good.&lt;/p&gt;
&lt;p&gt;Test gear companies are aware of this fear, so they’ve built their products to favor specific network equipment vendors. At the end of the day, test gear companies will do anything to ensure that their customers’ products don’t look bad – even if it means tweaking their test gear to work better with certain network equipment. My problem with this is: how will network equipment manufacturers ever know if their stuff really works if they’re not &lt;a class="external-link" href="../../resources/testmethodologies/ips/overview/#testing_victims"&gt;breaking their equipment&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;One of the reasons why the companies I’ve been with have all been successful is because we focused on breaking our equipment. I wanted to find test gear that showed me the problems with our products; I wasn’t particularly looking for test gear that would help improve the specs on our data sheets. Obviously, that’ s not a bad thing, but it’s not the most important thing. The most important thing for us was finding the issues with our products before they were released into the field. After all, the field is the worse place to find an issue, the costs are a lot higher and the debugging time is infinitely longer.&lt;/p&gt;
&lt;p&gt;So, my answer to the question, “Aren’t you afraid you’re going to make everyone look bad?” is no. I’m afraid of what will happen if someone installs network equipment that wasn’t properly tested. I’m afraid something terrible will happen, like a CEO not being able to access their e-mail or giant wombats overtaking the world.&lt;/p&gt;
&lt;p&gt;What do you use your test gear for?&lt;/p&gt;
</description>        <dc:publisher>No publisher</dc:publisher>        <dc:creator>Dennis Cox</dc:creator>        <dc:rights></dc:rights>                <dc:date>2008-06-19T10:00:00Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>
    <item rdf:about="http://www.breakingpointsystems.com/community/blog/file-format-vulnerabilities-and-dynamic-exploit-generators">        <title>File Format Vulnerabilities and Dynamic Exploit Generators</title>        <link>http://www.breakingpointsystems.com/community/blog/file-format-vulnerabilities-and-dynamic-exploit-generators</link>        <description>
&lt;p&gt;File format vulnerabilities make for very interesting network security device test cases.&amp;nbsp; Due to their nature and how they're transported within network traffic, there are generally multiple layers of data structure, formatting, encoding, and potential obfuscation in play.&amp;nbsp; Not only must you consider the file format in question's own internal structure, but quite frequently there is further embedded content within that structure.&amp;nbsp; This entire file object, being it's own self-contained entity, is then potentially being sent over any number of various network transports.&amp;nbsp; Because the vulnerabilities usually lie in some anomalous use of the file format's internal structure, a bad value contained within that structure, or embedded content within the file, a network security device that intends to detect this maliciousness not only needs to be able to recognize it wherever in the network packet flow it may be, but also be able to reconstruct potentially fragmented data, decode potentially encoded data, and then identify the malicious bit itself.&lt;/p&gt;
&lt;p&gt;To better illustrate this dilemma, let's take a look at the recent &lt;a href="http://www.microsoft.com/technet/security/Bulletin/MS08-033.mspx"&gt;ms08-033&lt;/a&gt; AVI/MJPG vulnerability.&amp;nbsp; &lt;a href="http://msdn.microsoft.com/en-us/library/ms779636(VS.85).aspx"&gt;AVI&lt;/a&gt; is essentially a RIFF file with some particular AVI-specific FourCC tagged LISTs and chunks.&amp;nbsp; The vulnerability here lies in the value of the "biHeight" field within the &lt;a href="http://msdn.microsoft.com/en-us/library/ms779712(VS.85).aspx"&gt;BITMAPINFOHEADER&lt;/a&gt;
structure, which is essentially the AVI "stream format" ("strf") chunk.&amp;nbsp; This chunk is part of a "strl" LIST that describes an individual video stream contained within the file, which, along with other "strl" LISTs generally follow the main AVI header ("strh") chunk.&amp;nbsp; By populating the "biHeight" field with a negative value (I had success with values -1 through -31), you can trigger the vulnerability described in the advisory and cause Windows Media Player to crash.&amp;nbsp; Windows Media Player also doesn't seem to care too much about what Codec you indicate that the video stream should be processed with ("fccHandler") in the &lt;a href="&amp;gt;http://msdn.microsoft.com/en-us/library/ms779638(VS.85).aspx"&gt;AVISTREAMHEADER&lt;/a&gt;.&amp;nbsp; Either Windows Media Player defaults unrecognized handlers to the MJPG Codec, or it determines where to send stream data with an unrecognized handler value based on recognizing the encoding method applied to the stream data itself.&amp;nbsp; Further explanation of the vulnerability can be found in a post by Mark Dowd &lt;strong&gt;&lt;/strong&gt;over at &lt;a href="http://blogs.iss.net/archive/mjpeg.html"&gt;ISS's Frequency X blog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The strikes that are included in the Security component of the BPS product generally draw upon a back-end code-base that is capable of generating the various bits of data that are used during the strike's attack.&amp;nbsp; For file format vulnerabilities, this back-end is usually a dynamic file generator that can generate randomized, but still valid, files of the type in question.&amp;nbsp; This back-end is then coupled with individual strike descriptions which describe the parts of the attack such as various meta-data, the network connections involved, and what actual data is sent across the wire within those connections.&amp;nbsp; For file format vulnerabilities, the possibilities here are endless.&amp;nbsp; Due to the file being a self-contained unit, it can be sent from attacker to victim over any number of transports such as HTTP, FTP, POP3, SMTP, IMAP, peer-to-peer applications, tunneled protocols, embedded within other files, and so forth.&amp;nbsp; Many of these available transports also provide for multiple types of data encoding during transport, such as SMTP's Base64, Quoted-Printable, and UUEncoded variations.&lt;/p&gt;
&lt;p&gt;For the ms08-033 example given above, we have developed 8 different transport-and-encoding-based strikes, each of which plug into the RIFF(AVI/MJPG)-generating back-end to dynamically generate the malicious file being transferred.&amp;nbsp; When you do the math on all of the permutations of the bits of data that a network security device either MUST (to properly detect the badness) or SHOULD (to avoid false positives) be included in a signature or filter for this vulnerability, not including everything else that is randomized by our RIFF-generating back-end, you end up with 1,065,151,889,408 (yes, that's just over one trillion) attack permutations, or malicious, vulnerability-triggering attacks.&amp;nbsp; These attacks can be produced via the eight ms08-033 strikes that will be included in our next StrikePack.&amp;nbsp; Any network security device's filters or signatures must be able to match on all of these permutations, do it reliably, and not false positive on legitimate AVI/MJPG files in order to legitimately claim coverage for this vulnerability.&amp;nbsp; A daunting task indeed.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
</description>        <dc:publisher>No publisher</dc:publisher>        <dc:creator>Dustin D. Trammell</dc:creator>        <dc:rights></dc:rights>                <dc:date>2008-06-17T21:45:04Z</dc:date>        <dc:type>Blog Entry</dc:type>    </item>




</rdf:RDF>
