skip to main content
10.1145/1217935.1217951acmconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedingsconference-collections
Article

Reducing TCB complexity for security-sensitive applications: three case studies

Published:18 April 2006Publication History

ABSTRACT

The large size and high complexity of security-sensitive applications and systems software is a primary cause for their poor testability and high vulnerability. One approach to alleviate this problem is to extract the security-sensitive parts of application and systems software, thereby reducing the size and complexity of software that needs to be trusted. At the system software level, we use the Nizza architecture which relies on a kernelized trusted computing base (TCB) and on the reuse of legacy code using trusted wrappers to minimize the size of the TCB. At the application level, we extract the security-sensitive portions of an already existing application into an AppCore. The AppCore is executed as a trusted process in the Nizza architecture while the rest of the application executes on a virtualized, untrusted legacy operating system. In three case studies of real-world applications (e-commerce transaction client, VPN gateway and digital signatures in an e-mail client), we achieved a considerable reduction in code size and complexity. In contrast to the few hundred thousand lines of current application software code running on millions of lines of systems software code, we have AppCores with tens of thousands of lines of code running on a hundred thousand lines of systems software code. We also show the performance penalty of AppCores to be modest (a few percent) compared to current software.

References

  1. Microsoft. Next-Generation Secure Computing Base. http://www.microsoft.com/resources/ngscb/default.mspxGoogle ScholarGoogle Scholar
  2. Mozilla Foundation. Mozilla Module Owners. http://www.mozilla.org/owners.htmlGoogle ScholarGoogle Scholar
  3. PeerSee Networks. MatrixSSL - Open Source Embedded SSL. http://www.matrixssl.org/Google ScholarGoogle Scholar
  4. Secunia. Vulnerability Report --- Microsoft Internet Explorer 6. http://secunia.com/product/11/Google ScholarGoogle Scholar
  5. Secunia. Vulnerability Report --- Mozilla Firefox 1.x. http://secunia.com/product/4227/Google ScholarGoogle Scholar
  6. Secunia. Vulnerability Report --- Xll Windowing System (Xll) 6.x.http://secunia.com/product/3913/Google ScholarGoogle Scholar
  7. Secunia. Vulnerability Report --- Linux Kernel 2.4.x. http://secunia.com/product/763/Google ScholarGoogle Scholar
  8. Secunia. Check Point VPN-1 Products ISAKMP Buffer Overflow Vulnerability. http://secunia.com/advisories/11546/Google ScholarGoogle Scholar
  9. Snapgear. Snapgear Embedded Linux. http://www.snapgear.orgGoogle ScholarGoogle Scholar
  10. Trusted Computing Group. TCG Main Specification vl.Ib, https://www.trustedcomputinggroup.org/Google ScholarGoogle Scholar
  11. J. Bambenek, SANS Institute. BHO scanning tool and New Scam Targets Bank Customers. http://isc.sans.org/diary.php?date=2004-06-29.Google ScholarGoogle Scholar
  12. P. Barham, B. Dragovic, K. Fraser, S. Hand, T. Harris, A. Ho, R. Neugebauer, I. Pratt, and A. Warfield. Xen and the Art of Virtualization. In Proc. 19th ACM Symposium on Operating Systems Principles (SOSP 2003), NY, Oct. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. V. Basili and D. Hutchens. An Empirical Study of a Complexity Family. In IEEE Transactions on Software Engineering, Volume 9, No. 6, November 1983, pp. 664--672.Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. D. Brumley, D. X. Song. Privtrans: Automatically Partitioning Programs for Privilege Separation. In Proc. USENIX Security Symposium, San Diego, USA. Aug 9--13, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. P. M. Chen and B. D. Noble. When Virtual is Better Than Real, In Eighth Workshop on Hot Topics in Operating Systems, May 2001, Elmau, Germany. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. N. Chou, R. Ledesma, Y. Teraguchi, D. Boneh and J. C. Mitchell, Client-side defense against web-based identity theft, In 11th Annual Network and Distributed System Security Symposium (NDSS '04), San Diego, February, 2004.Google ScholarGoogle Scholar
  17. D. Engler, D. Chelf, A. Chou, and S. Hallem. Checking system rules using system specific programmer-written compiler extensions. In 4th USENIX OSDI. San Diego, Oct. 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. D. Engler, D. Chen, S. Hallem, A. Chou, and B. Chelf. Bugs as deviant behavior: A general approach to inferring errors in systems code. In 18th SOSP. Banff, Canada, Oct. 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. N. Feske, C. Helmuth: A Nitpicker's guide to a minimal-complexity secure GUI. In Proc. of the 21st Annual Computer Security Applications Conference, Tucson, Arizona, USA, Dec. 2005 Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. N. E. Fenton, N. Ohlsson., Quantitative Analysis of Faults and Failures in a Complex Software System. In IEEE Trans. Software Eng. 26(8): 797--814, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Gaffney, J., Program Control Complexity and Productivity. In Proceedings of the IEEE Workshop on Quantitative Software Models, pg 179, October, 1979.Google ScholarGoogle Scholar
  22. T. Garfinkel, B., Pfaff, J. Chow, M. Rosenblun, and D. Boneh. Terra: A virtual machine-based platform for trusted computing. In Proc. of the 19th SOSP, October 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. H. Härtig. Security architectures revisited. In Proceedings of the Tenth ACM SIGOPS European Workshop, Saint-Emilion, France, September 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. H. Härtig, M. Hohmuth, N. Feske, C. Helmuth, A. Lack-orzynski, F. Mehnert and M. Peter. The Nizza Secure-System Architecture. In IEEE CollaborateCom 2005. San Jose, USA. Dec 2005.Google ScholarGoogle Scholar
  25. H. Härtig, M. Hohmuth, J. Liedtke, S. Schönberg, and J. Wolter. The performance of μ-kernel-based systems. In Proc. 16th ACM Symposium on Operating System Principles, pp 66--77, Oct. 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. C. Helmuth, A. Warg, and N. Feske. Mikro-SINA---Hands-on Experiences with the Nizza Security Architecture. In Proceedings of the D.A.C.H Security 2005, Darmstadt, Germany, March 2005.Google ScholarGoogle Scholar
  27. A. Herzberg and A. Gbara, TrustBar: Protecting (even Naïve) Web Users from Spoofing and Phishing Attacks, Cryptology ePrint Archive, Report 2004/155. 2004.Google ScholarGoogle Scholar
  28. Hohmuth, M., M. Peter, H. Härtig, and J. Shapiro. "Reducing TCB size by using untrusted components --- small kernels versus virtual machine monitors", in Proc. of the 11th ACM SIGOPS European Workshop, Leuven, Belgium, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. T. Jaeger, R. Sailer, and X. Zhang, Analyzing Integrity Protection in the SELinux Example Policy, in 12th USENIX Security Symposium, Washington D.C. USA, Aug. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. D. Kilpatrick, Privman: A Library for Partitioning Applications. In USENIX Annual Technical Conference, FREENIX Track 2003, pp 273--284. San Antonio USA, July 2003.Google ScholarGoogle Scholar
  31. D. Lie, C. A. Thekkath and M. Horowitz, Implementing an untrusted operating system on trusted hardware, In 19th ACM-SOSP, 2003, Bolton Landing, NY. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. J. Liedtke, On Micro-Kernel Construction, In 15th ACM Symposium on Operating System Principles, Copper mountain Resort, Colorado, USA. Dec. 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. T. J. McCabe, A Complexity Measure, IEEE Transactions on Software Engineering, SE-2 No. 4, pp. 308--320, Dec. 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. X. Qie, R. Pang, L. L. Peterson, Defensive Programming: Using an Annotation Toolkit to Build DoS-Resistant Software. In OSDI 2002, Boston, Dec. 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. B. Pfitzmann, J. Riordan, C. Stüble, M. Waidner and A. Weber. The PERSEUS System Architecture. Research Report. IBM Research Division. RZ 3335. Sept. 2001.Google ScholarGoogle Scholar
  36. N. Provos, M. Friedl, and P. Honeyman. Preventing privilege escalation. In 12th USENIX Security Symposium, Washington D.C, Aug. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. B. Ross, C. Jackson, N. Miyake, D. Boneh and J. C. Mitchell, Stronger Password Authentication Using Browser Extensions. In 14th Usenix Security Symposium, Baltimore, USA, Aug. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. JH Saltzer and MD Schroeder, The Protection of Information in Computer Systems, Proc. of the IEEE, Vol.63, No.9, Sept. 1975, pp. 1278--1308.Google ScholarGoogle ScholarCross RefCross Ref
  39. R. Sailer, X. Zhang, T. Jaeger, and L. V. Doorn. Design and Implementation of a TCG-based Integrity Measurement Architecture. In Proceedings of Thirteenth USENIX Security Symposium, pp 223--238, August 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. B. Schneier. Software Complexity and Security. Crypto-Gram Newsletter. March 2000. http://www.schneier.com/crypto-gram-0003.htmlGoogle ScholarGoogle Scholar
  41. J. S. Shapiro, J. M. Smith, and D. J. Farber. EROS: A Fast Capability System. In Proc. 17th ACM Symposium on Operating Systems Principles. Charleston, SC, USA. Dec. 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. J. S. Shapiro, J. Vanderburgh, E. Northup, and D. Chizmadia, Design of the EROS Trusted Window System, In Proc. USENIX Security Symposium, San Diego CA, 2004 Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. V. Y. Shen, T. Yu, S. M. Thebaut, and L. R. Paulsen, Identifying Error-prone Software --- An Empirical Study, In IEEE TOSE, Vol. SE-11, pp. 317--323, April 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Shepperd, M., Ince, D. C., Derivation and Validation of Software Metrics. pp 37--40. Oxford Science Publications, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. R. Spencer, S. Smalley, P. Loscocco, M. Hibler, D. Andersen and J. Lepreau. The Flask Security Architecture: System Support for Diverse Security Policies. In Procedings of the 8th USENLX Security Symposium, Aug. 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  46. J. D. Tygar and A. Whitten. WWW electronic commerce and Java Trojan horses. In Proc. of the 2nd USENIX Workshop on Electronic Commerce, Nov. 1996, pp. 243--250. Google ScholarGoogle ScholarDigital LibraryDigital Library
  47. D. Wagner, J. Foster, E. Brewer, and A. Aiken. A first step towards automated detection of buffer overrun vulnerabilities. In Proceedings of the ISOC Symposium on Network and Distributed System Security, 2000.Google ScholarGoogle Scholar
  48. D. Wheeler. SLOCCount. http://www.dwheeler.com/sloccount/Google ScholarGoogle Scholar
  49. Wright, C., C. Cowan, S. Smalley, J. Morris, G. Kroah-Hartman. Linux Security Modules: General Security Support for the Linux Kernel. In the Proceedings of the 2002 Usenix Security Symposium, Aug 2002, San Francisco. Google ScholarGoogle ScholarDigital LibraryDigital Library
  50. B. Yee and D. Tygar. Secure coprocessors in electronic commerce applications. In Proc. of the First USENIX Workshop on Electronic Commerce, New York, July 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Reducing TCB complexity for security-sensitive applications: three case studies

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        EuroSys '06: Proceedings of the 1st ACM SIGOPS/EuroSys European Conference on Computer Systems 2006
        April 2006
        420 pages
        ISBN:1595933220
        DOI:10.1145/1217935
        • cover image ACM SIGOPS Operating Systems Review
          ACM SIGOPS Operating Systems Review  Volume 40, Issue 4
          Proceedings of the 2006 EuroSys conference
          October 2006
          383 pages
          ISSN:0163-5980
          DOI:10.1145/1218063
          Issue’s Table of Contents

        Copyright © 2006 Authors

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 18 April 2006

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate241of1,308submissions,18%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader