A security checklist for developers

QNX SDP8.0QNX OS System Security GuideAPIConfiguration

Follow these recommendations when you develop and compile applications to help create a secure QNX OS system:

Recommendation More information
Use the security policy library (libsecpol) APIs to manage an application's privileges. These APIs make it easy for a process to control its own privileges as well as those of any child processes. Security policies
Use secpol_transition_type() to configure your application to drop unneeded privileges after initialization. Initialization
Enable stack canaries to protect against stack buffer overflow on stack-allocated variables and other threats. Stack protection
Enable the RELRO (Relocation Read-Only) compiler option to mark the relocation sections of an executable as read-only. RELRO
Use compiler options to enable security features, generate warnings, and additional verification. Compiler defenses
Enable the use of fortified system functions, which are designed to detect out-of-bounds memory accesses. Fortified system functions
For random number generation, use the QNX OS random service (instead of libc random number functions). Random number generation
When you design and implement resource managers:
  • Implement proper length checking (to prevent buffer overflows) and permission checking.
  • To allow the system security policy to control ownership and permissions, use secpol_resmgr_attach(), not resmgr_attach(). This configuration gives the system integrator control of resource manager mount points, not just the ability verify their ownership and permissions.
Writing a resource manager

In addition to detailed discussions of and instructions for features in this essentials list, this chapter provides information on additional features that can add additional security or that apply only in specific environments.

Page updated: