Advanced Cybersecurity Programming
Duration
- One Semester or equivalent
Contact hours
- 48 Hours
On-campus unit delivery combines face-to-face and digital learning.
2022 teaching periods
Hawthorn Higher Ed. Semester 1 |
||
---|---|---|
Dates: Results: Last self enrolment: Census: Last withdraw without fail: |
Aims and objectives
This unit covers assembly language programming for Intel 80x86/64 CPU architectures and introductory assembly programming for ARM CPU architectures. Students will use their knowledge to write and inject shell code into vulnerable process, identify ROP gadgets and bypass ASLR and DEP OS protection and to write custom "malware" to exfiltrate data or provide unauthorised access. Student will make extensive use of debuggers and memory forensics tools to understand the operation of their code.
Unit Learning Outcomes | |
---|---|
On successful completion of this unit students will be able to: | |
# | Unit Learning Outcome Description |
ULO1 | Demonstrate an understanding of assembly language programming in a modern CPU architecture |
ULO2 | Analyse and explain small assembly language programs |
ULO3 | Analyse and reverse-engineer medium-sized binaries using semi-automated tools |
ULO4 | Alter the behaviour of computer programs by changing machine code instructions |
ULO5 | Locate and use ROP gadgets to subvert normal program execution |
ULO6 | Design, write and inject shell code into vulnerable processes |
ULO7 | Design, write and implement forward and reverse shell programs as services or applications |
Unit information in detail
- Teaching methods, assessment and content.
Teaching methods
All Applicable Locations | |||||
---|---|---|---|---|---|
Activity Type | Activity | Total Hours | Number of Weeks | Hours Per Week | Optional - Activity Details |
Face to Face Contact | Lecture | 24 | 12 weeks | 2 | No Description |
Face to Face Contact | Tutorial Labs | 24 | 12 weeks | 2 | Tutorials in Computer Labs |
Unspecified Learning Activities | Independent Learning | 102 | 12 weeks | 8.5 | No Description |
Total Hours: | 150 | Total Hours (per week): | 12.5 |
Assessment
All Applicable Locations | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||
|
Content
- Architecture, Data representation, Program Format
- Tool Chain, Debuggers, Volatility, Ada Pro
- Instruction set, Addressing modes, Stac,
- Program development
- Macros, Functions
- Source files, includes
- Stack smashing
- CLI, I/O buffering
- Floating point instructions
- Parallelisation, Interrupts
- Return Oriented Programming
- ASM and C socket programming
Study resources
- References.
References
A list of reading materials and/or required texts will be made available in the Unit Online.