devRenio

III. 네트워크 보안 - 1

인터넷보안(황승연) 4주차 강의내용

1. 네트워크 구조

1) 네트워크

  • 두 대 이상의 컴퓨터 또는 장치가 서로 연결되어 데이터를 주고받는 시스템.
  • 네트워크의 주요 목적
    • 데이터 공유: 파일, 메시지, 애플리케이션 등을 주고받음
    • 리소스 공유: 프린터, 서버 등 공용 자원 사용
    • 통신: 이메일, 메신저, 영상 통화 등
  • 네트워크의 기본 구성 요소
    • 호스트(Host): 데이터를 송수신하는 장치(컴퓨터, 스마트폰 등)
    • 라우터(Router): 네트워크 간 데이터를 전달하는 장치 (공유기)
    • 스위치(Switch): 네트워크 내부에서 데이터를 분배하는 장치 (공유기에 포함)

2) 네트워크 보안

  • 조직의 네트워크와 네트워크를 통해 접근 가능한 자원을 보호하기 위해 적용되는 정책, 기술, 그리고 관리적 절차를 의미
  • 권한이 없는 사용자가 네트워크 및 관련 자원에 접근하는 것을 차단하고 네트워크 인프라 전반에 걸쳐 안전한 통신 환경을 유지하기 위한 기본적인 방어 체계를 포함
  • 공격자는 TCP/IP와 같은 통신 프로토콜의 구조적 취약점을 이용하여 비인가 접근, 자원 파괴, 서비스 방해 등의 공격을 시도할 수 있음
  • 네트워크 보안은 이러한 위협으로부터 시스템과 자원을 보호하는 것이 목적

3) 네트워크 보안의 중요성

  • 네트워크의 모든 구성 요소가 공격의 대상이 될 수 있다는 점에서 비롯됨
    • 라우터, 패킷, 프로토콜, 사용자, 웹 사이트 등
  • 현대의 네트워크 환경에서는 네트워크 자체 뿐만 아니라, 네트워크에 연결된 다양한 시스템과 자원까지도 함께 위협에 노출되기 때문에 이를 종합적으로 보호하는 것이 매우 중요
  • 네트워크 보안은 승인되지 않은 사용자나 프로그램이 네트워크 및 연결된 디바이스에 접근하는 것을 차단하기 위한 다양한 보안 도구와 관리적·기술적 조치를 통해 구현됨

4) 네트워크 프로토콜 스택

  • OSI(Open Systems Interconnection) 7 Layers
    • 네트워크 통신 과정을 계층별로 나누어 설명하는 국제 표준 네트워크 모델
    • 네트워크 상에서 데이터가 송신자에서 수신자로 전달되는 과정을 구조적으로 이해할 수 있도록 설계
    • 다만, OSI 7계층은 실제 네트워크에서 그대로 구현되어 사용되는 모델이 아니라, 네트워크 구조를 분석하고 설계하기 위한 개념적(이론적) 모델
    • 실제 네트워크 환경에서는 TCP/IP 모델 사용

5) OSI 7 계층별 특징

  • 물리 계층
    • 네트워크 장치 간의 물리적 연결을 관리하고 데이터를 전기 신호 또는 광 신호로 변환하여 전송
    • Ethernet 케이블, WI-FI 등
    • 데이터 교환 방식
