KR102299145B1 - 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템 - Google Patents

디지털 포렌식 증거 수집을 위한 사이버 물리 시스템 Download PDF

Info

Publication number
KR102299145B1
KR102299145B1 KR1020200023055A KR20200023055A KR102299145B1 KR 102299145 B1 KR102299145 B1 KR 102299145B1 KR 1020200023055 A KR1020200023055 A KR 1020200023055A KR 20200023055 A KR20200023055 A KR 20200023055A KR 102299145 B1 KR102299145 B1 KR 102299145B1
Authority
KR
South Korea
Prior art keywords
control command
command packet
cyber
physical system
storage device
Prior art date
Application number
KR1020200023055A
Other languages
English (en)
Other versions
KR20210108176A (ko
Inventor
이창훈
공성현
석병진
조민정
Original Assignee
서울과학기술대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 서울과학기술대학교 산학협력단 filed Critical 서울과학기술대학교 산학협력단
Priority to KR1020200023055A priority Critical patent/KR102299145B1/ko
Publication of KR20210108176A publication Critical patent/KR20210108176A/ko
Application granted granted Critical
Publication of KR102299145B1 publication Critical patent/KR102299145B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/40052High-speed IEEE 1394 serial bus
    • H04L12/40071Packet processing; Packet format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • H04L43/106Active monitoring, e.g. heartbeat, ping or trace-route using time related information in packets, e.g. by adding timestamps
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L2012/40208Bus networks characterized by the use of a particular bus standard
    • H04L2012/40228Modbus

Abstract

실시예에 따르면, 사이버 물리 시스템상에서 제어 명령 패킷을 발생시키는 엔지니어링 워크스테이션 및 운영 인터페이스, 그리고 상기 제어명령 패킷을 저장하는 운영 로그 저장 장치를 포함하는 상위 계층; 및 상기 제1계층과 모드 버스 프로토콜 방식으로 통신을 수행하여 상기 제어명령 패킷을 수신하며, 상기 제어명령 패킷, 상기 제어명령 패킷의 수신 시점의 타임스탬프 및 상기 제어명령 패킷을 전달한 상위 계층의 노드 정보를 저장하는 제어 로그 저장 장치를 포함하는 하위 계층을 포함하며, 상기 제어명령 패킷은 타겟 주소, 기능 코드, 데이터 섹션, 체크섬, 사용자 정보 및 타임 스탬프를 포함하는 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템을 제공한다.

Description

디지털 포렌식 증거 수집을 위한 사이버 물리 시스템{Cyber Physical System for digital forensic evidence collection}
본 발명의 일실시예는 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템 에 관한 것으로, 더욱 구체적으로는 퍼듀 모델이 적용된 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템에 관한 것이다.
최신 IT 기술들의 접목으로 인해 많은 분야에서 스마트 기술들이 적용되고 있으며, 특히 산업 분야에서 스마트그리드 및 스마트팩토리를 필두로 다양한 스마트산업이 육성되고 있다. 사이버 물리 시스템(Cyber-Physical System, CPS)은 물리적 산업제어 환경을 네트워크를 기반으로 운용 및 관리할 수 있도록 구축된 시스템으로 다양한 IT 기술을 적용함으로써 공정 및 운영상의 최적화를 도모한다.
CPS는 주로 발전소 및 대규모 공장 설비 등의 국가 인프라에 적용되는데, 댐이나 핵발전소 등에 적용된 CPS에 대한 공격은 국가 재난 수준의 피해를 일으킬 수 있으며, 최근 국가 인프라에 대한 사이버 공격의 수준과 빈도가 급증하면서 CPS에 대한 보안 체계의 중요성이 증가하고 있다. 대부분의 CPS 인프라는 보안성 향상을 위해 망 분리를 통해 외부망과 차단된 형태로 동작하며, CPS를 대상으로 하는 사이버 공격들은 외부로부터의 접근 및 내부자를 통한 접근을 통해 수행된다. 이러한 접근 행위들은 네트워크상의 로그 정보로 기록되며, 이러한 정보들은 디지털포렌식을 통해 사이버 공격의 원인 규명 및 해결방안 도출에 활용될 수 있다.
디지털포렌식(Digital Forensics)은 범죄 행위와 관련된 증거를 확보하기 위해 디지털 매체로부터 데이터를 수집, 분석하는 일련의 절차이며, 사이버 공격의 추적 및 조사의 핵심적인 수사기법이다. CPS는 물리적 설비를 제어하는 과정에서 필연적으로 네트워크 상의 행위가 수반되며, CPS에 대한 사용자 및 관리자의 행위정보를 시간적 요소(타임스탬프)와 함께 재구성함으로써 디지털포렌식 과정에 유의미한 정보를 산출할 수 있다.
이미, 적합한 CPS 환경을 구성하기 위한 프레임워크에 대한 연구들이 다수 수행된 바 있으며, IEC 62443 표준으로 제정된 퍼듀 모델(Purdue Model)과 같이 보안적 기능을 포함한 모델이 산업 전반적으로 활용되고 있다. 일반적으로 이러한 프레임워크에 포함된 보안 기능들은 외부망으로부터의 침입을 방화벽 및 IDMZ(Industrial Demilitarized Zone) 기술로 방어하고, 내부적인 비정상 행위에 대해서는 로그 정보에 대한 모니터링 및 분석을 통해 전체 시스템을 보호한다. 그러나, 일반적인 산업환경의 보안 모니터링 시스템은 기본적인 동작에 대한 상태 정보만을 저장하며, 유사시 법적 증거 효력을 지닐 수 있는 형태의 데이터나 발생한 공격의 근원지를 추적하기 위한 단서로써의 능력은 부족한 실정이다.
따라서, CPS가 국가 인프라와 직결되어 있으며 동시에 일반 네트워크의 구성과 달리하는 만큼 디지털포렌식의 원리와 절차에 근거하여 CPS에 적합한 보안 체계의 구성을 통해 인프라에 대한 보안성 제고가 필요하다.
본 발명이 이루고자 하는 기술적 과제는 산업 제어 환경에서 다양한 유형의 사이버 공격 및 비 인가자에 의하여 수행된 부적절한 행위를 추적하기 위한 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템을 제공하는데 있다.
실시예에 따르면, 사이버 물리 시스템상에서 제어 명령 패킷을 발생시키는 엔지니어링 워크스테이션 및 운영 인터페이스, 그리고 상기 제어명령 패킷을 저장하는 운영 로그 저장 장치를 포함하는 상위 계층; 및 상기 제1계층과 모드 버스 프로토콜 방식으로 통신을 수행하여 상기 제어명령 패킷을 수신하며, 상기 제어명령 패킷, 상기 제어명령 패킷의 수신 시점의 타임스탬프 및 상기 제어명령 패킷을 전달한 상위 계층의 노드 정보를 저장하는 제어 로그 저장 장치를 포함하는 하위 계층을 포함하며, 상기 제어명령 패킷은 기능 코드, 데이터 섹션, 사용자 정보 및 타임 스탬프를 포함하는 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템을 제공한다.
상기 기능 코드는 상기 사용자 정보 및 상기 타임 스탬프가 포함되어 있음을 표현하기 위하여 XOR 논리 연산이 적용될 수 있다.
상기 하위 계층은 상기 기능 코드의 최상위 비트를 통하여 상기 사용자 정보 및 상기 타임 스탬프가 상기 제어명령 패킷에 포함되어 있는지 여부를 확인할 수 있다.
상기 제어명령 패킷은 상기 해쉬 알고리즘을 통하여 해시된 값과 함꼐 로깅 프레임 형태로 상기 운영 로그 저장 장치 및 상기 제어 로그 저장 장치에 각각 저장될 수 있다.
상기 사용자 정보는 권한 코드 및 사용자 코드를 포함할 수 있다.
본 발명인 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템은 산업 제어 환경에서 다양한 유형의 사이버 공격 및 비 인가자에 의하여 수행된 부적절한 행위에 대하여 효율적으로 대응하고 이를 신속하게 추적할 수 있는 정보를 제공한다.
또한, 사이버 물리 시스템의 내부망에서 수행되는 사용자의 일련의 행위들에 대한 로그 정보를 수집하고, 이를 체계적으로 관리할 수 있다.
또한, 사이버 공격에 대한 수사 과정에서 법적 효력을 지닌 증거 데이터로써 활용 가능한 정보를 신속하고 정확하게 수집할 수 있다.
도1은 실시예에 따른 사이버 물리 시스템의 개념도이다.
도2는 실시예에 따른 사이버 물리 시스템의 통신 방식을 설명하기 위한 개념도이다.
도3 및 도4는 실시예에 따른 제어 명령 패킷의 개념도이다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명한다.
다만, 본 발명의 기술 사상은 설명되는 일부 실시 예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 기술 사상 범위 내에서라면, 실시 예들간 그 구성 요소들 중 하나 이상을 선택적으로 결합, 치환하여 사용할 수 있다.
또한, 본 발명의 실시예에서 사용되는 용어(기술 및 과학적 용어를 포함)는, 명백하게 특별히 정의되어 기술되지 않는 한, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 일반적으로 이해될 수 있는 의미로 해석될 수 있으며, 사전에 정의된 용어와 같이 일반적으로 사용되는 용어들은 관련 기술의 문맥상의 의미를 고려하여 그 의미를 해석할 수 있을 것이다.
또한, 본 발명의 실시예에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다.
본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함할 수 있고, "A 및(와) B, C 중 적어도 하나(또는 한 개 이상)"로 기재되는 경우 A, B, C로 조합할 수 있는 모든 조합 중 하나 이상을 포함할 수 있다.
또한, 본 발명의 실시 예의 구성 요소를 설명하는 데 있어서, 제1, 제2, A, B, (a), (b) 등의 용어를 사용할 수 있다.
이러한 용어는 그 구성 요소를 다른 구성 요소와 구별하기 위한 것일 뿐, 그 용어에 의해 해당 구성 요소의 본질이나 차례 또는 순서 등으로 한정되지 않는다.
그리고, 어떤 구성 요소가 다른 구성요소에 '연결', '결합' 또는 '접속'된다고 기재된 경우, 그 구성 요소는 그 다른 구성 요소에 직접적으로 연결, 결합 또는 접속되는 경우뿐만 아니라, 그 구성 요소와 그 다른 구성 요소 사이에 있는 또 다른 구성 요소로 인해 '연결', '결합' 또는 '접속' 되는 경우도 포함할 수 있다.
또한, 각 구성 요소의 "상(위) 또는 하(아래)"에 형성 또는 배치되는 것으로 기재되는 경우, 상(위) 또는 하(아래)는 두 개의 구성 요소들이 서로 직접 접촉되는 경우뿐만 아니라 하나 이상의 또 다른 구성 요소가 두 개의 구성 요소들 사이에 형성 또는 배치되는 경우도 포함한다. 또한, "상(위) 또는 하(아래)"으로 표현되는 경우 하나의 구성 요소를 기준으로 위쪽 방향뿐만 아니라 아래쪽 방향의 의미도 포함할 수 있다.
이하, 첨부된 도면을 참조하여 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 대응하는 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
도1은 실시예에 따른 사이버 물리 시스템의 개념도이고, 도2는 실시예에 따른 사이버 물리 시스템의 통신 방식을 설명하기 위한 개념도이다.
도1 및 도2를 참조하면, 실시예에 따른 사이버 물리 시스템(시스템(Cyber-Physical System, CPS)은 산업 제어 계층적 CPS 환경에 대해서, 계층별 로그 정보 수집 및 관리 체계로 구성된다. 산업 제어 환경은 전체 시스템의 구성을 제0계층에서 제5계층(level 0~level 5)으로 구분하고 있으며, 그 중 제0계층(level 0)에서 제3계층(level 3)은 실질적인 산업(Industrial) 영역에 해당된다. 실시예에서는 산업 제어 환경 프레임 워크의 표준 모델인 퍼듀 모델(Purdue Model)을 적용한 사이버 물리 시스템에서, 내부 산업 영역의 보안성 제고를 위해 제1계층(level 1)과 제2계층(level 2)에 로그 저장장치를 구성하였다.
이하에서는 전술한 제2계층은 상위 계층으로, 제1계층은 하위 계층으로 명시하여 설명하기로 한다.
실시예에 따른 사이버 물리 시스템(1)의 상위 계층은 사용자를 통하여 제어 명령 패킷이 생성되는 운영 인터페이스(11), 엔지니어링 워크 스테이션(12), 그리고 제어 명령 패킷이 저장되는 운영 로그 저장 장치(13)를 포함할 수 있다.
또한, 하위 계층은 상위 계층과 모드 버스 프로토콜 방식으로 통신을 수행하여 제어명령 패킷을 수신하며, 실제 물리적 설비의 동작과 운용을 위한 제어 PLC(Programmable Logic Controller) 설비(21, 22, 23)와 각 제어 PLC에 부착된 제어 로그 저장장치(24, 25, 26)를 포함할 수 있다.
상위 계층은 사이버 물리 시스템상에서 제어 명령 패킷을 발생시키는 엔지니어링 워크스테이션(12) 및 운영 인터페이스(11), 그리고 제어명령 패킷을 저장하는 운영 로그 저장 장치(13)를 포함할 수 있다.
상위 계층은 실제 사용자가 엔지니어링 워크스테이션(12) 및 운영 인터페이스(11)를 통해 사이버 물리 시스템(1)에 실질적인 제어 명령을 전달하는 영역이며, 이 영역에서 발생한 모든 명령 및 행위정보는 명령이 생성된 시점 및 명령을 생성한 사용자 정보와 함께 운영 로그 저장장치(13)에 저장될 수 있다.
실시예에서, 하위 계층은 상위 계층과 모드 버스 프로토콜 방식으로 통신을 수행하여 제어명령 패킷을 수신하며, 제어명령 패킷, 제어명령 패킷의 수신 시점의 타임스탬프 및 제어명령 패킷을 전달한 계층의 노드 정보를 저장하는 제어 로그 저장 장치(24, 25, 26)를 포함할 수 있다.
하위계층은 실제 물리적 설비의 동작과 운용을 위한 제어 PLC설비(21, 22, 23)들이 위치한 계층으로, 전체 시스템의 실질적인 동작을 담당한다. 상위 계층에서 하위 계층으로 전달된 모든 실질적 명령 신호들은 모드 버스(Modbus) 통신 프로토콜을 통해 전송되며, 각 제어 PLC(21, 22, 23)에 부착된 제어 로그 저장장치(24, 25, 26)에 실제 명령이 수신된 시점의 타임스탬프 및 명령어를 전달한 상위 계층의 노드 정보와 함께 저장될 수 있다.
실시예에 따른 사이버 물리 시스템(1)은, 산업 영역에서 디지털포렌식의 의미를 지닌 데이터를 수집·관리하기 위한 방법과 시스템에 대한 것으로, 모드버스 통신 프로토콜을 사용하는 산업 제어 시스템에 적용될 수 있다. 모드버스 통신 프로토콜은 산업 제어 환경에서 사실상의 표준(de-facto standard)으로 사용되고 있는 통신 프로토콜로, 모드버스-RTU 방식, 모드버스-ASCII 방식, 모드버스-TCP 방식으로 운용될 수 있다. 모드버스-RTU 방식과 모드버스-ASCII 방식은 직렬(Serial) 통신을 통해 운용되며, 모드버스-TCP 방식은 TCP/IP 통신을 통해 운용될 수 있다.
모드버스 프로토콜은 요청 및 응답 모델(request and reply model)을 사용하는 통신 프로토콜이며, 모드버스 프로토콜에 의해 생성된 제어명령 패킷은 기능 코드(function code) 영역과 데이터 섹션(data section) 영역을 포함할 수 있다.
이 때, 모드버스 프로토콜은 연결 방식에 따라 서로 다른 형태의 데이터 패킷 프레임 구조를 사용할 수 있다.
실시예에서, 각 저장 장치(13, 24, 25, 26)는 실제 제어 명령 패킷의 송신부와 수신부에서 해당 명령의 생성자, 생성 시점(타임스탬프) 및 명령어 내용을 무결성이 보장된 형태로 저장함으로써 유사시 디지털포렌식을 위한 법적 증거자료 및 공격의 근원지 추적을 위한 정보로 활용될 수 있다. 이러한 형태의 데이터 구성은 기존 산업제어 환경의 프레임워크의 보안 모니터링 기능의 한계였던 디지털포렌식 관점의 보안 능력을 포함할 수 있으며, 제어 명령의 송신부와 수신부에서의 이차 검증을 통해 디지털포렌식의 핵심 요소 중 하나인 데이터의 무결성에 대한 요구수준을 효과적으로 만족할 수 있다.
도3 및 도4는 실시예에 따른 제어 명령 패킷의 개념도이다. 도3을 참조하면, 제어명령 패킷은 기능 코드, 데이터 섹션, 사용자 정보 및 타임 스탬프를 포함할 수 있다.
상위 계층 디바이스와 하위 계층 디바이스가 시리얼(Serial)을 통해 연결된 범용 모드버스로 통신을 수행할 경우(모드버스-RTU 및 모드버스-ASCII), 전체 제어 명령 패킷 구조인 응용 데이터 유닛(Application Data Unit, ADU)은 타겟 주소, 기능 코드, 데이터 섹션, 체크섬, 사용자 정보 및 타임 스탬프를 포함할 수 있다. 타겟 주소는 제어 명령 패킷이 전달될 하위 계층의 제어 PLC설비의 주소를 의미할 수 있다. 기능 코드는 모드버스 프로토콜에서 제공하는 명령어 집합코드이다. 사이버물리 시스템은기능 코드를 사용하여 슬레이브 메모리에 값을 읽어오거나 기록할 수 있다. 데이터 섹션은 기능 코드에 따라 그 구조가 조금식 상이할 수 있다. 데이터 섹션은 기본적으로 시작 주소, 길이 정보, 바이트 계수, 데이터 정보를 포함할 수 있다. 시작 주소는 2바이트의 값으로, 접근하려는 메모리의 시작번지를 나타낸다. 길이 정보는 2바이트의 값으로, 시작 번지부터 값을 읽거나 기록할 길이를 나타낸다. 바이트 계수는 1바이트의 값으로, Request, Response에 따른 메모리 데이터 의 바이트 개수를 나타낸다. 데이터는 N바이트의 값으로, Request, Response에 따른 메모리 데이터의 값을 나타낸다. 체크섬은 2바이트의 값으로, 제어 명령 패킷의 오류를 검증하기 위한 값이다.
또한, 각 디바이스들이 TCP/IP 기반 통신을 수행할 경우, 응용 데이터 유닛의 구조는 MBAP, 기능 코드, 데이터 섹션, 사용자 정보 및 타임 스탬프를 포함할 수 있다. TPC/IP 통신의 경우, 기능 코드, 데이터 섹션으로 구성되는 프로토콜 데이터 유닛(Protocol Data Unit, PDU) 앞에 모드버스 애플리케이션(Modbus Application, MBAP) 헤더가 추가될 수 있다. 모드버스 애플리케이션 헤더는 트랜잭션 ID, 프로토콜 ID, 길이 정보, 유닛 ID를 포함할 수 있다. Transaction ID는 2바이트의 값으로, 쿼리 및 응답에 대해 한쌍으로 작업이 이루어 졌는지를 확인하는 값을 의미한다. 프로토콜 ID는 2바이트의 값으로, 프로토콜 ID를 나타내며 0x0000의 고정값을 사용한다. 길이 정보는 2바이트의 값으로, Length 필드위치에서 프레임 마지막까지의 길이를 나타내는 값으로, 유닛 ID에서 데이터 섹션Data끝까지의 바이트의 수를 나타낸다. 유닛 ID 는 1바이트의 값으로, TPC/IP가 아닌 다른 통신선로의 연결되어 있는 슬레이브를 구분하는 정보이다.
본 발명은 디지털 포렌식 관점에서 유의미한 로그 데이터를 산출하기 위해 상위 계층에서 사용자로 인해 제어 명령이 생성되는 시점에 해당 제어 명령 패킷에 대한 로그 정보를 운영 로그 저장 장치(13)에 기록할 수 있다. 또한, 제어 명령 패킷을 생성한 사용자의 고유 식별 정보(UserID)를 포함하는 사용자 정보와 제어 명령이 생성된 시점의 타임 스탬프 정보를 함께 기록할 수 있다. 각 운영 로그 저장 장치(13)에 저장되는 데이터의 형태는 모드버스 프로토콜의 운용 방식(모드버스-RTU, 모드버스-ASCII, 모드버스-TCP 방식)에 따라 다르게 형성될 수 있다.
실시예에서, 사용자 정보 및 타임 스탬프는 체크섬 또는 데이터 섹션에 연접하여 기록될 수 있다.
사용자 정보는 권한 코드 및 사용자 코드를 포함할 수 있다. 도4를 참조하면, 사용자 정보는 2바이트로 표현되는 값으로, 최상위 5비트의 권한 코드(AC)와 하위 11비트의 사용자 코드(UC)로 구성될 수 있다. 권한 코드는 기능 코드로 표현되는 사이버 물리 시스템상에서 수행할 수 있는 사용자의 권한을 레벨 형식으로 표현한 데이터이고, 사용자 코드는 사용자의 식별 코드를 표현한 데이터일 수 있다. 이를 통하여, 2바이트의 사용자 정보는 32개의 사용자 권한 계층에 대해서 각 계층 당 2,048명의 고유 사용자를 구분할 수 있다. 사용자 정보는 모드 버스 패킷의 마지막 부분에 연접(concatenate)되어 기록될 수 있다.
또한, 실시예에 따른 제어 명령 패킷은 상위 계층에서 수행된 사용자의 제어명령과 관련된 행위 정보를 하위 계층의 제어 PLC설비(21, 22, 23)로 전달하기 위하여 사용자 정보와 함께 타임스탬프를 모드버스의 패킷 프레임 구조에 포함시킬 수 있다. 타임스탬프 정보는 유닉스 시간(UNIX time) 형태를 변조한 6바이트의 데이터로, 세계 협정시 기준(UTC) 1970년 1월 1일 0시 0분 0초를 기준으로 해당 타임스탬프가 생성된 시점의 시간 차이(off-set)를 밀리세컨드(milliseconds) 단위로 표현한 값이다. 예를 들어, 2020년 1월 1일 오전 10시 20분은 1,577,874,000,000으로 표현될 수 있다. 이 타임스탬프 정보는 사용자 정보와 함께 제어 명령 패킷의 마지막 부분에 연접되어 기록 될 수 있다.
또한, 실시예에 따른 제어 명령 패킷의 기능 코드는 사용자 정보 및 타임 스탬프가 포함되어 있음을 표현하기 위하여 XOR 논리 연산이 적용될 수 있다. 이를 통하여, 하위 계층은 기능 코드의 최상위 비트를 통하여 사용자 정보 및 타임 스탬프가 제어명령 패킷에 포함되어 있는지 여부를 확인할 수 있다.
예를 들면, 실시예에 따른 제어 명령 패킷은 하기 수학식 1과 같이 기능 코드에 0x80(1000 0000) 값을 XOR 시켜 해당 패킷의 데이터 섹션의 변경 여부를 표시할 수 있다.
[수학식 1]
Figure 112020019890902-pat00001
수학식 1에서 UFRTU or ASCII는 모드버스-RTU 또는 모드버스-ASCII 사용시 제어 명령 패킷을 의미하고, A는 타겟 주소이고, F는 기능 코드이고, D는 데이터 섹션이고, C는 체크섬이고, UserID는 사용자 정보이고, T2는 타임 스탬프이다. 또한, UFTCP는 모드버스-TCP사용시 제어 명령 패킷을 의미하고, MBAP는 모드버스 애플리케이션 헤더이고, F는 기능 코드이고, D는 데이터 섹션이고, UserID는 사용자 정보이고, T2는 타임 스탬프이다.
0x80 값은 모드버스 프로토콜에서 미리 정의된 기능 코드들과 중복되지 않는 값으로, 하위 계층은 기능 코드의 최상위비트를 확인하는 것만으로 사용자의 행위 정보가 데이터 섹션 내에 포함되어 있음을 식별할 수 있다.
또한, 실시예에서 제어명령 패킷은 해쉬 알고리즘을 통하여 해시된 값과 함꼐 로깅 프레임 형태로 운영 로그 저장 장치 및 제어 로그 저장 장치에 각각 저장될 수 있다. 사용자의 행위정보가 포함된 데이터 프레임은 디지털 포렌식 절차에 필요한 무결성을 확보하기 위하여 해시(hash) 알고리즘을 통해 해시된 값과 함께 로깅 프레임(logging frame)의 형태로 저장될 수 있다. 사이버 물리 시스템(1)의 상위 계층에서 사용자로 인해 제어 명령 패킷이 산출 및 생성되면, 해당 제어 명령 패킷은 하위 계층의 제어 PLC 설비(21, 22, 23)로 전달되기 전에 운영 로그 저장 장치(13)에 상위 계층 로깅 프레임(L2)의 형태로 저장될 수 있다. 실시예에서, 상위 계층 로깅 프레임은 하기 수학식 2에 따라 산출될 수 있다.
[수학식 2]
Figure 112020019890902-pat00002
실시예에서, 로깅 프레임 생성 과정에 사용되는 해시 함수는 NIST(미국표준기술연구소)에서 FIPS PUB 180-2 국제 표준으로 제정된 SHA-256 알고리즘이 적용될 수 있다. 상위 계층 로깅 프레임(L2)은 사용자의 행위정보를 포함한 데이터 프레임(UF)의 마지막 부분에 해시 결과(digest) 값인 32바이트의 값을 연접한 형태로 운영 로그 저장 장치(13)에 저장될 수 있다.
또한, 상위 계층에서 산출된 데이터 프레임(UF)은 하위 계층의 PLC 장치(21, 22, 23)로 모드버스 프로토콜을 통해 전달되며, 해당 패킷을 전달받은 PLC 장치(21, 22, 23)는 데이터의 기능 코드 영역의 최상위 비트(식별 코드)를 확인하여 사용자의 행위 정보가 데이터 섹션 내에 포함되어 있음을 식별할 수 있다. 이후, 하위 계층의 PLC 장치(21, 22, 23)는 제어 명령 패킷을 수신한 시점의 타임 스탬프(T1)을 생성하며, 하기 수학식 3에 따라 하위 계층 로깅 프레임(L1)을 산출하여 제어 로그 저장 장치(24, 25, 26)에 저장할 수 있다.
[수학식 3]
Figure 112020019890902-pat00003
하위 계층 로깅 프레임 또한 산출 과정에서 해시 알고리즘으로 SHA-256을 적용할 수 있다.
산업 제어 환경에서 사용되는 보안 모니터링 시스템은, 시스템의 운용 과정에서 산출되는 로그 정보들은 사이버 공격 탐지 및 이상징후 탐지를 목적으로 하고 있다. 이러한 목적의 로그 정보들은 기술적인 측면에서 유의미하다고 볼 수 있지만, 실제 사이버 공격 발생 시 공격을 능동적으로 추적하고, 공격의 근원지를 파악하거나 법적 대응 과정에서 실질적 효력을 발휘하기에는 부적절한 형태이다.
실시예에 따른 사이버 물리 시스템은 실제 산업 제어 환경의 주요 동작 과정 중 하나인 모드버스 프로토콜을 통한 제어명령 전달 과정에서 실제 행위자에 대한 식별 정보와 행위 시점에 대한 정보와 무결성을 제공할 수 있는 형태의 데이터 로깅 방법을 통해, 유사시 사이버 공격의 진원지 및 공격의 동작 과정을 효과적으로 추적하고, 디지털포렌식 관점에서 법적으로 유효한 증거 데이터를 확보할 수 있다.
본 발명은 실제 산업계에서 대표적으로 활용되고 있는 퍼듀 아키텍처와 모드버스 프로토콜을 대상으로 한 방법이기 때문에 실제 산업에 대한 적용 용이성이 매우 높다고 볼 수 있으며, 데이터의 무결성 제공을 위해 수학적으로 무결성의 강도가 증명된 국제 표준 해시 알고리즘을 사용함으로써 실제 법제적 효력을 충분히 입증할 수 있다.
또한, 본 발명은 사이버 물리 시스템을 대상으로 하는 사이버 공격의 사후 대응 과정에서 유용하게 활용될 수 있는 데이터 로그 기록 기법으로, 본 발명이 적용되는 시스템은 사이버 공격에 대한 진원지 및 공격 경로에 대한 파악 능력이 향상되고, 법적 대응을 위한 증거 데이터 확보 과정의 절차가 개선될 수 있다.
본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field-programmable gate array) 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
1: 사이버 물리 시스템
11: 운영 인터페이스
12: 엔지니어링 워크 스테이션
13: 운영 로그 저장 장치
21, 22, 23: 제어 PLC 설비
24, 25, 26: 제어 로그 저장장치

Claims (5)

  1. 사이버 물리 시스템상에서 제어 명령 패킷을 발생시키는 엔지니어링 워크스테이션 및 운영 인터페이스, 그리고 상기 제어명령 패킷을 저장하는 운영 로그 저장 장치를 포함하는 상위 계층; 및
    상기 상위 계층과 모드 버스 프로토콜 방식으로 통신을 수행하여 상기 제어명령 패킷을 수신하며, 상기 제어명령 패킷, 상기 제어명령 패킷의 수신 시점의 타임스탬프 및 상기 제어명령 패킷을 전달한 상위 계층의 노드 정보를 저장하는 제어 로그 저장 장치를 포함하는 하위 계층을 포함하며,
    상기 제어명령 패킷은 기능 코드, 데이터 섹션, 사용자 정보 및 타임 스탬프를 포함하는 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템.
  2. 제1항에 있어서,
    상기 기능 코드는 상기 사용자 정보 및 상기 타임 스탬프가 포함되어 있음을 표현하기 위하여 XOR 논리 연산이 적용되는 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템.
  3. 제2항에 있어서,
    상기 하위 계층은 상기 기능 코드의 최상위 비트를 통하여 상기 사용자 정보 및 상기 타임 스탬프가 상기 제어명령 패킷에 포함되어 있는지 여부를 확인하는 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템.
  4. 제1항에 있어서,
    상기 제어명령 패킷은 해쉬 알고리즘을 통하여 해시된 값과 함께 로깅 프레임 형태로 상기 운영 로그 저장 장치 및 상기 제어 로그 저장 장치에 각각 저장되는 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템.
  5. 제1항에 있어서,
    상기 사용자 정보는 권한 코드 및 사용자 코드를 포함하는 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템.
KR1020200023055A 2020-02-25 2020-02-25 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템 KR102299145B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200023055A KR102299145B1 (ko) 2020-02-25 2020-02-25 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200023055A KR102299145B1 (ko) 2020-02-25 2020-02-25 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템

Publications (2)

Publication Number Publication Date
KR20210108176A KR20210108176A (ko) 2021-09-02
KR102299145B1 true KR102299145B1 (ko) 2021-09-07

Family

ID=77794276

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200023055A KR102299145B1 (ko) 2020-02-25 2020-02-25 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템

Country Status (1)

Country Link
KR (1) KR102299145B1 (ko)

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3051164A1 (en) * 2016-01-24 2017-07-27 Syed Kamran HASAN Computer security based on artificial intelligence
KR102032924B1 (ko) * 2016-11-28 2019-10-16 나라시스템 클라우드 환경에서 개인정보 보호를 지원하는 p2p 중개 보안 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Sriram Raghavan, Digital forensic research: current state of the art, page. 1~68, 2012.11.13. <URL: https://link.springer.com/article/10.1007/s40012-012-0008-7>

Also Published As

Publication number Publication date
KR20210108176A (ko) 2021-09-02

Similar Documents

Publication Publication Date Title
CN107508812B (zh) 一种工控网络数据存储方法、调用方法及系统
US10805393B2 (en) System and method for data management structure using auditable delta records in a distributed environment
US20080005558A1 (en) Methods and apparatuses for authentication and validation of computer-processable communications
CN109739203B (zh) 一种工业网络边界防护系统
CN104580233A (zh) 一种物联网智能家居安全网关系统
CN104837150B (zh) IPv6无线传感网安全测试系统
CN105245329A (zh) 一种基于量子通信的可信工业控制网络实现方法
CN115865526B (zh) 一种基于云边协同的工业互联网安全检测方法及系统
Jin et al. Snapshotter: Lightweight intrusion detection and prevention system for industrial control systems
Dong et al. Research on abnormal detection of ModbusTCP/IP protocol based on one-class SVM
CN110691097A (zh) 一种基于hpfeeds协议的工控蜜罐的系统及其工作方法
Pichan et al. A logging model for enabling digital forensics in iot, in an inter-connected iot, cloud eco-systems
Kebande et al. Functional requirements for adding digital forensic readiness as a security component in IoT environments
CN107919970A (zh) 一种安全运维服务云平台的日志管理实现方法及系统
Suo et al. Research on the application of honeypot technology in intrusion detection system
Waagsnes et al. Intrusion Detection System Test Framework for SCADA Systems.
KR102299145B1 (ko) 디지털 포렌식 증거 수집을 위한 사이버 물리 시스템
CN113114626A (zh) 一种基于边缘计算的安全网关系统及其构建方法
Roh et al. Cyber security system with FPGA-based network intrusion detector for nuclear power plant
CN105577705A (zh) 针对iec60870-5-104协议的安全防护方法及系统
CN115225392B (zh) 智慧图书馆用安全防护系统
CN116366512A (zh) 测试用例生成方法、装置及计算机可读存储介质
CN112463860A (zh) 优炫数据库查询结果集的解析方法
CN115484326A (zh) 处理数据的方法、系统及存储介质
Colelli et al. Blockchain application in simulated environment for Cyber-Physical Systems Security

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant