<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Veracode Security Blog: Application security research, security trends and opinions &#187; 2011 &#187; April</title>
	<atom:link href="http://www.veracode.com/blog/2011/04/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.veracode.com/blog</link>
	<description>Application security testing, analysis, and metrics</description>
	<lastBuildDate>Fri, 18 May 2012 16:17:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>State of Software Security, Volume 3</title>
		<link>http://www.veracode.com/blog/2011/04/state-of-software-security-volume-3/</link>
		<comments>http://www.veracode.com/blog/2011/04/state-of-software-security-volume-3/#comments</comments>
		<pubDate>Tue, 19 Apr 2011 13:00:34 +0000</pubDate>
		<dc:creator>Chris Eng</dc:creator>
				<category><![CDATA[Application Security]]></category>
		<category><![CDATA[RESEARCH]]></category>

		<guid isPermaLink="false">http://www.veracode.com/blog/?p=1641</guid>
		<description><![CDATA[It&#8217;s here! Data junkies rejoice! Today we&#8217;re proud to release the third volume of our semi-annual State of Software Security report. This edition incorporates data from 4,835 applications analyzed via our cloud-based platform over the past 18 months. After lots of number crunching and a fair amount of head scratching, we&#8217;ve unearthed some intriguing findings [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s here! Data junkies rejoice!</p>
<p>Today we&#8217;re proud to release the third volume of our semi-annual <a href="http://info.veracode.com/state-of-software-security-report-volume3.html">State of Software Security</a> report.  This edition incorporates data from 4,835 applications analyzed via our cloud-based platform over the past 18 months.  After lots of number crunching and a fair amount of head scratching, we&#8217;ve unearthed some intriguing findings that reflect the progress (or lack thereof) being made in securing the world&#8217;s software.</p>
<p>Not convinced yet?  Here are a few of the data points I found particularly interesting:</p>
<ul>
<li>Over the past 8 quarters, the prevalence of SQL Injection (% of web apps affected) has decreased slightly, but XSS has remained flat.</li>
<li>Security products perform worse than most other software suppliers in terms of acceptable security quality on first submission.</li>
<li>Over half of developers who take our Application Security Fundamentals exam receive a grade of C or lower.</li>
<li>Security quality scores are similar for companies across all revenue brackets, and there is no discernible difference between public and private companies.</li>
</ul>
<p>And there&#8217;s a lot more where that came from.  Plus histograms, whisker plots, linear regressions, and more! <a href="http://info.veracode.com/state-of-software-security-report-volume3.html">Download the full report</a> to get all the juicy details, then come back here and tell us what you think. Enjoy!</p>
<h5>Veracode Security Solutions</h5>
<div style="margin-left:15px;">
<a href="http://www.veracode.com/security/software-testing-tools">Software Testing Tools</a><br />
<a href="http://www.veracode.com/security/static-analysis-tool">Static Analysis</a><br />
<a href="http://www.veracode.com/security/web-application-security-testing">Web Application Security</a><br />
<a href="http://www.veracode.com/security/web-security">Website Security</a><br />
<a href="http://www.veracode.com/security/vulnerability-assessment-software">Vulnerability Assessment</a><br />
<a href="http://www.veracode.com/security/application-testing-tool">Application Analysis</a><br />
<a href="http://www.veracode.com/security/static-code-analysis">Static Code Analysis</a><br />
<a href="http://www.veracode.com/security/code-analysis">Source Code Analysis</a><br />
<a href="http://www.veracode.com/">Application Security</a></div>
<p></p>
<h5 style="margin-bottom: 10px">Security Threat Guides</h5>
<div style="margin-left:15px;">
<a href="http://www.veracode.com/security/sql-injection">SQL Injection</a><br />
<a href="http://www.veracode.com/security/xss">XSS Cheat Sheet</a><br />
<a href="http://www.veracode.com/security/csrf">CSRF</a><br />
<a href="http://www.veracode.com/security/ldap-injection">LDAP Security</a><br />
<a href="http://www.veracode.com/security/mobile-code-security">Mobile Security</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.veracode.com/blog/2011/04/state-of-software-security-volume-3/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Mobile App Privacy Continued&#8230;</title>
		<link>http://www.veracode.com/blog/2011/04/mobile-app-privacy-continued/</link>
		<comments>http://www.veracode.com/blog/2011/04/mobile-app-privacy-continued/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 18:47:31 +0000</pubDate>
		<dc:creator>Tyler Shields</dc:creator>
				<category><![CDATA[Application Security]]></category>
		<category><![CDATA[Binary Analysis]]></category>
		<category><![CDATA[Malware]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[RESEARCH]]></category>

		<guid isPermaLink="false">http://www.veracode.com/blog/?p=1625</guid>
		<description><![CDATA[[UPDATE! April 15: Pandora removes all advertising libraries from its Android and iPhone apps!] The blog post we made earlier this week entitled, Mobile Apps Invading Your Privacy, gives detail around the information being requested by the advertisement libraries embedded inside a popular online radio application. There have been a number of great posts and [...]]]></description>
			<content:encoded><![CDATA[<p><em>[UPDATE! April 15: Pandora <a href="http://www.rollingstone.com/culture/blogs/gear-up/pandora-responds-to-claims-that-its-online-service-violates-user-privacy-20110415">removes all advertising libraries</a> from its Android and iPhone apps!]</em></p>
<p>The blog post we made earlier this week entitled, <a href="http://www.veracode.com/blog/2011/04/mobile-apps-invading-your-privacy/">Mobile Apps Invading Your Privacy</a>, gives detail around the information being requested by the advertisement libraries embedded inside a popular online radio application. There have been a number of great posts and comments that got us thinking more about the issues and the types of data being requested. </p>
<p>First off we want to thank some people who commented about the Pandora application not having permission to actually access the GPS on the device. Below are the <a href="https://market.android.com/details?id=com.pandora.android&#038;feature=search_result">Manifest permissions</a> for the version of Pandora currently in the Google Application Marketplace:</p>
<ul>
<li>Full Internet Access</li>
<li>Create Bluetooth Connections</li>
<li>Read Contact Data</li>
<li>Add or Modify Calendar Data and Send Emails to Guests</li>
<li>Read Phone State and Identity</li>
<li>Modify Global System Settings</li>
<li>Prevent Device from Sleeping</li>
<li>Bluetooth Administration</li>
<li>Change Wifi State</li>
<li>Change Network Connectivity</li>
</ul>
<p>As you can see, GPS access is NOT included in that list. There was an error in the original post we made stating that some of the library code was requesting permissions from the Google system for GPS access, and as the commenter pointed out, that is incorrect. The code snippet we posted is only checking whether the parent application, Pandora in this case, has permission to access the GPS. If the parent does not have permission, the accessing of GPS data can&#8217;t occur.</p>
<p><strong>However, the overarching theme of the original post is still valid</strong>.  If Pandora had required GPS access for a legitimate reason, the embedded advertisement library would have been able to request the GPS data and send it off device.  As we mentioned in the original post, there is a chance that Pandora has no idea what the embedded advertising library actually does, simply taking it from the advertising partner and embedding it into their application.</p>
<p>To further illustrate this point, we downloaded a few more applications that use some of the same advertising libraries. In particular, we found AdMob (the code snippets we outlined on the previous post) embedded into the free <a href="https://market.android.com/details?id=com.treemolabs.apps.cbsnews&#038;feature=search_result">CBS News Android application</a> and the <a href="https://market.android.com/details?id=com.rhythmnewmedia.tvdotcom&#038;feature=search_result">TVDotCom application</a>. Both of these applications have GPS coarse and fine permissions allowed within their application manifest. They don&#8217;t have some of the other permissions required to send certain data, but in these cases the advertising code will fail silently.  Essentially, the advertising libraries use the parent application as an enabler, taking advantage of whichever permissions happen to be available.  It also seems revelant to note that AdMob was <a href="http://googleblog.blogspot.com/2010/05/weve-officially-acquired-admob.html">acquired by Google</a> in May 2010.</p>
<p>The current model where permissions are granted to applications combined with the way 3rd party libraries such as mobile ad network libraries request many different types of information sets up a situation where the ad network will get the information if the application needs it to operate. </p>
<h5>Veracode Security Solutions</h5>
<div style="margin-left:15px;">
<a href="http://www.veracode.com/security/code-analysis">Source Code Analysis</a><br />
<a href="http://www.veracode.com/security/software-testing-tools">Software Testing Tools</a><br />
<a href="http://www.veracode.com/security/static-analysis-tool">Static Analysis Tool</a><br />
<a href="http://www.veracode.com/security/web-application-security-testing">Web Application Security</a><br />
<a href="http://www.veracode.com/security/web-security">Web Security</a><br />
<a href="http://www.veracode.com/security/vulnerability-assessment-software">Vulnerability Assessment</a><br />
<a href="http://www.veracode.com/security/application-testing-tool">Application Analysis</a><br />
<a href="http://www.veracode.com/security/static-code-analysis">Static Code Analysis</a><br />
<a href="http://www.veracode.com/">Application Security</a></div>
<p></p>
<h5 style="margin-bottom: 10px">Security Threat Guides</h5>
<div style="margin-left:15px;">
<a href="http://www.veracode.com/security/sql-injection">SQL Injection</a><br />
<a href="http://www.veracode.com/security/xss">Cross Site Scripting</a><br />
<a href="http://www.veracode.com/security/csrf">CSRF</a><br />
<a href="http://www.veracode.com/security/ldap-injection">LDAP Security</a><br />
<a href="http://www.veracode.com/security/mobile-code-security">Mobile Security</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.veracode.com/blog/2011/04/mobile-app-privacy-continued/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Mobile Apps Invading Your Privacy</title>
		<link>http://www.veracode.com/blog/2011/04/mobile-apps-invading-your-privacy/</link>
		<comments>http://www.veracode.com/blog/2011/04/mobile-apps-invading-your-privacy/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 01:45:30 +0000</pubDate>
		<dc:creator>Tyler Shields</dc:creator>
				<category><![CDATA[Application Security]]></category>
		<category><![CDATA[Binary Analysis]]></category>
		<category><![CDATA[Malware]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[RESEARCH]]></category>

		<guid isPermaLink="false">http://www.veracode.com/blog/?p=1591</guid>
		<description><![CDATA[[April 8: We've added some more information in a follow-up post] Background An article in the Wall Street Journal, dated April 5, 2011, disclosed that Federal prosecutors in New Jersey are investigating numerous smart phone application manufacturers for allegedly, illegally obtaining and distributing personal private information to third party advertisement groups. The allegations state that [...]]]></description>
			<content:encoded><![CDATA[<p><em>[April 8: We've added some more information in a <a href="http://www.veracode.com/blog/2011/04/mobile-app-privacy-continued/">follow-up post</a>]</em></p>
<p><b>Background</b></p>
<p>An <a href="http://online.wsj.com/article/SB10001424052748703806304576242923804770968.html">article in the Wall Street Journal</a>, dated April 5, 2011, disclosed that Federal prosecutors in New Jersey are investigating numerous smart phone application manufacturers for allegedly, illegally obtaining and distributing personal private information to third party advertisement groups. The allegations state that mobile applications are gathering data such as GPS location, device identifiers, gender, and even user age without proper notice or authorization from the end user. The Journal tested 101 applications and found that 56 of them transmitted the device unique identifier off the device, while 47 transmitted the phone&#8217;s location. Five of the tested applications leaked personal information such as user gender and age.</p>
<p><b>Analysis</b></p>
<p>The folks at the Veracode research team decided to spend a bit of our time today breaking apart one of the accused applications to see what could be found within the code. Given what was written in the Journal article, we thought it would be most interesting to take an in-depth look through the Pandora application for the Android platform. A quote from the article states the following about the Pandora application:</p>
<blockquote><p>
In Pandora&#8217;s case, both the Android and iPhone versions of its app transmitted information about a user&#8217;s age, gender, and location, as well as unique identifiers for the phone, to various advertising networks. Pandora gathers the age and gender information when a user registers for the service.
</p></blockquote>
<p>Our first step was to analyze the application using the Veracode platform. We followed up the automated static analysis with a manual analysis of the compiled dex code. The results were fairly interesting. The Pandora for Android application appears to be integrated with a number of advertising libraries. Specifically we found FIVE (yes that&#8217;s FIVE!) advertisement libraries compiled into the application: <a href="http://www.admarvel.com/">AdMarvel</a>, <a href="http://www.admob.com/">AdMob</a>, <a href="http://www.comscore.com/">comScore (SecureStudies)</a>, <a href="http://www.google.com/mobileads/">Google.Ads</a>, and <a href="http://www.medialets.com/">Medialets</a>. Looking even closer, we analyzed each of the modules to determine the type of data they access.</p>
<p>The first library we decided to break apart was the AdMarvel and AdMob libraries. The AdMarvel library references the AdMob library fairly significantly. AdMob in particular accesses the GPS location, application package name, and application version information. Additionally there were variable references within the ad library that appear to transmit the user&#8217;s birthday, gender, and postal code information. The code snippets below are taken from a decompilation of the AdMob library where GPS locations are being gathered. As you can see in the code, the library requests permissions for both COARSE_LOCATION, and FINE_LOCATION data:</p>
<pre>
public static Location getCoordinates(Context unknown)
{
.... SNIP ....
        String str1 = "android.permission.ACCESS_COARSE_LOCATION";
        int m = unknown.checkCallingOrSelfPermission(str1);
.... SNIP ....
        String str2 = "android.permission.ACCESS_FINE_LOCATION";
        int n = unknown.checkCallingOrSelfPermission(str2);
</pre>
<p>We can also see where the library actually attempts to capture GPS location information on a continuous looping mechanism:</p>
<pre>
        int i4 = Log.d("AdMobSDK", "Trying to get locations from GPS.");
        localObject2 = (LocationManager)unknown.getSystemService("location");
        if (localObject2 == null) break label428;
        Criteria localCriteria = new Criteria();
        localCriteria.setAccuracy(1);
        localCriteria.setCostAllowed(0);
        localObject3 = ((LocationManager)localObject2).getBestProvider(localCriteria, 1);
.... SNIP ....
        int i5 = Log.d("AdMobSDK", "Cannot access user's location.  Permissions are not set.");
.... SNIP ....
        int i6 = Log.d("AdMobSDK", "No location providers are available.  Ads will not be geotargeted.");
.... SNIP ....
        if (Log.isLoggable("AdMobSDK", 3)) int i7 = Log.d("AdMobSDK", "Location provider setup successfully.");
        AdManager.1 local1 = new AdManager.1((LocationManager)localObject2);
        Looper localLooper = unknown.getMainLooper();
        ((LocationManager)localObject2).requestLocationUpdates((String)localObject3, 0L, 0.0F, local1, localLooper);
</pre>
<p>We also saw references to the user&#8217;s gender:</p>
<pre>
        Object localObject = k; Gender localGender1 = Gender.MALE;
        if (localObject == localGender1)
       {
            localObject = "m";
       } while (true) {
      return localObject;

      Gender localGender2 = k;
      Gender localGender3 = Gender.FEMALE;
      if (localGender2 == localGender3) { localObject = "f"; continue; }
      localObject = null;
</pre>
<p>And of course, access of the infamous Android ID value (android_id):</p>
<pre>
      if (f == null) { Object localObject1 = unknown.getContentResolver();
      localObject2 = localObject1;
      localObject1 = Settings.Secure.getString((ContentResolver)localObject2, "android_id");
</pre>
<p>The analysis into the remaining libraries resulted in even more of the same. The SecureStudies library accesses the android_id and directly sends a hash of the data to http://b.scorecardresearch.com while the Medialets library accesses the device&#8217;s GPS location, bearing, altitude, android_id, connection status, network information, device brand, model, release revision, and current IP address.</p>
<p><B>Conclusion</B></p>
<p>So what does this mean to the end user? It means your personal information is being transmitted to advertising agencies in mass quantities. As more and more &#8220;free&#8221; applications attempt to monetize their offerings, we will likely see more of your personal information being shuttled out to marketing and advertising data aggregation firms. The application developers may not even be aware of the privacy violations they are introducing by using third party advertising libraries. They may merely think they are getting $x per ad impression, not that the ad library is leaking significant information about the user.</p>
<p>In isolation some of this data is uninteresting, but when compiled into a single unifying picture, it can provide significant insight into a persons life. Consider for a moment that your current location is being tracked while you are at your home, office, or significant other&#8217;s house.  Couple that with your gender and age and then with your geolocated IP address. When all that is placed into a single basket, it&#8217;s pretty easy to determine who someone is, what they do for a living, who they associate with, and any number of other traits about them. I don&#8217;t know about you, but that feels a little Orwellian to me.</p>
<h5>Veracode Security Solutions</h5>
<div style="margin-left:15px;">
<a href="http://www.veracode.com/security/code-analysis">Source Code Analysis</a><br />
<a href="http://www.veracode.com/security/software-testing-tools">Software Testing Tools</a><br />
<a href="http://www.veracode.com/security/static-analysis-tool">Static Analysis Tool</a><br />
<a href="http://www.veracode.com/security/web-application-security-testing">Web Application Security</a><br />
<a href="http://www.veracode.com/security/web-security">Web Security</a><br />
<a href="http://www.veracode.com/security/vulnerability-assessment-software">Vulnerability Assessment</a><br />
<a href="http://www.veracode.com/security/application-testing-tool">Application Analysis</a><br />
<a href="http://www.veracode.com/security/static-code-analysis">Static Code Analysis</a><br />
<a href="http://www.veracode.com/">Application Security</a></div>
<p><br/></p>
<h5 style="margin-bottom: 10px">Security Threat Guides</h5>
<div style="margin-left:15px;">
<a href="http://www.veracode.com/security/sql-injection">SQL Injection</a><br />
<a href="http://www.veracode.com/security/xss">Cross Site Scripting</a><br />
<a href="http://www.veracode.com/security/csrf">CSRF</a><br />
<a href="http://www.veracode.com/security/ldap-injection">LDAP Security</a><br />
<a href="http://www.veracode.com/security/mobile-code-security">Mobile Security</a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.veracode.com/blog/2011/04/mobile-apps-invading-your-privacy/feed/</wfw:commentRss>
		<slash:comments>97</slash:comments>
		</item>
		<item>
		<title>Google vs. Facebook on Privacy and Security</title>
		<link>http://www.veracode.com/blog/2011/04/google-vs-facebook-on-privacy-and-security/</link>
		<comments>http://www.veracode.com/blog/2011/04/google-vs-facebook-on-privacy-and-security/#comments</comments>
		<pubDate>Sat, 02 Apr 2011 20:28:04 +0000</pubDate>
		<dc:creator>Fergal Glynn</dc:creator>
				<category><![CDATA[INFOGRAPHICS]]></category>

		<guid isPermaLink="false">http://www.veracode.com/blog/?p=2421</guid>
		<description><![CDATA[Whether you use Social Networks for games, video and photos, or just to re-connect with old friends, you should be aware of how your Personally Identifiable Information (PII) is protected. This infographic details several of the ways Google and Facebook handle Privacy and Security.]]></description>
			<content:encoded><![CDATA[<p>Whether you use Social Networks for games, video and photos, or just to re-connect with old friends, you should be aware of how your Personally Identifiable Information (PII) is protected. This infographic details several of the ways Google and Facebook handle Privacy and Security.</p>
<p><img src=" http://www.veracode.com/images/media/google-facebook-privacy-security-veracode.png " alt="Veracode Google vs. Facebook on Privacy and Security Infographic" width="650" height="1951"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.veracode.com/blog/2011/04/google-vs-facebook-on-privacy-and-security/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