Subclass 역할
Model 완성된 신경망 전체 / 전체 신경망 구조 Sequential, Functional Model
Layer 신경망을 구성하는 한 층 / 신경망의 구성 단위 Dense, Conv2D, LSTM
Loss 예측과 정답의 차이를 계산 / 학습목표 정의 MSE, CategoricalCrossentropy
Optimizer 가중치 업데이트(학습 엔진)
신경망이 손실(loss)을 최소화하기 위해 가중치(weight)를 업데이트하는 알고리즘
- SGD: 가장 기본적인 경사하강법(느리지만 안정적)
- Momentum: SGD에 관성 추가 → 더 빠르게 수렴
- RMSProp: 학습률을 자동 조정
- Adam: RMSProp + Momentum 결합 → 가장 널리 사용
  • 데이터 링크 계층
    • 같은 네트워크(LAN) 내에서 장치 간 데이터 전송과 오류 제어를 담당
    • 물리 계층에서 전송된 데이터를 프레임(Frame)으로 나눠 전송
  • 네트워크 계층
    • 데이터를 목적지까지 전달하기 위한 라우팅을 담당하며 IP 주소를 사용하여 네트워크 간 데이터를 전달
    • 주요 기능
    • (1) 라우팅: 데이터가 최적의 경로를 통해 전달되도록 경로를 설정
    • (2) IP 주소 관리: 네트워크 내 및 네트워크 간 통신을 위해 IP 주소를 사용
    • (3) 패킷 생성 및 전송: 데이터를 패킷(Packet) 단위로 나누어 전달
  • 전송 계층
    • 데이터 전송의 신뢰성을 보장하고 데이터를 작은 단위(세그먼트)로 나누어 전송
    • 종단 간 통신(End-to-End Communication)
    • 주요 기능
    • (1) 데이터 분할 및 조립: 데이터를 세그먼트로 나누고 수신 측에서 이를 재조립
    • (2) 오류 검출 및 복구: 데이터 전송 중 발생한 오류를 감지하고 재전송
    • (3) 흐름 제어: 송신자와 수신자 간 데이터 전송 속도를 조율
    • (4) 포트 번호 관리: 프로세스를 식별하기 위해 송신/수신 포트 번호 사용
  • 세션계층
    • 송신자와 수신자 간의 세션(연결)을 설정, 유지, 종료하며 데이터의 동기화와 교환을 관리
    • 주요 기능
    • (1) 세션 설정: 통신 시작 시 연결을 설정
    • (2) 세션 유지 및 동기화: 데이터가 올바른 순서로 전달되도록 관리
    • (3) 세션 복구: 통신 중 연결이 끊어지면 재연결 시도
  • 표현계층
    • 송신자와 수신자가 데이터를 동일하게 이해할 수 있도록 데이터의 형식을 변환하고, 암호화 및 압축을 수행
    • 서로 다른 시스템 간에도 데이터가 올바르게 해석될 수 있도록 표준화된 형식으로 변환하는 역할
  • 응용 계층
    • 사용자가 네트워크와 상호작용할 수 있도록 인터페이스를 제공하며 응용 프로그램 수준에서 네트워크 서비스를 지원
    • 주요 기능
    • (1) 사용자 요청 처리: 웹 브라우저, 이메일 클라이언트 등 애플리케이션에서의 요청 관리
    • (2) 네트워크 서비스 제공: 데이터베이스 접속, 파일 전송, 원격 접속
    • (3) HTTP, FTP 등 서비스 구현

6) TCP/IP 모델

  • TCP/IP 계층 구조
    • 인터넷에서 실제로 사용되는 네트워크 통신 구조를 설명하기 위한 모델
    • 데이터를 송신자에서 수신자까지 전달하는 과정을 4개의 계층으로 나누어 정의한 실용적인 네트워크 모델
  • 네트워크 접속 계층
    • 네트워크 인터페이스 계층
    • 데이터링크 + 물리 계층 역할 포함
    • 네트워크 접속 계층의 송신 측 컴퓨터에서는 상위 계층에서 전달받은 패킷에 물리적 주소인 MAC 주소 정보가 있는 헤더를 추가하여 프레임을 생성
    • 그 프레임을 하위 계층인 물리 계층에 전달.
  • 네트워크 계층
    • 인터넷 계층
    • 서로 다른 네트워크 간 데이터 전달을 담당
    • IP 주소를 기반으로 라우팅 수행

인터넷 계층 프로토콜 정의

프로토콜 종류 정의
IP(Internet Protocol) 비 연결형 데이터 전달
ICMP(Internet Control Message Protocol) 호스트나 라우터의 상황 및 오류에 대한 정보 전달
OSPF(Open Shortest Path First Protocol) 동일한 시스템 내에 있는 라우터 간에 라우팅 정보 전달
RIP(Routing Information Protocol) 동일한 시스템 내에 있는 라우터 간에 라우팅 정보 전달
BGP(Border Gateway Protocol) 상이한 시스템의 경계에 있는 라우터 간에 라우팅 정보 전달
IDRP(InterDomain Routing Protocol) 상이한 시스템에 있는 라우터 간에 라우팅 정보 전달
IGMP(Internet Group Management Protocol) 멀티캐스팅 지원
ARP(Address Resolution Protocol) IP 주소를 이더넷 주소로 변환

