Korea Digital Contents Society
[ Article ]
Journal of Digital Contents Society - Vol. 21, No. 3, pp.637-645
ISSN: 1598-2009 (Print) 2287-738X (Online)
Print publication date 31 Mar 2020
Received 20 Feb 2020 Revised 15 Mar 2020 Accepted 25 Mar 2020
DOI: https://doi.org/10.9728/dcs.2020.21.3.637

산업제어시스템 계층간 특성을 고려한 MODBUS 보안 기법

조민정1 ; 김역2 ; 이창훈1, *
1서울과학기술대학교 컴퓨터공학과 박사과정
2서울과학기술대학교 전기정보기술연구소 연구원
1서울과학기술대학교 컴퓨터공학과 부교수
MODBUS security scheme considering industrial control system layers
Minjeong Cho1 ; Yeog Kim2 ; Changhoon Lee1, *
1Ph.D. Course, Dept. of Computer Engineering, Seoul University of Science and Technology, Seoul 01811, Korea
2Researcher, Dept. of Computer Engineering, Seoul University of Science and Technology, Seoul 01811, Korea
1Associate Prof., Dept. of Computer Engineering, Seoul University of Science and Technology, Seoul 01811, Korea

Correspondence to: *Changhoon Lee Tel: +82-2-970-6712 E-mail: chlee@seoultech.ac.kr

