Software Security Midterm

Security concepts

Goals: The C.I.A. Triad

Means: Authentication, Authorization, and Audit

Vulnerabilities: Examples and Classification

Rust: Basic Concepts

Variables and Mutability

Data Types

Functions

Control Flows

Rust: Ownership & Test Programming

Ownership Rules

Ownership and Functions

References and Borrowing

Automated Tests

Access Control

Mandatory Access Control (MAC)

Discretionary Access Control (DAC)

Bell-LaPadula and Biba

Role-Based Access Control (RBAC)

Administrative RBAC

NGAC

XACML

Relationship-Based Access Control (ReBAC)

Memory Access

Buffer overflow, memory leak

Pointer Subterfuge

ARC Injection

Examples

String Vulnerabilities

Strings

Common String Manipulation Errors

Stack smashing 

Code injection

Arc injection

Formatted Output

Crashing program

Viewing stack content

Viewing memory content

Overwriting arbitrary memory