Using SELinux to secure DDS applications: Proper configurations and Lessons Learned

Date: 
July, 2009

hen DDS is used in complex distributed systems-of-systems, numerous security concerns may arise. These include ensuring availability of the system, resistance of the system to un-trusted network traffic, and confidentiality of sensitive data. As systems are increasingly interconnected, it is crucial that security concerns be considered early in the design process. A solution that can address some of these problems is the use of an operating system with support for security policy control. One of the most versatile OS approaches to security is that of type enforcement, the model used by Security-Enhanced Linux (SELinux). We present an example system showing the use of SELinux to enforce security constraints. The tradeoffs involved in addressing the identified security risks will be discussed, which include issues of performance and system complexity. Testing confirms that the SELinux implementation imposes a minimal performance penalty. Encrypted data traffic, on the other hand, can result in significant overhead. It is also important to ensure that security policies are maintainable by operations staff once the system is deployed. A set of recommended uses of SELinux in DDS systems will be discussed.