Copyright ⓒ 2020 The Digital Contents Society
This is an Open Access article distributed under the terms of the Creative Commons Attribution Non-CommercialLicense(http://creativecommons.org/licenses/by-nc/3.0/) which permits unrestricted non-commercial use, distribution, and reproduction in any medium, provided the original work is properly cited.

초록

산업제어 프로토콜 MODBUS-TCP는 사이버 위협에 대응 가능한 보안 서비스를 제공하고 있지 않아 보안성 향상을 위한 연구가 지속되었다. 그러나 기존에 제안된 연구들은 일부 보안 기능만 제공하거나 범용 컴퓨팅 환경에서 가용성을 확인하였다. 제한된 보안 기능을 이용하는 경우 제공하지 않는 보안 기능의 취약점에 노출되며 범용 컴퓨팅 환경은 산업제어시스템의 계층 구조, 운영 체제와 같은 특수성을 반영하지 못한다. 본 논문에서는 MODBUS-TCP에서 보안 서비스로 인증, 기밀성, 무결성, 부인방지를 제공하도록 프레임을 구성하고, 산업제어시스템의 계층에 따라 기기 성능이 다른 특성을 이용하여 계층별로 다른 전자서명 알고리즘을 사용함으로써 성능을 개선하였다. 본 논문은 기존의 연구에 비해 자원이 제한된 환경과 실시간 운영체제 VxWorks에서 시험을 수행하였고 그 결과 보안기능이 이전보다 강화된 것을 확인했다. 또한, E-Modbus에 비해서는 약 1.36~3.43배 빠른 성능을 보인다.

Abstract

As the industrial control protocol MODBUS-TCP doesn’t provide security services that can against the increasing cyber threats, research for improving security has continued. However, previous researches have provided partial security services or experimented their availability in general-purpose computing environments. Providing partial security services makes system exposed to vulnerabilities of security services that aren’t provided, and general-purpose computing environments don’t reflect specificities such as the hierarchy of ICS and OS. In this paper, the frame is configured to provide authentication, confidentiality, integrity, and non-repudiation as security service in the MODBUS-TCP, and the different digital signature algorithm was used for each layer because of the characteristics of device performance according to the ICS layers to improve performance. This paper has been analyzed in limited resource environment and real-time OS VxWorks compared to the previous research, and as a result, it was confirmed that the security function was robust than before. And, it shows about 1.36~3.43 times faster than E-Modbus.

Keywords:

ICS(Industrial Control System), Modbus, DCS, Encryption, Digital Signature

키워드:

산업제어시스템, 모드버스, DCS, 암호화, 전자서명

Ⅰ. 서 론

IoT(Internet of Things), 클라우드 등 차세대 IT 기술의 발전에 따라 스마트 팩토리, IIoT(Industrial Internet of Things) 와 같은 ICT 기술이 결합된 산업제어시스템의 본격화가 이뤄졌다[1][2]. 산업제어시스템의 발전에 따라 사이버 공격 또한 증가하고 다양해졌다. 2019년 대규모 산업시설에 대한 공격 시도가 2018년 대비 21만여건 (125%) 증가하였으며 보안위협의 종류 또한 다각화 되었다[2]. 그러나 2018년 산업 사이버 보안 현황 설문조사에 의하면 산업제어시스템 보안 위협에도 불구하고 52%의 기업만 전담 대응 조치를 취하고 있다[3]. 산업제어시스템은 물리 시설 다루는 시스템으로 의도하지 않은 동작 시 인적 피해를 발생시키고 사회의 혼란을 야기한다. 따라서 보안 위협과 환경 변화에 민감한 반응과 대책안이 요구된다.

산업제어시스템에서 제어계층과 운영계층은 물리 시스템을 제어하므로 강력한 보안이 요구된다. 제어계층과 운영계층은 산업제어 전용 프로토콜을 데이터를 송·수신하고, 송·수신한 데이터를 기반으로 물리 시스템을 제어한다. 산업제어 전용 프로토콜 중 MODBUS–TCP는 de facto 표준 프로토콜로 여겨지며 시장 점유율 5위(4%)를 차지하고 있다[4][5]. 그러나 MODBUS-TCP는 보안 서비스를 제공하지 않아 E-Modbus[6], E-ModbusSec[7], MODBUS-TLS[8]. MODBUS-S[9] 등 암호 알고리즘을 통한 보안성 향상 연구가 지속되고 있다. 기존의 연구는 산업제어시스템의 자원이 제한된 환경을 이유로 기밀성, 무결성, 인증, 부인방지 중 일부 보안 기능만을 제공하거나 고가의 운영체제, 기기의 부재로 인해 범용 컴퓨팅 환경에서 실험한 사례로 소개되고 있다. 일부 보안 기능만을 제공하는 경우 제공받지 못한 보안 기능의 취약점을 이용한 공격이 발생할 수 있다. 또한, 산업제어시스템은 계층에 따라 성능과 운영체제가 다르므로 범용 컴퓨팅 환경은 실험에 적합하지 않다. 따라서 산업제어 보안 시스템은 기밀성, 무결성, 인증, 부인방지를 모두 제공해야하며 각 계층의 성능과 운영체제를 고려해야한다.

본 논문에서는 MODBUS-TCP를 기반으로 기밀성, 무결성, 인증, 부인방지를 제공하는 프레임 구조와 성능 개선을 위한 전자서명 방안을 제안한다. 산업제어시스템의 제한된 자원으로 인해 연산의 부하가 발생하여 적용에 한계가 있던 전자서명은 성능 개선을 위해 계층별 특성을 고려하여 각 계층에 적합한 전자서명 알고리즘을 사용한다. 본 논문에서는 제어계층 기기로 세계 시장점유율 1위인 실시간 운영체제 VxWorks[10]를 사용하는 임베디드 시스템과 운영계층 기기로 Window 운영제체를 사용하는 범용 컴퓨터의 통신을 이용하여 제안하는 프레임 및 통신의 성능을 보고자 한다.


Ⅱ. 관 련 연 구

2-1 산업제어시스템

산업제어시스템은 지역적으로 분산된 자산을 제어하는 시스템으로 수자원 시스템, 원자력발전소 등이 있다[11][12]. 일반적으로 산업제어시스템은 외부 네트워크와 내부망을 직/간접적으로 분리한다. 외부 네트워크와 분리된 내부망은 그림 1과 같이 운영계층, 제어계층, 물리계층으로 나눈다[13]. 운영계층은 제어계층 기기 및 물리계층 기기를 제어하기 위한 서버 컴퓨터, 모니터링 컴퓨터 등이 존재한다. 제어계층은 물리계층을 제어하고 운영계층의 요청에 응답을 하는 계층으로 PLC(Programmable Logic Controller), RTU(Remote Terminal Unit), DCS(Distributed Control System)등이 있다. 현장장치 계층은 센서로 값을 수집하여 제어계층으로 전달하거나 제어계층으로부터 전달받은 물리시설 작동 명령을 수행한다. 일반적으로 운영계층은 제어계층보다 제어하는 범위가 넓고 모니터링, 히스토리 관리 등 연산 및 메모리를 추가적으로 요하는 작업이 많아 운영계층은 제어계층에 비해 하드웨어 연산 성능이 좋으며 현장장치 계층은 연산이 불가능하다.

Fig. 1.

Industrial Control System Hierarchy

2-2 보안성이 향상된 MODBUS 프로토콜에 관한 연구

본 절에서는 보안성 향상을 위해 MODBUS-TCP 프로토콜에서 암호 알고리즘을 이용한 연구를 살펴본다. 각 연구는 대응 목표 공격 및 제공 보안 서비스에 따라 프레임 구조가 다르다.

MODBUS-TCP는 MODBUS 프로토콜의 한 종류로 TCP를 이용하여 MODBUS 통신하는 프로토콜이다. MODBUS는 OSI 7계층에 위치하는 요청-응답 기반 프로토콜이다. MODBUS는 패킷 프레임 내에 Function Code를 통해 서비스를 구별하고 제공한다. MODBUS-TCP는 별도로 보안 기능을 제공하지 않으며 프레임 구조는 그림 2과 같다[14].

Fig. 2.

MODBUS-TCP Frame Structure

1) E-Modbus[6]

