<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title><![CDATA[Google Online Security Blog]]></title>
    <link>http://securityratty.com/feed/bc5526f6bdb8a479173d58b751c026aa</link>
    <description></description>
    <pubDate>Mon, 11 Jun 2007 07:35:00 +0000</pubDate>
    <generator>iRatty Engine</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <item>
      <title><![CDATA[Are you using the latest web browser?]]></title>
      <link>http://securityratty.com/article/f99696393f35efc81b36eae37200a248</link>
      <guid>http://securityratty.com/article/f99696393f35efc81b36eae37200a248</guid>
      <description><![CDATA[Written by Thomas Duebendorfer

In view of mass defacements of hundreds of thousand of web pages - with the intent to misuse them to launch drive-by download attacks - security researchers from ETH...]]></description>
      <content:encoded><![CDATA[<span class="byline-author">Written by Thomas Duebendorfer</span><br /><br />In view of mass defacements of hundreds of thousand of web pages - with the intent to misuse them to launch drive-by download attacks - security researchers from ETH Zurich, Google, and IBM Internet Security Systems were interested in looking at the other side of the attack: the web browser. By analyzing the web browser versions seen in visits to Google websites, they have shown that more than 600 million Internet users don't use the latest version of their browser.<br /><br /><b>Slow migration to latest browser version</b><br />The researchers' paper, entitled <a href="http://www.techzoom.net/insecurity-iceberg">"Understanding the Web Browser Threat"</a>, shows that as of June 2008, only 59.1% percent of Internet users worldwide use the latest major version of their preferred web browser. Firefox users are the most attentive: 92.2% of them surfed with Firefox 2, the latest major version before the recently released 3.0. Only 52.5% of Microsoft Internet Explorer users have updated to version 7, which is the most secure according to multiple publicly-cited Microsoft experts (among them Sandi Hardmeier). The study revealed that 637 million Internet users worldwide who use web browsers are either not running the latest version of their preferred browser or have not installed the latest patches. These users are vulnerable to exploitation due to their web browser's "built-in" vulnerabilities and the lack of more recent security mechanisms such as improved phishing protection.<br /><br /><b>Neglected security patches</b><br />Over the past 18 months, the study also shows, a maximum of 83.3% of Firefox users were using the latest major version of the web browser and also had all current patches installed (i.e. latest minor version). Only 56.1% and 47.6% of Opera and Internet Explorer users, respectively, were similarly utilizing fully-patched web browsers. Apple users are no better: since the public release of Safari 3, only 65.3% of users operate the latest Safari version.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_LMSk7hTEaIE/SH5ZvdukCtI/AAAAAAAAd10/-yGf2De4l8I/s1600-h/share.png"><img style="cursor: pointer;" src="http://bp1.blogger.com/_LMSk7hTEaIE/SH5ZvdukCtI/AAAAAAAAd10/-yGf2De4l8I/s400/share.png" alt="" id="BLOGGER_PHOTO_ID_5223711289765006034" border="0" /></a><br /><div><em>Maximum measured share of users surfing the web with the most secure versions of Firefox, Safari, Opera and Internet Explorer in June 2008 as seen on Google websites.</em></div><br /><br /><b>Obsolete browser warning</b><br />The study's most important finding is that technical measures now in place do not sufficiently guarantee browser security, and that users' security awareness must be further developed. The problem is that most users are unaware that they are not using their browser's latest version. It must be made clear to web browser users that outdated software is associated with significantly higher risk. The researchers therefore suggest that, as a critical component of web software, a visible warning be instituted that warns the user of missing security patches in a way analogous to the 'best before' date in the perishable food industry. Software updates must also be made easier to find. The resulting transparency would go far in contributing to end user awareness of software weaknesses, and allow users to better evaluate risks.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_LMSk7hTEaIE/SH5aAEVMy0I/AAAAAAAAd18/nXMAqQdWXno/s1600-h/expired.png"><img style="cursor: pointer;" src="http://bp0.blogger.com/_LMSk7hTEaIE/SH5aAEVMy0I/AAAAAAAAd18/nXMAqQdWXno/s400/expired.png" alt="" id="BLOGGER_PHOTO_ID_5223711575005514562" border="0" /></a><br /><div><em>Example "best before" implementation on a Web browser</em></div><br /><br />As a side effect, having users migrate faster to the latest browser version would not only increase security but also make the lives of webmasters easier, as they would need to test and optimize websites for fewer older versions of web browsers.<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/GoogleOnlineSecurityBlog?a=JC3YMJ"><img src="http://feeds.feedburner.com/~f/GoogleOnlineSecurityBlog?i=JC3YMJ" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/GoogleOnlineSecurityBlog?a=Tt44Ej"><img src="http://feeds.feedburner.com/~f/GoogleOnlineSecurityBlog?i=Tt44Ej" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/337403441" height="1" width="1"/>]]></content:encoded>
      <pubDate>Wed, 16 Jul 2008 09:24:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/browser">browser</category>
      <category domain="http://securityratty.com/tag/web browser">web browser</category>
      <category domain="http://securityratty.com/tag/browser version">browser version</category>
      <category domain="http://securityratty.com/tag/versions">versions</category>
      <category domain="http://securityratty.com/tag/secure versions">secure versions</category>
      <category domain="http://securityratty.com/tag/obsolete browser">obsolete browser</category>
      <category domain="http://securityratty.com/tag/web browser versions">web browser versions</category>
      <category domain="http://securityratty.com/tag/web browser users">web browser users</category>
      <category domain="http://securityratty.com/tag/web">web</category>
      <source url="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~3/337403441/are-you-using-latest-web-browser.html">Are you using the latest web browser?</source>
    </item>
    <item>
      <title><![CDATA[Meet ratproxy, our passive web security assessment tool]]></title>
      <link>http://securityratty.com/article/bc78dd4116c64ea5b3a05fa82e188ff7</link>
      <guid>http://securityratty.com/article/bc78dd4116c64ea5b3a05fa82e188ff7</guid>
      <description><![CDATA[Posted by Michal Zalewski

We're happy to announce that we've just open-sourced ratproxy , a passive web application security assessment tool that we've been using internally at Google. This utility,...]]></description>
      <content:encoded><![CDATA[<span class="byline-author">Posted by Michal Zalewski</span><br /><br />We're happy to announce that we've just open-sourced <a href="http://code.google.com/p/ratproxy">ratproxy</a>, a passive web application security assessment tool that we've been using internally at Google. This utility, developed by our information security engineering team, is designed to transparently analyze legitimate, browser-driven interactions with a tested web property and automatically pinpoint, annotate, and prioritize potential flaws or areas of concern.  <br /><br />The proxy analyzes problems such as cross-site script inclusion threats, insufficient cross-site request forgery defenses, caching issues, cross-site scripting candidates, potentially unsafe cross-domain code inclusion schemes and information leakage scenarios, and much more. (A more-detailed discussion of these features and information on securing vulnerable applications is provided <a href="http://code.google.com/p/ratproxy/wiki/RatproxyDoc">here</a>.) Compared with more-traditional active crawlers, or with fully manual request inspection and modification frameworks, this approach offers several significant advantages in terms of minimized overhead; marginalized risk of site disruptions; high coverage of complex, client-driven application states in web 2.0 solutions; and insight into dynamic cross-domain trust models.<br /><br />We decided to make this tool freely available as open source because we feel it will be a valuable contribution to the information security community, helping advance the community's understanding of security challenges associated with contemporary web technologies. We believe that responsible security research brings a net overall benefit to the safety of the Web as a whole, and have released this tool explicitly to support that kind of research.<br /><br />To download the proxy, please visit this <a href="http://ratproxy.googlecode.com/files/ratproxy-1.50.tar.gz">page</a>. Also, please keep in mind that the proxy is designed solely to highlight interesting patterns in web applications, and a further analysis by a security professional is often required to interpret the results and their significance for the tested platform.<div class="feedflare">
<a href="http://feeds.feedburner.com/~f/GoogleOnlineSecurityBlog?a=cTCU6J"><img src="http://feeds.feedburner.com/~f/GoogleOnlineSecurityBlog?i=cTCU6J" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/GoogleOnlineSecurityBlog?a=K3C5fj"><img src="http://feeds.feedburner.com/~f/GoogleOnlineSecurityBlog?i=K3C5fj" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/324447250" height="1" width="1"/>]]></content:encoded>
      <pubDate>Tue, 01 Jul 2008 12:49:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/web">web</category>
      <category domain="http://securityratty.com/tag/information">information</category>
      <category domain="http://securityratty.com/tag/information leakage scenarios">information leakage scenarios</category>
      <category domain="http://securityratty.com/tag/information security">information security</category>
      <category domain="http://securityratty.com/tag/contemporary web technologies">contemporary web technologies</category>
      <category domain="http://securityratty.com/tag/information security community">information security community</category>
      <category domain="http://securityratty.com/tag/web property">web property</category>
      <category domain="http://securityratty.com/tag/community">community</category>
      <category domain="http://securityratty.com/tag/web applications">web applications</category>
      <source url="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~3/324447250/meet-ratproxy-our-passive-web-security.html">Meet ratproxy, our passive web security assessment tool</source>
    </item>
    <item>
      <title><![CDATA[All Your iFrame Are Point to Us]]></title>
      <link>http://securityratty.com/article/ff687f074d0f09b453b79d86a028427c</link>
      <guid>http://securityratty.com/article/ff687f074d0f09b453b79d86a028427c</guid>
      <description><![CDATA[Written by Niels Provos, Anti-Malware Team

It has been over a year and a half since we started to identify web pages that infect vulnerable hosts via drive-by downloads , i.e. web pages that attempt...]]></description>
      <content:encoded><![CDATA[<span class="byline-author">Written by Niels Provos, Anti-Malware Team</span><br /><br />It has been over a year and a half since we started to identify web pages that infect vulnerable hosts via <i>drive-by downloads</i>, i.e. web pages that attempt to exploit their visitors by installing and running malware automatically.  During that time we have investigated billions of URLs and found more than three million unique URLs on over 180,000 web sites automatically installing malware.  During the course of our research, we have investigated not only the prevalence of drive-by downloads but also how users are being exposed to malware and how it is being distributed.   Our research paper is currently under peer review, but we are making a <a href="http://research.google.com/archive/provos-2008a.pdf">technical report [PDF]</a> available now.  Although our technical report contains a lot more detail, we present some high-level findings here:<br /><br /><span style="font-weight: bold;">Search Results Containing a URL Labeled as Harmful</span><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_LMSk7hTEaIE/R7DFFTZgEGI/AAAAAAAAGk0/eNxgOyjY3x4/s1600-h/harmful_search_result_pages.png"><img style="cursor: pointer;" src="http://bp3.blogger.com/_LMSk7hTEaIE/R7DFFTZgEGI/AAAAAAAAGk0/eNxgOyjY3x4/s400/harmful_search_result_pages.png" alt="" id="BLOGGER_PHOTO_ID_5165845467491209314" border="0" /></a><br /><br />The above graph shows the percentage of daily queries that contain at least one search result labeled as harmful.  In the past few months, more than 1% of all search results contained at least one result that we believe to point to malicious content and the trend seems to be increasing.<br /><br /><b>Browsing Habits</b><br /><br />Good computer hygiene, such as running automatic updates for the operating system and third-party applications, as well as installing anti-virus products goes a long way in protecting your home computer.  However, we have been wondering if  users' browsing habits impact the likelihood of encountering malicious web pages.   To study this aspect, we took a sample of ~7 million URLs and mapped them to <a title="DMOZ" href="http://www.dmoz.org/">DMOZ</a> categories.  Although we found that adult web pages may increase the risk of exploitation, each DMOZ category was affected.<br /><br /><b>Malicious Content Injection</b><br /><br />To understand if malicious content on a web server is due to poor web server security, we analyzed the version numbers reported by web servers on which we found malicious pages. Specifically, we looked at the Apache and the PHP versions exported as part of a server's response.   We found that over 38% of both Apache and PHP versions were outdated increasing the risk of remote content injection to these servers.<br /><br />Our "<a href="http://www.usenix.org/event/hotbots07/tech/full_papers/provos/provos.pdf">Ghost In the Browser [PDF]</a>" paper highlighted third-party content as one potential vector of malicious content.  Today, a lot of third-party content is due to advertising.  To assess the extent to which advertising contributes to drive-by downloads, we analyze the distribution chain of malware, i.e. all the intermediary URLs a browser downloads before reaching a malware payload.  We inspected each distribution chain for membership in about 2,000 known advertising networks.  If any URL in the distribution chain corresponds to a known advertising network, we count the whole page as being infectious due to Ads.  In our analysis, we found that on average 2% of malicious web sites were delivering malware via advertising.  The underlying problem is that advertising space is often syndicated to other parties who are not known to the web site owner.  Although non-syndicated advertising networks such as Google Adwords are not affected, any advertising networks practicing syndication needs to carefully study this problem. Our <a href="http://research.google.com/archive/provos-2008a.pdf">technical report [PDF]</a> contains more detail including an analysis based on the popularity of web sites.<br /><b><br />Structural Properties of Malware Distribution</b><br /><br />Finally, we also investigated the structural properties of malware distribution sites.  Some malware distribution sites had as many as 21,000 regular web sites pointing to them.  We also found that the majority of malware was hosted on web servers located in China.  Interestingly, Chinese malware distribution sites are mostly pointed to by Chinese web servers.<br /><br />We hope that an analysis such as this will help us to better understand the malware problem in the future and allow us to protect users all over the Internet from malicious web sites as best as we can.  One thing is clear - we have a lot of work ahead of us.<img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/233387905" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 11 Feb 2008 10:57:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/malware distribution sites">malware distribution sites</category>
      <category domain="http://securityratty.com/tag/malware distribution">malware distribution</category>
      <category domain="http://securityratty.com/tag/malware">malware</category>
      <category domain="http://securityratty.com/tag/anti-malware team">anti-malware team</category>
      <category domain="http://securityratty.com/tag/malware payload">malware payload</category>
      <category domain="http://securityratty.com/tag/chinese web servers">chinese web servers</category>
      <category domain="http://securityratty.com/tag/servers">servers</category>
      <category domain="http://securityratty.com/tag/regular web sites">regular web sites</category>
      <category domain="http://securityratty.com/tag/web sites">web sites</category>
      <source url="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~3/233387905/all-your-iframe-are-point-to-us.html">All Your iFrame Are Point to Us</source>
    </item>
    <item>
      <title><![CDATA[Help us fill in the gaps!]]></title>
      <link>http://securityratty.com/article/922cc45c99225818f84d03f4d7e03c4b</link>
      <guid>http://securityratty.com/article/922cc45c99225818f84d03f4d7e03c4b</guid>
      <description><![CDATA[Posted by Ian Fette


We've been targeting malware for over a year and a half , and these efforts are paying off. We are now able to display warnings in search results when a site is known to be...]]></description>
      <content:encoded><![CDATA[<span class="byline-author">Posted by Ian Fette</span><br /><br /><div>We've been targeting malware <a title="for over a year and a half" href="http://googleblog.blogspot.com/2006/01/putting-stop-to-spyware.html" id="ugj2">for over a year and a half</a>, and these efforts are paying off. We are now able to display warnings in search results when a site is known to be malicious, which can help you avoid drive-by downloads and other computer compromises. We are already distributing this data through the <a title="Safe Browsing API" href="http://code.google.com/apis/safebrowsing/" id="fice">Safe Browsing API</a>, and we are working on bringing this protection to more users by integrating with more Google products. While these are great steps, we need your help going forward!</div><div> </div><div><br />Currently, we know of hundreds of thousands of websites that attempt to infect people's computers with malware. Unfortunately, we also know that there are more malware sites out there. This is where we need your help in filling in the gaps. If you come across a site that is hosting malware, we now have an easy way for you to let us know about it. If you come across a site that is hosting malware, please fill out <a title="this short form" href="http://www.google.com/safebrowsing/report_badware/" id="y8or">this short form</a>. Help us keep the internet safe, and report sites that distribute malware. </div><div> </div><img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/192627042" height="1" width="1"/>]]></content:encoded>
      <pubDate>Thu, 29 Nov 2007 11:28:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/malware">malware</category>
      <category domain="http://securityratty.com/tag/distribute malware">distribute malware</category>
      <category domain="http://securityratty.com/tag/malware sites">malware sites</category>
      <category domain="http://securityratty.com/tag/safe">safe</category>
      <category domain="http://securityratty.com/tag/avoid drive-by downloads">avoid drive-by downloads</category>
      <category domain="http://securityratty.com/tag/internet safe">internet safe</category>
      <category domain="http://securityratty.com/tag/site">site</category>
      <category domain="http://securityratty.com/tag/google products">google products</category>
      <category domain="http://securityratty.com/tag/display warnings">display warnings</category>
      <source url="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~3/192627042/help-us-fill-in-gaps.html">Help us fill in the gaps!</source>
    </item>
    <item>
      <title><![CDATA[Auditing open source software]]></title>
      <link>http://securityratty.com/article/59467548fd840375c0d60473f6181fe5</link>
      <guid>http://securityratty.com/article/59467548fd840375c0d60473f6181fe5</guid>
      <description><![CDATA[Written by Chris Evans, Security Team

Google encourages its employees to contribute back to the open source community, and there is no exception in Google's Security Team. Let's look at some...]]></description>
      <content:encoded><![CDATA[<span class="byline-author">Written by Chris Evans, Security Team</span><br /><br />Google encourages its employees to contribute back to the open source community, and there is no exception in Google's Security Team. Let's look at some interesting open source vulnerabilities that were located and fixed by members of Google's Security team. It is interesting to classify and aggregate the code flaws leading to the vulnerabilities, to see if any particular type of flaw is more prevalent.<br /><ol><li><b>JDK</b>. In May 2007, I <a title="released details" href="http://scary.beasts.org/security/CESA-2006-004.html" id="ro-g">released details</a> on an interesting bug in the ICC profile parser in Sun's JDK. The bug is particularly interesting because it could be exploited by an evil image. Most previous JDK bugs involve a user having to run a whole evil applet. The key parts of code which demonstrate the bug are as follows:<br /><blockquote><code style="font-size: 120%"><br />TagOffset = SpGetUInt32 (&Ptr);<br />if (ProfileSize &lt TagOffset)<br />&nbsp;&nbsp;return SpStatBadProfileDir;<br />...<br />TagSize = SpGetUInt32 (&Ptr);<br />if (ProfileSize &lt TagOffset + TagSize)<br />&nbsp;&nbsp;return SpStatBadProfileDir;<br />...<br />Ptr = (KpInt32_t *) malloc ((unsigned int)numBytes+HEADER);<br /></code></blockquote><br />Both TagSize and TagOffset are untrusted unsigned 32-bit values pulled out of images being parsed. They are added together, causing a classic integer overflow condition and the bypass of the size check. A subsequent additional integer overflow in the allocation of a buffer leads to a heap-based buffer overflow. </li><br /><li><b>gunzip</b>. In September 2006, my colleague Tavis Ormandy <a title="reported some interesting vulnerabilities" href="http://www.scary.beasts.org/security/tavis_gzip.txt" id="qbd9">reported some interesting vulnerabilities</a> in the gunzip decompressor. They were triggered when an evil compressed archive is decompressed. A lot of programs will automatically pass compressed data through gunzip, making it an interesting attack. The key parts of the code which demonstrate one of the bugs are as follows:<br /><blockquote><code style="font-size: 120%"><br />ush count[17], weight[17], start[18], *p;<br />...<br />for (i = 0; i &lt (unsigned)nchar; i++) count[bitlen[i]]++;<br /></code></blockquote><br />Here, the stack-based array "count" is indexed by values in the "bitlen" array. These values are under the control of data in the incoming untrusted compressed data, and were not checked for being within the bounds of the "count" array. This led to corruption of data on the stack.</li><br /><br /><li><b>libtiff</b>. In August 2006, Tavis <a title="reported a range of security vulnerabilities" href="http://www.scary.beasts.org/security/tavis_libtiff.txt" id="lkkz">reported a range of security vulnerabilities</a> in the libtiff image parsing library. A lot of image manipulation programs and services will be using libtiff if they handle TIFF format files. So, an evil TIFF file could compromise a lot of desktops or even servers. The key parts of the code which demonstrate one of the bugs are as follows:<br /><blockquote><code style="font-size: 120%"><br />if (sp-&gt;cinfo.d.image_width != segment_width ||<br />&nbsp;&nbsp;&nbsp;&nbsp;sp-&gt;cinfo.d.image_height != segment_height) {<br />&nbsp;&nbsp;TIFFWarningExt(tif-&gt;tif_clientdata, module,<br />&nbsp;&nbsp;&nbsp;&nbsp;"Improper JPEG strip/tile size, expected %dx%d, got %dx%d",<br /></code></blockquote><br />Here, a TIFF file containing a JPEG image is being processed. In this case, both the TIFF header and the embedded JPEG image contain their own copies of the width and height of the image in pixels. This check above notices when these values differ, issues a warning, and continues. The destination buffer for the pixels is allocated based on the TIFF header values, and it is filled based on the JPEG values. This leads to a buffer overflow if a malicious image file contains a JPEG with larger dimensions than those in the TIFF header. Presumably the intent here was to support broken files where the embedded JPEG had smaller dimensions than those in the TIFF header. However, the consequences of larger dimensions that those in the TIFF header had not been considered.</li></ol><br />We can draw some interesting conclusions from these bugs. The specific vulnerabilities are integer overflows, out-of-bounds array accesses and buffer overflows. However, the general theme is using an integer from an untrusted source without adequately sanity checking it. Integer abuse issues are still very common in code, particular code which is decoding untrusted binary data or protocols. We recommend being careful using any such code until it has been vetted for security (by extensive code auditing, fuzz testing, or preferably both). It is also important to watch for security updates for any decoding software you use, and keep patching up to date.<img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/167194174" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 08 Oct 2007 12:13:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/image">image</category>
      <category domain="http://securityratty.com/tag/malicious image file">malicious image file</category>
      <category domain="http://securityratty.com/tag/libtiff image">libtiff image</category>
      <category domain="http://securityratty.com/tag/values">values</category>
      <category domain="http://securityratty.com/tag/jpeg image">jpeg image</category>
      <category domain="http://securityratty.com/tag/tiff header values">tiff header values</category>
      <category domain="http://securityratty.com/tag/source">source</category>
      <category domain="http://securityratty.com/tag/evil tiff file">evil tiff file</category>
      <category domain="http://securityratty.com/tag/evil">evil</category>
      <source url="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~3/167194174/auditing-open-source-software.html">Auditing open source software</source>
    </item>
    <item>
      <title><![CDATA[Information flow tracing and software testing]]></title>
      <link>http://securityratty.com/article/3c56ee518b4f0794f66ee670bb37a390</link>
      <guid>http://securityratty.com/article/3c56ee518b4f0794f66ee670bb37a390</guid>
      <description><![CDATA[Posted by Will Drewry, Security Team

Security testing of applications is regularly performed using fuzz testing. As previously discussed on this blog, Srinath's Lemon uses a form of smart fuzzing....]]></description>
      <content:encoded><![CDATA[<span class="byline-author">Posted by Will Drewry, Security Team</span><br /><br />Security testing of applications is regularly performed using fuzz testing.  As previously discussed on this blog, <a href="http://googleonlinesecurity.blogspot.com/2007/07/automating-web-application-security.html" id="jmad" title="Srinath's Lemon">Srinath's Lemon</a> uses a form of smart fuzzing.  Lemon is aware of classes of web application threats and the input families which trigger them, but not all fuzz testing frameworks have to be this complicated. Fuzz testing <a href="http://pages.cs.wisc.edu/%7Ebart/fuzz/fuzz.html" target="_blank">originally</a><span style="text-decoration: underline;"></span> relied on purely random data, ignorant of specific threats and known dangerous input. Today, this approach is often overlooked in favor of more complicated techniques.  Early sanity checks in applications looking for something as a simple as a version number may render testing with completely random input ineffective.  However, the newer, more complicated fuzz testers require a considerable initial investment in the form of complete input format specifications or the selection of a large corpus of initial input samples.<br /><br />At <a href="http://www.usenix.org/events/woot07/tech" target="_blank">WOOT'07</a>,I presented a <a href="http://www.google.com/search?hl=en&amp;lr=&amp;q=%22Flayer%3A+Exposing+Application+Internals%22" target="_blank">paper</a> on <a href="http://code.google.com/p/flayer" target="_blank">Flayer</a>, a tool we developed internally to augment our security testing efforts.  In particular, it allows for a fuzz testing technique that compromises between the original idea and the most complicated.  Flayer makes it possible to remove input sanity checks at execution time. With the small investment of identifying these checks, Flayer allows for completely random testing to be performed with much higher efficacy. Already, we've uncovered multiple vulnerabilities in Internet-critical software using this approach.<br /><br />The way that Flayer allows for sanity checks to be identified is perhaps the more interesting point. Flayer uses a <a href="http://valgrind.org/" target="_blank">dynamic analysis framework</a> to analyze the target application at execution time. Flayer marks, or taints, input to the program and traces that data throughout its lifespan. Considerable research has been done in the past regarding information flow tracing using dynamic analysis. Primarily, this work has been aimed at malware and exploit detection and defense. However, none of the resulting software has been made publicly available.<br /><br />While Flayer is still in its early stages, it is available for <a href="http://code.google.com/p/flayer/downloads/list" target="_blank">download</a> under the GNU Public License.  External <a href="http://code.google.com/p/flayer/issues/list" id="wkck" title="contributions">contributions</a> and <a href="http://groups.google.com/group/flayer" id="w7dc" title="comments">feedback</a> <a href="http://code.google.com/p/flayer/issues/list" id="wkck" title="contributions"></a>are encouraged!<img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/157672373" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 17 Sep 2007 05:32:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/input">input</category>
      <category domain="http://securityratty.com/tag/flayer marks">flayer marks</category>
      <category domain="http://securityratty.com/tag/initial input samples">initial input samples</category>
      <category domain="http://securityratty.com/tag/flayer">flayer</category>
      <category domain="http://securityratty.com/tag/fuzz">fuzz</category>
      <category domain="http://securityratty.com/tag/fuzz testers require">fuzz testers require</category>
      <category domain="http://securityratty.com/tag/checks">checks</category>
      <category domain="http://securityratty.com/tag/dynamic analysis framework">dynamic analysis framework</category>
      <category domain="http://securityratty.com/tag/sanity checks">sanity checks</category>
      <source url="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~3/157672373/information-flow-tracing-and-software.html">Information flow tracing and software testing</source>
    </item>
    <item>
      <title><![CDATA[Automating web application security testing]]></title>
      <link>http://securityratty.com/article/c780cd82259ac82a30a3460aa0d3419d</link>
      <guid>http://securityratty.com/article/c780cd82259ac82a30a3460aa0d3419d</guid>
      <description><![CDATA[Posted by Srinath Anantharaju, Security Team

Cross-site scripting (aka XSS) is the term used to describe a class of security vulnerabilities in web applications. An attacker can inject malicious...]]></description>
      <content:encoded><![CDATA[<span class="byline-author">Posted by Srinath Anantharaju, Security Team</span><br /><br />Cross-site scripting (aka XSS) is the term used to describe a class of security vulnerabilities in web applications. An attacker can inject malicious scripts to perform unauthorized actions in the context of the victim's web session. Any web application that serves documents that include data from untrusted sources could be vulnerable to XSS if the untrusted data is not appropriately sanitized. A web application that is vulnerable to XSS can be exploited in two major ways:<br /><br />&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT:bold">Stored XSS</span> - Commonly exploited in a web application where one user enters information that's viewed by another user. An attacker can inject malicious scripts that are executed in the context of the victim's session. The exploit is triggered when a victim visits the website at some point in the future, such as through improperly sanitized blog comments and guestbook entries, which facilitates stored XSS.<br /><br />&nbsp;&nbsp;&nbsp; <span style="FONT-WEIGHT:bold">Reflected XSS </span>- An application that echoes improperly sanitized user input received as query parameters is vulnerable to reflected XSS. With a vulnerable application, an attacker can craft a malicious URL and send it to the victim via email or any other mode of communication. When the victim visits the tampered link, the page is loaded along with the injected script that is executed in the context of the victim's session.<br /><br />The general principle behind preventing XSS is the proper sanitization (via, for instance, escaping or filtering) of all untrusted data that is output by a web application. If untrusted data is output within an HTML document, the appropriate sanitization depends on the specific context in which the data is inserted into the HTML document. The context could be in the regular HTML body, tag attributes, URL attributes, URL query string attributes, style attributes, inside JavaScript, HTTP response headers, etc.<br /><br />The following are some (by no means complete) examples of XSS vulnerabilities. Let's assume there is a web application that accepts user input as the 'q' parameter. Untrusted data coming from the attacker is marked in red.<br /><ul><br /><li>Injection in regular HTML body - angled brackets not filtered or escaped<br /><br /><span style="font-family:Courier New;">&lt;b&gt;Your query '<font color="#ff0000" style="FONT-FAMILY:Courier New">&lt;script&gt;evil_script()&lt;/script&gt;</font>' returned xxx results&lt;/b&gt; </span></li><br /><li>Injection inside tag attributes - double quote not filtered or escaped<br /><br /><span style="font-family:Courier New;">&lt;form ...<br />&nbsp;&nbsp;&lt;input name="q" value="<font color="#ff0000">blah"&gt;&lt;script&gt;evil_script()&lt;/script&gt;</font>"&gt;<br />&lt;/form&gt;</span></li><br /><li>Injection inside URL attributes - non-http(s) URL<br /><br /><span style="font-family:Courier New;">&lt;img src="<font color="#ff0000">javascript:evil_script()</font>"&gt;...&lt;/img&gt;</span></li><br /><li>In JavaScript context - single quote not filtered or escaped<br /><br /><span style="font-family:Courier New;">&lt;script&gt;<br />&nbsp;&nbsp;var msg = '<font color="#ff0000">blah'; evil_script(); //<font color="#000000">'</font></font>;<br />&nbsp;&nbsp;// do something with msg variable<br />&lt;/script&gt;</span></li></ul><br /><br />In the cases where XSS arises from meta characters being inserted from untrusted sources into an HTML document, the issue can be avoided either by filtering/disallowing the meta characters, or by escaping them appropriately for the given HTML context. For example, the HTML meta characters &lt;, &gt;, &amp;, " and ' must be replaced with their corresponding HTML entity references &amp;lt;, &amp;gt;, &amp;amp;, &amp;quot; and &amp;#39 respectively. In a JavaScript-literal context, inserting a backslash in front of , ', " and converting the carriage returns, line-feeds and tabs into , 
 and 	 respectively should avoid untrusted meta characters being interpreted as code.<br /><br />How about an automated tool for finding XSS problems in web applications? Our security team has been developing a black box fuzzing tool called Lemon (deriving from the commonly-recognized name for a defective product). Fuzz testing (also referred to as fault-injection testing) is an automated testing approach based on supplying inputs that are designed to trigger and expose flaws in the application. Our vulnerability testing tool enumerates a web application's URLs and corresponding input parameters. It then iteratively supplies fault strings designed to expose XSS and other vulnerabilities to each input, and analyzes the resulting responses for evidence of such vulnerabilities. Although it started out as an experimental tool, it has proved to be quite effective in finding XSS problems. Besides XSS, it finds other security problems such as response splitting attacks, cookie poisoning problems, stacktrace leaks, encoding issues and charset bugs. Since the tool is homegrown it is easy to integrate into our automated test environment and to extend based on specific needs. We are constantly in the process of adding new attack vectors to improve the tool against known security problems.<br /><br /><span style="font-weight:bold;">Update:</span><br />I wanted to respond to a few questions that seem to be common among readers.  I've listed them below.  Thanks for the feedback.  Please keep the questions and comments coming.<br /><br />Q. Does Google plan to market it at some point?<br />A. Lemon is highly customized for Google apps and we have no plans of releasing it in near future.<br /><br />Q. Did Google's security team check out any commercially available fuzzers? Is the ability to keep improving the fuzzer the main draw of a homegrown tool?<br />A. We did evaluate commercially available fuzzers but felt that our specialized needs could be served best by developing our own tools.<img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/144579534" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 16 Jul 2007 07:40:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/web application">web application</category>
      <category domain="http://securityratty.com/tag/application">application</category>
      <category domain="http://securityratty.com/tag/input">input</category>
      <category domain="http://securityratty.com/tag/input parameters">input parameters</category>
      <category domain="http://securityratty.com/tag/accepts user input">accepts user input</category>
      <category domain="http://securityratty.com/tag/xss">xss</category>
      <category domain="http://securityratty.com/tag/xss vulnerabilities">xss vulnerabilities</category>
      <category domain="http://securityratty.com/tag/security">security</category>
      <category domain="http://securityratty.com/tag/security team check">security team check</category>
      <source url="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~3/144579534/automating-web-application-security.html">Automating web application security testing</source>
    </item>
    <item>
      <title><![CDATA[The reason behind the "We're sorry..." message]]></title>
      <link>http://securityratty.com/article/7fa050a87459461fee3721ee0c76f647</link>
      <guid>http://securityratty.com/article/7fa050a87459461fee3721ee0c76f647</guid>
      <description><![CDATA[Posted by Niels Provos, Anti-Malware Team

Some of you might have seen this message while searching on Google, and wondered what the reason behind it might be. Instead of search results, Google...]]></description>
      <content:encoded><![CDATA[<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_wLESxcF8BBY/RpKG2OwJMgI/AAAAAAAABZY/MUEcZfcOBgU/s1600-h/wearesorry.jpg"><img style="cursor:pointer; cursor:hand;" src="http://bp1.blogger.com/_wLESxcF8BBY/RpKG2OwJMgI/AAAAAAAABZY/MUEcZfcOBgU/s400/wearesorry.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5085275195485794818" /></a><br /><span class="byline-author">Posted by Niels Provos, Anti-Malware Team</span><br /><br />Some of you might have seen this message while searching on Google, and wondered what the reason behind it might be. Instead of search results, Google displays the "We're sorry" message when we detect anomalous queries from your network. As a regular user, it is possible to answer a <a href="http://en.wikipedia.org/wiki/Captcha" title="captcha">CAPTCHA</a> - a reverse Turing test meant to establish that we are talking to a human user - and to continue searching. However, automated processes such as worms would have a much harder time solving the CAPTCHA. Several things can trigger the <span><i>sorry</i></span> message. Often it's due to infected computers or DSL routers that proxy search traffic through your network - this may be at home or even at a workplace where one or more computers might be infected. Overly aggressive SEO ranking tools may trigger this message, too. In other cases, we have seen self-propagating worms that use Google search to identify vulnerable web servers on the Internet and then exploit them. The exploited systems in turn then search Google for more vulnerable web servers and so on.&nbsp; This can lead to a noticeable increase in search queries and <span><i>sorry</i></span> is one of our mechanisms to deal with this.<br/><br />At <a href="http://www.eecs.umich.edu/%7Efarnam/worm2006.html" title="ACM WORM 2006">ACM WORM 2006</a>, we published a paper on <a href="http://www.citi.umich.edu/u/provos/papers/search_worms.pdf" title="Search Worms">Search Worms [PDF]</a> that takes a much closer look at this phenomenon.  <a href="http://en.wikipedia.org/wiki/Santy" title="Santy">Santy</a>, one of the search worms we analyzed, looks for remote-execution vulnerabilities in the popular phpBB2 web application. In addition to exhibiting worm like propagation patterns, Santy also installs a botnet client as a payload that connects the compromised web server to an IRC channel. Adversaries can then remotely control the compromised web servers and use them for DDoS attacks, spam or phishing. Over time, the adversaries have realized that even though a botnet consisting of web servers provides a lot of aggregate bandwidth, they can increase leverage by changing the content on the compromised web servers to infect visitors and in turn join the computers of compromised visitors into much larger botnets. This fundamental change from remote attack to client based download of malware formed the basis of the research presented in our <a href="http://googleonlinesecurity.blogspot.com/2007/05/introducing-googles-anti-malware.html" title="first blog post">first post</a>. In retrospect, it is interesting to see how two seemingly unrelated problems are tightly connected.<br/><img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/144579535" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 09 Jul 2007 07:54:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/web servers">web servers</category>
      <category domain="http://securityratty.com/tag/vulnerable web servers">vulnerable web servers</category>
      <category domain="http://securityratty.com/tag/message">message</category>
      <category domain="http://securityratty.com/tag/google">google</category>
      <category domain="http://securityratty.com/tag/worms">worms</category>
      <category domain="http://securityratty.com/tag/google displays">google displays</category>
      <category domain="http://securityratty.com/tag/worms pdf">worms pdf</category>
      <category domain="http://securityratty.com/tag/queries">queries</category>
      <category domain="http://securityratty.com/tag/detect anomalous queries">detect anomalous queries</category>
      <source url="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~3/144579535/reason-behind-were-sorry-message.html">The reason behind the "We're sorry..." message</source>
    </item>
    <item>
      <title><![CDATA[Phishers and Malware authors beware!]]></title>
      <link>http://securityratty.com/article/d681cd83d44df09010be515a276227a2</link>
      <guid>http://securityratty.com/article/d681cd83d44df09010be515a276227a2</guid>
      <description><![CDATA[Posted by Brian Rakowski and Garrett Casto, Anti-Phishing and Anti-Malware Teams

OK, so it might be a little early to declare victory, but we're excited about the Safe Browsing API we launched today....]]></description>
      <content:encoded><![CDATA[<span class="byline-author">Posted by Brian Rakowski and Garrett Casto, Anti-Phishing and Anti-Malware Teams</span><br /><br />OK, so it might be a little early to declare victory, but we're excited about the <a href="http://code.google.com/apis/safebrowsing/overview.html" title="Safe Browsing API">Safe Browsing API</a> we launched today. It provides a simple mechanism for downloading Google's lists of suspected phishing and malware URLs, so now any developer can access the blacklists used in products such as Firefox and Google Desktop.<br /><p>The API is still experimental, but we hope it will be useful to ISPs, web-hosting companies, and anyone building a site or an application that publishes or transmits user-generated links. <a href="http://code.google.com/apis/safebrowsing/key_signup.html" title="Sign up for an API key">Sign up for a key</a> and let us know how we can make the API better. We fully expect to iterate on the design and improve the data behind the API, and we'll be paying close attention to your <a href="http://groups.google.com/group/google-safe-browsing-api" title="user feedback">feedback</a><span style="color: rgb(0, 0, 0);"> as we do that. We  look forward to hearing your thoughts.<br /></span></p><img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/144579536" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 18 Jun 2007 10:59:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/api">api</category>
      <category domain="http://securityratty.com/tag/google">google</category>
      <category domain="http://securityratty.com/tag/google desktop">google desktop</category>
      <category domain="http://securityratty.com/tag/garrett casto">garrett casto</category>
      <category domain="http://securityratty.com/tag/malware urls">malware urls</category>
      <category domain="http://securityratty.com/tag/brian rakowski">brian rakowski</category>
      <category domain="http://securityratty.com/tag/declare victory">declare victory</category>
      <category domain="http://securityratty.com/tag/simple mechanism">simple mechanism</category>
      <category domain="http://securityratty.com/tag/close attention">close attention</category>
      <source url="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~3/144579536/phishers-and-malware-authors-beware.html">Phishers and Malware authors beware!</source>
    </item>
    <item>
      <title><![CDATA[Thwarting a large-scale phishing attack]]></title>
      <link>http://securityratty.com/article/80d86f447c3abc6bbcb94660213cf3bb</link>
      <guid>http://securityratty.com/article/80d86f447c3abc6bbcb94660213cf3bb</guid>
      <description><![CDATA[Posted by Colin Whittaker, Anti-Phishing Team


In addition to targeting malware, we're interested in combating phishing, a social engineering attack where criminals attempt to lure unsuspecting web...]]></description>
      <content:encoded><![CDATA[<span class="byline-author">Posted by Colin Whittaker, Anti-Phishing Team</span><br /><p><br />In addition to targeting malware, we're interested in combating <a href="http://en.wikipedia.org/wiki/Phishing" title="Phishing">phishing,</a> a social engineering attack where criminals attempt to lure unsuspecting web surfers into logging into a fake website that looks like a real website, such as eBay, E-gold or an online bank. Following a successful attack, phishers can steal money out of the victims' accounts or take their identities. To protect our users against phishing, we publish a blacklist of known phishing sites. This blacklist is the basis for the anti-phishing features in the latest versions of Firefox and Google Desktop. Although blacklists are necessarily a step behind as phishers move their phishing pages around, blacklists have proved to be reasonably effective.</p><p style="text-align: justify;">Not all phishing attacks target sites with obvious financial value. Beginning in mid-March, we detected a five-fold increase in overall phishing page views. It turned out that the phishing pages generating 95% of the new phishing traffic targeted <a href="http://myspace.com/" title="MySpace">MySpace</a>, the popular social networking site. While a MySpace account does not have any intrinsic monetary value, phishers had come up with ways to monetize this attack. We observed hijacked accounts being used to spread bulletin board spam for some advertising revenue. According to <a href="http://ha.ckers.org/blog/20070508/phishing-social-networking-sites/" title="this interview with a phisher">this interview with a phisher</a>, phishers also logged in to the email accounts of the profile owners to harvest financial account information. In any case, phishing MySpace became profitable enough (more than phishing more traditional targets) that many of the active phishers began targeting it.</p><p style="text-align: justify;">Interestingly, the attack vector for this new attack appeared to be MySpace itself, rather than the usual email spam. To observe the phishers' actions, we fed them the login information for a dummy MySpace account. We saw that when phishers compromised a MySpace account, they added links to their phishing page on the stolen profile, which would in turn result in additional users getting compromised. Using a quirk of the CSS supported in MySpace profiles, the phishers injected these links invisibly as see-through images covering compromised profiles. Clicking anywhere on an infected profile, including on links that appeared normal, redirected the user to a phishing page. Here's a sample of some CSS code injected into the "About Me" section of an affected profile:<br /></p><br /><span style="font-family:Courier New;">&lt;a style="text-decoration:none;position:<br />absolute;top:1px;left:1px;" href="http://myspacev.net"&gt;&lt;img<br />style="border-width:0px;width:1200px; height:650px;"<br />src="http://x.myspace.com/images/clear.gif"&gt;&lt;/a&gt;&lt;/style&gt;</span><br /><br />In addition to contributing to the viral growth of the phishing attack, linking directly off of real MySpace content added to the appearance of legitimacy of these phishing pages. In fact, we received thousands of complaints from confused users along the lines of<span class="sub-comment"> "</span><span class="sub-comment">Why won't it let any of my friends look at my pictures?</span><span class="sub-comment">" regarding our warnings on these phishing pages, suggesting that even an explicit warning was not enough to protect many users. The effectiveness of the attack and the increasing sophistication of the phishing pages, some of which were hosted </span>on <a href="http://www.google.com/search?q=botnets" title="botnets">botnets</a> and were near perfect duplications of MySpace's login page, meant that we needed to switch tactics to combat this new threat.<br /><br />In late March, we reached out to MySpace to see what we could do to help. We provided lists of the top phishing sites and our anti-phishing blacklist to MySpace so that they could disable compromised accounts with links to those sites. Unfortunately, many of the blocked users did not remove the phishing links when they reactivated their accounts, so the attacks continued to spread. On April 19, MySpace updated their server software so that they could disable bad links in users' profiles without requiring any user action or altering any other profile content. Overnight, overall phishing traffic dropped by a factor of five back to the levels observed in early March. While MySpace phishing continues at much lower volumes, phishers are beginning to move on to new targets.<br /><br /><b>Things you can do to help end phishing and Internet fraud</b><br /><ul><li>Learn to recognize and avoid phishing. The Anti-Phishing Working Group has a good <a href="http://www.antiphishing.org/consumer_recs.html" title="list of recommendations">list of recommendations</a>.<br /></li><br /><li>Update your software regularly and run an anti-virus program. If a cyber-criminal gains control of your computer through a virus or a software security flaw, he doesn't need to resort to phishing to steal your information.<br /></li><br /><li>Use different passwords on different sites and change them periodically. Phishers routinely try to log in to high-value targets, like online banking sites, with the passwords they steal for lower-value sites, like webmail and social networking services.</li></ul><img src="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~4/144579537" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 11 Jun 2007 07:35:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/myspace">myspace</category>
      <category domain="http://securityratty.com/tag/myspace profiles">myspace profiles</category>
      <category domain="http://securityratty.com/tag/real myspace content">real myspace content</category>
      <category domain="http://securityratty.com/tag/myspace account">myspace account</category>
      <category domain="http://securityratty.com/tag/attack">attack</category>
      <category domain="http://securityratty.com/tag/dummy myspace account">dummy myspace account</category>
      <category domain="http://securityratty.com/tag/phishers move">phishers move</category>
      <category domain="http://securityratty.com/tag/phishers">phishers</category>
      <category domain="http://securityratty.com/tag/lower-value sites">lower-value sites</category>
      <source url="http://feeds.feedburner.com/~r/GoogleOnlineSecurityBlog/~3/144579537/thwarting-large-scale-phishing-attack.html">Thwarting a large-scale phishing attack</source>
    </item>
  </channel>
</rss>
