148
UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker, Matthew Hou, Michelle Mazurek, and Mike Hicks Qualitative Analysis From Build It, Break It, Fix It University of Maryland, College Park 1

UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE

Daniel Votipka, Kelsey Fulton, James Parker, Matthew Hou, Michelle Mazurek, and Mike Hicks

Qualitative Analysis From Build It, Break It, Fix It

University of Maryland, College Park

1

Page 2: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

“SOLVED” VULNERABILITIES ARE STILL A VERY REAL PROBLEM

2

Page 3: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

“SOLVED” VULNERABILITIES ARE STILL A VERY REAL PROBLEM

2

Page 4: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

“SOLVED” VULNERABILITIES ARE STILL A VERY REAL PROBLEM

2

Page 5: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

“SOLVED” VULNERABILITIES ARE STILL A VERY REAL PROBLEM

2

Page 6: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

“SOLVED” VULNERABILITIES ARE STILL A VERY REAL PROBLEM

2

Page 7: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

3

Page 8: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

“rolling its own crypto rather than relying on tried and tested solutions…. The devices were sending hardcoded encryption keys over the network, and were using a fixed

initialization vector… Moreover, the devices didn’t include any message signing”

3

Page 9: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

“rolling its own crypto rather than relying on tried and tested solutions…. The devices were sending hardcoded encryption keys over the network, and were using a fixed

initialization vector… Moreover, the devices didn’t include any message signing”

3

Page 10: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

“rolling its own crypto rather than relying on tried and tested solutions…. The devices were sending hardcoded encryption keys over the network, and were using a fixed

initialization vector… Moreover, the devices didn’t include any message signing”

3

Page 11: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

“rolling its own crypto rather than relying on tried and tested solutions…. The devices were sending hardcoded encryption keys over the network, and were using a fixed

initialization vector… Moreover, the devices didn’t include any message signing”

3

Page 12: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

“rolling its own crypto rather than relying on tried and tested solutions…. The devices were sending hardcoded encryption keys over the network, and were using a fixed

initialization vector… Moreover, the devices didn’t include any message signing”

3

Page 13: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

“SBI's Mumbai-based data center had a server without password protection”

4

Page 14: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

5

Page 15: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Why do developers continue to make

stupid and lazy mistakes?

6

Page 16: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Why do developers continue to make

stupid and lazy mistakes?

7

Page 17: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Why do developers continue to make

stupid and lazy mistakes?

How can we make secure programming easier?

8

Page 18: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

POSSIBLE SOLUTIONS

9

Page 19: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

POSSIBLE SOLUTIONS

More/Better Education

9

Page 20: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

POSSIBLE SOLUTIONS

More/Better Education

Better APIs

9

Page 21: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

POSSIBLE SOLUTIONS

More/Better Education

Better APIs

Better documentation

9

Page 22: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

POSSIBLE SOLUTIONS

More/Better Education

Better APIs

Better documentation

Automation

9

Page 23: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

POSSIBLE SOLUTIONS

More/Better Education

Better APIs

Better documentation

Automation

Etc

9

Page 24: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

POSSIBLE SOLUTIONS

More/Better Education

Better APIs

Better documentation

Automation

Etc

How can we improve the effectiveness of these solutions?

9

Page 25: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

IN ORDER TO IMPROVE THESE SOLUTIONS, WE NEED TO UNDERSTAND THE TYPES, CAUSES, AND PERVASIVENESS OF VULNERABILITIES.

10

Page 26: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

HOW CAN WE MEASURE THIS?

Field studies

Field surveys

Lab studies

11

Page 27: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

FIELD STUDIES

Immerse ourselves in the “real world” to observe and collect data

12

Page 28: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

FIELD STUDIES

Immerse ourselves in the “real world” to observe and collect data

Pros:

12

Page 29: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

FIELD STUDIES

Immerse ourselves in the “real world” to observe and collect data

Pros:

We can see what happens in the real world

12

Page 30: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

FIELD STUDIES

Immerse ourselves in the “real world” to observe and collect data

Pros:

We can see what happens in the real world

Cons:

12

Page 31: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

FIELD STUDIES

Immerse ourselves in the “real world” to observe and collect data

Pros:

We can see what happens in the real world

Cons:

Hard to get access to

12

Page 32: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

FIELD STUDIES

Immerse ourselves in the “real world” to observe and collect data

Pros:

We can see what happens in the real world

Cons:

Hard to get access to

Hard to generalize site specific data 12

Page 33: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