Igor Nai Fovino, Andrea Carcano, Marcelo Masera, Albertp Trombetta는 인가되지 않은 사용자의 메시지 접근 및 조작, 신분 위조, 행위 부인, 재전송 공격을 방지하기 위해 그림 3과 같은 프레임을 구성하여 무결성, 인증을 제공하였다. E-Modbus의 대응 목표 공격은 기밀성과 연관이 없으며 암호화는 실시간 시스템에서 가용성을 해하는 요인이 될 수 있으므로 사용하지 않았다.

Fig. 3.

E-Modbus Frame Structure

2) E-ModbusSec[7]

E-ModbusSec은 산업제어시스템에서 기밀성 또한 제공해야함을 재고하여, 그림 4와 같이 프레임을 구성하였다. 경량암호인 LEA를 이용하여 MBAP Header의 마지막 한 바이트와 Function Code, 데이터를 암호화한다. 또한 경량 해시함수 LSH-256를 이용하는 HMAC을 적용하여 인증을 제공하였다.

Fig. 4.

E-ModbusSec Frame Structure

3) MODBUS-TLS[8]

MODBUS-TLS는 그림 5와 같이 MODBUS-TCP 프레임 전체를 TLS 계층에서 암호화 하는 방식이다. ciphersuite는 TLS를 그대로 사용하며 TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_NULL_SHA256 제공을 필수로 한다.

Fig. 5.

MODBUS-TLS Frame Structure

4) MODBUS-S[9]

MODBUS-S는 인증, 위조, 재전송공격 방지, Function Code 남용 예방, 책임성 확보를 위해 프레임을 그림 6과 같이 설계하였다. 송·수신 데이터의 유닛 부분은 대칭키 암호로 암호화하며 식별자 동기화, 권한 확인, 길이 등을 위한 추가 데이터가 패킷에 연접된다. 전송된 추가 데이터는 화이트 리스트 필터링에 사용된다.

Fig. 6.

MODBUS-S Frame Structure


Ⅲ.보안성이 향상된 Modbus 프레임

3-1 표기법

본 논문에서 제안한 보안성이 향상된 MODBUS 설명에 사용하는 기호는 다음과 같다.

H(X) : X 데이터에 대한 해시값
Ek : k를 이용한 블록 암호화
Dk : k를 이용한 블록 복호화
Requestn : request 데이터의 n번째 블록
Responen : response 데이터의 n번째 블록
CL_prik : Control Layer 기기의 개인키
OL_prik : Operation Layer 기기의 개인키
SprikAlgorithm : Algorithm과 prik를 이용한 전자서명 값
VpubkAlgorithm : Algorithm과 pubk를 이용한 전자서명 검증

3-2 제안하는 프레임 구조

본 절에서는 운영계층과 제어계층의 데이터 송·수신 프레임을 설명한다. 그림 7과 같은 프레임과 표 2의 알고리즘을 사용하여 MODBUS에서 기밀성, 무결성, 인증, 부인방지를 제공한다. 표 1에 기재된 Operation Layer와 Control Layer는 각각 그림 1에서 언급된 산업제어시스템의 일반적인 운영계층과 제어계층을 의미한다. 2-2에 기재된 프레임은 MODBUS-TCP를 기반으로 보안 서비스 제공을 위해 필요 데이터를 덧붙이거나 데이터를 가공하였다. 이러한 프레임은 프레임 설계 구조 문제가 아닌 기밀성을 제외하거나 부인방지를 제공하지 않는 등 제공 보안 서비스의 범위에 문제가 있다. 본 논문에서는 2-2를 기반으로 설계하여 기밀성, 무결성, 인증, 부인방지를 모두 포함하는 보안 서비스를 제공하도록 하였다.

Fig. 7.

Proposed Modbus Frame Structure

Cryptography algorithm for each Layer

Algorithm of Receive and Response for Control Layer

