본 발명은 상기한 목적을 달성하기 위하여 다음과 같은 구성을 가진다.
본 발명에 따른 위험도 추론 침입탐지시스템은 네트워크 패킷을 수집하는 패킷수집기와, 목적지시스템의 IP를 포함한 목적지시스템의 사용용도에 대한 정보를 저장하고 있는 목적지시스템 사용용도 DB와, 각종 침입유형에 대한 정보를 저장하고 있는 침입유형 DB와, 상기 패킷수집기에 의해 수집된 패킷을 분석하여 목적지시스템의 IP와 패킷 데이타(패킷데이타는 해커가 시도하고자 하는 궁극적인 목적을 알 수 있는 정보를 총칭함)를 분리하고 상기 패킷 데이타와 상기 침입유형 DB를 비교검색하여 소정의 침입유형 해당여부를 판단하며 소정의 침입유형에 해당되면 상기 목적지시스템의 IP와 상기 목적지시스템 사용용도DB를 검색비교하여 위험도를 추론하여 알려주는 패킷분석기를 포함한다.
또한 본 발명에 따른 위험도 추론 침입탐지시스템은 해킹이 이루어지는 단계를 패턴화한 계층구조를 적재하고 있는 해킹패턴DB를 추가로 포함하며, 상기 패킷분석기는 분석된 패킷의 위험도가 높다고 판단할 경우 상기 패킷 데이타와 상기 해킹패턴DB의 계층구조를 비교하여 해킹 레벨을 알려주는 것을 특징으로 한다.
본 발명에 따른 침입탐지시스템은 패킷수집기가 인터넷상에서 발생되는 패킷을 수집하고, 패킷분석기가 상기 패킷을 패킷데이타와 목적지시스템의 IP를 분리하며, 분리된 패킷데이타와 상기 침입유형 DB를 비교하여 DB상의 침입유형에 해당되는지 여부를 판단하고, 침입유형에 해당되면 분리된 목적지시스템의 IP와 목적지시스템 사용용도DB를 비교하여 실제 위험한 침입시도인지 여부를 판단하여 관리자에게 경보하거나 알려주게 된다.
한걸음 더 나아가 본 발명에 따른 침입탐지시스템은 해킹이 이루어지는 과정을 패턴화한 계층 구조를 탑재한 해킹패턴DB를 구비할 수 있어서, 상기 패킷분석기가 패킷이 실제 위험한 침입시도에 해당된다고 판단하면 해당 패킷데이타를 상기 해킹패턴DB와 비교하여 해당 패킷이 해킹단계중 어느 단계에 해당되는지 여부와 앞으로 발생될 해킹을 경보하거나 알려줌으로써 사전에 해킹을 차단할 수 있도록 한다.
이하 첨부된 도면을 참조하여 본 발명의 실시예를 설명한다.
도2를 참조하면, 본 발명의 침입탐지시스템은 패킷수집기(42), 패킷분석기(44), 상기 패킷분석기(44)와 연동되는 목적지시스템 사용용도 DB(45)와 침입유형 DB(48)와 해킹패턴DB(47)와, 분석된 내용에 대한 경보와 알림을 담당하는 사용자 인터페이스(46)로 구성된다.
상기 패킷수집기(42)는 인터넷망이나 네트워크를 통하여 송/수신되는 모든 패킷을 가로채서 수집하는 것으로, 공지된 기술이어서 이에 대한 설명은 생략한다.
상기 침입유형 DB(48)는 카테고리별로 침입유형을 분류하여 이에 대한 정보를 저장하고 있으므로, 기존의 침입유형 뿐만 아니라 새로운 침입유형을 수시로 추가할 수 있다. 예컨대 상기 서버(48)에 탑재되는 침입유형에 대한 DB는 아래 표와 같이 대분류, 중분류를 기준으로 개념 정의된 구조를 가질 수도 있다. 물론 그 구조는 이에 제한되지 아니한다.
<표1:대분류>
대분류 명 |
설명 |
정보수집공격 |
Hacking이 이루어지기 전 단계로 Network 또는 System의 취약점을 수집하는 공격이다. 이 공격을 통하여 System의 OS나 열려진 Port별로 사용하는 Application의 Version을 알 수 있으며 이는 해킹으로 연결될 수 도 있는 공격유형이다. |
침입공격 |
실제로 공격이 진행중인 공격유형이다. 이러한 유형에는 백도어와 같이 시스템 내부의 정보를 유출또는 불법적인 동작이 이루어지는 경우와 인가되지 않은 접근을 시도하는 경우, 포로토콜을 해석하여 메일이나 사용자 아이디/패스워드를 보고자 시도하는 경우, 버퍼오버플로우의 취약점을 이용하여 침입을 시도하는 경우 등 즉시 조치를 취해야 하는 공격 유형이다. |
서비스거부공격 |
서비스 거부 공격은 특정 서버의 기능을 정지시킬 목적으로 엄청난 양의 네트워크 트래픽을 유발시키는 공격 유형이며, 내부의 정보가 유출되지는 않으나 기능의 장애로 인하여 업무에 치명적인 피해를 입을 수 있다. |
기타 |
Hacking의 패턴은 아니지만 주의가 요망되는 또는 관리적 통계에 필요한 분류 유형이며, 어플리케이션 (예를 들어 ICQ, IRC 등)에서 사용하는 경우와 업무와 관련없는 유해 사이트 접속 통계에 필요한 패턴 및 WEB 사용에 관련된 내용을 포함한다. |
<표2: 중분류 >
대분류 |
중분류 |
설명 |
정보수집공격 |
공격전 탐침 |
인가받지 않은 접근(공격)을 시도하기 위한 사전 정보를 수집하기 위한 공격유형이며, 사탄을 이용한 스캔이나 포트, IP 스캔 등이 이 유형에 속한다. |
의심스러운행위 |
일반적으로 공격전 탐침 이후에 이루어지는 행위로 공격전 탐침보다는 좀 더 주의가 요망되는 단계이며, 열려진 포트 등을 이전 단계에서 확인하고 그 포트를 통한 더욱 세밀한 정보를 얻으려는 시도가 이루어진다. |
침입공격 |
백도어 |
바이러스와 유사한 형태로 시스템 내부에 존재하여 외부로 각종 정보를 유출하는 것 부터 시스템의 통제를 외부에서 불법적으로 장악할 수 있는 것 까지 다양한 종류가 있고, 외부와 연결되는 통신 Port를 감시하여 그 Port를 사용하는 백도어를 삭제하여야 한다. |
버퍼오버플로우 |
시스템 및 응용프로그램 내부 코드에서 사용하는 버퍼가 오버플로우 될때 발생하는 취약점을 이용한 공격이며, 모든 프로그램이 작성될때 이와같은 위험요소를 고려하여 구현되어야 하나 그렇지 못한 경우에 주요 공격대상이 될 수 있다. 시스템 프로그램의 경우 알려진 취약점을 보완한 패치 프로그램을 설치하여 이에 대비하여야 한다. |
IP 스푸핑 |
IP Address를 기반으로 접근제어를 하는 방화벽을 속이기 위한 공격유형이며, 해킹을 시도하는 컴퓨터의 IP Address를 접근이 가능한 것으로 위장하여 침입하는 것으로 방화벽의 수동적인 보호방식을 이용한 공격이다. 사후에 로그를 분석하더라도 엉뚱한 결과로 분석될 수 있다. |
프로토콜분석시도 |
네트워크 패킷을 가로채어 프로토콜을 분석하기 위한 시도이며, 각 패킷이 암호화되어 있지 않을 경우 사용자 아이디와 패스워드와 같은 중요한 정보가 노출될 수 있고, 주고 받는 메일의 내용이 외부로 유출될 수도 있는 공격 유형이다. |
인가되지 않은접근시도 |
인가받지 않고 내부 네트워크 또는 시스템에 침입을 시도하거나 내부의 정보가 외부로 유출될 수도 있는 심각한 공격 유형이며, 이경우 즉시 조치가 이루어져야 피해를 최소화 할 수 있다. |
서비스거부공격 |
DOS |
서비스 거부 공격은 서버의 기능을 정지시킬 목적으로 엄청난 양의 네트워크 트래픽을 유발시키는 공격 유형이며, 곳에서 공격하거나 분산된 여러 곳에서 동시에 공격하는 패턴이 있다. |
기타 |
어플리케이션 |
사용되는 어플리케이션 패턴에 대한 정보이며, 이러한 어플리케이션에 대해 알려진 해킹공격에 따라 취약할 수도 있다. 특히 메신저 프로그램에 대한 경우는 주의가 요망된다. |
잘못된 사용 |
업무와 무관하게 접속되는 잘못된 사용에 대한 정보를 탐지한 경우 로서, 내부 관리의 목적상 필요할 수도 있지만 해킹과는 무관한 정보들이며. 이러한 유형으로는 음란내용, 도박, 스포츠, 증권 등에 관련된 내용들이다. |
Web 정보 |
외부에서 내부의 Web서버로 접속하여 사용되는 정보들에 대한 유형이며, 이중에는 Web Server의 종류와 버젼에 따라 주의가 요망되는 경우도 있다. |
기타정보 |
공격의 패턴으로 분류할 수는 없지만 침입탐지에서 감지된 기타 여러가지의 정보들을 나타낸다. |
상기 목적지시스템 사용용도 DB(45)는 목적지시스템 사용용도에 대한 정보,예컨데 목적지시스템의 IP, 그 시스템에 사용되는 OS(window NT,Solaris, Linux 등), 그 시스템의 용도(FTP 서버, Web서버, Mail서버, DB서버 등), 그 시스템에서 사용되는 서버프로그램명(예컨대 Web서버는 lls 나 Aparch 등을 사용하고, FTP서버는 wu-ftpd나 proftpd 등을 사용하며, Mail 서버는 Msexchange나 Lotusnotes, DB서버는 Oracle, MsSQL SERVER을 사용함)등을 저장하고 있다.
상기 해킹패턴DB(47)는 도4에 도시된 바와 같이 해킹 유형별로 해킹 단계를 세분화하여 계층적으로 구조화한 해킹패턴 구조 DB를 저장하고 있다.
도3을 참조하면, 상기 패킷분석기(44)는 수집된 패킷을 목적지 시스템의 IP와 패킷 데이타를 분리하며(52,54), 상기 분석된 패킷 데이타와 상기 침입유형 DB(48)의 DB를 비교하여 소정의 침입유형에 해당하는지 여부를 판단하고(56), 소정의 침입유형에 해당하지 아니하면 분석을 종료한다(66). 나아가 상기 패킷 분석기(44)는 수집된 패킷이 소정의 침입유형에 해당하면 앞서 분리된 목적지 시스템의 IP가 어떠한 용도로 사용되고 있는 시스템인지 여부를 확인하기 위하여 상기 목적지시스템 사용용도 DB(45)를 검색하고(58), 검색결과, 상기 패킷이 목적지 시스템에 영향을 줄 수 있는 위험한 것이라면 사용자에게 경보하거나 알려주고(64) 그렇지 않다면 분석을 종료한다(66). 또한 상기 패킷분석기(44)는 패킷이 시스템에 위해를 가할 침입임을 판단한(60) 후 상기 해킹패턴DB(47)와 연동되어 상기 DB(47)에 탑재된 해킹패턴 구조DB를 검색하고(62) 상기 패킷이 해킹의 어느 단계에 위치하고 있으며 앞으로 어느 방향으로 발전해 나갈 것인지 여부에 대하여 추가로 경보하거나 알려 줄 수도 있다(64).
앞서 본 바와 같은 본 발명의 실시예에 따른 침입탐지시스템의 작동에 대하여 다음과 같이 설명한다.
"코드레드"는 windowNT의 IIS웹서버를 통해 들어와서 매우 짧은 주기로 패킷을 만들어 windowNT의 IIS웹서버를 감염시키는 웜 바이러스의 일종이다. 상기 "코드레드"가 만든 패킷을 ISS가 받게 되면 바로 코드레드에 감염되게 된다. 그러나 "코드레드"는 운영체계가 windowNT이고 서버 프로그램이 IIS인 웹서버만을 감염시키기 때문에 웹서버가 아닌 메일서버나 FTP서버 등에는 아무런 영향을 미치지 아니하며 나아가 웹서버라하더라도 windowNT 운영체계나 IIS서버 프로그램을 사용하지 아니하는 웹서버에는 아무런 영향을 주지 못한다.
이와 같이 "코드레드"는 windowNT의 IIS웹서버만을 감염시킴에도 불구하고 종래의 침입탐지시스템에서는 "코드레드"가 만들 패킷을 탐지하기만 하면 목적지 시스템의 용도가 웹서버인지 메일서버인지 여부를 검토하지 아니하고 경보를 하기 때문에 목적지시스템이 메일서버인 경우에도 경보를 수행하게 되며, 이러한 문제점으로 인해 사용자는 위험에 대한 경고 메시지에 무감각해질 수 있고 신속한 대처를 할 수 없게 된다.
그러나 본 발명에 따른 침입탐지 시스템에 의하면, 상기 패킷 수집기(42)는 "코드레드"가 만든 패킷을 수집한다. 그 후 상기 패킷분석기(54)는 상기 패킷을 목적지 시스템의 IP와 패킷 데이타로 분리하고(52,54), 상기 패킷이 침입유형 DB(48)에 탑재된 소정의 침입유형에 해당하는지 여부를 판단하며(56), 상기 패킷이 소정의 침입유형에 해당하면 상기 목적지시스템 사용용도 DB(45)를 검색하고(58), 그결과, 상기 패킷에서 분리된 IP에 해당하는 목적지 시스템이 OS가 windowNT, 그 서버프로그램이 IIS인 웹서버이면 위험도가 높다는 사실을 경고하거나 알려주고(60,64), 그 이외의 경우에는 경고 등을 진행하지 아니하고 분석을 종료한다(66).
또한 위험도가 높다고 판단한 경우에는, 상기 패킷 분석기(44)는 상기 패킷이 도4에 도시된 바와 같은 계층 구조를 가지는 해킹패턴을 탑재하고 있는 해킹패턴DB(47)의 계층 구조 중 어느 단계에 해당하는지 여부를 판단하여 사용자에게 그 단계를 추가로 알려주거나 경고해 줄 수도 있다(62,64). 도4에 도시된 바와 같이, "코드 레드"에 의한 공격은 바이러스에 의한 서비스 거부 공격의 일종으로, 그로인한 공격 단계는 서비스 거부 초기 단계, 서비스 거부 중간 단계와 서비스 거부 공격 단계로 구분될 수 있고, 각 단계는 단위 시간당 발생되는 서비스 거부 공격 패킷 수에 의해 구분된다. 상기 해킹패턴DB(47)의 계층 구조는 단위 시간당 "코드레드"에 의해 발생되는 패킷의 수를 기준으로 분류되는데, 예컨대 패킷의 수가 30초 동안 10개이내는 서비스 거부 초기 단계로, 10초 동안 100개 이내는 서비스 거부 중간 단계로, 10초 동안 200개 이내는 서비스 거부 공격 단계로 구조화되어 상기 DB(47)에 탑재된다. 따라서, 상기 패킷 분석기(44)는 상기 해킹 패턴DB(47)와 연동되어 "코드레드"에 의해 발생되는 패킷의 수가 30초당 10개 이내라면 사용자에게 서비스 거부 초기 단계임을 알려주고 추후 해킹 행위가 서비스 중간단계와 서비스 공격 단계로 진행될 가능성이 있음을 경보하며, 10초당 100개 이내라면 서비스 중간단계 임을 알려주며 추후 서비스 공격 단계로 진행될 가능성이 있음을 경보하고,10초당 200개 이내라면 서비스 공격 단계임을 경보한다.
상기한 실시예는 본 발명의 일예에 지나지 않으며, 본 발명은 그 기술적 범위를 초과하지 아니하는 어떠한 변경 및 수정도 가능하다.