Skip to main content

Analysis and Remodeling of the DirtyCOW Vulnerability by Debugging and Abstraction

  • Conference paper
  • First Online:
Structured Object-Oriented Formal Language and Method (SOFL+MSVL 2019)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12028))

  • 584 Accesses

Abstract

It is hard to understand clearly the principle of DirtyCOW vulnerability of Linux operating system, even for many experienced kernel developers. An approach is presented to rebuild the design model of the related Linux system calls, which gives an insight into the vulnerability. The remodeling, i.e. model-rebuilding, is done by first constructing a control flow diagram based on the debugging and analysis of the OS kernel, and then turning the control flow diagram to an abstract program based on abstraction to the observed concrete states. The approach provides an effective way for the comprehension of complex legacy software.

Supported by National Key Research and Development Program of China (No. 2017YFB1001802 and 2018YFB0204301).

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The function __get_user_pages calls follow_page_pte only once, therefore the events in Line 13, 21, 40, 48 correspond to the same control point. The multiple occurrences of faultin_page are similar.

  2. 2.

    “}mmap" means the event “Function mmap() ends".

  3. 3.

    In different tests, the virtual address may vary, and the addresses of other kernel objects may also be different with those in this paper.

  4. 4.

    This is page frame number, and the corresponding physical address is 0x66c3000.

References

  1. Alam, D., Zaman, M., Farah, T., Rahman, R., Hosain, M.S.: Study of the Dirty Copy on write, a Linux kernel memory allocation vulnerability. In: 2017 International Conference on Consumer Electronics and Devices (ICCED), pp. 40–45, July 2017. https://doi.org/10.1109/ICCED.2017.8019988

  2. Cornelissen, B., Zaidman, A., Deursen, A.V., Moonen, L., Koschke, R.: A systematic survey of program comprehension through dynamic analysis. IEEE Trans. Softw. Eng. 35(5), 684–702 (2009)

    Article  Google Scholar 

  3. CVE-2016-5195. https://dirtycow.ninja

  4. Garde, S., Knaup, P., Herold, R.: Qumquad: a UML-based approach for remodeling of legacy systems in health care. Int. J. Med. Inf. 70(2–3), 183–194 (2003)

    Article  Google Scholar 

  5. Github: Dirty COW and why lying is bad even if you are the linux kernel. https://chao-tic.github.io/blog/2017/05/24/dirty-cow

  6. Kai, K., Mössenböck, H.: Scene: using scenario diagrams and active text for illustrating object-oriented programs. In: International Conference on Software Engineering (1996)

    Google Scholar 

  7. Mayrhauser, A.V., Vans, A.M.: Program comprehension during software maintenance and evolution. Computer 28(8), 44–55 (1995)

    Article  Google Scholar 

  8. Saleel, A.P., Nazeer, M., Beheshti, B.D.: Linux kernel OS local root exploit. In: 2017 IEEE Long Island Systems, Applications and Technology Conference (LISAT). IEEE (2017)

    Google Scholar 

  9. Yan, H., Garlan, D., Schmerl, B.R., Aldrich, J., Kazman, R.: Discotect: a system for discovering architectures from running systems. In: International Conference on Software Engineering (2004)

    Google Scholar 

  10. ZDNet: The Dirty Cow Linux bug: a silly name for a serious problem. https://www.zdnet.com/article/the-dirty-cow-linux-security-bug-moos/

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Yanjun Wen .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Wen, Y., Wang, J. (2020). Analysis and Remodeling of the DirtyCOW Vulnerability by Debugging and Abstraction. In: Miao, H., Tian, C., Liu, S., Duan, Z. (eds) Structured Object-Oriented Formal Language and Method. SOFL+MSVL 2019. Lecture Notes in Computer Science(), vol 12028. Springer, Cham. https://doi.org/10.1007/978-3-030-41418-4_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-41418-4_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-41417-7

  • Online ISBN: 978-3-030-41418-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics