Chapter 1. Safe Initialization
Robust initialization of a program is important
from a security standpoint, because the more parts of the
program's environment that can be validated (e.g.,
input, privileges, system parameters) before any critical code runs,
the better you can minimize the risks of many types of exploits. In
addition, setting a variety of operating parameters to a known state
will help thwart attackers who run a program in a hostile
environment, hoping to exploit some assumption in the program
regarding an external resource that the program accesses (either
directly or indirectly). This chapter outlines some of these
potential problems, and suggests solutions that work towards reducing
the associated risks.
|