The TCP/IP stack for Windows Embedded CE has been implemented to avoid the most common security attacks, but some security risks remain. TCP/IP has the following potential security risks:
TCP/IP is designed to run over a public network, such as the Internet. If the security of TCP/IP is compromised, it could expose the device or local network to attacks originating from the public network.
Use extreme caution when using the Internet Protocol Helper application programming interfaces (IP Helper API). It exposes functions that enable programmatic network administration of the local computer. Using the IP Helper API, applications can view and modify network settings that are vital to a device's communication with the network. These settings include Address Resolution Protocol (ARP), ICMP, route, and local addressing information. Similar to Winsock, the IP Helper is implemented in two parts: a statically linked library (iphlpapi.lib) and a DLL (iphlpapi.dll). Iphlpapi.lib contains the headers to make the calls to the DLL. The IP Helper API is located in the calling process space, and interacts with the TCP/IPv4 and TCP/IPv6 stacks. This allows you to view and change the local network configuration.
To further protect your device from security attacks, you should follow the security recommendations provided in the subsequent sections.
For enterprise environments, Microsoft recommends a network firewall with intrusion protection, such as Microsoft Internet Security and Acceleration (ISA) Server. For more information, visit this Microsoft Web site.
Windows Embedded CE also supports a legacy packet filter built into the NAT driver that can be used as a simple firewall for devices that include NAT but do not include IP firewall. The packet filter is disabled by default if the IP firewall is included.
You should be aware of the registry settings that impact security. If a value has security implications you will find a Security Note in the registry settings documentation.
For TCP/IP registry information, see TCP/IP Registry Settings.