



#Simpleftp server for xp drivers#
1 Creating a More Secure Device with Windows Embedded Compact 7 Douglas Boling Boling Consulting Inc.Ģ About Douglas Boling Independent consultant specializing in Windows Mobile and Windows Embedded Compact (Windows CE) On-Site Instruction Consulting and Development Author Programming Embedded Windows CE Fourth Editionģ Agenda Security Holes WEC Security Basic Practices More secureĤ Security Holes Full function shells Debugging tools Extra driver functionality Other componentsĥ Remove Shells Explorer Shell Very useful for debugging Bad to see it displayed when an unexpected error terminates application Control panel applets can change basic behavior Beware of Win Key combinations Even if your keyboard doesn t have a windows key, keyboards can be attachedĦ A Proper Shell Create your own shell Base it on MINSHELL C:\WINCE700\public\wceshellfe\oak\taskman Minshell Provides desktop and hidden taskbar window Can launch and kill applications Intercepts proper system keys Modify Minshell to remove the pop-up dialog that switches/kills applications Add features you may want like a auto-restart threadħ Remove Debugging Components Telnet server Useful for debugging Not designed as secure server FTP server Useful for debugging Not designed as secure server Bootloader download capability There is no such thing as a secret key combinationĨ Remove Unnecessary USB Client Drivers Unless required, remove USB HID driver Unexpected keyboards and mice can change behavior USB Storage device driver Method of introducing code into system Method of removing data from the system It is possible to configure registry to limit client drivers to load only for specific hardwareĩ Remove Unnecessary Components It s easy to simply to use a large image so app devs don t have to worry about compatibly Easy solution that has consequences More components mean a larger attack surface Just say no to extra componentsġ1 Warning Dialog Example From User Mode network I/O driverġ3 Address Space Randomization (ASR) Randomizes load address of DLLs Increases security by making addresses nondeterministic Enable with environment variable IMGSSLRENABLE=1 Address Space Layout Randomization: 0 = disabled non-zero = enabled IF IMGASLRENABLE "AslrEnabled"=dword:1 ENDIF IMGASLRENABLEġ4 Data Execution Prevention (DEP) Prevents code from executing out of data pages Supported on ARMv6 and later architectures only Not x86 Can be configured to support entire system or by application Entire system has No Execute flag set for data pages All applications must be marked as NX aware in PE header Only selected applications have No Execute flag set These applications have NX aware bit set in PE header Regardless, NX bit always set for kernel data pagesġ5 Enabling Data Execution Prevention Set environment variable IMGNXSUPPORT=1 Configure registry variable to determine level if DEP Enable No execute support (Data Execution Prevention) 0 = no NX support at all 1 = by application NX support (NX support by PE flags) 2 = NX flag enforced (only load NX compatible executables) If IMGNXSUPPORT is set, we default to by application NX support.
