본문 바로가기
정보처리기사

[용어] 소프트웨어 보안: 공격측면

by wildOjisan 2025. 6. 1.

1SYN 플러딩 (SYN Flooding)

  • 핵심 키워드: TCP 3-way 핸드셰이크, Half-open 연결, 자원 고갈
  • 해설:
    TCP 연결은 클라이언트가 SYN 패킷을 보내고, 서버가 SYN-ACK로 응답한 후, 클라이언트가 ACK를 보내는 3-way 핸드셰이크 과정을 통해 이루어집니다. SYN 플러딩은 공격자가 SYN 패킷만 보내고 ACK를 보내지 않아, 서버가 Half-open 상태로 연결을 대기하게 만듭니다. 이러한 미완성 연결이 많아지면 서버의 자원이 고갈되어 정상적인 서비스 제공이 어려워집니다.

UDP 플러딩 (UDP Flooding)

  • 핵심 키워드: UDP, 무연결성, 포트 확인, 자원 소모
  • 해설:
    UDP는 연결을 설정하지 않고 데이터를 전송하는 무연결성 프로토콜입니다. 공격자는 대상 서버의 무작위 포트로 대량의 UDP 패킷을 보내고, 서버는 해당 포트에 서비스가 있는지 확인하고, 없으면 ICMP 포트 도달 불가 메시지를 반환합니다. 이 과정이 반복되면 서버의 자원이 소모되어 정상적인 요청을 처리하지 못하게 됩니다.

스머프 공격 (Smurf Attack)

  • 핵심 키워드: ICMP, 브로드캐스트, IP 스푸핑, 트래픽 증폭
  • 해설:
    공격자는 출발지 IP를 피해자의 IP로 스푸핑한 ICMP Echo Request를 네트워크의 브로드캐스트 주소로 보냅니다. 이로 인해 네트워크의 모든 장비가 피해자의 IP로 ICMP Echo Reply를 보내게 되어, 피해자는 대량의 응답 트래픽에 의해 서비스 장애를 겪게 됩니다.

죽음의 핑 (Ping of Death)

  • 핵심 키워드: ICMP, 패킷 조각화, 버퍼 오버플로우, 시스템 크래시
  • 해설:
    Ping 명령은 ICMP를 사용하여 대상 시스템의 응답을 확인합니다. 공격자는 최대 허용 크기(65,535바이트)를 초과하는 비정상적인 ICMP 패킷을 조각화하여 전송하고, 대상 시스템이 이를 재조립하는 과정에서 버퍼 오버플로우가 발생하여 시스템이 크래시되거나 재부팅됩니다. 이러한 공격은 주로 오래된 시스템에서 효과적입니다. 

랜드 어택 (Land Attack)

  • 핵심 키워드: TCP SYN, 출발지=목적지, 무한 루프, 시스템 다운
  • 해설:
    공격자는 출발지와 목적지 IP 주소 및 포트를 동일하게 설정한 TCP SYN 패킷을 대상 시스템에 보냅니다. 시스템은 자신에게 연결 요청을 보내는 것으로 인식하고 응답을 시도하지만, 응답 대상이 자기 자신이므로 무한 루프에 빠져 자원이 고갈되고, 결국 시스템이 다운됩니다. 

 

티어드롭 공격 (Teardrop Attack)

  • 핵심 키워드: IP 조각화, 오버랩, 시스템 크래시, DoS
  • 해설:
    공격자는 오버랩되는 IP 조각화 패킷을 전송하여, 대상 시스템이 이를 재조립하는 과정에서 오류가 발생하게 만듭니다. 이로 인해 시스템이 크래시되거나 다운되는 서비스 거부(DoS) 공격입니다. 주로 오래된 운영체제에서 취약점이 존재합니다.

봉크 / 보잉크 공격 (Bonk / Boink Attack)

  • 핵심 키워드: IP 조각화, Fragment Offset, 시스템 다운, DoS
  • 해설:
    이 공격은 IP 조각화의 Fragment Offset 필드를 조작하여, 시스템이 비정상적인 방식으로 패킷을 재조립하게 만듭니다. 이로 인해 시스템이 크래시되거나 다운되는 서비스 거부(DoS) 공격입니다. 주로 Windows 95, NT 등의 오래된 운영체제에서 취약점이 존재합니다.

