Hardening Flashcards
What is Hardening?
Configuring an operating system and applications to reduce security vulnerabilities
**Relevant for servers, AND mobile devices
Another definition for hardening
Comprehensive approach to keeping organization safe from intruders by reducing vulnerabilities
Attack surface reduction
Why is physical security important in hardening?
Compromised devices are hard to detect, and encryption helps protect data
How can digital forensics techniques be used?
To retrieve data from disposed of hard drives or SSD
Zero-day vulnerabilities
Vulnerabilities that have already been discovered therefore there are zero days to patch it
2 Main activities in reducing attack surface
- remove ALL unnecessasry components
- Update management (what, when, manual, automatic?)
Sandboxing
Separate as much as possible the execution of processes
EX: (Each service provided by a different virtual machine, or MAC)
What access control do typical consumer systems (Linux, windows) use
Discretionary Access Control (DAC), where each user owns resources and grants access to other users
single user granularity (coarse-grained)
What has a very large and exposed attack surface, and why
web browser because it can access every file in home directory and every resource in local network
Two solutions with better granularity for controlling access to resources
MAC Hardening
- SELinux (security enhanced linux) expressive but complex
- AppArmor (application armor) easier to use and the default in Ubuntu
android uses selinux
ubuntu use apparmor
Two examples of DAC in Unix/Linux allowing binaries to dynamically change their execution user/group at runtime (SUID)
- Mail server (must run as superuser to deliver email, but shouldn’t always run like so)
- Password change (requires access to restricted file!)
What is the purpose of SUID/SGID binaries?
Temporarily elevate privileges for specific tasks (e.g., password management).
What is a major risk of SUID binaries?
If there is a vulnerability, unauthorized code could be run as a superuser by an ATTACKER!!!
They can also modify shell binary, for example, and permit privilege escalation
If an attacker hides a malicious SUID binary in file system, how do we find it?
- capabilities (POSIX 1003.1e) allow control over binary files without requiring SUID/GUID
Advantage of capabilities instead of SUID/GUID
fine-grained control over specific privileges for binary files reducing need for full root privileges and lowering the attack surface for privilege escalation.