또한, 여러 연구에서 재전송공격 방지를 위해 타임스탬프를 사용하였다. 그러나 MODBUS-TCP는 Transaction ID를 제공하고 있으므로 본 논문에서 제안하는 프레임에서는 추가적인 타임스탬프 대신 프레임 길이 최소화를 우선시했다.

3-3 제안하는 통신 과정

본 절에서는 운영계층과 제어계층의 데이터 송·수신 과정을 설명한다. 그림 7과 같은 프레임으로 송·수신을 하기 위해 송신자는 request 혹은 response 데이터를 ARIA-128 블록 암호로 암호화한다. 암호화된 데이터를 SHA-256 함수를 이용하여 해시하고, 해시된 데이터 32byte를 송신자 계층에 따라 RSA-PSS 혹은 ECDSA로 전자서명을 한다. 암호화된 데이터는 전자서명과 연접하여 전송한다. 자세한 제어계층의 송·수신 과정은 표 3과 같으며 운영계층의 수신 과정은 표 4과 같다. 수신자는 첫 번째 1 블록을 ARIA-128 블록 암호로 복호화하여 MODBUS의 헤더에서 데이터 전체 길이를 읽는다. MODBUS의 function code에 따라 달라지는 데이터의 길이는 암호화되어 알 수 없으나 최장 길이는 1 블록(16byte)이므로 1 블록을 복호화한다. 복호화를 통해 읽어야 하는 길이를 확인하고 남은 데이터를 수신한다. 수신한 암호문은 해시함수 SHA-256을 이용하여 해시값을 생성한다. 생성된 해시값에 대하여 수신자는 정당한 사용자 여부를 전자서명을 통해 확인한다. 송신자가 정당한 사용자이면 수신자는 암호문을 복호화 한다.

Algorithm of Response for Operation Layer

Hardware and Software Specification

전자서명 알고리즘은 각 계층의 성능이 다름을 이용하여 부하가 되는 작업을 운영계층에서 수행하고, 부하가 비교적 적은 작업을 제어계층에서 수행함으로써 수행 시간을 단축하였다. 제어계층에서 서명을 위해 ECDSA를 사용하고 검증은 RSA-PSS를 사용한다. 운영계층은 RSA-PSS를 사용하여 서명하고 ECDSA를 사용하여 검증한다. 일반적으로 제어계층 기기는 운영계층 기기에 비해 메모리, 연산자원과 같은 자원이 한정된다. RSA-2048과 ECC-193을 기준 으로 Ultra-80 중앙처리장치에서 ECDSA의 서명은 RSA 서명 보다 약 22.3 배 빠르지만, ECDSA검증은 RSA 검증보다 약 1.5배 느리다[15]. 이는 시간 단위의 성능으로 기기의 성능이 낮을수록 차이가 크다. RSA-PSS는 서명이 검증보다 느리고, ECDSA는 검증이 서명보다 느린 전자서명 알고리즘 특성을 이용하여 그림 8와 같이 통신을 한다[15][16]. 운영계층과 제어계층은 RSA-PSS 키와 ECDSA 키를 사전에 공유해야 한다. 키 교환은 각 전자서명에 필요한 공개키를 공유하므로 통신 양단이 동일한 전자서명을 사용하는 것과 동일하다.

Fig. 8.

Proposed MODBUS communication


Ⅳ. 성능 및 분석

본 장에서는 제안한 프레임의 시간 성능을 측정하기 위해 사용한 기기의 성능과 측정한 시간 성능을 다루고 타 논문의 결과와 비교 분석한다. 실험을 위하여 통신은 오픈소스 libmodbus를 이용하였으며, 암호 및 해시함수는 mbedtls 코드를 이용하였다.

4-1 실험 환경

제어계층기기는 향후 원자력발전소에서 운영예정인 기기로 실시간 운영체제인 VxWorks를 OS로 사용하며 운영계층 OS는 Window 10이다. 자세한 하드웨어 및 사용 소프트웨어 사양은 표4와 같다.

시간 측정은 제어계층과 운영계층에서 하였다. receive는 데이터의 암호화, 해시, 전자서명 생성과정을 수행한다. reply는 데이터의 복호화, 해시, 전자서명 검증과정을 수행한다. 사용한 함수 및 데이터 길이는 표 5에 기재하였다.

Function Code and Data Length for Experiment

본 논문에서는 블록 암호를 이용하여 해시 및 전자서명을 생성하며 송·수신 또한 암호문을 이용하므로 cpb(cycle per byte) 계산은 데이터는 패딩 후 길이로 사용하였다. 예를 들어, 1byte 데이터를 암/복호화 및 송·수신한 경우, 패딩 후 길이인 16byte를 연산 한 결과로 계산한다.

