본문으로 건너뛰기

1장. 컴퓨터 및 네트워크 보안 개념

학습 목표

  • 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)의 핵심 요구사항을 설명한다.
  • X.800(OSI 보안 구조)를 이해한다.
  • 보안 위협과 공격의 유형을 분류하고 예시를 든다.
  • 기본적인 보안 설계 원칙을 설명한다.
  • 공격 표면(attack surface)과 공격 트리(attack tree)를 이해한다.

1.1 컴퓨터 보안 개념

컴퓨터 보안의 정의

NIST는 컴퓨터 보안을 정보시스템의 무결성·가용성·기밀성을 유지하기 위해 제공되는 보호로 정의한다 (하드웨어, 소프트웨어, 펌웨어, 데이터, 통신 포함).

CIA Triad (보안의 3대 목표)

목표정의손실 시 의미
Confidentiality (기밀성)허가되지 않은 공개로부터 정보를 보호비인가 정보 노출
Integrity (무결성)허가된 방법으로만 정보가 변경되도록 보장비인가 수정·파괴
Availability (가용성)시스템·서비스가 필요할 때 정상 동작함을 보장서비스 접근 차단

기밀성은 데이터 기밀성(비공개 정보 비노출)과 프라이버시(개인이 자신의 정보 수집·공개를 통제)로 나뉘고, 무결성은 데이터 무결성시스템 무결성으로 구분된다.

CIA에 자주 추가되는 속성

  • Authenticity (진정성): 주체·메시지·출처가 진짜임이 검증됨.
  • Accountability (책임 추적성): 모든 행위가 특정 주체로 추적 가능. 감사 로그를 통해 사후 포렌식·부인방지를 지원.

FIPS 199 영향 등급 예시

영향 수준의미
Low제한적 악영향 — 기능 일부 저하, 경미한 손실
Moderate심각한 악영향 — 기능 상당 저하, 자산·재정 손실
High치명적 악영향 — 핵심 기능 수행 불가, 생명·안전 위협 가능

분야별 예시

  • 학생 성적 — 기밀성 High (FERPA 규정), 학생 명부 — 기밀성 Low (공개 가능).
  • 병원 환자 알러지 정보 — 무결성 High (오류 시 생명 위협).
  • 인증 서버 — 가용성 High (다운 시 모든 서비스 접근 불가).

컴퓨터 보안의 난제

  1. 요구사항은 단순해 보여도 메커니즘은 매우 복잡하다.
  2. 공격자는 예상치 못한 각도에서 약점을 찾는다.
  3. 보안 절차는 종종 직관에 반한다.
  4. 보안 메커니즘을 어느 계층·어느 지점에 배치할지가 중요하다.
  5. 키·비밀정보의 생성·분배·보호가 필연적으로 얽힌다.
  6. 공격자는 한 곳의 약점만 찾으면 되지만, 방어자는 모든 약점을 막아야 한다.
  7. 사고가 나기 전까지는 투자 가치를 느끼기 어렵다.
  8. 지속적인 모니터링이 필요하다.
  9. 보안은 설계 이후 덧붙이는(afterthought) 경우가 많다.
  10. 강한 보안은 사용성을 저해한다고 인식된다.

1.2 OSI 보안 구조 (X.800)

ITU-T Recommendation X.800은 보안 요구사항을 체계적으로 정의하기 위한 프레임워크로, 세 가지 축으로 구성된다.

  • Security Attack (보안 공격): 정보 보안을 침해하는 모든 행위.
  • Security Mechanism (보안 메커니즘): 공격을 탐지·예방·복구하는 수단.
  • Security Service (보안 서비스): 메커니즘을 사용하여 보안을 강화하는 처리·통신 서비스.
Threat vs Attack (RFC 4949)
  • Threat (위협): 보안을 침해할 가능성 — 잠재적 위험.
  • Attack (공격): 실제로 수행된 고의적 위협 행위.

1.3 보안 공격

수동 공격 (Passive Attacks)

전송 중인 정보를 도청·관찰하지만 시스템 자원에는 영향을 주지 않는다.

  • 메시지 내용 노출 (Release of Message Contents): 통화·이메일·파일의 내용을 엿들음.
  • 트래픽 분석 (Traffic Analysis): 암호화되어 내용은 못 봐도, 송수신자·빈도·길이·타이밍 등 패턴에서 정보를 추론.

