root causes for vulnerability

28
CS 335: Special Topic in Cyber Security Root Causes for Vulnerability

Upload: others

Post on 18-Dec-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Root Causes for Vulnerability

Page 2: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Overview

• Vulnerability classes

• Memory corruption vulnerabilities

• Default or hardcoded credentials

• User enumeration

• Incorrect resource access

• Memory exhaustion attacks

• Storage exhaustion attacks

• CPU exhaustion attacks

• Format string vulnerabilities

• Command Injection

• SQL Injection

• Text-encoding character

replacement

Page 3: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Vulnerability classes

• Remote Code Execution

3

Page 4: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Vulnerability classes

• Remote Code Execution

• Denial-of-Service

4

Page 5: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Vulnerability classes

• Remote Code Execution

• Denial-of-Service

- Persistent

5

Page 6: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Vulnerability classes

• Remote Code Execution

• Denial-of-Service

- Persistent

- Nonpersistent

6

Page 7: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Vulnerability classes

• Remote Code Execution

• Denial-of-Service

- Persistent

- Nonpersistent

• Information Disclosure

7

Page 8: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Vulnerability classes

• Remote Code Execution

• Denial-of-Service

- Persistent

- Nonpersistent

• Information Disclosure

• Authentication Bypass

8

Page 9: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Vulnerability classes

• Remote Code Execution

• Denial-of-Service

- Persistent

- Nonpersistent

• Information Disclosure

• Authentication Bypass

• Authorization Bypass

9

Page 10: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Vulnerability classes

• Remote Code Execution

• Denial-of-Service

- Persistent

- Nonpersistent

• Information Disclosure

• Authentication Bypass

• Authorization Bypass

- Don’t confuse authorization bypass with authentication bypass vulnerabilities.

10

Page 11: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Memory corruption vulnerabilities

• Memory-Safe vs. Memory-Unsafe Programming Languages

• Memory Buffer Overflows

11

https://bugs.python.org/issue24481 https://curl.se/docs/CVE-2014-3707.html

Page 12: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Memory Buffer Overflows

• Fixed-Length Buffer Overflows

12

Page 13: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Memory Buffer Overflows

• Variable-Length Buffer Overflows

13

Page 14: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Integer Overflows

• Module Arithmetic

- 8 bit integer example

• 65 * 4 = 260

14

https://bugs.php.net/bug.php?id=69545/

Page 15: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Integer Overflows

• Out-of-Bounds Buffer Indexing

• Dynamic Memory Allocation Failures

15

Page 16: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Default or hardcoded credentials

• Default Credentials

• Hardcoded Credentials

16

https://lightningsecurity.io/blog/password-not-provided/

Page 17: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

User enumeration

17

Page 18: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Incorrect Resource Access

• Canonicalization

18

Page 19: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Incorrect Resource Access

• Verbose Errors

19

Page 20: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Memory Exhaustion Attacks

20

Page 21: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Storage Exhaustion Attacks

• Compact embedded systems

• Logging

21

Page 22: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

CPU Exhaustion Attacks

• Algorithmic Complexity

22

Page 23: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

CPU Exhaustion Attacks

• Configurable Cryptography

23

Page 24: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Format String Vulnerabilities

24

Page 25: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Command Injection

• password; xcalc

25

Page 26: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

SQL Injection

26

https://hackerone.com/reports/150156/

https://hackerone.com/reports/31756/

Page 27: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Text-Encoding Character Replacement

• ASCII

• Unicode

27

https://hackerone.com/reports/52042/

Page 28: Root Causes for Vulnerability

CS 335: Special Topic in Cyber Security

Summary

• Many possible root causes

• Vulnerabilities appear in most surprise places

• Identifying vulnerabilities is complex

- Network protocols used

- Third party libraries

- Languages

28