초록
임베디드 기기는 시퀀스 제어 기능과 수치연산 기능을 활용하여 제어 프로그램에 따라 산업현장의 기기 등 다양한 자동화 시스템에 활용된다. 현재 임베디드 기기는 기업의 산업현장, 원전, 대중교통 같은 국가기반시설에서 제어 시스템으로 활용되고 있다. 따라서 임베디드 기기를 대상으로 하는 공격은 큰 경제적 손실과 사회적 손실을 야기할 수 있다. 임베디드 기기를 대상으로 하는 공격은 대부분 데이터, 코드 변조로서 제어 프로그램을 대상으로 이루어진다. 산업 자동화 임베디드 기기의 제어 프로그램은 일반적인 프로그래밍 언어와 달리 회로 구조를 표현하기 위하여 설계되었고, 대부분의 산업 자동화 제어 프로그램은 그래픽 기반 언어인 LAD로 설계되어있어 정적분석이 용이하지 않다. 이러한 특징으로 인하여 산업 자동화 제어 프로그램에 대한 취약점 분석 및 보안 관련 연구는 정형 검증, 실시간 모니터링 수준에 그친다. 또한 사전에 취약점을 탐지하고 공격에 대한 대비가 가능한 산업 자동화 제어 프로그램 정적분석 연구는 매우 저조한 실정이다. 따라서 본 연구에서는 산업 자동화 임베디드 프로그램에 대한 정적분석 효율성 증대를 위하여 회로 구조를 표현하기 위해 설계된 산업 자동화 제어 프로그램을 논리식으로 표현하기 위한 방법을 제시한다. 또한 다양한 제조사의 산업 자동화 제어 프로그램을 통합적으로 분석하기 위하여 LLVM IR을 활용한 중간어 변환 기술을 제안한다. LLVM IR을 활용함으로서 동적 분석에 대한 통합분석이 가능하다. 본 연구에서는 해당 방법에 대한 검증을 위하여 S 사(社)의 제어 프로그램을 대상으로 하여 논리식 형태의 중간어로 변환하는 프로그램의 시제품을 개발하였다.
Utilizing sequence control and numerical computing, embedded devices are used in a variety of automated systems, including those at industrial sites, in accordance with their control program. Since embedded devices are used as a control system in corporate industrial complexes, nuclear power plants and public transport infrastructure nowadays, deliberate attacks on them can cause significant economic and social damages. Most attacks aimed at embedded devices are data-coded, code-modulated, and control-programmed. The control programs for industry-automated embedded devices are designed to represent circuit structures, unlike common programming languages, and most industrial automation control programs are designed with a graphical language, LAD, which is difficult to process static analysis. Because of these characteristics, the vulnerability analysis and security related studies for industry automation control programs have only progressed up to the formal verification, real-time monitoring levels. Furthermore, the static analysis of industrial automation control programs, which can detect vulnerabilities in advance and prepare for attacks, stays poorly researched. Therefore, this study suggests a method to present a discussion on an industry automation control program designed to represent the circuit structure to increase the efficiency of static analysis of embedded industrial automation programs. It also proposes a medium term translation technology exploiting LLVM IR to comprehensively analyze the industrial automation control programs of various manufacturers. By using LLVM IR, it is possible to perform integrated analysis on dynamic analysis. In this study, a prototype program that converts to a logical expression type of medium language was developed with regards to the S company's control program in order to verify our method.