수동 공격은 탐지가 매우 어렵고, 대응은 예방(암호화) 에 집중한다.

능동 공격 (Active Attacks)

데이터 스트림을 변경하거나 가짜 스트림을 생성한다. 4가지 범주:

공격 유형설명
Masquerade다른 주체로 가장하여 접근 권한을 얻음
Replay정당한 메시지를 캡처 후 재전송하여 부정 효과 유발
Modification of Messages메시지 내용을 변조·지연·재배열
Denial of Service (DoS)정상 서비스 이용을 방해하거나 마비시킴

능동 공격은 완전한 예방이 어렵기 때문에, 탐지와 복구가 핵심이다.


1.4 보안 서비스 (X.800)

X.800은 보안 서비스를 5개 범주로 나눈다.

(1) Authentication (인증)

통신의 상대가 주장하는 바로 그 주체임을 보장.

  • Peer Entity Authentication: 연결 설정/유지 시점에 상대방 신원을 검증.
  • Data-Origin Authentication: 데이터의 출처가 맞음을 보장 (이메일처럼 사전 상호작용이 없는 경우).

(2) Access Control (접근 제어)

자원에 대한 비인가 사용을 방지. 누가·어떤 조건·무엇을 할 수 있는지 통제. 인증이 선행되어야 함.

(3) Data Confidentiality (기밀성)

수동 공격으로부터 데이터를 보호.

  • Connection / Connectionless Confidentiality — 연결 전체 또는 단일 블록.
  • Selective-Field Confidentiality — 특정 필드만 보호.
  • Traffic-Flow Confidentiality — 트래픽 패턴 자체를 감춤.

(4) Data Integrity (무결성)

데이터가 수정·삽입·삭제·재전송 없이 원본 그대로 도달했음을 보장.

  • with Recovery — 위반 탐지 + 복구 시도
  • without Recovery — 탐지만 수행
  • Connectionless Integrity — 단일 블록의 변조만 탐지 (+제한적 재전송 탐지)

(5) Nonrepudiation (부인 방지)

  • Origin: 송신자가 보낸 사실을 부인할 수 없음.
  • Destination: 수신자가 받은 사실을 부인할 수 없음.

(+) Availability Service

DoS 공격 등으로 인한 가용성 저하를 막기 위한 서비스. 접근 제어와 자원 관리에 의존.


1.5 보안 메커니즘 (X.800)

특정 보안 메커니즘 (프로토콜 계층에 통합)

메커니즘설명
Encipherment수학적 알고리즘으로 데이터를 이해 불가능한 형태로 변환 (암호화)
Digital Signature데이터에 부가된 암호 변환으로 출처·무결성 증명
Access Control자원 접근 권한 강제
Data Integrity데이터 변조 탐지 메커니즘
Authentication Exchange정보 교환을 통한 신원 확인
Traffic Padding빈 곳에 더미 비트를 삽입해 트래픽 분석 방해
Routing Control상황에 따라 물리적으로 안전한 경로 선택
Notarization신뢰할 수 있는 제3자(TTP)가 보증
Reversible vs Irreversible Encipherment
  • Reversible: 암·복호화 가능한 알고리즘 (일반 대칭·비대칭 암호)
  • Irreversible: 해시 함수, MAC — 복호화되지 않으며 전자서명·메시지 인증에 사용

관용(Pervasive) 보안 메커니즘

  • Trusted Functionality, Security Label, Event Detection, Security Audit Trail, Security Recovery

1.6 기본 보안 설계 원칙

NCAE가 제시한 13가지 원칙 (앞의 8개는 Saltzer & Schroeder, 1975):

원칙핵심 아이디어
Economy of Mechanism설계를 최대한 단순·작게 → 검증 가능성 증가
Fail-Safe Defaults기본값은 접근 불허, 명시된 조건에서만 허용
Complete Mediation모든 접근을 매번 검사 (캐시에 의존하지 않음)
Open Design메커니즘은 공개, 비밀은 키에 국한 (Kerckhoffs의 원칙)
Separation of Privilege접근에 다중 권한 속성 요구 (예: MFA)
Least Privilege필요한 최소 권한만 부여 (예: RBAC)
Least Common Mechanism사용자 간 공유 기능 최소화
Psychological Acceptability사용자가 받아들일 수 있는 방식 (사용성)
Isolation공개 시스템·개인 자원·보안 메커니즘 격리
Encapsulation객체지향 기반 캡슐화 — 내부 구조 은닉
Modularity보안 기능을 별도 모듈로 개발·배치
Layering여러 보호 계층의 중첩 — Defense in Depth
Least Astonishment사용자를 놀라게 하지 않는 동작