DDoS 공격 (Distributed Denial of Service)

  • 핵심 키워드: 분산, 트래픽 폭주, 서비스 마비, 봇넷
  • 해설:
    분산 서비스 거부(DDoS) 공격은 여러 대의 컴퓨터(봇넷)를 이용하여, 대상 서버나 네트워크에 대량의 트래픽을 유발시켜 정상적인 서비스를 방해하는 공격입니다. 이로 인해 웹사이트가 느려지거나 접속이 불가능해집니다.

스피어 피싱 (Spear Phishing)

  • 핵심 키워드: 맞춤형, 사회공학, 정보 탈취, 이메일 사기
  • 해설:
    스피어 피싱은 특정 개인이나 조직을 대상으로 하는 맞춤형 피싱 공격입니다. 공격자는 피해자의 정보를 사전에 수집하여, 신뢰할 수 있는 발신자인 것처럼 가장한 이메일을 보내어, 악성 링크 클릭이나 첨부파일 실행을 유도합니다. 이를 통해 로그인 정보나 금융 정보를 탈취합니다.

스미싱 (Smishing)

  • 핵심 키워드: SMS, 피싱, 개인정보 탈취, 모바일 사기
  • 해설:
    스미싱은 SMS(문자 메시지)를 이용한 피싱 공격으로, 사용자에게 신뢰할 수 있는 기관(예: 은행, 택배사)에서 보낸 것처럼 가장한 메시지를 보내어, 악성 링크 클릭이나 개인정보 입력을 유도합니다. 이를 통해 금융 정보나 개인 정보를 탈취합니다. 최근에는 도로 통행료 미납 통지 등을 가장한 스미싱 사례가 증가하고 있습니다. 

 

큐싱 (Qshing)

  • 핵심 키워드: QR코드, 피싱, 악성 링크, 개인정보 탈취
  • 해설:
    **큐싱(Qshing)**은 **QR코드(Quick Response Code)**와 **피싱(Phishing)**의 합성어로, 악의적인 QR코드를 통해 사용자를 피싱 사이트로 유도하는 공격입니다. 사용자가 QR코드를 스캔하면, 악성 웹사이트로 연결되어 개인정보 입력을 유도하거나 악성 앱을 설치하게 만듭니다. 공공장소나 전단지 등에 QR코드를 위조하여 배포하는 방식이 일반적입니다.

봇넷 (Botnet)

  • 핵심 키워드: 좀비 PC, C&C 서버, 분산 공격, DDoS
  • 해설:
    **봇넷(Botnet)**은 악성코드에 감염된 다수의 컴퓨터(좀비 PC)를 네트워크로 연결하여, 중앙의 C&C(Command and Control) 서버에서 명령을 내려 동작하는 구조입니다. 공격자는 봇넷을 이용해 DDoS(Distributed Denial of Service) 공격, 스팸 메일 발송, 정보 탈취 등의 악의적인 행위를 수행합니다.

APT 공격 (Advanced Persistent Threat Attack)

  • 핵심 키워드: 지능형, 지속적, 표적 공격, 정보 유출
  • 해설:
    APT(Advanced Persistent Threat) 공격은 특정 조직이나 국가를 대상으로, 장기간에 걸쳐 지속적이고 정교하게 이루어지는 사이버 공격입니다. 공격자는 사회공학 기법, 제로데이 취약점 등을 이용하여 시스템에 침투한 후, 오랜 시간 동안 내부에 머무르며 정보를 수집하고 유출합니다. 이러한 공격은 탐지가 어려워 피해 규모가 클 수 있습니다.

공급망 공격 (Supply Chain Attack)

  • 핵심 키워드: 서드파티, 소프트웨어 업데이트, 악성 코드, 신뢰 관계
  • 해설:
    **공급망 공격(Supply Chain Attack)**은 신뢰할 수 있는 외부 공급업체나 파트너의 시스템을 침투하여, 이를 통해 최종 목표인 조직의 시스템에 접근하는 공격입니다. 예를 들어, 소프트웨어 개발사의 업데이트 서버를 해킹하여 악성 코드를 포함한 업데이트를 배포하면, 이를 설치한 사용자 시스템이 감염됩니다. 이러한 공격은 탐지가 어려우며, 광범위한 피해를 초래할 수 있습니다. 

