이번에는 컴퓨터 네트워크에서 어떤식으로 보안을 위협하게 되는지 알아보자.
인터넷에서 데이터를 수신/송신 시 우리에게 전달되는 데이터들 중 보안을 위협하는 것들을 멀웨어(malware)라고 한다.
쉽게 말해 악의적 프로그램이고, 자기복제(self-replicating)를 통해 인터넷 상으로 퍼지게 된다. (한 호스트 감염 -> 다른 호스트 엔트리를 찾아 2,3차 감염)
개인정보를 모으는 스파이웨어를 설치하고 공격자에게 보냄
멀웨어는 다음에서 호스트에 침투한다.
virus: 유저가 직접 실행하여 바이러스가 심어지 (악성이메일의 파일을 모르고 다운받게되어 바이러스가 침투)worm: 유저가 직접 실행X, 유저가 사용하는 어플리케이션을 통해 인터넷 상으로 침투면역되지 않은 호스트는 수천의 비슷한 면역되지 않은 장치들로 구성된 네트워크, 즉 봇넷(botnet)에 등록될 수 있다.
나쁜 친구들은 목표로 하는 호스트에 대해 스팸 전자메일 분해 혹은 분산 DoS(Denial of Service) 공격을 위해 이 봇넷을 제어하고 이용한다.
네트워크, 호스트 혹은 다른 인프라스트럭처의요소들을 정상적인 사용자가 서비스를 이용할 수 없게 하는 것
세가지 종류가 있다.
취약성 공격(vulnerability attack)
대역폭 플러딩(bandwidth flooding)
연결 플러딩(connection flooding)
DDos 디도스
단일 소스에서 방사된 트래픽공격은 발견하기 쉽고 얘만 차단하면 되서 막기 쉽다.
그래서 아래 그림처럼 다중으로 공격을 하는 것이 디도스

유저가 서버에 보내는 패킷을 중간에 열람하여 사본을 얻는 것

공유링크를 통해 공격자가 유저 IP를 사칭해서 가짜 패킷을 서버에 전달하는 것

Dos 공격같은 active한 공격은 비교적 찾기 쉽지만,
스푸핑이나 스니핑같은 passive한 공격은 찾기 어렵다.
복잡한 인터넷 네트워크의 프로토콜을 보다 명확하게 구분하기 위해 프로토콜 계층화를 진행한다.
이렇게 계층을 구분하면 다음과 같은 이점이 있다.
다양한 계층의 프로토콜을 합하여 프로토콜 스택(protocol stack)이라고 한다.
총 5가지로 이루어진다.
1. 애플리케이션: 네트워크 애플리케이션 지원
- HTTP : 웹 문서 요청과 전송 제공
- SMTP : 전자메일 전송 제공
- FTP : 두 종단 시스템 간의 파일 전송 제공
- 도메인 네임 서버(domain name server, DNS)는 이 애플리케이션 계층에 존재한다.
- 애플리케이션 계층 프로토콜은 여러 종단 시스템에 분산되어 있어서 한 종단 시스템에 있는 애플리케이션이 다른 종단 시스템에 있는 애플리케이션과 정보 패킷(메시지, message)을 교환하는 데 이 프로토콜을 사용한다.
2. 전송 Transport: 프로세스-프로세스 데이터 전송
- 트랜스포트 계층 패킷 = 세그먼트(segment)
- 트랜스포트 프로토콜의 두 가지 종류로는 다음과 같으며, 이들은 애플리케이션 계층 메시지를 전달한다.
- TCP
-> 애플리케이션에게 연결 지향형 서비스를 제공한다.
-> 목적지로의 애플리케이션 계층 메시지 전달 보장과 흐름 제어(송신자/수신자의 속도 일치)를 포함한다.
-> 긴 메시지를 짧은 메시지로 나누고, 혼잡 제어 기능을 제공한다. (네트워크가 혼잡할 때 출발지의 전송률을 줄임)
- UDP
-> 애플리케이션에게 비연결형 서비스를 제공한다.
-> 신뢰성, 흐름 제어, 혼잡 제어를 제공하지 않는다.
3. 네트워크: 한 호스트에서 다른 호스트로 데이터그램(IP의 전송 단위) 라우팅
- 네트워크 계층은 목적지 호스트의 트랜스포트 계층으로 세그먼트를 운반하는 서비스를 제공한다.
- 네트워크 계층은 IP 데이터그램의 필드를 정의하며 종단 시스템과 라우터가 이 필드에 어떻게 동작하는지를 정의하는 프로토콜, IP 프로토콜을 가지고 있다.
- 인터넷 네트워크 계층은 라우팅 프로토콜을 포함한다.
- 라우팅 프로토콜은 출발지와 목적지 사이에서 데이터그램이 이동하는 경로를 결정한다.
4. 링크: 인접 네트워크 요소 간의 데이터 전송
- 각 노드에서 네트워크 계층은 데이터그램을 아래 링크 계층으로 보내고 링크 계층은 그 데이터그램을 경로상의 다음 노드에 전달한다.
- 이더넷, 802.11(WiFi), PPP
5. physical: 💡 프레임 내부의 각 비트를 한 노드에서 다음 노드로 이동시킨다.

송신 호스트에서 애플리케이션 계층 메시지(application-layer message, 위 그림에서의 M)는 트랜스포트 계층으로 보내진다.
트랜스포트 계층은 메시지에 수신 측 트랜스포트 계층에서 사용될 추가 정보인 트랜스포트 계층 헤더 정보(Ht)를 더한다.
트랜스포트 계층 세그먼트(transport-layer segment) = 애플리케이션 계층 메시지 + 트랜스포트 계층 헤더 정보트랜스포트 계층 세그먼트는 애플리케이션 계층 메시지를 캡슐화한다.
-트랜스포트 계층 헤더 정보가 포함하는 내용은 다음과 같다.
- 수신 측의 트랜스포트 계층이 그 메시지를 적절한 애플리케이션으로 보내도록 하는 정보들
- 메시지의 비트들이 변경되었는지 아닌지를 수신자가 결정하게 하는 오류 검출 비트
트랜스포트 계층은 세그먼트를 네트워크 계층으로 보낸다.
네트워크 계층은 출발지와 목적지 종단 시스템 주소와 동일한 헤더 정보(Hn)를 추가하여 네트워크 계층 데이터그램(network-layer datagram)을 만든다.
데이터그램은 링크 계층으로 전달된다.
링크 계층도 자신의 헤더 정보를 추가하여 링크 계층 프레임(link-layer frame)을 만든다.
스위치 - 링크, 피지컬 레이어 존재
라우터 - 네트워크, 링크, 피지컬 레이어 존재
