<?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: The Off-Card Bytecode Verifier is fine, thank you!</title>
	<atom:link href="https://javacard.vetilles.com/2013/11/21/the-off-card-byte-code-verifier-is-fine-thank-you/feed/" rel="self" type="application/rss+xml" />
	<link>https://javacard.vetilles.com/2013/11/21/the-off-card-byte-code-verifier-is-fine-thank-you/</link>
	<description>A weblog on Java Card, security, and other things personal</description>
	<lastBuildDate>Thu, 18 May 2017 07:26:32 +0000</lastBuildDate>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.0.32</generator>
	<item>
		<title>By: Jean-Louis Lanet</title>
		<link>https://javacard.vetilles.com/2013/11/21/the-off-card-byte-code-verifier-is-fine-thank-you/#comment-4699</link>
		<dc:creator><![CDATA[Jean-Louis Lanet]]></dc:creator>
		<pubDate>Sat, 23 Nov 2013 07:25:41 +0000</pubDate>
		<guid isPermaLink="false">http://javacard.vetilles.com/?p=877#comment-4699</guid>
		<description><![CDATA[Eric,

We have still a good lesson to learn from this paper: think globally not locally. I explain. The EMAN2 attack used the absence of check on the local variables. But the problem was not about locals. We were using what Aurelien pointed out in his PhD : ROP (Return Oriented Programming) modify the control flow of the return mechanism to jump where you need. In fact, there is an asset to protect in integrity i.e. the return address register. With our preferred Java Card (from attacker POV), in 2012 the smart card manufacturer modified its firmware in such a way that our attack did not run anymore. Bad news ? Not at all. They just modify the card in a way that the attack path on the locals is now a dead end. A trick. No more no less. We just found another way to access the return address with less knowledge from the attacker and it runs again. A weak counter measure... a trick. Designing counter measure in a bottom up approach is not a good idea. Think top down, think globally. Find the asset and protect it whatever the path is. Maybe there are some implementation or economic constraints that lead card designers to think like this. But from a scientific POV it is not satisfactory. This is the real lesson from this paper.
jl]]></description>
		<content:encoded><![CDATA[<p>Eric,</p>
<p>We have still a good lesson to learn from this paper: think globally not locally. I explain. The EMAN2 attack used the absence of check on the local variables. But the problem was not about locals. We were using what Aurelien pointed out in his PhD : ROP (Return Oriented Programming) modify the control flow of the return mechanism to jump where you need. In fact, there is an asset to protect in integrity i.e. the return address register. With our preferred Java Card (from attacker POV), in 2012 the smart card manufacturer modified its firmware in such a way that our attack did not run anymore. Bad news ? Not at all. They just modify the card in a way that the attack path on the locals is now a dead end. A trick. No more no less. We just found another way to access the return address with less knowledge from the attacker and it runs again. A weak counter measure&#8230; a trick. Designing counter measure in a bottom up approach is not a good idea. Think top down, think globally. Find the asset and protect it whatever the path is. Maybe there are some implementation or economic constraints that lead card designers to think like this. But from a scientific POV it is not satisfactory. This is the real lesson from this paper.<br />
jl</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric VÃ©tillard</title>
		<link>https://javacard.vetilles.com/2013/11/21/the-off-card-byte-code-verifier-is-fine-thank-you/#comment-4697</link>
		<dc:creator><![CDATA[Eric VÃ©tillard]]></dc:creator>
		<pubDate>Fri, 22 Nov 2013 18:57:07 +0000</pubDate>
		<guid isPermaLink="false">http://javacard.vetilles.com/?p=877#comment-4697</guid>
		<description><![CDATA[Jean-Louis,

Thanks for your comment. On the innovative section, I still consider that the paper introduces little innovation on top of EMAN2.

And I also agree that not all cards include significant security measures on the VM. But then, not all cards are designed to withstand the most sophisticated attacks.]]></description>
		<content:encoded><![CDATA[<p>Jean-Louis,</p>
<p>Thanks for your comment. On the innovative section, I still consider that the paper introduces little innovation on top of EMAN2.</p>
<p>And I also agree that not all cards include significant security measures on the VM. But then, not all cards are designed to withstand the most sophisticated attacks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jean-Louis Lanet</title>
		<link>https://javacard.vetilles.com/2013/11/21/the-off-card-byte-code-verifier-is-fine-thank-you/#comment-4696</link>
		<dc:creator><![CDATA[Jean-Louis Lanet]]></dc:creator>
		<pubDate>Fri, 22 Nov 2013 17:45:22 +0000</pubDate>
		<guid isPermaLink="false">http://javacard.vetilles.com/?p=877#comment-4696</guid>
		<description><![CDATA[Dear Eric,

I have had the opportunity to read also the paper. You are right the title does not reflect the content. They do not bypass the BCV. On that point I agree with you. 

But I disagree on the NOT INNOVATIVE section. I never see any publication on it except the paper on the EMAN2 attack. At that time, we paid a lot of attention on the state of the art without finding any paper related to an underflow attack on Java Card. Perhaps, I did not use the google scholar enough, but I search also in the Barbu&#039;s PhD thesis without any success. Probably in the industry you share such an information, but from an academic point of view it is an unpublished work. A trick you said ? Humm, I tried it, and it runs on several cards. Maybe a generic trick ? Counter measure are known you said, but it looks like that some Card designers forgot to implement them ? No ?

rgds,
jl]]></description>
		<content:encoded><![CDATA[<p>Dear Eric,</p>
<p>I have had the opportunity to read also the paper. You are right the title does not reflect the content. They do not bypass the BCV. On that point I agree with you. </p>
<p>But I disagree on the NOT INNOVATIVE section. I never see any publication on it except the paper on the EMAN2 attack. At that time, we paid a lot of attention on the state of the art without finding any paper related to an underflow attack on Java Card. Perhaps, I did not use the google scholar enough, but I search also in the Barbu&#8217;s PhD thesis without any success. Probably in the industry you share such an information, but from an academic point of view it is an unpublished work. A trick you said ? Humm, I tried it, and it runs on several cards. Maybe a generic trick ? Counter measure are known you said, but it looks like that some Card designers forgot to implement them ? No ?</p>
<p>rgds,<br />
jl</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eric VÃ©tillard</title>
		<link>https://javacard.vetilles.com/2013/11/21/the-off-card-byte-code-verifier-is-fine-thank-you/#comment-4695</link>
		<dc:creator><![CDATA[Eric VÃ©tillard]]></dc:creator>
		<pubDate>Fri, 22 Nov 2013 16:52:36 +0000</pubDate>
		<guid isPermaLink="false">http://javacard.vetilles.com/?p=877#comment-4695</guid>
		<description><![CDATA[I just had a discussion with Nathalie Feyt, the boss of Emilie. She asked me to comment or update this blog, and I chose to comment.

First, she didn&#039;t like the fact that I have qualified the paper &quot;dishonest&quot;. I stand by the fact that the title can be considered dishonest, but I of course admit that this may not reflect the author&#039;s intention, and could be a bad wording.

Then, about the lack of innovation, she claims that no attack has been published before that allows the attacker to modify the current context, and that it is important to let the community that this is possible. I am surprised that this can be new for people in the field, but I admit that I haven&#039;t seen it in research publications at this time. However, this attack has been known forever from the industry, and used in many evaluations.

Finally, and most interestingly, we discussed of the objective of the paper. If I understood well, the objective is here to convince people from the industry that the bytecode verifier is not by itself a sufficient protection for a virtual machine.

Here, we completely agree. The bytecode verifier checks that an applet functionally complies to the spec. It is somewhat similar to checking that a DES key is not one of the known weak keys. The virtual machine is a component of the smart card operating system. Just like all the DES implementation or all other components, it can be attacked. And just like the DES implementation, a secure virtual machine needs to include countermeasures.

Nathalie suggested to make editorial changes to the paper, and these would be most welcome. As we agree on the conclusions, let&#039;s make sure that message is brought properly. I will try to reinforce soon with another blog.]]></description>
		<content:encoded><![CDATA[<p>I just had a discussion with Nathalie Feyt, the boss of Emilie. She asked me to comment or update this blog, and I chose to comment.</p>
<p>First, she didn&#8217;t like the fact that I have qualified the paper &#8220;dishonest&#8221;. I stand by the fact that the title can be considered dishonest, but I of course admit that this may not reflect the author&#8217;s intention, and could be a bad wording.</p>
<p>Then, about the lack of innovation, she claims that no attack has been published before that allows the attacker to modify the current context, and that it is important to let the community that this is possible. I am surprised that this can be new for people in the field, but I admit that I haven&#8217;t seen it in research publications at this time. However, this attack has been known forever from the industry, and used in many evaluations.</p>
<p>Finally, and most interestingly, we discussed of the objective of the paper. If I understood well, the objective is here to convince people from the industry that the bytecode verifier is not by itself a sufficient protection for a virtual machine.</p>
<p>Here, we completely agree. The bytecode verifier checks that an applet functionally complies to the spec. It is somewhat similar to checking that a DES key is not one of the known weak keys. The virtual machine is a component of the smart card operating system. Just like all the DES implementation or all other components, it can be attacked. And just like the DES implementation, a secure virtual machine needs to include countermeasures.</p>
<p>Nathalie suggested to make editorial changes to the paper, and these would be most welcome. As we agree on the conclusions, let&#8217;s make sure that message is brought properly. I will try to reinforce soon with another blog.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