FIELD SURVEYS

CVEs, GitHub, etc

13

Page 34: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

FIELD SURVEYS

CVEs, GitHub, etc

Pros:

13

Page 35: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

FIELD SURVEYS

CVEs, GitHub, etc

Pros:

Large datasets publicly available

13

Page 36: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

FIELD SURVEYS

CVEs, GitHub, etc

Pros:

Large datasets publicly available

Data is already categorized

13

Page 37: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

FIELD SURVEYS

CVEs, GitHub, etc

Pros:

Large datasets publicly available

Data is already categorized

Cons:

13

Page 38: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

FIELD SURVEYS

CVEs, GitHub, etc

Pros:

Large datasets publicly available

Data is already categorized

Cons:

Hard to understand why

13

Page 39: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

FIELD SURVEYS

CVEs, GitHub, etc

Pros:

Large datasets publicly available

Data is already categorized

Cons:

Hard to understand why

Hard to compare possibly unrelated data 13

Page 40: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

LAB STUDIES

Have people participate in a controlled experiment

14

Page 41: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

LAB STUDIES

Have people participate in a controlled experiment

Pros:

14

Page 42: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

LAB STUDIES

Have people participate in a controlled experiment

Pros:

A lot of control over conditions

14

Page 43: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

LAB STUDIES

Have people participate in a controlled experiment

Pros:

A lot of control over conditions

Cons:

14

Page 44: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

LAB STUDIES

Have people participate in a controlled experiment

Pros:

A lot of control over conditions

Cons:

Ecological validity

14

Page 45: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

LAB STUDIES

Have people participate in a controlled experiment

Pros:

A lot of control over conditions

Cons:

Ecological validity

Potentially simple problems 14

Page 46: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

BUILD IT, BREAK IT, FIX IT

Secure programming contest

Ruef et al. , CCS 2016

15

Page 47: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

BUILD IT, BREAK IT, FIX IT

Secure programming contest

Build-It Phase

Ruef et al. , CCS 2016

15

Page 48: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

BUILD IT, BREAK IT, FIX IT

Secure programming contest

Build-It Phase

2 weeks

Ruef et al. , CCS 2016

15

Page 49: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

BUILD IT, BREAK IT, FIX IT

Secure programming contest

Build-It Phase

2 weeks

Develop to spec with open choices

Ruef et al. , CCS 2016

15

Page 50: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

BUILD IT, BREAK IT, FIX IT

Secure programming contest

Build-It Phase

2 weeks

Develop to spec with open choices

Incentivized:

Ruef et al. , CCS 2016

15

Page 51: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

BUILD IT, BREAK IT, FIX IT

Secure programming contest

Build-It Phase

2 weeks

Develop to spec with open choices

Incentivized:

Make it performant

Ruef et al. , CCS 2016

15

Page 52: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

BUILD IT, BREAK IT, FIX IT

Secure programming contest

Build-It Phase

2 weeks

Develop to spec with open choices

Incentivized:

Make it performant

Make it secure

Ruef et al. , CCS 2016

15

Page 53: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

BUILD IT, BREAK IT, FIX IT

Break-It Phase

Ruef et al. , CCS 2016

16

Page 54: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

BUILD IT, BREAK IT, FIX IT

Break-It Phase

Get other teams’ source code

Ruef et al. , CCS 2016

16

Page 55: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

BUILD IT, BREAK IT, FIX IT

Break-It Phase

Get other teams’ source code

Attack breadth of submissions

Ruef et al. , CCS 2016

16

Page 56: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

BUILD IT, BREAK IT, FIX IT

Break-It Phase

Get other teams’ source code

Attack breadth of submissions

Find unique vulnerabilities

Ruef et al. , CCS 2016

16

Page 57: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

BUILD IT, BREAK IT, FIX IT

Break-It Phase

Get other teams’ source code

Attack breadth of submissions

Find unique vulnerabilities

Prioritize security bugs over correctness

Ruef et al. , CCS 2016

16

Page 58: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

BUILD IT, BREAK IT, FIX IT

Break-It Phase

Get other teams’ source code

Attack breadth of submissions

Find unique vulnerabilities

Prioritize security bugs over correctness

Fix-It Phase

Ruef et al. , CCS 2016

16

Page 59: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

BUILD IT, BREAK IT, FIX IT

Break-It Phase

Get other teams’ source code

Attack breadth of submissions

Find unique vulnerabilities

Prioritize security bugs over correctness

Fix-It Phase

Make fixes and get points back

