Ⅰ. 서론
인터넷을 통한 기업 활동을 방해하는 악의적인 공 격중의 하나로 DoS (Denial-of-Service) 공격이 있다 ' DoS 공격은 공격자가 하나 이상의 공격 시스템을 사용하여 피해 시스템에 무한의 악의적인 패킷을 보냄으로써 피해 시스템의 정상적인 서비스를 방해하거나 시스템을 다운시키는 등의 피해를 주는 공격 형태이다. 그러나 DoS 공격에 대응하는 적절한 방법이 없는 상황이기 때문에 피해 시스템의 입장에서는 마비된 서버를 재가동하거나 IDS(Intrusion Detection System)등을 이용해서 공격을 차단하는 정도의 대응 이외의 다른 대응 수단이 없다는 것이 현실이다闵. 공격자의 정확한 위치를 찾아내지 못한다면 추후 재차 공격의 가능성을 배제할 수 없게 되고, 이는 잠재된 위험요소를 방치하는 결과를 초래하게 된다.
공격자의 정확한 위치를 찾아내기 위한 노력으로 IP 역 추적 기술이 연구되었으나, 공격자가 자신의 IP 를 스푸핑(Spoofing)함으로써 이러한 IP 역 추적은 어느 정도의 한계에 직면할 수밖에 없었다 따라서 패킷에 기록되어 있는 소스 IP 주소를 이용하는 방식이 아닌 다른 방식으로 공격자의 위치를 찾아내는 방법이 연구되어야만 했고 이를 위한 한 가지 대안으로서 마킹 방식 IP 역 추적 기법이 제*'. 안되었다 이는 네트워크 상의 모든 라우터가 자신을 지나가는 패킷에 자신의 IP 주소를 마킹하도록 하여 피해 시스템에서 이를 이용하여 공격 경로를 찾아내는 것이다. 하지만 이 방식은 수많은 패킷을 수집한 다음에야 공격 경로를 찾는 것이 가능하며 또한 공격지를 나온 패킷이 지나는 최초의 라우터까지의 추적은 가능하지만, 실제적인 공격 진원지의 위치를 찾아내지 는 못한다는 단점을 안고 있다. 본 논문에서는 기존의 마킹 방식 IP 역 추적 기법을 개선하여 최소한의 패킷만 수집하여 빠르게 공격 경로를 찾을 수 있는 기법을 제안하고 또한 라우터가 자신의 IP 주소뿐만 아니라 공격 진원지의 MAC 주소를 마킹하도록 함으로써 MAC 주소를 이용한 공격 진원지의 실제 위치를 찾아내는 방법을 제안한다. 본 논문의 구성은 다음과 같다. 제2장에서는 관련된 연구방법들을 소개하고, 제3장에서는 공격 진원지 발견 문제를 해결하기 위한 MAC 주소를 이용한 해결방법과 패킷 도착율을 향상시킬 수 있는 기법을 제안한다. 그리고 제4장에서는 성능평가 및 실험결과를 보이고, 마지막 저】5장에서는 결론과 향후 연구방향에 대해서 기술한다.
Ⅱ. 기존 연구의 고찰
침입자를 역추적(Traceback)하려는 노력은 여러 가지 방향에서 논의되고 있다. 시스템 로그를 분석하는 방벱叫 Logging回, 丘卽理 Filtering191, Link Testing1101, ICMP Traceback11" 등 다양한 방법으로 침입자의 흔적을 역추적하는 방법이 제시되었다. 하지만 이러한 여러 방법들은 각기 장단점을 가지고 있으며, 침입자를 올바르게 역추적하기에는 부족한 점이 많았다用 이에 새롭게 제안된 방법이 마킹 알고리듬이다. 이는 중간 라우터가 패킷에 자신의 IP 주소를 표시하도록 하여 이를 토대로 공격 경로를 역추적하는 방식이다.
2.1 마킹 기반 IP 역추적
Fragment Marking Scheme(FMS) 이라고도 하는 이 방법은 모든 패킷을 대상으로 하지 않고 주어진 확률 p이하로 선정한 패킷에 대해서 라우터에서 이 패킷이 자신올 거쳐갔음을 표시하는 방법이다 즉, 각라우터에서 p 이하의 확률로 선택된 패킷에 대해 이 패킷의 경로를 나타내는 추가 정보로 소스필드 에 이 라우터의 IP로 표시하고 거리 정보, 즉홉 수표시는 0으로 설정한다. 이 패킷이 거치는 다음 라우터에서 이 패킷을 선택할 확률이 P 이상일 때 이 패킷에 표시되는 끝 라우터가 이 라우터의 IP가 된다. 이렇게 소스와 끝 IP가 다 기록이 된 것은 다음 라우터를 거칠 때 확률 P 이상이면 소스 라우터로부터 중간에 거친 라우터의 수만큼의 홉수가 더해지며, 확률 P 이하면 이번의 기록 내용은 무시되고 다시 소스를 기록하는 과정을 거친다.
이런 과정은 임의도를 증가시켜 의도적인 패킷이 발생된 소스 주소에 수정을 가하더라도 실제의 패킷 소스를 밝히는데 상당한 신뢰를 줄 수 있는 방법이다. 그리고 이 정보를 기록하는 부분은 패킷의 IP 헤더에 분할을 위하여 패킷의 동일성을 표시하는 부분인 식별 필드로서 통계적으로 이 부분을 사용하는 율이 0.25%라는 데 착안을 하였다闾. 따라서 기존 네트워크 체계의 위반되는 문제점은 존재하지 않는다.
[그림 1]은 새롭게 정의된 식별 필드이다.
[그림 1] 재정의된 ip 헤더의 식별 필드 구성
2.2 마킹 기반 IP 역추적의 문제점
기존 마킹 알고리듬은 라우터의 정보를 패킷의 IP 헤더의 식별 필드에 실어 보내는 방식으로 라우터의 정보는 분할하여 조각으로 전송하며, 또한 라우터에서의 마킹 과정은 샘플링 방식에 의해 확률로써 처리된다可 각 라우터는 자신의 IP 주소 日과 이 IP 주소에 비트연산과 not을 사용하여 해쉬한 hash(R)값을 Bitlnterleave하여 64비트의 R을 생성하며, 이 값을 8개의 조각으로 나누어 그 중。(변위정보, 임의의 수) 번째 조각을 패킷에 실어 보낸다. 즉 패킷에는 거리정보와 IP 주소의 조각, 그리고 그 조각의 위치를 나타내는 변위정보가 마킹되는 것이다. 이렇게 거쳐 온 라우터의 IP 주소를 표시한 패킷들은 피해 시스템에서 거리정보 별로 구분되어 조합되고, 이렇게 조합되어 구해지는 IP 주소가 올바른 라우터의 IP 주소로 판단되면 이를 경로트리에 기록한다. 이러한 일련의 과정을 통해 경로 트리를 구성하면 이것이 바로 공격 경로가 되는 것이다.
[그림 2]는 패킷의 여러 전송 경로 중에서 기존 마킹 알고리듬을 통해 찾아낼 수 있는 실제적인 공격 경로를 나타내고 있다. [그림 2]에서 확인하듯이 기존의 마킹 알고리듬에서는 공격 경로의 첫 번째 라우터까지는 발견 가능하지만 공격 진원지(A, 를 찾아낼 수 없다는 문제점을 가지고 있다. 또한 패킷이 피해 시스템에 도착하기까지 중간에서 각 라우터에 의해 처음의 정보를 유실(새로운 라우터의 정보를 마킹)하게 되는 알고리듬의 특성 때문에 첫 번째 라우터의 정보를 가진 패킷이 피해 시스템까지 도착할 확률이 상대적으로 적어진다. 이러한 패킷의 도착율은 공격자에서 피해 시스템까지의 홉수가 많아질수록 더 작아진다 각 라우터가 가진 확률값을 p라 하고, 라우터에서 피해 시스템까지의 홉수를 d라고 할 때 패킷의 정보가 도착할 확률은 다음식 ⑴과 같다.
#(1)
[그림 2] 패킷의 여러 전송 경로와 공격 경로
Ⅲ. 저비용의 정확한 공격 진원지 발견 기법
3.1 MAC 주소의 사용
최초 공격 진원지를 노출시키기 위해서는 라우터가 자신의 IP 주소뿐만 아니라 바로 앞 단(이전 라우터 또는 공격 진원지)의 MAC 주소까지도 패킷에 마킹하도록 해야 한다. 이렇게 함으로써 공격 진원지의 MAC주소와 공격 경로상의 라우터의 MAC주소도 알게 되어 신뢰성 향상을 노릴 수 있다. MAC 주소를 지원하지 않는 WAN환경에서는 WAN Router의 egress Port의 시리얼 번호를 MAC주소 대신 마킹하고, input debugging feature""을 이용하면 공격 진원지 역 추적이 가능하다. 그러나 MAC 주소를 마킹함으로써 얻어지 는 이익에 따르는 또 다른 문제점이 생긴다. 문제점은 32비트의 IP 주소와 48비트의 MAC 주소를 같은 방식으로 전송할 수 없다는 것이다. IP 주소의 경우 32비트의 해쉬값을 만들어 기존 IP 주소에 덧붙여 64비트로 만들고, 이를 8조각으로 나누어 전송하는 방식을 사용하고, 또 이의 역과정을 이용하여 무결성 확인을 할 수 있었다. 하지만 48비트의 MAC 주소를 64비트로 만들어 이를 8조각으로 나누어 전송하는 경우, 각 라우터는 자신의 IP 주소를 마킹하는 과정과 앞단의 MAC 주소를 마킹하는 과정의 두 과정을 처리해야 하며, 이를 각각 구별하기 위하여 하나의 라우터가 2개의 거리 정보를 소비하게 되는 결과를 초래하게 된다. 이 때문에 역추적 가능한 홉의 수가 기존 방식의 절반 수준인 16개로 한정되게 되고, 이것은 공격 진원지를 찾아낸다는 당초의 목표에 있어서 상당한 문제점을 갖게 되는 것이다. 따라서 MAC 주소를 마킹하는 방식도 허용되면서 기존 방식에서 가능했던 역추적 범위도 줄어들지 않는 새로운 방식이 필요하게 되었다.
본 논문에서는 IP 주소와 MAC 주소를 56비트의 조각조합으로 만들어 이를 조각단위로 전송하는 방법을 제안한다. 이때 56비트로 구성함에 있어서 여기에 무결성 확인을 위한 방법을 추가해야 한다. 이를 위해서 IP 헤더의 식별 필드를 재구성해야 한다. 제안하는 재구성 방식은 식별 필드 16 비트를 3 비트 의 변위정보 필드, 6비트의 거리정보 필드, 7 비트 의 조각정보 필드로 구성하는 것이다. 따라서 IP주소 와 MAC주소를 사용하여 공격 진원지 추적 경로의 재구성을 위한 패킷의 오버헤드를 해결할 수 있다. 이를 그림으로 나타내면 [그림 3]과 같다.
[그림 3] 제안하는 IP 헤더의 식별 필드 구성
공격 경로상의 각 라우터가 패킷에 자신의 IP 주소를 마킹하는 것처럼 앞단의 MAC 주소까지도 마킹하도록 하게 되면, 피해 시스템에서 패킷에 전달되어온 IP 주소의 무결성을 확인하듯이 전달되어 온 MAC 주소의 무결성도 확인할 필요가 있게 된다. 또한 중간 라우터가 앞단의 MAC 주소를 마킹 하 도록 함으로써 각 라우터는 실제적으로 거리정보를 두 개씩 소비하게 된다(자신의 IP 주소- 거리정보 0, 앞 단의 MAC 주소 - 거리정보 1). 이것은 기존 방식의 추적 가능 홉수를 반으로 줄어들게 만드는 새로운 문제점을 야기하게 된다.
이를 보완하기 위하여 본 논문에서는 식별 필드의 구성을 조정하여 거리정보 필드를 6비트로 하고, 조각정보 필드를 7비트로 구성함으로써 기존 마킹 알고리듬과 같은 수준의 추적 가능 홉수를 유지할 수 있게 하였다. 또한 조각정보 필드가 1비트 줄어들게 되는 문제점은, 기존 64비트 조각조합을 56 비 트로 조정하고 이를 이용하여 무결성 확인을 가능하게 하는 방법을 제안함으로써 해결하였다.
[그림 4]는 이 기법을 설명하기 위하여 사용한 예제이다.
[그림 4] MAC 주소 예제
3.2 샘플링 확률 p와 보정
각 라우터에서 받은 패킷에 대해서 기존의 값을 무시하고 자신의 ip 주소로 식별 필드에 새로운 값을 마킹 할 것이냐, 아니면 기존의 값에 자신의 IP 주소를 XOR하여 마킹할 것이냐를 결정하는 기준이 바로 샘플링 확률 p이다.기존의 마킹 알고리듬에서는 각 라우터마다 확률 P가 고정되어 있었다. 알고리듬의 특성상 라우터가 받은 패킷은 확률P를 기준으로 p보다 작으면 이전의 정보를 상실하고 현 라우터의 정보를 새롭게 마킹하게 된다. 평균적으로 p=0.5로 설정하게 되면 라우터를 하나 지날 때마다 처음 정보를 가진 패킷의 수가 반으로 줄어들게 된다. 모든 라우터의 확률값이 일정하게 설정되어 있다면 거리가 먼 패킷일수록 피해 시스템에 도착하는 확률이 적어지기 때문에 패킷 도착률의 향상을 기하기 위해서 는 거리가 먼 패킷일수록 가중치를 두어 확률값을 보정하는 방법을 취할 수 있다.
[그림 5]는 라우터 Ri에서 라우터가 패킷에 자신의 정보를 마킹하여 보내기 시작한 패킷이 중간의 각 라우터를 거쳐 최종적으로 라우터 R5까지 도착하 는 과정에서 이 패킷에 저장된 라우터의 정보가 새롭게 생성되거나 변경되는 모습을 보여주고, 이러한 패킷에 저장된 라우터의 정보에 따라 각 패킷을 구별하여 보여주는 것이다.
[그림 5]에서 do는 라우터에서 패킷에 실려온 기존의 정보를 지우고 새롭게 자신의 IP 주소를 마킹하는 것이고, 小은 패킷에 실려온 앞 라우터의 정보에 자신의 IP 주소를 XOR흐}.여 마킹하는 것이며, d2 이후의 값들은 기존 정보를 그대로 유지한 채 패킷의 거리 정보만을 증가시켜 보내는 것이다.
[그림 5]에서 화살표는 확률 p를 적용하여 다음 라우터로 보내는 것을 의미하는 것으로서, 예를 들어 Ri의 do에 확률p를 적용한 값이 R2의 do와 山이다. 이때 확률P의 적용은 임의의 수X를 발생시켜서 XV, 이면 [그림 5]에서의 ①의 과정을 적용하고, 패킷의 거리정보가 0이고 X部이면 ②의 과정을 적용하며, 패킷의 거리 정보가 0보다 크고 x>p이면 ③의 과정을 적용한다.
[그림 5] 마킹 알고리듬에서 패킷의 흐름과 정보
이를 식으로 나타내면 다음과 같다.
#(2)
#(3)
기존의 방법에서는 모든 라우터마다 확률p는 고정된 값이다. 이제 이 확률P를 거리정보에 따라 가중치를 부여함으로써 패킷의 유실율과 도착율을 향상시키려 한다. 라우터를 지날 때마다 자신이 가진 정보를 유실하는 것은 어쩔 수 없지만, 원거리의 정보를 가진 패킷이 최대한 많이 피해 시스템에 도착하도록 하여 공격 경로를 찾는데 소요되는 시간을 최소화할 필요가 있다.
각 라우터에 도착되는 패킷의 수를 나타내는 값 X를 다음과 같이 정의 한다.
정의 : 홉수가 n일때 거리정보가, 인 패킷이 라우터 에 도착하는 수를 # 라고 표현한다.
또한 확률P에 대한 함수f를 다음과 같이 거리정보에 따른 가중치를 부여하는 다음과 같은 식으로 제안하여 정의한다.
#(4)
위의 두정의를 적용하여 홉에 따른 값을 식으로 나타내면 다음과 같다.
"=0 일 때,
#
n=l 일 때,
#
위의 계산식들을 조합하여 함수식으로 표현하면 다음과 같다.
#(5)
#(6)
위와 같이 확률P를 고정값으로 설정하지 않고 패킷의 거리 정보에 따라 가중치를 부여하게 되면, 라우터를 거쳐 갈 때마다 크게 줄어들던 이전 정보를 가진 패킷의 도착율이 크게 향상된다. 제안한 기법에 의한 패킷 도착율의 향상과 그 편차의 감소에 대한 실험 결과는 제4장에서 보인다.
Ⅳ. 성능 평가 및 실험 결과
4.1 공격 진원지의 발견
[그림 6]은 제안한 알고리듬을 이용하여 공격 진원지 A에서 중간 라우터 R3, R4, Rs를 거쳐서 피해 시스템 V에 도착하는 패킷들의 흐름을 보여주는 것이다. 중간 라우터들은 자신을 지나가는 패킷에 자신의 IP 주소와 앞단의 MAC 주소를 마킹한다. 기존의 마킹 알고리듬과는 다르게 MAC 주소까지를 마 킹 해야 하므로, 라우터는 임의의 수y를 발생시켜서 y<0.5이면 거리정보를 0으로 하고 자신의 IP 주소를 마킹하고, y20.5이면 거리정보를 1로 하고 앞단의 MAC 주소와 자신의 IP 주소를 XOR하여 마킹하도 록 한다. 즉, IP주소와 MAC주소를 확률에 따라 교대로 전송함으로써 부하가 증가하는 문제를 해결할 수 있다.
[그림 6] 제안한 알고리듬을 이용한 공격 진원지의 발견
[그림 6]에서 받은 패킷들의 조각들을 가지고 같은 거리정보를 가진 조각별로 테이블을 구성한 후 같은 거리 정보를 가지는 조각들을 조합하여 거리정보 별로 나타내면 [표 1]과 같다.
[표 1]에서 첫 번째 노드(거리정보 0)의 조각조합 (氏)과 두 번째 노드(거리정보 1)의 조각조합(R5$M) 를 XOR하면 다음과 같은 결과를 얻을 수 있다.
(표 1) 조합된 조각들과 거리 정보
#
또한 첫 번째 노드(거리정보 0)의 조각조합(R5)와 세 번째 노드(거리정보 2)의 조각조합(% e&)를 XOR 하면 다음과 같은 결과를 얻을 수 있다.
#
이처럼 위의 두 가지 과정을 통하여 라우터 R4의 IP 주소와 MAC 주소를 얻을 수 있다. 위와 같은 과정을 [표 1]의 각 노드에 적용해보면 공격 경로상의 각 라우터의 IP 주소와 MAC 주소를 알아낼 수 있고, 최종적으로는 공격 진원지의 MAC 주소까지도 알아낼 수 있게 된다.
[표 1]의 정보를 가지고 위와 같은 XOR 과정을 거쳐서 알아낸 공격 경로상의 각 라우터의 정보를 이용하면 [그림 7]과 같은 경로 트리G를 구성할 수 있게 된다.
[그림 7] 경로 트리
4.2 확률 p의 보정에 따른 패킷 도착율과 편차
앞에서 패킷의 거리 정보에 따라 라우터의 확률 p 에 가중치를 부여하는 방법을 제안하였다. 식 4가 최적화된 식인가를 확인하기 위하여, 확률 p에 대한 함수식을 다음과 같이 a, b 두개의 계수를 가지는 함수로 바꾼다.
#(7)
위의식 ⑺을 0<a<10 , lggio의 범위 내에서 계수 변환하여 라우터에 도착하는 패킷의 도착율의 편차를 계산하여 본다. [그림 8]에서 a, 方값의 변화에 따른 패킷 도착율의 편차의 최저값은 a=2, *2인 경우(편차 =1.975759)임을 알 수 있다. 즉, a=2, b=2 일 때 패킷의 도착률 편차의 감소를 최대화할 수 있다. a=2, *2를 식(7)에 적용해보면 다음과 같은 확률 함수를 구할 수 있다.
#(9)
[그림 8] 계수 변화에 따른 패킷 도착율의 변화(흡=31)
식(9)는 패킷 도착율의 편차를 최저로 하는 최적의 함수식이다. 또한 식 (9)와 제안한 확률p의 함수식인 식(4)를 비교해보면, 두 식이 서로 같음을 알 수 있게 된다.
#(9)
따라서 제안한 확률 P의 함수식인 식 (4)는 패킷 도착 율의 편차를 최저로 하는 최적의 함수식임을 알 수 있다.
Ⅴ. 결론 및 향후 연구 방향
본 논문에서는 DoS 공격에 대한 대응방법으로서 의 기존 마킹 알고리듬의 문제점인 공격 진원지의 발견 문제와 공격 경로를 찾아내는 데 필요되는 많은 양의 패킷 문제에 대한 해결방법으로서, 공격 진원지의 MAC 주소를 발견해내는 기법과 라우터의 샘플링 확률값에 가중치를 두어 패킷의 도착율을 향상하는 기법을 제안하여 이를 효과적으로 개선하였 다. 기존 마킹 알고리듬 방식에서 찾아내지 못했던 공격 진원지를 중간 라우터에서 MAC 주소를 마킹하도록 하여 피해 시스템에서 공격 경로를 역추적하여 공격 진원지의 MAC 주소를 찾아낼 수 있도록 하였으며, 고정값으로 설정되어 있었던 라우터의 샘플링 확률값을 패킷의 거리 정보의 값에 따라 가중치를 부여하는 유동적인 값으로 바꿈으로써 실제적인 패킷의 도착율과 그 도착율의 편차를 크게 줄일 수 있었다.
* 이 논문은 인하대학교의 교수 연구 진홍비 지원에 의해 연구되었음.(INHA-22007)
본 연구는 한국과학재단 지정 인천대학교 동북전자물류연구센터의 지원에 의한 것임
참고문헌
- CERT Advisory CA-2000-01 Denial-of-service developments Computer Emergency Response Team(CERT)
- Project IDS - Intrusion Detection System
- CERT Advisory CA-1995-01 IP Spoofing Attacks and Hijacked Terminal Connections Computer Emergency Response Team(CERT)
- Proc. of ACM SIGCOMM Practical network support for IP traceback Stefan Savage;David Wetherall;Anna Karlin;Tom Anderson
- Proc. IEEE INFOCOM Advanced and Authenticated Marking Schemes for IP Traceback Dawn Xiaodong Song;Adrian Perrig
- UNIX System Security David A. Curry
- Computer Emergency Response Team(CERT)
- Presentation at the Internet 2 Working Group Security Fun with Ocxmon and Cflowd G. Sager
- RFC 2267 Network Ingress Filtering: Defeating Denial of Service Attacks Which Employ IP Source Address Spoofing P. Ferguson;D. Senie
- Proceedings of the 2000 USENIX Security Symposium CenterTrack: An IP Overlay Network for Tracking DoS Floods R. Stone
- The ICMP Traceback Mess ages S. M. Dellovin