현대 컴퓨터 네트워크 공격의 포괄적 분류
컴퓨터 네트워크 공격, 즉 사이버 공격은 정보 시스템의 자원이나 정보 자체를 수집, 방해, 거부, 저하 또는 파괴하려는 모든 종류의 악의적인 활동으로 정의된다.1 현대 사회에서 사이버 공격의 동기와 주체는 급격히 다양화 및 고도화되고 있다. 과거에는 개인 해커나 소규모 집단이 기술력을 과시하거나 단순한 호기심으로 공격을 감행하는 경우가 많았으나, 최근에는 국가의 후원을 받는 조직들이 정치적, 경제적, 군사적 목적으로 정교한 공격을 수행하는 사례가 급증하고 있다.2 이러한 공격자들은 사이버 범죄자, 핵티비스트(Hacktivists), 국가 지원 공격자, 내부 위협자 등 다양한 그룹으로 분류될 수 있으며, 그들의 목표 또한 단순한 시스템 마비를 넘어 지적 재산 탈취, 중요 데이터 파괴, 시스템 제어권 장악 등으로 확장되고 있다.4 이처럼 복잡해진 위협 환경을 이해하기 위해서는 공격을 체계적으로 분류하고 분석하는 프레임워크가 필수적이다.
네트워크 공격을 분류하는 가장 근본적인 기준은 공격자가 데이터 흐름에 직접적인 변경을 가하는지 여부이다. 이에 따라 공격은 수동적 공격(Passive Attack)과 능동적 공격(Active Attack)으로 나뉜다.6
수동적 공격은 시스템이나 데이터에 직접적인 영향을 주지 않으면서 네트워크를 통해 전송되는 정보를 몰래 엿듣거나 수집하는 행위를 의미한다.7 공격의 주된 목적은 정보 수집이며, 시스템의 상태를 변경하지 않기 때문에 탐지가 매우 어렵다는 특징이 있다. 그러나 암호화와 같은 예방 조치를 통해 효과적으로 방어할 수 있다.9
- 스니핑/도청 (Sniffing/Eavesdropping): 네트워크 상에서 송수신되는 패킷의 내용을 무단으로 열람하는 가장 대표적인 수동적 공격이다.6 공격자는 네트워크 인터페이스 카드를 ‘무차별 모드(Promiscuous Mode)’로 설정하여 자신에게 향하지 않는 패킷까지 모두 수신하고 분석함으로써 민감한 정보(예: 아이디, 비밀번호, 이메일 내용)를 탈취할 수 있다.9 이는 정보보안의 기밀성을 직접적으로 침해하는 행위이다.13
- 트래픽 분석 (Traffic Analysis): 통신 내용이 암호화되어 있어 직접적인 해독이 불가능할 때 사용되는 기법이다. 공격자는 패킷의 내용을 보지 않고도 통신의 빈도, 패킷의 크기, 송수신 주소 등의 메타데이터를 분석하여 유의미한 정보를 추론한다.6 예를 들어, 특정 기업과 인수합병 전문 로펌 간의 암호화된 통신량이 급증하는 것을 관찰하여 인수합병이 임박했음을 예측하는 것이 가능하다.6 이에 대한 대응책으로는 실제 트래픽에 의미 없는 더미(Dummy) 트래픽을 섞어 전송함으로써 패턴 분석을 어렵게 만드는 방법이 있다.6
능동적 공격은 데이터의 흐름을 가로채 변조하거나, 시스템의 정상적인 동작을 방해하는 등 시스템 자원에 직접적인 영향을 미치는 모든 공격을 포함한다.7 수동적 공격과 달리 시스템 상태에 변화를 일으키므로 그 흔적이 남아 탐지가 상대적으로 용이하다.12 수동적 공격을 제외한 거의 모든 종류의 네트워크 공격이 능동적 공격에 해당한다고 볼 수 있다.7
- 데이터 변조 (Modification): 공격자가 통신 중간에 개입하여 전송되는 메시지의 내용을 변경, 삽입, 삭제하는 공격이다.13 예를 들어, 금융 거래에서 수신자 계좌번호나 금액을 조작하는 행위가 이에 해당한다.
- 위장 (Masquerading/Spoofing): 공격자가 다른 사용자인 것처럼 신분을 속여 시스템에 접근하거나 데이터를 전송하는 행위이다. IP 스푸핑, ARP 스푸핑 등이 대표적인 예이다.13
- 재전송 공격 (Replay Attack): 공격자가 이전에 유효했던 통신 데이터를 그대로 가로채 두었다가 나중에 재전송하여 인증을 통과하거나 부당한 이득을 취하는 공격이다.12
- 서비스 거부 공격 (Denial of Service, DoS): 특정 시스템이나 네트워크 자원을 고갈시켜 정상적인 사용자가 서비스를 이용할 수 없도록 만드는 공격이다.13
공격의 기술적 분류를 넘어 그 근본적인 목표를 이해하기 위해서는 정보보안의 3요소인 기밀성(Confidentiality), 무결성(Integrity), 가용성(Availability)을 기준으로 공격을 재분류하는 것이 유용하다. 모든 사이버 공격은 궁극적으로 이 세 가지 요소 중 하나 이상을 훼손하는 것을 목표로 한다.1
- 기밀성(Confidentiality) 침해 공격: 인가되지 않은 사용자가 정보에 접근하는 것을 막는 원칙을 깨뜨리는 공격이다. 스니핑, 트래픽 분석, 스파이웨어, 데이터 유출 등이 대표적인 예이며, 주로 수동적 공격의 형태를 띤다.6
- 무결성(Integrity) 침해 공격: 정보가 전송되거나 저장되는 과정에서 권한 없이 변경, 삭제, 생성되지 않도록 보장하는 원칙을 위반하는 공격이다. 데이터 변조, 스푸핑, 재전송 공격, 악성코드 감염을 통한 파일 위변조 등이 여기에 속한다.12
- 가용성(Availability) 침해 공격: 인가된 사용자가 정보나 자원에 필요할 때 접근하고 사용할 수 있도록 보장하는 원칙을 저해하는 공격이다. 서비스 거부(DoS) 및 분산 서비스 거부(DDoS) 공격이 가장 대표적인 예이다.13
이러한 기초적인 분류 체계는 단순히 공격을 나열하는 것을 넘어, 방어 전략 수립에 핵심적인 단서를 제공한다. 예를 들어, 탐지가 어려운 수동적 기밀성 공격에 대해서는 암호화와 같은 사전 예방적 통제(Preventive Control)가 최우선 전략이 된다. 반면, 시스템에 즉각적인 영향을 미치는 능동적 무결성 및 가용성 공격에 대해서는 침입 탐지 시스템(IDS)이나 방화벽과 같은 탐지 및 대응 통제(Detective/Responsive Control)가 방어의 핵심이 된다. 이처럼 공격의 본질을 이해하는 것은 효과적인 보안 아키텍처를 설계하는 첫걸음이다.
가용성을 목표로 하는 공격은 시스템이나 네트워크를 마비시켜 정상적인 서비스를 불가능하게 만드는 데 중점을 둔다. 가장 잘 알려진 형태는 서비스 거부(DoS) 및 분산 서비스 거부(DDoS) 공격이다.
- 서비스 거부 (Denial of Service, DoS): 단일 시스템에서 공격을 감행하여 특정 서버나 네트워크의 자원을 고갈시키는 공격이다.8 공격의 출처가 하나이므로 비교적 추적과 차단이 용이하다.
- 분산 서비스 거부 (Distributed Denial of Service, DDoS): 공격자가 다수의 감염된 시스템, 즉 ‘좀비 PC’로 구성된 ‘봇넷(Botnet)’을 이용하여 특정 목표를 동시에 공격하는 방식이다.14 공격 트래픽이 여러 곳에서 분산되어 발생하므로 공격의 규모가 훨씬 크고, 공격 근원지를 추적하고 방어하기가 매우 어렵다.
이 공격 유형은 목표 시스템의 네트워크 대역폭을 모두 소진시켜 정상적인 트래픽이 도달하지 못하게 하는 것을 목표로 한다. 주로 3계층(네트워크) 및 4계층(전송) 프로토콜을 이용한다.
- UDP/ICMP 플러딩 (Flooding): 대량의 UDP 또는 ICMP 패킷을 목표 시스템으로 전송하여 네트워크 대역폭을 가득 채우는 가장 단순하고 고전적인 공격 방식이다.8
- 스머프 공격 (Smurf Attack): 증폭(Amplification) 기법을 이용한 정교한 DoS 공격이다. 공격자는 출발지 IP 주소를 공격 대상(Victim)의 IP로 위조한 후, 특정 네트워크의 브로드캐스트 주소로 ICMP Echo Request(Ping) 패킷을 전송한다. 이 패킷을 수신한 해당 네트워크의 모든 호스트들은 위조된 출발지 주소, 즉 공격 대상에게 ICMP Echo Reply를 동시에 보내게 되어 엄청난 양의 트래픽이 공격 대상에게 집중된다.8
- 프래글 공격 (Fraggle Attack): 스머프 공격과 원리는 동일하지만, ICMP 대신 UDP 프로토콜의 Echo 포트(포트 7)를 이용한다는 차이점이 있다.12
네트워크 프로토콜(주로 TCP/IP)의 설계상 허점이나 취약점을 악용하여 목표 시스템의 자원을 고갈시키는 공격이다.
- TCP SYN 플러딩 (SYN Flooding): TCP의 3-way-handshake 연결 설정 과정을 악용한 공격이다. 공격자는 다수의 SYN 패킷을 서버에 보내지만, 서버가 SYN-ACK로 응답하면 마지막 단계인 ACK 패킷을 보내지 않고 연결을 완료하지 않는다. 이로 인해 서버는 수많은 연결을 ‘Half-Open’ 상태로 유지하게 되고, 결국 새로운 연결 요청을 처리할 수 있는 자원이 고갈되어 정상적인 서비스를 제공할 수 없게 된다.8
- 죽음의 핑 (Ping of Death, PoD): IP 프로토콜이 허용하는 최대 패킷 크기(65,535 바이트)를 초과하는 매우 큰 ICMP 패킷을 의도적으로 생성하여 전송하는 공격이다. 이 거대한 패킷은 네트워크를 통해 전송되면서 여러 개의 작은 조각(Fragment)으로 분할되는데, 공격 대상 시스템은 이 비정상적인 조각들을 재조립하는 과정에서 버퍼 오버플로우나 커널 패닉이 발생하여 시스템이 다운될 수 있다.8
- 랜드 어택 (LAND Attack): 공격자가 패킷을 전송할 때 출발지 IP 주소와 목적지 IP 주소를 모두 공격 대상의 IP 주소로 동일하게 설정하여 보내는 공격이다. 패킷을 수신한 시스템은 출발지, 즉 자기 자신에게 응답을 보내는 무한 루프에 빠지게 되어 시스템에 과부하가 발생한다.8
- 티어드롭 공격 (Teardrop Attack): IP 단편화(Fragmentation) 및 재조립 과정의 취약점을 악용한다. 공격자는 분할된 IP 패킷들의 오프셋(Offset) 값을 비정상적으로 조작(예: 중첩되거나 건너뛰게 만듦)하여 전송한다. 수신 시스템은 이 조각들을 재조립하려다 오류가 발생하여 시스템 장애를 일으킨다.8
네트워크 대역폭보다는 웹 서버, 데이터베이스 등 애플리케이션 자체의 자원을 고갈시키는 데 초점을 맞춘 공격이다. 정상적인 요청처럼 보이기 때문에 대역폭 소진형 공격보다 탐지가 훨씬 어렵고 정교하다.
- HTTP GET/POST 플러딩: 웹 서버에 과도한 양의 HTTP GET 또는 POST 요청을 보내 서버의 처리 능력을 마비시키는 공격이다. 특히 데이터베이스 조회나 복잡한 연산이 필요한 페이지를 반복적으로 요청하여 서버에 큰 부하를 유발한다.9
- 저속 공격 (Slow Rate Attacks): 매우 적은 대역폭을 사용하여 서버와의 연결을 최대한 길게 유지함으로써 서버의 가용 연결(Connection) 자원을 모두 소진시키는 공격이다.
- 슬로로리스 (Slowloris / Slow HTTP Header): HTTP 요청 헤더를 전송할 때, 헤더의 끝을 알리는 개행 문자열(
\r\n\r\n)을 보내지 않고 매우 느린 속도로 헤더 정보를 조금씩 전송한다. 서버는 헤더가 완전히 수신될 때까지 연결을 계속 유지하게 되고, 다수의 이러한 연결이 쌓이면 결국 새로운 사용자의 접속을 받을 수 없게 된다.9
- 루디 (RUDY / Slow HTTP POST): HTTP POST 요청의
Content-Length 헤더 값을 매우 크게 설정한 후, 실제 메시지 본문(Body) 데이터는 매우 작은 조각으로 나누어 아주 느리게 전송하는 방식이다. 서버는 명시된 Content-Length 만큼의 데이터를 모두 수신할 때까지 연결을 끊지 못하고 기다리게 된다.11
- 슬로우 리드 (Slow HTTP Read): 공격자가 서버에 정상적인 요청을 보낸 후, 서버로부터의 응답을 매우 느리게 읽어들인다. TCP 흐름 제어 메커니즘에 따라 서버는 클라이언트의 수신 버퍼가 비워질 때까지 데이터 전송을 멈추고 대기해야 하므로, 이 연결 역시 장시간 유지되어 서버 자원을 소모시킨다.9
- 헐크 (Hulk) DoS: HTTP GET 플러딩의 변종으로, 요청하는 URL의 파라미터를 계속해서 무작위로 변경하여 공격한다. 이는 캐싱(Caching) 기반의 DDoS 방어 장비가 동일한 요청을 캐시에서 처리하지 못하고 매번 웹 서버에 직접 요청을 전달하게 만들어 방어 시스템을 우회하는 효과가 있다.9
- 해시 DoS (Hash Collision Attack): 많은 웹 애플리케이션 플랫폼이 POST 요청의 파라미터를 처리하기 위해 해시 테이블(Hash Table) 자료 구조를 사용한다는 점을 악용한다. 공격자는 해시 충돌을 의도적으로 대량 유발하는 특수한 형태의 파라미터들을 전송하여, 서버가 해시 테이블을 처리하는 과정에서 CPU 자원을 과도하게 소모하도록 만든다.9
이러한 DDoS 공격의 진화 과정은 공격자와 방어자 간의 끊임없는 ‘군비 경쟁’을 명확히 보여준다. 초기의 스머프 공격이나 UDP 플러딩과 같은 대규모 대역폭 소진형 공격에 대응하여 트래픽 스크러빙(scrubbing)과 같은 효과적인 방어 기술이 개발되자, 공격자들은 방어의 초점이 맞춰져 있던 네트워크 계층(Layer 3/4)을 벗어나 애플리케이션 계층(Layer 7)으로 공격의 무대를 옮겼다. 슬로로리스나 해시 DoS와 같은 애플리케이션 논리 기반 공격은 정상 트래픽과 구별하기 어려워 단순한 트래픽 양 분석만으로는 방어가 불가능하다. 이는 현대의 DDoS 방어 전략이 반드시 네트워크 계층의 대용량 트래픽 방어 능력과 더불어, 애플리케이션의 특성을 이해하고 비정상적인 행위를 판별할 수 있는 지능적인 분석 능력을 갖춘 다층적 구조여야 함을 시사한다.
무결성을 목표로 하는 공격은 데이터를 위조하거나 다른 사용자로 위장하여 신뢰를 깨뜨리고 시스템을 조작하는 데 초점을 맞춘다.
스푸핑은 ‘속이다’라는 의미로, 공격자가 자신의 정체를 숨기거나 다른 합법적인 개체인 것처럼 위장하는 모든 종류의 공격을 통칭한다.
- IP 스푸핑 (IP Spoofing): 패킷 헤더의 출발지 IP 주소를 위조하는 기술이다. 공격자는 이를 통해 자신의 실제 위치를 숨기거나, 신뢰 관계가 설정된 다른 시스템으로 위장하여 접근 권한을 획득할 수 있다.9 IP 스푸핑은 그 자체로도 공격이지만, 스머프 공격이나 랜드 어택과 같은 다른 많은 공격의 기반이 되는 핵심 기술이다.
- ARP 스푸핑 (ARP Spoofing): 로컬 네트워크(LAN) 환경에서 사용되는 ARP(Address Resolution Protocol)의 취약점을 이용한 공격이다. 공격자는 위조된 ARP 응답 패킷을 네트워크에 브로드캐스트하여, 특정 IP 주소(예: 게이트웨이)에 대한 MAC 주소를 자신의 MAC 주소로 인식하도록 피해자들의 ARP 캐시 테이블을 오염시킨다. 그 결과, 피해자들이 외부로 보내는 모든 트래픽은 실제 게이트웨이가 아닌 공격자의 컴퓨터를 거치게 되어 중간자 공격(MitM)이 가능해진다.9
- DNS 스푸핑 (DNS Spoofing / Cache Poisoning): 사용자가 특정 도메인(예: www.mybank.com)에 대한 IP 주소를 DNS 서버에 질의할 때, 공격자가 실제 DNS 서버보다 먼저 위조된 응답을 보내 악성 사이트의 IP 주소를 알려주는 공격이다. 사용자는 정상적인 주소를 입력했음에도 불구하고 자신도 모르게 가짜 피싱 사이트로 접속하게 되어 개인정보나 금융정보를 탈취당할 수 있다.11
기술적 취약점 대신 인간의 심리적 허점이나 사회적 신뢰를 이용하여 기밀 정보를 빼내거나 악성 행위를 유도하는 공격 기법이다.
- 피싱 (Phishing): 금융기관, 공공기관, 유명 기업 등을 사칭하여 불특정 다수에게 이메일이나 메시지를 보내고, 가짜 웹사이트로 유도하여 로그인 정보나 금융 정보 입력을 유도하는 사기 수법이다.4
- 스피어 피싱 (Spear Phishing): 특정 개인이나 조직을 목표로 하는 맞춤형 피싱 공격이다. 공격자는 사전에 목표에 대한 정보(이름, 직책, 소속 부서, 거래처 등)를 수집하여, 마치 신뢰할 수 있는 동료나 기관이 보낸 것처럼 매우 정교하게 위장된 이메일을 보낸다. 이로 인해 피해자가 속을 확률이 매우 높다.17
- 웨일링 (Whaling): 고래(Whale)를 사냥하듯, 조직 내의 고위 임원(CEO, CFO 등)이나 주요 인사를 표적으로 하는 스피어 피싱의 일종이다. 고위직은 중요한 정보에 접근할 권한이 크기 때문에 공격 성공 시 파급력이 매우 크다.24
- 비싱 (Vishing / Voice Phishing): 전화를 이용한 피싱 공격이다. 공격자는 은행 직원이나 수사 기관원 등을 사칭하여 피해자에게 전화를 걸어 개인정보나 금융정보를 요구한다.23
- 스미싱 (Smishing / SMS Phishing): 문자 메시지(SMS)를 이용한 피싱 공격이다. 택배 배송 조회, 모바일 청첩장, 교통 범칙금 고지 등을 위장한 문자 메시지에 악성 앱 설치를 유도하는 링크나 피싱 사이트 링크를 포함하여 전송한다.17
- 타이포스쿼팅 (Typosquatting / URL Hijacking): 사용자들이 유명 웹사이트 주소를 입력할 때 발생할 수 있는 오타를 이용하는 기법이다. 공격자는 유명 도메인과 철자가 유사한 도메인(예: googel.com)을 미리 등록해두고, 주소를 잘못 입력한 사용자의 트래픽을 가로채거나 피싱 사이트로 유도한다.11
공격자가 통신하는 두 당사자 사이에 몰래 끼어들어 양쪽의 모든 통신 내용을 도청하거나 조작하는 공격이다. ARP 스푸핑은 MitM 공격을 수행하기 위한 대표적인 선행 작업이다.
- 세션 하이재킹 (Session Hijacking): 사용자가 서버에 로그인하여 정상적으로 인증을 거친 후 생성된 통신 세션(Session)을 가로채는 공격이다. 공격자는 네트워크 스니핑이나 XSS 공격 등을 통해 사용자의 세션 ID를 탈취한 후, 이 세션 ID를 이용하여 자신이 해당 사용자인 것처럼 위장하여 서버에 접근한다. 이 경우, 공격자는 별도의 로그인 과정 없이 사용자의 권한을 그대로 사용할 수 있다.4
- 재전송 공격 (Replay Attack): 공격자가 네트워크 상에서 합법적인 사용자가 전송한 데이터(예: 로그인 요청, 자금 이체 요청)를 가로채 저장해 두었다가, 나중에 그대로 재전송하여 비인가된 작업을 수행하는 공격이다. 예를 들어, 로그인 과정을 캡처했다가 재전송하여 인증을 우회할 수 있다.12
- 이블 트윈 공격 (Evil Twin Attack): 공공장소의 합법적인 Wi-Fi 접속점(AP)처럼 보이는 가짜 AP를 설치하여 사용자의 접속을 유도하는 공격이다. 사용자가 이 가짜 AP에 접속하면, 공격자는 사용자와 인터넷 사이의 모든 트래픽을 가로채 개인정보를 훔치거나 악성코드를 주입할 수 있다.12
이러한 무결성 공격 기법들은 독립적으로 사용되기보다는 ‘공격 체인(Attack Chain)’의 형태로 서로 연결되어 사용되는 경우가 많다. 예를 들어, 공격자는 먼저 스피어 피싱 이메일17을 보내 초기 접근을 시도하고, 이메일에 첨부된 악성 파일은 피해자 컴퓨터에 트로이 목마11를 설치한다. 설치된 트로이 목마는 키로거15를 통해 사용자의 계정 정보를 탈취하거나, 네트워크 스니퍼11를 통해 세션 토큰을 가로챈다. 마지막으로, 공격자는 탈취한 세션 토큰을 이용해 세션 하이재킹9을 수행하여 사용자의 계정으로 민감한 내부 시스템에 접속한다. 이처럼 공격이 여러 단계에 걸쳐 진행된다는 사실은 방어 전략 역시 다층적이어야 함을 의미한다. 이메일 필터링, 엔드포인트 보안, 네트워크 암호화, 접근 제어 등 각 단계에 맞는 방어 체계를 갖추는 ‘심층 방어(Defense-in-Depth)’ 전략이 필수적인 이유가 여기에 있다.
기밀성을 목표로 하는 공격은 인가되지 않은 정보의 노출에 초점을 맞춘다. 이는 주로 탐지가 어려운 수동적 공격의 형태를 띤다.
네트워크를 통해 전송되는 패킷을 가로채서 그 내용을 엿보는 행위이다. 이는 가장 고전적이고 직접적인 기밀성 침해 공격이다.6
- 작동 원리: 공격자는 자신의 컴퓨터에 설치된 네트워크 인터페이스 카드(NIC)를 ‘무차별 모드(Promiscuous Mode)’로 설정한다. 일반적인 ‘Normal Mode’에서는 NIC가 자신의 MAC 주소로 온 패킷만 처리하지만, 무차별 모드에서는 해당 로컬 네트워크 세그먼트를 통과하는 모든 패킷을 수신하고 분석할 수 있다.9
- 주요 도구: Wireshark, tcpdump와 같은 패킷 분석 도구가 널리 사용된다.9
- 취약 환경: 암호화되지 않은 공용 Wi-Fi 네트워크나, 과거에 사용되던 허브(Hub) 기반의 네트워크 환경에서 매우 효과적이다. 현대의 스위치(Switch) 기반 네트워크에서는 각 포트로 필요한 트래픽만 전달되므로 단순 스니핑이 어렵지만, ARP 스푸핑과 같은 다른 공격과 결합하여 특정 트래픽을 공격자의 컴퓨터로 유인한 후 스니핑을 수행한다.8
통신 내용이 암호화되어 있어도, 통신 패턴 자체를 분석하여 정보를 얻어내는 더 정교한 염탐 기법이다.6
- 분석 대상: 공격자는 누가 누구와 통신하는지(송수신 IP 주소), 얼마나 자주 통신하는지(통신 빈도), 얼마나 많은 데이터를 주고받는지(트래픽 양), 언제 통신하는지(시간대) 등의 메타데이터를 분석한다.
- 활용 예시: 전쟁 징후를 파악하기 위해 특정 국가 대사관의 암호화된 통신 트래픽 양이 급증하는지 감시하거나, 기업의 인수합병 발표 전에 관련 법무법인과의 통신량이 증가하는 것을 탐지하는 등의 정보 활동에 활용될 수 있다.6
- 대응책: 공격자가 실제 통신 패턴을 파악하기 어렵도록, 의미 없는 ‘더미 트래픽(Dummy Traffic)’을 주기적으로 발생시켜 실제 통신과 섞어주는 방법으로 대응할 수 있다.6
악성 소프트웨어, 즉 멀웨어는 그 자체로 공격이라기보다는, 다양한 공격 목표(정보 탈취, 시스템 파괴, 금전 갈취)를 달성하기 위한 핵심적인 도구이자 전달 벡터(Delivery Vector)로 사용된다.
스스로를 복제하거나 사용자를 속여 시스템에 침투하는 전통적인 형태의 악성 코드이다.
- 바이러스 (Virus): 정상적인 프로그램이나 파일에 기생하여, 사용자가 해당 파일을 실행할 때 함께 활성화되어 자기 자신을 다른 파일에 복제하며 감염을 확산시킨다. 확산을 위해 사용자의 실행 행위가 필요하다는 특징이 있다.11
- 웜 (Worm): 바이러스와 달리 사용자 개입 없이도 네트워크를 통해 스스로를 복제하고 전파하는 독립적인 프로그램이다. 운영체제나 애플리케이션의 보안 취약점을 이용하여 한 시스템에서 다른 시스템으로 자동으로 이동하며 감염을 확산시킨다.11
- 트로이 목마 (Trojan Horse): 유용한 프로그램(게임, 유틸리티 등)으로 위장하여 사용자가 직접 설치하도록 유도한다. 스스로 복제하거나 전파하지는 않지만, 일단 실행되면 공격자가 시스템을 원격으로 제어할 수 있는 ‘백도어(Backdoor)’를 설치하거나, 키보드 입력을 가로채는 등 악의적인 기능을 수행한다.5
금전적 이득이나 특정 정보 탈취 등 명확한 목적을 가지고 설계된 현대적인 멀웨어이다.
- 랜섬웨어 (Ransomware): 피해자의 컴퓨터에 있는 파일들을 강력한 알고리즘으로 암호화한 뒤, 이를 풀어주는 대가로 금전(주로 암호화폐)을 요구하는 악성코드이다. 최근에는 단순히 파일을 암호화하는 것을 넘어, 민감한 데이터를 훔쳐낸 뒤 돈을 내지 않으면 공개하겠다고 협박하는 ‘이중 갈취’ 수법이 유행하고 있다.5
- 스파이웨어 (Spyware): 사용자 모르게 컴퓨터에 설치되어 개인정보, 금융정보, 웹사이트 방문 기록, 키보드 입력 등 민감한 정보를 수집하여 공격자에게 전송하는 멀웨어이다.11
- 애드웨어 (Adware): 사용자의 동의 없이 원치 않는 광고를 지속적으로 노출시키는 소프트웨어이다. 일부 애드웨어는 사용자의 인터넷 사용 습관을 추적하는 스파이웨어 기능을 포함하기도 한다.23
- 크립토재킹 (Cryptojacking): 피해자의 컴퓨터 자원(CPU, GPU)을 사용자 몰래 사용하여 암호화폐를 채굴(Mining)하는 공격이다. 시스템 성능 저하와 과열, 전기 요금 증가 등의 피해를 유발한다.5
-
키로거 (Keylogger): 키보드로 입력하는 모든 내용을 기록하여 저장하고, 이를 주기적으로 공격자에게 전송하는 스파이웨어의 일종이다. 아이디, 비밀번호, 신용카드 번호 등 중요한 정보를 탈취하는 데 주로 사용된다.5
- 드라이브 바이 다운로드 (Drive-by Download): 사용자가 악성 스크립트가 삽입된 웹사이트를 방문하는 것만으로도, 아무런 클릭 없이 자동으로 멀웨어가 다운로드 및 설치되는 공격 방식이다. 주로 웹 브라우저나 플러그인의 보안 취약점을 이용한다.5
- 워터링 홀 (Watering Hole) 공격: ‘사자가 물웅덩이(Watering Hole)에 숨어 먹잇감을 기다리는’ 모습에 비유한 공격이다. 공격자는 특정 집단(예: 특정 회사 직원, 특정 정부 부처 공무원)을 목표로 삼고, 이들이 자주 방문하는 합법적인 웹사이트(예: 관련 커뮤니티, 뉴스 사이트)를 미리 해킹하여 악성코드를 심어 놓는다. 목표 대상이 해당 사이트를 방문했을 때 멀웨어에 감염시키는 정교하고 표적화된 공격 기법이다.11
네트워크 공격을 OSI 7계층 또는 TCP/IP 모델의 각 계층별로 분석하는 것은 공격이 발생하는 위치와 원리를 심도 있게 이해하고, 계층별 방어 전략을 수립하는 데 필수적이다. 이는 네트워크 엔지니어와 아키텍트에게 특히 중요한 관점을 제공한다.
이 계층의 공격은 주로 로컬 네트워크(LAN) 내에서 물리적 접근이나 로컬 프로토콜의 취약점을 이용한다.
- 1계층 - 물리 계층 (Physical Layer): 네트워크 통신의 가장 기본적인 물리적 매체를 대상으로 한다. 소프트웨어적 논의에서는 간과되기 쉽지만, 통신의 근간을 이루는 만큼 치명적인 공격이 가능하다.
- 물리적 회선 절단 및 도청 (Wiretapping): 네트워크 케이블을 물리적으로 절단하여 서비스를 마비시키거나, 케이블에 직접 장비를 연결하여 신호를 도청하는 공격이다.28
- 스키밍 (Skimming): ATM이나 카드 리더기에 위조된 장치를 덧씌워 신용카드나 스마트카드의 정보를 물리적으로 복제하는 공격이다.20
- 2계층 - 데이터 링크 계층 (Data Link Layer): 동일한 브로드캐스트 도메인 내에서 노드 간 통신을 관리하는 이더넷, Wi-Fi와 같은 프로토콜을 대상으로 한다.
- MAC 플러딩 (MAC Flooding): 네트워크 스위치의 MAC 주소 테이블을 위조된 MAC 주소 프레임으로 가득 채워 오버플로우시키는 공격이다. MAC 테이블이 가득 차면 스위치는 정상적인 학습 기능을 상실하고 ‘페일 오픈(fail-open)’ 상태가 되어, 들어오는 모든 패킷을 모든 포트로 브로드캐스팅하는 허브(Hub)처럼 동작하게 된다. 이 상태에서는 공격자가 네트워크상의 모든 트래픽을 쉽게 스니핑할 수 있다.20
- MAC 스푸핑 (MAC Spoofing): 공격자가 자신의 네트워크 인터페이스 MAC 주소를 다른 합법적인 장치의 MAC 주소로 위조하는 공격이다. 이를 통해 MAC 주소 기반의 접근 제어(Port Security 등)를 우회하거나, 네트워크상에서 다른 장치로 위장할 수 있다.20
- ARP 스푸핑/포이즈닝 (ARP Spoofing/Poisoning): 2.2.1절에서 설명한 바와 같이, 위조된 ARP 메시지를 통해 로컬 네트워크상의 트래픽을 가로채는 전형적인 2계층 공격으로, 중간자 공격의 발판이 된다.10
- VLAN 호핑 (VLAN Hopping): 공격자가 자신이 속한 VLAN(Virtual LAN)을 벗어나 다른 VLAN의 트래픽에 접근하는 공격이다. 스위치가 트렁크 포트로 동작하도록 속이는 ‘스위치 스푸핑(Switch Spoofing)’이나, 두 개의 VLAN 태그를 프레임에 삽입하여 스위치를 혼란시키는 ‘이중 태깅(Double Tagging)’과 같은 기법이 사용된다.28
- 무선 네트워크 공격 (Wireless Attacks): Wi-Fi, 블루투스 등 무선 통신 프로토콜은 1계층과 2계층에 걸쳐 동작하며 다양한 공격에 노출된다.
- 악성 AP (Rogue Access Point): 인가되지 않은 무선 공유기(AP)를 회사 내부 네트워크에 무단으로 연결하여 보안 정책을 우회하는 백도어를 만드는 행위이다.20
- 이블 트윈 (Evil Twin): 합법적인 Wi-Fi AP를 모방한 가짜 AP를 만들어 사용자의 접속을 유도한 뒤 트래픽을 가로채는 공격이다.12
- Wi-Fi 연결 해제/재밍 (Disassociation/Jamming): 특정 사용자에게 다량의 연결 해제(Deauthentication) 프레임을 보내 강제로 Wi-Fi 접속을 끊거나, 무선 주파수를 방해하여 통신을 마비시키는 DoS 공격이다.20
- 블루투스 공격: ‘검색 가능(Discoverable)’ 모드로 설정된 블루투스 기기를 대상으로 한다. ‘블루재킹(Bluejacking)’은 스팸 메시지를 보내는 것이고, ‘블루스나핑(Bluesnarfing)’은 사용자 몰래 주소록이나 캘린더 같은 데이터를 훔쳐가는 더 심각한 공격이다.20
네트워크 간의 IP 주소 기반 라우팅을 담당하는 3계층에서는 주로 IP 패킷 헤더를 조작하는 공격이 발생한다.
- IP 스푸핑 (IP Spoofing): 대부분의 3계층 공격의 근간이 되는 기술로, 출발지 IP 주소를 위조하는 것이다.29
- ICMP 기반 공격: ICMP(Internet Control Message Protocol)는 네트워크 상태 진단 및 오류 보고에 사용되지만, 공격에 악용될 수 있다.
- 스머프 공격 (Smurf Attack): ICMP Echo Request를 이용한 증폭 DoS 공격.8
- 죽음의 핑 (Ping of Death): 비정상적으로 큰 ICMP 패킷을 이용한 시스템 다운 공격.11
- ICMP 리다이렉트 (ICMP Redirect): 공격자가 위조된 ICMP Redirect 메시지를 피해자에게 보내, 특정 목적지로 가는 트래픽의 경로를 자신의 컴퓨터로 변경시켜 트래픽을 가로채는 공격이다.8
- 핑 스윕 (Ping Sweep): ICMP Echo Request를 특정 IP 대역에 순차적으로 보내 응답 여부를 확인하여, 네트워크 내에 활성화된 호스트 목록을 파악하는 정찰 기법이다.12
- IP 단편화(Fragmentation) 공격:
- 랜드 어택, 티어드롭 공격: 2.1.3절에서 설명한 바와 같이, IP 헤더의 주소 필드나 단편화 관련 필드(Offset, Flags)를 조작하여 시스템에 과부하를 주거나 다운시키는 공격이다.29
- 라우팅 프로토콜 공격: 상대적으로 드물지만, 라우터 간의 경로 정보를 교환하는 라우팅 프로토콜(예: BGP, OSPF)을 공격하여 트래픽 경로를 악의적으로 변경함으로써 정보를 가로채거나 특정 네트워크를 고립(black-holing)시킬 수 있다.32
TCP, UDP와 같이 종단 간(end-to-end) 연결과 데이터 전송의 신뢰성을 관리하는 4계층에서는 세션 관리 및 데이터 흐름 제어의 허점을 노리는 공격이 주를 이룬다.
- 포트 스캐닝 (Port Scanning): 공격 대상 시스템의 어떤 포트(서비스)가 열려 있는지 확인하여 잠재적인 공격 지점을 찾는 정찰 기법이다.
- TCP 연결 스캔 (Connect Scan): 완전한 3-way-handshake를 시도하여 연결이 성공하면 포트가 열린 것으로 판단한다. 가장 확실하지만 로그에 쉽게 남는다.9
- TCP SYN 스캔 (Half-Open Scan): SYN 패킷을 보내고 SYN-ACK 응답을 받으면 포트가 열렸다고 판단한 뒤, 연결을 완료하는 ACK 대신 RST 패킷을 보내 연결을 끊는다. ‘스텔스 스캔(Stealth Scan)’이라고도 불리며, 완전한 연결을 맺지 않아 탐지를 피하려는 시도이다.9
- FIN, Null, X-MAS 스캔: 비정상적인 TCP 플래그(FIN, URG, PSH 등)가 설정된 패킷을 보내고, 그에 대한 응답(또는 무응답)을 통해 포트의 상태를 유추하는 더 은밀한 스캔 기법이다.9
- UDP 스캔: UDP 패킷을 특정 포트로 보낸다. 응답이 없으면 포트가 열려 있거나 방화벽에 의해 차단된 것이고, ‘ICMP Port Unreachable’ 메시지가 돌아오면 포트가 닫힌 것이다.9
- TCP 기반 DoS 공격:
- SYN 플러딩 (SYN Flooding): 4계층 DoS 공격의 대명사로, TCP 연결 자원을 고갈시킨다.8
- RST 플러딩 (RST Flooding): 위조된 TCP Reset(RST) 패킷을 다량으로 전송하여 현재 정상적으로 유지되고 있는 TCP 연결들을 강제로 끊어버리는 공격이다.16
- 세션 하이재킹 (TCP Session Hijacking): 2.2.3절에서 설명한 바와 같이, TCP 통신의 순서 번호(Sequence Number)를 예측하거나 스니핑을 통해 알아내어, 진행 중인 세션을 가로채는 공격이다.9
이 상위 계층들은 특정 애플리케이션의 데이터 형식, 세션 관리, 그리고 사용자 인터페이스를 다루기 때문에, 공격 역시 HTTP, DNS, SQL 등 특정 프로토콜이나 서비스에 종속적인 형태로 나타난다.
- 애플리케이션 계층 DDoS 공격: 2.1.4절에서 상세히 다룬 바와 같이, HTTP 플러드, 슬로로리스 등 네트워크 대역폭이 아닌 애플리케이션 자원을 고갈시키는 공격이다.18
- 웹 애플리케이션 공격: OWASP(Open Web Application Security Project)에서 주기적으로 발표하는 목록에 잘 정리되어 있으며, 현대 네트워크 공격의 가장 큰 비중을 차지한다.
- 인젝션 공격 (Injection): SQL, OS Command, LDAP 등 애플리케이션에 전달되는 사용자 입력값에 악의적인 코드를 삽입하여, 서버의 데이터베이스나 운영체제에서 비인가된 명령을 실행시키는 공격이다.4
- 크로스 사이트 스크립팅 (Cross-Site Scripting, XSS): 공격자가 악성 스크립트를 취약한 웹사이트에 삽입해두면, 다른 사용자가 해당 페이지를 방문했을 때 그 스크립트가 사용자의 웹 브라우저에서 실행되는 공격이다. 이를 통해 사용자의 쿠키나 세션 정보를 탈취하거나, 악성 사이트로 리디렉션 시킬 수 있다.4
- 사이트 간 요청 위조 (Cross-Site Request Forgery, CSRF): 로그인된 사용자가 자신의 의지와는 무관하게, 공격자가 미리 만들어 놓은 악성 요청(예: 비밀번호 변경, 글 삭제)을 특정 웹사이트에 보내도록 강제하는 공격이다.11
- 서버 측 요청 위조 (Server-Side Request Forgery, SSRF): 공격자가 서버를 속여, 서버가 대신 내부 네트워크의 다른 시스템이나 외부의 임의의 리소스로 요청을 보내도록 만드는 공격이다. 이를 통해 방화벽으로 보호된 내부 시스템을 스캔하거나 공격할 수 있다.37
- DNS 관련 공격: DNS 스푸핑/캐시 포이즈닝11 외에도, 대량의 DNS 질의를 보내 DNS 서버 자체를 마비시키는 DNS 쿼리 플러드(DNS Query Flood) 공격이 있다.16
OSI 모델을 통해 공격을 계층별로 분석하는 것은 매우 유용하지만, 각 계층이 완벽하게 독립적으로 동작한다는 단순한 시각에서 벗어나는 것이 중요하다. 실제 공격에서는 ‘계층 간 취약점(Cross-Layer Vulnerability)’을 악용하는 사례가 빈번하게 발생한다.32 예를 들어, 3계층 프로토콜인 ICMP를 이용해 위조된 오류 메시지를 생성함으로써 2계층인 Wi-Fi의 보안 메커니즘을 우회하는 공격이 가능하다.39 이는 방어 체계가 특정 계층에만 고립되어서는 안 되며, 각 계층의 보안 이벤트가 다른 계층에 미치는 영향을 종합적으로 분석하고 연관 지을 수 있는 통합적인 보안 관제(예: SIEM, XDR)가 필수적임을 시사한다. 공격자들은 프로토콜 스택의 ‘틈새’를 노리므로, 방어자 역시 전체 스택을 아우르는 시야를 가져야 한다.
표 1: OSI 계층별 주요 네트워크 공격 분류
| OSI 계층 |
공격 명칭 |
공격 원리 및 설명 |
주요 목표 (CIA) |
대표 사례 및 벡터 |
| 7: 응용 |
HTTP Flooding, Slowloris |
대량의 HTTP 요청 또는 비정상적으로 느린 요청을 통해 웹 서버 자원 고갈 |
가용성 |
웹사이트 서비스 마비, API 기능 장애 9 |
| |
SQL Injection, XSS |
사용자 입력값 검증 부재를 이용, 악성 쿼리나 스크립트를 삽입하여 실행 |
무결성, 기밀성 |
데이터베이스 정보 유출, 사용자 세션 탈취 21 |
| |
DNS Spoofing |
위조된 DNS 응답으로 사용자를 악성 사이트로 유도 |
무결성 |
피싱을 통한 개인정보 탈취 11 |
| 6: 표현 |
SSL/TLS Downgrade Attack |
보안 협상 과정에 개입하여 암호화 수준을 낮추거나 해제 |
기밀성, 무결성 |
암호화된 통신 내용 도청 및 변조 12 |
| 5: 세션 |
Session Hijacking |
인증된 사용자의 세션 ID를 탈취하여 해당 사용자로 위장 |
기밀성, 무결성 |
비인가된 계정 접근 및 기능 사용 9 |
| 4. 전송 |
TCP SYN Flooding |
3-way handshake를 완료하지 않아 서버의 연결 대기 큐를 가득 채움 |
가용성 |
서버의 신규 연결 수용 불능 상태 유발 8 |
| |
Port Scanning |
대상 시스템의 포트를 스캔하여 열려 있는 서비스 및 취약점 파악 |
기밀성 (정찰) |
공격 대상의 사전 정보 수집 9 |
| 3. 네트워크 |
IP Spoofing |
패킷의 출발지 IP 주소를 위조하여 공격자 신원 은폐 또는 타 시스템 위장 |
무결성 |
Smurf, Land Attack 등 다른 공격의 기반 기술 11 |
| |
Smurf Attack, PoD |
ICMP 프로토콜을 악용하여 대량 트래픽을 유발하거나 시스템을 다운시킴 |
가용성 |
네트워크 대역폭 소진, 시스템 마비 11 |
| |
Teardrop Attack |
IP 단편화/재조립 과정의 논리적 오류를 유발하여 시스템 장애 발생 |
가용성 |
운영체제 커널 패닉 유발 8 |
| 2. 데이터 링크 |
ARP Spoofing |
로컬 네트워크에서 MAC 주소를 속여 트래픽을 가로챔 |
기밀성, 무결성 |
로컬 네트워크 내 중간자 공격(MitM) 수행 9 |
| |
MAC Flooding |
스위치의 MAC 주소 테이블을 오버플로우시켜 허브처럼 동작하게 만듦 |
기밀성 |
네트워크 트래픽 스니핑 환경 조성 20 |
| |
VLAN Hopping |
VLAN 간의 논리적 격리를 우회하여 다른 VLAN 트래픽에 접근 |
기밀성 |
인가되지 않은 네트워크 세그먼트 정보 접근 28 |
| 1. 물리 |
Wiretapping, Cable Cutting |
물리적 케이블에 접근하여 신호를 도청하거나 회선을 절단 |
기밀성, 가용성 |
데이터 도청, 물리적 서비스 중단 28 |
네트워크 아키텍처 전반에 걸친 공격을 넘어, 현대 공격의 대부분은 최종 사용자와 직접 상호작용하는 애플리케이션 자체에 집중된다. 이 분야의 위협을 체계적으로 이해하기 위해 산업 표준 프레임워크인 OWASP Top 10을 활용하는 것이 효과적이다.
OWASP(Open Web Application Security Project)는 웹 애플리케이션 보안 분야에서 가장 심각하고 널리 퍼져 있는 10가지 위험을 주기적으로 선정하여 발표한다. 2021년 발표된 목록은 다음과 같다.37
- A01:2021 - 접근 통제 실패 (Broken Access Control): 인증된 사용자가 허용된 권한 범위를 넘어 다른 사용자의 정보에 접근하거나 관리자 기능을 수행할 수 있는 취약점이다. URL이나 파라미터 조작을 통해 다른 사용자의 계정 정보 페이지에 접근하는 것이 대표적인 예이다.37
- A02:2021 - 암호화 실패 (Cryptographic Failures): 개인 식별 정보(PII), 신용카드 번호와 같은 민감한 데이터를 전송하거나 저장할 때 암호화를 사용하지 않거나, 약한 암호화 알고리즘을 사용하여 데이터가 노출되는 경우이다.37
- A03:2021 - 인젝션 (Injection): SQL, NoSQL, OS 명령어, LDAP 등 신뢰할 수 없는 사용자 입력값이 애플리케이션의 명령어 또는 쿼리의 일부로 전송되어 인터프리터에 의해 악의적인 코드로 실행되는 취약점이다. 과거 별도 항목이었던 크로스 사이트 스크립팅(XSS)이 이 항목에 통합되었다.37
- A04:2021 - 안전하지 않은 설계 (Insecure Design): 개발 초기 단계부터 보안을 고려하지 않아 발생하는 설계 및 아키텍처 수준의 근본적인 결함이다. 위협 모델링의 부재가 주된 원인이다.37
- A05:2021 - 보안 설정 오류 (Security Misconfiguration): 불필요한 포트 개방, 기본 계정 및 비밀번호 사용, 과도하게 상세한 오류 메시지 노출 등 보안 설정이 부적절하게 구성된 상태를 의미한다.37
- A06:2021 - 취약하고 오래된 구성 요소 (Vulnerable and Outdated Components): 알려진 보안 취약점이 존재하는 라이브러리, 프레임워크, 플러그인 등 외부 구성 요소를 패치하지 않고 사용하는 경우이다.37
- A07:2021 - 식별 및 인증 실패 (Identification and Authentication Failures): 사용자 식별, 인증, 세션 관리와 관련된 기능이 부적절하게 구현되어 발생하는 취약점이다. 비밀번호 무차별 대입 공격(Brute-force)에 대한 방어 부재, 예측 가능한 세션 ID 사용 등이 포함된다.37
- A08:2021 - 소프트웨어 및 데이터 무결성 실패: 소프트웨어 업데이트, 민감 데이터, CI/CD 파이프라인의 무결성을 검증하지 않아 발생하는 위협이다. 신뢰할 수 없는 소스의 플러그인이나 라이브러리를 무결성 검증 없이 사용하는 것이 대표적이다.37
- A09:2021 - 보안 로깅 및 모니터링 실패 (Security Logging and Monitoring Failures): 공격 발생 시 이를 탐지하고 분석, 대응하는 데 필요한 로그 기록이 불충분하거나, 모니터링 및 경고 시스템이 제대로 갖춰져 있지 않은 경우이다.37
- A10:2021 - 서버 측 요청 위조 (Server-Side Request Forgery, SSRF): 공격자가 취약한 웹 애플리케이션을 강제하여 서버가 의도하지 않은 위치(주로 내부 네트워크)로 요청을 보내도록 만드는 취약점이다.37
현대 애플리케이션 아키텍처가 서버가 직접 HTML을 생성하는 방식에서, 프론트엔드와 백엔드가 API(Application Programming Interface)를 통해 데이터를 주고받는 방식으로 변화함에 따라 API 자체가 핵심적인 공격 표면으로 부상했다. 이에 OWASP는 웹 애플리케이션 Top 10과 별도로 API 보안에 특화된 위험 목록을 발표했다.41
- API1:2023 - 객체 수준 권한 부여 실패 (Broken Object Level Authorization, BOLA): API 엔드포인트가 사용자가 특정 객체(Object)에 접근할 권한이 있는지 제대로 확인하지 않는 취약점이다. 예를 들어,
/api/users/123/info에서 숫자 123을 456으로 바꾸어 다른 사용자의 정보를 조회할 수 있는 경우가 이에 해당한다. API 보안에서 가장 심각하고 흔한 위협이다.41
- API2:2023 - 인증 실패 (Broken Authentication): 인증 메커니즘이 잘못 구현되어 공격자가 인증 토큰을 탈취하거나 위조하여 다른 사용자로 위장할 수 있는 취약점이다.41
- API3:2023 - 객체 속성 수준 권한 부여 실패 (Broken Object Property Level Authorization): API 응답에 민감한 정보(예: 관리자 전용 필드)를 불필요하게 포함하여 노출하거나(Excessive Data Exposure), 사용자가 수정 권한이 없는 객체의 속성을 변경할 수 있도록 허용하는(Mass Assignment) 취약점을 통합한 것이다.42
- API4:2023 - 무제한 리소스 소비 (Unrestricted Resource Consumption): API 요청 횟수나 요청 당 리소스 사용량(메모리, CPU)에 대한 제한(Rate Limiting)이 없어 DoS 공격에 취약한 상태이다.41
- API5:2023 - 기능 수준 권한 부여 실패 (Broken Function Level Authorization): 일반 사용자가 관리자 전용 API 엔드포인트(예:
/api/admin/deleteUser)를 호출할 수 있는 것처럼, 자신의 권한 수준을 넘어서는 기능에 접근할 수 있는 취약점이다.40
- API6:2023 - 민감한 비즈니스 흐름에 대한 무제한 접근 (Unrestricted Access to Sensitive Business Flows): 티켓 예매, 댓글 작성 등 특정 비즈니스 로직을 자동화된 방식으로 과도하게 사용할 경우 발생할 수 있는 비즈니스적 피해를 고려하지 않고 API를 노출하는 위험이다.42
- API7:2023 - 서버 측 요청 위조 (Server Side Request Forgery, SSRF): 웹 애플리케이션과 마찬가지로 API가 외부 리소스를 가져오는 과정에서 사용자 제공 URL을 검증하지 않아 발생하는 취약점이다.42
- API8:2023 - 보안 설정 오류 (Security Misconfiguration): API에 특화된 보안 설정 오류로, 예를 들어 CORS(Cross-Origin Resource Sharing) 정책을 지나치게 허용적으로 설정하여 모든 외부 사이트에서 API를 호출할 수 있도록 하는 경우이다.42
- API9:2023 - 부적절한 인벤토리 관리 (Improper Inventory Management): 운영 중인 모든 API 엔드포인트(특히 오래된 버전이나 개발용/디버그용 엔드포인트)에 대한 목록과 문서가 제대로 관리되지 않아, 방치된 API가 공격 통로로 악용되는 위험이다.41
- API10:2023 - API의 안전하지 않은 소비 (Unsafe Consumption of APIs): 개발자가 제3자(Third-party)가 제공하는 외부 API를 과도하게 신뢰하여, 해당 API로부터 받은 데이터를 충분한 검증 없이 사용하는 경우이다. 공격자는 목표 시스템을 직접 공격하는 대신, 목표 시스템이 연동하는 더 취약한 제3자 API를 공격하여 우회적으로 침투할 수 있다.40
API 보안 목록이 별도로 존재하는 이유는 현대 애플리케이션 아키텍처의 근본적인 변화를 반영한다. 과거의 단일체(Monolithic) 웹 애플리케이션과 달리, 현대의 분산 시스템은 API를 통해 통신한다. 이 구조적 변화는 XSS와 같이 웹 페이지 렌더링과 관련된 전통적인 취약점의 중요도를 상대적으로 낮추는 대신, BOLA나 기능 수준 권한 부여 실패와 같이 API의 데이터 처리 및 접근 제어 로직에 내재된 새로운 유형의 취약점을 부각시켰다. 공격자들은 데이터와 로직이 집중되는 API를 새로운 ‘네트워크 경계’로 인식하고 있으며, 이는 방어 전략 역시 전통적인 웹 페이지 스캐닝을 넘어 API의 논리적 흐름과 권한 부여 체계를 심층적으로 분석할 수 있는 전문적인 API 보안 테스트로 진화해야 함을 의미한다.
네트워크 공격은 개별 기술의 나열을 넘어, 명확한 목표와 장기적인 계획을 가진 조직적인 범죄 활동으로 진화했다. 특히 국가의 지원을 받는 공격 그룹과 전문화된 사이버 범죄 비즈니스 모델은 현대 보안 환경의 가장 큰 위협이다.
APT는 단발성 공격이 아닌, 특정 목표(정부, 군, 기업 등)를 대상으로 장기간에 걸쳐 은밀하게 진행되는 고도로 지능화된 공격 캠페인이다. 공격의 주체는 주로 특정 국가의 후원을 받는 해킹 그룹으로, 막대한 자원과 기술력을 동원하여 정보 탈취, 시스템 파괴, 사회 혼란 야기 등을 목표로 한다.17
APT 공격은 일반적으로 다음과 같은 체계적인 단계를 거쳐 진행된다.
- 정찰 (Reconnaissance): 공격 대상 조직의 구조, 임직원 정보, 사용 중인 시스템, 네트워크 구성, 잠재적 취약점 등 공개된 정보를 통해(OSINT) 목표에 대한 사전 조사를 수행한다.44
- 초기 침투 (Initial Compromise): 정찰을 통해 얻은 정보를 바탕으로 네트워크에 첫 발을 들여놓는다. 스피어 피싱 이메일, 아직 알려지지 않은 제로데이 취약점 공격, 목표가 자주 방문하는 사이트를 감염시키는 워터링 홀 공격, 또는 신뢰할 수 있는 소프트웨어 공급망을 해킹하는 공급망 공격 등 다양한 기법이 사용된다.44
- 거점 확보 및 내부 확산 (Establish Foothold & Lateral Movement): 초기 침투에 성공하면, 외부와 통신할 수 있는 백도어를 설치하여 지속적인 접근 경로를 확보한다. 이후 내부 네트워크를 스캔하여 추가 취약점을 찾고, 권한 상승(Privilege Escalation)을 통해 더 높은 권한을 획득하며, 다른 시스템으로 수평적으로 이동(Lateral Movement)하여 최종 목표(핵심 데이터 서버 등)에 접근한다.15
- 목표 달성 및 데이터 유출 (Achieve Mission & Exfiltration): 최종 목표 시스템에 도달하여 정보를 훔치거나 시스템을 파괴한다. 데이터를 유출할 때는 탐지를 피하기 위해 데이터를 암호화하거나 여러 개의 작은 파일로 분할하고, DNS나 ICMP 프로토콜을 이용한 터널링과 같이 정상적인 트래픽으로 위장하는 은밀한 방법을 사용한다.44
- 라자루스 그룹 (Lazarus Group, 북한): 금융 기관을 대상으로 한 대규모 금전 탈취(2016년 방글라데시 중앙은행 해킹)와 사회적 혼란을 야기하는 파괴적 공격(2014년 소니 픽처스 해킹, 2017년 워너크라이 랜섬웨어 유포)으로 악명이 높다.44
- APT28 (Fancy Bear) & APT29 (Cozy Bear, 러시아): 러시아 정보기관과 연계된 것으로 추정되며, 주로 정치적 목적의 첩보 활동과 서방 국가의 선거 개입을 시도한다. 2016년 미국 민주당 전국위원회(DNC) 해킹, 2020년 솔라윈즈(SolarWinds) 공급망 공격 등이 대표적인 사례이다.44
- APT41 (중국): 국가 차원의 첩보 활동과 공격자 개인의 금전적 이득 추구를 동시에 수행하는 이중적 성격을 가진 그룹이다. 게임 회사를 해킹하여 가상 화폐를 훔치는 동시에, 여러 국가의 정부 기관을 공격하여 정보를 탈취한다.44
- 이퀘이젼 그룹 (Equation Group, 미국): 미국 국가안보국(NSA)과 연계된 것으로 강력하게 추정되는 최고 수준의 기술력을 보유한 그룹이다. 이란 핵시설을 공격한 스턱스넷(Stuxnet) 웜 개발에 관여한 것으로 알려져 있으며, 하드 드라이브 펌웨어를 직접 감염시키는 등 타의 추종을 불허하는 기술력을 보여주었다.44
APT 공격의 가장 중요한 특징은 기술의 ‘지능성(Advanced)’뿐만 아니라, 공격의 ‘지속성(Persistent)’에 있다. 일반적인 랜섬웨어 공격이 단기간에 피해를 입히고 사라지는 ‘치고 빠지기’식이라면, APT는 목표 네트워크 내에서 탐지되지 않고 수개월에서 수년에 걸쳐 잠복하는 것을 목표로 한다. 이러한 위협의 특성은 방어 패러다임의 근본적인 전환을 요구한다. 외부로부터의 침입을 막는 전통적인 경계 기반 보안(Perimeter Security)만으로는 충분하지 않으며, “침해를 가정하는(Assume Breach)” 자세가 필요하다. 즉, 고도로 숙련된 공격자는 언젠가는 내부로 침투할 것이라는 전제 하에, 이미 내부에 들어와 있을지 모를 위협을 찾아내고 신속하게 제거하기 위한 지속적인 내부 모니터링, 위협 헌팅(Threat Hunting), 사고 대응(Incident Response) 역량을 갖추는 것이 현대 보안 운영의 핵심이 된다.44
서비스형 랜섬웨어(Ransomware-as-a-Service, RaaS)는 랜섬웨어 개발자(Operator)가 자신이 만든 악성코드를 다른 공격자(Affiliate)에게 서비스 형태로 제공(대여)하고, 그 대가로 구독료를 받거나 랜섬머니 수익의 일부를 공유하는 사이버 범죄 비즈니스 모델이다.46
RaaS 모델은 사이버 범죄의 분업화와 전문화를 통해 진입 장벽을 크게 낮추었다. 기술력이 부족한 범죄자도 쉽게 랜섬웨어 공격을 감행할 수 있게 된 것이다.46
기술이 발전함에 따라 공격 기법 또한 진화한다. 인공지능, 사물 인터넷 등 새로운 기술은 새로운 공격 표면을 만들어내며, 사이버 위협의 지형을 끊임없이 바꾸고 있다.
인공지능(AI) 기술은 방어뿐만 아니라 공격에도 활발하게 활용되고 있다. 미국 국립표준기술연구소(NIST)는 AI 시스템에 대한 공격을 크게 네 가지로 분류했다.56
- 회피 공격 (Evasion Attacks): AI 모델이 잘못된 판단을 내리도록 입력 데이터를 미묘하게 조작하는 공격이다. 예를 들어, 자율주행차의 카메라가 ‘정지’ 표지판에 특정 스티커를 붙여 ‘속도 제한’ 표지판으로 오인하게 만드는 것이 가능하다.56
- 포이즈닝 공격 (Poisoning Attacks): AI 모델의 학습(Training) 데이터셋에 악의적이거나 편향된 데이터를 몰래 주입하여, 모델의 학습 과정을 오염시키고 향후 잘못된 결정을 내리도록 만드는 공격이다.56
- 프라이버시 공격 (Privacy Attacks): 이미 학습이 완료된 AI 모델을 분석하여, 모델 학습에 사용되었던 민감한 개인정보나 데이터를 역으로 추출해내는 공격이다. 특정 데이터가 학습에 사용되었는지 여부를 알아내는 ‘멤버십 추론(Membership Inference)’ 공격이 대표적이다.56
-
남용 공격 (Abuse Attacks): 챗GPT와 같은 생성형 AI(Generative AI)를 악의적인 목적으로 사용하는 것이다. 매우 설득력 있는 피싱 이메일이나 가짜 뉴스를 대량으로 생성하거나, 악성코드를 작성하고 디버깅하는 데 활용하는 사례가 이미 보고되고 있다.45
- 사물 인터넷 (IoT) 공격: 보안이 취약한 수많은 IoT 기기(웹캠, 스마트 가전 등)는 공격자에게 거대한 공격 표면을 제공한다. 이러한 기기들은 대규모 DDoS 공격을 위한 봇넷으로 쉽게 악용되거나, 기업 내부 네트워크로 침투하기 위한 초기 발판으로 사용된다.5
- 산업 제어 시스템 (ICS/SCADA) 공격: 발전소, 전력망, 공장 등 국가 핵심 기반시설을 제어하는 시스템을 대상으로 하는 공격이다. 성공 시 막대한 물리적, 경제적 피해를 야기할 수 있다. 이란 핵시설을 마비시킨 스턱스넷(Stuxnet)이 가장 유명한 사례이다.3
-
차량 네트워크 (CAN bus) 공격: 현대 자동차의 내부 통신망인 CAN(Controller Area Network) 버스에 악의적인 메시지를 주입하여 차량의 제어(브레이크, 조향 등)를 탈취하는 공격이다. 메시지를 대량으로 보내 통신을 마비시키는 ‘플러딩’, 특정 기능을 수행하는 메시지를 위조하는 ‘스푸핑’, 정상 메시지를 녹화했다가 재전송하는 ‘리플레이’ 공격 등이 있다.58
- 제로데이 공격 (Zero-Day Attack): 소프트웨어 개발사조차 인지하지 못하는 알려지지 않은 보안 취약점을 이용하는 공격이다. 해당 취약점에 대한 공식적인 보안 패치가 존재하지 않는 ‘제로데이(Zero-Day)’ 상태에서 공격이 이루어지기 때문에 방어가 매우 어렵다.4
- 공급망 공격 (Supply Chain Attack): 목표를 직접 공격하는 대신, 목표가 신뢰하고 사용하는 제3의 소프트웨어 공급업체를 먼저 해킹하는 방식이다. 공격자는 소프트웨어 개발사의 네트워크에 침투하여 소스 코드에 악성코드를 삽입하거나, 정상적인 업데이트 서버를 통해 악성코드가 포함된 업데이트 파일을 배포한다. 사용자들은 신뢰하는 업체의 공식적인 업데이트로 위장된 악성코드를 자신도 모르게 설치하게 되어 매우 효과적이고 은밀한 공격 방식이다. 2020년 솔라윈즈(SolarWinds) 공격이 전 세계 수많은 기업과 정부 기관에 피해를 입힌 대표적인 공급망 공격 사례이다.11
본 보고서를 통해 분석한 바와 같이, 컴퓨터 네트워크 공격은 단순한 기술 기법의 목록이 아니라, 동적으로 상호작용하며 끊임없이 진화하는 복잡한 생태계이다. 이 생태계를 관통하는 몇 가지 핵심적인 흐름을 종합하며 결론을 내릴 수 있다.
첫째, 공격자와 방어자 간의 ‘군비 경쟁’은 위협의 진화를 추동하는 핵심 동력이다. 방어자가 네트워크 계층의 대용량 DDoS 공격을 막아내자 공격자들은 정상 트래픽과 구별하기 어려운 애플리케이션 계층으로 공격의 무대를 옮겼다. 이처럼 방어 기술의 발전은 필연적으로 새로운 공격 기법의 등장을 촉발하며, 이 순환은 앞으로도 계속될 것이다.
둘째, 공격의 중심이 네트워크 인프라에서 애플리케이션 및 비즈니스 로직으로 이동하고 있다. 과거의 공격이 프로토콜의 취약점을 파고들었다면, 현대의 정교한 공격은 API의 권한 부여 로직(BOLA)이나 비즈니스 흐름의 허점을 노린다. 이는 방어의 초점 역시 단순한 트래픽 필터링을 넘어, 애플리케이션의 내부 동작과 데이터의 흐름을 이해하는 방향으로 전환되어야 함을 의미한다.
셋째, 사이버 범죄의 전문화와 비즈니스화는 위협의 대중화를 이끌고 있다. RaaS와 같은 서비스 모델은 기술력이 낮은 범죄자들에게도 강력한 공격 도구를 제공하며 전체적인 위협 수준을 상향 평준화시켰다. 초기 접근 브로커, 랜섬웨어 운영자, 제휴사로 이어지는 분업화된 생태계는 사이버 범죄가 더 이상 개인의 일탈이 아닌 하나의 ‘산업’으로 자리 잡았음을 보여준다.
마지막으로, 이러한 위협 환경에 대응하기 위해서는 다층적이고 통합적인 ‘심층 방어(Defense-in-Depth)’와 ‘침해를 가정하는(Assume Breach)’ 방어 철학이 필수적이다. 완벽한 방어는 불가능하며, 고도로 동기 부여된 공격자는 언젠가 경계선을 넘을 수 있다는 전제 하에, 침입을 최대한 지연시키고, 침입 발생 시 이를 신속하게 탐지하여 대응하고, 피해로부터 빠르게 복구하는 ‘사이버 회복탄력성(Cyber Resilience)’을 확보하는 것이 현대 보안 전략의 핵심 목표가 되어야 한다.
결론적으로, 컴퓨터 네트워크 공격의 위협은 정적인 지식의 집합이 아니라, 기술, 경제, 지정학적 요인이 복합적으로 작용하는 유기적인 현상이다. 따라서 효과적인 방어는 개별 공격 기법에 대한 대응을 넘어, 이러한 위협 환경의 근본적인 동학과 진화 방향을 지속적으로 분석하고 예측하며, 이에 맞춰 유연하고 심층적인 방어 체계를 구축해 나가는 끊임없는 과정 속에서만 달성될 수 있다. 우리의 디지털 사회가 더욱 깊이 연결될수록 이 보이지 않는 전쟁의 중요성은 더욱 커질 것이다.