Ruef et al. , CCS 2016

16

Page 60: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE LOG PROBLEM

log: Event LogTime User Action Where

17

Page 61: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE LOG PROBLEM

./logappend –T 0800 –K XDFLKJSLJDLJFLKJLSDF –E Bob -A –R Gallery log

log: Event LogTime User Action Where

17

Page 62: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE LOG PROBLEM

./logappend –T 0800 –K XDFLKJSLJDLJFLKJLSDF –E Bob -A –R Gallery log

log: Event LogTime User Action Where

8:00 AM Bob Enter Gallery

Event LogTime User Action Where

17

Page 63: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE LOG PROBLEM

./logappend –T 0800 –K XDFLKJSLJDLJFLKJLSDF –E Bob -A –R Gallery log

./logappend –T 0801 –K XDFLKJSLJDLJFLKJLSDF –E Alice -A –R Office log

log: Event LogTime User Action Where

8:00 AM Bob Enter Gallery

Event LogTime User Action Where

17

Page 64: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE LOG PROBLEM

./logappend –T 0800 –K XDFLKJSLJDLJFLKJLSDF –E Bob -A –R Gallery log

./logappend –T 0801 –K XDFLKJSLJDLJFLKJLSDF –E Alice -A –R Office log

log: Event LogTime User Action Where

8:00 AM Bob Enter Gallery8:01 AM Alice Enter Office

Event LogTime User Action Where

8:00 AM Bob Enter Gallery

Event LogTime User Action Where

17

Page 65: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE LOG PROBLEM

./logappend –T 0800 –K XDFLKJSLJDLJFLKJLSDF –E Bob -A –R Gallery log

./logappend –T 0801 –K XDFLKJSLJDLJFLKJLSDF –E Alice -A –R Office log

log:

./logread –K XDFLKJSLJDLJFLKJLSDF –R –E Alice log

Event LogTime User Action Where

8:00 AM Bob Enter Gallery8:01 AM Alice Enter Office

Event LogTime User Action Where

8:00 AM Bob Enter Gallery

Event LogTime User Action Where

17

Page 66: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE LOG PROBLEM

./logappend –T 0800 –K XDFLKJSLJDLJFLKJLSDF –E Bob -A –R Gallery log

./logappend –T 0801 –K XDFLKJSLJDLJFLKJLSDF –E Alice -A –R Office log

log:

./logread –K XDFLKJSLJDLJFLKJLSDF –R –E Alice log Office

Event LogTime User Action Where

8:00 AM Bob Enter Gallery8:01 AM Alice Enter Office

Event LogTime User Action Where

8:00 AM Bob Enter Gallery

Event LogTime User Action Where

17

Page 67: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE LOG PROBLEM

./logappend –T 0800 –K XDFLKJSLJDLJFLKJLSDF –E Bob -A –R Gallery log

./logappend –T 0801 –K XDFLKJSLJDLJFLKJLSDF –E Alice -A –R Office log

log:

./logread –K XDFLKJSLJDLJFLKJLSDF –R –E Alice log Office

Event LogTime User Action Where

8:00 AM Bob Enter Gallery8:01 AM Alice Enter Office

Event LogTime User Action Where

8:00 AM Bob Enter Gallery

Event LogTime User Action Where

17

Page 68: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE LOG PROBLEM

./logappend –T 0800 –K XDFLKJSLJDLJFLKJLSDF –E Bob -A –R Gallery log

./logappend –T 0801 –K XDFLKJSLJDLJFLKJLSDF –E Alice -A –R Office log

log:

./logread –K XDFLKJSLJDLJFLKJLSDF –R –E Alice log Office

Event LogTime User Action Where

8:00 AM Bob Enter Gallery8:01 AM Alice Enter Office

X

Event LogTime User Action Where

8:00 AM Bob Enter Gallery

Event LogTime User Action Where

17

Page 69: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE COMMUNICATIONS PROBLEM

18

Page 70: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE COMMUNICATIONS PROBLEM

./bank –s auth

18

Page 71: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE COMMUNICATIONS PROBLEM

auth: XDFLKJSLJDLJFLKJLSDF

./bank –s auth

18

Page 72: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE COMMUNICATIONS PROBLEM

auth: XDFLKJSLJDLJFLKJLSDF

./bank –s auth

18

Page 73: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE COMMUNICATIONS PROBLEM

auth: XDFLKJSLJDLJFLKJLSDF

./bank –s auth ./atm –s auth –c card –a bob –n 1000

18

