skip to main content
10.1145/2465478.2465479acmconferencesArticle/Chapter ViewAbstractPublication PagescomparchConference Proceedingsconference-collections
research-article

Architecture-based self-protecting software systems

Published:17 June 2013Publication History

ABSTRACT

Since conventional software security approaches are often manually developed and statically deployed, they are no longer sufficient against today's sophisticated and evolving cyber security threats. This has motivated the development of self-protecting software that is capable of detecting security threats and mitigating them through runtime adaptation techniques. In this paper, we argue for an architecture-based self- protection (ABSP) approach to address this challenge. In ABSP, detection and mitigation of security threats are informed by an architectural representation of the running system, maintained at runtime. With this approach, it is possible to reason about the impact of a potential security breach on the system, assess the overall security posture of the system, and achieve defense in depth. To illustrate the effectiveness of this approach, we present several architecture adaptation patterns that provide reusable detection and mitigation strategies against well-known web application security threats. Finally, we describe our ongoing work in realizing these patterns on top of Rainbow, an existing architecture-based adaptation framework.

References

  1. Barna, C. et al. Model-based adaptive dos attack mitigation. In International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS) (2012), pp. 119--128.Google ScholarGoogle Scholar
  2. Casanova, P. et al. Diagnosing architectural run-time failures. To appear in SEAMS, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Casanova, P. et al. Architecture-based run-time fault diagnosis. In Proceedings of the 5th European Conference on Software Architecture (2011). Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Castro, M., and Liskov, B. Practical byzantine fault tolerance and proactive recovery. ACM Trans. Comput. Syst. 20, 4 (Nov. 2002), 398--461. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Cheng, S.-W., and Garlan, D. Stitch: A language for architecture-based self-adaptation. Journal of Systems and Software, Special Issue on State of the Art in Self-Adaptive Systems 85, 12 (December 2012). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Cheng, S.-W. et al. Evaluating the effectiveness of the rainbow self-adaptive system. In ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems, 2009. SEAMS '09 (May 2009), pp. 132--141. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Chess, D. M. et al. Security in an autonomic computing environment. IBM Systems Journal 42, 1 (2003), 107--118. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Foo, B. et al. ADEPTS: adaptive intrusion response using attack graphs in an e-commerce environment. In International Conference on Dependable Systems and Networks, 2005. DSN 2005. Proceedings (July 2005), pp. 508--517. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Garlan, D. et al. Rainbow: Architecture-based self-adaptation with reusable infrastructure. IEEE Computer 37, 10 (Oct. 2004), 46--54. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Garlan, D. et al. Acme: Architectural Description of Component-Based Systems. In Foundations of Component-Based Systems, G. Leavens and M. Sitaraman, Eds. Cambridge University Press, 2000, pp. 47--68. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Gennari, J., and Garlan, D. Measuring attack surface in software architecture. Tech. Rep. CMU-ISR-11-121, Institute for Software Research, School of Computer Science, Carnegie Mellon University, 2011.Google ScholarGoogle Scholar
  12. Hafiz, M. et al. Organizing security patterns. IEEE Software 24, 4 (Aug. 2007), 52--60. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Huang, Y. et al. Software rejuvenation: analysis, module and applications. In , Twenty-Fifth International Symposium on Fault-Tolerant Computing, 1995. FTCS-25. Digest of Papers (June 1995), pp. 381--390. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Kephart, J., and Chess, D. The vision of autonomic computing. Computer 36, 1 (Jan. 2003), 41--50. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. Kitchenham, B. Procedures for performing systematic reviews. Keele, UK, Keele University 33 (2004).Google ScholarGoogle Scholar
  16. Li, M., and Li, M. An adaptive approach for defending against ddos attacks. Mathematical Problems in Engineering (2010).Google ScholarGoogle Scholar
  17. Nagarajan, A. et al. Combining intrusion detection and recovery for enhancing system dependability. In 2011 IEEE/IFIP 41st International Conference on Dependable Systems and Networks Workshops (DSN-W) (June 2011), pp. 25--30. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Nguyen, Q., and Sood, A. A comparison of intrusion-tolerant system architectures. IEEE Security Privacy 9, 4 (Aug. 2011), 24--31. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. North, D. A tutorial introduction to decision theory. IEEE Transactions on Systems Science and Cybernetics 4, 3 (1968), 200--210.Google ScholarGoogle ScholarCross RefCross Ref
  20. Okhravi, H. et al. Creating a cyber moving target for critical infrastructure applications using platform diversity. International Journal of Critical Infrastructure Protection 5, 1 (Mar. 2012), 30--39.Google ScholarGoogle ScholarCross RefCross Ref
  21. OWASP.org. Cross-site scripting (XSS) - OWASP. https://www.owasp.org/index.php/Cross- siteScripting (XSS).Google ScholarGoogle Scholar
  22. OWASP.org. Owasp top ten project. https://www.owasp.org/index.php/Category: OWASP Top Ten Project.Google ScholarGoogle Scholar
  23. Sibai, F., and Menasce, D. Defeating the insider threat via autonomic network capabilities. In 2011 Third International Conference on Communication Systems and Networks (COMSNETS) (Jan. 2011).Google ScholarGoogle ScholarCross RefCross Ref
  24. Sousa, P. et al. Highly available intrusion-tolerant services with proactive-reactive recovery. IEEE Transactions on Parallel and Distributed Systems 21, 4 (Apr. 2010), 452--465. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Stakhanova, N. et al. A taxonomy of intrusion response systems. International Journal of Information and Computer Security 1, 1 (Jan. 2007), 169--184. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. The MITRE Corporation. CWE - 2011 CWE/SANS top 25 most dangerous software errors. http://cwe.mitre.org/top25/.Google ScholarGoogle Scholar
  27. The MITRE Corporation. CWE-89: improper neutralization of special elements used in an SQL command ('SQL injection'). http://cwe.mitre.org/data/definitions/89.html.Google ScholarGoogle Scholar
  28. Valdes, A. et al. An architecture for an adaptive intrusion-tolerant server. In Security Protocols, B. Christianson, B. Crispo, J. Malcolm, and M. Roe, Eds., vol. 2845 of Lecture Notes in Computer Science. Springer Berlin / Heidelberg, 2004, pp. 569--574.Google ScholarGoogle Scholar
  29. Wang, F. et al. SITAR: a scalable intrusion-tolerant architecture for distributed services. In Foundations of Intrusion Tolerant Systems, 2003 (2003), pp. 359--367.Google ScholarGoogle ScholarCross RefCross Ref
  30. Yoshioka, N. et al. A survey on security patterns. Progress in Informatics 5, 5 (2008), 35--47.Google ScholarGoogle Scholar
  31. Yuan, E., and Malek, S. A taxonomy and survey of self-protecting software systems. In International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS) (2012).Google ScholarGoogle ScholarCross RefCross Ref
  32. Yuan, E. et al. A survey of self-protecting software systems. In ACM Transactions on Autonomous and Adaptive Systems (TAAS) (June 2013).Google ScholarGoogle Scholar
  33. Zhu, M. et al. VASP: virtualization assisted security monitor for cross-platform protection. In Proceedings of the 2011 ACM Symposium on Applied Computing (2011), pp. 554--559. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Architecture-based self-protecting software systems

    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
      QoSA '13: Proceedings of the 9th international ACM Sigsoft conference on Quality of software architectures
      June 2013
      180 pages
      ISBN:9781450321266
      DOI:10.1145/2465478

      Copyright © 2013 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 17 June 2013

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      QoSA '13 Paper Acceptance Rate17of42submissions,40%Overall Acceptance Rate46of131submissions,35%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader