Computer Security Overview and Strategies
Computer Security Overview and Strategies
Accountability ensures actions within a system can be traced to responsible parties, supporting investigation and non-repudiation. Authenticity ensures that messages originate from genuine sources. Mechanisms such as auditing logs and digital signatures are crucial in supporting these roles by providing evidence of actions and verifying message legitimacy.
Balancing economy of mechanism and psychological acceptability is crucial to secure system design. Simpler designs (economy of mechanism) are easier to manage and secure, whereas psychological acceptability ensures these mechanisms do not burden users. For example, a straightforward login procedure that uses single sign-on can simplify user access while maintaining security compared to multi-layered, complex authentication methods that users may circumvent.
Incorporating security from the system design phase is advantageous as it allows for seamless integration of security measures into the system's architecture, reducing vulnerabilities. Adding security later can lead to complex, inefficient solutions and may leave residual weaknesses due to incompatibilities or oversight. Proactive inclusion ensures a holistic approach, addressing security comprehensively.
Security is challenging to incorporate into systems because attackers continuously innovate new attack methods, and adding security after system design can be complex. Additionally, strong security measures can hinder usability, creating a balance challenge between making systems secure and user-friendly.
Secure design principles enhance system robustness by simplifying complex designs (Economy of Mechanism), using default deny rules (Fail-Safe Defaults), checking every request (Complete Mediation), maintaining open algorithms while keeping keys secret (Open Design), granting minimal necessary access (Least Privilege), using multi-factor authentication (Separation of Privilege), employing multiple defense layers (Layering), and ensuring security measures are user-friendly (Psychological Acceptability). For example, a system can use layered defenses where outer layers deter general attacks, and inner layers protect sensitive resources.
The CIA Triad contributes to computer security by providing a framework to protect information and systems. Confidentiality ensures that data is accessible only to authorized individuals, such as student grades being only viewable by teachers and students. Integrity ensures data is accurate and unaltered, exemplified by preventing unauthorized changes to hospital records. Availability ensures that systems and data are accessible when needed, such as ensuring online banking systems are always operational.
Passive attacks involve observing information without altering it, such as eavesdropping and traffic analysis, and are countered by encryption. Active attacks involve changing data or disrupting systems, such as replay, masquerade, modification, and DoS attacks, and are countered by detection mechanisms and recovery strategies.
For hardware, countermeasures include physical locks and CCTV to prevent theft or damage. Software protection involves using antivirus and backups to prevent piracy and virus infections. Data protection relies on encryption and access control to prevent deletion, leakage, or modification. Network security employs firewalls and secure protocols to guard against hacking and eavesdropping.
An overall security strategy includes policies that define what needs protection, mechanisms to implement protective measures, and assurance processes to ensure the system functions correctly, typically through testing and evaluation. This layered approach ensures that all potential vulnerabilities are addressed systematically and continuously monitored for effectiveness.
Attack trees are diagrams illustrating an attacker's goals and the steps needed to achieve those goals. They can be used to understand potential security threats by mapping out all possible attack vectors and routes an attacker might take to compromise a system, thus helping in identifying and mitigating vulnerabilities.