본문 바로가기
학교/CS

Lecture 1: Introduction to Computer Security

by Hongwoo 2024. 3. 3.
반응형

목차

 

What is security?

Computer security deals with protecting data, programs, and systems against intelligent adversaries. 

Safety vs Security:

Safety means being secure against unintended threats

Security is the protection against deliberate threats.

 

 

Why is security hard?

Security is hard to test for.

Building secure applications requires deep understanding of all technologies involved in the design and implementation of the system.

One vulnerability can cripple the system (하나의 취약점이 시스템 전체를 무너뜨릴 수 있다)

Not all dependencies are known

It is not all technical, users play a role too.

 

 

Security principles: CIA triad

Systems must be available to users, users should be able to trust (verify) that the data is correct, and data should not be accessed by unauthorized persons.

 

- Confidentiality (비밀성, 기밀성)

허가되지 않은 자가 정보를 보지 못하도록 방지하는 것

 

- Integrity (무결성)

허가되지 않은 자가 정보를 변경할 수 없도록 하는 것.

 

- Availability (가용성)

허가된 자가 정보에 접근하려 할 때 방해가 없도록 하는 것. (악인들이 정보에 접근하는 것을 방지하고 적절하게 허가된 자만 접근할 수 있도록 하는 것)

 

 

Tools for Confidentiality

Encryption

Ensure that data cannot be read when someone gets their hands on it

 

Access control systems

Make it hard to get the data when the user is unauthorized.

 

Policies and governance

Mandate secure data practices

 

 

Tools for Integrity

Data validation

Validate data at various stages to ensure that it is still intact (e.g. Digital signatures, error detection)

 

Change management and version control

Control and document changes to data to ensure transparency and accountability

 

 

Tools for Availability

Redundancy and failover

Design systems with backup mechanisms to mitigate single points of failure

 

Load balancing

Distribute traffic across various resources

 

Monitoring and alerting

Monitor for early signs of problems to identify system failures before they become a large issue.

 

 

Computer security threat

Threats are potential violations of security posed by attackers (attackers have different profiles and motives)

When evaluating the security of a program or website, it's essential to consider the context (potential attacker, ...)

Computer security is context-dependent and revolves around a specific attacker or threat model.

There is no universal solution that can defend against all types of threats.

 

No One-Size-Fits-All

Recognize that security measures should be tailored to specific threats and scenarios

 

Continuous Evaluation

Regularly assess and update security measures based on evolving threat landscapes.

 

Layered Defense

Implement a multi-layered security approach to address different levels of threats.

 

 

Threat Model

A threat model serves as a strategic framework that identifies potential attacks and adversaries a system aims to safeguard against.

Threat models help in understanding and preparing for various security risks.

 

Types of threat actors

Threat actors have varying capabilities.

A hacking group backed by a nation has access to much more resources than someone hacking on their own.

Threat actors have varied motivations, ranging from financial gain to political or ideological reasons.

 

 

Coordinated Vulnerability Disclosure

CVD is an ethical practice where security researchers or individuals who discover vulnerabilities in a system responsibly report them to the affected organization.

 

 

Bug bounty program

Organizations offer rewards to ethical hackers (bug hunters) for responsibly discovering and reporting security vulnerabilities.

Bug bounty programs incentivize ethical hacking to improve cybersecurity.

 

 

Patch adoption is slow

Organizations need some time before their systems are patched, and often this takes a very long or is not done at all.

Because patching is slow, there is a window where organizations are vulnerable even after exploits are readily available.

 

 

Eggshell defense

Eggshell defense: practice of protecting a network or system by assuming that it's vulnerable and treating it as such, even if the specific vulnerabilities aren't immediately apparent.

취약하다고 가정하고 네트워크나 시스템 보호를 미리 하는 거

Attackers only have to succeed once, defenders have to succeed every time

 

 

Cyber Kill Chain

Paradigm shift in cyber security, balancing the playing field: Attackers only have to be detected once.

 

Pyramid of pain

We can detect cyber attacks on multiple levels.

The higher the level of detection, the harder it becomes for attackers to circumvent the measure.

즉, 탐지 레벨이 올라갈수록, 공격자가 피해 가기 어렵다.

 

 

 

 

Security by design

Security by design is an approach that integrates cybersecurity measures into the design and development processes of systems and applications from the outset.

Identifying and addressing security risks early in the development process leads to a more secure product.

Integrating security from the beginning is more cost-effective than retroffiting security measures later.

Regulatory requirements make it mandatory to think about security in an early stage.

 

 

Defense in Depth

Defense in Depth is a cybersecurity strategy that involves deploying multiple layers of security controls to protect against various types of threats.

This reduces the risk of a single security control failure compromising the entire system.

 

 

Usable security

Usable security is an approach that seeks to integrate effective cybersecurity measures while maintaining a positive and user-friendly experience.

Even for the best security measure, if it is not usable, people will work around them, which creates even more security risks.

이건 usability와 security의 균형을 찾는 것. 보안만 생각해서 시스템을 사용하기 어렵게 만들면 안 된다. 

 

 

반응형

'학교 > CS' 카테고리의 다른 글

Lecture 6: OS - Level Security  (0) 2024.03.03
Lecture 5: Internet security  (0) 2024.03.03
Lecture 4: Firewalls and Intrusion detection  (0) 2024.03.03
Lecture 3: Denial of Service and Botnets  (0) 2024.03.03
Lecture 2: Network Security Physical Layer  (0) 2024.03.03

댓글