Emb423 creating a trusted environment for windows ce 5 0
This presentation is the property of its rightful owner.
Sponsored Links
1 / 20

EMB423 Creating A Trusted Environment For Windows CE 5.0 PowerPoint PPT Presentation


  • 54 Views
  • Uploaded on
  • Presentation posted in: General

EMB423 Creating A Trusted Environment For Windows CE 5.0. Nat Frampton President Real Time Development [email protected] OEM/IHV Supplied. BSP (ARM, SH4, MIPS). OEM Hardware and Standard Drivers. Standard PC Hardware and Drivers. H ardware/ D rivers. Windows XP DDK.

Download Presentation

EMB423 Creating A Trusted Environment For Windows CE 5.0

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Emb423 creating a trusted environment for windows ce 5 0

EMB423Creating A Trusted Environment For Windows CE 5.0

Nat Frampton

President

Real Time Development

[email protected]


Emb423 creating a trusted environment for windows ce 5 0

OEM/IHV Supplied

BSP(ARM, SH4, MIPS)

OEM Hardware and Standard Drivers

Standard PC Hardware and Drivers

Hardware/Drivers

Windows XP DDK

Device Building Tools

Windows Embedded Studio

Platform Builder

Data

Lightweight

Relational

EDB

SQL Server 2005 Express Edition

SQL Server 2005 Mobile Edition

SQL Server 2005

Win32

Native

Managed

Server Side

Programming Model

MFC 8.0, ATL 8.0

.NET Compact Framework

.NET Framework

ASP.NET Mobile Controls

ASP.NET

Windows Media

Multimedia

DirectX

Location Services

MapPoint

Development Tools

Visual Studio 2005

Internet Security and Acceleration Server

Communications& Messaging

Exchange Server

Live Communications Server

Speech Server

Device Update Agent

ManagementTools

Software Update Services

Image Update

Systems Management Server

Microsoft Operations Manager


Overview

Overview

  • Inside Loader Authentication

  • Implementation Example

  • Implementation Scenerios

  • Conclusions


Locking down app execution trusted model

Locking Down App Execution Trusted Model

  • Application execution control via Trusted Model

  • OEM option to assign trust levels to processes

  • Protections

    • Prevents unauthorized modules from being loaded

    • Restricts access to certain system APIs

    • Prevent registry WRITE access to certain root and sub-keys:

      • HKEY_LOCAL_MACHINE\Comm, Drivers, Hardware, Init, Services, SYSTEM, WDMDrivers

    • Prevents WRITE access to files with SYSTEM attribute

      • READ access granted, by default. Can be changed via [HKLM\System\ObjectStore]\“AllowSystemAccess”


Locking down app execution when do i implement the trusted model

Locking Down App Execution When do I implement the Trusted Model?

  • 1-tier (all code runs as Trusted)

    • Prevent unknown code from executing on device

    • Trust all code running on device (to same extent)

  • 2-tier (code can run as Trusted or Untrusted)

    • End users can run any code on device

    • Protect from malicious code, such as worms, viruses, trojan attacks, etc.

    • Restrict capabilities of certain processes


Locking dow execution trusted model

Locking Dow… Execution Trusted Model

Load Library

Load

Trusted Model?

L

T

o

Y

Y

R

a

d

N

N

F

Pass OEM

Verification

Assign Trust

Level

Fail

Fail

Load


Locking down app execution trusted model1

Locking Down App Execution Trusted Model

  • Implement Trusted Environment with two functions

  • OEMCertifyModuleInit

    • Loader notifies OAL (OEM Adaptation Layer) code when launching new module

  • OEMCertifyModule

    • Loader passes module to OAL code for verification

    • Returns one of three trust levels:

      • OEM_CERTIFY_TRUST,

      • OEM_CERTIFY_RUN,

      • OEM_CERTIFY_FALSE

  • Samples available

    • loadauth.lib – Sample implementation of OEMCertifyModule and OEMCertifyModuleInit

    • signfile.exe – Desktop application that signs CE binaries


Oem certification

OEM Certification


Dll and exe trust levels

DLL And EXE Trust Levels


Loader location

Loader Location

  • Appears in…

    • \WINCE500\Private\WINCEOS\COREOS\NK\KERNEL\Loader.c

  • Function VerifyBinary

  • Define the following in OEMInit…

    • pOEMLoadInit = OEMCertifyModuleInit

    • pOEMLoadModule = OEMCertifyModule


Implementation example

Implementation Example


Lockdown architecture

Lockdown Architecture

Win32

Allowable

Files

Database

Kernel

KernelIOControl

Load Library

OAL

Allowable

Files

List

OEMCertify….


File changes wince500

File Changes \WINCE500…

  • \PLATFORM\COMMON\SRC\X86\COMMON\STARTUP\OEMINIT.C

    • Actual OEMCertification Modules

  • \PUBLIC\COMMON\OAK\INC\PkFuncs.h

    • Define IOCTL Codes into the KernelIOControl

  • \PLATFORM\COMMON\SRC\X86\INC\ioctl_tab.h

    • Associate our IOCTL Call handler with IOCTLs

  • \PLATFORM\COMMON\SRC\X86\INC\x86ioctl.h

    • Declare our interface to our IOCTL Call Handler


Implementation scenarios

Implementation Scenarios

  • OEM is free to choose trust level

  • Digital Certificates represent highest trust level

  • Digital Certificates require extra footprint

  • OEM can implement dynamic trust

    • Allows for the device to change personality

  • OEM can implement Name/Checksum


Conclusions

Conclusions

  • Windows CE 5.0 Provides a robust Security Architecture

  • Loader Certification provides a mechanism to

    • Create a Trusted Environment

    • Dynamically define the devices personality

  • Follow Best Practices at multiple levels for best defense

  • “Trusted Security is best achieved by having a thorough understanding of the Windows CE 5.0’s Security Architecture and Trust Model!”


While at medc 2005

While At MEDC 2005…

Fill out an evaluation for this session

Randomly selected instant WIN prizes!

Visit the Microsoft Product Pavilion

in the Exhibit Hall Shorelines B

Use real technology in a lab Instructor led Reef E/F & Breakers L

Self-paced Reef B/C


After the conference

After The Conference…

Build

Install

Build

Join

Full-featured trial versions of Windows CE and/or Windows XP Embedded

Cool stuff & tell us about it: msdn.microsoft.com/embedded/community

Windows Embedded Partner Program:www.mswep.com

Develop

Install

Enter

Join

Windows Mobile 5.0 Eval Kit including Visual Studio 2005 Beta 2

Mobile2Market Contest and win up to $25000: mobile2marketcontest.com

Microsoft Solutions Partner Program:partner.microsoft.com


Tools resources

Tools & Resources

Build

Develop

Websites

msdn.microsoft.com/embedded

msdn.microsoft.com/mobility

Newsgroups

microsoft.public.pocketpc.developer smartphone.developer dotnet.framework.compactframework

microsoft.public.windowsxp.embedded

windowsce.platbuilder

windowsce.embedded.vc

Blogs

blogs.msdn.com/windowsmobilevsdteamnetcfteam

blogs.msdn.com/mikehall

Tools

Windows CE 5.0 Eval KitWindows XP Embedded Eval Kit

Windows Mobile 5.0 Eval Kit


  • Login