시스템이 다 비슷비슷하기에 내 컴퓨터에 취약점 존재 = 내 친구 컴퓨터에서 있을 것.
zero-day Attack : 아직 패치되지 않은 취약점에 대한 공격
DoS (Denial of Service)
서비스 거부 공격. 다양한 형태로 발생 가능
공격을 성공하면 Victim이 더 이상 서비스를 제공하기 힘든 상태가 된다. 보통 10대 미만의 컴퓨터가 공격에 참여(적은수)
- 공격자의 타입
- 재미로 하는 해커들
- 활동가(Activists)
- 테러리스트 or 전쟁의 일부
- 경쟁자(상대적 반사이익 획득 가능)

DoS Attacks
주로 자원 고갈(exhaust resources) 공격이 많음.
메모리, 스토리지(HDD), bandwidth(대역폭 ex.라우터 큐), CPU/GPU 연산 능력, Socket(Open TCP connections)...
→ 무한 루프에 빠뜨려서 엉뚱한 일 하도록
TCP SYN Flooding Attack
DDoS로 넘어가기 전부터 사용되던 공격이기에 1대 당 하는 일이 많다. 따라서 서버가 눈치채면 해당 IP만 블락하면 해결.
위의 이유때문에 여러 사람이 패킷을 날리는 것처럼 보여야하기에 IP주소를 계속 변경 → Spoofing attack

Smurf (Broadcast and Echo Amplification) Attack
Spoofing이용. Ping을 담당하는 ICMP프로토콜 사용
*Ping으로 ICMP Echo Request날림→ 상대가 ICMP Echo Response 돌려줌
Ping을 Broadcast로 던져서(LAN에) 해당 프리픽스로 시작하는 주소들 다 받게함 (대량으로 뿌린다)
요청 하나 보냈는데 패킷 증폭해서 Victim 공격 가능
근데 요즘은 broadcast 핑 자체를 막아버림 (방화벽이). 이게 요즘 기본원칙

Ping of Death
시스템/애플리케이션의 버그 이용
ping이라는 어플리케이션은 Request가 나갈때 시간과 Response가 들어올 때 시간을 측정해서 얼마 걸렸다 알려줌
ICMP(ping)를 처리하는 기능은 운영체제에 들어있음. 이 ICMP를 처리하는 모듈(알고리즘)의 버그를 이용
ICMP Echo Request 메세지는 32byte의 크기
이걸 처리하는 알고리즘은 Request가 32byte에서 크게 벗어나지 않는다고 가정하고 로직이 구성됨
→ 공격자가 64K보다 큰 녀석을 보냄 → 예외상황 발생. 기존의 로직에는 해당 예외상황 처리가 없었음
DDoS (Distributed Denial of Service)
적은 수의 머신으로 공격하면 1대 당 해야하는 일이 많아서 탐지하기가 쉬워짐(트래픽 발생多)
→ 머신 수를 늘이면 각각의 머신이 생성하는 트래픽이 적어진다! 좀비PC가 멀쩡해보인다!
보통 10대 이상의 컴퓨터가 공격에 참여
계층 구조를 가지고있다. 공격자는 잡히기 싫으니까 점점 뒤로, 잡혀도 상관없는 좀비들을 앞으로 보냄

뜻이 많은 사람끼리 함께 공격해도 되지만, Worm Spreading(웜 뿌려서 좀비PC 확보)이 정배, BotNet도 많이사용
BotNets
좀비PC 네트워크. 목적은 공격자가 좀비에게 command를 전달, 봇(Zombie)의 SW관리(malware upgrade) 용도로도 씀
이미 많이 구축. 블랙 마켓에서 거래
목표
- Information dispersion
스팸메일 배포 용도. Phishing - Information harvesting
malware 감염된 컴퓨터의 소유주 정보(계좌, 은행, PW, 소셜 네트워크 정도...) 긁어오는 용도 - Information processing
Cracking passwords (computing power사용) 혹은 Bitcoin minig(돈벌고 살아야하니까여^^)
Storm Worm (2008)
봇넷 구축 웜. Peacomm으로도 알려짐
좀비PC와 C&C를 연결하는 네트워크가 봇넷BotNet
특정 프로토콜을 사용하면 포트넘버 특정이 가능 → 사이버 수사대가 포착하기 쉽다 → 특정되지 않으려고 P2P로 옮겨갔다
이메일로 전파됨
감염된 좀비들이 네트워크를 구성하는데 Overnet(DHT사용)이나 Stormnet이라는 이름 사용
감염(First injection)되면 통신할 수 있는 최소한의 malware만 설치하고, 이후 secondary injection으로 뭘할지 코드 다운하게됨
대응 방안
- Attack Prevention 예방
- Ingress filtering
- Hop-count filtering
- SYN cookies
- CAPTCHA
- Computational Puzzles - Attack Detection 탐지
- Anomaly-based detection
- CUSUM-based approaches - Attack Source Identification 진짜 공격 보내는 쪽 누구인지 확인
- IP traceback
- Botnet detection - Attack Reaction 대응. 공격하는 애를 알았으니 어떻게 처리해야겠다
- Pushback
- Cisco Guard DDoS mitigation system - Network Architecture-based Apporach 네트워크가 구조적으로 바뀌어서 근본적으로 막는 방법은 없을까
- Content Distribution Network
- Secure Overlay Service(SOS)
- Network Capabilities - SIFF
...
DoS 초창기는 IP Spoofing이 문제였어서... 이 시절 연구들이 Spoofing방어에 초점이 가있음
Ingress Filtering & Egress Filtering
IP Spoofing에 대한 문제 해결방법
출발지에서 나가는 트래픽 차단 또는 다음 네트워크 라우터가 들어오는 트래픽 차단

