343 0

PLC 취약점 탐지에 대한 연구

Title
PLC 취약점 탐지에 대한 연구
Other Titles
Research on PLC Vulnerability Detection
Author
김용혁
Advisor(s)
임을규
Issue Date
2018-02
Publisher
한양대학교
Degree
Master
Abstract
As technology advances, SCADA(Supervisory Control And Data Acquisition) system is introduced to monitor and control large scale industrial sites. The SCADA system automatically monitors and controls switches and sensors via PLC(Programmable Logic Controller). PLC is a pivotal role in the SCADA system, so the vulnerability of the device can lead to physical damage. In fact, attacks on the SCADA system include the Stuxnet incident found at five Iranian power plants, and the shutdown of the US Nuclear Power Plant safety monitoring system for five hours due to the Slammer worm. In this paper, we propose PLC vulnerability detection system to prevent the PLC vulnerability. PLC vulnerability detection system performs static analysis and dynamic analysis on PLC and performs vulnerability detection based on the acquired information. Static analysis extracts a ladder logic program which is an internal program of PLC and performs intermediate language conversion. The extraction of the ladder logic program was performed by converting it into STL because it was difficult to extract it directly. Also, in order to cope with various PLC manufacturers, it is possible to perform vulnerability detection on a unified language by converting to an intermediate language. Dynamic analysis extracts PLC internal memory values ​​in real time. PLC internal memory size is in KB, so extraction is easy. The memory value extraction method is extracted through a debugging tool and extracted through a library. Since the PLC is a device with stable performance, a performance test was performed on the extraction method. In this paper, vulnerability detection is performed on extracted memory value and intermediate language conversion program. Detecting whether the memory value extracted is modulated, the intermediate language conversion program detects whether the program itself is tampered, and performs vulnerability detection in the program.; 기술의 발전에 따라 대규모 산업 현장의 감시 및 제어 자동화를 위해 SCADA(Supervisory Control And Data Acquisition) 시스템을 도입하였다. SCADA 시스템은 PLC(Programmable Logic Controller)를 통해 스위치 및 센서를 자동으로 감시 및 제어한다. PLC는 SCADA 시스템에서 중추적인 역할이기 때문에 해당 기기의 취약점 발생은 물리적 피해로 이어질 수 있다. 실제로 SCADA 시스템에 대한 공격은 이란의 5개 발전소에서 발견되었던 스턱스넷 사건, 슬래머 웜으로 인해 미국 원자력 발전소 안전 모니터링 시스템이 5시간 동안 중단된 사건 등이 존재한다. 본 논문에서는 이와 같이 PLC 취약점 발생을 방지하기 위해 PLC 취약점 탐지 시스템을 제안한다. PLC 취약점 탐지 시스템은 PLC에 대한 정적 분석 및 동적 분석을 수행하며 획득한 정보를 바탕으로 취약점 탐지를 수행한다. 정적 분석은 PLC 내부 프로그램인 래더로직 프로그램을 추출하고 중간어 변환을 수행한다. 래더로직 프로그램 추출은 직접적인 추출이 어려워 STL로 변환하여 추출을 수행하였다. 또한 다양한 PLC 제조사에 대응하기 위하여 중간어로 변환하여 통일된 언어를 대상으로 취약점 탐지를 수행할 수 있다. 동적 분석은 PLC 내부 메모리 값을 실시간으로 추출한다. PLC 내부 메모리 크기는 KB 단위이기 때문에 추출이 용이하다. 메모리 값 추출 방법은 디버깅 도구를 통한 추출, 라이브러리를 통한 추출이 존재한다. PLC는 안정적인 성능이 중요한 기기이기 때문에 해당 추출 방법에 대한 성능 실험을 수행하였다. 본 논문에서는 중간어 변환 프로그램을 대상으로 취약점 탐지를 수행한다. 중간어 변환 프로그램은 프로그램 자체 변조 여부 탐지 및 프로그램 내 취약점 탐지를 수행한다.
URI
https://repository.hanyang.ac.kr/handle/20.500.11754/68628http://hanyang.dcollection.net/common/orgView/200000432136
Appears in Collections:
GRADUATE SCHOOL[S](대학원) > COMPUTER SCIENCE(컴퓨터·소프트웨어학과) > Theses (Master)
Files in This Item:
There are no files associated with this item.
Export
RIS (EndNote)
XLS (Excel)
XML


qrcode

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.

BROWSE