ARP 스푸핑
- 자신을 공격 대상자에게 노출시키지 않고 제 3의 사용자인 것처럼 MAC 주소, IP 주소등을 속이는 작업
- 트래픽을 중간에 가로채기, 중간자 공격, DoS 공격등에 사용
- IP 스푸핑 유형
유형 |
설명 |
계층 |
IP 스푸핑 |
공격자가 정보를 얻거나 접근을 하기 위해 다른 컴퓨터의 IP주소를 얻음 |
3 |
이메일 스푸핑 |
이메일 발신자를 위장하여 메일을 보내는 방식 |
7 |
웹 스푸핑 |
공격자가 중간에서 웹 페이지 내용을 가로채 원래 웹 페이지를 변경해 보내는 방식 |
7 |
DNS 스푸핑 |
DNS를 사칭하여 입력한 사이트와 연관 없는 사이트로 접속되도록 DNS주소를 변경하는 방법 |
7 |
IP 스푸핑
- 공격자가 신뢰관계에 있는 시스템의 주소로 위장하여 공격대상의 정보를 가로채는 사회공학기법을 이용한 스푸핑 공격이다.
- 신뢰관계에 있는 IP로 접근함으로 인증 및 로그인 없이 해당 서버에 접속을 가능케함
- IP 스푸핑을 하면 차후 공격을 위한 백도어를 만들 수 있음
- IP 스푸핑 공격절차
1. 서버와 클라이언트가 인증 등을 통해 접속
2. 공격자는 클라이언트(Victim)에게 TCP Syn Flooding과 같은 DoS 공격을해 서버와의 연결을 끊음
3. 공격자는 연결했던 클라이언트로 위장하여 신뢰관계를 가지고 인증 없이 서버에 접속
- 대응방안
1. 출발지 IP주소에 내부망 IP주소를 가지고 있는 패킷을 라우터 or 패킷필터링으로 차단
2. 트러스트를 사용하지 않는 것이 가장 좋으나 트러스트를 사용해야 할 경우 트러스트 시스템의 MAC주소를 정적으로 설정
3. IP 주소인증기능이 보완된 IPSEC 프로토콜 사용 - 가장 근본적인 대책
DNS 스푸핑
- 클라이언트가 DNS Query를 보내게되면 서버보다 빠르게 클라이언트에게 DNS Response를 보내 공격대상이 잘못된 IP주소로 접속하도록 유도하는 공격
- ARP 스푸핑 공격보다 공격 범위가 넓고, 파밍, 중간자공격 등 2차 공격을 가할 수 있다.
- DNS는 UDP 패킷이므로 세션이 존재 X → 먼저 도착한 패킷을 신뢰하고 나중에 온 패킷은 모두 버림 → 시간차 공격
- DNS 스푸핑 동작 과정
1. 클라이언트는 DNS Query패킷을 보냄
2. 공격자는 클라이언트와 같은 로컬에 있으므로 먼저 DNS Response 패킷을 전송
3. 그 후 서버가 DNS response를 전송하지만 DNS는 UDP 패킷 사용하므로 나중에 온 패킷은 모두 버림
4. 클라이언트는 공격자가 보낸 위조된 IP를 보고 위조된 웹사이트로 접속
- DNS 스푸핑은 클라이언트를 기다렸다가 공격을 하는 것 뿐만 아니라 N/W에 거짓 IP 정보를 먼저 브로드캐스트하여 클라이언트가 접속할 때 까지 기다리기도 한다.
- DNS 스푸핑 방어대책
1. hosts 파일에 중요한 사이트 IP주소를 확인해 두면 hosts파일에 있는 사이트에 대해서는 DNS 스푸핑 공격을 당하지 않음
이메일 스푸핑
- 공격자가 신분을 위장해 이메일을 발송하는 사회공학 기법
- 악성코드를 메일에 첨부하여 발송하는 방식(Mass-Mailer)으로 대표적 사례로 베이글 웜이 있음
- 대응책은 L7의 콘텍스트 필터링, 안티바이러스, 전자서명, 메일 발송시 인증 등이 있다.
세션 하이재킹
- 인증 작업등이 완료되어 정상적으로 통신이 이루어지고 있는 다른 사용자의 세션을 가로채 인증 작업 없이 기존 세션으로 통신을 계속하는 행위
- 세션 하이재킹은 인증이 완료된 세션을 가로채는 행위이므로 인증을 무력화 시킴
- TCP 연결을 대상으로 하는 TCP 연결 하이재킹과 웹 세션을 대상으로 수행하는 웹 세션 하이재킹으로 나눌 수 있음
TCP 연결 하이재킹
- 다른 사용자의 TCP 연결을 가로채는 하이재킹이다.
- 명령의 실행이 가능
- 적극적 공격
- HUNT, Juggernaut툴을 사용(HUNT는 아주 강력한 도구)
- 순서번호 추론 하이재킹과 스니핑 기반 하이재킹으로 나눔
순서번호 추론기반 TCP 연결 하이재킹
- TCP 연결과정에서 해당 연결을 통해 전송되는 데이터의 바이트 구분을 위해 순서번호라는 임시번호를 사용
- 공격자는 몇 번의 연결시도로 순서번호 설정 규칙을 쉽게 알아내고 이를 바탕으로 다음 연결을 위한 순서번호를 추론할 수 있음
- 공격절차
1. 서버와 클라이언트가 서로 통신을 함
2. 공격자는 클라이언트에게 DoS 공격 / IP 스푸핑을해 클라이언트 연결을 끊음
3. 공격자는 서버에게 SYN패킷을 보내 연결을 시도
4. 서버는 클라이언트에게 SYN+ACK를 보냄
5. 클라이언트가 무응답이자 서버는 계속해서 클라이언트에게 SYN+ACK 전송
6. 공격자는 날라오는 SYN+ACK에서 순서번호 추론 후 서버와 연결 그 후 데이터를 전송
- 순서번호 기반 하이재킹의 문제점
1. 일방향 데이터 전송만을 통한 공격작업만 수행 가능
2. 서버가 인증 작업 없이 신뢰하는 호스트만 공격 수행 가능
- 순서번호 기반 하이재킹 대응책
1. 제 3자가 추론할수 없도록 순서번호를 난수화(Random)한다.
스니핑 기반 TCP 연결 하이재킹
- 스니핑을 통해 클라이언트와 서버간 트래픽 스니핑해 정보 확보 후 클라이언트 몰래 서버측과의 기존 연결 리셋 후 클라이언트와 서버가 비동기화 상태에 빠지도록 공격자-서버 연결 재설정하고, 클라이언트- 공격자, 공격자-서버 간 통신 중계해 클라이언트의 TCP 연결을 가로채는 행위
- 공격절차
1. 공격자는 스니핑을 통해 세션을 확보후 적절한 시퀀스 넘버 획득
2. 공격자는 클라이언트의 시퀀스 넘버로 RST 패킷을 보내 서버쪽 연결을 끊음(서버는 closed, 클라이언트는 Established)
3. 공격자는 클라이언트의 다음 시퀀스 넘버로 세션을 맺어 서버와 통신
4. 비동기화에 빠진 클라이언트는 계속해서 서버로 패킷을 보내며 패킷의 유실과 재전송이 이뤄지는데 이것을 ACK Storm 이라고함
5. 연결된 공격자와 서버는 서로 연결이 되었고 통신을 함
- 방어대책
1. 스니핑 공격 방지대책과 스푸핑 방지 대책을 적용하면 상당 수 방지 가능
2. TCP 세션하이재킹시 나타나는 현상
1. 비동기화 상태 탐지
2. ACK Storm 탐지 - 패킷의 유실과 재전송 증가
3. 기대하지 않은 접속의 리셋
3. 세션 하이재킹의 제일 좋은 방법은 암호화, 지속적인 인증, 패치이다.
Local Attack : 시스템에 접속한 후 공격자가 원하는 공격 수행, 접근권한을 얻은 경우 사용
Remote Attack : 원격 컴퓨터에서 접속 후 공격자가 원하는 공격 수행, 어떠한 접근권한도 없을 경우 사용
트로이 목마
- 악의적인 프로그램을 건전한 프로그램으로 속여 일반 사용자 컴퓨터에 접속하여 실행
- 실행시 특정포트를 열어 공격자의 침입을 도와 추가적 정보 유출, 자신의 존재를 숨기는 기능을 함
Exploit(취약점 공격)
- OS에서 버그를 이용한 루트권한 획득 또는 특정 기능을 수행, DoS를 하기 위한 공격 코드 및 프로그램
- Exploit은 공격이 실행되는 곳에 따라 로컬 취약점, 원격 취약점 공격으로 구분
1. 로컬 취약점 공격 : 취약점 공격이 공격 대상 자체에서 실행
2. 원격 취약점 공격 : 공겨자의 컴퓨터에서 실행되어 다른 컴퓨터를 공격대상으로 함
- 취약점공격이 초래하는 결과에 따라 구분하면 EOP(권한상승), 취약점공격, DoS 취약점 공격, 스푸핑 취약점 공격 등으로 구분
- 제로데이 공격 : 소프트웨어의 취약점이 개발자에게 알려지지 않아 패치가 없는 시점에서 만들어져 사용되는 취약점 공격
'보안기사 > 필기' 카테고리의 다른 글
기사자격증(알기사, 방화벽) (0) | 2019.02.14 |
---|---|
기사자격증(알기사, IDS/IPS) (0) | 2019.02.13 |
기사 자격증(알기사, 스니핑) (0) | 2019.02.12 |
기사 자격증(알기사, 네트워크 스캐닝) (0) | 2019.02.10 |
기사 자격증(알기사, DOS 공격) (0) | 2019.02.09 |