4-2 실험 결과

본 절에서는 데이터 송·수신 시간 성능을 설명한다. 그림 9, 그림 10은 누적분포 그래프이다. 확률 누적 분포함수란 확률변수 X가 특정 값 x이하일 확률을 나타내는 확률 함수이다[17]. 그림 9에서 1개의 coil을 write하는 request를 전송할 때(write coils 1 send) x축 값이 2082549.25, y축 값이 0.98은 98% 확률로 2082549.25 cpb내에 완료됨을 의미한다. write coils 1 send 수행 속도 평균은 779019.13 cpb로 표 6에 제시된 2082549.25 cpb의 0.37배이지만 y축 값은 약 0.34로 실제로 779019.13 cpb안에 데이터 처리가 완료될 확률은 34%로 낮다. 따라서 본 논문의 표 7은 누적분포 그래프 98%를 기준으로 시간 성능을 나타내었다.

Fig. 9.

Time Performance on Operation Layer

Fig. 10.

Time Performance on Control Layer

Performance on Cumulative Distribution Function 98%

Operation Layer and Control layer performance by digital signature algorithm (unit. cpb)

표 8, 표 9는 전자서명 알고리즘에 따른 write coil 수행 성능이다. 표 8은 cpb 단위이며, 표 9는 ms 단위이다. 암호화는 표10과 동일하게 ARIA-128을 사용하고 해시 함수는 SHA256을 사용하였다. Case를 3가지로 나누어 send와 receive 의 성능을 측정하였다. Case 1은 양단이 RSA-PSS를 이용하여 서명, 검증을 수행한다. Case 2는 양단이 ECDSA를 이용하여 서명, 검증을 수행한다. Case 3은 운영계층은 서명에 RSA-PSS를 사용하고 검증에 ECDSA를 이용하였으며 제어계층은 서명에 ECDSA를 사용하고 검증에 RSA-PSS를 사용하였다.

Operation Layer and Control layer performance by digital signature algorithm (unit. ms)

Supported Security Element for the Data.

Environment of Experiment

표 8, 표 9의 Total은 전체 기능 수행시간으로 요청 송·수신 시간과 응답 송·수신 시간을 합한 시간이다. 같은 시간 Case 3 이 Case 2보다 약 1.43 배 느리며 Case 1보다 약 1.1배 느리다. 그러나 시간 단위로 계산하였을 때 Case3은 Case 1보다 4.06배 빠르며 Case 2보다 2.18배 빠르다. 이는 Operation Layer와 Control Layer의 성능 차이로부터 기인하며 산업제어시스템의 환경을 고려했을 때 전자서명을 Case3으로 사용하는 것이 적절하다.

4-3 비교 및 분석

본 절에서는 보안성을 위해 수정한 MODBUS 프레임을 이용하는 4가지 방법 MODBUS E-Modbus, E-ModbusSec, MODBUS-TLS, MODBUS-S과 본 논문 프레임을 비교한다. 각 방법에서 제공하는 보안 기능 , 가용성 검증 환경, 시간 성능을 살펴본다.

표 10는 제공하는 기밀성, 무결성, 인증, 부인방지 제공 여부이다. 표 10의 보안 서비스 제공 여부는 세션 시작에 일회성은 포함하지 않았으며 모든 데이터에 대해 제공하는 경우만 포함하였다. 4가지 보안 서비스를 모두 제공하는 방법론은 MODBUS-S와 본 논문이다.

표 11는 기존에 제안된 프레임에 대한 성능 제시여부이다. 범용 컴퓨팅 환경 및 제한된 환경의 구분은 통신 시간 성능 실험 시 이종의 기기를 사용하거나 같은 종의 기기이더라도 성능 차이가 있는 경우 성능이 좋은 기기를 범용 컴퓨팅 환경으로 표기하고, 나머지 기기를 자원이 제한된 환경으로 구분하였다. 제한된 환경을 의미하는 설명이 없는 윈도우 환경은 범용 컴퓨팅 환경으로 표기하였다. 본 논문은 다른 논문과 달리 성능과 운영체제와 성능이 다른 이종 기기의 통신 성능을 측정하였다.

Comparison of Performance

