🔒

Cybersecurity Lecture Highlights and Insights

Apr 28, 2025

Future of Cyber Lecture Notes

Final Exam Details

  • Date: May 15th for the paper exam, and May 15th to May 18th for the practical exam.
  • Format: Similar choice between practical (online/remote) and in-person.

Effective Cybersecurity Policies

  • Policies provide guidance for non-technical people.
  • They often target low-hanging fruit, but are not comprehensive.

New Approach: Making Failure Impossible

  • Security challenges often stem from system design complexities.
  • No single action can fix all security issues.

Memory Safe Languages

  • Problems in C/C++:
    • Undefined behaviors like out-of-bounds reads, buffer overflows.
    • Usage of uninitialized or freed memory.
  • Solutions:
    • Address Sanitizer (ASAN): Detects but doesn't prevent all memory issues.
    • Memory Safe Languages (e.g., Go, Rust): Prevents memory safety issues (
      • Prevention of out-of-bounds indexing, buffer overflows, and use-after-free scenarios.
    • Rust has a borrow checker to ensure memory safety.
    • Go’s garbage collection automates memory management.
  • Limitations:
    • Both languages allow "unsafe" operations for specific needs like interfacing with C libraries.
    • C code still prevalent, prone to logic errors rather than memory corruption.

Sandboxing Techniques

  • Goals:
    • Prevent unauthorized actions.
    • Prevent resource exhaustion.
  • System Calls: Key interface between programs and the kernel.
  • ptrace: Used in debugging (e.g., GDB) and for sandboxing; performance can be a concern.
  • seccomp:
    • Filters syscalls to enforce secure modes.
    • Example code provided for setting up seccomp filters.

Additional Security Measures

  • AppArmor/SELinux/Landlock: Kernel-level security modules to control application permissions.
  • Namespaces: Enables Docker-style container isolation.
  • cgroups: Controls resource allocation (e.g., CPU, memory) for processes.

Program Analysis: Formal Verification

  • Objective: Verify that software does not perform unwanted actions.
  • Tools:
    • angr: Symbolic execution to explore software states.
    • cbmc: Overapproximation to check for potential buffer overflows.
    • TLA+: Mathematical approach to verify algorithms.

Zero Trust Model

  • Controls access to systems and services based on user credentials.
  • Technologies like Tailscale, Yggdrasil, Zerotier implement zero trust by limiting access to approved users.

Assignment 10

  • Available online, but does not include any flags.

Summary

  • Future cybersecurity efforts focus on eliminating vulnerabilities through technological advancements rather than relying solely on policy.
  • Next session features a career guest speaker.