NWI-IPC025
Hacking in C
Cursus informatieRooster
CursusNWI-IPC025
Studiepunten (ECTS)3
CategorieBA (Bachelor)
VoertaalEngels
Aangeboden doorRadboud Universiteit; Faculteit der Natuurwetenschappen, Wiskunde en Informatica; Informatica en Informatiekunde;
Docenten
Coördinator
dr. ir. E. Poll
Overige cursussen docent
Examinator
dr. ir. E. Poll
Overige cursussen docent
Contactpersoon van de cursus
dr. ir. E. Poll
Overige cursussen docent
Docent
dr. T.V. Wiggers
Overige cursussen docent
Collegejaar2019
Periode
KW4  (13-04-2020 t/m 30-08-2020)
Aanvangsblok
KW4
Onderwijsvorm
voltijd
Opmerking-
Inschrijven via OSIRISJa
Inschrijven voor bijvakkersJa
VoorinschrijvingNee
WachtlijstNee
Plaatsingsprocedure-
Cursusdoelen
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.
Inhoud
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.
Niveau

Voorkennis
Processors and Imperative Programming
Toetsinformatie
Project work and written exam. The grade is determined by the exam, but the project work must be sufficient to obtain the grade.
Bijzonderheden
This course is taught in English.
Bijzonderheden
This course is taught in English.

Onderwerpen
• representatie of data in C
• allocatie of data on stack and heap
• pointers, malloc, calloc, free, and pointer arithmetic
• organisation of information on the stack
• buffer overflows (heap- and stack-based), format string attacks and integer overflows
• simple prevention, detection (both dynamic and static) and exploitation of such weaknesses

Toetsinformatie
Project work and written exam. The grade is determined by the exam, but the project work must be sufficient to obtain the grade.

Voorkennis
Processors and Imperative Programming

Verplicht materiaal
Blackboard

Aanbevolen materiaal
Boek
Studenten kunnen ook gebruik maken van hoofdstuk 3 uit Introduction of Computer Security, van Michael Goodrich & Roberto Tamassia, Pearson New International Edition.
ISBN:9781292025407

Werkvormen
Computerpracticum

Cursus

Exam Q4

Hoorcollege

Resit Exam Q4

Zelfstudie

Toetsen
Take-home exam
Weging1
ToetsvormTentamen
GelegenhedenBlok KW4, Blok KW4