한계
- 좀비PC 많으면 IP Spoofing을 할 필요x → 효과 하락
- 라우터 밖의 제3자가 혜택을 봄. 즉, 네트워크를 우리 다 같이 업그레이드 합시다.. 합의가 잘 안됨. 운영측 ≠ 혜택수혜측
Hop-Count Filtering (HCF)
IP Spoofing에 대한 문제 해결방법


문제1. 라우터를 몇개 거쳤는지 어떻게 알거냐?
IP HEADER의 TTL(Time To Live) 필드 사용

라우터 거칠 때 마다 TTL 1씩 감소시킴. 도착하는 패킷의 TTL을 확인하면 몇번 거쳤는지 추정 가능
그렇다면 시작값이 얼마인지 어떻게 알거냐? 30/32/60/64/128/255
(연구결과) 지구상에서 홉카운트가 20개가 넘어가는 경우는 매우 드묾 → TTL 255 -> 252면 3개 지났다
한계
- Hs에 대한 테이블이 필요하다. (나에게 패킷을 보낼 수 있는 잠재적인 노드들의 거리정보)
트래픽 오버헤드가 크다... 클라이언트 하나하나에 대해 핑을 다 해야하기 때문에...
표를 만드는 것도 부담, 표 사이즈도 부담, 표 구성을 위한 트래픽 오버헤드도 부담 - False Positive 알람이 잘못 울림(공격이라고 생각했는데 공격이 아님)
이전에 학습했던 홉카운트와 다른 경우. 라우팅 알고리즘은 동적이어서 경로가 항상 고정이 아님 - False Negative 알람이 울려야하는데 울리지 않음(공격임을 탐지 못함)
우연히 홉 카운트가 일치할 경우... 생각보다 많이 발생함
SYN Cookies
*SYN Flooding : SYN요청을 잔뜩 보내면 서버쪽에서는 냅다 소켓부터 할당 → 자원 금방 고갈
서버 say : 첫번째 요청은 가짜 공격일 수 있으니까 첫번째 요청은 안믿을거임. SYNACK만 보내줌.
3번째 패킷이 정상적으로 도착해야 자원할당 해줄거임
공격자가 Spoofing했기 때문에 SYNACK를 받을 수가 없음. 나이스한 방어 방법
근데 3번째 메세지에 들어가는 내용을 공격자가 유추할 수 있으면 타이밍 맞춰서 3번째 패킷 날릴 수 있음
아무나 3번째 패킷을 생성할 수 없도록 비밀값을 2번째 패킷에 넣어둠 (예측가능성**)
그래서 SYNACK와 cookie라는 값을 예측할 수 없도록 만들어서 날림
클라이언트 ACK에는 cookie + 1의 값이 담김
그럼 cookie를 어디에 담아서 날릴 것인가?


SYNACK의 Seq에 cookie를 담아서 보내면 client는 cookie+1을 ACK에 담아서 보냄
쿠키값 만드는 방법 :
시퀀스 넘버는 32bit
1. 5bit는 시간정보
2. 다음 3bit는 Maximum Segment Size(MSS)정보 나의 : 서버(보내는 측)
3. 남은 24bit는 상대IP주소, 상대 포트번호, 나의 IP주소, 나의 포트번호, 나의 시간 을 담아서 cryptographic (hash) function으로 값을 생성
한계 : IP Spoofing 공격을 하지 않으면 효과가 떨어짐
CAPTCHA
Completely Automated Public Turing test to tell Computers&Humans Apart
Reverse Turing test는 컴퓨터가 사람인지 자동으로 판단하겠다는 것
그래서 만들어진 것이 Gimpy(이미지의 왜곡된 텍스트를 해독하고 입력하는 것)
Simple IP Traceback
실제로 이 패킷이 어디서 날아오는 것인가?
→ 라우터를 지날 때 마다 라우터의 IP주소를 패킷에 넣어버리자! → ...길어진다^^
패킷 길이가 길어지다가 NTU라는 게 있어서 너무 길면 잘라줘야함(fragmentation)

