computer_science/network

[컴퓨터네트워크] 10. 네트워크 보안

렁치 2026. 9. 9. 17:26

네트워크는 데이터를 멀리 보내는 만큼, 그 길 위에서 데이터가 새거나 조작될 위험도 함께 진다. 오늘은 네트워크 보안의 위협 유형부터 공격 기술, 그리고 방화벽·암호화 같은 방어 기술까지 정리했다. 앞선 글들에서 본 프로토콜의 빈틈이 어떻게 공격이 되고, 어떻게 막는지 이어보면 좋다.


1. 보안의 세 가지 목표

보안 3대 요구 사항 (CIA)
  • 비밀성(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

방화벽 (Firewall)
신뢰하지 않는 외부망과 신뢰하는 내부망 사이에서, 정해진 규칙에 따라 패킷을 차단하거나 허용한다. 외부에서는 방화벽만 보이고 내부망은 가려진다.

방화벽은 보통 IP·포트·프로토콜(3~4계층)을 기준으로 패킷을 거른다. 빠르지만 데이터 내용까지는 보지 못한다. 그래서 응용 계층까지 들여다보는 도구가 함께 쓰인다.

구분 IDS (침입 탐지) IPS (침입 방지)
기능 침입을 탐지만 함 (차단 불가) 탐지 + 능동 차단
동작 이상 징후를 알림 공격 패턴을 보고 막음

방화벽이 "출입증(IP·포트)"을 검사한다면, IPS는 "가방 속 내용물(페이로드)"까지 검사한다. 이 심층 검사를 DPI(Deep Packet Inspection)라 한다.


4. 방어 기술 (2) 암호화

도청을 막는 근본 대책은 암호화다. 키와 알고리즘으로 평문을 암호문으로 바꾼다.

방식 특징
대칭키(비밀키) 암호키 = 복호키 하나의 키를 공유. 빠르지만 키 전달이 문제
공개키(비대칭키) 공개키 ≠ 개인키 공개키로 암호화, 개인키로만 복호화. 키 전달 문제 해결
공개키가 영리한 이유
대칭키는 빠르지만 "키를 어떻게 안전하게 건네느냐"는 난제가 있다. 공개키는 자물쇠(공개키)는 누구에게나 나눠주되, 그것을 여는 열쇠(개인키)는 나만 갖는다. 누구나 잠글 수 있지만 풀 수 있는 건 나뿐이다. 덕분에 키를 사전에 공유하지 않아도 안전한 통신이 가능하고, 이것이 인터넷 암호화의 토대가 됐다.

이 한 쌍의 키를 거꾸로 쓰면 전자 서명이 된다. 내 개인키로 서명하면, 누구나 내 공개키로 검증해 "정말 내가 보냈고 변조되지 않았음"을 확인할 수 있다. 같은 키 쌍이 암호화와 서명 양쪽에 쓰인다는 게 영리하게 느껴졌다.


오늘 느낀 점

  • CIA(지킬 것)와 위협(깰 것)이 한 쌍으로 대응한다는 구조로 보니, 위협 유형이 따로 외울 목록이 아니라 CIA의 반대편이라는 게 정리됐다.
  • 스푸핑·스니핑이 "초기 인터넷이 정직을 전제로 설계됐다"는 한 가지 빈틈에서 나온다는 걸 알고, 앞 단원의 평문 프로토콜들이 왜 위험한지가 이어졌다.
  • 공개키 한 쌍이 암호화와 전자 서명 양쪽에 쓰인다는 점에서, 잘 설계된 개념 하나가 여러 문제를 동시에 푼다는 게 인상적이었다.

한 걸음 더

  • 실제 HTTPS는 공개키와 대칭키를 함께 쓴다. 처음엔 느리지만 안전한 공개키 방식으로 "대칭키 하나"를 안전하게 교환하고, 그 뒤부터는 빠른 대칭키로 실제 데이터를 주고받는다. 양쪽의 장점만 취한 하이브리드 방식으로, "느린 보안으로 빠른 보안의 열쇠만 전달한다"는 발상이다.
  • 공개키만으로는 "이 공개키가 진짜 그 사람 것인가"를 보장하지 못한다. 그래서 신뢰할 수 있는 제3자(인증 기관, CA)가 발급한 인증서로 공개키의 주인을 보증한다. 브라우저 주소창의 자물쇠 아이콘이 바로 이 인증서 검증의 결과다.
  • 보안은 "한 겹"으로 끝나지 않는다. 방화벽으로 출입을 거르고, IPS로 내용을 검사하고, 암호화로 새어도 못 읽게 하고, 백업으로 최악에 대비한다. 어느 하나도 완벽하지 않기에 여러 겹을 쌓는 심층 방어(Defense in Depth)가 보안의 기본 원칙이다.