White Paper - Embedded System Security
White Paper - Embedded System Security
White Paper - Embedded System Security
Abstract
Everyone wants secure systems, and delivery of those systems is a priority with system integrators and OEMs. Whether its a PDA or Smartphone used by a stockbroker, an automation device controlling the power grid, or a remote camera/sensor system for homeland security, security can be central to the device function. CE was a ground up, 32 bit recode of an OS with no legacy DOS code, and Microsoft did include some industrystandard security features. In addition, CEs modular structure allows us to build very tight, locked down configurations quite resistant to penetration, attack, spoofing, and repudiation. This paper will indicate how an engineer can use the requirements based Common Criteria approach to apply the tools supplied inside the shrink wrap of platform builder. We will also indicate third party solutions and system build options that will meet or exceed security standards in effect in many industries and applications.
Larry B. McGinness
Mr. McGinness currently serves as Senior Security Analyst for a Workgroup to define Protection Profile for DISA Anti-virus solutions and as the COACT Manager for Ft. Meade related projects. During his Federal Service career, he consulted with government organizations responsible for developing security policy and products, particularly in the areas of customer support and configuration management as applied to the defense, civil and public sectors.
Table of Contents Abstract.................................................................................................................................... 1 Introduction............................................................................................................................. 3 Devise Countermeasures(people, processes, measures and procedures) .............. 4 Assure Countermeasures Remain Effective- .................................................................... 4 Current State of Security for Mobile Devices....................................................................... 5 Applying Common Criteria to Secure Embedded System Design. ...................................... 7 Setting Objectives ............................................................................................................. 7 Determination of Threat.................................................................................................... 8 Existing, Typical Protections Profiles............................................................................... 9 The Descartes Problem I Think, Therefore I am- WHAT??....................................... 11 Security in a Small Room ............................................................................................... 12 Minimize the build.......................................................................................................... 13 Minimize the ports .......................................................................................................... 14 Extra-Careful Code Review of Drivers and Applications .............................................. 14 Safe Code Throughout .................................................................................................... 15 Traceability and Security of Code During Development ............................................... 17 Omit Needless Data, Encrypt the Rest............................................................................ 17 Security Trail and Audit.................................................................................................. 18 Fast Zero Base................................................................................................................. 19 Security Inside the Shrink-wrap...................................................................................... 20 Summary................................................................................................................................ 20 Figures Figure 1 Simple Embedded Device in Failure Mode From Protocol Attack 5 Figure 2 Cell Phone Having Problems with WAP protocol attack ...6 Figure 3 Chart of Buffer Overrun Attacks over Time...8 Figure 4 Comparison of Threats..10 Tables Table 1: Table of Test Results .................................................................................................. 5 Table 2- Section of Sample Protection Profile ......................................................................... 9 Table 3- Typical Programming Errors.................................................................................... 15 Appendices Appendix 1-Windows CE Security Features .......................................................................... 21 Appendix 2-Various Standards Associated with Security ...................................................... 28 Appendix 3- Table of Contents For An Actual Protection Profile ......................................... 29 Appendix 4- CERT Listing..................................................................................................... 30 Appendix 5- Third Party Windows CE Security Software..................................................... 31
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 2
Introduction
Before embarking on a discussion of security it is necessary to be very specific about what we mean. To some, secure means a stable system, one that does not crash and can be expected to run 24x7. To others, security might mean document management, data traceability, or digital rights management. Security can mean resistance to casual or prankster attacks like most viruses, and security can also mean resistance to DOS attacks. But in this paper, security will mean the embedded devices ability to contain sensitive information and to hold down its end of a secure communication. This type of security is addressed by myriad standards, often specific to industry, country and application. For a short list, see Appendix 2-Various Standards Associated with Security. However, the general movement is towards a common set of standards like CC (Common Criteria Testing, ISO 15408, http://csrc.nist.gov/cc/), FIPS (Federal Information Protection Security http://csrc.nist.gov/publications/fips/). Much of this work is being done by the TCG (Trusted Computing Group https://www.trustedcomputinggroup.org/home). It is vital to understand that security is not attained by inclusion of more acronyms in a system build. Security as defined by CC, FIPS or TCG is a system to: 1. 2. 3. 4. 5. Identify Threat Set Targets Assess Risks Devise Countermeasures (people, processes, measures and procedures) Assure Countermeasures Remain Effective
These five steps are simple common sense. In the context of an embedded system - say a PDA - they might be exercised as follows:
Identify ThreatBecause the device is mobile, it might be lost. If it contains sensitive material, a unfriendly party might be able to steal the information or even use the PDA to log into a secure network and spoof the user.
Set Targets
Targets could be set at various levels- for example Render the devices safe from unsophisticated attacks such as dictionary attacks on the 4 digit passcode or an attack with a stolen passcode. Render the device safe from sophisticated attacks such as might be made with a logic analyzer, bed of nails tester, and powerful code-cracking computers.
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 3
Assess RisksRisk is determined by what the effect of penetration would be. For US Government operations, the following terms1 are used: TOP SECRET- .. unauthorized disclosure .. could cause exceptionally grave damage to national security. SECRET- .. unauthorized disclosure .. could cause serious damage to national security CLASSIFIED- .. unauthorized disclosure .. could cause damage to national security
Assure Countermeasures Remain EffectivePeriodically audit the devices defensive capabilities and the users operation- e.g. does he change his private password often enough. This very brief example of one threat and possible countermeasure is presented only as a hypothetical and does not (in our knowledge) reference any accepted Security Target or Protection Profile.
Refer to Executive Order E.O. 12958 Section 2-10, items a, b. It should be noted that this is the ONLY official classification system for information. However, the term SBU (Sensitive but Unclassified) has come into general use to refer to items like a diplomats schedule.
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 4
Table one
Test-suite c04-wap-wsp-request c04-wap-wsp-request c05-http-reply c06-ldapv3 c06-snmpv1 Failed products 7 (7 tested) 10 (10 tested) 5 (12 tested) 6 (8 tested) 12 (12 tested) Failure Rate 100% 100% 42% 75% 100% CERT Advisory n/a n/a n/a CA-2001-18 CA-2002-03
[http://www.ee.oulu.fi/research/ouspg/protos]
In spite of the indicated device vulnerabilities, in the Wild as of December 2003 there have only been about 4 cell phone virus-like attacks (all on simple text-messaging cell phones), and 3 virus or Trojan attacks on Palm. There have been no confirmed virus attacks on PocketPC or a Windows CE device. Clearly, the relative peace and calm we enjoy in the mobile environment is not because of the security within our devices. This peace is ominous, and based on experience with other peer-to-peer environments, undeserved. Most of the nasty and disruptive virus attacks on desktops and servers have been the products of second rate programmers looking for attention from the community or their immediate peers. They find out how to make a virus only when a professional finds the vulnerability and issues a security patch. The hacker then figures out an exploit based on the patch. But this all happens within the desktop/server environment. The threat we will face in the embedded/RISC space will come from professionals, well funded, able to buy sample target devices, and able to find and co-opt sympathetic agents within our enterprise. We
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 5
can assume these adversaries will pose specific threats, not in our interest, and will be more likely to develop covert Trojan/Backdoor exploits than dramatic, public viral displays of their prowess. Indeed, one of the cell-phone attacks has been reported (but we have been unable to confirm details) to create a DOS attack on Houston 911 emergency service. If launched at a certain time, coordinated with terrorist attack, this could have been devastating. Also, while not strictly a software hack, a recent terrorist explosive device was triggered by a cell phone. While this might be considered more of a misuse than an exploit, it would be possible (and at very low cost) to make a cell phone that would be very difficult to hotwire into a remote control. We favor a simple starting point: A threat is a threat; if we know an embedded Figure 1-Cell Phone Having Problems with WAP system could be misused, we should consider protocol attack counter measures. So far, political or criminal hacker attacks have relied on standard desktop and laptop hardware and occasional theft of Internet access via open 802.11 hot spots. However, attacks and exploits on embedded devices are starting to get attention in the hacker community. Exploits against PDAs were a featured and well attended program at the 2003 Defcon (http://www.defcon.org/). Also, there are now Cell Phone Hacking tools available on the net from the community, as they call it. There is a lot at stake embedded systems are carrying an ever increasing amount of our communication, controlling our electrical system, water system and the cash machines for our currency distribution. Indeed, most expect embedded systems to be an important part of our homeland security apparatus, for communication, materials tracking, remote cameras and sensors, etc. It is pretty frightening to think of some event that would raise the profile of embedded security to the point where the average man on the street could properly use the terms embedded system and exploit in the same sentence. The component/system professionals need to get ahead of the curve.
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 6
Setting Objectives
To design a secure system, we need to first establish security requirements via what is called a Protection Profile. This starts by determining objectives: exactly what do we want to protect, and what is its importance. For example, the schedule of a diplomat might be given the unofficial classification Sensitive but Unclassified. Something that could damage national security could be deemed CONFIDENTIAL and require EAL Level 2 protection. Information that could cause serious damage to national security would be and classified as SECRET may require EAL-Level 4 (Medium Robust) security. Higher security levels like TOP SECRET are used for issues that could cause exceptionally grave damage to national security. . While most of us designing systems like ATMs, automation controllers and PDAs will not have to deal with the higher levels of security, any engineer developing systems can set his objectives in line with the CC/FIPS nomenclature. Some information is unclassified, or public. Other information is sensitive (e.g. compromise could be embarrassing, cost a manageable sum of money, or require extra work), and still other information, if compromised, could have grave consequences- for example bring down part of the power grid, input incorrect targeting coordinates to a weapon, etc. While the common criteria does not directly address or correlate to the US Government information classification system, it does translate to roughly equivalent assessment and reduction of risk in the US Common Criteria Schemes i.e. low, medium and high robustness.
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 7
Determination of Threat
The next step is to classify threats- which are of two general types. Theoretical Threats or In the Wild Threats. Theoretical threats are typically found by universities and vendors. In the Wild threats are exploits actually in use. When reported, these are recorded by organizations like the government funded CERTs at Carnegie Mellon university (http://www.cert.org ) and other places, or the industry association SANS Institute (http://www.sans.org) . These same organizations also tabulate threats in the wild and assign potential levels of risk to the threat. These two organizations provide good, objective data on vulnerabilities of various systems. The reader is encouraged to look at a typical report as seen in Appendix 4- CERT Listing. These organizations also keep track of historic activity. There is no need to use rumor or gossip to establish a threat. They are well known.
Figure 2 Chart of Buffer Overrun Attacks over Time Attacks exploiting Buffer Overruns are important because they (a) may be linked to protocol, not just implementation failures and (b) they are the most typical way of implanting Trojans
Frequency of buffer overrun vulnerabilities, derived from a classification of CERT advisories. The left-hand chart shows, for each year, the total number of CERT-reported vulnerabilities and the number that can be blamed primarily on buffer overruns. The right-hand chart graphs the percentage of CERT-reported vulnerabilities that were due to buffer overruns for each year.
Threats in the wild can also be identified-albeit at lower confidence- on the myriad hacker sites where the hacker community post each occasion of their vandalism so they can keep score. The matrix within the Common Criteria of Threats mapped to Security Objectives is the start of what is called a Protection Profile as seen in.Appendix 3- Table of Contents For An Actual Protection Profile Each element of this matrix describes the requirements for a technique, device or procedure to counter that particular threat at the desired security level.
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 8
3 4
Etc. Etc.
Desktop/Server Protection Profiles make the stated assumption called Enclave Integrity.
The communication between the Target of Evaluation and users operates within a controlled access environment that provides protection against unauthorized access
The traditional workstation/ server protection profile assumes the device is in some sort of controlled environment, and tended by generally trustworthy individuals. When dealing with a mobile device, the only reasonable assumption is that it WILL fall under the control of a hostile party. We do not have to wait until a device is lost. Very shortly after a new secure device is known to exist, we can assume that hostile hands will either steal one, kidnap its user with the device in his pocket, or spirit the device away for overnight examination while the user sleeps.
Obviously the threat level for a mobile device is high, but it can be met. Technologies (both hardware and software) exist to mitigate all of the above risks. Once we recognize and accept this, we can begin to design secure PDAs, Smart Phones and other mobile and embedded devices. These devices must maintain one end of a secure communication link, and could even store certain data. But special care
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582 Page 9
must be taken. For example, a device should have the ability to determine if it is being attacked- including attacks with a screwdriver and logic analyzer, or even with a radiation chamber looking for data superimposed on RFI emissions. The device possibly could contain some sort of self-destruct mechanism like the crypto units on military planes. The device should almost certainly contain features to help it destroy any data it carries. This implies some deep linkages with OS code and hardware. Further, Embedded Systems can be expensive to clean if compromised. Remember, a system can be compromised without being touched. A remote device using Crypto-X is compromised if some adversary managed to break or steal Crypto-X in another location. This may require new FPGA programming - hard to do on site.
Extremely unlikely
Extremely unlikely
Extremely unlikely
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 10
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 11
Second, you can design a application that lets the network take control of the PDA when it is attached to the enterprise. This control can be very strong, and limit the PDA to a viewer of controlled data. Further, Flash Bomb subroutines can be installed in the OS to blank all data and overwrite to destruction sensitive data in Flash Memory if the PDA is tampered with. 4
3 4
See Appendix 3 For a List of PPC and Windows CE 3ed party Software Suppliers Trust Digital implement this technique in their Trusted Mobility Suite. Elements may be patent protected.
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 12
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 13
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 14
6 Missing checks for missing elements -- An application receiving information from the parser might crash due to a missing mandatory element it expects to be always present. This might also result in accessing illegal memory areas. 7 Too small data types - might cause an infinite loop due to roll-over
The embedded system developer should focus closely on the issue of buffer overruns. We have mentioned this before, and will mention it again.
Perhaps years of coding for desktops that are shut down 8 Missing integer boundary value checks every day and flush -- Missing a check could result in reading data Never tried it. Intuition tells me the compiler will their buffers has made located after the end of a table, thus resulting in complain about this. access violation (denial of service) programmers lazy. By Murphys law, the Buffer Overrun is especially dangerous in the embedded system
This can happen and is sometimes intentional or at least accounted for.
5
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 15
because it can be used to insert a Trojan, a more likely form of attack than a prankster virus. In any case, these faults are very hard to find. Indeed, of six modem drivers tested by Applied Data Systems in 2003, three had memory leaks. All of these were from top tier respected vendors. The problem is tough, I quote here an excellent paper by Mark E. Donaldson, published by the SANS institute:6 Problematic buffer overruns related to the C programming language data integrity model were first recognized as early as 1973. The first well known exploit of this vulnerability occurred in 1988 when the well documented and infamous Internet Worm shutdown over 6,000 systems in just a few short hours, utilizing an unchecked buffer initialized by the gets() function call in the fingered daemon process. Despite this lengthy history and simple preventative methods, the buffer overflow continues to be a significant and prominent computer security concern even today. For example, buffer overflow problems are implicated in five of the Sans Top 20 vulnerabilities. If one ventured to the SuSE Linux Web Site, they would find 22 buffer overflow vulnerabilities since January 2001 [ to April 2002] that require patching. Additionally, of the 44 CERT advisories published between 1997 and 1999, 24 were related to buffer overrun issues. Programmmers today are not usually in the habit of finding errors in the syntax of their C complier, but that is the mandated reality of development in the embedded space.
INSIDE THE BUFFER OVERFLOW ATTACK: MECHANISM, METHOD, & PREVENTION Mark E. Donaldson http://www.sans.org/rr/papers/46/386.pdf
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 16
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 17
Remember that not only the content is classified or secret information. The user names, IP addresses and of course passwords may persist after logging off. These need to be purged explicitly in the log off procedure, including log offs for errors, disconnects and security violations.
As an aside, standard practice on desktop systems is to encrypt all data on disk, and to erase data with a minimum of seven over-writes to the disk. What does that mean for an embedded device where there typically is not disk? Certainly, encrypting data in flash makes very good sense. A failed device, with almost any security, could leave its flash memory exposed to unauthorized access. Also, even data in memory might best be encrypted. Many PDA devices use DRAM data files as disk storage; the data persists in memory during sleep mode. It is possible to consider some form of hardware/software penetration that might render the data visible. There are third party packages (see Appendix 5- Third Party Windows CE Security Software) that facilitate encryption of data in the device
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 18
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 19
Summary
Whether we look at the problem top-down or bottom-up, good practice is mandatory for secure system design. Good practice for embedded system design deals with both hardware and software elements. Bottom line- seriously and thoroughly addressing these issues cannot be done sitting around a circle in a room, generating great solutions to problems that may or may not exist. Embedded System Security requires a methodical documented approach of identifying the threat and mapping countermeasures and then verifying their effectiveness through a recognized process like Common Criteria.
Copyright , Applied Data Systems, Inc, 2003-2004. All Rights Reserved. This document may not be used for commercial gain without permission of Applied Data Systems, Inc. Any trademarks used within are the property of their respective owners. This document contains technical descriptions that may not be representative of Applied Data Systems product or services
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 20
Appendices
Appendix 1-Windows CE Security Features
Topic
Networking WEP Support
Meaning
Does the product offer support for Wireless Encryption Protocol?
WAP Support
Consult work by University of Oulu, PROTOS project. There appear to be syntax problems with WAP itself that preclude secure operations
802.1x Support
The following EAP Authentication methods are supported: EAP-MD5, EAP-TLS, EAP-PEAP. A 3ed party, Fortress Technologies, offers FIPS-140 certified link level security.
VPN Support
Does the product offer support for any Virtual Private Networking technology?
EAP Support
Supports following extensions of EAP: CHAP, TLS, PEAP, MS-CHAP v2.0, MD5 CHAP
PPP Support
PPP supports the following authentication protocols: PAP, CHAP, MSCHAP v1 and v2, EAP-TLS, PEAP
PPTP Support
Differences between CE and XP's implementation of PPTP can be found at: http://msdn.microsoft.com/library/enus/wcevpn/html/ceconDifferencesBetweenWindowsCEWindowsXPPPT PImplementations.asp
L2TP Support
L2TP/IPSec (client and server) support for VPN only. Certificate, preshared keys, Internet Key Exchange (IKE) protocol supports authentication and key exchange using Diffie-Hellman. Based on .NET Server code.
IPV6 Support
IPSec Support
End-to-end IPSec for IPv4 based on .NET Server 2003 code. Full policy support is not included; built hooks exist to add.
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 21
Appendices
Appendix 1-Windows CE Security Features
Topic
Firewall Support
Meaning
Does the product offer firewall support?
Device Management / Update Patch/SP Installer Does the product offer Support an installer for patches and service packs?
Wceload.exe and CAB files generic software installer. MS cab file format supported. Described in MSDN. Packager cabwiz.exe ships in eVc. 3ed provide CAB files that deploy the required software in the specified location on device. Please note that this is NOT patch specific
Does the product offer support for the deployments of patches and service packs?
CE Device Management Framework can download any specified patch. Requires SMS 2003 Value Pak. 3ed parties like Rapport Technology offer network wide remote management capability.
Does the product offer functionality that scans for missing patches and service packs?
CE Device Management Framework can detect presence of software/version and report back to management framework via a software inventory report. SMS 2003 value pack adds support for CE devices and can find this information from a software inventory report
Does the product offer functionality for managing the deployment of applications?
CE Device Management Framework provides support for Application deployment. Requires SMS 2003 Value Pak
Policy Support
Does the product offer functionality for disseminating, managing or enforcing policies to users or machines?
Custom policies can be implemented by admin using the CE Device Management Frameworks script engine. (eg modifying rag keys, deleting files, rebooting etc) Custom scripts via SMS 2003 (.dms files)
Remote Installation
Does the product support any means of remotely deactivating either the product itself or the device it runs on?
This is typically a custom HDW/SFW feature. It is relatively easy to 'zero' a device by flushing RAM and or overwriting Flash to destruction.
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 22
Appendices
Appendix 1-Windows CE Security Features
Topic
System Software (flash ROM) partial updates
Meaning
Does the product offer partial (differential) updates for ROM ?
Does the product have a (full ROM) code updated to a new image from a website?
With third party software like Rapport, the entire system image (less the bootstrap and a small client) can be updated via TCP/IP over a web link.
Authentication / Cryptography Encryption Support Does the product offer any features for encrypting or decrypting user data?
RSA, DH, RC2/4/5, DES, 3DES, AES. Hooks available in the OS to allow others to write Encryption Filters (no native encryption support in File system). Also supports 3rd party Cryptographic Service Providers. Including Fortezza and FortezzaPlus
Does the product offer any features for signing data and/or verifying signatures on user data?
Hashing Support
Does the product offer any features for hashing user data?
CryptoAPI 1.0 is virtually identical to desktop. CryptoAPI 2.0 APIs supported in CE can be found at: http://msdn.microsoft.com/library/enus/wcecryp2/html/ceconSupportedCryptoAPIversion20APIs.asp
NTLM Support
Client Auth: LM, v2; Client Session: v2; Client Connection and Datagram support Server Auth: LM, v1, v2; Server Session: None; Server Connection support only, no datagram. NTLMv2 is compatible but not identical to XP. Signing/Sealing only with NTLMv2.
Kerberos Support
From Win2K. No PKINIT support. No change password. Limited server side support (no PAC decoding). Source code available from MIT; can be integrated.
SPNego Suport
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 23
Appendices
Appendix 1-Windows CE Security Features
Topic
S/MIME Support
Meaning
Does the product offer support for Secure MIME?
SSL Support
Does the product offer support for the Secure Sockets Layer protocol?
Passport Support
Does the product offer any means of locking the device or computer?
PIN, Password, Smart Card based Start UIs are available. This is almost always linked to hardware design.
Credentials Use
Does the product offer features that support the transparent use of users' passwords or other credentials by applications or the operating system?
Credential Manager component is available to cache NTLM, Kerberos creds. APIs are similar to the desktop but implementation is quite different
Credentials Management
Does the product offer features that enable users to manage their passwords or other credentials?
Key Use
Does the product offer features that support the transparent use of users' cryptographic keys by applications or the operating system?
Key Management
Does the product offer features that enable users to manage their cryptographic keys?
Keys are stored in the registry and encrypted using CryptoAPI 1.0 functions. No strong key protection.
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 24
Appendices
Appendix 1-Windows CE Security Features
Topic
Certificate Use
Meaning
Does the product offer features that support the transparent use of users' digital certificates by applications or the operating system?
Certificate Revocation
Does the product offer features that support revocation of digital certificates?
Certificate Revocation Lists (CRLs) omitted from CryptoAPI 2.0. Plan to implement CertVerifyRevocation() API to allow others to plug-in their own revocation engine.
Does the product offer features that support Microsoft Certificate Services?
MS Windows 2000 Certificate Services. Sample cert enrollment tool that leverages MSCA web front end. No XENROLL.
Certificate storage CAPI 2.0 (*Note that only a subset of CAPI from Win2K is implemented in CE). "My" and "Root" System stores are supported. No AD stores or group policy stores. No CTL . No PFX.
Certificate Management
Does the product offer features that enable users to manage their digital certificates?
via CryptoAPI 1.0 and 2.0, though only a subset of CryptoAPI 2.0 is implemented. No auto root cert update.
Does the product offer Information Rights Management features (including Digital Rights Management features)?
WMDRM
Support Windows Media 7.1 DRM and PD-DRM (Portable Device DRM)
Does the product offer support to platforms that offer hardware-based security (e.g., Next Generation Secure Computing Base, TCPA)?
Custom hardware can provide TCPA-like features which can be leveraged via CryptoAPIi
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 25
Appendices
Appendix 1-Windows CE Security Features
Topic
Biometric Support
Meaning
Does the product offer biometric authentication?
Serial, Parallel, USB Smart Card readers supported. A sample Smart Card CSP is also provided.
Does the product offer features that allow an administrator to restrict, on a program-byprogram basis, which applications users can run?
Allows modules to be designated as "trusted" or "untrusted" when signing applications. This is done by the OEM but not an administrator. The OEM can choose to either run the app as Trusted, Untrusted or not load it at all depending on the signature. A custom bootloader linked ot device image au8tnetication can be implemented to link application permission to particular imate and instance..
Does the product offer any features that support the use of managed code?
The CF and C# Provide a managed code environment which does a good gob of controlling 'buffer overruns' that can plague secure applications. There are also 3ed parties like Insignia Solutions that can offer Java for CE.NET
Bootloader Security
Does the product offer features for securely updating flash ROM?
Boot loaders are typically custom and specific to the device. Boot loaders can incorporate security code to authenticate the software as it loads.
Installation Security
Does the product offer a security check as applications are installed onto the device?
The OS and applications can be loaded in many ways- the typical scenario for a secure system is to load in a secure facility, as part of the Functional Test process . OS and application will be identified to the device as they load.
Execution Security
Does the product offer a security check as applications are executed on the device?
Support a 2-tier Security Model (aka Trusted Model). Trusted processes have complete access to the system, while untrusted processes have limited access. See details at: http://msdn.microsoft.com/library/enus/wcedsn40/html/cmconCreateTrustedEnvironment.asp
Does the product offer features that create, store or use cookies?
Antivirus Support
Hooks available in the OS to allow filters to sit on top of the File System so 3rd parties can write anti-virus filters. Mulitipe companies offer these filters.
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 26
Appendices
Appendix 1-Windows CE Security Features
Topic Meaning Supplementary Data, Comment
IDS Support
known-secure protocols such as used by Forftress are recgnized by popular IDS monitors
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 27
Appendices
Appendix 2-Various Standards Associated with Security
ISO/IEC ISO/IEC DTR 13335 ISO/IEC 17799 ISO/IEC 15408 ISO/IEC 10181 ISO/IEC 13569 ISO/IEC 9735 ISO 9564-2:1991 ISO 11568 Banking Key Management (Retail) ISO 15782 Banking Certificate Management ISO/IEC 9579:2000 CCITT / ITU X.802 X.803 X.810 X.811 X.812 X.813 X.814 X.815 X.816 NIST FIPS Pub 102 FIPS Pub 191 NBS Spec Pub 500-133 NIST Spec Pub 500-169 NIST Spec Pub 500-170 NIST Spec Pub 500-171 NIST Spec Pub 800-12 NIST Spec Pub 800-14 NIST Spec Pub 800-18 NIST Special Publication 800-30 US Department of Defense DoD 5200.28-STD DoD 5220.22-m Internet Engineering Task Force RFC 2196 RFC 2504
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 28
Appendices
Appendix 3- Table of Contents For An Actual Protection Profile
TheTarget of Evaluation is Virus Protection Software, to be approved according to Common Criteria. I have put in bold text the key points mentioned in this paper:
1. Introduction 1.1 Identification 1.2 Overview 1.3 Mutual Recognition of Common Criteria Certificates 1.4 Conventions 1.5 Glossary of Terms 1.6. Document Organization 2. Target of Evaluation (TOE) Description 2.1 Product Type 2.2 General TOE Functionality 2.3 Cryptographic Requirements 2.4 TOE Operational Environment 3. TOE Security Environment
3.1 Threats
3.2 Security Objectives and Policy
(How and why Threats, Objectives and Countermeasures were aligned this way)
7.1 7.2 7.3 7.4 7.5 Security Objectives derived from Threats Objectives derived from Security Policies Objectives derived from Assumptions Requirements Rationale Explicit Requirements Rationale 7.5.1 Explicit Functional Requirements 7.5.2 Explicit Assurance Requirements 7.6 Rationale for Strength of Function 7.7 Rationale for Assurance Rating
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 29
Appendices
Appendix 4- CERT Listing
Recent Vulnerability Notes (Date Jan 5 2004, From CERT Site) VU#288308 Microsoft Internet Information Server (IIS) vulnerable to cross-site scripting via HTTP TRACK method VU#734644 ISC BIND 8 vulnerable to cache poisoning via negative responses VU#940388 GnuPG creates ElGamal keys for signing using insufficient entropy VU#652278 Microsoft Internet Explorer does not properly display URLs VU#148564 Apple QuickTime/Darwin Streaming Server integer overflow in MP3Broadcaster utility VU#352462 Cisco ACNS contains buffer overflow vulnerability in the authentication module when supplied an overly long password VU#909678 DameWare Mini Remote Control vulnerable to buffer overflow via specially crafted packets VU#707100 Multiple web-based email services fail to filter malicious characters when the message contains cascading style sheet character escaping VU#325603 Integer overflow vulnerability in rsync VU#301156 Linux kernel do_brk() function contains integer overflow Tabulation By Supplier Microsoft: 3ed Party Windows: Various Unix/Posix/Linux: 2 1 6
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 30
Appendices
Appendix 5- Third Party Windows CE Security Software
All statements made below are based on the vendors claims for the product and have not necessarily been checked. Also- remember PPC is not CE.NET and programs designed for one may not run on the other without some adaptation.
Airscanner Mobile AntiVirus Pro. Offers Automatic, easy, online updates of virus signatures and scanning engine. It is fast, with optimized scanning speed based on patent pending technology. Support for PocketPC 2003/Windows Mobile 2003. avast! 4 PDA Edition is designed to protect pocket devices (PDA) from viruses. The program includes: High speed, Scanning kernel; Reports & logs; Updates. avast! PDA Edition detects only the viruses (or any other malicious code) written for the target environment (i.e. the code capable of running in given OS). BitDefender AntiVirus for Windows CE is an anti-virus software specially designed for devices using the Microsoft Windows CE operating system, it is built on the cutting edge "plug-in" technology, allowing fast customization and upgrades. Bluefire Security Technologies provide Compact Firewall and Intrusion Detection System (IDS) for protection against viruses and attacks on mobile devices and provides a centralized console for policy-based management across large-scale mobile device deployments. Bluefire Mobile Firewall Plus provides Firewall, intrusion prevention, integrity management, authentication, encryption and enterprise security management features that enable the safe use of mobile and wireless applications. Computer Associates eTrust anti-virus protection for mobile devices. eTrust Antivirus provides enterpriseclass protection against virtually all forms of costly virus and malware attacks from the PDA to the gateway . Dual virus-scanning engines provide double the protection, superior management, FREE signature updates, and the eTrust TARGET offer cost-effective protection for todays networks against potentially damaging and costly virus incidents. InoculateIT is an anti-virus solution for networked environments sold via Symbol Technologies including Windows CE devices offering management and virus protection. Features of InoculateIT include Real-Time Cure, Universal Manager, Virus Wall, Virus Quarantine, Hands-Free Updates, Extensive Alerting Options, Internet Web Browser Integration, and Messaging Protection. Fortress Technologies AirFortress, is an embedded communication stack that allows very secure wireless communication, even over commercial 802.11 cards and access points. The software has been tested according to Common Criteria F-Secure Anti Virus Software This anti-virus for mobile devices provides on-device background virus checking with automatic virus database updates in corporate environments or over wireless connections. The F-Secure management software also handles distributions of crypto-keys and password management. Handango Vault is a secure, encrypted database for storing sensitive data on your handheld device. Handango Vault uses BlowFish encryption to keep your data safe. The database has predefined fields for login names, passwords, URLs, and more. You select which fields to display for each entry. Data can be exported to MemoPad for printing from your desktop. Plus, there is only one password to remember. Handango Security Guard helps businesses or individuals get control by securing data and controlling application access with password protection. It also includes Trend Micro PC-cillin virus protection software that can scan applications at regular or user-determined intervals to ensure that the handheld remains virus free. It even has a smart-lock feature that lets you determine when to allow a grace period for password entry. It provides file and data encryption along with virus protection. IIris CAT (for Windows CE) is a anti-virus product for the compact operating system. The software protects Win CE device users from viruses lurking inside of transferred files on the new small systems. Kaspersky Security for PDA This software provides protection of personal data stored on mobile devices running the Windows CE operating system. The system offers Anti-Virus features, and encryption of locally stored data. Odyssey Software AppCenter was developed to give an administrator control over how a portable or mobile devices are set up, with defined permissions to user and administrator. AppCenter runs on
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 31
Appendices
CE or PPC devices. It is currently resold as part of certain Symbol products Trend Micro PC-cillin for Wireless 2.0 offers automatic, real-time scanning to protect wireless devices and computers from potential threats that can occur when downloading files from the Internet, beaming, and during synchronization. It provides portable, easy-to-use antivirus security to defend wireless devices against malicious code and viruses hidden inside files, email, or on the Web. Trust Digital Trusted Mobility Suite This very complete suite of products offers strong protection in a centrally managed manner. Trust has achieved FIPS 140 Level 2 certification.
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 32
Appendices
Copyright , Applied Data Systems, Inc, 2003-2004. All Rights Reserved. This document may not be used for commercial gain without permission of Applied Data Systems, Inc. Any trademarks used within are the property of their respective owners. This document contains technical descriptions that may not be representative of Applied Data Systems product or services
Applied Data Systems 9140A Guilford Road Columbia, Maryland 21046 Phone 301-490-4007 Fax 301-490-4582
Page 33