IP Traceback : Probabilistic Packet Marking
다 적는건 비현실적이니까... 지나갈 때마다 확률적으로 집어넣자! 집어넣다보면 언젠가는 지나갔던 모든 경로를 컬렉션할 수 있을거다!
(패킷이 많이 발생해서)
근데 IP주소의 길이가 32bit인데 IP HEADER에 32bit를 자유롭게 쓸 수 있는 공간이 없음..ㅠㅠ
→ Identification을 쓸 수 있겠다... 근데 16bit 공간밖에 안됨
→ 쪼개서 많이 보내면 나중에 재조립할 수 있겠다^^!

BotNet Detection Techniques
Honeynet, Honeypot :
의도적으로 malware를 받아들이겠다(감염시키겠다). 근데 isolation된 환경(sandbox)의 VM이라서 감염되도 실제 피해x
VM이 감염되면 first injection, second injection이 일어날 것 → BotNet의 일부가 됨 → 스파이
C&C에서 command를 받고 그걸 분석함
Content Distribution Networks (CDN)
하나만 있는 서버를 확장해서 다른 지역에도 서버를 두고 서비스를 하는 것.
한 서버로 전세계 서비스를 커버치는 것이 아니라, (중개) 서버를 전세계에 분산 배치
→ 서버가 하나일 경우, 서버 다운되면 서비스 끝남. 분산되면 해당 지역에만 영향
DoS 대응책은 아니고 컨텐츠 서비스를 더 높은 속도로 제공하기 위함이다.
WAF (Wab Application Firewall) 귀엽다 와프...
웹서비스 전용. 기업에서 실제 사용됨.
DDoS, XSS, SQL Injection... 어지간한 웹해킹은 다 막아냄

익명 통신 Anonymous Communication
인터넷을 이용은 하는데 내가 누구와 대화하는지 밝히지 않고 통신할 방법이 있는가? YES!
일반적인 인터넷에서는 IP HEADER에 목적지IP, 소스IP가 적힌다.
즉, 패킷 하나 얻으면 누가 누구와 통신하는지 확인이 가능하다. (목적지IP주소는 상대에 대한 Signature가 될 수 있음)
TOR (The Onion Router (Onion Rouing))
사용자가 웹을 익명으로 돌아다닐 수 있도록 해주는 SW
인터넷인데 인터넷에 드러나지 않는 통신 (Encryption 기반이라서). 네트워크가 따로 있는게 아님
다크웹의 기반 → TOR로만 접속 가능하다
*Ahmia : 다크웹 리서치 엔진
인터넷에서는 라우터가 알아서 전달..
익명 통신에서는 Client 가 Server에 접속할 때
- 전달해줄 노드 랜덤하게 selection해서 순서 매김 (최소 3개) → 통신 패턴 들키지 않기 위해서
(전 세계를 대상으로 하기 때문에 선택지가 많음) - 전달할 패킷 3번 둘러쌈 (감싸서 encryption x3)
- 양파 만들어서 RouterA한테 던짐
→ 누가 보냈고 누가 받는지(RouterA)는 앎. 가장 바깥 암호화 풀어서 다음 노드에 넘김
(첫번째 껍질이 RouterA의 비밀번호로 잠겨있어서 풀 수 있음. 다음 노드가 누구인지 까봐야 안다)
*여기서 Client → RouterA 등... 패킷을 캐치해도 뭘 볼수가 없음... 해당하는 부분 밖에 안보여서
*이걸 다 잡아서 보는건 불가능함 (인터넷이 너무 넓어서) 압수수색해도 저거밖에 못본다... - ... 계속 진행~


이번 챕터에서 많이 나오지 않을까 생각을 하고?????????????????교수님???????
'#컴공에서살아남기 > 201 보안기초' 카테고리의 다른 글
| 방화벽, IDS, IPS (0) | 2026.05.07 |
|---|---|
| DNS Spoofing (0) | 2026.05.06 |
| 네트워크 보안 - IPsec (1) | 2026.04.14 |
| Network Security - SSL (0) | 2026.04.08 |
| 암호의 이해 (0) | 2026.04.05 |