제로데이 공격 (Zero-Day Attack)

  • 핵심 키워드: 미공개 취약점, 보안 패치 없음, 긴급 대응, 악용
  • 해설:
    **제로데이 공격(Zero-Day Attack)**은 소프트웨어나 시스템의 미공개 취약점을 이용한 공격으로, 해당 취약점에 대한 보안 패치가 아직 제공되지 않은 상태에서 이루어집니다. 공격자는 이를 악용하여 시스템에 침투하거나 악성 코드를 실행시킵니다. 이러한 공격은 방어가 어려워, 보안업체와 개발자의 신속한 대응이 필요합니다. 

 

웜 (Worm)

  • 핵심 키워드: 자기 복제, 자동 전파, 네트워크 감염, 백도어 설치
  • 해설:
    **웜(Worm)**은 사용자 개입 없이 스스로 복제되어 네트워크를 통해 확산되는 악성코드입니다. 보안 취약점을 이용하여 시스템에 침투하고, 감염된 시스템을 통해 다른 시스템으로 전파됩니다. 일부 웜은 백도어를 설치하여 외부에서 시스템을 제어할 수 있게 하며, 네트워크 트래픽을 증가시켜 서비스 장애를 유발할 수 있습니다.

악성 봇 (Malicious Bot)

  • 핵심 키워드: 자동화, 데이터 수집, DDoS, 봇넷
  • 해설:
    **악성 봇(Malicious Bot)**은 자동화된 프로그램으로, 웹사이트 스캔, 데이터 수집, 스팸 발송, DDoS 공격 등 다양한 악의적인 활동을 수행합니다. 이러한 봇들이 모여 **봇넷(Botnet)**을 형성하며, 공격자는 이를 통해 대규모 공격을 실행할 수 있습니다.

사이버 킬체인 (Cyber Kill Chain)

  • 핵심 키워드: 공격 단계, 탐지, 차단, 보안 프레임워크
  • 해설:
    **사이버 킬체인(Cyber Kill Chain)**은 사이버 공격을 단계별로 분석하여 방어 전략을 수립하는 보안 프레임워크입니다. 공격은 일반적으로 다음과 같은 7단계로 진행됩니다:
    1. 정찰(Reconnaissance)
    2. 무기화(Weaponization)
    3. 전달(Delivery)
    4. 취약점 악용(Exploitation)
    5. 설치(Installation)
    6. 명령 및 제어(Command and Control)
    7. 목표 달성(Actions on Objectives)
    이 모델을 통해 각 단계에서 적절한 보안 조치를 취하여 공격을 조기에 탐지하고 차단할 수 있습니다.

4. 랜섬웨어 (Ransomware)

  • 핵심 키워드: 데이터 암호화, 몸값 요구, 시스템 잠금, 금전적 피해
  • 해설:
    **랜섬웨어(Ransomware)**는 사용자의 파일이나 시스템을 암호화하여 접근을 차단하고, 이를 해제하는 대가로 금전을 요구하는 악성코드입니다. 주로 이메일 첨부파일, 악성 링크 등을 통해 유포되며, 피해자는 중요한 데이터에 접근할 수 없게 되어 업무에 큰 지장을 받습니다.

5. 스니핑 (Sniffing)

  • 핵심 키워드: 패킷 캡처, 데이터 도청, 비인가 접근, 정보 탈취
  • 해설:
    **스니핑(Sniffing)**은 네트워크를 통해 전송되는 데이터를 가로채어 내용을 엿보는 공격 기법입니다. 공격자는 **패킷 스니퍼(Packet Sniffer)**라는 도구를 사용하여 네트워크 트래픽을 감시하고, 로그인 정보, 금융 정보 등 민감한 데이터를 탈취할 수 있습니다. 암호화되지 않은 통신이 주요 공격 대상이 됩니다.

 