표 12은 시간 성능을 비교한 결과이다. 비교대상은 [7]에 제시된 E-ModbusSec과 E-Modbus의 성능이다. 비교 대상은 사용 Modbus 함수에 따른 성능 비교를 위해 논문 [7]을 이용하였다. 본 논문에서 제안한 프레임 및 통신과정은 앞서 제시된 프레임과 비교하여 E-ModbusSec보다는 느리나 자원이 제한된 환경에서도 시험을 수행하였으며 보안 기능 기밀성, 무결성, 인증, 부인방지를 모두 제공함에 의의가 있다. 또한, E-Modbus에 비해서는 약 1.36 ~ 3.43배 빠른 성능을 보인다.


Ⅴ. 결 론

본 논문에서는 기존의 연구를 기반으로 기밀성, 무결성, 인증, 부인 방지를 제공하는 MODBUS 프로토콜 프레임을 설계하고 계층에 따라 다른 전자서명 알고리즘을 선택하여 효율적으로 동작할 수 있는 방법을 제시하였다. 또한, 성능과 운영환경이 명확히 다른 이종의 기기에서 통신을 하여 성능을 분석하였다.

본 논문은 산업제어시스템의 계층별 특성을 고려하여 실험 환경을 구성하고 성능을 분석하였다. 본 논문에서 성능 분석을 위해 제어계층 기기는 실시간 운영체제 VxWorks를 사용하며 향후 원자력 발전소에서 사용 예정인 기기이다. 운영계층 기기는 범용 컴퓨팅 환경을 가정하였다. 분석결과 계층 간의 특성을 고려하여 계층별로 다른 전자서명을 사용하는 경우, RSA-PSS를 사용하는 경우에 비해 4.06배, ECDSA를 사용하는 경우에 비해 2.18배 효율적으로 작동할 수 있음을 보였다. 또한 타 논문에 비해 더 많은 보안 기능을 제공하며 더 효율적임을 보였다.

ECC 알고리즘은 RSA에 비해 작은 키 크기로 동등한 보안강도를 제공하여 경량환경에서 많이 사용되었다[15]. 그러나 메모리 하드웨어는 지속적으로 발달하고 양산화가 이뤄지고 있다 [18][19]. 이러한 메모리의 발달로 RSA-PSS를 적재/사용함에 있어 부하가 현저히 줄었다. 그러나 본 논문에서 제시한 전자서명 사용 방법은 계층 간의 성능이 차이가 있는 경우로 동일한 성능에서 사용 시 ECDSA를 사용하는 것이 더 효율적이다.

Acknowledgments

본 연구는 산업통상자원부(MOTIE)와 한국에너지기술평가원(KETEP)의 지원을 받아 수행한 연구 과제입니다. (원전 비안전등급 제어기기(DCS) 사이버침해 예방 및 탐지 기술 개발, No. 20161510101810)

