Chapter 2. Access Control
Access control is a major issue for
application developers. An application must always be sure to protect
its resources from unauthorized access. This requires properly
setting permissions on created files, allowing only authorized hosts
to connect to any network ports, and properly handling privilege
elevation and surrendering. Applications must also defend against
race
conditions that may occur when opening files—for example, the
Time of Check, Time of Use (TOCTOU) condition. The proper approach to
access control is a consistent, careful use of all APIs that access
external resources. You must minimize the time a program runs with
privileges and perform only the bare minimum of operations at a
privileged level. When sensitive data is involved, it is your
application's duty to protect the
user's data from unauthorized access; keep this in
mind during all stages of development.
|