AAU Studenterprojekter - besøg Aalborg Universitets studenterprojektportal
Et kandidatspeciale fra Aalborg Universitet
Book cover


Umbrella, We cant prevent the rain - But we dont get wet

Forfattere

; ;

Semester

4. semester

Uddannelse

Udgivelsesår

2004

Abstract

Dette speciale præsenterer Umbrella, en sikkerhedsmekanisme til Linux på håndholdte enheder. Umbrella kombinerer procesbaseret obligatorisk adgangskontrol (MAC)—regler der begrænser, hvad programmer må gøre—med autentificering af filer, så kun betroet software kører. Løsningen er bygget oven på Linux Security Modules (LSM) i Linux-kernen 2.6 og er implementeret og testet på en HP iPAQ PDA. Adgangskontrollen håndhæves på procesniveau: Hver proces har et sæt restriktioner og arver som minimum forældrens restriktioner. Når en proces opretter et barn, kan udvikleren give barnet en endnu mere restriktiv kontekst. På den måde kan princippet om mindst privilegium håndhæves for potentielt risikable delprocesser. For at sikre software leverer leverandører signerede eksekverbare filer ved hjælp af offentlig nøgle-kryptografi. Signaturen indeholder både de restriktioner, der skal sættes ved kørsel, og en kryptografisk hash af filen, så Umbrella kan opdage, hvis den er blevet ændret. Den procesbaserede MAC-del er implementeret med succes, mens filsystemrelaterede dele af implementeringen mangler. Specialet indeholder desuden præstationstests (benchmarking) og undersøger metoder til at verificere LSM.

This thesis presents Umbrella, a security mechanism for Linux on handheld devices. Umbrella combines process-based mandatory access control (MAC)—rules that limit what programs are allowed to do—with file authentication to ensure only trusted software runs. The system is built on the Linux Security Modules (LSM) framework in the Linux 2.6 kernel and was implemented and tested on an HP iPAQ PDA. Access control is enforced at the process level: each process carries a set of restrictions and inherits at least those of its parent. When a process creates a child, the developer can assign a stricter context to that child. This lets developers enforce the principle of least privilege for potentially risky subprocesses. To protect software integrity, vendors provide signed executables using public key cryptography. The signature includes the restrictions to apply at run time and a cryptographic hash of the executable, allowing Umbrella to detect any tampering. The process-based MAC component has been successfully implemented, while file system–related implementation remains pending. The thesis also reports performance benchmarks and examines methods for verifying LSM.

[Dette resumé er genereret ved hjælp af AI]