2020-09-28: Homework 0x01 is out. The deadline is 9am on 2020-10-18. Please check the course web site. Alternativaly, you may download homework files from this course website.
2020-09-25: Solution for HW00 from TA is available at here.
2020-09-25: Slide list is updated.
2020-09-18: Our shared course website is located at edu-ctf.csie.org. You can only access the website from IP addresses belong to NCTU, NTU, NTHU, NCU, NTUST, and NTNU. If you were at home, please consider working with campus VPNs.
2020-09-18: Please complete homework 0x00 at your earliest convenience. The website is located at hw00.zoolab.org. The deadline for homework 0x00 is 9:00am, Sept. 25.
2020-09-16: For students who want to sign up this course, please 1) attend the course introduction class on Sept.18, and 2) complete Homework 0x00 of this course, which will be announced in our first class.
2020-09-16: Course web site refreshed.
Homework Submission Procedure
Solve homework assignments on the CTF website.
Pack all your files (source codes and write-ups) into a single archive.
Submit all your files to new E3 system.
Content in your write-ups:
Real name, Nickname on course website, Student ID
Explain the method you used for each problem. If some step of your solution cannot be written as scripts, you have to explain them in more detail here.
Please pack the scripts as seperated files in code/ folder, and briefly explain what they do in the writeup.
Prerequisite: Assembly language, C/C++ programming, and UNIX programming.
Reference books:
Brian Chess and Jacob West, "Secure Programming with Static Analysis", Addison Wesley Professional, 2007, ISBN-10: 0-321-42477-8.
Robert C. Seacord, "Secure Coding in C and C++", 2006 Pearson Education, Inc.
Michael Howard and Davide LeBlanc, "Writing Secure Code", 2006 Microsoft Press.
Mark G. Graff and Kenneth R. van Wyk, "Secure Coding Principles and Practices", 2003 O'Reilly and Associates, Inc
TAs:
Lead TA @ NCTU: Ting-Yu Chen. Email: echo dGVycnluaW5pMzg1MTRAZ21haWwuY29tCg== | base64 -d
TA group. Email: echo Y3RmQGNzaWUubnR1LmVkdS50dwo= | base64 -d
Course Topics:
General: Tools, Assembly, and x86 Linux Programming
Binary: BOF, FMT/ROP, Heap, and other advanced topics
Web: Web overview, PHP basics, SQL basics, Web vulnerabilities, and case studies
Reverse engineering: Game hacking, Malware reverse, Windows reverse
Crypto: Symmetric algorithms, Asymmetric algorithms, and Crypto in CTF
Others: Talks on specific topics
Grading policy: (tentative) Homework (65%), Final CTF (25%), and class participation (10%).
Bonus: additional performance in security contests or bug bounty programs
Homework judgment policy: We do not welcome copycats. You are encourages to discuss with your classmates, but all your submissions must be your own work.