<?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>On the road to Bandol &#187; IoT Security</title>
	<atom:link href="https://javacard.vetilles.com/category/iot-security/feed/" rel="self" type="application/rss+xml" />
	<link>https://javacard.vetilles.com</link>
	<description>A weblog on Java Card, security, and other things personal</description>
	<lastBuildDate>Mon, 18 Aug 2025 06:48:26 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.0.32</generator>
	<item>
		<title>Is the IoT apocalypse coming, or not?</title>
		<link>https://javacard.vetilles.com/2019/01/06/is-the-iot-apocalypse-coming-or-not/</link>
		<comments>https://javacard.vetilles.com/2019/01/06/is-the-iot-apocalypse-coming-or-not/#comments</comments>
		<pubDate>Sun, 06 Jan 2019 19:08:03 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[Economics]]></category>
		<category><![CDATA[IoT Security]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=26384</guid>
		<description><![CDATA[There is a wide agreement on the fact that IoT is much more vulnerable to attacks than traditional internet, and even on the fact that IoT attacks could lead to considerable damage to all kinds of assets, logical and physical. But risk is not just about vulnerability level and potential consequences. There is also intent. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>There is a wide agreement on the fact that IoT is much more vulnerable to attacks than traditional internet, and even on the fact that IoT attacks could lead to considerable damage to all kinds of assets, logical and physical. But risk is not just about vulnerability level and potential consequences.</p>
<p>There is also intent. A vulnerability is only dangerous when an attacker actually decides to exploit it. The problem with intent is that it is definitely not obvious to measure, especially on new risks by new kinds of attackers. Here we can oppose two theses, between Bruce Schneier&#8217;s core theory from <a href="https://amzn.to/2RdaCiz" class="liexternal">Click Here to Kill Everybody</a> and James Andrew Lewis&#8217; theory from his 2016 <a href="https://www.csis.org/analysis/managing-risk-internet-things" class="liexternal">Managing Risk for the Internet of Things</a> CSIS report.</p>
<h4>Terrorists and Enemies</h4>
<p>Lewis&#8217; reasoning is that we have been promised major cyber disruptions on traditional internet for a long time and that we are still waiting to see one. His reasoning about terrorists is interesting, as he explains that terrorists tend to prefer tactics that include &#8220;direct action, bloodshed, and political drama.&#8221; I agree with him, but I still think that a terrorist group with the same financial means as the 9/11 commandos could very well use IoT today as an amplifier of their attacks, for instance by having a botnet contribute to the chaos by attacking key services.</p>
<p>The main difference between Lewis and Schneier, though, is about the likelihood of exploitation of IoT vulnerabilities in the context of war. Here, the assumptions are different, as Lewis considers that a massive cyber attack would be deterred by potential response from the U.S. whereas Schneier considers that (1) it could be useful in the case of an already started war, and (2) that the difficulty to attribute an attack could lead to misguided retaliation or to the absence of retaliation. </p>
<h4>Consequences</h4>
<p>There are also a few significant differences between Lewis and Schneier on other topics, which I outline below:</p>
<ul>
<li>About consequences, Lewis mentions that &#8220;most vulnerabilities found on IoT devices lead to events that would qualify as pranks.&#8221; He acknowledges that botnets can be created, but he dismisses them by mentioning improved defenses against DDoS attacks. Schneier is much more cautious, and I would be as well. Botnets could be used for other things than traditional DDoS, for instance for attacking other vulnerable devices.</li>
<li>About cyberwar, the same difference in considering only repetitions of existing attacks leads to similar differences, where Lewis dismisses the risk of potential consequences of a full-scale cyberwar.</li>
<li>Finally, Lewis considers that the risk will decrease as we get more familiar with the technology, and our experience grows. This is partly true, but it is only valid if we build experience fast enough to offset the increase of risk due to continued deployment of new technologies, which is not obvious today.</li>
</ul>
<p>At this level, we are talking about opinions and predictions. Depending on whether you believe that history repeats itself or that we always get interesting new things, the conclusions are different. Well, my motto for 2019 still is &#8220;The times, they are a changin&#8217; &#8220;, so I believe in the unpredictable.</p>
<h4>Does it matter?</h4>
<p>Note that it doesn&#8217;t matter that much. The conclusion from James Lewis does not differ greatly from Bruce Schneier&#8217;s. In the end, he recommends that the government &#8220;can accelerate risk reduction with the same methods we use for general cybersecurity: research, liability, infrastructure and regulation.&#8221;</p>
<p>The IoT insecurity issue may not be of apocalyptic scale, but it nevertheless remains an issue that needs to be considered by governments.</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2019/01/06/is-the-iot-apocalypse-coming-or-not/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Time bombs, from climate to IoT security</title>
		<link>https://javacard.vetilles.com/2018/08/10/time-bombs-from-climate-to-iot-security/</link>
		<comments>https://javacard.vetilles.com/2018/08/10/time-bombs-from-climate-to-iot-security/#comments</comments>
		<pubDate>Fri, 10 Aug 2018 15:23:02 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[IoT Security]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=26376</guid>
		<description><![CDATA[The comparison between IoT security and climate change is getting better every single day, and I am not sure that this is good news. A few minutes ago, a tweet on climate change got my attention: This is not the new normal, just a pit stop on the way to decades and decades of deteriorating [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>The comparison between IoT security and climate change is getting better every single day, and I am not sure that this is good news. A few minutes ago, a tweet on climate change got my attention:</p>
<blockquote><p><strong>This is not the new normal, just a pit stop on the way to decades and decades of deteriorating conditions.<br />
</strong></p></blockquote>
<p>Nothing that I didn&#8217;t know, but a nice way to remind us that talking about the &#8220;new normal&#8221; is completely wrong: Things will become much worse before they get any better. And the more we wait to act, the more painful the impact of changing climate will be.</p>
<p>As a citizen of a developed country and most likely a member of the world&#8217;s 1% richest, I am not doing much to curb our energy consumption. I proudly bike to work, I try to isolate my house, but I still put my entire family on an intercontinental flight for the vacations. I feel the need to act on the climate, but I don&#8217;t seem to be able to decide what to do. I can blame my government (easy), Donald Trump (easier), I can request action, but in terms of actions, I am most likely not doing my share.</p>
<p>I am not a climate expert, and that may explain my questioning. Maybe that I should ask one of these experts: What should I do, myself, very practically? What are you doing yourself?</p>
<p>Beyond climate change, we have other, smaller threats to face, like IoT (in)security. And this time, I am an expert. Interestingly, IoT security shares some characteristics with climate change, including at least:</p>
<ul>
<li>It&#8217;s a time bomb, as the insecure devices that we deploy today will still be around tomorrow, and may come to haunt us in a few years.
</li>
<li>The problem is global; anyone&#8217;s vulnerable device can be used to attack somebody else&#8217;s IT service, just like any person&#8217;s CO2 contributes in the same way to global warming.
</li>
<li>Many citizens understand the risk (security is a top concern for IoT), but very few know what to do to lower that risk.
</li>
</ul>
<p>As an IoT security expert and a user of IoT devices, then I need to ask myself the question: Eric, what do you do about IoT security?</p>
<ul>
<li>I monitor my network. I have a device at home that lets me know when unknown devices come on my network or when strange things happen. I caught a few things with this, so I am happy about it.
</li>
<li>I use diversified passwords, and sometimes, 2FA (two-factor authentication). However, it took me years to move away from bad practices; I am still not using 2FA wherever I can, and I am still not forcing my family members to use 2FA. I even haven&#8217;t changed at least one password that appears on <a href="https://haveibeenpwned.com/" class="liexternal">haveibeenpwned </a>. Overall, I am not too happy about this.
</li>
<li>I have no clue about the security of the devices I use. This is bad, but I am just a customer here: my hacking skills are rusty, so I am not going to pentest all the devices that I buy and deploy at home. I have no other way to know, and I am not happy about it.
</li>
</ul>
<p>Since the beginning of 2018, I moved into a job working on the definition of security certification for IoT. When I started, my perspective was to maximize security vertically, making products more secure; that sounded natural for a chip vendor with a strong security background. After only a few months, my priority is now to maximize security horizontally, reaching as many products as possible; that is just as good for my company because our high-security chipsets are useless in a world full of default passwords and other trivially exploitable vulnerabilities.</p>
<p>We need security certification, we need it to be as simple as possible, we need it to be as mandatory as possible, and we need it as soon as possible. Simple? Because some good people trying to implement IoT security fail at it, and we must help them. Mandatory? Because some people think that IoT security is not their problem, and we must force them to act. Soon? Because as the clock is ticking, vulnerable devices are accumulating.</p>
<p>Finally, what can you even if you are not an expert? You can try to apply some good practices, and you can also ask your elected representatives to act on behalf of the community. And as you&#8217;re at it, also ask them to act on climate change.</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2018/08/10/time-bombs-from-climate-to-iot-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Collective Risk of IoT</title>
		<link>https://javacard.vetilles.com/2018/04/03/the-collective-risk-of-iot/</link>
		<comments>https://javacard.vetilles.com/2018/04/03/the-collective-risk-of-iot/#comments</comments>
		<pubDate>Tue, 03 Apr 2018 15:19:28 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[Economics]]></category>
		<category><![CDATA[IoT Security]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=26374</guid>
		<description><![CDATA[One of the favorite activities of certification experts is to define security levels based on risks. Such levels allow us to put the items to be certified in well-defined boxes. Then, we can certify them according to the rules on that box/level. Until recently, life was easy, and we could define levels easily. Since 3 [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>One of the favorite activities of certification experts is to define security levels based on risks. Such levels allow us to put the items to be certified in well-defined boxes. Then, we can certify them according to the rules on that box/level.</p>
<p>Until recently, life was easy, and we could define levels easily. Since 3 is a magic number for levels, here is a definition that I penned myself:</p>
<ul>
<li><strong>Low</strong>. Risks on individual goods and personal assets.</li>
<li><strong>Medium</strong>. Risks on collective good and community assets.</li>
<li><strong>High</strong>. Risk on human lives.</li>
</ul>
<p>This classification can be (and has been) criticized, but it shows the idea. If something can only hurt your belongings, it is less sensitive than a thing that can impact, let&#8217;s say, your city&#8217;s traffic lights, and much less sensitive than a device that can kill you. And of course, you expect to spend less money on certification for anything with low risk.</p>
<p>If you work on IoT devices, then it is easy to apply this classification. My connected toothbrush is low, so is my personal security camera. The school&#8217;s security camera is medium, though, and a hospital&#8217;s connected syringes are high.</p>
<p>But wait. Didn&#8217;t Mirai exploit cameras to take down community assets like OVH servers? That&#8217;s the IoT issue: my camera as a personal security device to protect my house has a low risk level, but the same camera as a member of a botnet has at least a medium risk level, possibly a high if the next bad guy decides to attack emergency services instead of Web hosting services.</p>
<p>This is very hard to capture in a 3-level unidimensional classification. Yet, as we move towards certification of IoT devices, we need to include this collective risk. It is not enough today to consider what a device is supposed to do (watch my house), but we must consider what the device could do after being hacked, and even more importantly, what a large number of the same device could do after being hacked.</p>
<p>Here are three examples with different risks:</p>
<ul>
<li>IT risk. Any permanently connected device can be targeted by a Mirai-like malware and end up attacking any part of our digital infrastructure.
</li>
<li>Human risk. Anything with a battery may be led to overheat and possibly explode, and multiplying this could lead to havoc and multiple injuries.
</li>
<li>Economic risk. Sending Brickerbot (which destroys what it infects) to a large number of simple but essential connected parts (for instance, car parts) could lead to a shortage of parts and major economic damage (for instance, if cars can&#8217;t be fixed).
</li>
</ul>
<p>These risks are hard to capture, but they are significant. However, it is just not possible to label every connected object as high risk, because certification constraints are too high.</p>
<p>One solution is to define a Low or Basic level that includes a significant level of protection against hacking and malicious exploitation. Even this apparently simple solution is hard to define, but thinking about the problem in such terms is already a big step ahead.</p>
<p>So, remember: A single connected device is cute, but collectively, they can be very dangerous.</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2018/04/03/the-collective-risk-of-iot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Is it Reasonable to Own a Connected Car?</title>
		<link>https://javacard.vetilles.com/2017/08/16/is-it-reasonable-to-own-a-connected-car/</link>
		<comments>https://javacard.vetilles.com/2017/08/16/is-it-reasonable-to-own-a-connected-car/#comments</comments>
		<pubDate>Wed, 16 Aug 2017 15:01:47 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[IoT Security]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=26370</guid>
		<description><![CDATA[I have been hearing for a while that Â« cybersecurity is a process Â» and that one of the issues with executives is that they donâ€™t understand that: most of them think that cybersecurity is a problem that should be solved by engineering. When you think about an online serviceâ€™s lifecycle, it all makes sense. [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>I have been hearing for a while that Â« cybersecurity is a process Â» and that <a href="https://hbr.org/2017/06/the-behavioral-economics-of-why-executives-underinvest-in-cybersecurity" class="liexternal">one of the issues with executives</a> is that they donâ€™t understand that: most of them think that cybersecurity is a problem that should be solved by engineering.</p>
<p>When you think about an online serviceâ€™s lifecycle, it all makes sense. The service is deployed on servers sitting in a secure data center, then to more servers if needed; then, the service is updated to a new version, possibly moved to a new cloud provider, and all of this is quite transparent to users. Basically, security must be part of the normal lifecycle, continuously adapting to the new hardware, new software, and new threat environment.</p>
<p>IoT security is different, of course. IoT is about objects, not services, and securing objects is different. Their hardware is fixed, and people buy an object with a set of features, not a service. Things are evolving, of course: Tesla is selling an Autopilot service, complete with security and functional updates. Many smaller devices also come with online services. For instance, a remote thermostat comes with a service that monitors meteorological data, in-house presence, and many other parameters to optimize target temperatures. For such services, security is, of course, a process, like for any other online service.</p>
<p>Yet, most people buy cars, even Tesla models; people buy connected thermostats, even if they are useless without the accompanying online service. For most consumer connected devices, the online service is free (for life, whatever that means), but the consumer has little guarantees that it will keep working for a long time. Naturally, professional contracts are a bit clearer: companies pay for the connected devices and for the related services, but they get additional guarantees, for instance, that the service will run and support their devices for at least 5 years.</p>
<p>Companies usually have a business view of it: a device is supposed to last for 5 years, so it is financed over 5 years, including support and associated services. After 5 years, the device is evaluated; either it is replaced with a new one, or it still works fine and its support and associated services can be continued for a few more years. The U.S. Senate is <a href="https://www.cnet.com/news/congress-senate-iot-device-makers-your-security-sucks/" class="liexternal">trying to formalize this</a> for federal suppliers.</p>
<h4>What happens when a consumer&#8217;s connected car ages?</h4>
<p>So, what happens when a consumerâ€™s connected object ages? Letâ€™s consider a connected car, for example:</p>
<ul>
<li>For a few years, everything goes fine. The manufacturer regularly updates the car software. The features may evolve or not, but security threats are taken care of. The servers also keep working without problems.
</li>
<li>After a few years, things become more difficult. Some services start to disappear, either because they are outdated and the server doesnâ€™t work anymore, or because they are flawed and cannot be fixed. But the car keeps working.
</li>
<li>Then someday, maybe after 10 years, a key hardware component gets defeated by hackers, to a point that software canâ€™t fix/mitigate. From then on, the car is accessible to hackers. So, what should be done? Should the manufacturer disable the hardware (i.e. the car)? Should they be forced to design a replacement part based on more robust/recent hardware? But then, for how long?
</li>
</ul>
<p>Basically, the problem comes from the mismatch between hardware and software. Letâ€™s make a parallel between computers and connected cars: In 2037, using Autopilot on a 2017 Tesla will be like running a 1997 version of Apache on a 200MHz Pentium Pro/Windows 95 machine in 2017: a very risky business.</p>
<p>The difference between consumer and business IoT is the ownership model (or more generally, the business model). Some people may always lease new cars and basically act like businesses, but some people keep their cars for 10 or 20 years, and some people buy used cars.</p>
<h4>IoT security is a process is a service</h4>
<p>Connecting cars is a great idea, but it doesnâ€™t work well with the current car business model. There are many reasons that would push us not to own cars in the near future, and security is one of them: We shouldnâ€™t own connected cars, and simply use a transportation service. Then, things become much clearer: It is the service providerâ€™s duty to maintain the cars, software, and hardware, and to replace the cars when they are not secure/safe anymore.</p>
<p>More generally, IoT is a service, and IoT security is a process. The IoT Â« devices Â» are just a part of the hardware required to implement a given IoT service, even the big ones; they are just like the servers on the backend side, under the responsibility of the service provider, and their sourcing and maintenance should be under their responsibility.</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2017/08/16/is-it-reasonable-to-own-a-connected-car/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Think like an attacker with a bottom-up threat analysis</title>
		<link>https://javacard.vetilles.com/2017/03/22/think-like-an-attacker-with-a-bottom-up-threat-analysis/</link>
		<comments>https://javacard.vetilles.com/2017/03/22/think-like-an-attacker-with-a-bottom-up-threat-analysis/#comments</comments>
		<pubDate>Wed, 22 Mar 2017 14:48:59 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[IoT Security]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=26362</guid>
		<description><![CDATA[A risk analysis is a great tool when planning the security of a product. This is typically done with a top-down methodology: You first define assets, then identify threats or risks on these assets, followed by attack strategies and attack objectives, countermeasures, getting finer and finer. These methodologies present many advantages, and one of the [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>A risk analysis is a great tool when planning the security of a product. This is typically done with a top-down methodology: You first define assets, then identify threats or risks on these assets, followed by attack strategies and attack objectives, countermeasures, getting finer and finer.</p>
<p>These methodologies present many advantages, and one of the most obvious ones is their ability to have a quantitative side, where a value can be assigned to a risk or threat, or to a countermeasure, allowing management decisions to be taken.</p>
<h4>Top-down is an owner&#8217;s view, not an attacker&#8217;s view<br />
</h4>
<p>However, the top-down approach has some limits, especially when doing a threat analysis, and when getting closer to implementation. The top-down approach has two big problems, which limit how it models reality.</p>
<p>First, a top-down approach doesnâ€™t faithfully represent the way in which attackers work, which is often much more opportunistic. An attacker often has an abstract goal, for instance to break into a system or harm some companyâ€™s reputation. This is because the attacker is in fact an attacker ecosystem, with many actors involved. Some people actually perform attacks on actual targets, but other actors identify vulnerabilities attack paths by investing in security research. The market for 0-day attacks on major software components is an example of this market. In that case, the researcher does not have any idea of the way in which the attack will be exploited, and doesnâ€™t care.</p>
<p>Second, and maybe more importantly, a top-down analysis privileges intent over reality, and it canâ€™t represent the blatant bugs that essential to many vulnerabilities. When a developer assesses the difficulty or cost of an attack, his view is necessarily optimistic. The attacker will not consider that he will make a stupid mistake, or that his algorithm is flawed. In real life, though, many vulnerabilities are linked to such situations.</p>
<h4>Attackers are opportunistic<br />
</h4>
<p>Letâ€™s consider an example. We use an attack graph, because it better matches the reality of an attacker ecosystem, building complete attack paths from smaller attacks and vulnerabilities. Graphs can show how attacks are interconnected. If individual attack edges are weighted with the cost of the attack, then the attackerâ€™s job is to identify the path with the smallest cost, or at least one of the smallest costs. This is shown on the left, with two paths that are better than others (total costs of 8 and 9, respectively), but the differences are not that great, with the costliest path at 11.</p>
<p><a href="http://javacard.vetilles.com/wp-content/uploads/2019/01/attack0.jpg" class="liimagelink"><img src="http://javacard.vetilles.com/wp-content/uploads/2019/01/attack0-300x120.jpg" alt="attack0" width="300" height="120" class="alignnone size-medium wp-image-26363" /></a></p>
<p>Now, look on the right. The graph has been corrected by simply taking into consideration one single stupid bug that makes one attack much easier than expected. And suddenly, a new path appears, that was not initially considered, because it was supposed unlikely, with a much lower total cost of 5. This minor change can lead developers to reconsider some of their hypotheses about threats.</p>
<p>And we have been nice, here. In real life, new attack edges and nodes are likely to be added to the attack graph, defining shortcuts to existing attacks, and often leading to completely unexpected attack paths.</p>
<h4>Build attacks from low-level vulnerabilities<br />
</h4>
<p>Thatâ€™s where a bottom-up analysis can greatly help. The idea is to look at individual components and security measures, identify how they could be abused, what vulnerabilities are likely, in the most practical way possible. Such an analysis can be a bit messy, with many directions, so they will not yield a nice set of slides to show to a manager or customer. However, they are likely to identify a few interesting threats and attacks that cannot be identified through a top-down approach.</p>
<p>Later in the development cycle, similar results can be achieved through a security evaluation, especially in black-box testing. As the evaluators look at their target, they will have an opportunistic approach by first trying to find a few easy vulnerabilities.</p>
<p><strong>[EDITED]</strong> Eric Diehl published a very good article about white-box testing vs. black-box testing, that I have to agree with. It changes a bit my last reference about black-box testing: white-box testing is generally more efficient than black-box testing, and if you are in a position to use it, a bounty program also is more efficient than black-box testing. Yet, I still believe that a foray into black-box testing can be useful to get a different insight into a product&#8217;s security.</p>
<p>If you are not familiar with threat analysis or modeling, try Adam Shostack&#8217;s <a href="https://amzn.to/2CSWAdi" class="liexternal">Threat Modeling: Designing for Security</a>. It really helped me when I started working on threats, and it provides good tools for a bottom-up analysis.</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2017/03/22/think-like-an-attacker-with-a-bottom-up-threat-analysis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Attacking IoT is really easy</title>
		<link>https://javacard.vetilles.com/2017/02/10/attacking-iot-is-really-easy/</link>
		<comments>https://javacard.vetilles.com/2017/02/10/attacking-iot-is-really-easy/#comments</comments>
		<pubDate>Fri, 10 Feb 2017 07:55:18 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[IoT Security]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[formal]]></category>
		<category><![CDATA[iot]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=26325</guid>
		<description><![CDATA[A few days ago, Metasploit has announced that their famous tool is now available to car hackers, and soon for any connected object. Metasploit is a well-known tool for web apps, and extending it to objects simply makes these objects as easy to hack as web apps. Indeed, there are many aspects in common between [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>A few days ago, Metasploit has announced that their famous tool is now <a href="https://www.theregister.co.uk/2017/02/03/metasploit_hardware_upgrade/" class="liexternal">available to car hackers</a>, and soon for any connected object.</p>
<p>Metasploit is a well-known tool for web apps, and extending it to objects simply makes these objects as easy to hack as web apps. Indeed, there are many aspects in common between a Web App and a Connected Object: they can be reached from internet, they run complex software, they can be targeted by ransomware, and they can be misused.</p>
<p>Then, there are differences, and these differences make objects easier to hack than web apps. The most commonly cited is the lack of supervision of connected objects. This has allowed the creation of very large botnets of connected objects, and will most likely continue and worsen in the next few years, because few people realize that their fridge is in a botnet.</p>
<p>There is another difference, more subtle, but with great consequences on security: the objectsâ€™ availability. When targeting a web app, an attacker may know some of the software that has been used to build the app. He may even be aware of some vulnerabilities in this software. However, the attacker will know nothing of the productâ€™s configuration, or of the security products and countermeasures deployed to protect it.</p>
<p>In order to design an attack, information must be gathered by probing the web app â€œliveâ€, taking the risk of being detected by a sophisticated IDS or IPS, or of hitting a honeypot that will record his attack techniques. Metasploit helps by providing tools and a database of known issues, but such attacks still require great skills.</p>
<p>Now, letâ€™s consider a connected object, even a complex one like a car. The attacker can tear the object apart, get access to memory chips, dump their content, and analyze it. This analysis will take time and resources, but there is no risk of getting caught, and countermeasures will eventually be exposed together with vulnerabilities. Metasploit will make the task even easier if the device includes known vulnerabilities. In the end, the attacker will obtain a viable attack path, by working in the security of a lab.</p>
<p>Detection is very difficult in such conditions. An IDS will protect a connected car, for instance, against random remote attacks. But a skilled attacker will only perform a live attack on a Connected Car after verifying that the IDS doesnâ€™t catch it.</p>
<p>And this is only the beginning. Security research on connected objects is rather new, and focuses on the easiest targets. Skills will improve over time, making more sophisticated targets vulnerable. Now, letâ€™s add to this equation an AI to assist in the reverse engineering and the identification of vulnerabilities. Traditional defenses are toast.</p>
<p>In a few years, if there is a vulnerability in a connected object, someone will find it and maybe exploit it. Encryption will provide a temporary protection. Trusted Execution Environments will add some hurdles. But these are just new countermeasures, not game changers.</p>
<p>Thatâ€™s what I like in formally proven software. A mathematical proof that a piece of software does not leak information is a good countermeasure against reverse engineering AIs. With such a proof, finding a vulnerability is not about finding a software bug, itâ€™s about finding an issue in a formal model that could lead to a wrong proof that could hide a bug. And thatâ€™s orders of magnitude more difficult, even for an AI.</p>
<p>Originally published on <a href="https://www.linkedin.com/pulse/attacking-iot-really-easy-eric-vÃ©tillard" class="liexternal">LinkedIn</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2017/02/10/attacking-iot-is-really-easy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fighting poker-winning AIs on IoT Security</title>
		<link>https://javacard.vetilles.com/2017/02/02/fighting-poker-winning-ais-on-iot-security/</link>
		<comments>https://javacard.vetilles.com/2017/02/02/fighting-poker-winning-ais-on-iot-security/#comments</comments>
		<pubDate>Thu, 02 Feb 2017 14:27:14 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[IoT Security]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[cybersecurity]]></category>
		<category><![CDATA[iot]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=26321</guid>
		<description><![CDATA[Published attacks tend to repeat themselves this year, but in the last few days, there has been a few interesting events and publications, in particular: Adi Shamir has made gloomy predictions about security in the next 15 years. Bruce Schneier has published a long essay about IoT security, with a vibrant and desperate call for [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Published attacks tend to repeat themselves this year, but in the last few days, there has been a few interesting events and publications, in particular:</p>
<ul>
<li>Adi Shamir has made <a href="http://www.lightbluetouchpaper.org/2016/02/22/financial-cryptography-2016/#comment-1456744" class="liexternal">gloomy predictions</a> about security in the next 15 years.</li>
<li>Bruce Schneier has published a <a href="http://www.schneier.com/blog/archives/2017/02/security_and_th.html" class="liexternal">long essay</a> about IoT security, with a vibrant and desperate call for action to governments.</li>
<li>An AI is <a href="http://www.wired.com/2017/01/mystery-ai-just-crushed-best-human-players-poker/" class="liexternal">winning at poker</a> against some of the best human players.</li>
</ul>
<p><span id="more-26321"></span></p>
<p>From these three sources, it sure looks like things will get worse before they get better. Let&#8217;s start by Shamir&#8217;s views on cybersecurity:</p>
<ol>
<li>Cybersecurity is terrible, and it will get worse.</li>
<li>The Internet of Things will be a security disaster.</li>
<li>Cyber warfare will be the norm rather than the exception in conflicts.</li>
</ol>
<p>All of this sounds very real today, so Shamir is just implying that it&#8217;s not going to get better any time soon. Schneier, on the other hand, is not giving up, by asking for a new government regulatory agency, and also for a body of public-interest technologists, who would be provide expertise into the public debate about technology.</p>
<p>That brings us to the third piece of news. An AI managed to win against really good poker players over several days. This requires strategy, bluffing, and much more. By extension, an AI can now pose as humans or beat humans in any narrowly defined situation, even when complex strategic thinking is required. OK, but even as I write it, I have a problem grasping the consequences of this sentence. I know a things or two about computing in general, and even about AI. Yet, it is very hard to see where that leads us, and how it applies to other fields, like cybersecurity.</p>
<p>So yes, Schneier is probably right in asking for regulatory agencies and public-interest technologists, because of the complexity of today&#8217;s technological issues. Shamir is probably right too, because Schneier is not going to get what he asks for, at least not in Trump&#8217;s USA (and I wouldn&#8217;t bet that we will get it in today&#8217;s Europe, either). So, what consequences does it have for &#8220;us&#8221;?</p>
<p>First, we have to stand strong ourselves. What we are doing at Prove &#038; Run is right. Making devices stronger and more resilient/resistant to attacks is essential in the fight against attackers. And even if a majority of IoT actors don&#8217;t care, there remain enough responsible vendors to make a huge market for ProvenCore and applications.</p>
<p>Then, we need to remain humble. Stronger devices are not sufficient by themselves. 10 years ago, as an evaluator, I have used static analysis on Java Card programs to detect vulnerabilities that were very hard to find &#8220;manually&#8221;, with amazing success. So, if a small research team can program an AI that beats professional poker players, how long will it be before some team of hackers programs an AI that designs attacks on IoT systems? And if that happens, how much will our formal proofs matter? Even if our software is not broken, how easy will it be to bypass it?</p>
<p>French students learn in school about the great <em><a href="http://en.wikipedia.org/wiki/Maginot_Line" rel="nofollow" class="liwikipedia">ligne Maginot</a></em>, a very strong line of defense against Germany built in the early 1930&#8217;s. The Germans did not break it, they circumvented it.</p>
<p>I believe more strongly than ever that high-assurance security components and formally proven software are essential components of future secure systems. But we have to face a difficult challenge: make sure that no human or AI is able to bypass our highly resistant technology, effectively making it a 21st century ligne Maginot.</p>
<p>We can and will succeed. Our &#8220;We are the most secure&#8221; arguments are needed to attract our customers&#8217; attention, but we must be careful to move to more complex &#8220;We are the foundations of the most secure systems&#8221; arguments as their understanding of the issues at stake improves and we get closer to implementation.</p>
<p>And let&#8217;s keep an eye on this AI thing.</p>
<p>Originally published on <a href="https://www.linkedin.com/pulse/fighting-poker-winning-ais-iot-security-eric-vÃ©tillard" class="liexternal">LinkedInï»¿</a>.</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2017/02/02/fighting-poker-winning-ais-on-iot-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resilience for Connected Objects</title>
		<link>https://javacard.vetilles.com/2016/11/30/resilience-for-connected-objects/</link>
		<comments>https://javacard.vetilles.com/2016/11/30/resilience-for-connected-objects/#comments</comments>
		<pubDate>Wed, 30 Nov 2016 18:06:24 +0000</pubDate>
		<dc:creator><![CDATA[Eric Vétillard]]></dc:creator>
				<category><![CDATA[Discussions]]></category>
		<category><![CDATA[IoT Security]]></category>
		<category><![CDATA[iot]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[trust]]></category>

		<guid isPermaLink="false">http://javacard.vetilles.com/?p=26311</guid>
		<description><![CDATA[Attacks occur, especially on IoT. While it is very hard to avoid an attack altogether, we can minimize its consequences. The first factor to consider is the impact of an attack; there are many ways to analyze such impact, for instance from a financial or technical point of view. In a very simple analysis, we [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Attacks occur, especially on IoT. While it is very hard to avoid an attack altogether, we can minimize its consequences.<br />
The first factor to consider is the impact of an attack; there are many ways to analyze such impact, for instance from a financial or technical point of view. In a very simple analysis, we can consider three main categories of impacts:</p>
<ul>
<li>The device performs its tasks normally, but the attacker also runs other software on it, for instance to make it participate to DDoS attacks.</li>
<li>The device apparently works normally, but its behavior is somehow altered, for instance by providing wrong information.</li>
<li>The device doesnâ€™t work or obviously dysfunctions, for instance a car that wonâ€™t start.</li>
</ul>
<p>A second factor to analyze the consequence of an attack is the duration of the attack, or the delay until recovery. Here, we can consider four situations:</p>
<ul>
<li><strong>Until next reboot</strong>. I am confident that the firmware hasnâ€™t been modified, so a reboot will remove the attack vector from RAM and address the problem.</li>
<li><strong>Until next hard reset</strong>. I am confident that the device will not boot on modified firmware, so a hard reset will restore a Â«&nbsp;good&nbsp;Â» copy of the last known correct firmware.</li>
<li><strong>Until next update</strong>. I am not sure about the full firmware, but I know that a firmware update will remain possible and will address the issue.</li>
<li><strong>Until replacement</strong>. The firmware update mechanism is corrupted as well (or the device is permanently damaged), so the only solution is to replace the device.</li>
</ul>
<p><span id="more-26311"></span></p>
<p>We could go further, but letâ€™s stop here for now. The impact looks essential, but the differences between the three scenarios arenâ€™t that great. An obvious dysfunction is bad, but a device whose behavior has been altered by an attacker can be just as bad, and a device that is controlled by a hacker can easily become dysfunctional. In all three situations, it is obvious that some fix is required.</p>
<p>Thatâ€™s where duration and recovery are important. The two first options (reboot and hard reset) are only temporary fixes. Even if the attack is transient and can be removed, the vulnerabilities that made the attack possible are still present, and the attack can be reproduced easily. Ideally, a reboot or reset/restore must be accompanied with some operational restrictions (like a &#8220;safe mode&#8221;) until an update is performed.</p>
<p>What we are analyzing here with recovery methods is resilience, or according to Random House, &#8220;the power or ability to return to the original form, after being [attacked]&#8221;. It is a valuable property for systems that are submitted to high levels of stress. Resilience is about recovery, in opposition to resistance, which is about protection.</p>
<p>Resilience and resistance are complementary. Resilience is often considered easier to achieve than resistance, but maybe more importantly, resilience may still happen when resistance has failed. Even if an attack on a system has been successful, its recovery is possible is the system is resilient to that attack.</p>
<p>We can here use an analogy with resilience against natural disasters. Although a hurricane can cause massive destruction to coastal areas, (resistance is limited), most U.S. coastal areas are resilient against hurricanes because hurricane evacuation routes have been defined, and shelters are ready to host evacuated people. Such resilience measures rarely fail, and we are shocked when this occurs, like in New Orleans after Katrina.</p>
<p>For an embedded device, resilience is mostly about:</p>
<ul>
<li>Secure boot, to restart from a clean sheet upon reboot, and detect a potentially persistent attack.</li>
<li>Firmware update, to load a new version that is not vulnerable to the attack.</li>
</ul>
<p>More generally, resilience can be achieved through simple infrastructure means like roads and shelters. In the case of connected devices, resilience can be achieved through low-level features, within or below the operating system, and highly independent of the use case.</p>
<p>However, although resilience mechanisms are simple, they also need to be very robust. A hurricane shelter must be built on high ground with strong material like reinforced concrete that offer strong guarantees of resistance against a hurricane. Similarly, the secure boot and firmware updates of a connected device must be designed and implemented to resist attacks. In both cases, this resistance is easier to build because it is applied on a smaller scale, and it is mutualized:</p>
<ul>
<li><strong>Smaller scale</strong>. A shelter is a single building, typically used for other purposes (like a stadium) that is relatively easy to reinforce. Similarly, a secure boot is a small mechanism, so is the security-critical subset of a firmware update mechanism. These mechanisms offer a small attack surface, and are therefore easier to protect than an entire software stack.</li>
<li><strong>Mutualized</strong>. A shelter is shared by all members of a community, who will use it together in case of emergency. Similarly, secure boot and firmware update are independent of the deviceâ€™s role and application. The development and reinforcement efforts can therefore be mutualized, reducing the cost for every device.</li>
</ul>
<h3>Resilience must be proactive</h3>
<p>Resilience is the capacity to recover from an attack, and as such, appears to be a highly reactive technology, that comes after the fact. It is of course true that resilience mechanisms are triggered after the fact, but in order to succeed, they need to be proactively prepared.</p>
<p>Just like evacuation routes and shelters need to be planned in advance and designed to resist a hurricane, resilience measures in IoT devices similarly need to be prepared beforehand. A firmware update mechanism is crucial, and it needs to be prepared with great care proactively. In particular, this mechanism must be designed to be highly resistant against attacks.</p>
<p>In the world of connected devices, we know that resistance to attacks will be difficult to achieve, because it requires a very large investment from vendors to fix all vulnerabilities and make their systems resistant to attacks. Resilience, on the other hand, can be achieved on a wide scale with a limited budget, and has the ability to provide a strong basis on which IoT security can gradually be built.</p>
]]></content:encoded>
			<wfw:commentRss>https://javacard.vetilles.com/2016/11/30/resilience-for-connected-objects/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
