네트워크는 데이터를 멀리 보내는 만큼, 그 길 위에서 데이터가 새거나 조작될 위험도 함께 진다. 오늘은 네트워크 보안의 위협 유형부터 공격 기술, 그리고 방화벽·암호화 같은 방어 기술까지 정리했다. 앞선 글들에서 본 프로토콜의 빈틈이 어떻게 공격이 되고, 어떻게 막는지 이어보면 좋다.
1. 보안의 세 가지 목표
- 비밀성(Confidentiality): 인가된 사람만 데이터를 볼 수 있다.
- 무결성(Integrity): 데이터가 도중에 변조되지 않는다.
- 가용성(Availability): 필요할 때 정상적으로 쓸 수 있다.
이 세 목표를 기준으로 보니 위협의 종류도 깔끔하게 정리됐다.
| 위협 | 설명 | 침해되는 목표 |
|---|---|---|
| 전송 차단(Interruption) | 전송 자체를 방해 | 가용성 |
| 가로채기(Interception) | 제3자가 도청 | 비밀성 |
| 변조(Modification) | 데이터를 바꿔치기 | 무결성 |
| 위조(Fabrication) | 보내지 않은 메시지를 만들어 전송 | 인증 |
"무엇을 지키려는가(CIA)"와 "무엇을 깨려는가(위협)"가 한 쌍으로 대응한다는 점이 핵심이었다. 위협을 따로 외우는 대신 CIA의 반대편으로 보니 한 번에 정리됐다.
2. 주요 위협과 공격 기술
일상에서 자주 듣는 위협들이다.
| 위협 | 설명 |
|---|---|
| 스미싱(Smishing) | SMS의 URL을 누르면 악성 앱이 설치되어 정보를 탈취 |
| 랜섬웨어(Ransomware) | 데이터를 암호화해 잠그고 금전을 요구 (WannaCry 등) |
네트워크 통신 자체를 노리는 공격도 있다.
| 공격 | 설명 | 대응 |
|---|---|---|
| IP 스푸핑(Spoofing) | IP 주소를 속여 권한 획득·정보 탈취 | 접근 제어, 필터링, 암호화 |
| 스니핑(Sniffing) | 오가는 데이터를 도청 (비밀성 침해) | 암호화 프로토콜 (SSH, HTTPS) |
초기 인터넷 프로토콜은 "참여자가 정직하다"는 전제로 설계됐다. 그래서 보내는 IP를 스스로 적게 두거나(스푸핑), 같은 네트워크의 패킷을 다 볼 수 있게(스니핑) 만들어졌다. 공격은 이 신뢰 가정의 빈틈을 파고든다. 결국 근본 대책은 "통신을 암호화해 가로채도 못 읽게" 하는 것이다.
앞 단원에서 본 프로토콜의 평문 특성(ARP·HTTP·FTP 등)이 그대로 공격의 빈틈이 된다는 게 이어졌다. "초기엔 정직을 전제로 설계됐다"는 한마디가 많은 취약점을 설명했다.
3. 방어 기술 (1) 방화벽과 IDS/IPS
신뢰하지 않는 외부망과 신뢰하는 내부망 사이에서, 정해진 규칙에 따라 패킷을 차단하거나 허용한다. 외부에서는 방화벽만 보이고 내부망은 가려진다.
방화벽은 보통 IP·포트·프로토콜(3~4계층)을 기준으로 패킷을 거른다. 빠르지만 데이터 내용까지는 보지 못한다. 그래서 응용 계층까지 들여다보는 도구가 함께 쓰인다.
| 구분 | IDS (침입 탐지) | IPS (침입 방지) |
|---|---|---|
| 기능 | 침입을 탐지만 함 (차단 불가) | 탐지 + 능동 차단 |
| 동작 | 이상 징후를 알림 | 공격 패턴을 보고 막음 |
방화벽이 "출입증(IP·포트)"을 검사한다면, IPS는 "가방 속 내용물(페이로드)"까지 검사한다. 이 심층 검사를 DPI(Deep Packet Inspection)라 한다.
4. 방어 기술 (2) 암호화
도청을 막는 근본 대책은 암호화다. 키와 알고리즘으로 평문을 암호문으로 바꾼다.
| 방식 | 키 | 특징 |
|---|---|---|
| 대칭키(비밀키) | 암호키 = 복호키 | 하나의 키를 공유. 빠르지만 키 전달이 문제 |
| 공개키(비대칭키) | 공개키 ≠ 개인키 | 공개키로 암호화, 개인키로만 복호화. 키 전달 문제 해결 |
대칭키는 빠르지만 "키를 어떻게 안전하게 건네느냐"는 난제가 있다. 공개키는 자물쇠(공개키)는 누구에게나 나눠주되, 그것을 여는 열쇠(개인키)는 나만 갖는다. 누구나 잠글 수 있지만 풀 수 있는 건 나뿐이다. 덕분에 키를 사전에 공유하지 않아도 안전한 통신이 가능하고, 이것이 인터넷 암호화의 토대가 됐다.
이 한 쌍의 키를 거꾸로 쓰면 전자 서명이 된다. 내 개인키로 서명하면, 누구나 내 공개키로 검증해 "정말 내가 보냈고 변조되지 않았음"을 확인할 수 있다. 같은 키 쌍이 암호화와 서명 양쪽에 쓰인다는 게 영리하게 느껴졌다.
오늘 느낀 점
- CIA(지킬 것)와 위협(깰 것)이 한 쌍으로 대응한다는 구조로 보니, 위협 유형이 따로 외울 목록이 아니라 CIA의 반대편이라는 게 정리됐다.
- 스푸핑·스니핑이 "초기 인터넷이 정직을 전제로 설계됐다"는 한 가지 빈틈에서 나온다는 걸 알고, 앞 단원의 평문 프로토콜들이 왜 위험한지가 이어졌다.
- 공개키 한 쌍이 암호화와 전자 서명 양쪽에 쓰인다는 점에서, 잘 설계된 개념 하나가 여러 문제를 동시에 푼다는 게 인상적이었다.
한 걸음 더
- 실제 HTTPS는 공개키와 대칭키를 함께 쓴다. 처음엔 느리지만 안전한 공개키 방식으로 "대칭키 하나"를 안전하게 교환하고, 그 뒤부터는 빠른 대칭키로 실제 데이터를 주고받는다. 양쪽의 장점만 취한 하이브리드 방식으로, "느린 보안으로 빠른 보안의 열쇠만 전달한다"는 발상이다.
- 공개키만으로는 "이 공개키가 진짜 그 사람 것인가"를 보장하지 못한다. 그래서 신뢰할 수 있는 제3자(인증 기관, CA)가 발급한 인증서로 공개키의 주인을 보증한다. 브라우저 주소창의 자물쇠 아이콘이 바로 이 인증서 검증의 결과다.
- 보안은 "한 겹"으로 끝나지 않는다. 방화벽으로 출입을 거르고, IPS로 내용을 검사하고, 암호화로 새어도 못 읽게 하고, 백업으로 최악에 대비한다. 어느 하나도 완벽하지 않기에 여러 겹을 쌓는 심층 방어(Defense in Depth)가 보안의 기본 원칙이다.
'computer_science > network' 카테고리의 다른 글
| [컴퓨터네트워크] 09. 네트워크 관리 (0) | 2026.09.02 |
|---|---|
| [컴퓨터네트워크] 08. 네트워크 서비스 (0) | 2026.08.26 |
| [컴퓨터네트워크] 07. 응용 계층 (0) | 2026.08.19 |
| [컴퓨터네트워크] 06. 전송 계층 (TCP·UDP) (0) | 2026.08.12 |
| [컴퓨터네트워크] 05. 네트워크 계층 (IP) (0) | 2026.08.05 |