Developing a Security Typed Java Servlet
2008, 2008 The Fourth International Conference on Information Assurance and Security
Abstract
The Lack of security policy enforcement in web development languages is one of the most important challenges in web application systems development, as there is no formal check for security policy violation that may occur during web application system development. To check for policy compliance, the programmer must walk through all the code and check every line to make sure that there are no security violations. For example, a developer may develop a web application system connected to data base that seems to work properly, but it can make a certain security policy violation by permitting unauthorized users to access the data base system. This paper proposes a solution for the above problem by developing and application of a security typed Java servlet that can run on the web server side safely. This servlet is developed by embedding the Java code produced by compiling the Java information flow language (Jif) (a security-typed programming language that extends Java with support for information flow control and access control, both at compile time and at run time) into a servlet code format. The code produced by compiling Jif language is security typed and support servlet with means of flow control and access control. Hence we can guarantee that when we run this servlet into a web application system it will check input data trough the web application system for information flow security policy violation.
References (20)
- Jeanne Murray."Building Java HTTP servlets". IBM developerWorks,12 September 2000. Available via: http://www.digilife.be/quickreferences/PT/Building%2 0Java%20HTTP%20servlets.pdf
- Stephen Chong, Andrew C. Myers, K. Vikram, and Lantian Zheng. "Jif Reference Manual". June 2006. Available via: http://www.cs.cornell.edu/jif/doc/jif-3.1.1/manual.html
- Andrew C. Myers. "Mostly-Static Decentralized Information Flow Control". Ph.D. Thesis, January 1999.
- Andrew C.Myers. "JFlow: Practical Mostly-Static Information Flow Control". Proceedings of the 26th ACM Symposium on Principales of Programming Languages (POPL'99),San Antonio, Texas, USA, January 1999.
- A. Sabelfeld and A. C. Myers." Language-based information-flow security". IEEE Journal on Selected Areas in Communications, 21(1):5-19, Jan. 2003.
- R. Heldal and F. Hultin. "UMLS Bridging Model-based and Language-based Security". In E. Snekkenes and D. Gollmann, editors, Computer Security-ESORICS2003, volume 2808 of LNCS, pages 235-252. Springer, 2003.
- Boniface Hicks,Kiyan Ahmadizadeh and Patrick McDaniel. "From Languages to Systems: Understanding Practical Application Development in Security-Typed Languages". Proceedings of the 22nd Annual Computer Security Applications Conference on Annual Computer Security Applications Conference, p.153-164, December 11-15, 2006.
- Aslan Askarov and Andrei Sabelfeld. "Security-typed languages for implementation of cryptographic protocols: A case study". In Proc.of ESORICS 2005, Milan, Italy,Sept.12-14,2005.LNCS.©Springer-Verlag 2005.
- Boniface Hicks, Sandra Rueda, Trent Jaeger and Patrick McDaniel. "Integrating SELinux with Security-typed Languages". NSRC Technical Report NAS-TR-0052- 2006.
- Vincent Simonet. "Flow Caml in a nutshell". In Graham Hutton, editor, Proceedings of the first APPSEM-II workshop, pages 152-165, Nottingham, United Kingdom, March 2003.
- Martin Bond and Debbie Law. "Tomcat Kick Start". June 2003.
- James Duncan Davidson with Suzanne Ahmed. "Java™Servlet API Specification: Version2.1a". Sun Microsystems, Inc. © 1998.
- Peng Li and Yun Mao. "Integrity Extension in Jif". CIS-670 Course Project Report on Advanced Topics in Programming Languages: Safety and security, Spring 2003.
- Andrew C.Myers and Barbara Liskov. "Protecting Privacy using the Decentralized Label Model". ACM Transactions on Software Engineering and Methodology, 9(4):410-442, October 2000.
- Peng Li and Steve Zdancewic. " Practical Information flow Control in Web-based Information Systems". In Proceedings of the 18th IEEE Computer Security Foundation Workshop (CSFW), June 2005.
- P. Li and S. Zdancewic. "Downgrading policies and relaxed noninterference". In Proc. 32th ACM Symp. On Principles of Programming Languages (POPL), 2005.
- Yao-Wen Huang, Fang Yu, Christian Hang, Chung- Hung Tsai, D. T. Lee, Sy-Yen Kuo. "Securing Web applications code by static analysis and runtime protection". In Proceedings of WWW 2004, Manhattan, New York, USA., May 17-22, 2004.
- Boniface Hicks, Sandra Rueda, Trent Jaeger, and Patrick McDaniel. "From trusted to secure: Building and executing applications that enforce system security". In Proceedings of the USENIX Annual Technical Conference, Santa Clara, CA, USA, June 2007.
- Stephen Chong, K. Vikram, Andrew C. Myers. "SIF: Enforcing Confidentiality and Integrity in Web Applications". Proceedings of USENIX Security Symposium 2007, pages 1-16, August 2007.
- Stephen Chong, Jed Liu, Andrew C. Myers, Xin Qi, K. Vikram, Lantian Zheng, Xin Zheng. "Secure Web pplications via Automatic Partitioning". Proceedings of the 1st ACM Symposium on Operating Systems Principles SOSP'07), pages 31-44, October 2007.
Sherif El-kassas