This is an old revision of the document!
Zhouyi Zhou
Email: zhouzhouyi@FreeBSD.org
…
High everyone, I am a new comer. My job in SOC 2007 is writing a testsuite for Security Subsystem for FreeBSD/TrustedBSD. I am also interested in GCC and GDB besides FreeBSD.
- The main objective of this stage is to test the correctness of FreeBSD Mandatory Access Control Framework including correctly passing the security label from userland to kernel and non-bypassibility of Mandatory Access Control Hooks.
Work performed:
- Use mygcc to perform static analysis of MAC Framework hook placement: AsiaBSDCon Presentation: AsiaBSDCon.pdf, patch against mygcc-1.0.0 mygcc.patch, the condate language file: ex5.chk
- Constructed a pair of pseudo ethernet drivers used for testing network related hooks. To avoid the packet go through the lo interface, the IP address in the packet is twisted in the driver.
- Constructed a framework for logging Mandatory Access Control hooks which is got called during a period of time.
- In kernel, every non-null label is got externalized into human readable string and recorded in a tail queue together with the name of hook that got called and possible flags or modes (etc. VREAD/VWRITE for mac_check_vnode_open hook). There is a thread much like audit subsystem's audit_worker logging the queue into a userspace file. The userland program use open, ioctl and close the /dev/mactest node to trigger and stop the logging. The logging file is truncated to zero every time the logging mechanism is triggered.
- In userland, a bison based parsing tool is used to parse the logged file and reconstruct the record chain which will be compared with testsuite supplied configuration file to examine if expected hooks is got called and the label/flags/modes are correct. c) The testsuite mainly follows src/tools/regression/fstest, modified to adapt to test Mandatory Access Control Framework and include tests for signals
- The test cases about mandatory access control hooks for fifo, link, mdconfig, netinet, open, pipe, rename, rmdir, signal, symlink, sysvshm and truncate are written. Two security vulnerabilities are found during the test case writing.
The source code of project can be found on MAC Test's perforce repository.
Show my results in google booth of AsiaBSDCon 2008, Tokyo Japan:
The patch for in_cksum of FreeBSD in_cksum.patch
A park in Wuxi where we implement TrustedBSD for government website
刘伟-博士论文.rar 刘伟评阅书.doc 博士论文-石志国.rar 蔡嘉勇博士论文.pdf 蔡嘉勇评阅书.doc 论文评阅书-石志国.rar