(1) IP(Internet Protocol)

  • 서로 다른 네트워크에 연결된 장치들 사이에서 데이터를 목적지까지 전달하는 역할 → 송신자와 수신자를 구분하기 위해 IP 주소를 사용
  • IP 자체는 Connection-less로 신뢰성을 보장하지 않음
    • 패킷이 반드시 도착하는지, 순서대로 도착하는지, 중간에 손실되지 않았는지는 확인하지 않음
    • 신뢰성 보장은 상위 계층에서 담당
  • 공인 IP
    • 공인 IP는 인터넷에서 고유하게 식별되는 IP 주소
    • 인터넷 상의 다른 장치들과 통신 가능
    • 외부에서 네트워크에 접근하거나 서버를 운영할 때 필요
  • 사설 IP
    • 사설 IP는 로컬 네트워크(LAN) 내에서만 고유하게 식별되는 IP 주소
    • 회사, 가정, 학교 등 내부 네트워크 장치(PC, 스마트폰, 프린터 등)에 할당
    • 공유기
  • 사설 IP를 사용하는 장치가 인터넷을 사용할 수 있는 이유? → NAT

  • NAT(Network Address Translation)
    • 사설 IP 주소를 공인 IP 주소로 변환하여 로컬 네트워크의 장치가 인터넷에 접근할 수 있음
  • 동작 과정
    • 내부 네트워크에서 사설 IP를 가진 장치가 인터넷(라우터)에 요청을 보냄
    • 라우터가 사설 IP를 공인 IP로 변환하여 요청을 전달
    • 외부 서버가 공인 IP로 응답을 보냄
    • 라우터가 공인 IP를 사설 IP로 다시 변환하여 내부 장치로 전달

(2) ICMP(Internet Control Message Protocol)

  • 인터넷 계층에서 오류 메시지 전달과 네트워크 상태 확인을 위해 사용되는 프로토콜
  • ICMP는 데이터를 직접 전송하기 위한 프로토콜이라기보다는 IP 통신을 보조하는 제어용 프로토콜
  • 주요 역할
    • 목적지에 도달할 수 없는 경우 오류 메시지 전달
    • 전송 중 시간 초과가 발생했을 때 알림
    • 네트워크 연결 상태 확인
    • 라우팅 과정에서의 문제 진단
  • 예시
    • ping 명령을 통해 ICMP의 Echo Request 메시지를 보내고 상대가 Echo Reply를 보내는지 확인함으로써 네트워크 연결 상태를 점검

(3) IGMP(Internet Group Management Protocol)

  • 멀티캐스트 그룹 관리를 위해 사용되는 프로토콜
    • 멀티캐스트: 하나의 송신자가 여러 수신자에게 동시에 데이터를 전송하는 방식
    • 어떤 호스트가 특정 멀티캐스트 그룹에 속해 있는지 관리하는 데 사용
  • 주요 역할
    • 호스트가 특정 멀티캐스트 그룹에 가입할 수 있게 함
    • 더 이상 필요하지 않을 때 그룹에서 탈퇴할 수 있게 함
    • 라우터가 네트워크 상에서 어떤 멀티캐스트 그룹이 필요한지 파악하도록 도움
  • 예시
    • IPTV 시청 시 특정 채널을 선택하면, 사용자의 장치는 해당 멀티캐스트 그룹에 가입하고 라우터는 그 그룹에 필요한 데이터만 전달
    • 화상회의 시스템이나 실시간 방송 시스템에서도 여러 사용자가 동일한 데이터를 받을 때 활용

(4) ARP(Address Resolution Protocol)

  • IP 주소를 MAC 주소로 변환하는 프로토콜
    • 인터넷 계층에서는 목적지를 IP 주소로 식별하지만, 실제 같은 네트워크에서 프레임을 전송하려면 데이터링크 계층의 MAC 주소가 필요
    • IP 주소만 알고 있는 상태에서 해당 장치의 MAC 주소를 알아내기 위해 ARP를 사용
  • ARP의 동작 과정
    • 송신자가 목적지 IP 주소를 확인함
    • ARP 캐시에 해당 IP의 MAC 주소가 있는지 확인함
    • 없으면 ARP Request를 브로드캐스트로 전송함
    • 해당 IP를 가진 호스트가 ARP Reply로 자신의 MAC 주소를 응답함
    • 송신자는 이 정보를 ARP 캐시에 저장한 뒤 프레임 전송에 사용함
  • ARP는 인증 과정 없이 동작하기 때문에 위조가 가능
  • 공격자는 자신의 MAC 주소를 다른 장치의 주소인 것처럼 속여 네트워크 트래픽을 가로챌 수 있음 → ARP Spoofing

  • 전송 계층
    • 두 호스트 간의 데이터전송을 담당하는 계층으로 TCP와 UDP의 프로토콜 사용.
    • TCP (Transmission Control Protocol)
    • UDP (User Datagram Protocol)
