[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/586110.586142acmconferencesArticle/Chapter ViewAbstractPublication PagesccsConference Proceedingsconference-collections
Article

MOPS: an infrastructure for examining security properties of software

Published: 18 November 2002 Publication History

Abstract

We describe a formal approach for finding bugs in security-relevant software and verifying their absence. The idea is as follows: we identify rules of safe programming practice, encode them as safety properties, and verify whether these properties are obeyed. Because manual verification is too expensive, we have built a program analysis tool to automate this process. Our program analysis models the program to be verified as a pushdown automaton, represents the security property as a finite state automaton, and uses model checking techniques to identify whether any state violating the desired security goal is reachable in the program. The major advantages of this approach are that it is sound in verifying the absence of certain classes of vulnerabilities, that it is fully interprocedural, and that it is efficient and scalable. Experience suggests that this approach will be useful in finding a wide range of security vulnerabilities in large programs efficiently.

References

[1]
K. Ashcraft and D. Engler. Using programmer-written compiler extensions to catch security holes. In Proceedings of IEEE Security and Privacy 2002, 2002.
[2]
T. Ball and S. K. Rajamani. Automatically validating temporal safety properties of interfaces. In SPIN 2001, Workshop on Model Checking of Software, 2001.
[3]
T. Ball and S. K. Rajamani. The SLAM project: Debugging system software via static analysis. In POPL 2002, 2002.
[4]
F. Besson, T. Jensen, D. L. Metayer, and T. Thorn. Model checking security properties of control flow graphs. Journal of Computer Security, 9:217--250, 2001.
[5]
M. Bishop and M. Dilger. Checking for race conditions in file access. Computing Systems, 9(2):131--152, 1996.
[6]
CERT. CERT Advisory CA-1997-16: ftpd signal handling vulnerability. http://www.cert.org/advisories/CA-1997-16.html.
[7]
H. Chen and D. Wagner. MOPS: an infrastructure for examining security properties of software. Technical Report UCB//CSD-02-1197, UC Berkeley, 2002.
[8]
H. Chen, D. Wagner, and D. Dean. Setuid demystified. In Proceedings of the Eleventh Usenix Security Symposium, San Francisco, CA, 2002.
[9]
D. Engler, B. Chelf, A. Chou, and S. Hallem. Checking system rules using system-specific, programmer-written compiler extensions. In OSDI, 2000.
[10]
J. Esparza, D. Hansel, P. Rossmanith, and S. Schwoon. Efficient algorithms for model checking pushdown systems. Technical report, Technische Universität München, 2000.
[11]
J. Foster, M. Fähndrich, and A. Aiken. A theory of type qualifiers. In ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI'99), May 1999.
[12]
D. Greenman. Serious security bug in wu-ftpd v2.4. http://online.securityfocus.com/archive/1/6056/1997-01-04/1997-01-10/2.
[13]
J. Hopcroft and J. Ullman. Introduction to automata theory, languages, and computation. Addison-Wesley, 1979.
[14]
T. Jensen, D. L. Metayer, and T. Thorn. Verification of control flow based security properties. In Proceedings of the 1999 IEEE Symposium on Security and Privacy, 1999.
[15]
L. Koved, M. Pistoia, and A. Kershenbaum. Access rights analysis for java. In Proceedings of the 17th Annual ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, 2002.
[16]
Sendmail Inc. Sendmail workaround for linux capabilities bug. http://www.sendmail.org/sendmail.8.10.1.LINUX-SECURITY.txt.
[17]
U. Shankar, K. Talwar, J. S. Foster, and D. Wagner. Detecting format string vulnerabilities with type qualifiers. In Proceedings of the 10th USENIX Security Symposium, 2001.
[18]
D. Wagner, J. Foster, E. Brewer, and A. Aiken. A first step towards automated detection of buffer overrun vulnerabilities. In Proceedings of NDSS 2000, 2000.
[19]
M. Zalewski. Multiple local sendmail vulnerabilities. http://razor.bindview.com/publish/advisories/adv_sm812.html.
[20]
X. Zhang, A. Edwards, and T. Jaeger. Using CQUAL for static analysis of authorization hook placement. In Proceedings of the Eleventh Usenix Security Symposium, August 2002.

Cited By

View all
  • (2022)Review of Works Content Analyzer for Information Leakage Detection and Prevention in Android Smart DevicesABUAD International Journal of Natural and Applied Sciences10.53982/aijnas.2022.0201.02-j2:1(12-28)Online publication date: 30-Mar-2022
  • (2022)Software Source Code Security Audit Algorithm Supporting Incremental Checking2022 IEEE 7th International Conference on Smart Cloud (SmartCloud)10.1109/SmartCloud55982.2022.00015(53-58)Online publication date: Oct-2022
  • (2022)ISVSF: Intelligent Vulnerability Detection Against Java via Sentence-Level Pattern ExploringIEEE Systems Journal10.1109/JSYST.2021.307215416:1(1032-1043)Online publication date: Mar-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
CCS '02: Proceedings of the 9th ACM conference on Computer and communications security
November 2002
284 pages
ISBN:1581136129
DOI:10.1145/586110
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 18 November 2002

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. model checking
  2. security
  3. static analysis
  4. verification

Qualifiers

  • Article

Conference

CCS02
Sponsor:
CCS02: ACM Conference on Computer and Communications Security
November 18 - 22, 2002
Washington, DC, USA

Acceptance Rates

Overall Acceptance Rate 1,261 of 6,999 submissions, 18%

Upcoming Conference

CCS '25

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)25
  • Downloads (Last 6 weeks)3
