Back to Blog
CIA기밀성무결성가용성인증악성코드

0x01. 컴퓨터 보안의 기초

기밀성, 무결성, 가용성의 개념부터 공격 유형과 악성코드까지, 컴퓨터 보안의 핵심 개념을 정리한다.

인터넷 쇼핑에서 신용카드 번호를 입력하면, 그 정보는 어떻게 보호되는가? 은행 앱에서 송금할 때, 내가 보낸 금액이 정말 그대로 도착하는가?

우리가 매일 사용하는 디지털 서비스들은 보안이라는 보이지 않는 방패 위에서 작동한다. 이 글에서는 컴퓨터 보안의 가장 기본적인 개념들을 다룬다.


왜 보안이 필요한가?

컴퓨터 보안이란 정보 시스템의 기밀성(Confidentiality), 무결성(Integrity), **가용성(Availability)**을 보존하기 위해 시스템을 보호하는 것이다.

여기서 "정보 시스템"이란 하드웨어, 소프트웨어, 데이터, 통신망 등 모든 것을 포함한다.

인터넷에서 데이터는 기본적으로 평문(clear text) 으로 전송된다. 마치 엽서에 편지를 써서 보내는 것처럼, 누구든 중간에서 읽을 수 있다는 뜻이다.

Data Transmission

신용카드 번호나 비밀번호 같은 민감한 정보가 이렇게 노출된다면 심각한 문제가 발생한다.


보안의 핵심 원칙들

기밀성 (Confidentiality)

기밀성은 정보의 비밀을 지키는 것이다. 오직 송신자와 수신자만 정보에 접근할 수 있어야 한다.

누군가 중간에서 메시지를 가로채면(Interception) 기밀성이 깨진다.

Confidentiality

인증 (Authentication)

인증은 통신 상대방이 정말 그 사람인지 확인하는 과정이다.

인증이 없으면 누군가 다른 사람인 척 위조(Fabrication) 할 수 있다.

Authentication

무결성 (Integrity)

무결성은 메시지가 변조되지 않았음을 보장한다.

"10만원 송금"이라고 보냈는데 누군가 중간에서 "100만원"으로 바꾼다면 무결성이 깨진 것이다. 변경을 막거나, 최소한 감지할 수 있어야 한다.

Integrity

가용성 (Availability)

가용성은 시스템이 필요할 때 항상 사용 가능해야 한다는 것이다.

공격자가 서비스를 마비시키는 것이 바로 DoS(Denial of Service) 공격이다. 은행 서버가 다운되면 아무리 보안이 철저해도 소용없다.

Availability

부인 방지 (Non-repudiation)와 접근 제어

부인 방지는 나중에 "나는 그런 적 없다"라고 발뺌하지 못하게 하는 것이다. 계약서에 서명하는 것과 비슷한 개념이다.

접근 제어는 누가 무엇에 접근할 수 있는지 정하고 통제하는 것이다.

Non-repudiation

보안 목표 정리

Security Objectives

이 개념들을 외우기 쉽게 정리하면 다음과 같다.

Security is PAIN:

  • P - Privacy (기밀성)
  • A - Availability (가용성)
  • I - Integrity (무결성)
  • N - Non-repudiation (부인 방지)

보안을 지키는 것은 고통(PAIN)스럽지만, 반드시 필요한 일이다.


공격의 유형

Types of Attacks

보안 공격은 크게 두 가지로 나뉜다.

구분수동적 공격 (Passive)능동적 공격 (Active)
특징정보를 관찰만 함시스템을 변경
예시도청, 트래픽 분석위장, 변조, DoS
대응예방이 중요탐지와 복구가 중요

수동적 공격 (Passive Attacks)

수동적 공격은 시스템을 건드리지 않고 몰래 정보를 수집한다.

메시지 내용 유출:

Release of message contents

트래픽 분석: 내용은 못 봐도 누가 누구와 통신하는지 패턴을 분석한다.

Traffic analysis

수동적 공격은 데이터를 변경하지 않기 때문에 탐지가 매우 어렵다. 따라서 사후 대응보다 사전 예방이 핵심이다.

능동적 공격 (Active Attacks)

능동적 공격은 적극적으로 시스템에 개입한다.

위장 (Masquerade): 다른 사람인 척 가장하기

Masquerade

재전송 (Replay): 정상 메시지를 캡처해서 나중에 다시 보내기

Replay

변조 (Alteration): 메시지 내용 바꾸기

Alteration

서비스 거부 (DoS): 시스템을 마비시키기

Denial of service

부인 (Repudiation): 정당한 메시지를 보내놓고 안 보냈다고 부인하기

Repudiation

능동적 공격은 새로운 취약점이 계속 발견되기 때문에 완벽한 예방이 불가능하다. 그래서 빠른 탐지와 복구가 목표가 된다.


악성코드 (Malware)

악성코드는 시스템에 해를 끼치는 소프트웨어다. 대표적인 세 가지를 살펴본다.

바이러스 (Virus)

생물학적 바이러스처럼 다른 프로그램에 기생하며 퍼져나간다. 감염된 프로그램을 실행하면 다른 파일도 감염시킨다.

Virus

웜 (Worm)

바이러스와 달리 독립적으로 스스로 복제한다. 파일을 파괴하기보다 네트워크 자원을 소모시켜 시스템을 마비시킨다.

Worm

트로이 목마 (Trojan Horse)

겉보기엔 정상 프로그램이지만 몰래 악의적인 행동을 한다. 그리스 신화의 트로이 목마처럼 안전한 척 숨어들어 정보를 빼돌린다.

예: 키로거가 비밀번호를 몰래 기록

Trojan Horse

정리

컴퓨터 보안의 핵심 개념을 정리하면 다음과 같다.

  1. 보안 목표 (PAIN): 기밀성, 가용성, 무결성, 부인 방지
  2. 수동적 공격: 관찰만 하므로 예방이 중요
  3. 능동적 공격: 시스템을 변경하므로 탐지와 복구가 중요
  4. 악성코드: 바이러스(기생), 웜(자가복제), 트로이목마(위장)

다음 글에서는 이런 위협에 대응하기 위한 암호화 기술을 살펴본다.


HGU 전산전자공학부 고윤민 교수님의 24-2 컴퓨터 보안 수업을 듣고 작성한 포스트이며, 첨부한 모든 사진은 교수님 수업 PPT의 사진 원본에 필기를 한 수정본입니다.