<?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: sequoia]]></title>
    <link>http://securityratty.com/tag/sequoia</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[Report: E-voting firms in hostile-takeover tussle]]></title>
      <link>http://securityratty.com/article/495bf38611c7fd2544e7429feb9b3cfa</link>
      <guid>http://securityratty.com/article/495bf38611c7fd2544e7429feb9b3cfa</guid>
      <description><![CDATA[A takeover of troubled Sequoia Voting Systems by a smaller competitor would create the e-voting industry's second-largest player and shuffle the legal deck for electronic voting. But Sequoia -- or its...]]></description>
      <content:encoded><![CDATA[A takeover of troubled Sequoia Voting Systems by a smaller competitor would create the e-voting industry's second-largest player and shuffle the legal deck for electronic voting. But Sequoia -- or its lawyers, anyway -- won't go quietly.
<p><a href="http://feeds.computerworld.com/~a/Computerworld/Security/News?a=dRZSYL"><img src="http://feeds.computerworld.com/~a/Computerworld/Security/News?i=dRZSYL" border="0"></img></a></p><img src="http://feeds.computerworld.com/~r/Computerworld/Security/News/~4/267922101" height="1" width="1"/>]]></content:encoded>
      <pubDate>Thu, 10 Apr 2008 09:00:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/takeover">takeover</category>
      <category domain="http://securityratty.com/tag/sequoia">sequoia</category>
      <category domain="http://securityratty.com/tag/legal deck">legal deck</category>
      <category domain="http://securityratty.com/tag/lawyers">lawyers</category>
      <category domain="http://securityratty.com/tag/quietly">quietly</category>
      <category domain="http://securityratty.com/tag/player">player</category>
      <category domain="http://securityratty.com/tag/industry">industry</category>
      <category domain="http://securityratty.com/tag/competitor">competitor</category>
      <category domain="http://securityratty.com/tag/systems">systems</category>
      <source url="http://feeds.computerworld.com/~r/Computerworld/Security/News/~3/267922101/article.do">Report: E-voting firms in hostile-takeover tussle</source>
    </item>
    <item>
      <title><![CDATA[Opinion: Sequoia & e-voting... the best government money can buy]]></title>
      <link>http://securityratty.com/article/3c98780407b815e39293fdcfd24ca953</link>
      <guid>http://securityratty.com/article/3c98780407b815e39293fdcfd24ca953</guid>
      <description><![CDATA[Robert X. Cringely beholds the mess in Jersey and asks if our votes count when corporate and public interests...]]></description>
      <content:encoded><![CDATA[Robert X. Cringely beholds the mess in Jersey and asks if our votes count when corporate and public interests collide.
<p><a href="http://feeds.computerworld.com/~a/Computerworld/Security/News?a=DIfR8d"><img src="http://feeds.computerworld.com/~a/Computerworld/Security/News?i=DIfR8d" border="0"></img></a></p><img src="http://feeds.computerworld.com/~r/Computerworld/Security/News/~4/257597578" height="1" width="1"/>]]></content:encoded>
      <pubDate>Tue, 25 Mar 2008 09:34:03 +0000</pubDate>
      <category domain="http://securityratty.com/tag/cringely beholds">cringely beholds</category>
      <category domain="http://securityratty.com/tag/votes count">votes count</category>
      <category domain="http://securityratty.com/tag/jersey">jersey</category>
      <category domain="http://securityratty.com/tag/public">public</category>
      <category domain="http://securityratty.com/tag/robert">robert</category>
      <category domain="http://securityratty.com/tag/mess">mess</category>
      <category domain="http://securityratty.com/tag/collide">collide</category>
      <source url="http://feeds.computerworld.com/~r/Computerworld/Security/News/~3/257597578/article.do">Opinion: Sequoia &amp; e-voting... the best government money can buy</source>
    </item>
    <item>
      <title><![CDATA[N.J. County Clerks Call for Probe of Primary E-Voting]]></title>
      <link>http://securityratty.com/article/8ac5d99b38ee4e770fdeb939006c98d2</link>
      <guid>http://securityratty.com/article/8ac5d99b38ee4e770fdeb939006c98d2</guid>
      <description><![CDATA[In the wake of discrepancies in e-voting results on Sequoia machines during New Jersey's Feb. 5 primary election, an association of county clerks is asking the state's attorney general to launch an...]]></description>
      <content:encoded><![CDATA[In the wake of discrepancies in e-voting results on Sequoia machines during New Jersey's Feb. 5 primary election, an association of county clerks is asking the state's attorney general to launch an investigation.
<p><a href="http://feeds.computerworld.com/~a/Computerworld/Security/News?a=oJB7Zf"><img src="http://feeds.computerworld.com/~a/Computerworld/Security/News?i=oJB7Zf" border="0"></img></a></p><img src="http://feeds.computerworld.com/~r/Computerworld/Security/News/~4/256826604" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 24 Mar 2008 02:30:42 +0000</pubDate>
      <category domain="http://securityratty.com/tag/county clerks">county clerks</category>
      <category domain="http://securityratty.com/tag/primary election">primary election</category>
      <category domain="http://securityratty.com/tag/sequoia machines">sequoia machines</category>
      <category domain="http://securityratty.com/tag/feb">feb</category>
      <category domain="http://securityratty.com/tag/discrepancies">discrepancies</category>
      <category domain="http://securityratty.com/tag/attorney">attorney</category>
      <category domain="http://securityratty.com/tag/launch">launch</category>
      <category domain="http://securityratty.com/tag/jersey">jersey</category>
      <category domain="http://securityratty.com/tag/association">association</category>
      <source url="http://feeds.computerworld.com/~r/Computerworld/Security/News/~3/256826604/article.do">N.J. County Clerks Call for Probe of Primary E-Voting</source>
    </item>
    <item>
      <title><![CDATA[E-voting vendor blocks security audit with legal threats]]></title>
      <link>http://securityratty.com/article/b2ea98417a6eb96482c1213040003f76</link>
      <guid>http://securityratty.com/article/b2ea98417a6eb96482c1213040003f76</guid>
      <description><![CDATA[New Jersey election officials have scrapped plans to hire a Princeton University computer science professor for a voting machine security review after receiving legal threats from the the vendor,...]]></description>
      <content:encoded><![CDATA[New Jersey election officials have scrapped plans to hire a Princeton University computer science professor for a voting machine security review after receiving legal threats from the the vendor, Sequoia Voting Systems. Sequoia says that unauthorized independent review would violate the county's license agreement and jeopardize Sequoia's intellectu]]></content:encoded>
      <pubDate>Sat, 22 Mar 2008 00:00:06 +0000</pubDate>
      <category domain="http://securityratty.com/tag/legal threats">legal threats</category>
      <category domain="http://securityratty.com/tag/machine security review">machine security review</category>
      <category domain="http://securityratty.com/tag/jersey election officials">jersey election officials</category>
      <category domain="http://securityratty.com/tag/sequoia">sequoia</category>
      <category domain="http://securityratty.com/tag/license agreement">license agreement</category>
      <category domain="http://securityratty.com/tag/independent review">independent review</category>
      <category domain="http://securityratty.com/tag/vendor">vendor</category>
      <category domain="http://securityratty.com/tag/plans">plans</category>
      <category domain="http://securityratty.com/tag/hire">hire</category>
      <source url="http://digg.com/security/E_voting_vendor_blocks_security_audit_with_legal_threats">E-voting vendor blocks security audit with legal threats</source>
    </item>
    <item>
      <title><![CDATA[After threats, NJ clerks call for e-voting investigation]]></title>
      <link>http://securityratty.com/article/8a710cf9c5e095e4123e2ffee94c9444</link>
      <guid>http://securityratty.com/article/8a710cf9c5e095e4123e2ffee94c9444</guid>
      <description><![CDATA[In the wake of discrepancies in e-voting results on Sequoia machines during New jersey's primary elections, and after the company blamed pollworkers for the problem and threatened to sue independent...]]></description>
      <content:encoded><![CDATA[In the wake of discrepancies in e-voting results on Sequoia machines during New jersey's primary elections, and after the company blamed pollworkers for the problem and threatened to sue independent investigators, a group of county clerks are asking the state's AG to step in.
<p><a href="http://feeds.computerworld.com/~a/Computerworld/Security/News?a=9E5hM3"><img src="http://feeds.computerworld.com/~a/Computerworld/Security/News?i=9E5hM3" border="0"></img></a></p><img src="http://feeds.computerworld.com/~r/Computerworld/Security/News/~4/254839739" height="1" width="1"/>]]></content:encoded>
      <pubDate>Thu, 20 Mar 2008 08:30:46 +0000</pubDate>
      <category domain="http://securityratty.com/tag/sue independent investigators">sue independent investigators</category>
      <category domain="http://securityratty.com/tag/county clerks">county clerks</category>
      <category domain="http://securityratty.com/tag/primary elections">primary elections</category>
      <category domain="http://securityratty.com/tag/sequoia machines">sequoia machines</category>
      <category domain="http://securityratty.com/tag/discrepancies">discrepancies</category>
      <category domain="http://securityratty.com/tag/step">step</category>
      <category domain="http://securityratty.com/tag/jersey">jersey</category>
      <category domain="http://securityratty.com/tag/pollworkers">pollworkers</category>
      <category domain="http://securityratty.com/tag/company">company</category>
      <source url="http://feeds.computerworld.com/~r/Computerworld/Security/News/~3/254839739/article.do">After threats, NJ clerks call for e-voting investigation</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>