Page 74: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE COMMUNICATIONS PROBLEM

auth: XDFLKJSLJDLJFLKJLSDF

./bank –s auth

card: DFLLKSDF

./atm –s auth –c card –a bob –n 1000

bob balance: 1000

18

Page 75: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE COMMUNICATIONS PROBLEM

auth: XDFLKJSLJDLJFLKJLSDF

./bank –s auth

card: DFLLKSDF

./atm –s auth –c card –a bob –n 1000

./atm –s auth –c card –a bob –d 50 bob balance: 10001050

18

Page 76: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE COMMUNICATIONS PROBLEM

auth: XDFLKJSLJDLJFLKJLSDF

./bank –s auth

card: DFLLKSDF

./atm –s auth –c card –a bob –n 1000

./atm –s auth –c card –a bob –d 50

./atm –s auth –c card –a bob –w 600bob balance: 10001050450

18

Page 77: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE COMMUNICATIONS PROBLEM

auth: XDFLKJSLJDLJFLKJLSDF

./bank –s auth

card: DFLLKSDF

./atm –s auth –c card –a bob –n 1000

./atm –s auth –c card –a bob –d 50

./atm –s auth –c card –a bob –w 600bob balance: 10001050450

18

Page 78: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SECURE COMMUNICATIONS PROBLEM

auth: XDFLKJSLJDLJFLKJLSDF

./bank –s auth

card: DFLLKSDF

./atm –s auth –c card –a bob –n 1000

./atm –s auth –c card –a bob –d 50

./atm –s auth –c card –a bob –w 600bob balance: 10001050450

18

Page 79: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

MULTIUSER DATABASE PROBLEM

19

Page 80: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

MULTIUSER DATABASE PROBLEM

as principal admin password "admin" do create principal alice "alices_password" set msg = "Hi Alice. Good luck in Build it, Break it, Fix it!" set delegation msg admin read -> alice return "success" ***

19

Page 81: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

MULTIUSER DATABASE PROBLEM

as principal admin password "admin" do create principal alice "alices_password" set msg = "Hi Alice. Good luck in Build it, Break it, Fix it!" set delegation msg admin read -> alice return "success" ***

as principal alice password ”alices_password" do return msg ***

19

Page 82: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

MULTIUSER DATABASE PROBLEM

as principal admin password "admin" do create principal alice "alices_password" set msg = "Hi Alice. Good luck in Build it, Break it, Fix it!" set delegation msg admin read -> alice return "success" ***

as principal alice password ”alices_password" do return msg ***

as principal bob password ”bobs_password" do return msg ***

19

Page 83: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

RESEARCH QUESTIONS

20

Page 84: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

RESEARCH QUESTIONS

What types of vulnerabilities do developers introduce?

20

Page 85: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

RESEARCH QUESTIONS

What types of vulnerabilities do developers introduce?

How severe are the vulnerabilities? If exploited, what is the effect on the system?

20

Page 86: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

RESEARCH QUESTIONS

What types of vulnerabilities do developers introduce?

How severe are the vulnerabilities? If exploited, what is the effect on the system?

How exploitable are the vulnerabilities? What level of insight is required and how much work is necessary?

20

Page 87: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

What types of vulnerabilities do developers introduce?

How severe are the vulnerabilities? If exploited, what is the effect on the system?

How exploitable are the vulnerabilities? What level of insight is required and how much work is necessary?

RESEARCH QUESTIONS

21

Page 88: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

ANALYSIS APPROACH

22

Page 89: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

ANALYSIS APPROACH

Examine projects and associated exploits in detail

22

Page 90: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

ANALYSIS APPROACH

Examine projects and associated exploits in detail

Iterative open coding

22

Page 91: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

ANALYSIS APPROACH

Examine projects and associated exploits in detail

Iterative open coding

Two independent researchers with high reliability

22

Page 92: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

ANALYSIS APPROACH

Examine projects and associated exploits in detail

Iterative open coding

Two independent researchers with high reliability

76 projects with 866 submitted exploits

22

Page 93: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

ANALYSIS APPROACH

Examine projects and associated exploits in detail

Iterative open coding

Two independent researchers with high reliability

76 projects with 866 submitted exploits

Both qualitative and quantitative analysis performed

22

Page 94: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

RESULTS

23

Page 95: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Mistake

Vulnerability classes

No implementation Misunderstanding

Intuitive Bad Choice Conceptual ErrorUnintuitive

24

Page 96: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

No implementation

25

Page 97: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

No implementation

Intuitive

