보안 공격 방법은 다양한 방식으로 이루어질 수 있으며, 이를 카테고리별로 나누면 더 이해하기 쉽습니다. 주요 공격 방법을 크게 네트워크 기반, 소프트웨어 기반, 사회 공학, 암호화 공격 등으로 분류할 수 있습니다.
1. 네트워크 기반 공격
네트워크를 통해 이루어지는 공격입니다.
- DoS/DDoS (서비스 거부 공격): 대량의 트래픽을 보내 서버나 네트워크를 과부하시키는 공격입니다. DDoS는 여러 시스템이 동시에 공격을 수행합니다.
- 목적: 서비스를 마비시키거나 느리게 만듭니다.
- MITM (중간자 공격, Man-in-the-Middle Attack): 두 통신 주체 사이에 공격자가 중간에 끼어들어 데이터를 훔치거나 변조하는 공격입니다.
- 목적: 통신 내용 가로채기, 데이터 변조.
- 스니핑 (Sniffing): 네트워크를 통해 전달되는 데이터를 도청하는 공격입니다. 공격자는 민감한 정보를 캡처할 수 있습니다.
- 목적: 로그인 정보, 신용카드 정보 등의 민감한 데이터 획득.
- 세션 하이재킹 (Session Hijacking): 사용자의 세션 ID를 탈취하여 공격자가 그 사용자의 권한으로 시스템에 접근하는 공격입니다.
- 목적: 사용자로 가장하여 시스템에 접근.
2. 소프트웨어 기반 공격
소프트웨어의 취약점을 이용하는 공격입니다.
- 버퍼 오버플로우 (Buffer Overflow): 프로그램이 처리할 수 있는 크기보다 더 큰 데이터를 입력하여 메모리 영역을 덮어씌우는 공격입니다.
- 목적: 시스템의 권한을 탈취하거나 프로그램을 중단시킵니다.
- SQL 인젝션 (SQL Injection): 웹 애플리케이션에서 사용자 입력을 통해 SQL 쿼리에 악성 코드를 삽입하여 데이터베이스에 대한 비정상적인 접근을 시도하는 공격입니다.
- 목적: 데이터베이스를 조작하거나 민감한 정보를 탈취합니다.
- 크로스 사이트 스크립팅 (XSS, Cross-Site Scripting): 웹 페이지에 악성 스크립트를 삽입하여 사용자 브라우저에서 악성 코드를 실행하는 공격입니다.
- 목적: 사용자의 세션 탈취, 악성 코드 실행.
- 크로스 사이트 요청 위조 (CSRF, Cross-Site Request Forgery): 사용자가 모르게 악성 웹 사이트가 서버로 악의적인 요청을 보내도록 유도하는 공격입니다.
- 목적: 사용자의 권한으로 서버에 명령을 실행.
3. 사회 공학적 공격 (Social Engineering)
사용자의 심리를 이용한 공격입니다.
- 피싱 (Phishing): 신뢰할 수 있는 기관을 사칭한 이메일이나 메시지로 사용자의 민감한 정보를 요구하는 공격입니다.
- 목적: 계정 정보, 신용카드 정보, 비밀번호 등 탈취.
- 스피어 피싱 (Spear Phishing): 특정 개인이나 조직을 목표로 하는 피싱 공격입니다. 피싱보다 더 정교하며, 목표 대상에게 특화된 정보를 사용합니다.
- 목적: 특정 목표의 민감한 정보 탈취.
- 베이팅 (Baiting): 공격자가 악성 코드를 심은 USB나 파일을 미끼로 제공해 사용자가 이를 다운로드하거나 실행하도록 유도하는 공격입니다.
- 목적: 시스템에 악성 코드 감염.
- 프리텍스팅 (Pretexting): 공격자가 거짓 신뢰를 바탕으로 사용자의 민감한 정보를 요청하는 공격입니다. 예를 들어, 은행 직원이나 기술 지원 담당자로 가장해 정보를 요구합니다.
- 목적: 개인정보, 보안 인증 정보 탈취.
4. 암호화 공격 (Cryptographic Attacks)
암호화 시스템을 공격하여 데이터를 탈취하거나 무력화시키는 공격입니다.
- 브루트 포스 공격 (Brute Force Attack): 가능한 모든 비밀번호나 암호화 키를 무작위로 대입하여 암호를 푸는 방법입니다.
- 목적: 암호화된 데이터를 복호화하거나 비밀번호 탈취.
- 사전 공격 (Dictionary Attack): 브루트 포스 공격의 변형으로, 일반적으로 사용되는 비밀번호나 키를 미리 저장해 둔 사전(리스트)을 기반으로 암호를 푸는 공격입니다.
- 목적: 비밀번호나 암호화 키 탈취.
- 중간자 공격 (MITM) - 암호화 통신: 암호화된 통신 세션에서 중간에 끼어들어 암호화 데이터를 가로채거나 변경하는 공격입니다.
- 목적: 암호화된 통신 내용 탈취.
- 재전송 공격 (Replay Attack): 암호화된 통신에서 데이터를 가로채고, 이를 다시 서버로 재전송하여 권한을 획득하거나 세션을 탈취하는 공격입니다.
- 목적: 세션 가로채기, 재전송으로 인증 우회.
5. 악성 소프트웨어 (Malware)
악의적인 소프트웨어를 이용한 공격입니다.
- 바이러스 (Virus): 스스로 복제하여 다른 프로그램이나 파일에 전파되는 악성 소프트웨어입니다.
- 목적: 시스템을 손상시키거나 데이터를 훔침.
- 웜 (Worm): 네트워크를 통해 스스로 전파되는 악성 프로그램입니다. 네트워크를 과부하 시키거나 시스템을 감염시킵니다.
- 목적: 네트워크에 대규모 손상.
- 트로이 목마 (Trojan Horse): 정상적인 프로그램으로 위장하여 시스템에 침투한 후, 악성 행위를 수행합니다.
- 목적: 백도어 설치, 민감한 정보 탈취.
- 랜섬웨어 (Ransomware): 시스템이나 데이터를 암호화한 후, 이를 복구하기 위해 금전을 요구하는 악성 소프트웨어입니다.
- 목적: 금전 요구, 데이터 인질.
6. 하드웨어 기반 공격
하드웨어 자체를 공격하거나 물리적인 접근을 통해 보안 시스템을 무력화하는 방식입니다.
- 사이드 채널 공격 (Side-Channel Attack): 암호화 알고리즘을 직접 공격하지 않고, 하드웨어의 전력 소비, 전자기 방출, 처리 시간 등의 정보를 분석하여 암호화 키를 추출하는 공격입니다.
- 목적: 암호화된 데이터를 풀거나 시스템을 무력화.
- 키로거 (Keylogger): 키보드 입력을 기록하여 사용자의 비밀번호나 기타 민감한 정보를 탈취하는 하드웨어 장치 또는 소프트웨어입니다.
- 목적: 사용자의 입력 정보 탈취.
7. 물리적 공격
물리적으로 장치에 접근해 공격을 수행하는 방식입니다.
- 하드웨어 도난: 노트북, 서버, 저장장치 등을 도난하여 데이터에 접근하는 방식입니다.
- 목적: 하드웨어 내 저장된 데이터 탈취.
- 악성 USB 공격: 감염된 USB를 사용자가 컴퓨터에 연결하여 악성 소프트웨어를 설치하거나, 시스템에 백도어를 열어놓는 공격입니다.
- 목적: 시스템에 악성 코드 설치.
공격 기법을 자세히 보면, 비슷해 보이는 공격 방법도 OSI 7계층의 각각 다른 부분을 타게팅하고 있음을 알 수 있습니다.
2계층 (데이터 링크 계층)
데이터 링크 계층은 물리적인 연결과 프레임 전송을 담당하며, 이 계층에서 가능한 공격들은 주로 MAC 주소나 프레임 처리와 관련된 공격입니다.
- MAC 스푸핑 (MAC Spoofing)
- 공격자가 자신의 MAC 주소를 다른 장치의 MAC 주소로 위조하여 네트워크 상에서 신뢰받는 장치처럼 속이는 공격.
- ARP 스푸핑 (ARP Spoofing)
- ARP 프로토콜의 취약점을 악용해 네트워크 상의 다른 장치로 가짜 ARP 메시지를 보내, 공격자의 MAC 주소를 다른 IP 주소와 연결시키는 공격.
- 스위치 플러딩 (Switch Flooding)
- 스위칭 허브의 **MAC 주소 테이블(CAM 테이블)**을 가득 채워 스위치가 허브처럼 동작하게 만든 후, 모든 트래픽을 브로드캐스트하여 공격자가 트래픽을 감청하는 공격.
- ARP 캐시 포이즈닝 (ARP Cache Poisoning)
- 공격자가 가짜 ARP 응답 패킷을 네트워크에 전송하여, 다른 장치들의 ARP 캐시를 잘못된 정보로 수정하게 하는 공격.
- VLAN 호핑 (VLAN Hopping)
- VLAN 설정을 우회하여 한 VLAN에서 다른 VLAN으로 트래픽을 보낼 수 있도록 하는 공격.
- Spanning Tree Protocol 공격
- Spanning Tree Protocol(STP)의 취약점을 이용하여 네트워크 경로를 공격자가 임의로 변경하거나 네트워크를 마비시키는 공격.
- 중간자 공격 (Man-in-the-Middle, MITM)
- 공격자가 두 장치 간의 통신을 가로채고, 데이터를 감청하거나 변조하는 공격. ARP 스푸핑과 결합하여 사용되는 경우가 많습니다.
- DHCP 스푸핑 (DHCP Spoofing)
- 공격자가 네트워크 상에서 가짜 DHCP 서버를 설정하여, 다른 장치에 잘못된 IP 주소를 할당하는 공격.
- DHCP Starvation 공격
- 다수의 가짜 DHCP 요청을 보내 DHCP 서버의 IP 주소 풀을 고갈시키고, 정상적인 사용자들이 IP 주소를 받지 못하게 만드는 공격.
- MAC 플러딩 (MAC Flooding)
- 다수의 가짜 MAC 주소로 네트워크를 공격하여 스위치의 MAC 주소 테이블을 가득 채우고, 스위치가 트래픽을 브로드캐스트하게 유도하는 공격.
3계층 (네트워크 계층)
네트워크 계층은 IP 주소를 사용하여 라우팅과 전송 경로를 설정하는 계층으로, 주로 IP 프로토콜 및 라우팅 관련 공격이 발생합니다.
- IP 스푸핑 (IP Spoofing)
- 공격자가 자신의 IP 주소를 위조하여 신뢰받는 장치처럼 위장해 패킷을 전송하는 공격.
- ICMP 리다이렉트 공격 (ICMP Redirect Attack)
- ICMP 리다이렉트 메시지를 악용하여 네트워크 경로를 변경하고, 트래픽을 공격자가 설정한 경로로 유도하는 공격.
- Smurf 공격
- ICMP Echo 요청을 네트워크 브로드캐스트 주소로 보내 네트워크 상의 모든 장치가 응답하게 만들어 트래픽을 폭주시키는 DDoS 공격.
- 라우팅 테이블 포이즈닝 (Routing Table Poisoning)
- 라우터에게 잘못된 라우팅 정보를 제공하여 트래픽이 공격자가 원하는 경로로 가게 하거나, 특정 네트워크에 대한 경로를 끊어버리는 공격.
- TTL 변조 공격
- 패킷의 TTL(Time to Live) 값을 변조하여 네트워크 상의 트래픽을 차단하거나 특정 목적지에 도달하지 못하도록 하는 공격.
- 라우팅 프로토콜 공격
- BGP, OSPF, RIP과 같은 라우팅 프로토콜을 공격해 네트워크 경로를 조작하거나 트래픽을 다른 경로로 유도하는 공격.
- 예시: BGP 하이재킹, OSPF 주입 공격
- ICMP 플러딩 (ICMP Flooding)
- 네트워크 상의 장치에게 다량의 ICMP Echo 요청(ping)을 보내 네트워크를 과부하시키는 DoS 공격.
- IP 프래그멘테이션 공격 (IP Fragmentation Attack)
- 큰 패킷을 작은 조각으로 나누어 전송하는 과정에서, 패킷 조각이 재조합되지 못하게 하여 네트워크 장치를 과부하시키는 공격.
- Traceroute 추적 공격
- Traceroute를 통해 네트워크 경로 상의 모든 장치 정보를 수집하고, 이를 이용해 특정 노드를 공격하거나 네트워크 구조를 분석하는 방법.
- Source Routing 공격
- 패킷의 출발지 경로를 강제로 설정하여, 트래픽을 특정 경로로 우회시키는 공격.
4계층 (전송 계층)
전송 계층은 데이터 전송을 담당하는 계층으로, 주로 TCP와 UDP 프로토콜을 이용한 공격이 발생합니다.
- SYN 플러딩 (SYN Flooding)
- TCP 연결 설정 과정에서 SYN 요청만 보내고 ACK 응답을 보내지 않음으로써, 서버의 자원을 고갈시키는 DoS 공격.
- UDP 플러딩 (UDP Flooding)
- 다량의 UDP 패킷을 보내 대상 서버의 네트워크를 과부하시키는 공격.
- TCP 세션 하이재킹 (TCP Session Hijacking)
- TCP 연결 중간에 공격자가 개입하여 세션을 가로채고, 통신을 조작하거나 데이터를 탈취하는 공격.
- TCP 리셋 공격 (TCP Reset Attack)
- TCP 연결 중간에 공격자가 RST(Reset) 패킷을 보내 연결을 강제로 종료시키는 공격.
- 포트 스캐닝 (Port Scanning)
- 대상 서버의 열려 있는 포트를 스캔하여, 취약한 서비스나 응용 프로그램을 찾아내는 공격 기법.
- UDP 스캐닝 (UDP Scanning)
- 대상 서버의 열려 있는 UDP 포트를 스캔하여 취약한 서비스나 네트워크 설정을 탐지하는 공격 기법.
- ACK 플러딩 (ACK Flooding)
- 다량의 ACK 패킷을 보내 네트워크 대역폭을 소모시키거나, 방화벽을 우회하여 서버의 자원을 고갈시키는 공격.
- SYN-ACK 반사 공격 (SYN-ACK Reflection)
- 공격자가 SYN 패킷을 위조된 IP 주소로 보내고, 해당 IP 주소로 다량의 SYN-ACK 응답 패킷을 전송하게 하여 타겟을 과부하시키는 DDoS 공격.
- FIN 플러딩 (FIN Flooding)
- TCP 연결 종료 신호인 FIN 패킷을 다량으로 보내 네트워크를 과부하시키는 공격.
- Christmas Tree 공격 (Xmas Tree Attack)
- TCP 헤더의 모든 플래그를 활성화한 패킷을 보내 네트워크 장비나 시스템이 비정상적인 트래픽을 처리하도록 하여 자원을 소모시키는 공격.
5계층 (세션 계층)
세션 계층은 통신 세션의 관리를 담당하며, 세션을 설정하고 유지하고 종료하는 기능을 제공하는데, 이 과정에서 공격이 발생할 수 있습니다.
- 세션 하이재킹 (Session Hijacking)
- 공격자가 사용자의 세션을 탈취하여, 사용자의 권한을 획득하고 시스템에 접근하는 공격. 웹 애플리케이션에서 주로 발생.
- SSL/TLS 스트립 (SSL Stripping)
- HTTPS를 사용한 암호화된 통신을 HTTP로 다운그레이드하여, 암호화되지 않은 평문 통신을 가로채는 공격.
- TCP 세션 하이재킹
- 공격자가 TCP 연결을 가로채고, 세션을 장악하여 통신을 조작하는 공격. 특히, 인증 후 트래픽을 감시하거나 조작할 수 있음.
- 세션 고정 공격 (Session Fixation)
- 공격자가 미리 발급한 세션 ID를 피해자가 사용하도록 유도한 후, 공격자가 해당 세션을 탈취하여 피해자의 권한으로 시스템에 접근하는 공격.
- 세션 스니핑 (Session Sniffing)
- 네트워크 상에서 트래픽을 감청하여 세션 토큰이나 인증 정보를 탈취하는 공격. 보통 비암호화된 네트워크에서 발생.
- RPC 공격 (Remote Procedure Call Attack)
- 원격 프로시저 호출(RPC) 세션을 공격해 네트워크 서비스를 중단하거나, 서비스에 대한 권한을 얻는 공격.
6계층 (프레젠테이션 계층)
프레젠테이션 계층은 데이터의 인코딩, 암호화, 압축 등을 담당하는 계층입니다. 이 계층에서는 암호화와 관련된 공격이 주로 발생합니다.
- SSL/TLS 중간자 공격 (SSL/TLS Man-in-the-Middle)
- SSL/TLS 통신을 가로채어 암호화된 데이터를 복호화하거나, 데이터를 변조하는 공격. 중간에서 공격자가 위조된 인증서를 사용하는 경우 발생.
- 암호화 우회 공격 (Encryption Downgrade Attack)
- 암호화 수준을 낮추거나 비암호화 통신으로 강제 다운그레이드시켜 데이터를 탈취하는 공격. 예: TLS를 SSL로 다운그레이드.
- 암호화 깨기 공격 (Ciphertext-only Attack)
- 공격자가 암호화된 데이터(암호문)만 가지고도 암호화 키를 알아내거나 데이터를 복호화하려는 공격.
- 패딩 오라클 공격 (Padding Oracle Attack)
- 패딩을 사용하는 암호화 알고리즘에서 패딩 오류 메시지를 이용하여 암호화된 데이터를 복호화하거나 키를 추출하는 공격.
- SSL 취약점 공격 (SSL Vulnerability Attack)
- SSL/TLS 프로토콜의 취약점을 악용하여 데이터를 가로채거나 변조하는 공격. 예: POODLE 공격, Heartbleed 공격.
- Base64 인코딩 우회 공격
- 데이터를 Base64로 인코딩하여 악성 데이터나 명령을 삽입하는 공격. 주로 웹 애플리케이션에서 데이터 전송 과정에서 발생.
- TLS 세션 재개 공격
- TLS 세션 재개 기능을 악용하여 암호화된 세션을 탈취하거나 세션을 가로채는 공격.
7계층 (응용 계층)
응용 계층은 사용자와 가장 가까운 계층으로, 웹, 이메일, FTP 등 애플리케이션 프로토콜을 처리하는 계층입니다. 여기서 발생하는 공격은 주로 애플리케이션 자체를 대상으로 합니다.
- SQL 인젝션 (SQL Injection)
- 웹 애플리케이션에 악성 SQL 쿼리를 주입하여 데이터베이스를 조작하거나 민감한 정보를 탈취하는 공격.
- 크로스 사이트 스크립팅 (XSS, Cross-Site Scripting)
- 웹 페이지에 악성 스크립트를 삽입하여, 사용자의 브라우저에서 악성 코드가 실행되도록 유도하는 공격.
- 크로스 사이트 요청 위조 (CSRF, Cross-Site Request Forgery)
- 사용자가 모르게 악성 요청을 전송하게 하여 사용자의 권한으로 서버에서 명령을 실행하는 공격.
- 버퍼 오버플로우 (Buffer Overflow)
- 애플리케이션이 처리할 수 있는 데이터 크기보다 큰 데이터를 입력하여 메모리 영역을 침범하고, 시스템 권한을 획득하는 공격.
- FTP 공격
- FTP 서버의 취약점을 공격하여 파일 시스템에 무단으로 접근하거나, 사용자 정보를 탈취하는 공격.
- DNS 스푸핑 (DNS Spoofing)
- 가짜 DNS 응답을 보내 사용자가 잘못된 웹사이트로 접속하게 하는 공격. 예를 들어, 사용자를 피싱 사이트로 유도할 수 있습니다.
- HTTP 플러딩 (HTTP Flooding)
- 다량의 HTTP 요청을 서버에 보내서, 서버의 자원을 소모시키고 서비스 거부 상태를 만드는 DDoS 공격.
- 메일 스푸핑 (Email Spoofing)
- 발신자의 이메일 주소를 위조하여 사용자가 신뢰할 수 있는 발신자로부터 메일을 받은 것처럼 속여, 악성 링크를 클릭하거나 민감한 정보를 입력하도록 유도하는 공격.
- LDAP 인젝션 (LDAP Injection)
- 웹 애플리케이션에 악성 LDAP 쿼리를 주입하여 디렉터리 서비스에서 데이터를 불법적으로 검색하거나 수정하는 공격.
- XML 외부 개체 공격 (XXE, XML External Entity Attack)
- XML 문서에서 외부 개체 참조를 악용하여 서버의 내부 파일을 읽거나, 서버에서 원하지 않는 요청을 실행하게 만드는 공격.
- SMTP 릴레이 공격 (SMTP Relay Attack)
- SMTP 서버의 취약점을 악용하여 스팸 메일을 대량 전송하거나, 서버를 중계기로 사용해 공격을 수행하는 방법.
- DNS 리바인딩 공격 (DNS Rebinding Attack)
- 공격자가 악성 웹사이트를 통해 사용자의 브라우저가 내부 네트워크로 접근하게 하여, 내부 네트워크 장치에 대한 공격을 수행하는 방법.
요약:
- 1계층 (물리 계층)에서는 전송 매체나 물리적 장비를 대상으로 한 공격이 이루어집니다. 예시로는 신호 방해(Jamming), 케이블 절단, 탭핑(Tapping) 등이 있습니다.
- 2계층 (데이터 링크 계층)에서는 MAC 주소와 프레임을 기반으로 한 공격이 이루어집니다. 대표적으로 MAC 스푸핑, ARP 스푸핑, 스위치 플러딩 공격 등이 있습니다.
- 3계층 (네트워크 계층)에서는 IP 주소 및 라우팅 관련 공격이 이루어집니다. 예시로는 IP 스푸핑, 라우팅 테이블 공격, ICMP 리다이렉트 공격 등이 있습니다.
- 4계층 (전송 계층)에서는 TCP/UDP 프로토콜을 이용한 공격이 이루어집니다. 예시로는 SYN 플러딩, UDP 플러딩, 포트 스캐닝 등이 있습니다.
- 5계층 (세션 계층)에서는 세션 관리를 악용한 공격이 이루어집니다. 대표적으로 세션 하이재킹, SSL/TLS 스트립, 세션 고정 공격 등이 있습니다.
- 6계층 (프레젠테이션 계층)에서는 암호화 및 데이터 인코딩을 표적으로 한 공격이 이루어집니다. SSL/TLS 중간자 공격, 암호화 우회 공격, 패딩 오라클 공격 등이 있습니다.
- 7계층 (응용 계층)에서는 웹 애플리케이션 및 응용 서비스를 대상으로 한 공격이 이루어집니다. SQL 인젝션, 크로스 사이트 스크립팅(XSS), DNS 스푸핑 등이 있습니다.
'정보처리기사' 카테고리의 다른 글
OSI 7계층의 네트워킹 장비 및 주요 프로토콜 (0) | 2024.09.26 |
---|---|
병행 수행 및 병행 제어 (0) | 2024.09.24 |
해시충돌 해결법과 예제 (0) | 2024.09.24 |
SDLC 와 Secure SDLC 비교하기 (0) | 2024.04.25 |