Chapter 1. Security Concepts

박병준·2022년 4월 11일
0

컴퓨터 보안

목록 보기
1/14

1. Computer security concepts

NIST에서 제시한 Computer security의 정의

정보 시스템에서 사용하는 자원들에 대해서 기밀성, 무결성, 가용성을 보존하는 것을 목표로 하는 보호 절차

기밀성(Confidentiality)

  • 데이터의 기밀성
    허가받은 사람만 정보에 접근 가능해야 한다.
  • Privacy
    자신의 정보를 아무나 임의의 방식으로 공유하거나 배포할 수 없다.
    즉, 정보의 주권은 자기가 가지고 있다.

무결성(integrity)

  • 데이터의 무결성
    정보나 프로그램이 미리 정의되거나 허가된 방법으로만 변경되어야 한다.
  • 시스템의 무결성
    시스템이 허가되지 않은 방식으로 조작되는 것은 허용되면 안된다.

가용성(availablity)

  • 정상적인 사용자한테는 시스템에 대한 서비스가 정상적으로 제공되어야 한다.

책임성(accountability)

  • 어떠한 일이 일어났을 때 책임 소재를 가릴 수 있어야 한다.

인증(authenticity)

  • 누가 진짜인지 아닌지 확인할 수 있어야 한다.

보안이 어려운 점

  • 보안은 복잡하다.
  • 항상 공격자가 유리한 싸움이다.
  • 잠재적인 위험이 있어 계속 모니터링해야 한다.
  • 보안 메커니즘이 여러 알고리즘으로 구성되어 있다.
  • 투자하는 비용 대비 얻게되는 효용성이 적어진다.
  • 강력한 보안은 기능의 효율성을 떨어트릴 수 있다.

OSI Security architecture

  • Security attack
  • Security mechanism
  • Security service

2. Security attacks

Threat(위협) and Attack

  • Threat
    보안을 위반할 수 있는 잠재성
  • Attack
    Threat이 실현된 상태

Passive attack

공격이 일어난 다음에 시스템의 변형이 일어나지 않고 상태가 유지된다.

  • 봐서는 안되는 매세지를 보는 공격
    막는 방법: 암호화

  • 트래픽의 패턴을 분석하는 공격
    막는 방법: Tor

Active attack

시스템 자원이나 동작이 변형이 일어난다.

  • 다른 사람인 척 하는 공격
  • 반복해서 요청을 보내는 공격
  • 메세지 내용을 변경하는 공격
  • 메세지가 가는 것을 막는 공격

Security services

Data Confidentially

  • passive attack을 막는다.
  • 트래픽 흐름 분석을 막는다.

Data intergrity

  • Connectionless
    메세지 자체가 변경이 되었는지 고려한다.
  • Connection-oriented
    메세지 자체가 변경이 되었는지와 메세지의 순서까지 고려한다.

Availablity

  • 서비스가 거부되도록 하는 공격(ex. DDOS 공격)

Authentication

  • 주체가 누구인지 확인한다.
  • 내가 기대하는 사람으로부터 오는 정보가 맞는지 확인한다.

Nonrepudiation

  • 메세지의 송수신이나 통신이 실행된 후에, 그 사실을 사후에 증명함으로써 사실 부인을 방지하는 공증과 같은 기술이다.

Access Control

  • 인가되지 않는 공개나 인가되지 않는 변경으로부터 데이터와 정보를 보호한다.
  • 위의 5가지 조건과 연결되어 있다.

Access Control 정책

DAC(임의적 접근 제어)

정보의 소유자가 정보나 자원에 대한 접근제어를 결정한다. (ex. 리눅스 파일 시스템)

  • 장점
    세밀한 제어가 가능하다.
  • 단점
    사용자를 믿을 수 없다.
    잘 못 사용하면 시스템 전체에 위협이 될 수 있다.

MAC(강제적 접근 제어)

관리자가 시스템 전체의 정보나 자원에 대한 접근제어를 결정한다.

Access Control Matrix

권한이 정의되어 있는 2차원 테이블

  • 비어있는 공간이 있어 비효율적이다.

Access Control List

  • 객체에 따라 주체를
  • UNIX file
  • 정밀도가 떨어지고 세부적인 컨트롤 불가하다.

Capabilities

  • 주체에 따라 객체를
  • 안드로이드 앱 권한

RBAC(역할 기반 접근제어)

사용자 인증

  • 알고있는 정보를 이용
    비밀번호, PIN

  • 가지고 있는 물건을 이용
    ID card, SIM, OTP, NFC

  • 사용자 자체
    지문, 홍체, 안면

  • 두가지 방법 섞어 사용하기


Security mechanism

Encryption

Message authentication

  • nonrepudiation 제공X

Digital signature

  • nonrepudiation 제공O

Fuyndamental security design principles

  • Economy of mechanism
    간단하고 작게 만들어야 한다.
  • Fail-safe defaults
    전부 막아놓고 일부 허용으로 만들어야 한다.
  • Complete mediation
    한가지만 확인하고 전부 허용하면 안된다.
  • Open design
    보안 시스템을 모두가 볼 수 있게 해야 한다.
  • Sepration of privilege
    한가지 권한으로 모든 것을 할 수 있게 하면 안된다.
  • Least privilege
    어떠한 동작을 위해 그 동작에 필요한 권한만 부여해야 한다.
  • Least common mechanism
    공유되는 함수를 최소화한다.
  • Psychological acceptablility
    사용자들에게 투명해야 한다.
  • Isolation
    중요한 자원을 다루는 시스템간에는 분리되어야 한다.
  • Encapsulation
    필요한 기능에 대해서만 접근하게 하고 내부적인 구성은 외부적으로 보여주면 안된다.
  • Modularity
    모듈 별로 설계해서 오류가 전파되지 않도록 한다.
  • Layering
    중복되고 겹치는 방법들을 여러개를 도입해야 한다.
    어떠한 부분에서 실패해도 다른 부분에서 잡을 수 있도록 설계한다.
  • Least astonishment
    사용자를 놀라게 하면 안된다.

Attack Surfaces

공격자가 뚫고 들어갈 수 있는 표면

  • network
  • software
  • human

Attack Tree

보안상의 취약점을 이용할 수 있는 잠재적인 기술들의 계층적인 데이터 구조


Network security model


Standards

  • NIST
  • Internet Society
  • ITU-T
  • ISO

출처: Cryptography and Network Security: Principles and Practices

profile
뿌셔뿌셔

0개의 댓글