NWI-IPC025
Hacking in C
Course infoSchedule
Course moduleNWI-IPC025
Credits (ECTS)3
CategoryBA (Bachelor)
Language of instructionEnglish
Offered byRadboud University; Faculty of Science; Informatica en Informatiekunde;
Lecturer(s)
Coordinator
dr. ing. P.J.M. van Aubel
Other course modules lecturer
Lecturer
dr. ing. P.J.M. van Aubel
Other course modules lecturer
Contactperson for the course
dr. ing. P.J.M. van Aubel
Other course modules lecturer
Examiner
dr. ing. P.J.M. van Aubel
Other course modules lecturer
Academic year2020
Period
KW4  (05/04/2021 to 31/08/2021)
Starting block
KW4
Course mode
full-time
Remarks-
Registration using OSIRISYes
Course open to students from other facultiesYes
Pre-registrationNo
Waiting listNo
Placement procedure-
Aims
After the course students can:
  • explain how standard C data types are represented, and write C programs to inspect and manipulate these representations
  • explain how the stack and heap are used to allocate data in C programs
  • write C programs that makes use of pointers and pointer arithmetic
  • explain how the stack is used to administer procedure calls
  • explain how buffer overflows work
  • explain some of the countermeasures against these vulnerabilities, how these work, and apply some of them
  • develop simple exploits for code with buffer overflow weaknesses.
Content
Most security problems have their origin in software, esp.  software that is accessible via the internet. This course is about software security vulnerabilities, standard types of such vulnerabilities, what the causes are, what can be done about them and how they can be detected and exploited.
This course concentrates on typical security problems in C(++) programs and machine code, related to memory management: buffer overflows (on heap and stack), integer overflows, and format string attacks.

Instructional Modes
  • Lecture
  • Self-study
Level

Presumed foreknowledge
Processors and Imperative Programming
Test information
Project work and written exam. The grade is determined by the exam, but the project work must be sufficient to obtain the grade.
Specifics
This course is taught in English.
Required materials
Learning Management System (Brigthspace)
Necessary materials will be posted on the course website.

Recommended materials
Book
Studenten can also use chapter 3 from "Introduction of Computer Security", by Michael Goodrich & Roberto Tamassia, Pearson New International Edition.
ISBN:9781292025407

Instructional modes
Course

Practical computer training

Tests
Final grade
Test weight1
Test typeAssignment
OpportunitiesBlock KW4, Block KW4