<?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: specification]]></title>
    <link>http://securityratty.com/tag/specification</link>
    <description></description>
    <pubDate>Mon, 07 Apr 2008 09:00:00 +0000</pubDate>
    <generator>iRatty Engine</generator>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <item>
      <title><![CDATA[The case for Java modularity]]></title>
      <link>http://securityratty.com/article/da1e0e743886572b9745e0aa127ce781</link>
      <guid>http://securityratty.com/article/da1e0e743886572b9745e0aa127ce781</guid>
      <description><![CDATA[It never rains but it pours! Get some background on the long and winding road to Java modularity, then compare the two specification requests vying for inclusion in Java 7: JSR 291: Dynamic Component...]]></description>
      <content:encoded><![CDATA[It never rains but it pours! Get some background on the long and winding road to Java modularity, then compare the two specification requests vying for inclusion in Java 7:  JSR 291: Dynamic Component Support for Java SE and JSR 277: (Sun's) Java Module System.]]></content:encoded>
      <pubDate>Mon, 25 Aug 2008 20:00:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/java">java</category>
      <category domain="http://securityratty.com/tag/java modularity">java modularity</category>
      <category domain="http://securityratty.com/tag/java module system">java module system</category>
      <category domain="http://securityratty.com/tag/dynamic component support">dynamic component support</category>
      <category domain="http://securityratty.com/tag/jsr">jsr</category>
      <category domain="http://securityratty.com/tag/specification requests">specification requests</category>
      <category domain="http://securityratty.com/tag/compare">compare</category>
      <category domain="http://securityratty.com/tag/pours">pours</category>
      <category domain="http://securityratty.com/tag/background">background</category>
      <source url="http://www.networkworld.com/news/2008/jw-08-java-modularity.html?fsrc=rss-security">The case for Java modularity</source>
    </item>
    <item>
      <title><![CDATA[A Security Assessment of the Internet Protocol]]></title>
      <link>http://securityratty.com/article/ebac4e1107d0d958cc5b67c257c5ea71</link>
      <guid>http://securityratty.com/article/ebac4e1107d0d958cc5b67c257c5ea71</guid>
      <description><![CDATA[Interesting : Preface
The TCP/IP protocols were conceived during a time that was quite different from the hostile environment they operate in now. Yet a direct result of their effectiveness and...]]></description>
      <content:encoded><![CDATA[<p><a href="http://www.cpni.gov.uk/Docs/InternetProtocol.pdf">Interesting</a>:</p>

<blockquote><strong>Preface</strong>

<p>The TCP/IP protocols were conceived during a time that was quite different from the hostile environment they operate in now. Yet a direct result of their effectiveness and widespread early adoption is that much of today's global economy remains dependent upon them.</p>

<p>While many textbooks and articles have created the myth that the Internet Protocols (IP) were designed for warfare environments, the top level goal for the DARPA Internet Program was the sharing of large service machines on the ARPANET. As a result, many protocol specifications focus only on the operational aspects of the protocols they specify and overlook their security implications.</p>

<p>Though Internet technology has evolved, the building blocks are basically the same core protocols adopted by the ARPANET more than two decades ago. During the last twenty years many vulnerabilities have been identified in the TCP/IP stacks of a number of systems. Some were flaws in protocol implementations which affect only a reduced number of systems. Others were flaws in the protocols themselves affecting virtually every existing implementation. Even in the last couple of years researchers were still working on security problems in the core  protocols.</p>

<p>The discovery of vulnerabilities in the TCP/IP protocols led to reports being published by a number of CSIRTs (Computer Security Incident Response Teams) and vendors, which helped to raise awareness about the threats as well as the best mitigations known at the time the reports were published.</p>

<p>Much of the effort of the security community on the Internet protocols did not result in official documents (RFCs) being issued by the IETF (Internet Engineering Task Force) leading to a situation in which "known" security problems have not always been addressed by all vendors. In many cases vendors have implemented quick "fixes" to protocol flaws without a careful analysis of their effectiveness and their impact on interoperability.</p>

<p>As a result, any system built in the future according to the official TCP/IP specifications might reincarnate security flaws that have already hit our communication systems in the past.</p>

<p>Producing a secure TCP/IP implementation nowadays is a very difficult task partly because of no single document that can serve as a security roadmap for the protocols.</p>

<p>There is clearly a need for a companion document to the IETF specifications that discusses the security aspects and implications of the protocols, identifies the possible threats, proposes possible counter-measures, and analyses their respective effectiveness.</p>

<p>This document is the result of an assessment of the IETF specifications of the Internet Protocol from a security point of view. Possible threats were identified and, where possible, counter-measures were proposed.  Additionally, many implementation flaws that have led to security vulnerabilities have been referenced in the hope that future implementations will not incur the same problems. This document does not limit itself to performing a security assessment of the relevant IETF specification but also offers an assessment of common implementation strategies.</p>

<p>Whilst not aiming to be the final word on the security of the IP, this document aims to raise awareness about the many security threats based on the IP protocol that have been faced in the past, those that we are currently facing, and those we may still have to deal with in the future. It provides advice for the secure implementation of the IP, and also insights about the security aspects of the IP that may be of help to the Internet operations community.</p>

<p>Feedback from the community is more than encouraged to help this document be as accurate as possible and to keep it updated as new threats are discovered.</blockquote></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/schneier/fulltext?a=klyypK"><img src="http://feeds.feedburner.com/~f/schneier/fulltext?i=klyypK" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/schneier/fulltext?a=xR8bMK"><img src="http://feeds.feedburner.com/~f/schneier/fulltext?i=xR8bMK" border="0"></img></a>
</div>]]></content:encoded>
      <pubDate>Wed, 20 Aug 2008 03:48:56 +0000</pubDate>
      <category domain="http://securityratty.com/tag/internet">internet</category>
      <category domain="http://securityratty.com/tag/assessment">assessment</category>
      <category domain="http://securityratty.com/tag/security assessment">security assessment</category>
      <category domain="http://securityratty.com/tag/security">security</category>
      <category domain="http://securityratty.com/tag/security flaws">security flaws</category>
      <category domain="http://securityratty.com/tag/flaws">flaws</category>
      <category domain="http://securityratty.com/tag/internet technology">internet technology</category>
      <category domain="http://securityratty.com/tag/internet operations community">internet operations community</category>
      <category domain="http://securityratty.com/tag/protocols">protocols</category>
      <source url="http://www.schneier.com/blog/archives/2008/08/a_security_asse.html">A Security Assessment of the Internet Protocol</source>
    </item>
    <item>
      <title><![CDATA[A Blast from the Past: CEP at Stanford,1998-2003]]></title>
      <link>http://securityratty.com/article/ecd27eebd62b2df7d9e99b1fcf7ac96f</link>
      <guid>http://securityratty.com/article/ecd27eebd62b2df7d9e99b1fcf7ac96f</guid>
      <description><![CDATA[Courtesy of Complex Event Processing at Stanford
Complex event processing (CEP) is a new technology. It can be applied to extracting and analyzing information from any kind of distributed...]]></description>
      <content:encoded><![CDATA[<p>Courtesy of <a href="http://pavg.stanford.edu/cep/" target="_blank">Complex Event Processing at Stanford</a></p>
<p>Complex event processing (CEP) is a new technology. It can be applied to extracting and analyzing information from any kind of distributed message-based system. It is developed from the Rapide concepts of (1) causal event modeling, (2) event patterns and pattern matching, and (3) event pattern maps and constraints. Complex event processing can be applied to a wide variety of Enterprise monitoring and management problems, from low level network management to high level enterprise intelligence gathering.</p>
<h2>Applications of Complex Event Processing:</h2>
<ul>
<li><strong><a href="http://pavg.stanford.edu/cep/enterprise-viewing.html">Instant Insight</a></strong>  - hierarchical event viewing applied to the Enterprise IT layer. (coming soon)
<ul>
<li><a href="http://pavg.stanford.edu/cep/instantinsightpaper.pdf">Analysing business processes</a> (paper in pdf format)</li>
</ul>
</li>
<li><a href="http://pavg.stanford.edu/cep/netviewer-presentation.ppt">Network Level Monitoring and Management (Powerpoint presentation)</a></li>
<li><a href="http://pavg.stanford.edu/ID/">Cyber Security: Network Intrusion Detection</a></li>
<li>Enterprise Monitoring and Management (coming soon)</li>
<li><a href="http://pavg.stanford.edu/cep/final-version-131102.pdf">Modeling and Simulation of Collaborative Business Processes </a></li>
<li>Business Policy Monitoring. (coming soon)</li>
<li>Analysis and Debugging of Distributed Systems (coming soon)</li>
</ul>
<h2>Presentations:</h2>
<ul>
<li><a href="http://pavg.stanford.edu/cep/ee380abstract.html">&#8220;Complex Event Processing: An Essential Technology for Instant Insight into the Operation of Enterprise Information Systems,&#8221; </a>lecture at the Stanford University Computer Systems Laborary EE380 Colloquium series. <a href="http://stanford-online.stanford.edu/courses/ee380/030115-ee380-100.asx">Video of the lecture (duration: 60 minutes). </a></li>
</ul>
<h2>Publications:</h2>
<ul>
<li><em><a href="http://pavg.stanford.edu/cep/fabline.ps">Complex Event Processing in Distributed Systems.</a></em> David C. Luckham and Brian Frasca, Stanford University Technical Report CSL-TR-98-754, March 1998, 28 pages.<em>Abstract:</em> Complex event processing is a new technology for extracting information from distributed message-based systems. This technology allows users of a system to specify the information that is of interest to them. It can be low level network processing data or high level enterprise management intelligence, depending upon the role and viewpoint of individual users. And it can be changed from moment to moment while the target system is in operation. This paper presents an overview of Complex Event Processing applied to a particular example of a distributed message-based system, a fabrication process management system. The concepts of causal event histories, event patterns, event filtering, and event aggregation are introduced and their application to the process management system is illustrated by simple examples. This paper gives the reader an overview of Complex Event Processing concepts and illustrates how they can be applied using the Rapide toolset to one specific kind of system.<br />
 </li>
<li><em><a href="http://pavg.stanford.edu/cep/99pakdd.ps">Event Mining with Event Processing Networks.</a></em> Louis Perrochon and Walter Mann and Stephane Kasriel and David C. Luckham, The Third Pacific-Asia Conference on Knowledge Discovery and Data Mining. April 26-28, 1999. Beijing, China, 5 pages.<em>Abstract:</em> Event Mining discovers and delivers information and knowledge in a real-time stream of data, or events. We show that the process of delivering knowledge by searching patterns in data and subsequent abstraction of found patterns can be applied in real-time to a complex, asynchronous system. Our event processing engine consists of a network of event processing agents (EPAs) running in parallel that interact using a dedicated event processing infrastructure. The agents can be configured at run-time using a formal pattern language. The underlying infrastructure (1) provides an abstract communication mechanism and thus allows dynamic reconfiguration of the communication topology between agents at run-time and (2) provides transparent, location-independent access to all data. These features allow dynamic allocation of EPAs to different threads and processes on different machines at run time.<br />
 </li>
<li><em><a href="http://pavg.stanford.edu/people/santoro/distrib/ejava.ps">eJava - Extending Java with Causality</a></em>. Alexandre Santoro and Walter Mann and Neel Madhav and David Luckham, Proceedings of the 10th International Conference on Software Engineering and Knowledge Engineering, June 1998, 10 pages.<em>Abstract:</em> Programming languages like Java provide designers with a variety of classes that simplify the process of program development. Some of these classes allow one to easily build multithreaded programs. Though useful, especially in the creation of reactive systems, multithreaded programs present challenging problems such as race conditions and synchronization issues. Validating these programs against a specification is not trivial since Java does not clearly indicate thread interaction. These problems can be solved by modifying Java so that it produces computations, collections of events with both causal and temporal ordering relations defined for them. Specifically, the causal ordering is ideal for identifying thread interaction. This paper presents eJava, an extension to Java that is both event based and causally aware, and shows how it simplifies the process of understanding and debugging multithreaded programs.<br />
 </li>
<li><a href="http://pavg.stanford.edu/cep/99wicsa1.ps.gz">Event-Based Execution Architectures for Dynamic Software Systems</a>. James Vera, Louis Perrochon, David C. Luckham.<br />
Proceedings of the First Working IFIP Conf. on Software Architecture. 1999. San Antonio, Texas.<em>Abstract:</em> Distributed systems&#8217; runtime behavior can be difficult to understand. Concurrent, distributed activity make notions of global state difficult to grasp. We focus on the runtime structure of a system, its execution architecture, and propose representing its evolution as a partially ordered set of predefined architectural event types. This representation allows a system&#8217;s topology to be visualized, analyzed and con-strained. The use of a predefined event types allows the execution architectures of different systems to be readily compared.<br />
 </li>
<li><em><a href="http://pavg.stanford.edu/cep/cidf.ps.gz">Using Context-Based Correlation in Network Operations and Management</a></em>. Louis Perrochon (work in progress, mail author for newest version)<em>Abstract:</em> Network operation consists to a large degree of reaction to activities happening in the network. Better knowledge of the network at any time allows more appropriate reactions. On the example of intrusion detection, we show how context-based correlation of such activities can provide a more detailed view of the network in shorter time. We first present how we model context and then describe the architecture of the Stanford University CEP context-based correlator. Correlation is specified as event patterns in a declarative language that allows us to specify what needs to be detected, instead of specifying how it should be detected. CEP introduces the concept of causal context to intrusion detection. The correlator is able to process events on-line, as they are generated and it can be reconfigured at dynamically. We then show how it increases detection rate, reduce false alarms, and detect large-scale attack patterns at an early stage.</li>
</ul>
]]></content:encoded>
      <pubDate>Mon, 07 Jul 2008 15:20:21 +0000</pubDate>
      <category domain="http://securityratty.com/tag/architectural event types">architectural event types</category>
      <category domain="http://securityratty.com/tag/event">event</category>
      <category domain="http://securityratty.com/tag/event pattern maps">event pattern maps</category>
      <category domain="http://securityratty.com/tag/event types">event types</category>
      <category domain="http://securityratty.com/tag/event aggregation">event aggregation</category>
      <category domain="http://securityratty.com/tag/event patterns">event patterns</category>
      <category domain="http://securityratty.com/tag/complex event">complex event</category>
      <category domain="http://securityratty.com/tag/event based">event based</category>
      <category domain="http://securityratty.com/tag/hierarchical event">hierarchical event</category>
      <source url="http://www.thecepblog.com/2008/07/07/a-blast-from-the-past-cep-at-stanford1998-2003/">A Blast from the Past: CEP at Stanford,1998-2003</source>
    </item>
    <item>
      <title><![CDATA[Mashup of the Titans]]></title>
      <link>http://securityratty.com/article/6289294023616c0d4219941919c976a5</link>
      <guid>http://securityratty.com/article/6289294023616c0d4219941919c976a5</guid>
      <description><![CDATA[Information Security - an Oxymoron for the information age

Always the beautiful answer who asks a more beautiful question. e. e. cummings
or why i am with Gelernter

This is a mashup of Saltzer &amp;...]]></description>
      <content:encoded><![CDATA[<div>Information Security - an Oxymoron for the information age</div><br /><div>“Always the beautiful answer who asks a more beautiful question.” e. e. cummings</div><div>...or why i am with Gelernter</div><br /><div>This is a mashup of Saltzer &amp; Schroeder&#39;s famous <a href="http://www.cs.virginia.edu/~evans/cs551/saltzer/">information security principles</a> with David Gelernter&#39;s <a href="http://www.edge.org/documents/archive/edge70.html">Manifesto</a>.</div><br /><div>The premise of this mashup is to examine the paper by Saltzer and Schroeder which was written in 1975 and serves as the basis for most information security programs against the Gelernter&#39;s manifesto as to where computing is actually going. Each of the eight principles in Saltzer and Schroeder&#39;s paper is listed in order, and followed by select excerpts of Gelernter&#39;s manifesto. This comparison is to examine theoretical information security principles vis a vis the actual utility of modern information systems. I will not make an attempt to reconcile theory and practice, but will point out where the two schools of thought agree. In fairness, Saltzer and Schroeder&#39;s paper was written 25 years before Gelernter&#39;s, however Saltzer and Schroeder&#39;s principles dominate the thinking about information security to this day and so its important to view them side by side with Gelernter&#39;s thinking on the direction of computing.</div><br /><div style="color: #bf5f00; ">Saltzer and Schroeder:</div><div>&quot;a) Economy of mechanism: Keep the design as simple and small as possible. This well-known principle applies to any aspect of a system, but it deserves emphasis for protection mechanisms for this reason: design and implementation errors that result in unwanted access paths will not be noticed during normal use (since normal use usually does not include attempts to exercise improper access paths). As a result, techniques such as line-by-line inspection of software and physical examination of hardware that implements protection mechanisms are necessary. For such techniques to be successful, a small and simple design is essential.&quot;</div><br /><div style="color: #0060bf; ">Gelernter:</div><div>&quot;9. The computing future is based on &quot;cyberbodies&quot; — self-contained, neatly-ordered, beautifully-laid-out collections of information, like immaculate giant gardens.&quot;</div><br /><div><span style="color: #00bf00; ">Conclusion(gp):</span>&#0160;So far, so good</div><br /><div>**</div><br /><div><span style="color: #bf5f00; ">Saltzer and Schroeder:</span><br /></div><div>&quot;b) Fail-safe defaults: Base access decisions on permission rather than exclusion. This principle, suggested by E. Glaser in 1965,8 means that the default situation is lack of access, and the protection scheme identifies conditions under which access is permitted. The alternative, in which mechanisms attempt to identify conditions under which access should be refused, presents the wrong psychological base for secure system design. A conservative design must be based on arguments why objects should be accessible, rather than why they should not. In a large system some objects will be inadequately considered, so a default of lack of permission is safer. A design or implementation mistake in a mechanism that gives explicit permission tends to fail by refusing permission, a safe situation, since it will be quickly detected. On the other hand, a design or implementation mistake in a mechanism that explicitly excludes access tends to fail by allowing access, a failure which may go unnoticed in normal use. This principle applies both to the outward appearance of the protection mechanism and to its underlying implementation.&quot;</div><br /><div><span style="color: #00bf00; ">Conclusion(gp):</span>&#0160;A conservative design principle that puts the object&#39;s owner in control of permissions. This makes a lot of sense from the object point of view, but does little to address the use case in which it executes.</div><br /><div>**</div><br /><div><span style="color: #bf5f00; ">Saltzer and Schroeder:</span><br /></div><div>&quot;c) Complete mediation: Every access to every object must be checked for authority. This principle, when systematically applied, is the primary underpinning of the protection system. It forces a system-wide view of access control, which in addition to normal operation includes initialization, recovery, shutdown, and maintenance. It implies that a foolproof method of identifying the source of every request must be devised. It also requires that proposals to gain performance by remembering the result of an authority check be examined skeptically. If a change in authority occurs, such remembered results must be systematically updated.&quot;</div><br /><div><span style="color: #0060bf; ">Gelernter:</span><br /></div><div>&quot;8. The software systems we depend on most today are operating systems (Unix, the Macintosh OS, Windows et. al.) and browsers (Internet Explorer, Netscape Communicator...). Operating systems are connectors that fasten users to computers; they attach to the computer at one end, the user at the other. Browsers fasten users to remote computers, to &quot;servers&quot; on the internet.</div><br /><div>Today&#39;s operating systems and browsers are obsolete because people no longer want to be connected to computers — near ones OR remote ones. (They probably never did). They want to be connected to information. In the future, people are connected to cyberbodies; cyberbodies drift in the computational cosmos — also known as the Swarm, the Cybersphere.</div><br /><div>13. Any well-designed next-generation electronic gadget will come with a ``Disable Omniscience&#39;&#39; button.</div><br /><div>17. A cyberbody can be replicated or distributed over many computers; can inhabit many computers at the same time. If the Cybersphere&#39;s computers are tiles in a paved courtyard, a cyberbody is a cloud&#39;s drifting shadow covering many tiles simultaneously.</div><br /><div>20. If a million people use a Web site simultaneously, doesn&#39;t that mean that we must have a heavy-duty remote server to keep them all happy? No; we could move the site onto a million desktops and use the internet for coordination. The &quot;site&quot; is like a military unit in the field, the general moving with his troops (or like a hockey team in constant swarming motion). (We used essentially this technique to build the first tuple space implementations. They seemed to depend on a shared server, but the server was an illusion; there was no server, just a swarm of clients.) Could Amazon.com be an itinerant horde instead of a fixed Central Command Post? Yes.&quot;</div><br /><div><span style="color: #00bf00; ">Conclusion(gp):</span>&#0160;Complete mediation provides the underpinning for Saltzer and Schroeder&#39;s system, but does not appear to scale to the desired itinerant horde at least in common interpretation.</div><br /><div>**</div><br /><div><span style="color: #bf5f00; ">Saltzer and Schroeder:</span><br /></div><div>&quot;d) Open design: The design should not be secret. The mechanisms should not depend on the ignorance of potential attackers, but rather on the possession of specific, more easily protected, keys or passwords. This decoupling of protection mechanisms from protection keys permits the mechanisms to be examined by many reviewers without concern that the review may itself compromise the safeguards. In addition, any skeptical user may be allowed to convince himself that the system he is about to use is adequate for his purpose. Finally, it is simply not realistic to attempt to maintain secrecy for any system which receives wide distribution.&quot;</div><br /><div><span style="color: #00bf00; ">Conclusion(gp):</span>&#0160;both seem to agree, hard to get the itinerant horde moving in a swarm without open standards.</div><br /><div>**</div><br /><div><span style="color: #bf5f00; ">Saltzer and Schroeder:</span><br /></div><div>&quot;e) Separation of privilege: Where feasible, a protection mechanism that requires two keys to unlock it is more robust and flexible than one that allows access to the presenter of only a single key. The relevance of this observation to computer systems was pointed out by R. Needham in 1973. The reason is that, once the mechanism is locked, the two keys can be physically separated and distinct programs, organizations, or individuals made responsible for them. From then on, no single accident, deception, or breach of trust is sufficient to compromise the protected information. This principle is often used in bank safe-deposit boxes. It is also at work in the defense system that fires a nuclear weapon only if two different people both give the correct command. In a computer system, separated keys apply to any situation in which two or more conditions must be met before access should be permitted. For example, systems providing user-extendible protected data types usually depend on separation of privilege for their implementation.&quot;</div><br /><div><span style="color: #0060bf; ">Gelernter:</span><br /></div><div>&quot;37. Elements stored in a mind do not have names and are not organized into folders; are retrieved not by name or folder but by contents. (Hear a voice, think of a face: you&#39;ve retrieved a memory that contains the voice as one component.) You can see everything in your memory from the standpoint of past, present and future. Using a file cabinet, you classify information when you put it in; minds classify information when it is taken out. (Yesterday afternoon at four you stood with Natasha on Fifth Avenue in the rain — as you might recall when you are thinking about &quot;Fifth Avenue,&quot; &quot;rain,&quot; &quot;Natasha&quot; or many other things. But you attached no such labels to the memory when you acquired it. The classification happened retrospectively.)&quot;</div><br /><div><span style="color: #00bf00; ">Conclusion(gp):</span>&#0160;Information Security models tend to look at things statically through information classification lenses, but its how information is used that makes it valuable. In practice this is how information security theory breaks down in the face of reality - what does an access control matrix look like for a mashup? What does it look like for a data mining app?</div><br /><div>**</div><br /><div><span style="color: #bf5f00; ">Saltzer and Schroeder:</span><br /></div><div>&quot;f) Least privilege: Every program and every user of the system should operate using the least set of privileges necessary to complete the job. Primarily, this principle limits the damage that can result from an accident or error. It also reduces the number of potential interactions among privileged programs to the minimum for correct operation, so that unintentional, unwanted, or improper uses of privilege are less likely to occur. Thus, if a question arises related to misuse of a privilege, the number of programs that must be audited is minimized. Put another way, if a mechanism can provide &quot;firewalls,&quot; the principle of least privilege provides a rationale for where to install the firewalls. The military security rule of &quot;need-to-know&quot; is an example of this principle.&quot;</div><br /><div><span style="color: #0060bf; ">Gelernter:</span><br /></div><div>&quot;28. Metaphors have a profound effect on computing: the file-cabinet metaphor traps us in a &quot;passive&quot; instead of &quot;active&quot; view of information management that is fundamentally wrong for computers.</div><br /><div>29. The rigid file and directory system you are stuck with on your Mac or PC was designed by programmers for programmers — and is still a good system for programmers. It is no good for non-programmers. It never was, and was never intended to be.</div><br /><div>30. If you have three pet dogs, give them names. If you have 10,000 head of cattle, don&#39;t bother. Nowadays the idea of giving a name to every file on your computer is ridiculous.&quot;</div><br /><div><span style="color: #00bf00; ">Conclusion(gp):</span>&#0160;Least Privilege is the point where the practical matter of applying Saltzer and Schroeder&#39;s principles breaks down in modern systems. Its a deployment issue, and a matter of insufficient models and modes.</div><br /><div>**</div><br /><div><span style="color: #bf5f00; ">Saltzer and Schroeder:</span><br /></div><div>&quot;g) Least common mechanism: Minimize the amount of mechanism common to more than one user and depended on by all users [28]. Every shared mechanism (especially one involving shared variables) represents a potential information path between users and must be designed with great care to be sure it does not unintentionally compromise security. Further, any mechanism serving all users must be certified to the satisfaction of every user, a job presumably harder than satisfying only one or a few users. For example, given the choice of implementing a new function as a supervisor procedure shared by all users or as a library procedure that can be handled as though it were the user&#39;s own, choose the latter course. Then, if one or a few users are not satisfied with the level of certification of the function, they can provide a substitute or not use it at all. Either way, they can avoid being harmed by a mistake in it.&quot;</div><br /><div><span style="color: #0060bf; ">Gelernter:</span><br /></div><div>&quot;6. Miniaturization was the big theme in the first age of computers: rising power, falling prices, computers for everybody. Theme of the Second Age now approaching: computing transcends computers. Information travels through a sea of anonymous, interchangeable computers like a breeze through tall grass. A dekstop computer is a scooped-out hole in the beach where information from the Cybersphere wells up like seawater.</div><br /><div>16. The future is dense with computers. They will hang around everywhere in lush growths like Spanish moss. They will swarm like locusts. But a swarm is not merely a big crowd. The individuals in the swarm lose their identities. The computers that make up this global swarm will blend together into the seamless substance of the Cybersphere. Within the swarm, individual computers will be as anonymous as molecules of air.</div><br /><div>55. Software can solve hard problems in two ways: by algorithm or by making connections — by delivering the problem to exactly the right human problem-solver. The second technique is just as powerful as the first, but so far we have ignored it.</div><br /><div>56. Lifestreams and microcosms are the two most important cyberbody types; they relate to each other as a single musical line relates to a single chord. The stream is a &quot;moment in space,&quot; the microcosm a moment in time.&quot;</div><br /><div>**</div><br /><div><span style="color: #bf5f00; ">Saltzer and Schroeder:</span><br /></div><div>&quot;h) Psychological acceptability: It is essential that the human interface be designed for ease of use, so that users routinely and automatically apply the protection mechanisms correctly. Also, to the extent that the user&#39;s mental image of his protection goals matches the mechanisms he must use, mistakes will be minimized. If he must translate his image of his protection needs into a radically different specification language, he will make errors.&quot;</div><br /><div><span style="color: #0060bf; ">Gelernter:</span><br /></div><div>&quot;7. &quot;The network is the computer&quot; — yes; but we&#39;re less interested in computers all the time. The real topic in astronomy is the cosmos, not telescopes. The real topic in computing is the Cybersphere and the cyberstructures in it, not the computers we use as telescopes and tuners.</div><br /><div>27. Modern computing is based on an analogy between computers and file cabinets that is fundamentally wrong and affects nearly every move we make. (We store &quot;files&quot; on disks, write &quot;records,&quot; organize files into &quot;folders&quot; — file-cabinet language.) Computers are fundamentally unlike file cabinets because they can take action.</div><br /><div>31. Our standard policy on file names has far-reaching consequences: doesn&#39;t merely force us to make up names where no name is called for; also imposes strong limits on our handling of an important class of documents — ones that arrive from the outside world. A newly-arrived email message (for example) can&#39;t stand on its own as a separate document — can&#39;t show up alongside other files in searches, sit by itself on the desktop, be opened or printed independently; it has no name, so it must be buried on arrival inside some existing file (the mail file) that does have a name. The same holds for incoming photos and faxes, Web bookmarks, scanned images...</div><br /><div>32. You shouldn&#39;t have to put files in directories. The directories should reach out and take them. If a file belongs in six directories, all six should reach out and grab it automatically, simultaneously.</div><br /><div>33. A file should be allowed to have no name, one name or many names. Many files should be allowed to share one name. A file should be allowed to be in no directory, one directory, or many directories. Many files should be allowed to share one directory. Of these eight possibilities, only three are legal and the other five are banned — for no good reason.</div><br /><div>53. Your car, your school, your company and yourself are all one-track vehicles moving forward through time, and they will each leave a stream-shaped cyberbody (like an aircraft&#39;s contrail) behind them as they go. These vapor-trails of crystallized experience will represent our first concrete answer to a hard question: what is a company, a university, any sort of ongoing organization or institution, if its staff and customers and owners can all change, its buildings be bulldozed, its site relocated — what&#39;s left? What is it? The answer: a lifestream in cyberspace.&quot;</div><br /><br /><div>**</div><div style="color: #00bf00; ">Conclusion(gp):</div><br /><div>The Saltzer and Schroeder principles of Open Design and Economy of Mechanism hold up well in the face of modern computing realities, and to a certain extent Fail Safe Defaults does as well; however if we information security people are to be effective we need to re-think the other principles.</div><br /><div>**</div><br /><div>Last word:&#0160;<span style="color: #0060bf; ">Gelernter:</span></div><div>We&#39;ll know the system is working when a butterfly wanders into the in-box and (a few wingbeats later) flutters out — and in that brief interval the system has transcribed the creature&#39;s appearance and analyzed its way of moving, and the real butterfly leaves a shadow-butterfly behind. Some time soon afterward you&#39;ll be examining some tedious electronic document and a cyber-butterfly will appear at the bottom left corner of your screen (maybe a Hamearis lucina) and pause there, briefly hiding the text (and showing its neatly-folded rusty-chocolate wings like Victorian paisley, with orange eyespots) — and moments later will have crossed the screen and be gone.</div>]]></content:encoded>
      <pubDate>Wed, 25 Jun 2008 13:29:25 +0000</pubDate>
      <category domain="http://securityratty.com/tag/protection mechanisms">protection mechanisms</category>
      <category domain="http://securityratty.com/tag/protection mechanisms correctly">protection mechanisms correctly</category>
      <category domain="http://securityratty.com/tag/information security">information security</category>
      <category domain="http://securityratty.com/tag/information">information</category>
      <category domain="http://securityratty.com/tag/implements protection mechanisms">implements protection mechanisms</category>
      <category domain="http://securityratty.com/tag/information travels">information travels</category>
      <category domain="http://securityratty.com/tag/information security people">information security people</category>
      <category domain="http://securityratty.com/tag/protection">protection</category>
      <category domain="http://securityratty.com/tag/potential information path">potential information path</category>
      <source url="http://1raindrop.typepad.com/1_raindrop/2008/06/mashup-of-the-titans.html">Mashup of the Titans</source>
    </item>
    <item>
      <title><![CDATA[Latest 802.11 Standard Boosts Wi-Fi Power in New Band]]></title>
      <link>http://securityratty.com/article/8a175684170e876da287683bcc08e2a3</link>
      <guid>http://securityratty.com/article/8a175684170e876da287683bcc08e2a3</guid>
      <description><![CDATA[The nearly finished IEEE 802.11y could make Wi-Fi more practical over longer distances : Wi-Fi is a compromise. In the unlicensed bands in which it operates, it has to deal with interference from...]]></description>
      <content:encoded><![CDATA[<p><a href="http://www.warpspeed.com/wordpress/?p=2406"><strong>The nearly finished IEEE 802.11y could make Wi-Fi more practical over longer distances</strong></a>: Wi-Fi is a compromise. In the unlicensed bands in which it operates, it has to deal with interference from noise sources and other networks, while using very low power, and trying not to make a pest of itself. It's done very well. In the 2.4 GHz band and parts of 5 GHz, the maximum power from the radio is 1 watt (W), and the effective power (EIRP) is 4 W on an omnidirectional antenna. (You can push far more power if you narrow the antenna's beam. And parts of the 5 GHz band restrict radio power below 1 W. I wrote <a href="http://wifinetnews.com/archives/007336.html"><strong>a long rundown of 5 GHz issues</strong></a> back in Jan-2007.)</p>

<p>But there's this lovely new segment of lightly licensed spectrum in the U.S., the 3.65 GHz band. It's a non-exclusive licensed band available only in parts of the country that don't have pre-existing ground-to-satellite or radar uses that overlap. This omits most of the eastern seaboard and most major cities; Seattle is one exception.</p>

<p>The licensing mechanism allows any number of operators to obtain inexpensive licenses, and register the base stations they use by location. If interference arises among base stations, operators are required to work out the problems themselves. I wrote extensively about this band and its rules on 9-May-2008 in <a href="http://wifinetnews.com/archives/008313.html"><strong>profiling Azulstar</strong></a>, formerly a metro-scale Wi-Fi firm, but now a big proponent of WiMax in 3.65 GHz. I also <a href="http://wimaxnetnews.com/archives/2007/06/fcc_affirms_365.html"><strong>went over the rules</strong></a> for the band on 11-June-2007 when the FCC announced the arrangement. </p>

<p>Several firms offer base station and customer premises equipment for this band now, so close to the 3.5 GHz band more commonly exclusively licensed in Europe and elsewhere. WiMax equipment is available because the 3.65 GHz band can be used with WiMax without any modifications to that protocol, although limited to just 25 MHz of the 50 MHz that the FCC set aside.</p>

<p>Equipment that conforms to a more stringent set of rules about contention and other factors can use the whole 50 MHz, and that's where 802.11y comes in. It's an extension of Wi-Fi to cope with the specific needs--and to open Wi-Fi technology up to 20 W EIRP, a vastly higher power output. This could allow connections over 5 km, the group says.</p>

<p>The <a href="http://en.wikipedia.org/wiki/IEEE_802.11y"><strong>Wikipedia entry on 802.11y</strong></a>, clearly written by someone involved with the specification, notes that three specific additions are needed: a tweak to support the way in which the FCC wants contention among competing devices to work; a method for an access point to tell a station (a connecting radio) that it's about to switch its channel or its channel's bandwidth, and the station should do likewise; and a mechanism to handle a base station allowing or revoking permission to use the spectrum without uniquely identifying the user's system or broadcasting its precise GPS-based location.</p>

<p>The standard is near completion and initial approval. I don't have any knowledge about whether any mainstream Wi-Fi equipment makers or metro-scale equipment makers are looking into building 802.11y into their gear. </p>

<p>The fact is that this could be a great technology for the mostly sub-metropolitan markets that 3.65 GHz is available in, although it has the same pain as WiMax: all new gear on the towers and all new adapters for customers.</p>]]></content:encoded>
      <pubDate>Wed, 25 Jun 2008 10:01:44 +0000</pubDate>
      <category domain="http://securityratty.com/tag/band">band</category>
      <category domain="http://securityratty.com/tag/power">power</category>
      <category domain="http://securityratty.com/tag/wi-fi">wi-fi</category>
      <category domain="http://securityratty.com/tag/ghz band">ghz band</category>
      <category domain="http://securityratty.com/tag/ghz">ghz</category>
      <category domain="http://securityratty.com/tag/equipment">equipment</category>
      <category domain="http://securityratty.com/tag/wimax equipment">wimax equipment</category>
      <category domain="http://securityratty.com/tag/metro-scale wi-fi firm">metro-scale wi-fi firm</category>
      <category domain="http://securityratty.com/tag/power output">power output</category>
      <source url="http://wifinetnews.com/archives/008379.html">Latest 802.11 Standard Boosts Wi-Fi Power in New Band</source>
    </item>
    <item>
      <title><![CDATA[The Ethics of Vulnerability Research]]></title>
      <link>http://securityratty.com/article/fe00e316d36d853b7bb960b4d2097a75</link>
      <guid>http://securityratty.com/article/fe00e316d36d853b7bb960b4d2097a75</guid>
      <description><![CDATA[The standard way to take control of someone else's computer is by exploiting a vulnerability in a software program on it. This was true in the 1960s when buffer overflows were first exploited to...]]></description>
      <content:encoded><![CDATA[<p>The standard way to take control of someone else's computer is by exploiting a vulnerability in a software program on it. This was true in the 1960s when buffer overflows were first exploited to attack computers. It was true in 1988 when the Morris worm exploited a Unix vulnerability to attack computers on the Internet, and it's still how most modern malware works. </p>

<p>Vulnerabilities are software mistakes--mistakes in specification and design, but mostly mistakes in programming. Any large software package will have thousands of mistakes. These vulnerabilities lie dormant in our software systems, waiting to be discovered. Once discovered, they can be used to attack systems. This is the point of security patching: eliminating known vulnerabilities. But many systems don't get patched, so the Internet is filled with known, exploitable vulnerabilities. </p>

<p>New vulnerabilities are hot commodities. A hacker who discovers one can sell it on the black market, blackmail the vendor with disclosure, or simply publish it without regard to the consequences. Even if he does none of these, the mere fact the vulnerability is known by someone increases the risk to every user of that software. Given that, is it ethical to research new vulnerabilities? </p>

<p>Unequivocally, yes. Despite the risks, vulnerability research is enormously valuable. Security is a mindset, and looking for vulnerabilities nurtures that mindset. Deny practitioners this vital learning tool, and security suffers accordingly. </p>

<p>Security engineers see the world differently than other engineers. Instead of focusing on how systems work, they focus on how systems fail, how they can be made to fail, and how to prevent--or protect against--those failures. Most software vulnerabilities don't ever appear in normal operations, only when an attacker deliberately exploits them. So security engineers need to think like attackers. </p>

<p>People without the mindset sometimes think they can design security products, but they can't. And you see the results all over society--in snake-oil cryptography, software, Internet protocols, voting machines, and fare card and other payment systems. Many of these systems had someone in charge of "security" on their teams, but it wasn't someone who thought like an attacker. </p>

<p>This mindset is difficult to teach, and may be something you're born with or not. But in order to train people possessing the mindset, they need to search for and find security vulnerabilities--again and again and again. And this is true regardless of the domain. Good cryptographers discover vulnerabilities in others' algorithms and protocols. Good software security experts find vulnerabilities in others' code. Good airport security designers figure out new ways to subvert airport security. And so on. </p>

<p>This is so important that when someone shows me a security design by someone I don't know, my first question is, "What has the designer broken?" Anyone can design a security system that he cannot break. So when someone announces, "Here's my security system, and I can't break it," your first reaction should be, "Who are you?" If he's someone who has broken dozens of similar systems, his system is worth looking at. If he's never broken anything, the chance is zero that it will be any good. </p>

<p>Vulnerability research is vital because it trains our next generation of computer security experts. Yes, newly discovered vulnerabilities in software and airports put us at risk, but they also give us more realistic information about how good the security actually is. And yes, there are more and less responsible--and more and less legal--ways to handle a new vulnerability. But the bad guys are constantly searching for new vulnerabilities, and if we have any hope of securing our systems, we need the good guys to be at least as competent. To me, the question isn't whether it's ethical to do vulnerability research. If someone has the skill to analyze and provide better insights into the problem, the question is whether it is ethical for him not to do vulnerability research.</p>

<p>This was originally published in <i>InfoSecurity Magazine</i>, as part of a point-counterpoint with Marcus Ranum.  You can read Marcus's half <a href="http://searchsecurity.techtarget.com/magazineFeature/0,296894,sid14_gci1313268,00.html">here</a>.</p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/schneier/fulltext?a=ycY9bH"><img src="http://feeds.feedburner.com/~f/schneier/fulltext?i=ycY9bH" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/schneier/fulltext?a=3jUZWH"><img src="http://feeds.feedburner.com/~f/schneier/fulltext?i=3jUZWH" border="0"></img></a>
</div>]]></content:encoded>
      <pubDate>Wed, 14 May 2008 07:29:45 +0000</pubDate>
      <category domain="http://securityratty.com/tag/software security experts">software security experts</category>
      <category domain="http://securityratty.com/tag/software">software</category>
      <category domain="http://securityratty.com/tag/vulnerabilities nurtures">vulnerabilities nurtures</category>
      <category domain="http://securityratty.com/tag/vulnerabilities">vulnerabilities</category>
      <category domain="http://securityratty.com/tag/exploitable vulnerabilities">exploitable vulnerabilities</category>
      <category domain="http://securityratty.com/tag/vulnerabilities lie dormant">vulnerabilities lie dormant</category>
      <category domain="http://securityratty.com/tag/security vulnerabilities">security vulnerabilities</category>
      <category domain="http://securityratty.com/tag/computer">computer</category>
      <category domain="http://securityratty.com/tag/computer security experts">computer security experts</category>
      <source url="http://www.schneier.com/blog/archives/2008/05/the_ethics_of_v.html">The Ethics of Vulnerability Research</source>
    </item>
    <item>
      <title><![CDATA[EarthLink Will Shutter Philadelphia Network, Company Says]]></title>
      <link>http://securityratty.com/article/5a938e0c429c5b2b2511d2b537800149</link>
      <guid>http://securityratty.com/article/5a938e0c429c5b2b2511d2b537800149</guid>
      <description><![CDATA[It's the end of the cycle, folks: The first shall be last and the last shall, apparently, be first to sue. The Philadelphia Wi-Fi network will be shuttered under plans by EarthLink that they announced...]]></description>
      <content:encoded><![CDATA[<p><img src="http://wifinetnews.com/images/muni_icon.jpg" align="right" border="0" hspace="5" /><a href="http://news.yahoo.com/s/ap/20080513/ap_on_hi_te/wireless_philadelphia_2"><strong>It's the end of the cycle, folks:</strong></a> The first shall be last and the last shall, apparently, be first to sue. The Philadelphia Wi-Fi network will be shuttered under plans by EarthLink that they announced via <a href="http://ir.earthlink.net/releasedetail.cfm?ReleaseID=310055"><strong>press release today</strong></a>. </p>

<p>The company plans to pull all its gear from the poles starting 12-June-2008. The company's press release said it offered to give the network at no cost to an unnamed non-profit, as well as to the city, but claimed that "unresolved issues" led to the effort falling apart. EarthLink offered cash and more equipment, as well, in undisclosed quantities. Wireless Philadelphia, the non-profit in charge of managing the network provider and administering digital divide programs, was apparently not the non-profit mentioned. </p>

<p>EarthLink filed a lawsuit to allow it to remove its Wi-Fi nodes and cap its liability at $1m. That's a pretty hostile move, given that the city would have been the more likely party to feel aggrieved and file suit against EarthLink for failing to live up to the terms of their agreement.</p>

<p>EarthLink's claims of offering the network to "a non-profit" or the city for free skirts the issue that EarthLink may have certain liabilities for electrical power and other fees that haven't yet been paid; Wireless Philadelphia had agreed to pick up or defer certain charges as part of the deal that brought the network provider in. But without a completed network, and the contract therefore perhaps susceptible to being declared in default in court, it's unlikely that this will play out nicely.</p>

<p>And I'll say bluntly: If someone offered you $17m of outdated equipment on a network that never worked to specification that wasn't completed, and that already had known high annual costs, and which a private firm gave up as a bad job that they couldn't turn a dime on--would you take that deal? No. EarthLink will ultimately have to pay much more than $1m, I predict, and I suspect some of the settlement will leave gear in selected neighborhoods behind for more modest networking purposes. It's not going to be as easy as releasing a press release, although I haven't read the contract's provisions for this set of circumstances, and I'm not a lawyer.</p>

<p>The failure in Philadelphia, and EarthLink's exiting the entire muni-Fi business, represents the end of a bad model in which a company agreed to assume all risk and costs associated with building a public access network. When the assumptions were that networks would be cheaper and easier to build in 2005, and that citizens in many larger cities had few affordable broadband options, it made some sense to build a network on spec.</p>

<p>Three years into this, however, it's clear that that capital investment is 2 to 3 times higher than what was anticipated to reach a level of service quality that people will expect; that, when presented with potential competition, DSL and cable operators will slash prices and offer cheap 1-year or "lifetime" rates with long-term contracts; and that wireless broadband delivered via Wi-Fi isn't the best of ideas for indoor service.</p>

<p>Minneapolis may wind up being the only large city, if the network quality and subscriber rates play out, that has a public access network that works and produces a return. </p>]]></content:encoded>
      <pubDate>Tue, 13 May 2008 05:48:07 +0000</pubDate>
      <category domain="http://securityratty.com/tag/network">network</category>
      <category domain="http://securityratty.com/tag/wi-fi">wi-fi</category>
      <category domain="http://securityratty.com/tag/philadelphia wi-fi network">philadelphia wi-fi network</category>
      <category domain="http://securityratty.com/tag/earthlink">earthlink</category>
      <category domain="http://securityratty.com/tag/network provider">network provider</category>
      <category domain="http://securityratty.com/tag/philadelphia">philadelphia</category>
      <category domain="http://securityratty.com/tag/public access network">public access network</category>
      <category domain="http://securityratty.com/tag/company">company</category>
      <category domain="http://securityratty.com/tag/earthlink filed">earthlink filed</category>
      <source url="http://wifinetnews.com/archives/008316.html">EarthLink Will Shutter Philadelphia Network, Company Says</source>
    </item>
    <item>
      <title><![CDATA[How Secure is Secure?]]></title>
      <link>http://securityratty.com/article/030fa94dec1f15755b9a1d1bbfae60d9</link>
      <guid>http://securityratty.com/article/030fa94dec1f15755b9a1d1bbfae60d9</guid>
      <description><![CDATA[Hi folks, Eric Bidstrup here

As I touched on in my December posting on Common Criteria , and as Michael Howard discussed in his post on security metrics , trying to objectively quantify and measure...]]></description>
      <content:encoded><![CDATA[<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face=Calibri size=3>Hi folks, Eric Bidstrup here.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face=Calibri size=3>As I touched on in my December posting on </FONT><A href="http://blogs.msdn.com/sdl/archive/2007/12/20/common-criteria-and-answering-the-question-is-it-safe.aspx"><FONT face=Calibri size=3>Common Criteria</FONT></A><FONT face=Calibri size=3>, and as Michael Howard discussed in his post on </FONT><A href="http://blogs.msdn.com/sdl/archive/2008/04/18/oh-no-security-metrics.aspx"><FONT face=Calibri size=3>security metrics</FONT></A><FONT face=Calibri size=3>, trying to objectively quantify and measure “How secure is secure” is far more difficult than one might think. I’d like to share my perspective that there are two “dimensions” useful to consider when characterizing software security metrics: <B style="mso-bidi-font-weight: normal"><I style="mso-bidi-font-style: normal">security functional requirements</I></B> and <B style="mso-bidi-font-weight: normal"><I style="mso-bidi-font-style: normal">security engineering quality requirements</I></B>. While the SDL is focused primarily (but not exclusively) on the latter, both are ultimately important when assessing the security of a given bit of software. However, for reasons I’ll elaborate on below, the SDL does focus on trying to prevent the most common causes of vulnerabilities today and hence looking at the ways in which Microsoft tracks and measures individual products teams’ compliance with SDL requirements offers some interesting fodder for the security metrics debate. I’m not offering a complete solution, but am sharing our experience at Microsoft with measuring how development teams actually follow the SDL. It’s helped us deliver more secure software, and sharing this will hopefully help others as well as putting more data on the table for consideration when discussing security metrics.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face=Calibri size=3>Putting aside computer security for just a moment, it’s interesting to look at other ways in which we attempt to measure security in our society. </FONT><A href="http://en.wikipedia.org/wiki/Padlock"><FONT face=Calibri size=3>Padlocks</FONT></A><FONT face=Calibri size=3> offer security protections, and organizations such as the American Standard for Testing and Materials (ASTM) provide standards like </FONT><A href="http://www.astm.org/Standards/F883.htm"><FONT face=Calibri size=3>F883-04 Standard Performance Specification for Padlocks</FONT></A><FONT face=Calibri size=3> that characterize padlock security ratings. Prisons provide security protections as well. <SPAN style="COLOR: black; mso-bidi-font-family: Arial">Prisoners reside in different facilities that vary by security level. The US Bureau of Prisons uses a numbered scale from one to six to represent the security level. </SPAN>Both of these examples are similar in that the threats and risks each of them must protect against are reasonably well understood and relatively static (meaning the threats don’t change much over time). Computer security is still evolving with new classes of attacks still being discovered, and while hackers understand how to exploit known types of vulnerabilities – software developers are still catching up in learning how to modify engineering practices to be resilient against both new and old types of attacks. Hence, metrics are more challenging for computer security.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face=Calibri size=3>Several attempts have been made by governments to come up with a security rating system similar to the examples listed above. In the 1980’s, the US Department of Defense created the “</FONT><A href="http://en.wikipedia.org/wiki/TCSEC"><FONT face=Calibri size=3>Trusted Computer System Evaluation Criteria (TCSEC)</FONT></A><FONT face=Calibri size=3>” that tried to establish a standard for measure operating system security. The “Orange Book” offered a relatively simple system for assigning “score” summarized below:</FONT></P>
<P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in"><FONT face=Calibri size=3>D (Minimal Protection) </FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"><FONT face=Calibri size=3>C (Discretionary Protection) </FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto"><FONT face=Calibri size=3>C1: Discretionary Security Protection </FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto"><FONT face=Calibri size=3>C2: Controlled Access Protection </FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"><FONT face=Calibri size=3>B (Mandatory Protection) </FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto"><FONT face=Calibri size=3>B1: Labeled Security Protection </FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto"><FONT face=Calibri size=3>B2: Structured Protection </FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto"><FONT face=Calibri size=3>B3: Security Domains </FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"><FONT face=Calibri size=3>A (Verified Protection) </FONT></P>
<P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto"><FONT face=Calibri size=3>A1: Verified Design</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face=Calibri size=3>In the 1990’s, the US and other nations combined their efforts to create an international security standard for software known as the </FONT><A href="http://en.wikipedia.org/wiki/Common_Criteria"><FONT face=Calibri size=3>Common Criteria</FONT></A><FONT face=Calibri size=3> (ISO 15408). Common Criteria also has a rating system that scores products with “evaluation assurance levels” (EALs):</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoListParagraphCxSpFirst style="MARGIN: 0in 0in 0pt 0.5in"><FONT face=Calibri size=3>EAL 1: Functionally Tested </FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"><FONT size=3><FONT face=Calibri>EAL 2: Structurally Tested<SPAN style="mso-spacerun: yes">&nbsp; </SPAN></FONT></FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"><FONT size=3><FONT face=Calibri>EAL 3: Methodically Tested and Checked<SPAN style="mso-spacerun: yes">&nbsp; </SPAN></FONT></FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"><FONT size=3><FONT face=Calibri>EAL 4: Methodically Designed, Tested, and Reviewed<SPAN style="mso-spacerun: yes">&nbsp; </SPAN></FONT></FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"><FONT size=3><FONT face=Calibri>EAL 5: Semi-formally Designed and Tested<SPAN style="mso-spacerun: yes">&nbsp; </SPAN></FONT></FONT></P>
<P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in"><FONT size=3><FONT face=Calibri>EAL 6: Semi-formally Verified Design and Tested<SPAN style="mso-spacerun: yes">&nbsp; </SPAN></FONT></FONT></P>
<P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 0pt 0.5in"><FONT size=3><FONT face=Calibri>EAL 7: Formally Verified Design and Tested<SPAN style="mso-spacerun: yes">&nbsp; </SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face=Calibri size=3>Both TCSEC and Common Criteria (CC) are primarily focused on “security functional requirements” (as called out earlier, distinct from “security engineering quality requirements”). The EALs reflect the amount of rigor and attention to claimed security functional requirements a developer applied while creating a product. Furthermore, the EALs also reflect increasing levels of effort and resources necessary by anyone reviewing a product in order to evaluate the product’s claimed security functional requirements. However, EAL ratings for commercial products have historically not correlated with the number of vulnerabilities found in commercial products after release. As I discussed in my December posting on </FONT><A href="http://blogs.msdn.com/sdl/archive/2007/12/20/common-criteria-and-answering-the-question-is-it-safe.aspx"><FONT face=Calibri size=3>Common Criteria</FONT></A><FONT size=3><FONT face=Calibri>, this is because CC is primarily focused on “security functional requirements” and fails to adequately address “security engineering quality requirements”. <SPAN style="mso-spacerun: yes">&nbsp;</SPAN>This leads a question on how to measure those aspects of software security that earlier efforts have been unable to successfully address.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN></FONT></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face=Calibri size=3>Microsoft has been releasing security bulletins since 1999. Based on some informal analysis that members of our organization have done, we believe well over 50% of *all* security bulletins have resulted from implementation vulnerabilities and by some estimates as high as 70-80%. (Some cases are questionable and we debate if they are truly “implementation issues” vs. “design issues” – hence this metric isn’t precise, but still useful). I have also heard similar ratios described in casual discussions with other software developers. In other words, most vulnerabilities can be addressed by the “security engineering quality requirements” described via SDL. This is not to say that “security functional requirements” are unimportant or that SDL ignores secure design (as </FONT><A href="http://blogs.msdn.com/sdl/archive/2008/02/14/wrapping-up-threat-modeling.aspx"><FONT face=Calibri size=3>Adam has described in his threat modeling series</FONT></A><FONT face=Calibri size=3>), but rather that it is not where vulnerabilities are being most frequently encountered. With SDL, we adopt a pragmatic approach in looking at identifying the root causes of security vulnerabilities, and trying to prevent those root causes from reoccurring. The challenge lies in how we actually validate that development teams are indeed adopting and executing whatever changes SDL requires in engineering (either in terms of process or tools). Process changes are often difficult to quantify, as we must rely upon development teams truthfully attesting they have followed the process. As long as development teams believe the process results in better code, they generally will adopt and follow such practices. Tool usage becomes more interesting and valuable in that using tools becomes a vehicle for objectively and independently verifying if code satisfies requirements or not. But that is just the tip of the iceberg…</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face=Calibri size=3>As I said above in my comments on EALs, the amount of time required by anyone reviewing a product to assess “security” is relevant since security review can be a very time and resource intensive activity. However, running static code analysis tools, verifying build tools and switches, searching for </FONT><A href="http://msdn.microsoft.com/en-us/library/bb288454.aspx"><FONT face=Calibri size=3>banned APIs</FONT></A><FONT size=3><FONT face=Calibri>, and recording the output of other tools that inspect code and/or binaries for potential implementation vulnerabilities is a key element in how we approach the challenge of trying to measure compliance with SDL requirements from product groups at Microsoft today. While not every technique required by SDL has a corresponding tool, we try to provide both tools and automation if and wherever possible. There is still much work to be done in terms of standardizing tool output formats and creating automation to assess tool output. However, these “grass roots” metrics derive from practical experience of changing engineering requirements based on actual vulnerabilities. We look objectively at what is causing vulnerabilities, and target solutions to address the root causes of those issues. As the saying goes, “If it hurts when you do that, stop doing that”. If what we have done in the past has hurt our customers by creating vulnerabilities requiring security bulletins, we want to stop doing that. </FONT><SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin; mso-char-type: symbol; mso-symbol-font-family: Wingdings"><SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings">J</SPAN></SPAN></FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face=Calibri size=3>The challenge in using a plethora of individual detailed metrics such as I describe above (that we do internally at Microsoft for measuring SDL compliance), is that they don’t roll up into a nice aggregate score that customers can easily understand.<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>However, they have translated into reduced numbers of vulnerabilities as </FONT><A href="http://blogs.msdn.com/sdl/archive/2008/04/18/oh-no-security-metrics.aspx"><FONT face=Calibri size=3>Michael Howard wrote a few weeks ago</FONT></A><FONT face=Calibri size=3>. Coupling these types of scores with assessment of compliance with “security functional requirements” might be the basis for coming up with a metric that is useful to customers, both in the government and private sector.</FONT></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><o:p><FONT face=Calibri size=3>&nbsp;</FONT></o:p></P>
<P class=MsoNormal style="MARGIN: 0in 0in 0pt"><FONT face=Calibri size=3>What do you think?</FONT></P><img src="http://blogs.msdn.com/aggbug.aspx?PostID=8472807" width="1" height="1">]]></content:encoded>
      <pubDate>Thu, 08 May 2008 12:46:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/security metrics">security metrics</category>
      <category domain="http://securityratty.com/tag/software security metrics">software security metrics</category>
      <category domain="http://securityratty.com/tag/implementation vulnerabilities">implementation vulnerabilities</category>
      <category domain="http://securityratty.com/tag/potential implementation vulnerabilities">potential implementation vulnerabilities</category>
      <category domain="http://securityratty.com/tag/metrics">metrics</category>
      <category domain="http://securityratty.com/tag/secure">secure</category>
      <category domain="http://securityratty.com/tag/software">software</category>
      <category domain="http://securityratty.com/tag/discretionary security protection">discretionary security protection</category>
      <category domain="http://securityratty.com/tag/security protection">security protection</category>
      <source url="http://blogs.msdn.com/sdl/archive/2008/05/08/how-secure-is-secure.aspx">How Secure is Secure?</source>
    </item>
    <item>
      <title><![CDATA[Is IF-MAP the spark that will ignite theTCG/TNC and the security industry?]]></title>
      <link>http://securityratty.com/article/9bb14b4ce6033e3aaabea0ddf8020db1</link>
      <guid>http://securityratty.com/article/9bb14b4ce6033e3aaabea0ddf8020db1</guid>
      <description><![CDATA[The big news at Interop yesterday was the new IF-MAP specification and standard announced by the Trusted Computing Group/ TNC group. Some may call it TCG NAC 2.0 but it actually goes way beyond just...]]></description>
      <content:encoded><![CDATA[<p><a onclick="window.open(this.href, '_blank', 'width=800,height=394,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false" href="http://www.stillsecureafteralltheseyears.com/.shared/image.html?/photos/uncategorized/2008/04/30/if_map.jpg"><img title="If_map" height="147" alt="If_map" src="http://www.stillsecureafteralltheseyears.com/ashimmy/images/2008/04/30/if_map.jpg" width="300" border="0" style="FLOAT: left; MARGIN: 0px 5px 5px 0px"></img></a> The big <a href="https://www.trustedcomputinggroup.org/news/events/interop_2008/">news at Interop</a> yesterday was the new IF-MAP specification and standard announced by the Trusted Computing Group/ TNC group. Some may call it TCG NAC 2.0 but it actually goes way beyond just NAC. IF-MAP represents a method that allows disparate security technologies to talk to each other and leverage the information gathered from multiple sources to make better and more secure decisions about network devices, users and traffic. It has huge implications for not only NAC, but IDS/IPS, vulnerability management, SIMs, etc. Also, it represents a real opportunity for the TCG/TNC to move out beyond the shadow of NAP and really become a dominant standard for the network and security industry to rally around.<br><br>The idea behind IF-MAP is that data is stored in a central container called a MAP or meta-data access point. This data can be called upon or supplemented with more data from a wide variety of sources. You can publish, search or subscribe to the data. The format is XML. The diagram (which you can click on for a bigger version) on the left shows a sample multi-vendor configuration, but the combinations are endless. To get a better flavor for what you can do you can click <a href="https://www.trustedcomputinggroup.org/news/events/interop_2008/TCG_TNC_update_04282008_final.pdf">here</a> to see a PDF presentation by the TCG of IF-MAP.<br><br>I had a chance to speak about IF-MAP with Steve Hanna and Mike Fratto. If it does indeed become widely adopted this can have a profound impact on our industry. Also, Steve and the TNC is very much looking to diversify and distribute the administration of the MAP among many vendors so that it does not become a single vendor steered standard. I applaud Steve and the rest of the group for working so hard on MAP. I challenge the rest of the industry to take a look at it and work towards adopting it. It truly can help be a win for all security vendors, but most of all a win for security administrators who would finally be able to use best-of-breed products from different vendors and have them talk to and work with each other.</p>
<p><a href="http://feeds.feedburner.com/~a/StillsecureAfterAllTheseYears?a=xDXXfo"><img src="http://feeds.feedburner.com/~a/StillsecureAfterAllTheseYears?i=xDXXfo" border="0"></img></a></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=la83LG"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=la83LG" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=EoriIG"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=EoriIG" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=tyUWcG"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=tyUWcG" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=ZUZkEG"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=ZUZkEG" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=xGxxZg"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=xGxxZg" border="0"></img></a> <a href="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?a=IqTtrg"><img src="http://feeds.feedburner.com/~f/StillsecureAfterAllTheseYears?i=IqTtrg" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/StillsecureAfterAllTheseYears/~4/280801482" height="1" width="1"/>]]></content:encoded>
      <pubDate>Wed, 30 Apr 2008 05:25:12 +0000</pubDate>
      <category domain="http://securityratty.com/tag/if-map">if-map</category>
      <category domain="http://securityratty.com/tag/if-map specification">if-map specification</category>
      <category domain="http://securityratty.com/tag/map">map</category>
      <category domain="http://securityratty.com/tag/if-map represents">if-map represents</category>
      <category domain="http://securityratty.com/tag/represents">represents</category>
      <category domain="http://securityratty.com/tag/security industry">security industry</category>
      <category domain="http://securityratty.com/tag/industry">industry</category>
      <category domain="http://securityratty.com/tag/data">data</category>
      <category domain="http://securityratty.com/tag/meta-data access">meta-data access</category>
      <source url="http://feeds.feedburner.com/~r/StillsecureAfterAllTheseYears/~3/280801482/is-if-map-the-s.html">Is IF-MAP the spark that will ignite theTCG/TNC and the security industry?</source>
    </item>
    <item>
      <title><![CDATA[Seagate to release self-encrypting disk drive]]></title>
      <link>http://securityratty.com/article/43d213f064ac45a1773a98fbab8f35e5</link>
      <guid>http://securityratty.com/article/43d213f064ac45a1773a98fbab8f35e5</guid>
      <description><![CDATA[Seagate Technology says it's adding a self-encrypting capability to its Cheetah 15K disk drive based on a specification promulgated by Trusted Computing...]]></description>
      <content:encoded><![CDATA[Seagate Technology says it's adding a self-encrypting capability to its Cheetah 15K disk drive based on a specification promulgated by Trusted Computing Group.
<p><a href="http://feeds.computerworld.com/~a/Computerworld/Security/News?a=41eD4Z"><img src="http://feeds.computerworld.com/~a/Computerworld/Security/News?i=41eD4Z" border="0"></img></a></p><img src="http://feeds.computerworld.com/~r/Computerworld/Security/News/~4/265812741" height="1" width="1"/>]]></content:encoded>
      <pubDate>Mon, 07 Apr 2008 09:00:00 +0000</pubDate>
      <category domain="http://securityratty.com/tag/specification">specification</category>
      <category domain="http://securityratty.com/tag/technology">technology</category>
      <category domain="http://securityratty.com/tag/capability">capability</category>
      <source url="http://feeds.computerworld.com/~r/Computerworld/Security/News/~3/265812741/article.do">Seagate to release self-encrypting disk drive</source>
    </item>
  </channel>
</rss>
