How Secure are our Computer Systems Courses?
Majed Almansoori, Jessica Lam, Elias Fang, Kieran Mulligan, Adalbert Gerald Soosai Raj, Rahul Chatterjee
1
How Secure are our Computer Systems Courses? Majed Almansoori, - - PowerPoint PPT Presentation
madS&P How Secure are our Computer Systems Courses? Majed Almansoori, Jessica Lam, Elias Fang, Kieran Mulligan, Adalbert Gerald Soosai Raj, Rahul Chatterjee 1 Technology in modern society Banks Buildings Hospitals Cars 2
1
2
Buildings Cars Hospitals Banks
3
Computer security is important !!!
4
Result: Software engineers with no security background! Top 20 CS programs in the US
(according to US News)
Source: https://www.usnews.com/best-graduate-schools/top-sci ence-schools/computer-science-rankings
Security courses are
Students can graduate without taking any security course
5
What about other computer science courses? We focus on Computer Systems Prior work evaluated database textbooks.
injection bugs.
Image Source: http://users.ece.northwestern.edu/~kcoloma/ece361/lectures/lec01-introduction.pdf
6
Computer Systems Course Focuses on the software part
7
8
Exploit unsafe function (e.g. strcpy) Buffer Overflow Integer Overflow Code Injection Format String
9
Controlled by user! Buffer overflow ⇒ Control the program flow!
Make argv[1] larger than 20 bytes to cause buffer overflow.
Source Destination
10
(Easily Exploitable)
(Use with caution)
11
by Students
by Instructors
KLOC = Thousand lines of code
FlawFinder (Analysis tool)
12
by Students 60% Level 2
by Instructors 55% Level 2
13
Level 2
14
Found high similarity:
func1 func2 func3 …. funcn 23 1 …. 4 1 5 …. 9 Usage counts of unsafe functions for a school
15
Instructors Code Lecture Notes Textbooks Most of them teach/use unsafe functions !!!
16
fgets() is getting popular Replace unsafe functions with their safer alternatives!
17
NO! Also controlled by user! Buffer overflow ⇒ Control program flow!
Make argv[1] larger than 240 bytes to cause buffer overflow.
18
Update material Unsafe Functions Teach safe alternatives Train Instructors Grade code security
19
https://majedalmansoori.com malmansoori2@wisc.edu
Collected 760+ KLOC 7,337 invocations
Unsafe examples in course resources Redesign computer systems course Integrate security in