734. 방화벽 우회기법 (터널링 캡슐화 포트 우회/분산 패킷 망 회피)
핵심 인사이트: 회사 방화벽이 "게임 사이트 접속 금지!"라고 막아놓았다. 포트도 80번(웹) 말고는 다 막혀있다. 해커나 직원은 어떻게 이 성벽을 뚫을까? "방화벽이 유일하게 허락한 80번 포트라는 통로를 악용하자. 게임 데이터를 정상적인 웹(HTTP) 데이터인 것처럼 속여서(캡슐화) 커다란 마트료시카 인형 속에 쏙 숨겨 보내면 방화벽은 절대 눈치채지 못한다." 이것이 터널링 우회 기법의 마법이다.
Ⅰ. 방화벽 우회의 2가지 주요 원리
방화벽은 겉봉투의 주소(IP)와 포트 번호를 보고 패킷을 차단합니다. 이를 속이는 방법은 크게 **'내용물 숨기기(터널링)'**와 '검사기 눈 피하기(단편화)' 두 가지로 나뉩니다.
Ⅱ. 터널링 (Tunneling / Encapsulation) 우회 기법 🌟
금지된 데이터를 방화벽이 허용하는 정상적인 프로토콜의 뱃속에 집어넣어(캡슐화) 검문소를 무사통과하는 가장 강력한 우회 기법입니다.
1. HTTP / DNS 터널링 (포트 우회)
- 문제 상황: 회사가 보안을 위해 80번(HTTP)과 53번(DNS) 포트 빼고는 카카오톡이나 게임, 원격접속(SSH) 포트를 싹 다 막아버렸습니다.
- 해결(HTTP 우회): 해커는 막혀버린 SSH(22번) 원격접속 제어 데이터를 일반적인 웹페이지 HTML 소스코드인 척 **HTTP 껍데기로 한 겹 포장(Encapsulation)**합니다.
- 방화벽은 겉면에 '목적지 80번 포트, HTTP 패킷'이라고 적혀 있으니 "아, 평범한 웹서핑이네" 하고 통과시켜 줍니다. 집 밖의 해커 서버는 이 껍데기를 벗기고 안의 SSH 데이터를 실행하여 사내 서버를 완벽히 통제합니다.
- DNS 우회: DNS 요청(TXT 레코드 등) 안에 악성코드의 짧은 명령어를 숨겨서 밖으로 빼내는 방식도 널리 쓰입니다. (DNS는 인터넷의 필수망이라 방화벽이 차단할 수가 없습니다.)
2. VPN (IPsec, OpenVPN) 악용
- 직원이 사내망에서 불법 토렌트 사이트에 들어가려 합니다. 회사의 차세대 방화벽(NGFW)이 패킷을 뜯어보고 차단합니다.
- 직원이 외부의 VPN 서버로 **강력한 암호화 터널(AES)**을 하나 뚫습니다. 방화벽은 직원이 외부와 뭔가 통신하는 것은 알지만, 데이터가 100% 암호화되어 있으므로 안에 토렌트가 들었는지 회사 기밀 파일(DLP 회피)이 들었는지 뜯어보지 못하고 까막눈이 되어 통과시켜 줍니다.
Ⅲ. 분산 패킷 / 단편화 (Fragmentation) 우회 기법 🌟
- 개념: 앞서 715번에서 배운 단편화(조각내기)를 악용합니다. 해커가 보낼 악성 텍스트가
ATTACK이라면, 이걸AT,TA,CK로 잘게 쪼개서 방화벽으로 던집니다. - 동작: 구형 방화벽(상태 추적 기능이 약한)이나 멍청한 NIDS는 조각난 첫 번째 패킷
AT만 보고 "정상 패킷이네?" 하고 통과시키고, 뒤따라오는 조각들도 의미를 파악하지 못한 채 낱개로 무사통과 시켜 버립니다. - 타겟 서버(피해자) 내부로 들어간 뒤에 이 조각들이 조립되어 거대한 악성코드
ATTACK으로 완성되어 폭발합니다.
Ⅳ. 현대 방화벽의 대응 (DPI와 조립 검사)
- **차세대 방화벽(NGFW)**이나 고급 WAF:
- 아무리 HTTP 껍데기를 씌워도, 패킷을 심층 분석(Deep Packet Inspection)하여 HTTP 본문 안에 이상한 SSH 명령어 규격이 섞여 있으면 "터널링 꼼수 쓰네!" 라며 찢어버립니다.
- 조각난 패킷이 들어오면 입구에서 통과시키지 않고, 방화벽 자신의 배때기 안에서 직접 100% 다 조립해 본 뒤(Reassembly) 악성코드인지 확인하고 나서야 내부로 들여보내는 철통 방어를 씁니다.
📢 섹션 요약 비유: 터널링 우회는 감옥(사내망)에서 죄수(직원)가 밖으로 몰래 '탈옥 계획서'를 빼내는 수법입니다. 교도관(방화벽)은 무조건 편지(HTTP)만 내보내 줍니다. 죄수는 탈옥 계획서를 깨알같이 적은 뒤, 그 종이 겉면을 가족에게 쓰는 '안부 편지(HTTP 껍데기)' 봉투로 감싸서 제출합니다. 교도관은 겉봉투만 보고 무사통과시킵니다. 분산 패킷 우회는 탈옥 계획서를 글자 하나씩 잘라서 100일 동안 매일 한 장씩 보내는 짓입니다. 멍청한 교도관은 글자 하나만 보고는 의미를 몰라 그냥 넘겨주고, 바깥의 공범이 이 조각들을 100일 치 모아 조립하면 완벽한 지도가 완성되는 원리입니다.