Internet DRAFT - draft-hallambaker-securecode

draft-hallambaker-securecode



Internet Engineering Task Force (IETF)              Phillip Hallam-Baker
Internet-Draft                                         Comodo Group Inc.
Intended Status: Standards Track                        October 16, 2014
Expires: April 19, 2015


                 Software and Configuration Management
                    draft-hallambaker-securecode-00

Abstract

   Use cases and requirements for secure distribution and management of 
   code are considered. In particular constraints imposed by embedded 
   devices that do not provide affordances for user interaction are 
   considered. 

Status of This Memo

   This Internet-Draft is submitted in full conformance with the 
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering 
   Task Force (IETF).  Note that other groups may also distribute 
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any 
   time.  It is inappropriate to use Internet-Drafts as reference 
   material or to cite them other than as "work in progress."

Copyright Notice

   Copyright (c) 2014 IETF Trust and the persons identified as the 
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal 
   Provisions Relating to IETF Documents 
   (http://trustee.ietf.org/license-info) in effect on the date of 
   publication of this document. Please review these documents 
   carefully, as they describe your rights and restrictions with respect
   to this document. Code Components extracted from this document must 
   include Simplified BSD License text as described in Section 4.e of 
   the Trust Legal Provisions and are provided without warranty as 
   described in the Simplified BSD License.











Hallam-Baker                 April 19, 2015                     [Page 1]

Internet-Draft  SXS Confirmation Protocol (SXS-Confirm)     October 2014

Table of Contents

   1.  Motivation . . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  Definitions  . . . . . . . . . . . . . . . . . . . . . . . . .  4
      2.1.  Software  . . . . . . . . . . . . . . . . . . . . . . . .  4
      2.2.  Configuration . . . . . . . . . . . . . . . . . . . . . .  4
   3.  Principles . . . . . . . . . . . . . . . . . . . . . . . . . .  4
   4.  Requirements . . . . . . . . . . . . . . . . . . . . . . . . .  5
      4.1.  Device Requirements . . . . . . . . . . . . . . . . . . .  5
      4.2.  Administration Requirements . . . . . . . . . . . . . . .  5
      4.3.  Interface Requirements  . . . . . . . . . . . . . . . . .  5
   5.  Technical Requirements . . . . . . . . . . . . . . . . . . . .  5
   6.  Acnowledgementsts  . . . . . . . . . . . . . . . . . . . . . .  5
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . .  6








































Hallam-Baker                 April 19, 2015                     [Page 2]

Internet-Draft  SXS Confirmation Protocol (SXS-Confirm)     October 2014

1. Motivation

   All computing devices operate under control of software. As the 
   applications of computing systems diversify, the management of the 
   software code determining their function becomes an increasingly 
   difficult challenge.

   The recognition of this problem in the dektop computing environment 
   and the introduction of automatic update mechanisms has played a 
   major role in reducing vulnerabilities on these platforms. But no 
   similar platforms have emerged to support the proliferation of 
   embedded devices currently occuring.

   While there is a clear need for a software management infrastructure 
   that meets these emerging needs, it is essential that any new 
   security infrastructure meet all the security risks of users and 
   device owners, including the very real possibility that the device 
   vendors themselves might pose the threat. The only difference between
   a voice activated, network conected toaster oven and a covert 
   surveillance device (aka bug) is the software it runs. 

   The possibility that a device might change its function through an 
   unsolicited software is just as important a security concern as the 
   possibility that code might contain zero day vulnerabilities. 

   Existing systems, including those deployed to update open source 
   platforms have been developed to serve the proprietary interest of 
   the software provider to update their code. The disregard for the 
   concerns of the user/owner is made clear by a user interaction where 
   the only choice is to update now or to be reminded in an hour's time.

   Rather unusually, devices sold to the consumer market tend to be 
   considerably worse than those sold to enterprises. Enterprises 
   understand that automatic software updates present security risks as 
   well as benefits. A software update mechanism that is outside their 
   direct control may invalidate previous Quality Assurance processes 
   causing a system to fail. 

   Since automatic update mechanisms rarely receive attention in product
   reviews, the needs of consumers have been treated with conspicuous 
   contempt. In the majority of cases, no attempt is made to minimize 
   the inconvenience to the user. The device determines that an update 
   is required and refuses to perform its intended function until the 
   user approves installation of the update, the update is downloaded 
   and installed. 

   Approaches such as this are at best discourteous but can pose a 
   serious safety risk if they interfere with the functioning of 
   critical systems. While the manufacturer of a defibrilating device is
   likely to understand that it must work immediately every time it is 
   used, most systems become critical because people rely on them to 



Hallam-Baker                 April 19, 2015                     [Page 3]

Internet-Draft  SXS Confirmation Protocol (SXS-Confirm)     October 2014

   function rather than this being an intrinsic aspect of their purpose.

2. Definitions

2.1. Software

   The term 'software' is used to describe any content that might affect
   the operation of a device that is not provided by its administrator 
   and/or user(s).

   Rationale: What is important from the security point of view is that 
   the content might affect the operation of the machine rather than the
   classification of the content as 'code' or 'data'. A data driven code
   system need not be Turing complete for it present a user-access or 
   root-access level vulnerability. 

   Note that for the purposes of software management, there is no useful
   distinction between 'software' and 'firmware'. Either may affect the 
   operation of the machine. 

2.2. Configuration

   The term 'configuration' is used to describe any content that might 
   affect the operation of a device that is provided by its 
   administrator and/or user(s). 

   Rationale: Anything that is not software that might affect the 
   operation of the device is a security concern and thus should be 
   considered in the device management infrastructure. 

3. Principles

      *  The integrity of the system software and configuration should 
         always be assured.

      *  The operation of a system should be controlled by the owner. No
         modifications should be made to the operation of a device 
         without express permission from the owner or their delegate.

      *  If the owner's ability to modify either software or 
         configuration is limited in any fashion, these constrains 
         should be clearly declared.

      *  The software and configuration of a system should always be 
         known with certainty.

      *  Changes to software and/or configuration should be auditable 
         and reversible.






Hallam-Baker                 April 19, 2015                     [Page 4]

Internet-Draft  SXS Confirmation Protocol (SXS-Confirm)     October 2014

   Note that the requirement for express permission does not entail 
   specific user interaction on the part of the owner. Since most owners
   have neither the means nor the inclination to decide whether an 
   update should be performed, the ability to delegate decision making 
   powers to the software provider or a third party is highly desirable 
   provided that such delegation is revokable and the exercise of the 
   delegated powers can be audited.

4. Requirements

   Consumer software update systems are generally implemented as a 
   feature of the system under management while enterprise software 
   management systems typically observe a separation between the 
   administration system and the systems under management.

4.1. Device Requirements

      *  Report the software packages installed on a system.

      *  Transfer a software package to a system.

      *  Install a software package on a system.

      *  Delete a software package from a system.

      *  Change the software package version to be executed on a system 
         at next restart.

      *  Change the software package version to be executed now.

      *  Schedule a restart.

4.2. Administration Requirements

      *  Determine what vulnerabilities have been reported for a 
         software package.

      *  Verify the provenance of a software package.

4.3. Interface Requirements

      *  Bind a device to an administration source.

5. Technical Requirements

6. Acnowledgementsts

   This document was written in response to discussion on the IETF list 
   begun by Jim Gettys.





Hallam-Baker                 April 19, 2015                     [Page 5]

Internet-Draft  SXS Confirmation Protocol (SXS-Confirm)     October 2014

Author's Address

   Phillip Hallam-Baker
   Comodo Group Inc.

   philliph@comodo.com
















































Hallam-Baker                 April 19, 2015                     [Page 6]