• Missed something “Intuitive”

26

Page 98: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

No implementation

Intuitive

• Missed something “Intuitive”• No encryption (log, ATM)

26

Page 99: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

No implementation

Intuitive

• Missed something “Intuitive”• No encryption (log, ATM)• No access control (MD)

26

Page 100: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

No implementation

Intuitive Unintuitive

• Missed something “Intuitive”• No encryption (log, ATM)• No access control (MD)

• Missed something “Unintuitive”• No MAC (log)

27

Page 101: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

No implementation

Intuitive Unintuitive

• Missed something “Intuitive”• No encryption (log, ATM)• No access control (MD)

• Missed something “Unintuitive”• No MAC (log)• Side-channel leakage (ATM,

MD)

27

Page 102: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

No implementation

Intuitive Unintuitive

• Missed something “Intuitive”• No encryption (log, ATM)• No access control (MD)

• Missed something “Unintuitive”• No MAC (log)• Side-channel leakage (ATM,

MD)• No replay prevention (ATM)

27

Page 103: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

Misunderstanding

28

Page 104: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

Misunderstanding

Bad Choice

• Made a “Bad Choice”

29

Page 105: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

Misunderstanding

Bad Choice

• Made a “Bad Choice”• Weak algorithms

(log, ATM)

29

Page 106: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

Misunderstanding

Bad Choice

• Made a “Bad Choice”• Weak algorithms

(log, ATM)• Homemade

encryption (log, ATM)

29

Page 107: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

Misunderstanding

Bad Choice

• Made a “Bad Choice”• Weak algorithms

(log, ATM)• Homemade

encryption (log, ATM)

• strcpy (log, ATM, MD)

29

Page 108: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

Misunderstanding

Bad Choice Conceptual Error

• Made a “Conceptual Error”

30

Page 109: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

Misunderstanding

Bad Choice Conceptual Error

• Made a “Conceptual Error”• Fixed value (log,

ATM, MD)

30

Page 110: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

31

Page 111: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

31

Page 112: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

31

Page 113: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

Misunderstanding

Bad Choice Conceptual Error

• Made a “Conceptual Error”• Fixed value (log,

ATM, MD)

32

Page 114: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

Misunderstanding

Bad Choice Conceptual Error

• Made a “Conceptual Error”• Fixed value (log,

ATM, MD)• Lacking sufficient

randomness (log, ATM)

32

Page 115: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Vulnerability classes

Misunderstanding

Bad Choice Conceptual Error

• Made a “Conceptual Error”• Fixed value (log,

ATM, MD)• Lacking sufficient

randomness (log, ATM)

• Disabling protections in library (log)

32

Page 116: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

33

Page 117: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

33

Page 118: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Mistake

Vulnerability classes

• Made a “Mistake”

34

Page 119: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Mistake

Vulnerability classes

• Made a “Mistake”• Control flow mistake (ATM, MD)

34

Page 120: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Mistake

Vulnerability classes

• Made a “Mistake”• Control flow mistake (ATM, MD)• Skipped algorithmic step (ATM, MD)

34

Page 121: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Mistake

Vulnerability classes

• Made a “Mistake”• Control flow mistake (ATM, MD)• Skipped algorithmic step (ATM, MD)

34

Page 122: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

Mistake

Vulnerability classes

• Made a “Mistake”• Control flow mistake (ATM, MD)• Skipped algorithmic step (ATM, MD)

34

Page 123: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

PREVALENCEPercentage of projects that introduced a mistake, misunderstanding,

and no implementation vulnerability grouped by problem:

20% of projects 800 40 60

Secure log Secure communication Multiuser database Totals

Mistake

Misund.

No Impl.

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

35

Page 124: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

PREVALENCEPercentage of projects that introduced a mistake, misunderstanding,

and no implementation vulnerability grouped by problem:

20% of projects 800 40 60

Secure log Secure communication Multiuser database Totals

Mistake

Misund.

No Impl.

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

35

Page 125: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

PREVALENCEPercentage of projects that introduced a mistake, misunderstanding,

and no implementation vulnerability grouped by problem:

20% of projects 800 40 60

Secure log Secure communication Multiuser database Totals

Mistake

Misund.

No Impl.

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

introd_metagroup_noattempt

introd_metagroup_misunderstood

introd_metagroup_mistake

0 20 40 60 80Percentage of Projects

Vuln

erab

ility

Cla

ss problem

ATM

EHR

Gallery

Total

35

Page 126: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

PREVALENCE

