(19) 대한민국특허청(KR) (12) 공개특허공보(A)
(11) 공개번호 10-2015-0081889 (43) 공개일자 2015년07월15일 (51) 국제특허분류(Int. Cl.)
H04L 12/26
(2006.01)H04L 12/801
(2013.01) (21) 출원번호 10-2014-0001838(22) 출원일자 2014년01월07일 심사청구일자 없음
(71) 출원인
한국전자통신연구원
대전광역시 유성구 가정로 218 (가정동) (72) 발명자
허영준
대전광역시 유성구 가정로 43, 한울아파트 101-401
손선경
대전광역시 유성구 지족로 343, 반석마을아파트 204-104
(뒷면에 계속)
(74) 대리인특허법인태평양 전체 청구항 수 : 총 14 항
(54) 발명의 명칭 제어 네트워크 침해사고 탐지 장치 및 탐지 방법 (57) 요 약
본 발명의 일 실시예에 따른 제어 네트워크 침해사고 탐지 장치는 제어 네트워크를 통해 제어 설비들과 연결되는 제어 네트워크 침해사고 탐지 장치에 있어서, 상기 제어 네트워크를 통해 수집되는 패킷을 파싱하여 플로우 정보 를 추출하는 플로우 정보 추출부, 상기 플로우 정보를 이용하여 플로우 테이블을 생성하는 플로우 정보 관리부, 상기 플로우 테이블에 저장된 플로우 정보를 분석하여 플로우 패턴 정보를 생성하는 플로우 패턴 정보 생성부, 상기 네트워크를 통해 상기 제어 설비들로부터 설정정보를 수집하는 설정정보 수집부, 및 상기 플로우 정보 관리 부로부터 전달되는 상기 플로우 정보 및 상기 플로우 패턴 정보 생성부로부터 전달되는 상기 플로우 패턴 정보 및 상기 설정정보 수집부로부터 전달되는 상기 설정정보를 이용하여 상기 플로우 정보에 대응되는 플로우가 정상 인지 여부를 판단하는 판단부를 포함한다.
대 표 도 - 도2
(72) 발명자 나중찬
대전광역시 유성구 어은로 57, 한빛아파트 119-1304
강동호
대전광역시 유성구 배울2로 61, 테크노밸리 아파트 10단지 1013-1704
김병구
대전광역시 유성구 반석서로 98, 반석마을 6단지 609-1602
이 발명을 지원한 국가연구개발사업 과제고유번호 10041560 부처명 지식경제부
연구관리전문기관 한국산업기술평가관리원 연구사업명 산업원천기술개발사업(지식정보보안)
연구과제명 파이프라인 시설의 가용성 확보를 위한 제어시스템 인트라넷 보호용 침해사고 이상징후 탐 지 및 다중계층 대응기술 개발
기 여 율 1/1
주관기관 한국전자통신연구원 연구기간 2012.06.01 ~ 2015.05.31
명 세 서 청구범위 청구항 1
제어 네트워크를 통해 제어 설비들과 연결되는 제어 네트워크 침해사고 탐지 장치에 있어서, 상기 제어 네트워크를 통해 수집되는 패킷을 파싱하여 플로우 정보를 추출하는 플로우 정보 추출부;
상기 플로우 정보를 이용하여 플로우 테이블을 생성하는 플로우 정보 관리부;
상기 플로우 테이블에 저장된 플로우 정보를 분석하여 플로우 패턴 정보를 생성하는 플로우 패턴 정보 생성부;
상기 제어 네트워크를 통해 상기 제어 설비들로부터 설정정보를 수집하는 설정정보 수집부; 및
상기 플로우 정보 관리부로부터 전달되는 상기 플로우 정보 및 상기 플로우 패턴 정보 생성부로부터 전달되는 상기 플로우 패턴 정보 및 상기 설정정보 수집부로부터 전달되는 상기 설정정보를 이용하여 상기 플로우 정보에 대응되는 플로우가 정상인지 여부를 판단하는 판단부를 포함하는 제어 네트워크 침해사고 탐지 장치.
청구항 2
제 1 항에 있어서,
상기 플로우 정보는 5-Tuple 정보를 포함하고, 상기 5-Tuple 정보는 프로토콜 정보, 소스 IP 주소, 소스 포트번 호, 목적지 IP 주소, 및 목적지 포트번호를 포함하는 것을 특징으로 하는 제어 네트워크 침해사고 탐지 장치.
청구항 3
제 2 항에 있어서,
상기 플로우 테이블은 플로우 별로 산출된 패킷 볼륨, 패킷 개수, 접속 커넥션 수 및 패킷 전송 주기를 포함하 는 것을 특징으로 하는 제어 네트워크 침해사고 탐지 장치.
청구항 4
제 3 항에 있어서,
상기 플로우 패턴 정보 생성부는 상기 패킷 볼륨, 상기 패킷 개수, 상기 접속 커넥션 수 및 상기 패킷 전송 주 기를 시간에 따라 분석하여 상기 플로우 패턴 정보를 생성하는 것을 특징으로 하는 제어 네트워크 침해사고 탐 지 장치.
청구항 5
제 4 항에 있어서,
상기 플로우 패턴 정보는 패킷 볼륨 변화 정보, 패킷 개수 변화 정보, 프로토콜 구성 비율 변화 정보, 패킷 전 송주기 변화 정보, 평균 패킷 볼륨, 및 평균 패킷 전송 주기를 포함하는 것을 특징으로 하는 제어 네트워크 침 해사고 탐지 장치.
청구항 6
제 5 항에 있어서,
상기 설정정보는 허용 소스 IP 주소, 허용 목적지 IP 주소, 허용 목적지 포트번호, 패킷 볼륨 임계값, 패킷 개 수 임계값, 패킷 전송주기 최대 임계값, 패킷 전송주기 최소 임계값, 접속 커넥션 수 최대 임계값, 폐기되는 패 킷 개수 임계값 및 기준 프로토콜 구성 비율을 포함하는 것을 특징으로 하는 제어 네트워크 침해사고 탐지 장치.
청구항 7
제 1 항에 있어서,
상기 판단부의 판단 결과에 따라 상기 플로우가 비정상으로 판단되는 경우 경보를 발생하는 경보 발생부를 더 포함하는 것을 특징으로 하는 제어 네트워크 침해사고 탐지 장치.
청구항 8
제어 네트워크를 통해 제어 설비들과 연결되는 네트워크 침해사고 탐지 장치의 탐지 방법에 있어서, 상기 제어 네트워크를 통해 수집되는 패킷을 파싱하여 플로우 정보를 추출하는 단계;
상기 제어 네트워크를 통해 상기 제어 설비들로부터 설정정보를 수집하는 단계;
상기 플로우 정보를 이용하여 플로우 테이블을 생성하는 단계;
상기 플로우 테이블에 저장된 플로우 정보를 분석하여 플로우 패턴 정보를 생성하는 단계; 및
상기 플로우 정보, 상기 플로우 패턴 정보 및 상기 설정정보를 이용하여 상기 플로우 정보에 대응되는 플로우가 정상인지 여부를 판단하는 단계를 포함하는 탐지 방법.
청구항 9
제 8 항에 있어서,
상기 제어 네트워크를 통해 수집되는 패킷을 파싱하여 플로우 정보를 추출하는 단계 및 상기 제어 네트워크를 통해 상기 제어 설비들로부터 설정정보를 수집하는 단계는 동시에 또는 순차적으로 수행되는 것을 특징으로 하 는 탐지 방법.
청구항 10 제 8 항에 있어서,
상기 플로우 정보는 5-Tuple 정보를 포함하고, 상기 5-Tuple 정보는 프로토콜 정보, 소스 IP 주소, 소스 포트번 호, 목적지 IP 주소, 및 목적지 포트번호를 포함하는 것을 특징으로 하는 탐지 방법.
청구항 11
제 10 항에 있어서,
상기 플로우 테이블은 플로우 별로 산출된 패킷 볼륨, 패킷 개수, 접속 커넥션 수 및 패킷 전송 주기를 포함하 는 것을 특징으로 하는 탐지 방법.
청구항 12
제 11 항에 있어서,
상기 플로우 패턴 정보 생성부는 상기 패킷 볼륨, 상기 패킷 개수, 상기 접속 커넥션 수 및 상기 패킷 전송 주 기를 시간에 따라 분석하여 상기 플로우 패턴 정보를 생성하는 것을 특징으로 하는 탐지 방법.
청구항 13
제 12 항에 있어서,
상기 플로우 패턴 정보는 패킷 볼륨 변화 정보, 패킷 개수 변화 정보, 프로토콜 구성 비율 변화 정보, 패킷 전 송주기 변화 정보, 평균 패킷 볼륨, 및 평균 패킷 전송 주기를 포함하는 것을 특징으로 하는 탐지 방법.
청구항 14
제 13 항에 있어서,
상기 설정정보는 허용 소스 IP 주소, 허용 목적지 IP 주소, 허용 목적지 포트번호, 패킷 볼륨 임계값, 패킷 개 수 임계값, 패킷 전송주기 최대 임계값, 패킷 전송주기 최소 임계값, 접속 커넥션 수 최대 임계값, 폐기되는 패 킷 개수 임계값 및 기준 프로토콜 구성 비율을 포함하는 것을 특징으로 하는 탐지 방법.
발명의 설명 기 술 분 야
본 발명은 제어 네트워크 침해사고 탐지 장치 및 탐지 방법에 관한 것으로, 더욱 상세하게는 제어 네트워크의 [0001]
트래픽 흐름과 제어 시스템 설정정보 등을 분석하여 침해사고를 탐지할 수 있는 제어 네트워크 침해사고 탐지 장치 및 탐지 방법에 관한 것이다.
배 경 기 술
일반적으로 제어 네트워크를 구성하는 제어시스템은 기능과 역할이 미리 정의되어 있고, 주기적이고 규칙적인 [0002]
동작을 반복적으로 수행하며, 시스템간의 통신도 규칙적인 패턴을 갖는다. 또한, 제어시스템은 클라이언트와 서 버의 역할이 미리 정의되어 있고, 사용하는 프로토콜 및 서비스 포트도 한정되어 있으며, 신규 시스템의 추가나 네트워크 설정 변경 등은 거의 발생하지 않는다.
제어시스템은 점차적으로 공개된 소프트웨어 및 표준 통신 프로토콜을 사용하는 추세로 발전하고 있으며, 이에 [0003]
따라 공격자에게 제어시스템의 동작에 대한 많은 정보를 제공하게 됨으로써 제어시스템에 대한 사이버 침해의 가능성과 위험성이 높아지고 있다. 특히, 제어시스템을 겨냥한 사이버 표적공격 위협과 사이버테러로 인한 대규 모 물리적 재난이 발생할 가능성이 대두되고 있으며, 대표적인 사례로 산업시설을 겨냥한 스턱스넷(Stuxnet) 공 격이 있다. 현재 제어시스템 보호를 위해 방화벽, 침입탐지시스템 등의 보안 제품을 외부 네트워크 경계 영역에 위치하여 경계망 중심의 보안 대응을 수행하고 있어 내부 인프라에서 발생되는 문제에는 취약한 상태이다.
발명의 내용 해결하려는 과제
본 발명의 목적은 제어 네트워크의 내부 인프라에서 발생될 수 있는 네트워크 침해사고를 탐지할 수 있는 제어 [0004]
네트워크 침해사고 탐지 장치 및 탐지 방법을 제공하는 데 있다.
본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 [0005]
과제들은 아래의 기재들로부터 당업자에게 명확하게 이해될 수 있을 것이다.
과제의 해결 수단
본 발명의 일 실시예에 따른 제어 네트워크 침해사고 탐지 장치는 네트워크를 통해 제어 설비들과 연결되는 제 [0006]
어 네트워크 침해사고 탐지 장치에 있어서, 상기 제어 네트워크를 통해 수집되는 패킷을 파싱하여 플로우 정보 를 추출하는 플로우 정보 추출부, 상기 플로우 정보를 이용하여 플로우 테이블을 생성하는 플로우 정보 관리부, 상기 플로우 테이블에 저장된 플로우 정보를 분석하여 플로우 패턴 정보를 생성하는 플로우 패턴 정보 생성부, 상기 네트워크를 통해 상기 제어 설비들로부터 설정정보를 수집하는 설정정보 수집부, 및 상기 플로우 정보 관 리부로부터 전달되는 상기 플로우 정보 및 상기 플로우 패턴 정보 생성부로부터 전달되는 상기 플로우 패턴 정 보 및 상기 설정정보 수집부로부터 전달되는 상기 설정정보를 이용하여 상기 플로우 정보에 대응되는 플로우가 정상인지 여부를 판단하는 판단부를 포함한다.
일 실시예에서, 상기 플로우 정보는 5-Tuple 정보를 포함하고, 상기 5-Tuple 정보는 프로토콜 정보, 소스 IP 주 [0007]
소, 소스 포트번호, 목적지 IP 주소, 및 목적지 포트번호를 포함할 수 있다.
일 실시예에서, 상기 플로우 테이블은 플로우 별로 산출된 패킷 볼륨, 패킷 개수, 접속 커넥션 수 및 패킷 전송 [0008]
주기를 포함할 수 있다.
일 실시예에서, 상기 플로우 패턴 정보 생성부는 상기 패킷 볼륨, 상기 패킷 개수, 상기 접속 커넥션 수 및 상 [0009]
기 패킷 전송 주기를 시간에 따라 분석하여 상기 플로우 패턴 정보를 생성할 수 있다.
일 실시예에서, 상기 플로우 패턴 정보는 패킷 볼륨 변화 정보, 패킷 개수 변화 정보, 프로토콜 구성 비율 변화 [0010]
정보, 패킷 전송주기 변화 정보, 평균 패킷 볼륨, 및 평균 패킷 전송 주기를 포함할 수 있다.
일 실시예에서, 상기 설정정보는 허용 소스 IP 주소, 허용 목적지 IP 주소, 허용 목적지 포트번호, 패킷 볼륨 [0011]
임계값, 패킷 개수 임계값, 패킷 전송주기 최대 임계값, 패킷 전송주기 최소 임계값, 접속 커넥션 수 최대 임계
값 및 기준 프로토콜 구성 비율을 포함할 수 있다.
일 실시예에서, 상기 판단부의 판단 결과에 따라 상기 플로우가 비정상으로 판단되는 경우 경보를 발생하는 경 [0012]
보 발생부를 더 포함할 수 있다.
본 발명의 일 실시예에 따른 제어 네트워크 침해사고 탐지 방법은 제어 네트워크를 통해 제어 설비들과 연결되 [0013]
는 제어 네트워크 침해사고 탐지 장치의 탐지 방법에 있어서, 상기 제어 네트워크를 통해 수집되는 패킷을 파싱 하여 플로우 정보를 추출하는 단계, 상기 제어 네트워크를 통해 상기 제어 설비들로부터 설정정보를 수집하는 단계, 상기 플로우 정보를 이용하여 플로우 테이블을 생성하는 단계, 상기 플로우 테이블에 저장된 플로우 정보 를 분석하여 플로우 패턴 정보를 생성하는 단계, 및 상기 플로우 정보, 상기 플로우 패턴 정보 및 상기 설정정 보를 이용하여 상기 플로우 정보에 대응되는 플로우가 정상인지 여부를 판단하는 단계를 포함한다.
일 실시예에서, 상기 제어 네트워크를 통해 수집되는 패킷을 파싱하여 플로우 정보를 추출하는 단계 및 상기 제 [0014]
어 네트워크를 통해 상기 제어 설비들로부터 설정정보를 수집하는 단계는 동시에 또는 순차적으로 수행될 수 있 다.
발명의 효과
본 발명의 일 실시예에 따른 제어 네트워크 침해사고 탐지 장치 및 탐지 방법은 네트워크의 내부 인프라에서 발 [0015]
생될 수 있는 네트워크 침해사고를 탐지할 수 있다.
나아가, 본 발명의 일 실시예에 따른 제어 네트워크 침해사고 탐지 장치 및 탐지 방법은 제어 네트워크 침해사 [0016]
고를 탐지함으로써 제어 시스템의 가용성을 향상시킬 수 있다.
도면의 간단한 설명
도 1은 본 발명의 일 실시예에 따른 제어 네트워크 침해사고 탐지 장치의 네트워크 연결을 보여준다.
[0017]
도 2는 본 발명의 일 실시예에 따른 제어 네트워크 침해사고 탐지 장치를 보여주는 블록도이다.
도 3은 본 발명의 일 실시예에 따른 제어 네트워크 침해사고 탐지 방법을 보여주는 흐름도이다.
도 4 내지 도 9는 본 발명의 일 실시예에 따른 제어 네트워크 침해사고 탐지 방법의 구체적인 적용예를 보여준 다.
발명을 실시하기 위한 구체적인 내용
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호 [0018]
를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명의 실시예를 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 실시예에 대한 이해를 방해한다고 판단되는 경우에는 그 상세한 설명은 생략한 다.
또한, 본 발명의 실시예의 구성 요소를 설명하는 데 있어서, 제 1, 제 2, A, B, (a), (b) 등의 용어를 사용할 [0019]
수 있다. 이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등이 한정되지 않는다.
도 1은 본 발명의 일 실시예에 따른 제어 네트워크 침해사고 탐지 장치의 네트워크 연결을 보여준다.
[0020]
도 1을 참조하면, 본 발명의 일 실시예에 따른 제어 네트워크 침해사고 탐지 장치(100, 이하에서 '탐지 장치'라 [0021]
고 칭함)는 네트워크(ex. 인트라넷)를 통해 PLC(10), RTU(20), 분산 제어 시스템(30), 데이터 이력 관리 장치 (40), 및 라우터(50)와 연결될 수 있다.
PLC(Programmable Logic Controller, 10), RTU(Remote Terminal Unit, 20), 분산 제어 시스템(Distributed [0022]
Control System, DCS, 30), 및 데이터 이력 관리 장치(40)는 제어 설비들의 일 예로서, 이들은 제어 시스템을 구성할 수 있으며, 이러한 제어 시스템은 사용하는 프로토콜, 서비스 포트가 한정되어 있고, 신규 시스템(또는 설비)의 추가나 네트워크 설정 변경은 일반적으로 거의 발생하지 않는다. 한편, 도 1에 도시된 탐지 장치(100) 의 네트워크 연결은 예시에 불과하며, 여기에 한정되지 않는 것으로 이해되어야 할 것이다.
탐지 장치(100)는 네트워크(ex. 인트라넷)를 통해 PLC(10), RTU(20), 분산 제어 시스템(30), 데이터 이력 관리 [0023]
장치(40), 및 라우터(50)로부터 플로우 정보 및 각 설비의 설정정보를 수집할 수 있다. 또한, 탐지 장치(100)는 수집된 플로우 정보를 분석하여 플로우 패턴 정보를 생성할 수 있다.
탐지 장치(100)는 플로우 정보, 플로우 패턴 정보, 및 각 설비의 설정정보를 이용하여 상기 플로우 정보에 대응 [0024]
되는 플로우가 정상인지 여부를 판단할 수 있다. 예를 들어, 탐지 장치(100)는 플로우 정보와 각 설비의 설정정 보의 상호 연관성을 분석하여 플로우 정보에 대응되는 플로우가 정상인지 여부를 판단할 수 있다. 탐지 장치 (100)는 플로우가 비정상으로 판단되는 경우 네트워크 침해사고가 발생된 것으로 판단하여 경보를 발생할 수 있 다.
따라서, 본 발명의 일 실시예에 따른 탐지 장치(100)는 제어 네트워크 내부적으로 발생되는 사이버 공격을 효율 [0025]
적으로 탐지하여 제어 시스템의 가용성과 안정성을 향상시킬 수 있다. 탐지 장치(100)는 이하의 도 2를 참조하 여 더욱 구체적으로 설명될 것이다.
도 2는 본 발명의 일 실시예에 따른 제어 네트워크 침해사고 탐지 장치를 보여주는 블록도이다.
[0026]
도 2를 참조하면, 본 발명의 일 실시예에 따른 탐지 장치(100)는 플로우 정보 추출부(111), 플로우 정보 관리부 [0027]
(112), 플로우 테이블(113), 플로우 패턴 정보 생성부(114), 설정정보 수집부(115), 판단부(116), 및 경보 발생 부(117)를 포함할 수 있다.
플로우 정보 추출부(111)는 제어 네트워크를 통해 수집되는 패킷을 파싱(parsing)하여 플로우 정보를 추출할 수 [0028]
있다. 예를 들어, 플로우 정보는 5-Tuple 정보를 포함할 수 있으며, 구체적으로, 5-Tuple 정보는 프로토콜 정보, 소스 IP주소, 소스 포트번호, 목적지 IP주소, 및 목적지 포트번호를 포함할 수 있다.
플로우 정보 관리부(112)는 추출된 플로우 정보를 이용하여 플로우 테이블을 생성할 수 있다. 이를 위해, 플로 [0029]
우 정보 관리부(112)는 추출된 프로토콜 정보, 소스 IP주소, 소스 포트번호, 목적지 IP주소, 및 목적지 포트번 호를 이용하여 플로우 별로 패킷 볼륨, 패킷 개수, 접속 커넥션 수 및 패킷 전송주기를 산출할 수 있다. 플로우 정보 관리부(112)는 프로토콜 정보, 소스 IP주소, 소스 포트번호, 목적지 IP주소, 목적지 포트번호, 패킷 볼륨, 패킷 개수, 접속 커넥션 수 및 패킷 전송주기를 판단부(116)로 전달할 수 있다.
플로우 정보 테이블(113)은 산출된 패킷 볼륨, 패킷 개수, 접속 커넥션 수 및 패킷 전송주기를 저장할 수 [0030]
있다.
플로우 패턴 정보 생성부(114)는 플로우 정보 테이블(113)에 저장된 패킷 볼륨, 패킷 개수, 접속 커넥션 수 및 [0031]
패킷 전송주기를 분석하여 플로우 패턴 정보를 생성할 수 있다. 예를 들어, 플로우 패턴 정보 생성부(114)는 시 간대 별로 패킷 볼륨, 패킷 개수 및 패킷 전송주기를 분석하여 플로우 패턴 정보를 생성할 수 있다. 플로우 패 턴 정보는 예를 들어, 패킷 볼륨 변화 정보, 패킷 개수 변화 정보, 프로토콜 구성 비율 변화 정보, 패킷 전송주 기 변화 정보, 평균 패킷 볼륨, 및 평균 패킷 전송 주기를 포함할 수 있다.
설정정보 수집부(115)는 제어 네트워크를 통해 각 제어 설비(PLC(10), RTU(20), 분산 제어 시스템(30), 데이터 [0032]
이력 관리 장치(40), 및 라우터(50))로부터 설비 설정정보를 수집할 수 있다. 설정정보는 예를 들어, 허용 소스 IP주소, 허용 목적지 IP주소, 허용 목적지 포트번호, 패킷 볼륨 임계값, 패킷 개수 임계값, 패킷 전송주기 최대 임계값, 패킷 전송주기 최소 임계값, 접속 커넥션 수 최대 임계값, 폐기되는 패킷 개수 임계값 및 기준 프로토 콜 구성 비율을 포함할 수 있다.
판단부(116)는 플로우 정보 관리부(112)로부터 전달되는 플로우 정보, 플로우 패턴 정보 생성부(114)로부터 전 [0033]
달되는 플로우 패턴 정보, 및 설정정보 수집부(115)로부터 전달되는 설정정보를 이용하여 상기 플로우 정보에 대응되는 플로우가 정상인지 여부를 판단할 수 있다.
예를 들어, 판단부(116)는 플로우 정보 중 소스 IP주소가 허용 소스 IP주소와 일치하는 경우 소스 IP주소에 대 [0034]
응되는 플로우를 정상 플로우로 판단하고, 소스 IP주소가 허용 소스 IP주소와 일치하지 않는 경우 상기 플로우 를 비정상 플로우로 판단할 수 있다. 또한, 예를 들어, 판단부(116)는 플로우 정보를 이용하여 산출된 패킷 볼 륨이 패킷 볼륨 임계값보다 큰 경우, 또는 패킷 볼륨이 패킷 볼륨 임계값과 같거나 그보다 작지만 패킷 볼륨 변 화 정보 상에서 패킷 볼륨이 지속적으로 증가하는 경우 해당 플로우를 비정상 플로우로 판단할 수 있다.
즉, 제어 시스템의 경우 일반적으로 프로토콜, IP주소, 서비스 포트, 네트워크 설정 등이 거의 변경되지 않으므 [0035]
로 판단부(116)는 상술한 바와 같이 플로우 정보, 플로우 패턴 정보, 및 설정정보를 이용하여 플로우가 정상인 지 여부를 판단할 수 있다.
경보 발생부(117)는 판단부(116)의 판단 결과에 따라 경보를 발생할 수 있다. 예를 들어, 경보 발생부(117)는 [0036]
판단부(116)가 플로우를 비정상으로 판단하는 경우 경보를 발생할 것이다.
도 3은 본 발명의 일 실시예에 따른 제어 네트워크 침해사고 탐지 방법을 보여주는 흐름도이다.
[0037]
도 3을 참조하면, 본 발명의 일 실시예에 따른 제어 네트워크 침해사고 탐지 방법은 네트워크를 통해 수집된 패 [0038]
킷을 파싱하여 플로우 정보를 추출하는 단계(S110), 제어 설비로부터 설정정보를 수집하는 단계(S120), 플로우 정보를 이용하여 플로우 테이블을 생성하는 단계(S130), 플로우 테이블에 저장된 플로우 정보들을 분석하여 플 로우 패턴 정보를 생성하는 단계(S140), 및 플로우 정보, 플로우 패턴 정보, 및 설정정보를 이용하여 플로우가 정상인지 여부를 판단하는 단계(S150)를 포함할 수 있다.
이하에서, 도 2 및 도 3을 참조하여 상술한 S110 내지 S150 단계가 구체적으로 설명될 것이다.
[0039]
S110 단계에서, 플로우 정보 추출부(111)는 제어 네트워크를 통해 수집되는 패킷을 파싱(parsing)하여 플로우 [0040]
정보를 추출할 수 있다. 패킷은 예를 들어, 네트워크에 연결된 제어 설비들 간에 전달되는 패킷일 수 있으며, 이에 한정되는 것은 아니다. 추출되는 플로우 정보는 예를 들어, 5-Tuple 정보를 포함할 수 있으며, 상술한 바 와 같이, 5-Tuple 정보는 프로토콜 정보, 소스 IP주소, 소스 포트번호, 목적지 IP주소, 및 목적지 포트번호를 포함할 수 있다.
S120 단계에서, 설정정보 수집부(115)는 제어 네트워크를 통해 제어 설비로부터 설정정보를 수집할 수 있다. 예 [0041]
를 들어, S120 단계는 S110 단계와 동시에 수행될 수 있고, S110 단계 이전에 수행될 수도 있다. 설정정보는 허 용 소스 IP 주소, 허용 목적지 IP 주소, 허용 목적지 포트번호, 패킷 볼륨 임계값, 패킷 개수 임계값, 패킷 전 송주기 최대 임계값, 패킷 전송주기 최소 임계값, 접속 커넥션 수 최대 임계값, 폐기되는 패킷 개수 임계값 및 기준 프로토콜 구성 비율을 포함할 수 있다.
S130 단계에서, 플로우 정보 관리부(112)는 플로우 정보를 이용하여 플로우 테이블(113)을 생성할 수 있다. 구 [0042]
체적으로, 플로우 정보 관리부(112)는 상술한 5-Tuple 정보를 이용하여 플로우 별로 패킷 볼륨, 패킷 개수, 및 패킷 전송주기를 산출하고, 산출된 패킷 볼륨, 패킷 개수, 접속 커넥션 수 및 패킷 전송주기를 플로우 별로 플 로우 테이블(113)에 저장할 수 있다.
S140 단계에서, 플로우 패턴 정보 생성부(114)는 플로우 테이블(113)에 저장된 플로우 정보를 분석하여 플로우 [0043]
별로 플로우 패턴 정보를 생성할 수 있다. 플로우 패턴 정보는 패킷 볼륨 변화 정보, 패킷 개수 변화 정보, 프 로토콜 구성 비율 변화 정보, 패킷 전송주기 변화 정보, 평균 패킷 볼륨, 및 평균 패킷 전송 주기를 포함할 수 있다.
S150 단계에서, 판단부(116)는 플로우 정보, 플로우 패턴 정보, 및 설정정보를 이용하여 플로우 정보에 대응되 [0044]
는 플로우가 정상인지 여부를 판단할 수 있다. 판단 결과, 플로우가 비정상인 경우 네트워크 침해사고가 발생한 것으로 탐지될 것이다.
이하에서는, S150 단계의 구체적인 적용예들이 도 4 내지 도 9를 참조하여 설명될 것이다.
[0045]
도 4 내지 도 9는 본 발명의 일 실시예에 따른 제어 네트워크 침해사고 탐지 방법의 구체적인 적용예를 보여준 [0046]
다.
먼저, 도 4를 참조하면, 판단부(116)는 플로우 정보 관리부(112)로부터 전달되는 소스 IP주소가 허용 소스 IP주 [0047]
소와 일치하는지 여부를 판단할 수 있다(S151). 판단 결과, 소스 IP주소가 허용 소스 IP주소와 일치하는 경우 플로우를 정상으로 판단할 수 있다(S152). 반면에, 소스 IP주소가 허용 소스 IP주소와 일치하지 않는 경우 플로 우를 비정상으로 판단할 수 있다(S153).
도 5를 참조하면, 판단부(116)는 플로우 정보 관리부(112)로부터 전달되는 목적지 포트번호가 허용 목적지 포트 [0048]
번호와 일치하는지 여부를 판단할 수 있다(S251). 판단 결과, 목적지 포트번호가 허용 목적지 포트번호와 일치 하는 경우 플로우를 정상으로 판단할 수 있다(S252). 반면에, 목적지 포트번호가 허용 목적지 포트번호와 일치 하지 않는 경우 플로우를 비정상으로 판단할 수 있다(S253).
한편, 도 4 및 도 5에는 도시되지 않았으나, 판단부(116)는 플로우 패턴 정보 생성부(114)로부터 전달되는 프로 [0049]
토콜 구성 비율 변화 정보를 설정정보 수집부(115)로부터 전달되는 기준 프로토콜 구성 비율과 비교하여 대응되 는 플로우가 정상인지 여부를 판단할 수 있다.
도 6을 참조하면, 판단부(116)는 플로우 정보 관리부(112)로부터 전달되는 패킷 볼륨을 패킷 볼륨 임계값과 비 [0050]
교할 수 있다(S351). 비교 결과, 패킷 볼륨이 패킷 볼륨 임계값보다 크지 않은 경우 플로우 패턴 정보 중 패킷 볼륨 변화 정보를 이용하여 패킷 볼륨이 지속적으로 증가하는지 여부를 판단할 수 있다(S352). 판단 결과, 패킷 볼륨이 지속적으로 증가하지 않는 경우 대응되는 플로우를 정상 플로우로 판단할 수 있다(S353). 반면에, 패킷 볼륨이 패킷 볼륨 임계값보다 크거나, 패킷 볼륨이 지속적으로 증가하는 경우 비정상 플로우로 판단할 수 있다 (S354).
도 7을 참조하면, 판단부(116)는 플로우 정보 관리부(112)로부터 전달되는 패킷 개수를 패킷 개수 임계값과 비 [0051]
교할 수 있다(S451). 비교 결과, 패킷 개수가 패킷 개수 임계값보다 크지 않은 경우 플로우 패턴 정보 중 패킷 개수 변화 정보를 이용하여 패킷 개수가 지속적으로 증가하는지 여부를 판단할 수 있다(S452). 판단 결과, 패킷 개수가 지속적으로 증가하지 않는 경우 대응되는 플로우를 정상 플로우로 판단할 수 있다(S453). 반면에, 패킷 개수가 패킷 개수 임계값보다 크거나, 패킷 개수가 지속적으로 증가하는 경우 비정상 플로우로 판단할 수 있다 (S454).
도 8을 참조하면, 판단부(116)는 플로우 정보 관리부(112)로부터 전달되는 패킷 전송주기를 패킷 전송주기 최대 [0052]
임계값과 비교할 수 있다(S551). 비교 결과, 패킷 전송주기가 패킷 전송주기 최대 임계값보다 큰 경우 패킷 전 송주기에 대응되는 플로우가 수행되는 제어 설비들의 동작 오류로 판단할 수 있다(S552). 비교 결과, 패킷 전송 주기가 패킷 전송주기 최대 임계값보다 크지 않은 경우 패킷 전송주기를 패킷 전송주기 최소 임계값과 비교할 수 있다(S553). 비교 결과, 패킷 전송주기가 패킷 전송주기 최소 임계값보다 작지 않은 경우 패킷 전송주기에 대응되는 플로우를 정상 플로우로 판단할 수 있다(S554). 반면에, 패킷 전송주기가 패킷 전송주기 최소 임계값 보다 작은 경우 패킷 전송주기에 대응되는 플로우를 비정상 플로우로 판단할 수 있다(S555).
도 9를 참조하면, 판단부(116)는 플로우 정보 관리부(112)로부터 전달되는 패킷 볼륨을 플로우 패턴 정보 생성 [0053]
부(114)로부터 전달되는 평균 패킷 볼륨과 비교할 수 있다(S651). 비교 결과, 패킷 볼륨이 평균 패킷 볼륨보다 α배(α는 양의 실수) 큰 경우 패킷 볼륨에 대응되는 플로우를 비정상 플로우로 판단할 수 있다(S655). 비교 결 과, 판단부(116)는 패킷 볼륨이 평균 패킷 볼륨보다 α배 크지 않은 경우 타임아웃되는 패킷 수와 접속 커넥션 수를 비교하고, 폐기되는 패킷 수와 폐기되는 패킷 수의 임계값을 비교할 수 있다(S652). 비교 결과, 타임 아웃 되는 패킷 수가 접속 커넥션 수의 β배(β는 양의 실수) 이상이 아니거나, 폐기되는 패킷 수가 폐기되는 패킷 수의 임계값보다 크지 않은 경우 플로우 정보 관리부(112)로부터 전달되는 패킷 전송주기를 플로우 패턴 정보 생성부(114)로부터 전달되는 평균 패킷 전송주기와 비교할 수 있다(S653). 반면에, 타임 아웃되는 패킷 수가 접 속 커넥션 수의 β배 이상이고, 폐기되는 패킷 수가 폐기되는 패킷 수의 임계값보다 큰 경우 대응되는 플로우를 비정상으로 판단할 수 있다(S655). 비교 결과, 패킷 전송주기가 평균 패킷 전송주기의 γ배(γ는 양의 실수)보 다 작지 않은 경우 정상 플로우로 판단할 수 있다. 반면에, 패킷 전송주기가 평균 패킷 전송주기의 γ배 이하인 경우 비정상 플로우로 판단할 수 있다(S655).
이상의 설명은 본 발명의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명이 속하는 기술 분야에 [0054]
서 통상의 지식을 가진 자라면 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가 능할 것이다. 따라서, 본 발명에 개시된 실시예들은 본 발명의 기술 사상을 한정하기 위한 것이 아니라 설명하 기 위한 것이고, 이러한 실시예에 의하여 본 발명의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
부호의 설명 10: PLC [0055]
20: RTU
30: 분산 제어 시스템 40: 데이터 이력 관리 장치 50: 라우터
100: 제어 네트워크 침해사고 탐지 장치 111: 플로우 정보 추출부
112: 플로우 정보 관리부
113: 플로우 테이블
114: 플로우 패턴 정보 생성부 115: 설정정보 수집부 116: 판단부
117: 경보 발생부
도면 도면1
도면2
도면3
도면4
도면5
도면6
도면7
도면8
도면9