네트워크 스니퍼 (Network Sniffer)

  • 핵심 키워드: 패킷 캡처, 프로토콜 분석, 트래픽 모니터링, 보안 취약점 탐지
  • 해설:
    네트워크 스니퍼는 네트워크를 통해 전송되는 데이터를 실시간으로 감시하고 분석하는 도구입니다. 이 도구는 네트워크 상의 모든 패킷을 캡처하여, 데이터 흐름, 사용된 프로토콜, 송수신 장치 등의 정보를 분석할 수 있습니다. 네트워크 관리자들은 이를 통해 트래픽 병목 현상을 파악하거나 보안 취약점을 탐지할 수 있습니다. 그러나 악의적인 사용자는 스니퍼를 이용하여 민감한 정보를 탈취할 수 있으므로, 보안에 주의가 필요합니다.

패스워드 크래킹 (Password Cracking)

  • 핵심 키워드: 암호 해독, 무차별 대입, 사전 공격, 하이브리드 공격
  • 해설:
    패스워드 크래킹은 암호화된 패스워드를 해독하여 시스템에 무단 접근하는 기법입니다. 주요 방법으로는 무차별 대입 공격, 사전 공격, 하이브리드 공격 등이 있으며, 각 방법은 다음과 같습니다:
    • 무차별 대입 공격 (Brute Force Cracking):
      가능한 모든 문자 조합을 시도하여 패스워드를 찾아내는 방식입니다. 패스워드 길이가 길수록 시간이 오래 걸리며, 보안성이 높아집니다.
    • 사전 공격 (Dictionary Cracking):
      일반적으로 자주 사용되는 단어 목록(사전)을 이용하여 패스워드를 추측하는 방식입니다. 사용자가 일반적인 단어를 패스워드로 사용할 경우 쉽게 해독될 수 있습니다.
    • 하이브리드 공격 (Password Hybrid Attack):
      사전 공격과 무차별 대입 공격을 결합한 방식으로, 사전의 단어에 숫자나 특수문자를 조합하여 다양한 패스워드 조합을 시도합니다. 이 방법은 사용자가 단어에 숫자를 추가하는 등의 습관을 이용하여 패스워드를 해독합니다.

 

레인보우 테이블 공격 (Rainbow Table Attack)

  • 핵심 키워드: 해시 역산, 사전 계산, 암호 해독, 솔트(Salt)
  • 해설:
    레인보우 테이블 공격은 미리 계산된 해시 값과 원래의 평문(패스워드)을 매핑한 테이블을 이용하여, 해시된 패스워드를 빠르게 역산하는 공격 기법입니다. 공격자는 해시된 패스워드를 레인보우 테이블에서 검색하여 일치하는 평문을 찾아냅니다. 이러한 공격을 방지하기 위해서는 패스워드에 **솔트(Salt)**를 추가하여 해시 값을 고유하게 만드는 것이 효과적입니다.

IP 스푸핑 (IP Spoofing)

  • 핵심 키워드: 출발지 IP 위조, 신뢰 관계 악용, DDoS, 식별 은폐
  • 해설:
    IP 스푸핑은 IP 패킷의 출발지 주소를 위조하여, 공격자가 신뢰할 수 있는 시스템인 것처럼 가장하는 공격 기법입니다. 이를 통해 인증을 우회하거나, DDoS 공격 시 출발지를 숨겨 추적을 어렵게 만듭니다. 이러한 공격을 방지하기 위해서는 패킷 필터링 및 인증 강화가 필요합니다.

ARP 스푸핑 (ARP Spoofing)

  • 핵심 키워드: MAC 주소 위조, 중간자 공격, 세션 하이재킹, 로컬 네트워크
  • 해설:
    ARP 스푸핑은 공격자가 로컬 네트워크에서 자신의 MAC 주소를 다른 호스트의 IP 주소와 연결되도록 ARP 메시지를 위조하여 전송하는 공격입니다. 이를 통해 공격자는 네트워크 상의 데이터를 가로채거나 조작할 수 있습니다. ARP 스푸핑을 방지하려면 정적 ARP 테이블 설정이나 ARP 감시 도구를 사용하는 것이 효과적입니다. 위키백과

