Computer security (also cybersecurity or IT security) protects software, systems, and networks from adversarial threats that may seek to access information without authorisation, damage or steal hardware/software/data, or disrupt services.
Security is one of the most important parts of modern software engineering, because of how ubiquitous computers are. Our systems now must be secure by necessity.1
Basics
One problem with modern distributed systems is that there are multiple nodes connected by a network, so there’s a larger attack surface. Some challenges:
- Nodes may be compromised and behave maliciously.
- Nodes may alter, insert, or drop messages.
- Nodes may send different messages to different nodes.
These can be mitigated by Byzantine fault tolerant systems.
Sub-pages
Resources
Footnotes
-
“Focus on trustworthy systems, rather than just secure components.” - Prof Kevin Fu ↩