1.7 공격 표면과 공격 트리

Attack Surface (공격 표면)

시스템 내의 도달·악용 가능한 취약점 집합. 예시:

  • 외부를 향한 서버의 열린 포트와 해당 포트의 코드
  • 방화벽 내부의 서비스
  • 이메일·XML·문서 등을 처리하는 코드
  • SQL·웹 폼 등의 인터페이스
  • 사회공학에 취약한 내부 인력

공격 표면의 범주

  • Network Attack Surface: 네트워크 프로토콜 취약점, DoS 등
  • Software Attack Surface: 애플리케이션·OS·웹서버 등 코드 취약점
  • Human Attack Surface: 사회공학, 인적 실수, 내부자 위협

Defense in Depth (계층화) + Attack Surface Reduction (표면 축소) 는 보완 관계로 함께 작동한다.

Attack Tree (공격 트리)

공격 기법을 계층적 트리로 표현.

  • 루트: 공격 목표
  • 중간 노드: 하위 목표 (AND-node / OR-node)
  • 리프: 실제 공격 방식

예: 인터넷 뱅킹 인증을 공격 트리로 분석할 때 세 가지 구성요소를 고려한다.

  • UT/U (User Terminal & User): 사용자 장비·토큰·행동
  • CC (Communications Channel): 통신 링크
  • IBS (Internet Banking Server): 서버측 취약점

대표 공격 전략:

  1. User Credential Compromise — 자격증명 탈취·관찰·악성코드·스니핑
  2. Injection of Commands — 정상 세션 사이에 명령 주입
  3. User Credential Guessing — 분산 봇넷을 이용한 무차별 공격
  4. Security Policy Violation — 내부자의 정책 위반
  5. Use of Known Authenticated Session — 세션 하이재킹

1.8 네트워크 보안 모델

두 주체 간 메시지 전송에서 공격자로부터 보호하려면 모든 기법은 두 구성요소를 가진다.

  1. 보안 변환 (Security-Related Transformation) — 예: 메시지 암호화, 무결성 코드 부착
  2. 두 주체가 공유하는 비밀 정보 — 예: 암호화 키

때로는 신뢰할 수 있는 제3자(TTP) 가 필요 (키 분배, 분쟁 중재 등).

보안 서비스 설계의 4대 과제:

  1. 보안 변환 알고리즘 설계 (공격자가 깰 수 없도록)
  2. 함께 쓸 비밀 정보 생성
  3. 비밀 정보의 분배·공유 방법 고안
  4. 알고리즘과 비밀 정보를 사용하는 프로토콜 명세

네트워크 접근 보안 모델

해커·악성코드 등 원하지 않는 접근을 막는 모델. 위협은 두 종류로 나뉜다.

  • Information Access Threats: 비인가 사용자가 데이터에 접근하거나 수정
  • Service Threats: 서비스 결함을 악용해 정상 사용을 방해

방어는 두 겹:

  • Gatekeeper Function — 로그인, 악성코드 스크리닝
  • Internal Controls — 활동 모니터링·침입 탐지

1.9 표준 기구

기구역할
NIST미국 연방 기관. FIPS 및 SP 발간 (전 세계적 영향력)
ISOC인터넷 인프라 표준. 산하 IETF가 RFC 발간
ITU-TUN 산하, 통신 분야 Recommendation 제정
ISO140+ 회원국 비정부 기구, International Standards 발간

주요 용어

한글영문
접근 제어access control
능동 공격active attack
인증authentication
진정성authenticity
가용성availability
데이터 기밀성data confidentiality
데이터 무결성data integrity
서비스 거부denial of service
암호화encryption
무결성integrity
침입자intruder
가장masquerade
부인 방지nonrepudiation
OSI 보안 구조OSI security architecture
수동 공격passive attack
재전송replay
트래픽 분석traffic analysis