참고문헌

  • Dailysecu, IGLOOSECURITY, ‘2020 Security Threats-Technology Outlook Report,’ Announcement, [Internet]. Available:https://www.dailysecu.com/news/articleView.html?idxno=83565
  • IT WORLD FROM IDG, Ahnlab, ‘2019 Cyber Threat Trend Statistics’ Announcement, [Internet]. Available:http://www.itworld.co.kr/news/141750
  • Dailysecu, The three risk factors for industrial control system security are..., [Internet]. Available:https://www.dailysecu.com/news/articleView.html?idxno=37636
  • Hms, Industrial network market shares 2019 according to HMS, [Internet]. Available: https://www.hms-networks.com/news-and-insights/news-from-hms/2019/05/07/industrial-network-market-shares-2019-according-to-hms
  • REAL TIME AUTOMATION, WHY MODBUS HAS FLOURISHED, [Internet]. Available: https://www.rtautomation.com/rtas-blog/why-modbus-has-flourished/
  • Fovino, I. N., Carcano, A., Masera, M., and Trombetta, A. "Design and implementation of a secure modbus protocol." International conference on critical infrastructure protection. Springer, Berlin, Heidelberg, 2009. [https://doi.org/10.1007/978-3-642-04798-5_6]
  • T. Y. Kwon, O.Y. Yi . “Efficient Modbus Security Applying method”, Korea Institute Of Information Security And Cryptology, Vol. 25, No. 5, pp. 37-44, October, 2015.
  • Modbus, MODBUS/TCP Security, [Internet]. Available: http://www.modbus.org/docs/MB-TCP-Security-v21_2018-07-24.pdf
  • Xuan, L., & Yongzhong, L., "Research and Implementation of Modbus TCP Security Enhancement Protocol." Journal of Physics: Conference Series. Vol. 1213. No. 5. IOP Publishing, 2019. [https://doi.org/10.1088/1742-6596/1213/5/052058]
  • Wind River Blog Network, Wind River Tops Global Embedded Software Market Once Again, [Internet]. Available: https://blogs.windriver.com/wind_river_blog/2018/03/wind-river-tops-global-embedded-software-market-once-again/
  • Ackerman, Pascal. Industrial Cybersecurity: Efficiently secure critical infrastructure systems. Packt Publishing Ltd, 2017.
  • Stouffer, Keith, Joe Falco, and Karen Scarfone. "Guide to industrial control systems (ICS) security." NIST special publication 800.82 (2011): 16-16.
  • “Security Requirements for Industrial Control System - Part1: Concepts and Reference Model”, Telecommunications Technology Association, TTAK.KO-12.0307, 2017.
  • Modbus, Modbus Messaging on TCP/IP Implementation Guide V1.0b, [Internet]. Available: http://www.modbus.org/specs.php, - MODBUS Security Protocol
  • Gupta, V., Gupta, S., Chang, S., and Stebila, D. "Performance analysis of elliptic curve cryptography for SSL.", Proceedings of the 1st ACM workshop on Wireless security. 2002. [https://doi.org/10.1145/570681.570691]
  • Qian, Q., Jia, Y. L., and Zhang, R. "A Lightweight RFID Security Protocol Based on Elliptic Curve Crytography." , International Journal of Network Security, Vol. 18, No. 2, pp. 354-361, March 2016.
  • CDF Cumulative Distribution Function, [Internet]. Available:http://www.ktword.co.kr/abbr_view.php?m_temp1=3825
  • ksure, Industry Trend Report, Memory semiconductor boom background and sustainability check, 2018.08
  • Techworld, Next Generation Nonvolatile Memory Semiconductor Technology Trend ①, [Internet]. Available: http://www.epnc.co.kr/news/articleView.html?idxno=58446

저자소개

조민정(Minjeong Cho)

2018년 : 서울과학기술대학교 대학원 (공학사)

2020년 : 서울과학기술대학교 대학원 (공학석사)

2014년~2018년2월: 서울과학기술대학교 컴퓨터공학과 학사

2018년3월~2020년 2월: 서울과학기술대학교 일반대학원 컴퓨터공학과 석사

2020년3월~현재: 서울과학기술대학교 일반대학원 컴퓨터공학과 박사과정

※관심분야: 정보보호(Personal Information), 암호학(Cryptography), 산업제어시스템 (Industrial Control System) 등

김 역(Yeog Kim)

1992년 : 성신여자대학교 전산학과 (이학사)

2003년 : 고려대학교 정보보호대학원 (공학석사)

2010년 : 고려대학교 정보경영전문대학원 (공학박사)

2005년 3월~2007년 8월 : 동양미래대학교 전임강사

2017년~현재: 서울과학기술대학교 전기정보기술연구소 일반 연구원(책임급)

※관심분야: 정보보호(Personal Information), 디지털 포렌식(Digital Forensics), 암호모듈평가 등

이창훈(Changhoon Lee)

2001년 : 한양대학교 자연과학부 수학전공 학사

2003년 : 고려대학교 정보보호대학원 석사

2008년 : 고려대학교 정보경영전문대학원 정보보호전공 박사

2008년 4월~2008년 12월 : 고려대학교 정보보호연구원 연구교수

2009년 3월~2012년 2월 : 한신대학교 컴퓨터공학부 조교수

2012년 3월~2015년 3월 : 서울과학기술대학교 컴퓨터공학과 조교수

2015년 4월~현재 : 서울과학기술대학교 컴퓨터공학과 부교수

※관심분야: 정보보호(Personal Information), 암호학(Cryptography), IoT(Internet of Things), 디지털포렌식(Digital Forensics) 등

Fig. 1.

Fig. 1.
Industrial Control System Hierarchy

Fig. 2.

Fig. 2.
MODBUS-TCP Frame Structure

Fig. 3.

Fig. 3.
E-Modbus Frame Structure

Fig. 4.

Fig. 4.
E-ModbusSec Frame Structure

Fig. 5.

Fig. 5.
MODBUS-TLS Frame Structure

Fig. 6.

Fig. 6.
MODBUS-S Frame Structure

Fig. 7.

Fig. 7.
Proposed Modbus Frame Structure

Fig. 8.

Fig. 8.
Proposed MODBUS communication

Fig. 9.

Fig. 9.
Time Performance on Operation Layer

Fig. 10.

Fig. 10.
Time Performance on Control Layer

Table 1.

Cryptography algorithm for each Layer

Operation Layer Control Layer
Confidentiality ARIA-128 (CBC) ARIA-128 (CBC)
Integrity SHA-256 SHA-256
non-repudiation Signature Verify Signature Verify
RSA-PSS ECDSA ECDSA RSA-PSS

Table 2.

Algorithm of Receive and Response for Control Layer

Algorithm Receive and Response (Control Layer)
1. Recive Ek (Request1)
2. DK (Ek(Request1))
3. Get a data total length from packet header
4. Receive Request2...N
5. H(Ek (Request))
6. VOL_pubkRSA-PSS (H(Ek (Request)))
7. (1)if verify succeed
  Dk (Ek(Request))
 (2) if verify failed
  Discard the Data
8. Send Response

Table 3.

Algorithm of Response for Operation Layer

Algorithm Receive Response (Operation Layer)
1. Recive Ek (Respone1 )
2. DK(Ek(Respone1 ))
3. Get a data total length from packet header
4. Receive Request2...N
5. H(Ek(Response))
6. VOL_pubkECDSA (H(Ek(Response)))
7. (1) if verify succeed
   Dk(Ek(Response))
 (2) if verify failed
   Discard the Data

Table 4.

Hardware and Software Specification

Operation Layer Control Layer
OS Window 10 pro VxWorks 7.0
CPU Intel i7 QorI T2080
Memory 16 GB 4 GB
CPU Timebase Frequency 3,601,000,000 37,500,000
Compiler gcc 7.4.0 Diab 5.9.6.1

Table 5.

Function Code and Data Length for Experiment

MODBUS
Function
Data Num Operation Layer Control Layer
receive
(verify)
send
(sign)
receive
(verify)
send
(sign)
Read Coil 1 10 12 12 10
Read Coils 40 14 12 12 14
Read Coils 100 22 12 12 22
Write Coil 1 10 12 12 10
Write Coils 40 12 18 18 12
Write Coils 100 12 26 26 12

Table 6.

Performance on Cumulative Distribution Function 98%

MODBUS
Function
Data Num Operation
Layer (cpb)
Control
Layer (cpb)
receive send receive send
Read Coil 1 1646487.50 2077964.44 8841.13 41089.75
Read Coils 40 1637757.44 2084706.63 8841.81 38378.50
Read Coils 100 819587.32 2091134.81 8842.50 4421.25
Write Coil 1 1650003.19 2082549.25 8839.06 41557.69
Write Coils 40 1637633.25 1034324.38 4456.72 38496.25
Write Coils 100 1643950.25 1035219.41 4457.88 38369.69

Table 7.

Operation Layer and Control layer performance by digital signature algorithm (unit. cpb)

Case Operation Layer Control Layer Total
receive
(verify)
send
(sign)
receive
(verify)
send
(sign)
1 RSA-PSS RSA-PSS RSA-PSS RSA-PSS 2524997.07‬
75454.88 2109770.5 8858.13 330913.56
2 ECDSA ECDSA ECDSA ECDSA 1933302.32
1685293.56 71552.13 136088.69 40367.94
3 ECDSA RSA-PSS RSA-PSS ECDSA 2782949.19‬
1650003.19 2082549.25 8839.06 41557.69

Table 8.

Operation Layer and Control layer performance by digital signature algorithm (unit. ms)

Case Operation Layer Control Layer Total
receive
(verify)
send
(sign)
receive
(verify)
send
(sign)
1 RSA-PSS RSA-PSS RSA-PSS RSA-PSS 9.667
0.021 0.586 0.236 8.824
2 ECDSA ECDSA ECDSA ECDSA 5.193
0.468 0.020 3.629 1.076
3 ECDSA RSA-PSS RSA-PSS ECDSA 2.380
0.458 0.578 0.236 1.108

Table 9.

Supported Security Element for the Data.

Methodology Confidentiality Integrity Authentication Non-reputation
E-Modbus - O O O
E-ModbusSec O O O -
MODBUS-TLS O O O -
MODBUS-S O O O O
This Paper O O O O

Table 10.

Environment of Experiment

Methodology General Purpose Computer Resource Constraint Computer
E-Modbus - -
E-ModbusSec O -
MODBUS-TLS - -
MODBUS-S O -
This Paper O O

TABLE 11.

Comparison of Performance

Read Coil
(1)
Write Coil
(1)
Write Coils (40)
E-Modbus 13211028.00 9728853.00 8286157.50
E-ModbusSec 16600.33 16253.25 10920.22
This Paper 7175124.24 7169894.87 2413029.10