Description:
The research project titled "Gamification of Security Education in
Programming Courses" aims to create an efficient way of finding common security issues
in student submissions using Fuzzing and helping college students become aware of secure
programming practices.
Contribution:
I was tasked with the testing phase of the project and making modifications to the readme files of
the GitHub Repository. I successfully created new GitHub classrooms with student submissions and ran GitHub workflows
to check if the framework was able to perform fuzzing on homework submissions to find crashes and provide them
forward to other fuzzers. I also added new features to make the workflows more robust. Finally, I ran tests
to show that fuzzing was able to find crashes in student submissions that did not have any crashes when tested
using conventional methods.
Learning:
I learned what the concept of fuzzing is, how different types of fuzzers exist for different purposes,
and how to run AFL fuzzers. I gained knowledge on how to write bash scripts, work on Linux-Based systems,
run GitHub workflows
and manage GitHub classrooms, and change and create Yaml files. I learned how to efficiently read and understand
research papers and
how to also write and present research papers.
Technologies Used:
Python • C • Shell • Bash •
Concepts Learned:
Linux • Fuzzing • AFL Fuzzing • Technical communication •
At the end of my internship, I presented
research paper titled “Seamless Integration of Security Education in Programming Courses”
at the SURF Summer Symposium 2022. The research paper can be found here and the abstract can be found here.
|