구분 TCP UDP
데이터전송형태 커넥션형
데이터전송은 데이터 링크를 확립하고 나서 행한다.
커넥션리스형
데이터전송은 데이터 링크를 확립하지 않고 보낸다.
신뢰성 송신중에 데이터 링크를 유지하고 있으므로 신뢰성이 높다. 송신중의 데이터 분실이나 순서 에러에 관여하지 않기 때문에 신뢰성이 낮다.
데이터전송속도 데이터 흐름제어나 순서제어를 하기 때문에 전송속도가 늦어진다. 흐름제어나 순서제어를 하지 않는 만큼 전송속도의 저하를 피할 수 있다.
데이터전송포맷 각종 제어를 위한 헤더/트레일러(오버헤드)가 커진다. 오버헤드는 최소화된다.
  • 포트(Port)
    • 네트워크에서 컴퓨터나 장치에서 실행 중인 특정 프로세스(프로그램)를 식별하기 위해 사용되는 번호
    • 네트워크 상에서 장치를 식별하는 IP 주소와 장치 내에서 실행 중인 특정 애플리케이션을 식별하는 포트 번호를 결합하여 데이터를 전달(IP:Port)
    • IP 주소가 장치를 식별한다면, 포트는 장치 내의 애플리케이션(프로세스)을 식별
포트 범위 설명 예시
0~1023
(Well-known Ports)
표준화된 네트워크 서비스에 예약된 포트 번호 HTTP(80), HTTPS(443), FTP(21), SSH(22)
1024~49151
(Registered Ports)
특정 애플리케이션에서 사용하도록 등록된 포트 번호 MySQL(3306), PostgreSQL(5432), Redis(6379)
49151~65535
(Dynamic/Private Ports)
클라이언트가 동적으로 사용하는 포트 번호 임시 포트(송신 시 자동 할당)
  • 응용계층
    • 사용자에게 서비스를 제공
    • 실제 데이터를 생성 및 사용
    • 응용 서비스를 위한 다양한 프로토콜 제공
프로토콜 종류 정의
HTTP(Hypertext Transfer Protocol) Web 페이지 전달
SMTP(Simple Mail Transfer Protocol) 전자 우편 배달
Telnet 원격 로그인
FTP(File Transfer Protocol) 양방향 파일 전달
Ping 호스트 간에 연결성 시험
DNS(Domain Name System) 호스트 이름을 IP로 변환
NFS(Network File System) 원격 파일 액세스
SNMP(Simple Network Management Protocol) 네트워크 관리
NTP(Network Time Protocol) 네트워크에 정확한 시간 제공
Kerberos 클라이언트와 서버간의 인증 기능 제공

2. 네트워크 보안 프로토콜

1) 데이터 링크 계층의 보안 프로토콜

  • 데이터링크 계층에서는 네트워크 상에서 데이터를 안전하게 전달하기 위해 터널링 및 암호화를 이용한 보안 프로토콜이 사용됨
  • 주로 VPN(Virtual Private Network) 환경에서 활용
    • PPTP (Point-to-Point Tunneling Protocol)
    • L2TP (Layer 2 Tunneling Protocol)

2) 네트워크 계층의 보안 프로토콜

  • IPSec (Internet Protocol Security)
    • 인터넷 계층에서 동작하는 보안 프로토콜로, IP 기반 통신에서 데이터의 기밀성, 무결성, 인증을 제공하기 위한 프로토콜
    • 하나의 프로토콜이 아니라, 여러 보안 기능을 제공하는 프로토콜 집합
    • ESP (Encapsulating Security Payload)
      데이터의 암호화와 무결성, 인증을 모두 제공하는 프로토콜
  • 동작 모드
    • 전송 모드
      원래 IP 헤더는 유지하면서 데이터 부분만 보호 (빠름)
    • 터널 모드
      전체 IP 패킷을 암호화하여 새로운 IP 헤더로 감싸서 전송 (느림)
      VPN에서 주로 사용

3) 전송 계층의 보안 프로토콜

  • SSL(Secure Socket Layer)
    • 클라이언트와 서버 간의 통신을 암호화하여 데이터의 기밀성, 무결성, 인증을 제공하는 프로토콜
    • 인터넷에서 주고받는 데이터를 제3자가 도청하거나 변조하지 못하도록 보호하는 역할
    • SSL의 후속 버전인 TLS가 주로 사용
    • 예시
      HTTPS – HTTP + SSL/TLS

4) 응용 계층의 보안 프로토콜

  • PGP(Pretty Good privacy)
    • PGP는 이메일 내용을 암호화하고 송신자의 신원을 확인할 수 있도록 하는 보안 기술
  • MIME(Multipurpose Internet Mail Extensions)
    • 이메일에서 다양한 형식의 데이터를 전송할 수 있도록 확장한 표준
    • 기존 이메일은 텍스트만 전송 가능했지만, MIME을 통해 이미지, 동영상, 파일 등의 데이터를 함께 전송 가능
    • S/MIME(Security Services for Multipurpose Internet Mail Extension)
      MIME에 보안 기능을 추가한 프로토콜로, 이메일의 암호화와 인증을 제공