4 - Secure Software Design Flashcards
Attack Vectors
a way for attackers to enter a network or system
MQTT Backend vulnerability
It did not require authentication so hackers could get in
ABB ChargerSync vulnerability
Bypass of PIN Code Provisioning.
File Access and Data leakage
- Unauthenticated OCPP Access
Security By Design
Anticipating malicious behaviour and attacks during the design
Dev Life: Requirement Analysis (1)
Find the info to be stored and if it is going to be protected.
Dev Life: Design (2)
Consider access control and lock down each entry point
Dev Life: Implementation (3)
Set up any new HW or SQ as well as coding new SW.
- Stop gathering requirements and practice secure coding
Dev Life: TEsting (4)
Test the security of your app using correct, incorrect and malicious inputs/actions
Dev Life: Install and maintain (5/6)
Think about upgrades and software end of life etc
How to prevent password cracking?
- Enforce strong passwords
- Force password changes
- Change default passwords
- Stronger auth methods. Certs, challenge/response, smartcard
- Monitor and track password attacks, lock the account after number of attemps
- Rename root, admin etc and protect
functions in stack memory
- return address, stack frame pointer and variables are added to stack
- return address has a higher address in the buffer
During the buffer overflow the return address is overwritten
Shellcode with buffer overflow
Hacker would want to overwrie data with shellcode with a return address pointing to the start of it - the payload.
Buffer overflow protections
- Choice of programming languages
- Buffer overflow protection (detect them)
- Address space layout randomisation (randomly arrange locations in mem)
= Executable space protection (mark mem as non-executable) - Bounds Checking (check variable size)
- Static code analysis (code scans)
Shellcode
Injected code in buffer overflow which can achieve goal for hacker.H
Heartbleed attack
NOT APACHE
Affected OpenSSL (via TLS)
Overread. Hackers could read more data than intended by asking for a return value longer than the test message they sent.