ICMP Redirect 공격 (ICMP Redirect Attack)

  • 핵심 키워드: 라우팅 테이블 조작, 가짜 ICMP 메시지, 트래픽 리디렉션, 중간자 공격
  • 해설:
    ICMP Redirect 공격은 공격자가 가짜 ICMP Redirect 메시지를 전송하여 대상 호스트의 라우팅 테이블을 조작하는 공격입니다. 이로 인해 트래픽이 공격자가 지정한 경로로 전달되어, 중간자 공격이나 트래픽 감시가 가능해집니다. 이러한 공격을 방지하기 위해서는 ICMP Redirect 메시지를 차단하거나, 라우팅 테이블의 변경을 제한하는 보안 설정이 필요합니다.

트로이 목마 (Trojan Horse)

  • 핵심 키워드: 위장된 악성코드, 사용자 기만, 백도어 설치, 정보 탈취
  • 해설:
    트로이 목마는 정상적인 프로그램이나 파일로 위장하여 사용자가 실행하도록 유도하는 악성코드입니다. 사용자가 실행하면 백도어 설치, 정보 탈취, 시스템 손상 등의 악의적인 행위를 수행합니다. 트로이 목마를 방지하기 위해서는 신뢰할 수 없는 소프트웨어나 첨부파일을 실행하지 않고, 최신 보안 업데이트를 유지하는 것이 중요합니다.

 

중간자 공격 (Man-in-the-Middle, MITM)

  • 핵심 키워드: 통신 가로채기, 도청, 세션 탈취, 데이터 변조
  • 해설:
    **중간자 공격(MITM)**은 공격자가 사용자와 서버 간의 통신을 가로채어 데이터를 도청하거나 변조하는 공격입니다. 예를 들어, 공격자가 공용 Wi-Fi를 통해 사용자의 로그인 정보를 탈취할 수 있습니다. 이를 방지하려면 SSL/TLS 암호화와 VPN 사용이 효과적입니다. strongdm.com

SQL 인젝션 (SQL Injection)

  • 핵심 키워드: 쿼리 조작, 데이터베이스 접근, 입력값 검증 부족
  • 해설:
    SQL 인젝션은 웹 애플리케이션의 입력값을 통해 악의적인 SQL 코드를 삽입하여 데이터베이스를 조작하는 공격입니다. 예를 들어, 로그인 폼에 ' OR '1'='1과 같은 입력을 통해 인증을 우회할 수 있습니다. 이를 방지하려면 입력값 검증과 준비된 문장(Prepared Statements)을 사용하는 것이 중요합니다.

크로스 사이트 스크립팅 (XSS, Cross-Site Scripting)

  • 핵심 키워드: 스크립트 삽입, 세션 탈취, 입력값 필터링 부족
  • 해설:
    XSS는 공격자가 악성 스크립트를 웹 페이지에 삽입하여, 사용자의 브라우저에서 실행되도록 하는 공격입니다. 이를 통해 세션 쿠키를 탈취하거나 피싱 페이지로 유도할 수 있습니다. 입력값을 적절히 필터링하고 출력 시 이스케이프 처리를 통해 방지할 수 있습니다.

크로스 사이트 요청 위조 (CSRF, Cross-Site Request Forgery)

  • 핵심 키워드: 사용자 권한 악용, 의도치 않은 요청, 인증된 세션
  • 해설:
    CSRF는 사용자가 인증된 상태에서 공격자가 의도한 요청을 자동으로 수행하게 만드는 공격입니다. 예를 들어, 사용자가 로그인된 상태에서 악성 링크를 클릭하면, 공격자가 의도한 계좌 이체가 실행될 수 있습니다. 이를 방지하려면 CSRF 토큰을 사용하고, 중요한 요청에 대해 추가 인증을 요구하는 것이 효과적입니다.

