본문 바로가기

Security/Network Hacking

No1. 서비스 거부 (Dos) 공격과 방어

서비스 거부 공격 (Dos) 공격 기법과 방어들의 알아봅시다.

물론, 여기서 말하는 기법은 옛날 기법이므로 통하는것보다 안되는것이 더 많습니다.

하지만 이 기법에서 응용한 공격법들이 더욱 많이 발전되고 있으니 기본을 배운다는 생각으로 한번 봅시다.

 

가. Ping of Death

 

위에 말만 들어도 어떤 공격법인지 아시겠죠?

ping명령어로 네트워크를 마비시키는 것입니다.

공격pc가 피해pc에게 큰 크기의 데이터를 잘개 쪼개 전송하는 네트워크의 특성을 이용 즉 , ping 명령을 이용해 피해pc는 대량의 작은 패킷을 수신해 네트워크가 마비가 되는 것입니다.

 

방어 : 이 공격기법은 방화벽에서 ping이 사용하는 protocol인 ICMP를 차단하시면됩니다. 

         하지만 이 공격기법은 응용되기 쉬워 아직도 유효한 기법입니다.

 

나. SYN Flooding 

 

이것은 모든 네트워크는 서버 마비를 막기위해 동시접속자수를 제한하는 성질을 이용합니다.

전에 말씀드린 TCP 핸드쉐이킹의 문제점을 이용, 마지막 client가 ACK를 보내지 않으면 server는 SYN received 상태로 일정 시간 기다리는데 이때 공격 pc가 client를 위조해 SYN 패킷을 수없이 만들어 동시접속자 수를 채워 모두 SYN received 상태로 만들어 다른 사용자가 접속을 못하게 하는 것입니다.

 

방어 : 가장 쉬운것은 SYN recevied 시간을 만들어 공격 pc가 client를 위조할 시간을 주지 않는 것이고, IPS등을 이용해도 쉽게 차단이 됩니다.

 

다. Boink, Bonk, TearDrop

 

이 공격기법들 또한 TCP의 취약점을 공략합니다.

TCP는 기본적으로 신뢰성있는 연결을 제공하려 하기 때문에

-  패킷의 순서확인

- 중간에 손실된 패킷 여부확인

- 손실된 패킷의 재전송 요구

 

이러한 재전송과 수정을 공격 PC가 반복적으로 함으로써 시스템의 자원을 고갈 시키는 공격입니다.

TCP 패킷은 각 패킷이 데이터의 어느 부분을 포함하고있는 지에 대한 시퀀스 넘버가 있는데 이러한 공격들은 재전송과 재조합에 과부하가 걸리도록 시퀀스 넘버를 속이는 것입니다.

구체적인 예를 들어 보겠습니다.

 패킷 번호

정상 패킷의 시퀀스 넘버 

공격을 위한 패킷의 시퀀스 넘버 

 1

 1-101

1-101 

 2

 101-201

 81-181

 3

 201-301

 221-321

 4

 301-401

 251-351

 

위의 표를 보듯이 공격을 위한 패킷의 시퀀서 넘버는 번호당 중복되는 구역이 생기고 이 구역으로 인해서 과부하가 생기게 되는것이다.

 

방어 : 이러한 취약점은 패치를 통해 제거되어 왔고 과부하가 걸리고 계속 반복되는 패킷은 무시되고 버리도록 처리가 되었다.

 

라. Land

 

이 공격 기법은 공격PC에서 피해PC에게 패킷 전송시에 출발지 IP와 목적지 IP주소값을 똑같이 만들어 보냅니다 여기서 물론 출발지 IP는 공격받는 PC의 IP주소값이 됩니다.

이렇게 되면 SYN패킷의 출발지 주소값과 목적지 주소값이 같게 되므로 패킷은 네트워크 밖으로 나가지 않고 다시 자기에게로 돌아 오게 됩니다.

이렇게 되면 SYN Flooding처럼 동시 사용자수를 점유해버림과 동시에 CPU까지 과부하가 걸리게 만들 수있는 공격 기법입니다.

 

방어 : 운영체제 최신패치 , 방화벽에 출발지 주소와 목적지 주소의 적절성을 검증하는 기능 이용.

 

마. Smurf

 

웜이 네트워크를 공격하는데 아직도 많이 쓰이는 기법입니다.

이 공격법 또한 Ping of Death 처럼 ICMP 패킷을 과 다이렉트 브로드캐스트를 이용합니다.

다이렉트 브로드 캐스트란 일반적인 broad cast는 라우터를 넘기지 못하나 , IP network 부분에 ip주소를 주고, host 부분에 255를 주어 원격지 Network에 Broad cast를 할 수 있게 해주는 방법입니다.

 

그럼 이렇게 되있는 상태에서 , 공격자는 예를들어 211.221.0.255로 다이렉트 브로드 캐스트를 하게 되면 211.221.0 Network안에 있는 모든 pc는  위조된 시작 ip로 된 ICMP Request가 전달되게 되고, 이 pc들은 위조된 시작 IP주소로 ICMP Reply를 보내게 되고, 피해 PC는 Ping of Death처럼

수많은 ICMP Reply를 받게되어 마비가 된다.

 

방어 : 방어는 매우 간단하다 라우터에서 다이렉트 브로드캐스트를 아예 막아버리면된다.

 

사 . Mail Bomb

메일 서버가 각 사용자에게 일정량의 용량만을 준다는 것을 이용,

대용량의 메일을 보내 다른 메일을 받지 못하게 하는법.

 

아. DDos

 

가장 유명한 기법이 아닌가 싶다.

확실한 방어법이 존재하지 않고 공격자의 위치와 구체적인 발원지를 파악하는것 또한 거의 불가능하다.

 

처음

 

공격pc -> 마스터pc -> Handler pc -> 에이전트 pc(데몬프로그램으로실행) -> 피해pc

 

이런 경로를 통하게 된다.

 

1. 공격 pc : 공격을 주도하는 공격자의 pc이다.

2. 마스터 pc : 공격자에게 직접 명령을 받는 시스템으로, 여러 대의 에이전트를 관리한다.

                    여기서 대형 isp업체등이 이러한 역할을 하게되면 피해가 매우 커지게 된다.

3. 핸들러 pc : 마스터의 역할을 수행하는 pc이다.

4. 에이전트 pc : 직접 적인 공격을 가하는 pc가 된다. (데몬으로 계속 돌아가게 된다.)

 

흔히 우리가 인터넷에서 본 좀비 pc 몇만대가 바로 에이전트 pc인것이다.

 

 

이상 서비스 공격 (Dos) 의 종류에 대해 알아보았습니다.

다음 시간에는 스니핑과 스푸핑에 대해 알아보겠습니다.

 

'Security > Network Hacking' 카테고리의 다른 글

No.6 메일을 이용한 IP 추적  (0) 2012.07.11
No.5 Whois 서버이용 정보획득  (0) 2012.07.11
No.4 Network Packet분석  (0) 2012.07.11
No.3 세션 하이제킹 ( Session Hijacking)  (0) 2012.07.11
No.2 Sniffing OR Spoofing  (0) 2012.07.11