not adhere to least privilege and propose architectural transformations for solving this
violation. Other conditions and transformations for identifying and solving least privi-
lege violations can be found by dropping the assumptions the authors made, or by using
one of the other strategies for accommodating least privilege.
The main challenge of enforcing least privilege at architectural level is that it is
hard to find good architectural changes that solve least privilege violations and that
do not change the semantics of the architecture, because the knowledge to make such
changes is limited at architectural level. In the future, our work can be further refined
to address the issues discussed in the paper. New transformations for the other two
strategies accommodating least privilege should be identified as well as transformations
changing actors and use cases. Next, our work should be validated. Finally, our work
will be extended to (i) other activities of the (secure) software development life-cycle,
and (ii) to other security principles. Metrics should be identified to (i) guide the architect
in selecting the software architecture best adhering to the principle and having the right
semantics, and to give an indication that the resulting software is indeed more secure.
Acknowledgements
Research for this paper was sponsored by IBBT, the Interdisciplinary institute for Broad-
Band Technology.
References
1. A. Acharya and M. Raje. Mapbox: Using parameterized behavior classes to confine applica-
tions. Technical report, Santa Barbara, CA, USA, 1999.
2. Daniel Julius Bernstein. Qmail home page.
3. David Brumley and Dawn Song. Privtrans: Automatically partitioning programs for privilege
separation. In Proceedings of the 13th USENIX Security Symposium, August 2004.
4. Chris Evans. Comments on the Overall Architecture of Vsftpd, from a Security Standpoint.
Internet, February 2001.
5. Thuong Doan, Steven Demurjian, T. C. Ting, and Andreas Ketterl. Mac and uml for secure
software design. In FMSE ’04: Proceedings of the 2004 ACM workshop on Formal methods
in security engineering, pages 75–85, New York, NY, USA, 2004. ACM.
6. J. J
¨
urjens. Secure Systems Development with UML. March 2004. To be published.
7. Douglas Kilpatrick. Privman: A library for partitioning applications. In USENIX Annual
Technical Conference, FREENIX Track, pages 273–284, 2003.
8. Dimitri Van Landuyt, Johan Gr
´
egoire, Sam Michiels, Eddy Truyen, and Wouter Joosen. Ar-
chitectural design of a digital publishing system. Technical report, October 2006.
9. Niels Provo. Systrace - interactive policy generation for system calls.
10. Jerome H. Saltzer and Michael D. Schroeder. The protection of information in computer
systems. Proceedings of the IEEE, 63(9):1278–1308, September 1975.
11. Wietse Zweitze Venema. Postfix home page.
12. David A. Wagner. Janus: an approach for confinement of untrusted applications. Technical
Report CSD-99-1056, 12, 1999.
150