Intuitive

Unituitive

Bad choice

Concept error

0 14 28 41 55

No

Impl

.

Mis

und.

% of Projects that introduced each subclass

% of projects

36

Page 127: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

PREVALENCE

Intuitive

Unituitive

Bad choice

Concept error

0 14 28 41 55

No

Impl

.

Mis

und.

% of Projects that introduced each subclass

% of projects

36

Page 128: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

PREVALENCE

Intuitive

Unituitive

Bad choice

Concept error

0 14 28 41 55

No

Impl

.

Mis

und.

% of Projects that introduced each subclass

% of projects

36

Page 129: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

PREVALENCE

Intuitive

Unituitive

Bad choice

Concept error

0 14 28 41 55

No

Impl

.

Mis

und.

% of Projects that introduced each subclass

% of projects

36

Page 130: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

PREVALENCE

Intuitive

Unituitive

Bad choice

Concept error

0 14 28 41 55

No

Impl

.

Mis

und.

% of Projects that introduced each subclass

% of projects

36

Page 131: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

PREVALENCE

Intuitive

Unituitive

Bad choice

Concept error

0 14 28 41 55

No

Impl

.

Mis

und.

% of Projects that introduced each subclass

% of projects

36

Page 132: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

PREVALENCE

Intuitive

Unituitive

Bad choice

Concept error

0 14 28 41 55

No

Impl

.

Mis

und.

% of Projects that introduced each subclass

% of projects

36

Page 133: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

TRENDS WITHIN MISTAKES

37

Page 134: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

TRENDS WITHIN MISTAKES

Complexity breeds mistakes.

37

Page 135: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

TRENDS WITHIN MISTAKES

Complexity breeds mistakes.

Most common in the multi-user database problem (most complex) and least common in log problem (least complex)

37

Page 136: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

TRENDS WITHIN MISTAKES

Complexity breeds mistakes.

Most common in the multi-user database problem (most complex) and least common in log problem (least complex)

Writing security checks once reduced mistakes

37

Page 137: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

TRENDS WITHIN MISTAKES

Complexity breeds mistakes.

Most common in the multi-user database problem (most complex) and least common in log problem (least complex)

Writing security checks once reduced mistakes

37

Almost all mistakes were found in the Break-It phase

Page 138: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

RECOMMENDATIONS

38

Page 139: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

RECOMMENDATIONS

Simplify API design

Build in security primitives and focus on common use-cases

38

Page 140: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

RECOMMENDATIONS

Simplify API design

Build in security primitives and focus on common use-cases

Indicate security impact of non-default use in API Documentation

Explain the negative effects of turning off certain things

38

Page 141: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

RECOMMENDATIONS

Simplify API design

Build in security primitives and focus on common use-cases

Indicate security impact of non-default use in API Documentation

Explain the negative effects of turning off certain things

Vulnerability Analysis Tools

More emphasis on design-level conceptual issues 38

Page 142: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SUMMARY

39

Page 143: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SUMMARY

Developers struggle with security concepts

39

Page 144: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SUMMARY

Developers struggle with security concepts

Mostly knew they needed security and picked the right tools

39

Page 145: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SUMMARY

Developers struggle with security concepts

Mostly knew they needed security and picked the right tools

Didn’t know all the security requirements (Unintuitive) or all the implementation details (Conceptual Error)

39

Page 146: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SUMMARY

Developers struggle with security concepts

Mostly knew they needed security and picked the right tools

Didn’t know all the security requirements (Unintuitive) or all the implementation details (Conceptual Error)

Mistakes happen, but can be reduced through code review and best practices

39

Page 147: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SUMMARY

Developers struggle with security concepts

Mostly knew they needed security and picked the right tools

Didn’t know all the security requirements (Unintuitive) or all the implementation details (Conceptual Error)

Mistakes happen, but can be reduced through code review and best practices

Improve API design, documentation, and automation to handle conceptual nuances

39

Page 148: UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKEdvotipka/slides/Votipka-HCSS2019.pdf · UNDERSTANDING SECURITY MISTAKES DEVELOPERS MAKE Daniel Votipka, Kelsey Fulton, James Parker,

SUMMARY

Developers struggle with security concepts

Mostly knew they needed security and picked the right tools

Didn’t know all the security requirements (Unintuitive) or all the implementation details (Conceptual Error)

Mistakes happen, but can be reduced through code review and best practices

Improve API design, documentation, and automation to handle conceptual nuances

39

[email protected]

sec-professionals.cs.umd.edu