skip to main content
research-article

Better bug reporting with better privacy

Published:01 March 2008Publication History
Skip Abstract Section

Abstract

Software vendors collect bug reports from customers to improve the quality of their software. These reports should include the inputs that make the software fail, to enable vendors to reproduce the bug. However, vendors rarely include these inputs in reports because they may contain private user data. We describe a solution to this problem that provides software vendors with new input values that satisfy the conditions required to make the software follow the same execution path until it fails, but are otherwise unrelated with the original inputs. These new inputs allow vendors to reproduce the bug while revealing less private information than existing approaches. Additionally, we provide a mechanism to measure the amount of information revealed in an error report. This mechanism allows users to perform informed decisions on whether or not to submit reports. We implemented a prototype of our solution and evaluated it with real errors in real programs. The results show that we can produce error reports that allow software vendors to reproduce bugs while revealing almost no private information.

Skip Supplemental Material Section

Supplemental Material

1346322.mp4

mp4

133.1 MB

References

  1. GHttpd Log() Function Buffer Overflow Vulnerability (Bugtraq ID: 5960). http://www.securityfocus.com/bid/5960.Google ScholarGoogle Scholar
  2. Null HTTPd Remote Heap Overflow Vulnerability (Bugtraq ID: 5774). http://www.securityfocus.com/bid/5774.Google ScholarGoogle Scholar
  3. Portable network graphics (png) specification and extensions. http://www.libpng.org/pub/png/spec/.Google ScholarGoogle Scholar
  4. AGRAWAL, R., AND SRIKANT, R. Privacy-preserving data mining. In SIGMOD '00: Proceedings of the 2000 ACM SIGMOD international conference on Management of data (2000), pp. 439--450. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. BHANSALI, S., CHEN, W.-K., DE JONG, S., EDWARDS, A., MURRAY, R., DRINIC, M., MIHOCKA, D., AND CHAU, J. Framework for instruction-level tracing and analysis of program executuions. In VEE (June 2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. BROADWELL, P., HARREN, M., AND SASTRY, N. Scrash: a system for generating secure crash information.Google ScholarGoogle Scholar
  7. BRUMLEY, D., NEWSOME, J., SONG, D., WANG, H., AND JHA, S. Towards automatic generation of vulnerability signatures. In IEEE Symposium on Security and Privacy (May 2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. CADAR, C., GANESH, V., PAWLOWSKI, P. M., DILL, D. L., AND ENGLER, D. R. EXE: Automatically Generating Inputs of Death. In 13th ACM Conference on Computer and Communications Security (2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. CASTRO, M., COSTA, M., AND HARRIS, T. Securing software by enforcing data-flow integrity. In OSDI (Nov. 2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. CHEN, S., XU, J., SEZER, E. C., GAURIAR, P., AND IYER, R. K. Non-control-data attacks are realistic threats. In USENIX Security Symposium (July 2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. CHIRAYATH, V., LONGPRE, L., AND KREINOVICH, V. Measuring privacy loss in statistical databases. In Workshop on Descriptional Complexity of Formal Systems (June 2006), pp. 16--25.Google ScholarGoogle Scholar
  12. COSTA, M., CASTRO, M., ZHOU, L., ZHANG, L., AND PEINADO, M. Bouncer: Securing Software by Blocking Bad Input. In SOSP (Oct. 2007). Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. COSTA, M., CROWCROFT, J., CASTRO, M., ROWSTRON, A., ZHOU, L., ZHANG, L., AND BARHAM, P. Vigilante: End-to-End Containment of Internet Worms. In SOSP (Oct. 2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. COWAN, C., PU, C., MAIER, D., HINTON, H., WADPOLE, J., BAKKE, P., BEATTIE, S., GRIER, A., WAGLE, P., AND ZHANG, Q. Stackguard: Automatic detection and prevention of buffer-overrun attacks. In USENIX Security Symposium (Jan. 1998). Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. CRANDALL, J. R., SU, Z., WU, S. F., AND CHONG, F. T. On deriving unknown vulnerabilities from zero-day polymorphic and metamorphic worm exploits. In ACM CCS (Nov. 2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. DE MOURA, L., AND BJORNER, N. Z3: An Efficient SMT Solver. In Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS) (Apr. 2008). Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. DUTERTRE, B., AND DE MOURA, L. The YICES SMT Solver. http://yices.csl.sri.com.Google ScholarGoogle Scholar
  18. DUTERTRE, B., AND DE MOURA, L. A fast linear-arithemic solver for dpll(t). In CAV06 (Aug. 2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. ELNOZAHY, E. N., ALVISI, L., WANG, Y.-M., AND JOHNSON, D. B. A survey of rollback-recovery protocols in message-passing systems. ACM Computing Surveys 34, 3 (Sept. 2002), 375--408. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. GODEFROID, P., KLARLUND, N., AND SEN, K. DART: Directed Automated Random Testing. In PLDI (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. GODEFROID, P., LEVIN, M. Y., AND MOLNAR, D. Automated whitebox fuzz testing. Tech. Rep. MSR-TR-2007-58, Microsoft Research Technical Report, May 2007.Google ScholarGoogle Scholar
  22. GOMES, C. P., HOFFMANN, J., SABHARWAL, A., AND SELMAN, B. From sampling to model counting. In IJCAI (2007), pp. 2293--2299. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. GOMES, C. P., SABHARWAL, A., AND SELMAN, B. Model counting: A new strategy for obtaining good bounds. In AAAI (2006). Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. MARTIN, J.-P. Upper and lower bounds on the number of solutions. Tech. Rep. MSR-TR-2007-164, Dec. 2007.Google ScholarGoogle Scholar
  25. MICROSOFT CORPORATION. Msn messenger. http://messenger.msn.com.Google ScholarGoogle Scholar
  26. MICROSOFT CORPORATION. Privacy statement for the microsoft error reporting service, Oct. 2005. http://oca.microsoft.com/en/dcp20.asp.Google ScholarGoogle Scholar
  27. MICROSOFT CORPORATION. Description of the end user privacy policy in application error reporting when you are using office. Microsoft Knowledge Base Q283768, Jan. 2007. http://support.microsoft.com/kb/283768.Google ScholarGoogle Scholar
  28. MICROSOFT CORPORATION. Dr. watson overview, Jan. 2007. http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/drwatson overview.mspx?mfr=true.Google ScholarGoogle Scholar
  29. MITRE CORPORATION. Multiple buffer overflows in libpng 1.2.5. CVE-2004-0597, June 2004. http://cve.mitre.org/cgibin/cvename.cgi?name=CAN-2004-0597.Google ScholarGoogle Scholar
  30. MOORE, D., PAXSON, V., SAVAGE, S., SHANNON, C., STANIFORD, S., AND WEAVER, N. Inside the Slammer worm. IEEE Security and Privacy 1, 4 (July 2003). Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. QIN, F., TUCEK, J., SUNDARESAN, J., AND ZHOU, Y. Rx: Treating bugs as allergies -- a safe method to survive software failures. In SOSP (Nov. 2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. RUWASE, O., AND LAM, M. A practical dynamic buffer overflow detector. In NDSS (Feb. 2004).Google ScholarGoogle Scholar
  33. SAMARATI, P., AND SWEENEY, L. Generalizing data to provide anonymity when disclosing information. In Proceedings of the 17th Symposium on Principles of Database Systems (1998), p. 188. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. SANG, T., BEAME, P., AND KAUTZ, H. A. Heuristics for fast exact model counting. In SAT (2005), pp. 226--240. Google ScholarGoogle ScholarDigital LibraryDigital Library
  35. SEN, K., MARINOV, D., AND AGHA, G. CUTE: A Concolic Unit Testing Engine for C. In ESEC/FSE (2005). Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. SHANNON, C. E. A mathematical theory of communication. SIGMOBILE Mob. Comput. Commun. Rev. 5, 1 (2001), 3--55. Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. SWEENEY, L. k-anonymity: a model for protecting privacy. Int. J. Uncertain. Fuzziness Knowl.-Based Syst. 10, 5 (2002), 557--570. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. TUCEK, J., LU, S., HUANG, C., XANTHOS, S., AND ZHOU, Y. Triage: diagnosing production run failures at the user's site. In SOSP (Nov. 2007). Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. ZELLER, A., AND HILDEBRANDT, R. Simplifying and isolating failure-inducing input. IEEE Trans. Software Eng. 28, 2 (2002), 183--200. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Better bug reporting with better privacy

        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

        Full Access

        • Published in

          cover image ACM SIGARCH Computer Architecture News
          ACM SIGARCH Computer Architecture News  Volume 36, Issue 1
          ASPLOS '08
          March 2008
          339 pages
          ISSN:0163-5964
          DOI:10.1145/1353534
          Issue’s Table of Contents
          • cover image ACM Conferences
            ASPLOS XIII: Proceedings of the 13th international conference on Architectural support for programming languages and operating systems
            March 2008
            352 pages
            ISBN:9781595939586
            DOI:10.1145/1346281

          Copyright © 2008 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: 1 March 2008

          Check for updates

          Qualifiers

          • research-article

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader