next up previous contents
Next: Implementation Up: Design Previous: Persistent Labeling   Contents

API extensions

Figure: New Linux file-related system calls for security-aware applications.
\begin{figure}\begin{footnotesize}
\begin{center}
\begin{description}
\item[{\tt...
..., except using a fd.
\end{description}\end{center}\end{footnotesize}\end{figure}

To permit applications to create objects with a specified label rather than the default label, an extended form of each of the file creation system calls must be added that accepts an additional SID parameter. To permit applications to obtain the SID of an object, an extended form of each of the file status system calls must be added that return an additional SID parameter. To permit applications to change the SID of an object, new system calls must be added. The new Linux system calls that must be added for security-aware applications are shown in Figure 16.


Table 16: Control requirements for relabeling.
  CONTROL REQUIREMENT(S)
CALL(S) CLASS PERM SSID TSID
(f)chsid dir search current path
  file relabelfrom current file
  file relabelto current new
  file transition old new
  fs associate new fs
(f)chsidfs dir search current path
  fs relabelfrom current fs
  fs relabelto current new_fs
  fs transition old new_fs
  fs associate new_file new_fs


For the new system calls that are simply extended forms of existing Linux system calls, the same set of control requirements apply. The control requirements for the new system calls for relabeling are shown in Table 16.


next up previous contents
Next: Implementation Up: Design Previous: Persistent Labeling   Contents