EMB423 Creating A Trusted Environment For Windows CE 5.0 Nat Frampton President Real Time Development

Slides:



Advertisements
Similar presentations
Dynamic Analysis of Windows Phone 7 apps Behrang Fouladi, SensePost.
Advertisements

4/6/2017 2:06 PM © 2005 Microsoft Corporation. All rights reserved.
MHK200 Module 1: Introduction to Windows CE. MHK200 Overivew Windows CE Design Goals Windows CE Architecture Supported Technologies, Libraries, and Tools.
Chapter 6 Security Kernels.
EMB311 Enabling Media Playback On Windows CE Aaron Cheng Program Manager Windows CE Microsoft Corporation.
EMB306 Building Windows CE Devices With DX Support John L. Marcantonio Program Manager Windows CE Multimedia Microsoft Corporation.
EMB304 Building Trustworthy Windows CE Embedded Devices and Applications Ganapathy Raman Program Manager Windows CE Security Team Microsoft Corporation.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
Matt Young Windows Mobile Joint Development Program (JDP) Microsoft
Amit Chopra APP209 Introducing “Orcas” Huh ? What’s “Orcas”?
What’s new for Rich Clients? Martin Parry Developer & Platform Group Microsoft Ltd
Application Development for Windows CE Devices
EMB321 How To Write A Windows CE SDIO Client
WCL M units by 2015 Designed to always be connected to a server-based desktop Examples of Thin Clients Typically runs a light-weight embedded.
Rob Hwacinski Sr. Program Manager Lead Microsoft Corporation WEM206 Ashwin Kulkarni Sr. Product Manager Microsoft Corporation.
EMB313 Increasing Developer Productivity With Windows CE 5.0 Matt Young Windows Mobile Joint Development Program (JDP) Microsoft.
CLI339 Building Bluetooth Applications On The Windows CE 5.0 And Windows Mobile Platforms Anil Dhawan Program Manager Windows Mobile.
Page 1 Sandboxing & Signed Software Paul Krzyzanowski Distributed Systems Except as otherwise noted, the content of this presentation.
Microsoft ® Official Course Module 9 Configuring Applications.
What is Windows Embedded all about? Don Kerr Embedded Strategy Manager Microsoft Australia Andrew McGrath PrincipalBluBits SOL215.
EMB425 Using Advanced Platform Builder Debugger Features James Stulz Program Manager Windows CE Core Tools Microsoft Corporation.
EMB313 Increasing Developer Productivity With Windows CE 5.0
EMB308 Developing a Windows CE 5.0 OAL
Smart Client Applications for Developers Davin Mickelson, MCT, MCSD New Horizons of MN.
EMB318 Improve Product Quality Using Windows CE Error Reporting (Watson) James Stulz Program Manager Windows CE Core Tools Microsoft Corporation.
EMB315 Non-Volatile Object Store And Hive Based Registry Design For Windows CE Rick Austin Principle Engineer Intermec Corporation.
How To Fix Common Computer Errors m.
EMB426 Windows CE Memory Architecture Steve Maillet CEO/Chief Software Architect EmbeddedFusion.
CLI324 Tablet PC Platform Advanced Topics Software Design Engineer/Test Lead
Windows CE 시스템 개발 개요. 임베디드시스템소프트웨어 -Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle.
BIZ208 Windows CE 5.0 Bringing to Market a Broad Range of Devices Dan Javnozon Product Manager MEDG Microsoft Corporation Business Track Presentation.
Introduction to Embedded Software Development School of software Engineering Introduction to Windows CE.
Overview of System Development. Overview Selecting a Windows Embedded Operating System The Windows CE Platform Development Cycle The Application Development.
EMB320 Windows CE 5.0 Image Configuration, Boot Loaders, And Security
MANAGEMENT ANTIMALWARE PLATFORM Microsoft Malware Protection Center Dynamic Signature Svc Available only in Windows 8 Endpoint Protection Management.
Memory Leak Detection Douglas Boling President Boling Consulting Inc.
An approach to on the fly activation and deactivation of virtualization-based security systems Denis Efremov Pavel Iakovenko
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. WEB.
Compatibility and Interoperability Requirements
EMB422 Advanced Embedded Visual C++ Application Development Control - View Nat Frampton President Real Time Development
EMB424 Implementing Fault Tolerant Systems in Windows CE 5.0 Nat Frampton President Real Time Development
Windows CE 시스템 개발 개요. 모바일운영체제 - Windows CE 2 Overview  Selecting a Windows Embedded Operating System  The Windows CE Platform Development Cycle  The.
Windows Vista Inside Out Ch 5: Setting Up and Troubleshooting Hardware Last modified am.
New Managed Messaging, State, And Notification APIs In Windows Mobile 2005 Gaurav Khanna Developer Evangelist Microsoft India.
EMB427 Writing Real-Time Applications On Windows CE 5.0 Nat Frampton President Real Time Development Corporation
CLI205 Basic Considerations For Mobile PC Application Development Tablet and Mobile PC Technical Evangelist Microsoft Corporation.
Dissecting the Windows CE Build Process James Y. Wilson Principal Engineer, Windows Embedded MVP CalAmp, Inc. James Y. Wilson Principal Engineer, Windows.
PRIOR TO WEB SERVICES THE OTHER TECHNOLOGIES ARE:.
MBL490 Deploying Applications to Smartphone and Microsoft® Powered Pocket PC Marcus Perryman Consultant.
CLI325 In Depth – Ink Data Management Mark Hopkins Programmer Writer Tablet and Mobile PC Group Microsoft Corporation.
Wireless and Mobile Security
DEV395 No Touch Deployment for Windows Forms Jamie Cool Program Manager.NET Client Microsoft Corporation.
SVR201 SQL Server 2005 Mobile Edition: The Evolution Of SQL Server CE Scott Smith Program Manager Visual Studio for Devices Microsoft Corporation.
CLI210 Introduction To Managed Development For Devices With Visual Studio 2005 Scott D. Smith Program Manager Visual Studio for Devices Microsoft Corporation.
VMM Based Rootkit Detection on Android
Advanced Memory Management Douglas Boling President Boling Consulting Inc.
Windows CE Services Douglas Boling President Boling Consulting Inc.
MBL361 微软是如何出品 Windows Mobile 5.0 软件 崔 海 Program Manager Mobile and Embedded Device Division Microsoft Corporation.
LINUX Presented By Parvathy Subramanian. April 23, 2008LINUX, By Parvathy Subramanian2 Agenda ► Introduction ► Standard design for security systems ►
ClickOnce Deployment (One-click Deployment)
11/12/ :06 PM © Microsoft Corporation. All rights reserved. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN.
A Fast Track into Device Guard
Security mechanisms and vulnerabilities in .NET
Chapter 3: Windows7 Part 1.
Laura A. Robinson July 10, June 30, /15/2018 4:19 PM
1/14/2019 3:57 AM © 2004 Microsoft Corporation. All rights reserved.
Intel Active Management Technology
Delivering great hardware solutions for Windows
ClickOnce Deployment (One-click Deployment)
Overview of System Development for Windows CE.NET
Presentation transcript:

EMB423 Creating A Trusted Environment For Windows CE 5.0 Nat Frampton President Real Time Development

M anagement T ools C ommunications & M essaging Device Update Agent Software Update Services Live Communications Server Exchange Server Internet Security and Acceleration Server Speech Server Image Update L ocation S ervices M ultimedia MapPoint DirectX Windows Media Visual Studio 2005 D evelopment T ools MFC 8.0, ATL 8.0 Win32 N ative M anaged S erver S ide L ightweight R elational SQL Server 2005 Express EditionEDB D ata P rogramming M odel D evice B uilding T ools D evice B uilding T ools H ardware/ D rivers Windows XP DDK Windows Embedded Studio Platform Builder OEM/IHV Supplied BSP (ARM, SH4, MIPS) OEM Hardware and Standard Drivers Standard PC Hardware and Drivers SQL Server 2005SQL Server 2005 Mobile Edition ASP.NET Mobile ControlsASP.NET.NET Compact Framework.NET Framework Microsoft Operations Manager Systems Management Server

Overview Inside Loader Authentication Implementation Example Implementation Scenerios Conclusions

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? 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 Load Library Trusted Model? Y N Y N Load Fail Pass OEM Verification Assign Trust Level T R F L o a d Load

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 FunctionDescriptionReturn value OEMCertifyModuleInitEnables the OS loader to notify the OEM that a new module is being loaded. Allows the OEM to decide whether to verify the module for safety. TRUE or FALSE OEMCertifyModuleAllows the OS loader to pass the module code (for example, DLL, EXE, and OCX) to the OEM for verification that it is safe to run on the system. OEM_CERTIFY_TRUST OEM_CERTIFY_RUN OEM_CERTIFY_FALSE

DLL And EXE Trust Levels EXE trustDLL trustFinal DLL trust OEM_CERTIFY_RUN OEM_CERTIFY_TRUSTOEM_CERTIFY_RUN OEM_CERTIFY_TRUSTOEM_CERTIFY_RUNDLL fails to load OEM_CERTIFY_TRUST

Loader Location Appears in… \WINCE500\Private\WINCEOS\COREOS\N K\KERNEL\Loader.c Function VerifyBinary Define the following in OEMInit… pOEMLoadInit = OEMCertifyModuleInit pOEMLoadModule = OEMCertifyModule

Implementation Example

Lockdown Architecture Win32 Kernel OAL Load Library OEMCertify…. AllowableFilesList KernelIOControl AllowableFilesDatabase

File Changes \WINCE500… \PLATFORM\COMMON\SRC\X86\COMMON\STARTU P\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 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 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… Fill out an evaluation for this session Randomly selected instant WIN prizes! Randomly selected instant WIN prizes! Use real technology in a lab Instructor led Reef E/F & Breakers L Self-paced Reef B/C Self-paced Reef B/C Visit the Microsoft Product Pavilion in the Exhibit Hall Shorelines B in the Exhibit Hall Shorelines B

After The Conference… Develop Build InstallBuildJoin Install Enter Enter Join Full-featured trial versions of Windows CE and/or Windows XP Embedded Cool stuff & tell us about it: msdn.microsoft.com/embedded/community msdn.microsoft.com/embedded/community Windows Embedded Partner Program: Windows Mobile 5.0 Eval Kit including Visual Studio 2005 Beta 2 Mobile2Market Contest and win up to $25000: mobile2marketcontest.com mobile2marketcontest.com Microsoft Solutions Partner Program: partner.microsoft.com partner.microsoft.com

Tools & Resources msdn.microsoft.com/ embedded microsoft.public. windowsxp.embedded windowsce.platbuilder windowsce.platbuilder windowsce.embedded.vc windowsce.embedded.vc blogs.msdn.com/ mikehall Windows CE 5.0 Eval Kit Windows XP Embedded Eval Kit msdn.microsoft.com/ mobility microsoft.public. pocketpc.developer smartphone.developer dotnet.framework.compactframework blogs.msdn.com/ windowsmobile vsdteam netcfteam Windows Mobile 5.0 Eval Kit Websites Newsgroups Blogs Tools Build Develop