Reflects downloads up to 04 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Review of Works Content Analyzer for Information Leakage Detection and Prevention in Android Smart DevicesABUAD International Journal of Natural and Applied Sciences10.53982/aijnas.2022.0201.02-j2:1(12-28)Online publication date: 30-Mar-2022
  • (2022)Software Source Code Security Audit Algorithm Supporting Incremental Checking2022 IEEE 7th International Conference on Smart Cloud (SmartCloud)10.1109/SmartCloud55982.2022.00015(53-58)Online publication date: Oct-2022
  • (2022)ISVSF: Intelligent Vulnerability Detection Against Java via Sentence-Level Pattern ExploringIEEE Systems Journal10.1109/JSYST.2021.307215416:1(1032-1043)Online publication date: Mar-2022
  • (2021)Verifying correct usage of context-free API protocolsProceedings of the ACM on Programming Languages10.1145/34342985:POPL(1-30)Online publication date: 4-Jan-2021
  • (2021)RBAC protection-impacting changes identificationInformation and Software Technology10.1016/j.infsof.2021.106630139:COnline publication date: 23-Aug-2021
  • (2021)MEBS: Uncovering Memory Life-Cycle Bugs in Operating System KernelsJournal of Computer Science and Technology10.1007/s11390-021-1593-436:6(1248-1268)Online publication date: 30-Nov-2021
  • (2021)Software Security—Exploits and Privilege EscalationComputer Security and the Internet10.1007/978-3-030-83411-1_6(155-182)Online publication date: 14-Oct-2021
  • (2020)FuzzGenProceedings of the 29th USENIX Conference on Security Symposium10.5555/3489212.3489340(2271-2287)Online publication date: 12-Aug-2020
  • (2019)DFTrackerFrontiers of Computer Science: Selected Publications from Chinese Universities10.1007/s11704-016-6383-813:2(247-263)Online publication date: 1-Apr-2019
  • (2019)euforia: Complete Software Model Checking with Uninterpreted FunctionsVerification, Model Checking, and Abstract Interpretation10.1007/978-3-030-11245-5_17(363-385)Online publication date: 11-Jan-2019
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media