Security with Multimedia (Windows CE 5.0)
As a general rule, multimedia technologies should not be used in high security environments.
Multimedia applications tend to have very critical performance requirements and giving applications direct and unrestricted access to system hardware is generally the only way to achieve these requirements. Most of the multimedia technologies included in Windows CE are based on, and optimized around this principle.
Multimedia technologies on Windows CE can be organized into two security groups based on the types of tasks that they are designed for, hardware-centric APIs and software-centric APIs.
In all cases, it is important that you understand the capabilities and limitations of the multimedia technologies that you are using in your application as well as the larger security environment that you application will be operating in. This includes understanding how secure and trusted other applications, third party data, and network resources that your application may come in contact with are.
The hardware-centric API's are designed to provide low-level access to multimedia hardware. An example of this would be frame buffer access for graphics APIs. The following APIs fall into this category:
- Direct3D® Mobile
- Waveform audio
Of these, the waveform audio API stands apart as a technology that could be considered for used secure environments. It is designed with a level of security integration on par with Windows CE's major operating system features.
The same cannot be said for the other APIs (Direct3D Mobile and DirectDraw). In these APIs, many common security oriented precautions have been omitted in the name of greater multimedia performance. For instance, these technologies often do not perform such tasks as checking for buffer overruns or re-authenticating requests. This can potentially leave multimedia platforms that incorporate these technologies with security vulnerabilities.
Multimedia technologies that use a hardware adaptation layer (HAL) must be secure at the driver level.
The software-centric APIs are designed to make it easier for applications programmers to write applications that work with media formats. These APIs tend to rely on other software layers, such as the hardware-centric APIs discussed above, to handle low-level interactions with multimedia hardware. The software-centric APIs are used to manage the complexity of multimedia data. The following APIs fall into this category:
- DVD-Video API
- Digital Rights Management
- Windows Media
These APIs have vulnerabilities that stem form the fact that they must and respond to multimedia data that they do not control. This multimedia data can be software from unknown third-party sources. Some of these APIs work with multimedia data that can, by design of the data format, contain script instructions. The single greatest security precaution that you can take with these APIs is to use data from a known and trusted source.
Some of these APIs also rely heavily on data provided or streamed from a network source. In general, these APIs are designed around the assumption that they are working with trusted sources. As such, these APIs can be exposed to common networking security concerns, such as denial of service attacks. You can take common steps, like implementing a firewall, to counter such common vulnerabilities.
Send Feedback on this topic to the authors