skip to main content
10.1145/2771783.2771789acmconferencesArticle/Chapter ViewAbstractPublication PagesisstaConference Proceedingsconference-collections
research-article
Open Access

BrowserAudit: automated testing of browser security features

Published:13 July 2015Publication History

ABSTRACT

The security of the client side of a web application relies on browser features such as cookies, the same-origin policy and HTTPS. As the client side grows increasingly powerful and sophisticated, browser vendors have stepped up their offering of security mechanisms which can be leveraged to protect it. These are often introduced experimentally and informally and, as adoption increases, gradually become standardised (e.g., CSP, CORS and HSTS). Considering the diverse landscape of browser vendors, releases, and customised versions for mobile and embedded devices, there is a compelling need for a systematic assessment of browser security. We present BrowserAudit, a tool for testing that a deployed browser enforces the guarantees implied by the main standardised and experimental security mechanisms. It includes more than 400 fully-automated tests that exercise a broad range of security features, helping web users, application developers and security researchers to make an informed security assessment of a deployed browser. We validate BrowserAudit by discovering both fresh and known security-related bugs in major browsers.

References

  1. Bootstrap. http://getbootstrap.com/.Google ScholarGoogle Scholar
  2. Browser DOM access checker. http://lcamtuf.coredump.cx/dom_checker/.Google ScholarGoogle Scholar
  3. Browserscope. http://www.browserscope.org/.Google ScholarGoogle Scholar
  4. BrowserSpy. http://browserspy.dk/.Google ScholarGoogle Scholar
  5. BrowserStack. http://www.browserstack.com/.Google ScholarGoogle Scholar
  6. Can I Use.. .. http://caniuse.com/.Google ScholarGoogle Scholar
  7. Chai. http://chaijs.com/.Google ScholarGoogle Scholar
  8. How’s My SSL? https://www.howsmyssl.com/.Google ScholarGoogle Scholar
  9. jQuery. http://jquery.com/.Google ScholarGoogle Scholar
  10. Mocha. http://mochajs.org/.Google ScholarGoogle Scholar
  11. Nginx. http://nginx.org/.Google ScholarGoogle Scholar
  12. Panopticlick. https://panopticlick.eff.org/.Google ScholarGoogle Scholar
  13. PostgreSQL. http://www.postgresql.org/.Google ScholarGoogle Scholar
  14. Qualys SSL Labs. https://www.ssllabs.com/.Google ScholarGoogle Scholar
  15. The Can I Use... test suite. http://tests.caniuse.com/.Google ScholarGoogle Scholar
  16. The Go Programming Language. https://golang.org/.Google ScholarGoogle Scholar
  17. A. Barth. HTTP State Management Mechanism. RFC 6265 (Proposed Standard), Apr. 2011.Google ScholarGoogle Scholar
  18. A. Barth, J. Caballero, and D. Song. Secure content sniffing for web browsers, or how to stop papers from reviewing themselves. In Proceedings of S&P 2009, pages 360––371, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. A. Barth, C. Jackson, and J. Mitchell. Securing Frame Communication in Browsers. In Proceedings of USENIX Security 2008, pages 17–30, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. A. Barth, C. Jackson, and J. C. Mitchell. Robust Defenses for Cross-site Request Forgery. In Proceedings of CCS’08, pages 75–88, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. A. Barth and M. West. Content Security Policy 1.1, June 2013. W3C Working Draft WD-CSP11-20130604.Google ScholarGoogle Scholar
  22. K. Bhargavan, A. Delignat-Lavaud, and S. Maffeis. Language-Based Defenses Against Untrusted Browser Origins. In Proceedings of USENIX Security 2013, pages 653–670, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. E. Budianto, Y. Jia, X. Dong, P. Saxena, and Z. Liang. You Can’t Be Me: Enabling Trusted Paths and User Sub-origins in Web Browsers. In A. Stavrou, H. Bos, and G. Portokalidis, editors, Proceedings of RAID 2014, volume 8688 of Lecture Notes in Computer Science, pages 150–171. Springer, 2014.Google ScholarGoogle ScholarCross RefCross Ref
  24. Bugzilla. Bug 1007205 — CSP allows local CSS @import with only ‘unsafe-inline’ set. https: //bugzilla.mozilla.org/show_bug.cgi?id=1007205.Google ScholarGoogle Scholar
  25. Bugzilla. Bug 1007634 — CSP allows local Worker construction with only ‘unsafe-inline’ set. https: //bugzilla.mozilla.org/show_bug.cgi?id=1007634.Google ScholarGoogle Scholar
  26. Bugzilla. Bug 471020 — Add X-Content-Type-Options: nosniff support to Firefox. https: //bugzilla.mozilla.org/show_bug.cgi?id=471020.Google ScholarGoogle Scholar
  27. Bugzilla. Bug 671389 — Implement CSP sandbox directive. https: //bugzilla.mozilla.org/show_bug.cgi?id=671389.Google ScholarGoogle Scholar
  28. P. De Ryck, L. Desmet, P. Philippaerts, and F. Piessens. A security analysis of next generation web standards. Technical report, ENISA, July 2011.Google ScholarGoogle Scholar
  29. X. Dong, Z. Chen, H. Siadati, S. Tople, P. Saxena, and Z. Liang. Protecting sensitive web content from client-side vulnerabilities with CRYPTONS. In Proceedings of CCS’13, pages 1311–1324, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. P. Eckersley. How unique is your web browser? In Proceedings of PETS’10, pages 1–18, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, and T. Berners-Lee. Hypertext Transfer Protocol – HTTP/1.1. RFC 2616 (Draft Standard), June 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. GitHub. BrowserAudit project. https://github.com/browseraudit/.Google ScholarGoogle Scholar
  33. M. Heiderich, M. Niemietz, F. Schuster, T. Holz, and J. Schwenk. Scriptless Attacks: Stealing the Pie Without Touching the Sill. In Proceedings of CCS’12, pages 760–771, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. I. Hickson and D. Hyatt. HTML5: A vocabulary and associated APIs for HTML and XHTML. W3C Candidate Recommendation CR-HTML5-20140429, Apr. 2014.Google ScholarGoogle Scholar
  35. J. Hodges, C. Jackson, and A. Barth. HTTP Strict Transport Security (HSTS). RFC 6797 (Proposed Standard), Nov. 2012.Google ScholarGoogle Scholar
  36. L.-S. Huang, A. Moshchuk, H. J. Wang, S. Schechter, and C. Jackson. Clickjacking: Attacks and Defenses. In Proceedings of USENIX Security 2012, pages 22–22, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. C. Jackson and A. Barth. Forcehttps: Protecting High-security Web Sites from Network Attacks. In Proceedings of WWW’08, pages 525–534, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. E. Kirda. Cross Site Scripting Attacks. In Encyclopedia of Cryptography and Security, pages 275–277. 2011.Google ScholarGoogle Scholar
  39. S. Maffeis, J. C. Mitchell, and A. Taly. Object Capabilities and Isolation of Untrusted Web Applications. In Proceedings of S&P 2010, pages 125––140, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. MSDN Blogs. IE8 Security Part VI: Beta 2 Update. http://blogs.msdn.com/b/ie/archive/2008/09/02/ ie8-security-part-vi-beta-2-update.aspx.Google ScholarGoogle Scholar
  41. K. Patil, X. Dong, X. Li, Z. Liang, and X. Jiang. Towards Fine-Grained Access Control in JavaScript Contexts. In Proceedings of ICDCS’11, pages 720–729, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. D. Ross and T. Gondrom. HTTP Header Field X-Frame-Options. RFC 7034 (Informational), Oct. 2013.Google ScholarGoogle Scholar
  43. G. Rydstedt, E. Bursztein, D. Boneh, and C. Jackson. Busting Framebusting: a Study of Clickjacking Vulnerabilities at Popular Sites. In Proceedings of W2SP 2010, 2010.Google ScholarGoogle Scholar
  44. K. Singh, A. Moshchuk, H. J. Wang, and W. Lee. On the Incoherencies in Web Browser Access Control Policies. In Proceedings of S&P 2010, pages 463––478, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  45. B. Sterne and A. Barth. Content Security Policy 1.0. Nov. 2012. W3C Candidate Recommendation CR-CSP-20121115.Google ScholarGoogle Scholar
  46. A. Van Kesteren. Cross-origin Resource Sharing. W3C Recommendation REC-cors-20140116, Jan. 2014.Google ScholarGoogle Scholar
  47. M. Zalewski. Browser Security Handbook, 2010.Google ScholarGoogle Scholar
  48. M. Zalewski. The Tangled Web: A Guide to Securing Modern Web Applications. No Starch Press, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. BrowserAudit: automated testing of browser security features

    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
      ISSTA 2015: Proceedings of the 2015 International Symposium on Software Testing and Analysis
      July 2015
      447 pages
      ISBN:9781450336208
      DOI:10.1145/2771783
      • General Chair:
      • Michal Young,
      • Program Chair:
      • Tao Xie

      Copyright © 2015 Owner/Author

      Permission to make digital or hard copies of part or all 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 third-party components of this work must be honored. For all other uses, contact the Owner/Author.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 13 July 2015

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate58of213submissions,27%

      Upcoming Conference

      ISSTA '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader