<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title><![CDATA[[SecurityRatty] tag: des]]></title>
    <link>http://securityratty.com/tag/des</link>
    <description></description>
    <pubDate>Mon, 04 Feb 2008 20:34:00 +0000</pubDate>
    <generator>iRatty Engine</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <item>
      <title><![CDATA[America's Next Top Hash Function Begins]]></title>
      <link>http://securityratty.com/article/782d55dd167bb0c5193cd7724d7e2313</link>
      <guid>http://securityratty.com/article/782d55dd167bb0c5193cd7724d7e2313</guid>
      <description><![CDATA[You might not have realized it, but the next great battle of cryptography began this month. It's not a political battle over export laws or key escrow or NSA eavesdropping, but an academic battle over...]]></description>
      <content:encoded><![CDATA[<p>You might not have realized it, but the next great battle of cryptography began this month. It's not a political battle over export laws or key escrow or NSA eavesdropping, but an academic battle over who gets to be the creator of the next hash standard.</p>

<p>Hash functions are the most commonly used cryptographic primitive, and the most poorly understood. You can think of them as fingerprint functions: They take an arbitrary long data stream and return a fixed length, and effectively unique, string. The security comes from the fact that while it's easy to generate the fingerprint from a file, it's infeasible to go the other way and generate a file given a fingerprint. </p>

<p>Originally created to make digital signatures more efficient, hashes are now used to secure the very fundamentals of our information infrastructure: in password logins, secure web connections, encryption key management, virus and malware scanning, and almost every cryptographic protocol in current use. Without cryptographic hash functions, the internet would simply not work. At the same time, there isn't a good theory of hash functions. Unlike encryption algorithms, there are no secret keys involved; this makes it harder to mathematically define exactly what hash functions are.
</p>

<p>
The National Institute of Standards and Technology, NIST, is <a href="http://csrc.nist.gov/groups/ST/hash/sha-3/index.html">holding a competition</a> to replace the SHA family of hash functions. "SHA" stands for "Secure Hash Algorithm." It was developed by the NSA in 1993 to replace the commercial MD4 and MD5 algorithms, and has been updated several times since then. All the SHA algorithms are very similar, and have been <a href="http://www.schneier.com/blog/archives/2005/02/cryptanalysis_o.html">increasingly under attack</a>, so NIST <a href="http://www.schneier.com/blog/archives/2005/10/nist_hash_works_1.html">wants to replace them</a>.</p>

<p>The competition is important because, unlike other technological standards, committee design &#151; balancing the interests of diverse constituents &#151; isn't conducive to good security. Security is best when it's designed by expert teams and then subjected to public review. And cryptography is best when it's chosen by competition.</p>

<p>In 1997, NIST held a <a href="http://en.wikipedia.org/wiki/Advanced_Encryption_Standard_process">competition</a> for a <a href="http://csrc.nist.gov/archive/aes/index.html">block cipher</a> to replace DES. Fifteen candidates and three-and-a-half years later, Rijndael became the new Advanced Encryption Standard &#151; AES. NIST is doing the same thing for what it's calling SHA-3 (not, for some unexplained reason, the Advanced Hash Standard or AHS).</p>

<p>The deadline was October 31, and NIST received 64 submissions. This isn't surprising &#151; I <a href="http://www.schneier.com/blog/archives/2008/10/the_skein_hash.html">predicted</a> 80 &#151; as most of the 15 AES submitters were professors, whose students at the time have become professors themselves, with their own students. (If NIST does a stream cipher competition in another ten years, they should expect about 256 submissions.) These submissions came from academia, from industry, and from hobbyists. <cite><a href="http://www.cio.com/article/461164/Amateurs_and_Pros_Vie_to_Build_New_Crypto_Standard">CIO magazine</a></cite> recently interviewed one of the submitters, who is 15. Twenty-eight submissions have been made <a href="http://ehash.iaik.tugraz.at/wiki/The_SHA-3_Zoo">public</a> by the submitters, and six of those have been broken.  </p>

<p>NIST is going through all the submissions right now, making sure they are complete and proper. Their goal is to publish all accepted submissions by the end of November, in advance of the <a href="http://csrc.nist.gov/groups/ST/hash/timeline.html">First Hash Function Candidate Conference</a>, to be held in Belgium right after the <a href="https://www.cosic.esat.kuleuven.be/fse2009/index.shtml">Fast Software Encryption workshop</a> in February.  </p>

<p>The group expects to quickly make a first cut of algorithms &#151; hopefully to about a dozen &#151; and give the community a year of cryptanalysis before making a second cut in 2010. After another year of cryptanalysis, NIST will choose a winner in 2011. Expect a final standard by 2012.</p>

<p>My advice for software developers is to let the process run its course. While it's tempting to use the new cool algorithms in your designs, it's far too soon to trust any of them. This process is likely to result in all sorts of new research results in hash function security, and some real cryptanalytic surprises.  Give the community a few years to figure out which ones are good and which aren't.</p>

<p>I've previously called this sort of thing a cryptographic demolition derby: The last one left standing wins. But that's only partially true. Certainly all the groups will spend the next few years trying to cryptanalyze each other, but in the end there will be a bunch of unbroken algorithms. NIST will select one based on performance and features.</p>

<p>NIST has stated that the goal of this process is not to choose the best standard but to choose a good standard. I think that's smart; in this process, the best is the enemy of the good. While there's no rush to choose a new standard &#151; the SHA-2 algorithms will remain secure for the foreseeable future &#151; we don't want to analyze the candidates forever.</p>

<p>Personally, I was part of a group of eight cryptographers that submitted <a href="http://www.schneier.com/skein.html">Skein</a> to the competition. A decade ago, writing <a href="http://www.schneier.com/twofish.html">Twofish</a> and participating in the AES process was the most fun I had ever had in cryptography. These next few years promise to be even more fun.</p>

<p>---</p>

<p><i>Bruce Schneier is chief security technology officer of BT. His new book is </i>Schneier on Security<i>.</i></p><br style="clear: both;"/>
  <img alt="" style="border: 0; height:1px; width:1px;" border="0" src="http://www.pheedo.com/img.phdo?i=3fb55453a3600c210940457d550e67ec" height="1" width="1"/>
<img src="http://www.pheedo.com/feeds/tracker.php?i=3fb55453a3600c210940457d550e67ec" style="display: none;" border="0" height="1" width="1" alt=""/><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/wired/politics/privacy?a=AfuoN"><img src="http://feeds.feedburner.com/~f/wired/politics/privacy?i=AfuoN" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/wired/politics/privacy?a=1WcCn"><img src="http://feeds.feedburner.com/~f/wired/politics/privacy?i=1WcCn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/wired/politics/privacy?a=dcuSn"><img src="http://feeds.feedburner.com/~f/wired/politics/privacy?i=dcuSn" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/wired/politics/privacy?a=6jt5N"><img src="http://feeds.feedburner.com/~f/wired/politics/privacy?i=6jt5N" border="0"></img></a>
 <a href="http://feeds.wired.com/~f/wired/politics/security?a=yYWDN"><img src="http://feeds.wired.com/~f/wired/politics/security?i=yYWDN" border="0"></img></a> <a href="http://feeds.wired.com/~f/wired/politics/security?a=yrdIn"><img src="http://feeds.wired.com/~f/wired/politics/security?i=yrdIn" border="0"></img></a> <a href="http://feeds.wired.com/~f/wired/politics/security?a=CF0Rn"><img src="http://feeds.wired.com/~f/wired/politics/security?i=CF0Rn" border="0"></img></a> <a href="http://feeds.wired.com/~f/wired/politics/security?a=l83kN"><img src="http://feeds.wired.com/~f/wired/politics/security?i=l83kN" border="0"></img></a> </div><img src="http://feeds.feedburner.com/~r/wired/politics/privacy/~4/459059854" height="1" width="1"/><img src="http://feeds.wired.com/~r/wired/politics/security/~4/459059855" height="1" width="1"/>]]></content:encoded>
      <pubDate>Wed, 19 Nov 2008 23:00:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/hash function">hash function</category>
      <category domain="http://securityratty.com/tag/sha">sha</category>
      <category domain="http://securityratty.com/tag/sha-3">sha-3</category>
      <category domain="http://securityratty.com/tag/algorithms">algorithms</category>
      <category domain="http://securityratty.com/tag/cool algorithms">cool algorithms</category>
      <category domain="http://securityratty.com/tag/sha family">sha family</category>
      <category domain="http://securityratty.com/tag/nist held">nist held</category>
      <category domain="http://securityratty.com/tag/unlike encryption algorithms">unlike encryption algorithms</category>
      <category domain="http://securityratty.com/tag/nist">nist</category>
      <source url="http://feeds.wired.com/~r/wired/politics/security/~3/459059855/securitymatters_1120">America's Next Top Hash Function Begins</source>
    </item>
    <item>
      <title><![CDATA[Links for 2008-11-10 [del.icio.us]]]></title>
      <link>http://securityratty.com/article/e5dc439433ab04442decbc4c37c5a3a0</link>
      <guid>http://securityratty.com/article/e5dc439433ab04442decbc4c37c5a3a0</guid>
      <description><![CDATA[Got SIEM? - Part II eIQviews
SIEM ( Chapter Three SIEM) Im Namen Allahs, des Allerbarmers, des...]]></description>
      <content:encoded><![CDATA[<ul>
<li><a href="http://blog.eiqnetworks.com/2008/11/09/got-siem-part-ii/">Got SIEM? - Part II &laquo; eIQviews</a></li>
<li><a href="http://kadalbuntunk.wordpress.com/2008/02/01/siem-chapter-three-%e2%80%93-siem/">SIEM ( Chapter Three &ndash; SIEM) &laquo; Im Namen Allahs, des Allerbarmers, des Barmherzigen</a></li>
</ul><img src="http://feeds.feedburner.com/~r/AntonChuvakinPersonalBlog/~4/449199751" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 10 Nov 2008 21:00:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/siem">siem</category>
      <category domain="http://securityratty.com/tag/des">des</category>
      <category domain="http://securityratty.com/tag/des allerbarmers">des allerbarmers</category>
      <category domain="http://securityratty.com/tag/allahs">allahs</category>
      <category domain="http://securityratty.com/tag/chapter">chapter</category>
      <category domain="http://securityratty.com/tag/eiqviews">eiqviews</category>
      <source url="http://feeds.feedburner.com/~r/AntonChuvakinPersonalBlog/~3/449199751/anton18">Links for 2008-11-10 [del.icio.us]</source>
    </item>
    <item>
      <title><![CDATA[Arizona state agency loses data on 40,000 children]]></title>
      <link>http://securityratty.com/article/a5fae16b923291cc40c75bf600c55d72</link>
      <guid>http://securityratty.com/article/a5fae16b923291cc40c75bf600c55d72</guid>
      <description><![CDATA[Arizona's Department of Economic Security (DES) is notifying the families of about 40,000 children that their personal data may have been compromised following the theft of several hard drives from a...]]></description>
      <content:encoded><![CDATA[Arizona's Department of Economic Security (DES) is notifying the families of about 40,000 children that their personal data may have been compromised following the theft of several hard drives from a commercial storage facility.<p><A href="http://ad.doubleclick.net/jump/idg.us.nwf.rss/security;sz=468x60;ord=4833?">
<IMG src="http://ad.doubleclick.net/ad/idg.us.nwf.rss/security;sz=468x60;ord=4833?" border="0" width="468" height="60"></A>
</p>]]></content:encoded>
      <pubDate>Thu, 06 Nov 2008 21:00:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/commercial storage facility">commercial storage facility</category>
      <category domain="http://securityratty.com/tag/personal data">personal data</category>
      <category domain="http://securityratty.com/tag/economic security">economic security</category>
      <category domain="http://securityratty.com/tag/arizona">arizona</category>
      <category domain="http://securityratty.com/tag/department">department</category>
      <category domain="http://securityratty.com/tag/families">families</category>
      <category domain="http://securityratty.com/tag/theft">theft</category>
      <category domain="http://securityratty.com/tag/des">des</category>
      <category domain="http://securityratty.com/tag/hard">hard</category>
      <source url="http://www.networkworld.com/news/2008/110708-arizona-state-agency-loses-data.html?fsrc=rss-security">Arizona state agency loses data on 40,000 children</source>
    </item>
    <item>
      <title><![CDATA[Complex Event Processing Approach for Strategic Intelligence]]></title>
      <link>http://securityratty.com/article/4e21d0747b810dd832ec39a6f7f8bf1a</link>
      <guid>http://securityratty.com/article/4e21d0747b810dd832ec39a6f7f8bf1a</guid>
      <description><![CDATA[FUSION 2006 Technical Program , Paper Number: 200 , Tuesday, 11 July 2006
Special Session: Situation Management I
Paper: Complex Event Processing approach for strategic intelligence
Authors: Nicolas...]]></description>
      <content:encoded><![CDATA[<p><a href="http://fusion.carthel.com/technical_program/" target="_blank">FUSION 2006 Technical Program</a>, <a href="http://www.foi.se/upload/projects/fusion/FOI-R--2252--SE.pdf" target="_blank">Paper Number: 200</a>, Tuesday, 11 July 2006</p>
<p>Special Session: Situation Management I</p>
<p>Paper: Complex Event Processing approach for strategic intelligence</p>
<p>Authors: Nicolas Museux, Juliette Mattioli, Claire Laudy and Helene Soubaras</p>
<p>Abstract: One of the key issues of strategic intelligence within a crisis situation is to build an early assessment of the situation, based on a context sensitive information interpretation and through a well constructed situation representation. Our proposal is based on the conjunction of a conceptual modelling to represent situations out of document analysis and a reactive rule-based modelling to analyse them according to a domain knowledge and a goal. This paper focuses on this Situation Analysis process. But we present our global approach and sum-up the Situation Representation and its objectives. We introduce the Complex Event Processing formalism used for the analysis and dynamic recognition of such situations. We illustrate our approach through a case study taken from what happened during the energy crisis in California in 2001.</p>
<p>Presenter Biography: Dr. Nicolas Museux is a research scientist in the PLATON lab, at THALES Research and Technology. He had his engineering diploma in computer science in 1998. Then he started his Ph.D. in Applied Mathematics, Computer Science Systems and Control at the Computer Science Center of e&#8217;Ecole des Mines de Paris, and THALES Research and Technology. His Ph.D. focused on the application of constraint programming in distributing low-level digital signal processing programs onto multiprocessors architectures, to optimize data management and computing duration. After he obtained his Ph.D. in 2001, he worked until the end of 2004 on several projects in the PLATON lab linked with combinatorial optimization. Since 2005, Dr. Nicolas MUSEUX works on the Situation understanding research program. Its objectives are to identify, to specify and to design tools for situation model based reasoning in order to address situation analysis, risk assessment and situation projection.</p>
]]></content:encoded>
      <pubDate>Sun, 21 Sep 2008 01:37:28 +0000</pubDate>
      <category domain="http://securityratty.com/tag/situation management">situation management</category>
      <category domain="http://securityratty.com/tag/situation">situation</category>
      <category domain="http://securityratty.com/tag/situation projection">situation projection</category>
      <category domain="http://securityratty.com/tag/crisis situation">crisis situation</category>
      <category domain="http://securityratty.com/tag/situation representation">situation representation</category>
      <category domain="http://securityratty.com/tag/situation analysis process">situation analysis process</category>
      <category domain="http://securityratty.com/tag/address situation analysis">address situation analysis</category>
      <category domain="http://securityratty.com/tag/analysis">analysis</category>
      <category domain="http://securityratty.com/tag/strategic intelligence">strategic intelligence</category>
      <source url="http://www.thecepblog.com/2008/09/21/complex-event-processing-approach-for-strategic-intelligence/">Complex Event Processing Approach for Strategic Intelligence</source>
    </item>
    <item>
      <title><![CDATA[PCI Compliance Explained]]></title>
      <link>http://securityratty.com/article/540bda5f5e8fbb35973bdd6a1f632da7</link>
      <guid>http://securityratty.com/article/540bda5f5e8fbb35973bdd6a1f632da7</guid>
      <description><![CDATA[Learn about the Payment Card Industry Data Security Standard (PCI DSS), a security standard that includes requirements for security management, policies, procedures, network architecture, software...]]></description>
      <content:encoded><![CDATA[Learn about the Payment Card Industry Data Security Standard (PCI DSS), a security standard that includes requirements for security management, policies, procedures, network architecture, software des...]]></content:encoded>
      <pubDate>Thu, 12 Jun 2008 19:02:02 +0000</pubDate>
      <category domain="http://securityratty.com/tag/security standard">security standard</category>
      <category domain="http://securityratty.com/tag/pci dss">pci dss</category>
      <category domain="http://securityratty.com/tag/software des">software des</category>
      <category domain="http://securityratty.com/tag/includes requirements">includes requirements</category>
      <category domain="http://securityratty.com/tag/network architecture">network architecture</category>
      <category domain="http://securityratty.com/tag/security management">security management</category>
      <category domain="http://securityratty.com/tag/procedures">procedures</category>
      <category domain="http://securityratty.com/tag/policies">policies</category>
      <source url="http://www.net-security.org/article.php?id=1145">PCI Compliance Explained</source>
    </item>
    <item>
      <title><![CDATA[Measuring Vulnerability]]></title>
      <link>http://securityratty.com/article/0aa887e6ac30aa0e5eabdc87e110e135</link>
      <guid>http://securityratty.com/article/0aa887e6ac30aa0e5eabdc87e110e135</guid>
      <description><![CDATA[Third in the series regarding vulnerability
Apologies in advance, for the length of this post
In a perfect world
wed know which specific threat agent was going to act against us and know the...]]></description>
      <content:encoded><![CDATA[<p>(Third in the series regarding vulnerability)</p>
<p>Apologies in advance, for the length of this post&#8230;</p>
<p><strong>In a perfect world&#8230;</strong><br />
&#8230; we’d know which specific threat agent was going to act against us and know the capability of that threat agent in absolute terms (e.g., pounds per square inch), as well as know (through testing) what our resistance capabilities are in those same absolute terms.  If we had this information AND assuming this information was precisely correct all of the time, vulnerability becomes a clear and simple binary consideration &#8212; we will be or we won’t be.</p>
<p><strong>Stating the obvious (anyway)</strong><br />
Losses occur when threat events take place that we’re vulnerable to.  This is true whether we’re talking about weather events, human error, or malicious acts.  Obviously, we don’t experience loss with every threat event, which means we’re only vulnerable sometimes &#8212; i.e., less than 100% of the time.  This means there is some probability associated with whether we’ll be vulnerable to any given threat event.  The process of measuring vulnerability is intended to help us understand what that probability is likely to be.</p>
<p><strong>Simplest approach</strong><br />
Perhaps the simplest approach is to identify the threat community you’re analyzing risk against and simply estimate your ability to resist the capabilities of that threat community.  For example, we might estimate that our web application is capable of resisting all but the top 2% of the cyber-criminal threat community &#8212; i.e., two out of a hundred hackers have the skill and resources to defeat the application’s security.</p>
<p>This works as a quick-and-dirty solution, and in many cases is good enough.  Read on if you’re interested in a somewhat more involved approach.</p>
<p><strong>Uncertainty</strong><br />
Unfortunately, in the real world we usually don’t know:</p>
<ul>
<li>Which threat agent is going to act next,</li>
<li>What their capabilities are, or</li>
<li>What our resistance capability is going to be</li>
</ul>
<p>Making matters even more challenging:</p>
<ul>
<li>We don’t have an absolute measurement scale for some threat categories (e.g., human capability)</li>
<li>Our measurements are imprecise (e.g., we can’t measure force or resistance perfectly)</li>
<li>One or more of the values being measured may vary over time (e.g., hurricane wind speed varies throughout the lifetime of the storm, and strength can change throughout the lifetime of a control )</li>
<li>One or more of the values being measured may vary across a population (e.g., not all hurricanes have the same wind speed)</li>
</ul>
<p><strong>When absolute scales apply</strong><br />
<em>(Warning:  This is an illustration and not an engineering exercise, for those who might want to argue details.)</em></p>
<p>Some types of threat categories can be measured using absolute scales (e.g., wind speed in miles per hour), which makes things a bit more straightforward.  For example, thru testing we could estimate that a structure should be capable of resisting wind forces between 150 and 200 MPH.</p>
<p><img style="vertical-align: middle;" src="http://www.riskmanagementinsight.com/media/images/weblog/vulngraph1.jpg" alt="" width="246" height="153" /></p>
<p>By using a distribution to describe this measurement, we account for the fact that under some circumstances wind speeds of less than 150 MPH might compromise the structure, while in some circumstances the structure may be able to withstand speeds greater than 200 MPH.</p>
<p>If we wanted to measure the structure’s vulnerability to a specific type of storm (e.g., a tornado) we could plot a similar distribution for tornado wind speeds (black curve below).  This distribution reflects the fact that wind speeds vary from tornado to tornado, ranging from under 100 MPH to over 300 MPH, with most falling in the 200 MPH range.  (Keep in mind this is just an illustration and isn’t intended to reflect actual tornado data.)</p>
<p><img style="vertical-align: middle;" src="http://www.riskmanagementinsight.com/media/images/weblog/vulngraph2.jpg" alt="" width="246" height="153" /></p>
<p>In order to determine the probability of being vulnerable, we’d use a Monte Carlo function to:</p>
<ol>
<li>Take a random value from the tornado distribution and from the structural resistance distribution</li>
<li>Compare the values &#8212; i.e., for this iteration, determine whether wind speed was greater than resistance</li>
<li>If wind speed was greater, increment a counter that tracks the number of vulnerable instances</li>
<li>Repeat a thousand iterations (or ten thousand, a million, etc.),</li>
<li>After completing all of the iterations, the vulnerability counter divided by the number of iterations provides the probability of this structure being vulnerable to tornado winds</li>
</ol>
<p><strong>When an absolute scale doesn’t exist (the human threat community)</strong><br />
Human threat capability can be boiled down to skills and resources.  Because skills and resources vary from individual to individual, we can characterize threat community capability as a distribution.  At one end of the distribution are those threat agents who have the least capability, while at the other end are those who are the most capable.  As seems to be the case for most things in nature (e.g., weather events), the distribution is probably pretty close to being bell-shaped (i.e., the majority of threat agents fall somewhere below those who are most capable and above those who are least capable).</p>
<p><img style="vertical-align: middle;" src="http://www.riskmanagementinsight.com/media/images/weblog/vulngraph3.jpg" alt="" width="238" height="135" /></p>
<p>A “100% secure” control (if such a thing existed) could be illustrated as existing outside of the threat community capability distribution.  It would be 0% vulnerable.</p>
<p><img style="vertical-align: middle;" src="http://www.riskmanagementinsight.com/media/images/weblog/vulngraph4.jpg" alt="" width="238" height="135" /></p>
<p>More realistically, we can in most cases expect that some portion of the threat population would have the skill and resources to compromise a control (shown below).</p>
<p><img style="vertical-align: middle;" src="http://www.riskmanagementinsight.com/media/images/weblog/vulngraph5.jpg" alt="" width="238" height="135" /></p>
<p>Now, because of the uncertainties regarding threat capabilities and control strength, it would be more accurate to describe control strength as a distribution as well.  For example, we expect the control is at least resistant to 90% of the general threat population, and may be resistant to as much as 99%+ of the population.</p>
<p><img style="vertical-align: middle;" src="http://www.riskmanagementinsight.com/media/images/weblog/vulngraph6.jpg" alt="" width="238" height="135" /></p>
<p>This is fine as far as it goes, but it doesn’t get us the answer we’re looking for in most circumstances.  Most of the time it isn’t enough to know our vulnerability to the general threat population.  In most analyses, we want to know what our vulnerability is to a particular threat community (e.g., cyber criminals, nation-state intel units, etc.).  In that case, we’d have to plot the capability of the threat community in question (red distribution).</p>
<p><img style="vertical-align: middle;" src="http://www.riskmanagementinsight.com/media/images/weblog/vulngraph7.jpg" alt="" width="238" height="135" /></p>
<p>With that plotted, we can run our Monte Carlo function again, generating a probable vulnerability by taking random samples from the control distribution and the distribution of the specific threat community in question.</p>
<p>The key to measuring vulnerability in the absence of an absolute scale is to use the general population capability as the comparative baseline for both control strength and the capability of the threat community in question.</p>
<p><strong>Considerations</strong><br />
Of course, because some malicious threat communities tend to share knowledge and tools, there can be an equalizing effect, which potentially narrows the width of the threat capability curve (shown below) but likely wouldn’t change its fundamental bell-shape.  The good news is that this narrowing effect wouldn’t alter how we measure.  The bad news is that it does affect vulnerability, which we know intuitively anyway.</p>
<p><img style="vertical-align: middle;" src="http://www.riskmanagementinsight.com/media/images/weblog/vulngraph8.jpg" alt="" width="238" height="135" /></p>
<p>Another consideration is the fact that the capability of the malicious population evolves over time &#8212; i.e., the curve shifts to the right along the continuum.  For example, at one time in the past DES was considered invulnerable to brute force cracking.  It isn’t any longer.  In other words, we could say that the control stayed in place along the continuum, but the capability curve shifted to the right.  This highlights the fact that it’s important to maintain a bead on how threat capability evolves, so that you can evolve your defenses as well.  Also, this is good fodder for the importance of defense-in-depth.</p>
<p><strong>Concerns</strong><br />
An obvious concern is the inexact nature of these estimates and the potential for the analyst to estimate badly for various reasons.  We’ve covered this issue previously in other postings, so I won’t go into it in depth now.  Suffice it to say that yes, this is an imprecise measurement fraught with all of the goblins that any measurement approach is subject to.  That said, keep in mind a few things:</p>
<ul>
<li>The ability to estimate effectively can be significantly improved using <a href="http://en.wikipedia.org/wiki/Calibrated_probability_assessment">calibration techniques</a></li>
<li>There’s no such thing as a perfectly precise measurement, whether you’re using a laser or the width of your thumb to do the measuring.  Therefore, the purpose of measurement is to reduce uncertainty, not eliminate it</li>
<li>You can apply confidence levels to your estimates, both to describe the probability of actual values being outside of the estimated minimum and maximum, and to shape the peakedness/flatness of the curve</li>
<li>Monte Carlo analysis is designed to help account for the uncertainty in measures</li>
<li>You should never convey to management that these numbers are precise.  In my experience management won’t have any problem with this, as the numbers they’re given from other business disciplines have precision challenges of their own.</li>
</ul>
<p>Bottom line &#8212; If you’re trying to quantify risk, then you have to quantify vulnerability.  This is one logical means of doing so.  What’s more, it seems to accurately reflect how we subconsciously evaluate and quantify vulnerability anyway, only it brings the analysis to the surface.  And by bringing it to the surface, it allows us to better understand and analyze risk scenarios.</p>
<p>If there’s interest, I can provide a couple of examples in a future post.  Also, if there’s interest, I can include an example where the threat event is due to error rather than malicious intent.</p>
]]></content:encoded>
      <pubDate>Mon, 14 Apr 2008 10:31:38 +0000</pubDate>
      <category domain="http://securityratty.com/tag/threat capability curve">threat capability curve</category>
      <category domain="http://securityratty.com/tag/capability">capability</category>
      <category domain="http://securityratty.com/tag/human capability">human capability</category>
      <category domain="http://securityratty.com/tag/human threat capability">human threat capability</category>
      <category domain="http://securityratty.com/tag/describe control strength">describe control strength</category>
      <category domain="http://securityratty.com/tag/control strength">control strength</category>
      <category domain="http://securityratty.com/tag/capability curve">capability curve</category>
      <category domain="http://securityratty.com/tag/threat community capability">threat community capability</category>
      <category domain="http://securityratty.com/tag/control">control</category>
      <source url="http://riskmanagementinsight.com/riskanalysis/?p=348">Measuring Vulnerability</source>
    </item>
    <item>
      <title><![CDATA[RSA Day 2: Wednesday with JJ & the Engima]]></title>
      <link>http://securityratty.com/article/3b6a2b76bdadf65037a7c7a51ded2473</link>
      <guid>http://securityratty.com/article/3b6a2b76bdadf65037a7c7a51ded2473</guid>
      <description><![CDATA[RSA Conference, San Francisco
Day 2: Wednesday, April 9th
I know, I know- its late- but better late than never, right
I really tried my best to take photos as much as possible. A quick note on the...]]></description>
      <content:encoded><![CDATA[<p><strong>RSA Conference, San Francisco<br />Day 2: Wednesday, April 9th</strong></p><p>I know, I know- it&#8217;s late- but better late than never, right?</p><p>I really tried my best to take photos as much as possible.&nbsp;A quick note on the photography- because of the size of the rooms, it didn&#8217;t make sense to have the flash on, unfortunately it slowed the shutter speed, making some images blurry (sorry). </p><p>So Day 2 already felt like day 5 somehow. I had flown in early to be a tourist for a day or so but caught up with partners and other event-goers early, making it an especially long week. Wednesday was an eventful day. I have a great&nbsp; <strong>Sins of Our Fathers</strong> session to share with you, a day with the <strong>Enigmas</strong>, and the <strong>Security Bloggers Party</strong>. </p><p><strong>The highlight of the day&#8217;s sessions had to be the</strong> <strong>&#8216;Sins of Our Fathers&#8217;</strong> breakout with an amazingly hilarious geek-filled panel including <a class="offsite-link-inline" href="http://www.linkedin.com/in/danhouser" target="_blank">Daniel Houser</a>, <a class="offsite-link-inline" href="http://www.cryptography.com/company/Benjamin-Jun.html" target="_blank">Ben Jun </a>and <a class="offsite-link-inline" href="http://www.linkedin.com/pub/2/1bb/3b5" target="_blank">Hugh Thompson</a>. (Hugh unquestionably won the <em>Most Entertaining Geek Award</em> for the day). I was <a class="offsite-link-inline" href="http://tweetscan.com/index.php?s=SoOF&u=jjx&p=0" target="_blank">tweeting live</a> from the session and took some photos of the interactive polls they intertwined in the discussion. They drew some interesting correlations between current security issues, such as SQL injections an &#8216;previous sins&#8217;, likening it to&nbsp;phone whistling. There were random notes about the&nbsp;inherent security risk of&nbsp;mixing data and coding together. <a class="offsite-link-inline" href="http://www.flickr.com/photos/42618430@N00/tags/soof/" target="_blank">View photos from session.</a></p><p><span class="full-image-float-right"><img style="width: 256px; height: 192px" alt="DSC01791.JPG" src="http://www.securityuncorked.com/storage/DSC01791.JPG?__SQUARESPACE_CACHEVERSION=1208144360449" /></span>Then they talked about using good technology in a way that made it vulnerable. Examples, the Enigma code machines from WWII. (It was&nbsp;actually broken by the known plain-text gathered from repetition in contact initiation, and the mis-use of one-time-pads). They drew the line from Enigma to WEP and other algorithms that were okay, but mis-implemented. </p><p>There were a variety of other anecdotes, accompanied by audience-wide snickers, snorts and laughter. One story of tape backups, encrypted, with the key dutifully stick-noted to the case. Another of the secretary who type-writered all the 5.25&#8221; floppies. The story of the unmanned Predator aircraft flying unattended for about 5 minutes during a PC reboot. They were all tied into the topic nicely, and the guys did an outstanding job interacting and playing off one another. </p><p>One a more serious note- well, sorta- Hugh showed a clip from his participation in the documentary &#8220;<a class="offsite-link-inline" href="http://www.hbo.com/docs/programs/hackingdemocracy/" target="_blank">Hacking Democracy&#8221;</a> about the lack of security of electronic voting. </p><blockquote><p>Here was&nbsp;something amusing&#8230; Their crypto&nbsp;list of <br /><strong>If you hear&nbsp;any of these, RUN!</strong></p><ol><li><div>Cryptography is expensive. </div></li><li><div>We have this guy that&#8217;s reallllly smart&#8230;</div></li><li><div>Wired EQUIVALENT encryption&#8230; .&nbsp;</div></li><li><div>It&#8217;s &#8220;proprietary&#8221; security</div></li><li><div>It&#8217;s revolutionary NEW cryptography technology!</div></li><li><div>It uses DES- so its FIPS 140 compliant&nbsp;</div></li></ol></blockquote><blockquote><p><strong>Some of the sins from the session&#8230;</strong></p><ul><li><div>Engineering, Development &amp; Management sins </div></li><li><div>Using a good technology in a bad implementation</div></li><li><div>Lack of metrics to indicate misuse</div></li><li><div>Feature/mission creep - using item A for solution B</div></li><li><div>Not teaching people how to use security</div></li><li><div>Teaching them, but teaching bad habits </div></li><li><div>Normalization of deviancy </div></li></ul></blockquote><p>I&#8217;ve spent long enough on that, there&#8217;s plenty more to share, but that session was so good, I thought it deserved some special attention. I did stay for the <strong>Cyber Storm II</strong> Panel, but that left more than <em>&#8216;a little&#8217;</em> to be desired. I would have liked more anecdotal stories and a little more personality. The panel participants were knowledgeable, and I&#8217;m sure they were doing what they had been told, but it made for a very dry session, little content of interest, and much repetition. There&#8217;s a little <a class="offsite-link-inline" href="http://tweetscan.com/index.php?s=CSII&u=jjx" target="_blank">live Tweeting </a>from that session too. </p><p>&nbsp;</p><p><strong>Playing with the Enigma<span class="full-image-float-right"><img style="width: 256px; height: 192px" alt="DSC01797.JPG" src="http://www.securityuncorked.com/storage/DSC01797.JPG?__SQUARESPACE_CACHEVERSION=1208144122189" /></span></strong><br />At the Sins of Our Fathers sessions, I believe it was Ben that mentioned we had at our disposal not one- but TWO Enigma machines on the expo floor here are RSA. And BOTH were for our playing! They had it set so we could set the key and encode a message at the NSA booth, then take the encrypted message to the Cryptographic Research booth and use that Enigma to decypher the message. <em>HOLY COW!!!!!!</em> If their session hadn&#8217;t been so great I would have left right then. The only time I&#8217;ve seen these beautiful little pieces of crypto history, they&#8217;ve been fully encased in glass, and not for the touching. They actually let you set the rotors and punch the code in yourself so my buddy Eric and I ran right over to take full geek advantage of the situation.&nbsp;</p><p>YES, that&#8217;s me with an Enigma, and I have <a class="offsite-link-inline" href="http://www.flickr.com/photos/42618430@N00/tags/enigma/" target="_blank">more photos </a>of the two Engimas.</p><p>&nbsp;</p><p><strong>The big highlight of the evening? The Security Bloggers Party</strong> of course! You get a whole post just for this topic, so stay tuned for that. I didn&#8217;t take photos here, because I felt pretty sure someone would be walking around with a camera. I need to find @ajolly (Apneet Jolly) and see if he has any- he&#8217;s usually fully equipped with a very nice camera&#8230; </p><p># # #</p>
]]></content:encoded>
      <pubDate>Sun, 13 Apr 2008 21:35:30 +0000</pubDate>
      <category domain="http://securityratty.com/tag/security">security</category>
      <category domain="http://securityratty.com/tag/inherent security risk">inherent security risk</category>
      <category domain="http://securityratty.com/tag/day">day</category>
      <category domain="http://securityratty.com/tag/security bloggers party">security bloggers party</category>
      <category domain="http://securityratty.com/tag/dry session">dry session</category>
      <category domain="http://securityratty.com/tag/session">session</category>
      <category domain="http://securityratty.com/tag/enigma">enigma</category>
      <category domain="http://securityratty.com/tag/enigma machines">enigma machines</category>
      <category domain="http://securityratty.com/tag/fathers session">fathers session</category>
      <source url="http://www.securityuncorked.com/security-uncorked/2008/4/14/rsa-day-2-wednesday-with-jj-the-engima.html">RSA Day 2: Wednesday with JJ &amp; the Engima</source>
    </item>
    <item>
      <title><![CDATA[ATM Communication - How Secure ?]]></title>
      <link>http://securityratty.com/article/c6c474141a396a1cf9568c75ac2e3e65</link>
      <guid>http://securityratty.com/article/c6c474141a396a1cf9568c75ac2e3e65</guid>
      <description><![CDATA[A while ago, I attended a class on PIN and Key Management for Payment Networks. ANSI has laid out strict guidelines (in their ANSI X9 TG-3 standards checklist, ANSI documents X9.8 and X9.24) for how a...]]></description>
      <content:encoded><![CDATA[<a href="http://bp3.blogger.com/_XTqu2iQGpYM/R-f5EstklxI/AAAAAAAAAcI/UFGeOMNLK38/s1600-h/atmcommunication.JPG"></a><br /><br /><br /><div><a href="http://bp2.blogger.com/_XTqu2iQGpYM/R-f45ctklwI/AAAAAAAAAcA/fPZDPKAUmzI/s1600-h/atmcommunication.JPG"></a><br /><br /><br /><br /><div><a href="http://bp0.blogger.com/_XTqu2iQGpYM/R-P6W8tklpI/AAAAAAAAAa4/xVpctmHSzUs/s1600-h/diebold-atm.jpg"><img id="BLOGGER_PHOTO_ID_5180259268567537298" style="DISPLAY: block; MARGIN: 0px auto 10px; CURSOR: hand; TEXT-ALIGN: center" alt="" src="http://bp0.blogger.com/_XTqu2iQGpYM/R-P6W8tklpI/AAAAAAAAAa4/xVpctmHSzUs/s200/diebold-atm.jpg" border="0" /></a> <div><br /><span style="font-family:sans-serif;font-size:85%;">A while ago, I attended a class on PIN and Key Management for Payment Networks. ANSI has laid out strict guidelines (in their ANSI X9 TG-3 standards checklist, ANSI documents X9.8 and X9.24) for how a customer's PIN should be kept secure: how they should be stored on the card (store only the difference/offset of the encrypted PIN value and the natural PIN), what the minimum encryption requirements are (Triple DES), what the specifications of the devices that encrypt/decrypt the PIN are (Tamper Resistant Security Modules), how PINs should be exchanged between various Financial Institutions (exchange keys between two FIs out-of-band AND under the principles of dual control and then encrypt the keys, how should compromised - no - even "suspect" compromised PINs and Keys that encrypt the PINs be treated (securely delete the key, recreate a new key under the principles of dual control and split knowledge and re-encrypt *every* key or PIN that has been encrypted under it! and re-issue cards containing PIN offsets for PINs encrypted under the new encryption key, if applicable) etc.</span></div><div><span style="font-family:sans-serif;font-size:85%;"></span></div><div><span style="font-family:sans-serif;font-size:85%;">It was simply awesome. To know that the Financial Institutions do their due diligence is a huge confidence booster. The fact that these guidelines are just that - guidelines, and haven't been strictly enforced by governing bodies is not my biggest concern. Neither is the fact that there are a number of papers out there that talk about the insecurities <a href="http://www.cl.cam.ac.uk/~jc407/pin.ppt">in PIN translation</a>. </span><br /></div><span style="font-family:sans-serif;font-size:85%;"></span><div><span style="font-family:sans-serif;font-size:85%;">The following, however, is:</span></div><div><span style="font-family:Arial;font-size:85%;"></span></div><div><span style="font-family:sans-serif;font-size:85%;"></span></div><div><span style="font-family:sans-serif;font-size:85%;">The folks at redspin (Brian Hayes, Matt Marshall) analysed ATM traffic and wrote a <a href="http://www.redspin.com/docs/ATM_Vulnerabilities_04_10_06.pdf">paper </a>on insecurities in ATM communications. </span></div><br /><div><br /></div></div><div></div><img id="BLOGGER_PHOTO_ID_5181383918638896930" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 426px; CURSOR: hand; HEIGHT: 498px; TEXT-ALIGN: center" height="175" alt="" src="http://bp1.blogger.com/_XTqu2iQGpYM/R-f5OMtklyI/AAAAAAAAAcQ/eM765xZYtfI/s400/atmcommunication.JPG" width="113" border="0" /><br /><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div></div><div><div><span style="font-family:sans-serif;font-size:85%;">What you see above is the raw data message format that leaves the atm connected to a network. Cleartext communication. Notice the account number and expiration date. Totally vulnerable to man-in-the-middle attacks. The response message that is supposed to come from the FI, looks something like this:</span> </div><br /><div></div><br /><div></div><br /><div></div><img id="BLOGGER_PHOTO_ID_5181384279416149810" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 417px; CURSOR: hand; HEIGHT: 448px; TEXT-ALIGN: center" height="195" alt="" src="http://bp1.blogger.com/_XTqu2iQGpYM/R-f5jMtklzI/AAAAAAAAAcY/bVabJx2-k38/s400/response.JPG" width="165" border="0" /> <div></div><div><span style="font-family:sans-serif;font-size:85%;">I'm not going to say what one needs to do at this point. Read up m</span><span style="font-family:sans-serif;font-size:85%;">essage format ISO 8583. It is scary.</span><br /><span style="font-family:sans-serif;font-size:85%;"></span><br /><span style="font-family:sans-serif;font-size:85%;"><br /></div></span></div></div>]]></content:encoded>
      <pubDate>Fri, 21 Mar 2008 09:34:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/pin">pin</category>
      <category domain="http://securityratty.com/tag/pin offsets">pin offsets</category>
      <category domain="http://securityratty.com/tag/atm">atm</category>
      <category domain="http://securityratty.com/tag/pin translation">pin translation</category>
      <category domain="http://securityratty.com/tag/natural pin">natural pin</category>
      <category domain="http://securityratty.com/tag/key">key</category>
      <category domain="http://securityratty.com/tag/key management">key management</category>
      <category domain="http://securityratty.com/tag/atm communications">atm communications</category>
      <category domain="http://securityratty.com/tag/encryption key">encryption key</category>
      <source url="http://securitycoin.blogspot.com/2008/03/atm-communication.html">ATM Communication - How Secure ?</source>
    </item>
    <item>
      <title><![CDATA[Iowa State student information exposed for 6 years?]]></title>
      <link>http://securityratty.com/article/b376a15ec850dfaab224c9265df39e03</link>
      <guid>http://securityratty.com/article/b376a15ec850dfaab224c9265df39e03</guid>
      <description><![CDATA[Technorati Tag: Security Breach

Date Reported
2/7/08

Organization
Iowa State University

Contractor/Consultant/Branch
None

Victims
Former students who attended course &quot;ME 325&quot; during the spring of...]]></description>
      <content:encoded><![CDATA[Technorati Tag: <a href="http://technorati.com/tag/security+breach" rel="tag">Security Breach</a><br><br>
<img src="http://breachblog.com/images/95781-88451/isu.jpg" align="right" height="65" width="103"><font size="2"><span style="font-weight: bold;">Date Reported: </span><br>2/7/08<br><br><span style="font-weight: bold;">Organization:</span> <br><a href="http://www.iastate.edu/">Iowa State University</a><br><br><strong>Contractor/Consultant/Branch:</strong><br>None<br><br><strong>Victims:</strong><br>Former students who attended course "ME 325" during the spring of 2001<br><br><strong>Number Affected:</strong><br>26<br><br><strong>Types of Data:</strong><br>Names, Social Security numbers, email addresses, scores, and grades.<br><br><strong>Breach Description:</strong><br>An Iowa State University professor inadvertently posted confidential personal information belonging to former students through the school's publicly accessible web server (iastate.edu).<br><br><strong>Reference URL:</strong><br><a href="http://www.desmoinesregister.com/apps/pbcs.dll/article?AID=/20080204/NEWS/80204006/0/NEWS">The Des Moines Register online story</a> <br><a href="https://www.ssnbreach.org/release.php?g=63">SSNBreach.org Press Release</a><br><br><strong>Report Credit:</strong><br>SSNBreach.org and the Des Moines Register, with a special thanks to "Coop" a Breach Blog reader.<br><br><strong>Response:</strong><br>From the online source cited above:<br><br>An Iowa State University professor posted the names, Social Security numbers, scores, and grades of 26 former students who had taken the course "ME 325" in the spring of 2001.<br><em>[Evan] I think that this is presumed.&nbsp; There is no definitive evidence that the professor, Gloria Starns actually posted the information herself (at least how I read it).&nbsp; Allowing professors to post information to a publicly accessible Internet site makes me feel a little uneasy (risky).</em><br><br>The information, along with e-mail addresses was posted on Iowa State University servers, undetected since January 10, 2002<br><br>The Iowa State University indicates that ISU does not have a regular policy of searching text and non-text based files on public servers to determine whether they may contain sensitive information, according to the press release.<br><em>[Evan] Let's hope that this is likely to change.</em><br><br><strong>Commentary:</strong><br>1.&nbsp; Social Security numbers in the hands of a professor?&nbsp; There is no good reason for a professor to have access to this information.&nbsp; The information in this breach was/is seven years-old, and the school now uses "<a href="http://www.public.iastate.edu/%7Ecatalog/2007-2009/geninfo/studentrecords.html">random university identification number</a>"s, so it appears as though the school has taken some steps to protect confidential information.<br><br>2.&nbsp; I hope that computer system change control for key systems has been implemented that would disallow a professor or any other person not specifically trained, to post public information.&nbsp; Again, this was seven years ago allegedly, so maybe it is safe to assume that things have changed?<br><br>Take a peek at the <a href="http://policy.iastate.edu/policy/it/ethics/#s312">Iowa State Code of Ethics Policy</a> and feel free to comment. <br><br><strong>Past Breaches:</strong><br>Unknown</font><br><br>
<script src="http://feeds.feedburner.com/%7Es/breachblog?i=http://breachblog.com/2008/02/07/isu.aspx" type="text/javascript" charset="utf-8"></script>]]></content:encoded>
      <pubDate>Thu, 07 Feb 2008 11:24:20 +0000</pubDate>
      <category domain="http://securityratty.com/tag/information">information</category>
      <category domain="http://securityratty.com/tag/university professor inadvertently">university professor inadvertently</category>
      <category domain="http://securityratty.com/tag/university">university</category>
      <category domain="http://securityratty.com/tag/protect confidential information">protect confidential information</category>
      <category domain="http://securityratty.com/tag/university professor">university professor</category>
      <category domain="http://securityratty.com/tag/professor">professor</category>
      <category domain="http://securityratty.com/tag/post public information">post public information</category>
      <category domain="http://securityratty.com/tag/iowa">iowa</category>
      <category domain="http://securityratty.com/tag/confidential personal information">confidential personal information</category>
      <source url="http://breachblog.com/2008/02/07/isu.aspx">Iowa State student information exposed for 6 years?</source>
    </item>
    <item>
      <title><![CDATA[More trustworthy election systems via SDL?]]></title>
      <link>http://securityratty.com/article/866587460674cd492103d30bf6cdbe4f</link>
      <guid>http://securityratty.com/article/866587460674cd492103d30bf6cdbe4f</guid>
      <description><![CDATA[Hi folks, Eric Bidstrup here
We interrupt our regular schedule of blog postings to offer this special post for Super Tuesday given the subject matter. Hope you enjoy
This year is a presidential...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>Hi folks, Eric Bidstrup here.<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>We interrupt our regular schedule of blog postings to offer this special post for “</FONT><A href="http://en.wikipedia.org/wiki/Super_Tuesday" mce_href="http://en.wikipedia.org/wiki/Super_Tuesday"><FONT face=Calibri size=3>Super Tuesday</FONT></A><FONT size=3><FONT face=Calibri>” given the subject matter. Hope you enjoy…<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>This year is a presidential election year in the United States. Selecting a new president is perhaps the ultimate example of the importance of having a trustworthy election process. There have been some well chronicled examples of elections with extremely close results, where the winner’s margin of victory was perhaps smaller than the election system’s margin of error. The term “</FONT><A href="http://en.wikipedia.org/wiki/Hanging_chad" mce_href="http://en.wikipedia.org/wiki/Hanging_chad"><FONT face=Calibri size=3>Hanging Chads</FONT></A><FONT face=Calibri size=3>,” from the </FONT><A href="http://en.wikipedia.org/wiki/United_States_presidential_election%2C_2000" mce_href="http://en.wikipedia.org/wiki/United_States_presidential_election%2C_2000"><FONT face=Calibri size=3>2000 U.S Presidential election</FONT></A><FONT face=Calibri size=3>, is now part of the American vocabulary, and locally here in Washington State our </FONT><A href="http://en.wikipedia.org/wiki/Washington_gubernatorial_election%2C_2004" mce_href="http://en.wikipedia.org/wiki/Washington_gubernatorial_election%2C_2004"><FONT face=Calibri size=3>last gubernatorial election in 2004</FONT></A><FONT size=3><FONT face=Calibri> required 3 recounts with the final winner being determined by a margin of only 129 votes, or 0.0045% of the popular vote. <o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>The populace demands confidence that, even in close elections, the election result accurately reflects the voters’ intent. In theory, such precision can be improved by using computers and technology. <o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>However, it seems that every recent election season brings stories in the media about security concerns regarding voting machine (and their software) security. A recent </FONT><A href="http://www.nytimes.com/2008/01/06/magazine/06Vote-t.html?_r=2&amp;oref=slogin&amp;oref=slogin" mce_href="http://www.nytimes.com/2008/01/06/magazine/06Vote-t.html?_r=2&amp;oref=slogin&amp;oref=slogin"><FONT face=Calibri size=3>New York Times article</FONT></A><FONT face=Calibri size=3> provides a good overview of voting machine security concerns; and academic studies on voting systems last year in </FONT><A href="http://www.sos.ca.gov/elections/elections_vsr.htm" mce_href="http://www.sos.ca.gov/elections/elections_vsr.htm"><FONT face=Calibri size=3>California</FONT></A><FONT face=Calibri size=3>, </FONT><A href="http://voter.engr.uconn.edu/voter/Reports.html" mce_href="http://voter.engr.uconn.edu/voter/Reports.html"><FONT face=Calibri size=3>Connecticut</FONT></A><FONT face=Calibri size=3>, </FONT><A href="http://www.sait.fsu.edu/news/2007-03-05-essr.shtml" mce_href="http://www.sait.fsu.edu/news/2007-03-05-essr.shtml"><FONT face=Calibri size=3>Florida</FONT></A><FONT face=Calibri size=3>, and </FONT><A href="http://www.crypto.com/blog/ohio_voting/" mce_href="http://www.crypto.com/blog/ohio_voting/"><FONT face=Calibri size=3>Ohio</FONT></A><FONT size=3><FONT face=Calibri> <SPAN style="mso-spacerun: yes">&nbsp;</SPAN>provide some interesting insights about security concerns and vulnerabilities in voting systems from several vendors. <o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>These analyses are fascinating to us, because they offer an opportunity to see how a set of experts look at products other than ours.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Applied security researchers often analyze our products, and often share their processes and tools with us, but it’s rare to see a top-to-bottom product review released.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>In California, there was both white and black box testing done by different teams, and we’ve studied these reports to see the perceptions of development practices from other vendors and results of a different type of review process.<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>Something my colleagues and I find very interesting is that many of the vulnerabilities noted in these reports could have been prevented by following the requirements in Microsoft’s Security Development Lifecycle. The studies performed in California (prepared at UC Berkeley but created by teams of academics from across the United States) included detailed source code analysis. I’ll select out a few examples from those studies and describe them here. (Note: I’m deliberately picking a few examples from each vendor assessed in the study. I am not attempting to criticize any specific vendor, but rather am trying to illustrate examples of areas where application of the SDL could help contribute towards society’s need for trustworthy computing in a very visible and important application.) <o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>Let’s start with the </FONT><A href="http://www.sos.ca.gov/elections/voting_systems/ttbr/sequoia-source-public-jul26.pdf" mce_href="http://www.sos.ca.gov/elections/voting_systems/ttbr/sequoia-source-public-jul26.pdf"><FONT face=Calibri size=3>Source Code Review of the Sequoia Voting System</FONT></A><FONT size=3><FONT face=Calibri>. Two examples from the executive summary are interesting:<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt 0.5in"><FONT face=Calibri><B style="mso-bidi-font-weight: normal"><SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%">“<I style="mso-bidi-font-style: normal">Cryptography</I></SPAN></B><I style="mso-bidi-font-style: normal"><SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%">. …Many cryptographic functions are implemented incorrectly, based on weak algorithms with known flaws, or used in an ineffective or insecure manner. Of particular concern is the fact that virtually all cryptographic key material is permanently hardcoded in the system (and is apparently identical in all Sequoia hardware shipped to different jurisdictions)…<o:p></o:p></SPAN></I></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt 0.5in"><FONT face=Calibri><B style="mso-bidi-font-weight: normal"><I style="mso-bidi-font-style: normal"><SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%">Software Engineering</SPAN></I></B><I style="mso-bidi-font-style: normal"><SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%">. …The software suffers from numerous programming errors, many of which have a high potential to introduce or exacerbate security weaknesses. These include buffer overflows, format string vulnerabilities, and type mismatch errors….</SPAN></I><SPAN style="FONT-SIZE: 10pt; LINE-HEIGHT: 115%">”<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>A deeper reading of the cryptographic concerns (page 29 in report) notes concerns (amongst others) over the use of a flawed implementation of the SHA hash algorithm and use of the Data Encryption Standard (DES) algorithm. The SDL has specific policies outlining appropriate selection of cryptographic algorithms. <SPAN style="mso-spacerun: yes">&nbsp;</SPAN>For example, DES is prohibited except for backwards compatibility. SDL also requires that applications use operating system cryptographic functions and libraries. The cryptography team in the operating systems group is supported by world-class cryptographers who carefully scrutinize the implementation of crypto algorithms, and additionally these operating system functions are formally reviewed and certified by the </FONT><A href="http://csrc.nist.gov/groups/STM/cmvp/" mce_href="http://csrc.nist.gov/groups/STM/cmvp/"><FONT face=Calibri size=3>National Institute of Standards and Technology (NIST) Cryptographic Module Validation Program (CMVP) who validates cryptographic modules meet Federal Information Processing Standards (FIPS)</FONT></A><FONT size=3><FONT face=Calibri>. Most application developers are not cryptographers and hence are unlikely to encode crypto algorithms correctly. The SDL requires the use of standard crypto functions and outlines requirements on algorithm selection, key length and key management. <o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>Moving to the software engineering concerns; while several common coding and design concerns are noted (e.g. input validation) I want to select one with a bit more subtlety: running code from USB sticks (page 37 in report). From the report, it appears the code present on the USB sticks is used to program a component (HAAT) of their client (WinEDS) to prepare for a specific election.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>The valid concern noted by the study is that USB sticks used by WinEDS to configure the HAAT are implicitly trusted to have appropriate authorization to program the voting devices for an election, and that a formal authorization framework didn’t appear to be present. The implication being (as stated in the report): “<I style="mso-bidi-font-style: normal">If such a stick is used in a HAAT that has been compromised by an attacker, or an attacker can provide a maliciously modified USB stick in place of a legitimate one, the attacker could surreptitiously take complete control over the WinEDS client</I>”. Basically, this is a potential “</FONT><A href="http://en.wikipedia.org/wiki/Rootkit" mce_href="http://en.wikipedia.org/wiki/Rootkit"><FONT face=Calibri size=3>rootkit</FONT></A><FONT size=3><FONT face=Calibri>” for election systems. A threat model, a fundamental design requirement of the SDL, could help uncover such design issues and illustrate the need for mitigations. <o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>Now, let’s turn to the </FONT><A href="http://www.sos.ca.gov/elections/voting_systems/ttbr/Hart-source-public.pdf" mce_href="http://www.sos.ca.gov/elections/voting_systems/ttbr/Hart-source-public.pdf"><FONT face=Calibri color=#0000ff size=3>Source Code Review of the Hart InterCivic Voting System</FONT></A><FONT size=3><FONT face=Calibri>. I’ll try to keep my commentary balanced by selecting two examples here as well:<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>From the executive summary:<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"><FONT face=Calibri><B><I style="mso-bidi-font-style: normal"><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: URWPalladioL-Bold">“Unsecured network interfaces …</SPAN></I></B><I style="mso-bidi-font-style: normal"><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: URWPalladioL-Roma"> Voters can connect to unsecured network links in a polling place to subvert eSlates, as well as to eavesdrop on cast votes and to inject new votes. Poll workers can connect to JBCs or eScans over the management interfaces and perform back-office functions such as modifying the device software. The impact of this is that a malicious voter could potentially take over one or more eSlates in a precinct and a malicious poll worker could potentially take over all the devices in a precinct. …<o:p></o:p></SPAN></I></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"><I style="mso-bidi-font-style: normal"><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: URWPalladioL-Roma"><o:p><FONT face=Calibri>&nbsp;</FONT></o:p></SPAN></I></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"><FONT face=Calibri><B><I style="mso-bidi-font-style: normal"><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: URWPalladioL-Bold">Failure to protect ballot secrecy </SPAN></I></B><I style="mso-bidi-font-style: normal"><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: URWPalladioL-Roma">Hart’s system fails to adequately protect ballot secrecy...”<o:p></o:p></SPAN></I></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>The concerns about unsecured network interfaces are discussed in the context of authentication and least privilege (pages 24-25). While that is certainly a reasonable perspective, with the SDL we take a broader view and require all teams to threat model the attack surface of the software being developed. Attack surface is the enumeration of all possible entry points that an attacker could use to compromise software (code listening to network interfaces, code that accepts data from external sources, etc). The SDL requires development teams to both minimize attack surface in the software they are building and to consider attacks from each entry point on the attack surface to ensure that mitigations are present. It would appear that these examples show that the development teams didn’t adopt such a systematic approach, or failed to think about mitigations of each possible attack if they did.<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>Ballot secrecy is an example where security and privacy concerns intersect. Many people confuse security and privacy, and both are fundamental to trust. Privacy addresses a wide variety of concerns about many types of data (such as Personally Identifiable Data (PII), ballot data, etc.), how it’s handled (gathered, transmitted, stored, and disposed of) and what rights and expectations different stakeholders may have regarding that data. (Tina Knutson gave a great overview on these issues in a previous blog posting “</FONT><A href="http://blogs.msdn.com/sdl/archive/2007/05/10/privacy-is-not-just-about-data-security.aspx" mce_href="http://blogs.msdn.com/sdl/archive/2007/05/10/privacy-is-not-just-about-data-security.aspx"><FONT face=Calibri size=3>Privacy is not just about data security</FONT></A><FONT size=3><FONT face=Calibri>“). Security provides the mechanisms, policies, and practices to enforce privacy requirements. Given the intertwined nature of these issues, both are addressed in the SDL. <o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>The concerns about vote storage (section 6.8, page 58 of report) review some classic challenges in software security and privacy with weak random number generation. Randomization is important here since it controls how votes are stored in memory, and weak randomization enables someone to reverse engineer how individual voters voted by examining the aggregate tally of votes (which can be found on the Mobile Ballot Boxes “MBB”) in conjunction with the audit log. The MBB has mitigations in place to protect integrity (tampering) of votes, but doesn’t appear to protect against information disclosure. The SDL cryptographic policies also cover correct random number generation. The challenge of <B style="mso-bidi-font-weight: normal">fully</B> considering <B style="mso-bidi-font-weight: normal">all</B> ways in which data can be reverse engineered, contextualized (order of log entries providing information that can be linked to individuals’ choices), and correlated with other data sources is a growing challenge. In the SDL privacy policies, we call attention to these issues, but it’s still a challenge.<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>Next, let’s look at the </FONT><A href="http://www.sos.ca.gov/elections/voting_systems/ttbr/diebold-source-public-jul29.pdf" mce_href="http://www.sos.ca.gov/elections/voting_systems/ttbr/diebold-source-public-jul29.pdf"><FONT face=Calibri color=#0000ff size=3>Source Code Review of the Diebold Voting System</FONT></A><FONT size=3><FONT face=Calibri>. Again, I’ll pick two subjects.<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"><FONT face=Calibri><B><I style="mso-bidi-font-style: normal"><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: URWPalladioL-Bold">“Vulnerability to malicious software: </SPAN></I></B><I style="mso-bidi-font-style: normal"><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: URWPalladioL-Roma">The Diebold software contains vulnerabilities that could allow an attacker to install malicious software on voting machines or on the election management system…<o:p></o:p></SPAN></I></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"><I style="mso-bidi-font-style: normal"><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: CMSY10"><o:p><FONT face=Calibri>&nbsp;</FONT></o:p></SPAN></I></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-layout-grid-align: none"><FONT face=Calibri><B><I style="mso-bidi-font-style: normal"><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: URWPalladioL-Bold">Vulnerability to malicious insiders: </SPAN></I></B><I style="mso-bidi-font-style: normal"><SPAN style="FONT-SIZE: 10pt; mso-bidi-font-family: URWPalladioL-Roma">The Diebold system lacks adequate controls to ensure that county workers with access to the GEMS central election management system do not exceed their authority….”<o:p></o:p></SPAN></I></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>Let’s look at the “Malicious Software” first: While there’s a lot of discussion of general concerns with viruses and malicious payloads, I’d like to drill down on a specific case noted in section 4.2.3 (page 29). The typical concerns around string handling in C/C++ and buffer overflows are mentioned. What is interesting is that in many places this system uses the Microsoft Foundation Classes (MFC) CString class to help mitigate such concerns. The problem noted is that this practice is not consistently followed, and in fact there is a case of one specific function making calls to both CString *and* a standard C string library, <I style="mso-bidi-font-style: normal">in the same function</I>. So here it appears the engineering team had the right idea by trying to remove calls to potentially risky C string library functions (just as required in SDL), but they just weren’t able to consistently and completely apply it.<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT face=Calibri size=3>Regarding the executive summary concern about malicious insiders, I’m inclined to attribute it to what’s described in section 4.3 on page 30: “<I style="mso-bidi-font-style: normal">No formal threat model or security plan</I>” and “<I style="mso-bidi-font-style: normal">No formal security training</I>”. Both of these are pivotal elements in the SDL. Several comments are offered to the effect that “<I style="mso-bidi-font-style: normal">security measures that are in place appeared to be ad hoc</I>”, and “<I style="mso-bidi-font-style: normal">When new developers arrive at the company, they do not receive any kind of security training</I>”. We’ve blogged here in the past about the importance of both areas, so I won’t repeat that again. (See Adam’s Threat Modeling series and Dave’s “</FONT><A href="http://blogs.msdn.com/sdl/archive/2007/05/02/security-education-v-security-training.aspx" mce_href="http://blogs.msdn.com/sdl/archive/2007/05/02/security-education-v-security-training.aspx"><FONT face=Calibri size=3>Security Education v. Security Training</FONT></A><FONT size=3><FONT face=Calibri>” posts respectively for more info).<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><B style="mso-bidi-font-weight: normal"><FONT size=3><FONT face=Calibri>Is the SDL enough to ensure trustworthy voting systems?<o:p></o:p></FONT></FONT></B></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>When I offered this blog post for the review of my colleagues, it generated some very interesting discussion. Some of my colleagues were worried that I would misrepresent the SDL as a panacea for creating perfectly trustworthy voting systems. Let me be clear: this is absolutely NOT the case. While the SDL could help mitigate repeating many of the problems identified in these studies, it’s worth noting that election systems have a number of unusual and unique requirements. For example, voters cannot review their voting records as they would their banking records to ensure that no fraud has been committed – since the ability to do so would typically enable vote-selling and coercion.&nbsp; Alternate techniques are therefore required to allow voters to verify that their votes have been properly counted. Such requirements force the adoption of “extraordinary” techniques that go beyond those of secure software engineering.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>Furthermore, the expectations of society on the trustworthiness of voting systems are much greater as compared to other types of software (for example: the latest XBOX game title). I’ll further explore differences in how different people think about “degrees of trustworthiness” (aka “assurance” or “robustness”) in a future posting. <o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><B style="mso-bidi-font-weight: normal"><FONT size=3><FONT face=Calibri>Summary<o:p></o:p></FONT></FONT></B></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>Let me wrap by saying this, building secure software is difficult. Prior to the advent of Trustworthy Computing and the Security Development Lifecycle here at Microsoft, I’d bet that many of the issues noted in these reports would have applied to earlier Microsoft products too. Some might think I’m throwing stones while living in a glass house, but that is not my intent. While Microsoft products are not vulnerability free, we continue to systematically analyze the sources of vulnerabilities in our software. We continue to modify our engineering practices and tools to better identify potential vulnerabilities and mitigate them before software is released. With increasing awareness and concerns over the trustworthiness of computers in general, the entire industry needs to improve. Given the importance of how we choose to organize ourselves as a society and elect representatives to govern us, voting systems are a great place to step up both in the context of the computing industry, and to better serve society.<o:p></o:p></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 10pt"><FONT size=3><FONT face=Calibri>I believe many of the issues found in these voting systems would not have entered the system if the SDL was used to design and build the voting systems.<o:p></o:p></FONT></FONT></P><img src="http://blogs.msdn.com/aggbug.aspx?PostID=7450582" width="1" height="1">]]></content:encoded>
      <pubDate>Mon, 04 Feb 2008 20:34:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/machine security concerns">machine security concerns</category>
      <category domain="http://securityratty.com/tag/security concerns">security concerns</category>
      <category domain="http://securityratty.com/tag/election systems">election systems</category>
      <category domain="http://securityratty.com/tag/election">election</category>
      <category domain="http://securityratty.com/tag/security">security</category>
      <category domain="http://securityratty.com/tag/security researchers">security researchers</category>
      <category domain="http://securityratty.com/tag/election systems margin">election systems margin</category>
      <category domain="http://securityratty.com/tag/margin">margin</category>
      <category domain="http://securityratty.com/tag/election management system">election management system</category>
      <source url="http://blogs.msdn.com/sdl/archive/2008/02/04/more-trustworthy-election-systems-via-sdl.aspx">More trustworthy election systems via SDL?</source>
    </item>
  </channel>
</rss>
