PLC용 uC/OS 운영체제의 보안성 강화를 위한 실행코드 새니타이저

Vol. 29, No. 2, pp. 365-375, 3월. 2019
10.13089/JKIISC.2019.29.2.365, Full Text:
Keywords: Execution code sanitizer, Programmable logic controller, uC/OS, Vulnerable function, Pointer misuse
Abstract

PLC(Programmable Logic Controller)는 안전 지향 제어시스템(safety-critical control system)을 위한 실시간 임베디드 제어 애플리케이션들을 지원하는 고신뢰성의 산업용 디지털 컴퓨터이다. PLC의 실시간 제약조건을 만족시키기 위하여 uC/OS 등의 실시간 운영체제들이 구동되고 있다. PLC들이 산업제어 시스템 등에 널리보급되고 인터넷에 연결됨에 따라, PLC 시스템을 대상으로 한 사이버 공격들이 증대되고 있다. 본 논문에서는, 통합 개발 환경(IDE)에서 개발된 프로그램이 PLC로 다운로드 되기 전에 실행 코드를 분석하여 취약성을 완화시켜주는 “실행코드 새니타이저(sanitizer)“를 제안한다. 제안기법은, PLC 프로그램 개발 중에 포함되는 취약한 함수들과 잘못된 메모리 참조를 탐지한다. 이를 위해 취약한 함수 DB 및 이상 포인터 연산과 관련된 코드 패턴들의 DB를 관리한다. 이들 DB를 기반으로, 대상 실행 코드 상에 취약 함수들의 포함 여부 및 포인터 변수의 이상 사용 패턴을 탐지·제거한다. 제안 기법을 구현하고 실험을 통해 그 유효성을 검증하였다.

Statistics
Show / Hide Statistics

Statistics (Cumulative Counts from December 1st, 2017)
Multiple requests among the same browser session are counted as one view.
If you mouse over a chart, the values of data points will be shown.


Cite this article
[IEEE Style]
최광준, 유근하, 조성제, "Executable Code Sanitizer to Strengthen Security of uC/OS Operating System for PLC," Journal of The Korea Institute of Information Security and Cryptology, vol. 29, no. 2, pp. 365-375, 2019. DOI: 10.13089/JKIISC.2019.29.2.365.

[ACM Style]
최광준, 유근하, and 조성제. 2019. Executable Code Sanitizer to Strengthen Security of uC/OS Operating System for PLC. Journal of The Korea Institute of Information Security and Cryptology, 29, 2, (2019), 365-375. DOI: 10.13089/JKIISC.2019.29.2.365.