<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Breaking into an Android password manager &#8211; Practice</title>
	<atom:link href="http://blog.labix.org/2009/12/05/breaking-into-an-android-password-manager-practice/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.labix.org/2009/12/05/breaking-into-an-android-password-manager-practice</link>
	<description>by Gustavo Niemeyer</description>
	<lastBuildDate>Mon, 16 Jan 2012 12:12:57 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: Gustavo Niemeyer</title>
		<link>http://blog.labix.org/2009/12/05/breaking-into-an-android-password-manager-practice/comment-page-1#comment-84208</link>
		<dc:creator>Gustavo Niemeyer</dc:creator>
		<pubDate>Thu, 21 Oct 2010 10:33:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labix.org/?p=230#comment-84208</guid>
		<description>Emil,

It&#039;s trivial to get data out of the phone, even if the phone is not rooted by the owner.  If it was hard to do this, one wouldn&#039;t need to encrypt the data in the first place.</description>
		<content:encoded><![CDATA[<p>Emil,</p>
<p>It&#8217;s trivial to get data out of the phone, even if the phone is not rooted by the owner.  If it was hard to do this, one wouldn&#8217;t need to encrypt the data in the first place.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Emil</title>
		<link>http://blog.labix.org/2009/12/05/breaking-into-an-android-password-manager-practice/comment-page-1#comment-84204</link>
		<dc:creator>Emil</dc:creator>
		<pubDate>Thu, 21 Oct 2010 10:07:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labix.org/?p=230#comment-84204</guid>
		<description>Gustavo, thanks for a couple of really interesting and enlightening posts. I have a question though: you say that the third step in breaking into this application was to &quot;sign and zipalign the new .apk file&quot;. How did you manage to convince the package manager to install your .apk? Assuming you don&#039;t have access to the original author&#039;s signing keys, the PM should refuse to install your modified application (or at least install it as a new one, in which case breaking into it would serve little purpose as there would be no secret data to find).

I mean, what the application author is trying to prevent is that if someone steals a phone with his application installed and protecting sensitive data, he can&#039;t get access to the data. Even if he could do what you did and manage to have the PM install his hacked version of the app, the data wouldn&#039;t be there to see. I guess he could copy the database from the original app&#039;s storage to the hacked one&#039;s, but that might (I&#039;m unsure about this) only be possible if the phone is rooted, in which case at least some of the blame would have to fall on the phone owner?</description>
		<content:encoded><![CDATA[<p>Gustavo, thanks for a couple of really interesting and enlightening posts. I have a question though: you say that the third step in breaking into this application was to &#8220;sign and zipalign the new .apk file&#8221;. How did you manage to convince the package manager to install your .apk? Assuming you don&#8217;t have access to the original author&#8217;s signing keys, the PM should refuse to install your modified application (or at least install it as a new one, in which case breaking into it would serve little purpose as there would be no secret data to find).</p>
<p>I mean, what the application author is trying to prevent is that if someone steals a phone with his application installed and protecting sensitive data, he can&#8217;t get access to the data. Even if he could do what you did and manage to have the PM install his hacked version of the app, the data wouldn&#8217;t be there to see. I guess he could copy the database from the original app&#8217;s storage to the hacked one&#8217;s, but that might (I&#8217;m unsure about this) only be possible if the phone is rooted, in which case at least some of the blame would have to fall on the phone owner?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nikolaus Rath</title>
		<link>http://blog.labix.org/2009/12/05/breaking-into-an-android-password-manager-practice/comment-page-1#comment-83209</link>
		<dc:creator>Nikolaus Rath</dc:creator>
		<pubDate>Tue, 14 Sep 2010 22:10:55 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labix.org/?p=230#comment-83209</guid>
		<description>Really good job Gustavo. I am impressed by your patience with gbrors.</description>
		<content:encoded><![CDATA[<p>Really good job Gustavo. I am impressed by your patience with gbrors.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rik Hemsley</title>
		<link>http://blog.labix.org/2009/12/05/breaking-into-an-android-password-manager-practice/comment-page-1#comment-75412</link>
		<dc:creator>Rik Hemsley</dc:creator>
		<pubDate>Mon, 22 Feb 2010 15:00:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labix.org/?p=230#comment-75412</guid>
		<description>I&#039;d like to see your analysis of keepassdroid.</description>
		<content:encoded><![CDATA[<p>I&#8217;d like to see your analysis of keepassdroid.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gbrors</title>
		<link>http://blog.labix.org/2009/12/05/breaking-into-an-android-password-manager-practice/comment-page-1#comment-72554</link>
		<dc:creator>gbrors</dc:creator>
		<pubDate>Mon, 07 Dec 2009 19:52:01 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labix.org/?p=230#comment-72554</guid>
		<description>By the way I own and have read parts of the books &quot;Practical cryptography&quot; and &quot;Applied Cryptography&quot; by Bruce Schneier. Even with open source solutions you are forced to enter a long and cryptic master key if you want to defeat brute force attacks.I guess that 99.5% of the users would not do it, but use a weak master key that can be broken with brute force attacks. My solution with the &quot;unlock key&quot; was wrong, but right now I see no real solution to the problem, because the Java cryptography API implemented in the Android system helps brute force attacks by throwing an exception when trying to decode with a wrong master key. If it did not, but just gave back some randomly decoded bytes, I could develop a much more clever solution similar to one that was developed by a German research institute: http://www.mobilesitter.de/en/result.htm</description>
		<content:encoded><![CDATA[<p>By the way I own and have read parts of the books &#8220;Practical cryptography&#8221; and &#8220;Applied Cryptography&#8221; by Bruce Schneier. Even with open source solutions you are forced to enter a long and cryptic master key if you want to defeat brute force attacks.I guess that 99.5% of the users would not do it, but use a weak master key that can be broken with brute force attacks. My solution with the &#8220;unlock key&#8221; was wrong, but right now I see no real solution to the problem, because the Java cryptography API implemented in the Android system helps brute force attacks by throwing an exception when trying to decode with a wrong master key. If it did not, but just gave back some randomly decoded bytes, I could develop a much more clever solution similar to one that was developed by a German research institute: <a href="http://www.mobilesitter.de/en/result.htm" rel="nofollow">http://www.mobilesitter.de/en/result.htm</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gustavo Niemeyer</title>
		<link>http://blog.labix.org/2009/12/05/breaking-into-an-android-password-manager-practice/comment-page-1#comment-72524</link>
		<dc:creator>Gustavo Niemeyer</dc:creator>
		<pubDate>Mon, 07 Dec 2009 02:08:12 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labix.org/?p=230#comment-72524</guid>
		<description>Thanks David. Unfortunately, given the comments right above, it looks like he didn&#039;t read it yet.

Gunter, you seem to blame Android for a problem that actually lies in the application itself. No matter how hard it is to disassemble an application (and trust me, other platforms aren&#039;t much harder than this), if the application security depends on not having the source code, the application is badly engineered. Using an obfuscator will just serve to prove that its security is not to be trusted.

Following David&#039;s suggestion and reading some papers and articles by people like Bruce Schneier might be enlightening.</description>
		<content:encoded><![CDATA[<p>Thanks David. Unfortunately, given the comments right above, it looks like he didn&#8217;t read it yet.</p>
<p>Gunter, you seem to blame Android for a problem that actually lies in the application itself. No matter how hard it is to disassemble an application (and trust me, other platforms aren&#8217;t much harder than this), if the application security depends on not having the source code, the application is badly engineered. Using an obfuscator will just serve to prove that its security is not to be trusted.</p>
<p>Following David&#8217;s suggestion and reading some papers and articles by people like Bruce Schneier might be enlightening.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Allouche</title>
		<link>http://blog.labix.org/2009/12/05/breaking-into-an-android-password-manager-practice/comment-page-1#comment-72511</link>
		<dc:creator>David Allouche</dc:creator>
		<pubDate>Sun, 06 Dec 2009 14:02:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labix.org/?p=230#comment-72511</guid>
		<description>Nice job Gustavo.

I hope the author of this app will read some Bruce Schneier before making bold security claims the next time.</description>
		<content:encoded><![CDATA[<p>Nice job Gustavo.</p>
<p>I hope the author of this app will read some Bruce Schneier before making bold security claims the next time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gbrors</title>
		<link>http://blog.labix.org/2009/12/05/breaking-into-an-android-password-manager-practice/comment-page-1#comment-72506</link>
		<dc:creator>gbrors</dc:creator>
		<pubDate>Sun, 06 Dec 2009 12:59:17 +0000</pubDate>
		<guid isPermaLink="false">http://blog.labix.org/?p=230#comment-72506</guid>
		<description>Thank you for your good work. It shows how easy it is to manipulate and change the Java apps of Android, so it is useless trying to implement a copy protection or registration solution. I&#039;m looking for a good obfuscator, as it might make it more difficult for hackers.
I released version 1.2.0 of gbaSafe where the problem with the weak key is solved.</description>
		<content:encoded><![CDATA[<p>Thank you for your good work. It shows how easy it is to manipulate and change the Java apps of Android, so it is useless trying to implement a copy protection or registration solution. I&#8217;m looking for a good obfuscator, as it might make it more difficult for hackers.<br />
I released version 1.2.0 of gbaSafe where the problem with the weak key is solved.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

