skip to main content
10.1145/3587102.3588790acmconferencesArticle/Chapter ViewAbstractPublication PagesiticseConference Proceedingsconference-collections
research-article

Binary Reverse Engineering for All

Published:30 June 2023Publication History

ABSTRACT

We report our experience with a novel course on binary reverse engineering, a university computer science course that was offered at the second-year level to both computer science majors as well as non-majors, with minimal prerequisites. While reverse engineering has known, important uses in computer security, this was pointedly not framed as a security course, because reverse engineering is a skill that has uses outside computer science and can be taught to a more diverse audience. The original course design intended students to perform hands-on exercises during an in-person class; we describe the systems we developed to support that, along with other online systems we used, which allowed a relatively easy pivot to online learning and back as necessitated by the pandemic. Importantly, we detail our application of "ungrading" within the course, an assessment philosophy that has gained some traction primarily in non-STEM disciplines but has seen little to no discussion in the context of computer science education. The combination of pedagogical methods we present has potential uses in other courses beyond reverse engineering.

References

  1. N. Altice. 2015. I AM ERROR: The Nintendo Family Computer / Entertainment System Platform. MIT Press.Google ScholarGoogle ScholarCross RefCross Ref
  2. J. Aycock. 2021. The coming tsunami of digital artifacts. Antiquity, Vol. 95, 384 (2021), 1584--1589.Google ScholarGoogle ScholarCross RefCross Ref
  3. J. Aycock, A. Groeneveldt, H. Kroepfl, and T. Copplestone. 2018. Exercises for Teaching Reverse Engineering. In 23rd Annual ACM Conference on Innovation and Technology in Computer Science Education. 188--193.Google ScholarGoogle Scholar
  4. A. Berns. 2020. Scored out of 10: Experiences with Binary Grading Across the Curriculum. In 51st ACM Technical Symposium on Computer Science Education. 1152--1157.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. D. Blum. 2020a. Not Simple but Essential. See citeNungrading:book, 219--228.Google ScholarGoogle Scholar
  6. S. D. Blum (Ed.). 2020b. Ungrading: Why Rating Students Undermines Learning (and What to Do Instead). West Virginia University Press.Google ScholarGoogle Scholar
  7. S. Bradley. 2016. Managing Plagiarism in Programming Assignments with Blended Assessment and Randomisation. In 16th Koli Calling International Conference on Computing Education Research. 21--30.Google ScholarGoogle Scholar
  8. S. Bridgeman, M. T. Goodrich, S. G. Kobourov, and R. Tamassia. 2000. SAIL: A System for Generating, Archiving, and Retrieving Specialized Assignments using ŁaTeX. In 31st SIGCSE Technical Symposium on Computer Science Education. 300--304.Google ScholarGoogle Scholar
  9. S. Brown and V. Chá vez. 2022. Communicating Alternative Grading Schemes: How to Shift Students' Attention to Their Learning from Grades. In 53rd ACM Technical Symposium on Computer Science Education (V.2). 1189.Google ScholarGoogle Scholar
  10. J. Burket, P. Chapman, T. Becker, C. Ganas, and D. Brumley. 2015. Automatic Problem Generation for Capture-the-Flag Competitions. In 2015 USENIX Summit on Gaming, Games, and Gamification in Security Education. 8 pages. https://www.usenix.org/system/files/conference/3gse15/3gse15-burket.pdfGoogle ScholarGoogle Scholar
  11. S. Cole. 2022. Impact of Capture The Flag (CTF)-style vs. Traditional Exercises in an Introductory Computer Security Class. In 27th ACM Conference on Innovation and Technology in Computer Science Education (Vol. 1). 470--476.Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. C. Collberg and J. Nagra. 2010. Surreptitious Software: Obfuscation, Watermarking, and Tamperproofing for Software Protection. Addison-Wesley.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. P. Elbow. 1997. Grading Student Writing: Making It Simpler, Fairer, Clearer. New Directions for Teaching and Learning, Vol. 1997, 69 (1997), 127--140.Google ScholarGoogle ScholarCross RefCross Ref
  14. I. Englander and W. Wong. 2021. The Little Man Computer. In The Architecture of Computer Hardware, Systems Software, and Networking: An Information Technology Approach 6th ed.). Wiley, Chapter 6, 152--165.Google ScholarGoogle Scholar
  15. W.-C. Feng. 2015. A Scaffolded, Metamorphic CTF for Reverse Engineering. In 2015 USENIX Summit on Gaming, Games, and Gamification in Security Education. 8 pages. https://www.usenix.org/system/files/conference/3gse15/3gse15-feng.pdfGoogle ScholarGoogle Scholar
  16. A. Finkel, N. Harris, P. Higginbottom, and M. Tomczyk. 1982. VIC-20 Programmer's Reference Guide. Commodore Business Machines and Howard W. Sams & Co.Google ScholarGoogle Scholar
  17. B. Foster and A. Somayaji. 2010. Object-Level Recombination of Commodity Applications. In 12th Annual Conference on Genetic and Evolutionary Computation. 957--963.Google ScholarGoogle Scholar
  18. Gather Presence, Inc. [n.,d.]. Gather. https://www.gather.town/ Retrieved 29 December 2022 fromGoogle ScholarGoogle Scholar
  19. C. Gorey. 1 Feb 2018. NASA satellite brought back from the dead will need major reverse engineering. Silicon Republic. https://www.siliconrepublic.com/innovation/nasa-image-satellite-reverse-engineeringGoogle ScholarGoogle Scholar
  20. Association for Computing Machinery (ACM) Joint Task Force on Computing Curricula and IEEE Computer Society. 2013. Computer Science Curricula 2013: Curriculum Guidelines for Undergraduate Degree Programs in Computer Science. ACM. https://doi.org/10.1145/2534860Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Kaitai Project. [n.,d.]. Kaitai Struct. https://kaitai.io/ Retrieved 29 December 2022 fromGoogle ScholarGoogle Scholar
  22. M. G. Kirschenbaum. 2008. Mechanisms: New Media and the Forensic Imagination. MIT Press.Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. S. Madnick. 1993. Understanding the Computer (Little Man Computer). Unpublished article, based on 1979 version.Google ScholarGoogle Scholar
  24. W. Mahoney and R. A. Gandhi. 2012. Reverse Engineering -- Is It Art? ACM Inroads, Vol. 3, 1 (2012), 56--61. https://doi.org/10.1145/2077808.2077826Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. A. Mantovani, S. Aonzo, Y. Fratantonio, and D. Balzarotti. 2022. RE-Mind: A First Look Inside the Mind of a Reverse Engineer. In 31st USENIX Security Symposium. 2727--2745.Google ScholarGoogle Scholar
  26. N. Montfort and I. Bogost. 2009. Racing the Beam: The Atari video computer system. MIT Press.Google ScholarGoogle ScholarCross RefCross Ref
  27. Gabriel Moshenska. 2016. Reverse engineering and the archaeology of the modern world. Forum Kritische Archaologie, Vol. 5 (2016), 16--28.Google ScholarGoogle Scholar
  28. D. S. Myers. 2022. Designing specifications grading systems. Journal of Computing Sciences in Colleges, Vol. 37, 5 (2022), 91--92.Google ScholarGoogle Scholar
  29. National Security Agency. [n.,d.]. Ghidra. https://ghidra-sre.org/ Retrieved 29 December 2022 fromGoogle ScholarGoogle Scholar
  30. TJ OConnor, C. Mann, T. Petersen, I. Thomas, and C. Stricklan. 2022. Toward an Automatic Exploit Generation Competition for an Undergraduate Binary Reverse Engineering Course. In 27th ACM Conference on on Innovation and Technology in Computer Science Education (Vol. 1). 442--448.Google ScholarGoogle Scholar
  31. TJ OConnor and C. Stricklan. 2021. Teaching a Hands-On Mobile and Wireless Cybersecurity Course. In 27th ACM Conference on on Innovation and Technology in Computer Science Education (Vol. 1). 296--302.Google ScholarGoogle Scholar
  32. G. G. Richard III. 2009. A Highly Immersive Approach to Teaching Reverse Engineering. In 2nd Workshop on Cyber Security Experimentation and Test. USENIX, 6 pages. http://usenix.org/event/cset09/tech/full_papers/richard.pdfGoogle ScholarGoogle Scholar
  33. C. Riesbeck. 2020. Critique-Driven Learning and Assessment. See [6], Chapter 8, 123--139.Google ScholarGoogle Scholar
  34. J. Scott. 14 April 2015. Behold the Emularity. http://ascii.textfiles.com/archives/4604 Retrieved 4 January 2023 fromGoogle ScholarGoogle Scholar
  35. J. Stommel. 2020. How to Ungrade. See citeNungrading:book, Chapter 1, 25--41.Google ScholarGoogle Scholar
  36. P. Szor. 2005. The Art of Computer Virus Research and Defense. Addison-Wesley.Google ScholarGoogle Scholar
  37. K. H. Tan and E. L. Ouh. 2021. Lessons Learnt Conducting Capture the Flag CyberSecurity Competition during COVID-19. In 2021 IEEE Frontiers in Education Conference. 9 pages.Google ScholarGoogle Scholar
  38. C. Taylor, P. Arias, J. Klopchic, C. Matarazzo, and E. Dube. 2017. CTF: State-of-the-Art and Building the Next Generation. In 2017 USENIX Workshop on Advances in Security Education. 11 pages.Google ScholarGoogle Scholar
  39. C. Taylor and C. Collberg. 2016. A Tool for Teaching Reverse Engineering. In 2016 USENIX Workshop on Advances in Security Education. 8 pages. https://www.usenix.org/system/files/conference/ase16/ase16-paper-taylor.pdfGoogle ScholarGoogle Scholar
  40. D. H. Tobey, P. Pusey, and D. L. Burley. 2014. Engaging Learners in Cybersecurity Careers: Lessons from the Launch of the National Cyber League. ACM Inroads, Vol. 5, 1 (2014), 53--56.Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. J. Togelius, G. N. Yannakakis, K. O. Stanley, and C. Browne. 2011. Search-Based Procedural Content Generation: A Taxonomy and Survey. IEEE Transactions on Computational Intelligence and AI in Games, Vol. 3, 3 (2011), 172--186.Google ScholarGoogle ScholarCross RefCross Ref
  42. U.S. Bureau of Labor Statistics. [n.,d.]. Occupational Outlook Handbook: Information Security Analysts. https://www.bls.gov/ooh/computer-and-information-technology/information-security-analysts.htm Retrieved 2 January 2023 fromGoogle ScholarGoogle Scholar
  43. J. Vykopal, V. Svábenský, and E.-C. Chang. 2020. Benefits and Pitfalls of Using Capture the Flag Games in University Courses. In 51st ACM Technical Symposium on Computer Science Education. 752--758.Google ScholarGoogle Scholar
  44. J. Vykopal, V. Svábenský, P. Seda, and P. Celeda. 2022. Preventing Cheating in Hands-on Lab Assignments. In 53rd ACM Technical Symposium on Computer Science Education (V. 1). 78--84.Google ScholarGoogle Scholar
  45. H. Wright and J. Aycock. 2020. 10 Binary Games for Computer Science Education. In 51st ACM Technical Symposium on Computer Science Education. 1308. Poster.Google ScholarGoogle Scholar

Index Terms

  1. Binary Reverse Engineering for All

        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
          ITiCSE 2023: Proceedings of the 2023 Conference on Innovation and Technology in Computer Science Education V. 1
          June 2023
          694 pages
          ISBN:9798400701382
          DOI:10.1145/3587102

          Copyright © 2023 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 the author(s) 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: 30 June 2023

          Permissions

          Request permissions about this article.

          Request Permissions

          Check for updates

          Qualifiers

          • research-article

          Acceptance Rates

          Overall Acceptance Rate552of1,613submissions,34%

          Upcoming Conference

          ITiCSE 2024
        • Article Metrics

          • Downloads (Last 12 months)456
          • Downloads (Last 6 weeks)11

          Other Metrics

        PDF Format

        View or Download as a PDF file.

        PDF

        eReader

        View online with eReader.

        eReader