인터넷 쇼핑에서 신용카드 번호를 입력하면, 그 정보는 어떻게 보호되는가? 은행 앱에서 송금할 때, 내가 보낸 금액이 정말 그대로 도착하는가?
우리가 매일 사용하는 디지털 서비스들은 보안이라는 보이지 않는 방패 위에서 작동한다. 이 글에서는 컴퓨터 보안의 가장 기본적인 개념들을 다룬다.
왜 보안이 필요한가?
컴퓨터 보안이란 정보 시스템의 기밀성(Confidentiality), 무결성(Integrity), **가용성(Availability)**을 보존하기 위해 시스템을 보호하는 것이다.
여기서 "정보 시스템"이란 하드웨어, 소프트웨어, 데이터, 통신망 등 모든 것을 포함한다.
인터넷에서 데이터는 기본적으로 평문(clear text) 으로 전송된다. 마치 엽서에 편지를 써서 보내는 것처럼, 누구든 중간에서 읽을 수 있다는 뜻이다.
신용카드 번호나 비밀번호 같은 민감한 정보가 이렇게 노출된다면 심각한 문제가 발생한다.
보안의 핵심 원칙들
기밀성 (Confidentiality)
기밀성은 정보의 비밀을 지키는 것이다. 오직 송신자와 수신자만 정보에 접근할 수 있어야 한다.
누군가 중간에서 메시지를 가로채면(Interception) 기밀성이 깨진다.
인증 (Authentication)
인증은 통신 상대방이 정말 그 사람인지 확인하는 과정이다.
인증이 없으면 누군가 다른 사람인 척 위조(Fabrication) 할 수 있다.
무결성 (Integrity)
무결성은 메시지가 변조되지 않았음을 보장한다.
"10만원 송금"이라고 보냈는데 누군가 중간에서 "100만원"으로 바꾼다면 무결성이 깨진 것이다. 변경을 막거나, 최소한 감지할 수 있어야 한다.
가용성 (Availability)
가용성은 시스템이 필요할 때 항상 사용 가능해야 한다는 것이다.
공격자가 서비스를 마비시키는 것이 바로 DoS(Denial of Service) 공격이다. 은행 서버가 다운되면 아무리 보안이 철저해도 소용없다.
부인 방지 (Non-repudiation)와 접근 제어
부인 방지는 나중에 "나는 그런 적 없다"라고 발뺌하지 못하게 하는 것이다. 계약서에 서명하는 것과 비슷한 개념이다.
접근 제어는 누가 무엇에 접근할 수 있는지 정하고 통제하는 것이다.
보안 목표 정리
이 개념들을 외우기 쉽게 정리하면 다음과 같다.
Security is PAIN:
- P - Privacy (기밀성)
- A - Availability (가용성)
- I - Integrity (무결성)
- N - Non-repudiation (부인 방지)
보안을 지키는 것은 고통(PAIN)스럽지만, 반드시 필요한 일이다.
공격의 유형
보안 공격은 크게 두 가지로 나뉜다.
| 구분 | 수동적 공격 (Passive) | 능동적 공격 (Active) |
|---|---|---|
| 특징 | 정보를 관찰만 함 | 시스템을 변경함 |
| 예시 | 도청, 트래픽 분석 | 위장, 변조, DoS |
| 대응 | 예방이 중요 | 탐지와 복구가 중요 |
수동적 공격 (Passive Attacks)
수동적 공격은 시스템을 건드리지 않고 몰래 정보를 수집한다.
메시지 내용 유출:
트래픽 분석: 내용은 못 봐도 누가 누구와 통신하는지 패턴을 분석한다.
수동적 공격은 데이터를 변경하지 않기 때문에 탐지가 매우 어렵다. 따라서 사후 대응보다 사전 예방이 핵심이다.
능동적 공격 (Active Attacks)
능동적 공격은 적극적으로 시스템에 개입한다.
위장 (Masquerade): 다른 사람인 척 가장하기
재전송 (Replay): 정상 메시지를 캡처해서 나중에 다시 보내기
변조 (Alteration): 메시지 내용 바꾸기
서비스 거부 (DoS): 시스템을 마비시키기
부인 (Repudiation): 정당한 메시지를 보내놓고 안 보냈다고 부인하기
능동적 공격은 새로운 취약점이 계속 발견되기 때문에 완벽한 예방이 불가능하다. 그래서 빠른 탐지와 복구가 목표가 된다.
악성코드 (Malware)
악성코드는 시스템에 해를 끼치는 소프트웨어다. 대표적인 세 가지를 살펴본다.
바이러스 (Virus)
생물학적 바이러스처럼 다른 프로그램에 기생하며 퍼져나간다. 감염된 프로그램을 실행하면 다른 파일도 감염시킨다.
웜 (Worm)
바이러스와 달리 독립적으로 스스로 복제한다. 파일을 파괴하기보다 네트워크 자원을 소모시켜 시스템을 마비시킨다.
트로이 목마 (Trojan Horse)
겉보기엔 정상 프로그램이지만 몰래 악의적인 행동을 한다. 그리스 신화의 트로이 목마처럼 안전한 척 숨어들어 정보를 빼돌린다.
예: 키로거가 비밀번호를 몰래 기록
정리
컴퓨터 보안의 핵심 개념을 정리하면 다음과 같다.
- 보안 목표 (PAIN): 기밀성, 가용성, 무결성, 부인 방지
- 수동적 공격: 관찰만 하므로 예방이 중요
- 능동적 공격: 시스템을 변경하므로 탐지와 복구가 중요
- 악성코드: 바이러스(기생), 웜(자가복제), 트로이목마(위장)
다음 글에서는 이런 위협에 대응하기 위한 암호화 기술을 살펴본다.
HGU 전산전자공학부 고윤민 교수님의 24-2 컴퓨터 보안 수업을 듣고 작성한 포스트이며, 첨부한 모든 사진은 교수님 수업 PPT의 사진 원본에 필기를 한 수정본입니다.