디렉토리 트래버설 (Directory Traversal)

  • 핵심 키워드: 파일 시스템 접근, ../, 입력값 검증 부족
  • 해설:
    디렉토리 트래버설은 웹 애플리케이션의 입력값을 조작하여, 서버의 제한된 디렉토리 외부의 파일에 접근하는 공격입니다. 예를 들어, ../../etc/passwd와 같은 입력을 통해 시스템 파일에 접근할 수 있습니다. 이를 방지하려면 입력값을 철저히 검증하고, 파일 경로를 하드코딩하거나 화이트리스트를 사용하는 것이 중요합니다.

 

파일 업로드 공격 (File Upload Attack)

  • 핵심 키워드: 악성 파일 업로드, 입력값 검증 부족, 원격 코드 실행, 웹쉘
  • 해설:
    웹 애플리케이션이 사용자로부터 파일을 업로드받을 때, 파일의 확장자, 크기, 내용 등을 제대로 검증하지 않으면 공격자가 악성 스크립트나 실행 파일을 업로드할 수 있습니다. 이러한 파일이 서버에서 실행되면 시스템이 침해될 수 있습니다. 예를 들어, 이미지 업로드 기능을 통해 .php 파일을 업로드하고 이를 실행하여 서버 제어권을 획득하는 경우가 있습니다. 이를 방지하려면 업로드 가능한 파일의 확장자와 MIME 타입을 제한하고, 업로드된 파일의 내용을 검사하며, 실행 권한을 제한해야 합니다. 

오픈 리다이렉트 (Open Redirect)

  • 핵심 키워드: URL 리디렉션, 입력값 검증 부족, 피싱, 사회공학
  • 해설:
    웹 애플리케이션이 사용자 입력을 기반으로 리디렉션을 수행할 때, 입력값을 제대로 검증하지 않으면 공격자가 악성 사이트로의 리디렉션을 유도할 수 있습니다. 예를 들어, 사용자를 example.com으로 리디렉션하는 기능이 있을 때, 공격자가 이를 malicious.com으로 변경하여 피싱 사이트로 유도할 수 있습니다. 이를 방지하려면 리디렉션 대상 URL을 화이트리스트로 관리하거나, 사용자 입력을 철저히 검증해야 합니다.

인젝션 (Injection)

  • 핵심 키워드: 입력값 조작, 쿼리 변조, 명령어 삽입, 데이터베이스 침해
  • 해설:
    인젝션 공격은 애플리케이션이 사용자 입력을 적절히 검증하지 않고 시스템 명령어나 쿼리에 포함시킬 때 발생합니다. 공격자는 악의적인 코드를 삽입하여 데이터베이스를 조작하거나 시스템 명령을 실행할 수 있습니다. 대표적인 예로 SQL 인젝션이 있으며, 이를 방지하려면 입력값을 철저히 검증하고, 쿼리 작성 시 파라미터화된 문장을 사용하는 것이 중요합니다. 

서버 측 요청 위조 (SSRF, Server-Side Request Forgery)

  • 핵심 키워드: 서버 요청 조작, 내부 시스템 접근, 메타데이터 노출, 방화벽 우회
  • 해설:
    SSRF 공격은 공격자가 서버를 통해 내부 또는 외부의 다른 시스템에 요청을 보내도록 유도하는 공격입니다. 예를 들어, 이미지 URL을 입력받아 서버가 해당 이미지를 다운로드하는 기능이 있을 때, 공격자가 내부 시스템의 주소를 입력하여 민감한 정보를 획득할 수 있습니다. 이를 방지하려면 외부 요청을 제한하고, 입력된 URL을 철저히 검증해야 합니다.

인증 우회 (Authentication Bypass)

  • 핵심 키워드: 인증 절차 우회, 세션 탈취, 취약한 인증 로직, 권한 상승
  • 해설:
    인증 우회 공격은 애플리케이션의 인증 메커니즘을 우회하여 비인가 사용자가 시스템에 접근하는 공격입니다. 예를 들어, 로그인 절차를 우회하여 관리자 페이지에 접근하거나, 세션 쿠키를 탈취하여 다른 사용자로 가장할 수 있습니다. 이를 방지하려면 인증 로직을 견고하게 설계하고, 세션 관리를 철저히 하며, 입력값 검증을 강화해야 합니다.