18.11.2014 Views

One - The Linux Kernel Archives

One - The Linux Kernel Archives

One - The Linux Kernel Archives

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

274 • <strong>Linux</strong> Symposium 2004 • Volume <strong>One</strong><br />

(or is unable) to update the hashes when making<br />

unauthorized changes to the files. Some<br />

auditing solutions, such as the <strong>Linux</strong> Auditing<br />

System (LAuS) 3 that is part of SuSE <strong>Linux</strong><br />

Enterprise Server, can track system calls that<br />

affect the filesystem. Another recent addition<br />

to the 2.6 <strong>Linux</strong> kernel is the Light-weight<br />

Auditing Framework written by Rik Faith[28].<br />

<strong>The</strong>se are implemented independently of the<br />

filesystem itself, and the level of detail in the<br />

records is largely limited to the system call parameters<br />

and return codes. It is advisable that<br />

you keep your log files on a separate machine<br />

than the one being audited, since the attacker<br />

could modify the audit logs themselves once<br />

he has compromised the machine’s security.<br />

4.1.5 Improvements on Integrity<br />

Extended Attributes provide for a convenient<br />

way to attach metadata relating to a file to the<br />

file itself. On the premise that possession of<br />

a secret equates to authentication, every time<br />

an authenticated subject makes an authorized<br />

write to a file, a hash over the concatenation of<br />

that secret to the file contents (keyed hashing;<br />

HMAC is one popular standard) can be written<br />

as an Extended Attribute on that file. Since<br />

this action would be performed on the filesystem<br />

level, the user would not have to conscientiously<br />

re-run userspace tools to perform such<br />

an operation every time he wants to generate<br />

an integrity verifier on the file.<br />

This is an expensive operation to perform over<br />

large files, and so it would be a good idea to<br />

define extent sizes over which keyed hashes are<br />

formed, with the Extended Attributes including<br />

extent descriptors along with the keyed hashes.<br />

That way, a small change in the middle of a<br />

3 Note that LAuS is being covered in more detail in<br />

the 2004 Ottawa <strong>Linux</strong> Symposium by Doc Shankar,<br />

Emily Ratliff, and Olaf Kirch as part of their presentation<br />

regarding CAPP/EAL3+ Certification.<br />

large file would only require the keyed hash<br />

to be re-generated over the extent in which the<br />

change occurs. A keyed hash over the sequential<br />

set of the extent hashes would also keep an<br />

attacker from swapping around extents undetected.<br />

4.2 File Confidentiality<br />

Confidentiality means that only authorized<br />

users can read the contents of a file. Sometimes<br />

the names of the files themselves or a directory<br />

structure can be sensitive. In other cases, the<br />

sizes of the files or the modification times can<br />

betray more information than one might want<br />

to be known. Even the security policies protecting<br />

the files can reveal sensitive information.<br />

For example, “Only employees of Novell<br />

and SuSE can read this file” would imply that<br />

Novell and SuSE are collaborating on something,<br />

and neither of them may want this fact<br />

to be public knowledge as of yet. Many interesting<br />

protocols have been developed that can<br />

address these sorts of issues; some of them are<br />

easier to implement than others.<br />

When approaching the question of confidentiality,<br />

we assume that the block device that<br />

contains the file is vulnerable to physical compromise.<br />

For example, a laptop that contains<br />

sensitive material might be lost, or a database<br />

server might be stolen in a burglary. In either<br />

event, the data on the hard drive must not be<br />

readable by an unauthorized individual. If any<br />

individual must be authenticated before he is<br />

able to access to the data, then the data is protected<br />

against unauthorized access.<br />

Surprisingly, many users surrender their own<br />

data’s confidentiality (and more often than not<br />

they do so unwittingly). It has been my personal<br />

observation that most people do not fully<br />

understand the lack of confidentiality afforded<br />

their data when they send it over the Internet.<br />

To compound this problem, comprehend-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!