skip to main content
10.1145/2523649.2523650acmotherconferencesArticle/Chapter ViewAbstractPublication PagesacsacConference Proceedingsconference-collections
research-article

Uncovering access control weaknesses and flaws with security-discordant software clones

Published:09 December 2013Publication History

ABSTRACT

Software clone detection techniques identify fragments of code that share some level of syntactic similarity. In this study, we investigate security-sensitive clone clusters: clusters of syntactically similar fragments of code that are protected by some privileges. From a security perspective, security-sensitive clone clusters can help reason about the implemented security model: given syntactically similar fragments of code, it is expected that they are protected by similar privileges. We hypothesize that clones that violate this assumption, defined as security-discordant clones, are likely to reveal weaknesses and flaws in access control models.

In order to characterize security-discordant clones, we investigated two of the largest and most popular open-source PHP applications: Joomla! and Moodle, with sizes ranging from hundred thousands to more than a million lines of code. Investigation of security-discordant clone clusters in these systems revealed several previously undocumented, recurring, and application-independent security weaknesses. Moreover, security-discordant clones also revealed four, previously unreported, security flaws. Results also show how these flaws were revealed through the investigation of as little as 2% of the code base. Distribution of weaknesses and flaws between the two systems is investigated and discussed. Potential extensions to this exploratory work are also presented.

References

  1. M. Alalfi, J. Cordy, and T. Dean. Automated verification of role-based access control security models recovered from dynamic web applications. In WSE '12, pages 1--10. IEEE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. M. Alalfi, J. Cordy, and T. Dean. Recovering role-based access control security models from dynamic web applications. In ICWE '12, pages 121--136. Springer, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. L. Bauer, S. Garriss, and M. K. Reiter. Detecting and resolving policy misconfigurations in access-control systems. ACM Transactions on Information and System Security (TISSEC), 14(1):2:1--2:28, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. L. Bauer, Y. Liang, M. K. Reiter, and C. Spensky. Discovering access-control misconfigurations: New approaches and evaluation methodologies. In CODASPY '12, pages 95--104. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. I. Baxter, A. Yahin, l. Moura, M. Sant'Anna, and L. Bier. Clone detection using abstract syntax trees. In ICSM '98, pages 368--377. IEEE, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. T. H. Cormen, C. Stein, R. L. Rivest, and C. E. Leiserson. Introduction to Algorithms. McGraw-Hill Higher Education, 3rd edition, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. CWE/SANS. CWE/SANS top 25 most dangerous software errors, September 2011. http://cwe.mitre.org/top25.Google ScholarGoogle Scholar
  8. Y. Dang, D. Zhang, S. Ge, C. Chu, Y. Qiu, and T. Xie. XIAO: tuning code clones at hands of engineers in practice. In ACSAC '12, pages 369--378. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. T. Das, R. Bhagwan, and P. Naldurg. Baaz: a system for detecting access control misconfigurations. In USENIX Security '10, pages 161--176, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. S. Ducasse, O. Nierstrasz, and M. Rieger. On the effectiveness of clone detection by string matching. International Journal on Software Maintenance and Evolution: Research and Practice, 18(1):37--58, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. V. Ganapathy, T. Jaeger, and S. Jha. Retrofitting legacy code for authorization policy enforcement. In S&P '06, pages 15 pp.--229. IEEE, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. F. Gauthier and E. Merlo. Alias-aware propagation of simple pattern-based properties in PHP applications. In SCAM '12, pages 44--53. IEEE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. F. Gauthier and E. Merlo. Fast detection of access control vulnerabilities in PHP applications. In WCRE '12, pages 247--256. IEEE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. F. Gauthier and E. Merlo. Semantic smells and errors in access control models: A case study in PHP. In ICSE '13. IEEE/ACM, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. N. Göde and R. Koschke. Incremental clone detection. In CSMR '09, pages 219--228. IEEE, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. J. Jang, A. Agrawal, and D. Brumley. ReDeBug: Finding unpatched code clones in entire OS distributions. In S&P '12, pages 48--62. IEEE, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. T. Lavoie and E. Merlo. An accurate estimation of the Levenshtein distance using metric trees and Manhattan distance. In IWSC '12, pages 1--7, 2012.Google ScholarGoogle ScholarCross RefCross Ref
  18. D. Letarte and E. Merlo. Extraction of inter-procedural simple role privilege models from PHP code. In WCRE '09, pages 187--191. IEEE, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. Li and M. D. Ernst. CBCD: cloned buggy code detector. In ICSE '12, pages 310--320. IEEE/ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. J. Mayrand, C. Leblanc, and E. Merlo. Experiment on the automatic detection of function clones in a software system using metrics. In ICSM '96, pages 244--253. IEEE, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. C. K. Roy and J. R. Cordy. A survey on software clone detection research. Technical Report Technical Report 2007-541, School of Computing, Queen's University, November 2007.Google ScholarGoogle Scholar
  22. S. Son, K. McKinley, and V. Shmatikov. RoleCast: finding missing security checks when you do not know what checks are. In OOPSLA '11, pages 1069--1084. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. S. Son and V. Shmatikov. SAFERPHP: Finding semantic vulnerabilities in PHP applications. In PLAS '11, pages 8:1--8:13. ACM, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. F. Sun, L. Xu, and Z. Su. Static detection of access control vulnerabilities in web applications. In USENIX Security '11, pages 155--170, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. F. Yamaguchi, M. Lottmann, and K. Rieck. Generalized vulnerability extrapolation using abstract syntax trees. In ACSAC '12, pages 359--368. ACM, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Uncovering access control weaknesses and flaws with security-discordant software clones

    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 Other conferences
      ACSAC '13: Proceedings of the 29th Annual Computer Security Applications Conference
      December 2013
      374 pages
      ISBN:9781450320153
      DOI:10.1145/2523649

      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: 9 December 2013

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate104of497submissions,21%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader