DOI QR코드

DOI QR Code

임베디드 기기 바이너리 취약점 분석 효율성 제고를 위한 중간어 변환 기술

Intermediate-Representation Translation Techniques to Improve Vulnerability Analysis Efficiency for Binary Files in Embedded Devices

  • 정병호 (한양대학교 컴퓨터소프트웨어학과) ;
  • 김용혁 (한양대학교 컴퓨터소프트웨어학과) ;
  • 배성일 (한양대학교 컴퓨터소프트웨어학과) ;
  • 임을규 (한양대학교 컴퓨터소프트웨어학과)
  • 투고 : 2018.03.11
  • 심사 : 2018.03.26
  • 발행 : 2018.03.31

초록

임베디드 기기는 시퀀스 제어 기능과 수치연산 기능을 활용하여 제어 프로그램에 따라 산업현장의 기기 등 다양한 자동화 시스템에 활용된다. 현재 임베디드 기기는 기업의 산업현장, 원전, 대중교통 같은 국가기반시설에서 제어 시스템으로 활용되고 있다. 따라서 임베디드 기기를 대상으로 하는 공격은 큰 경제적 손실과 사회적 손실을 야기할 수 있다. 임베디드 기기를 대상으로 하는 공격은 대부분 데이터, 코드 변조로서 제어 프로그램을 대상으로 이루어진다. 산업 자동화 임베디드 기기의 제어 프로그램은 일반적인 프로그래밍 언어와 달리 회로 구조를 표현하기 위하여 설계되었고, 대부분의 산업 자동화 제어 프로그램은 그래픽 기반 언어인 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.

키워드

참고문헌

  1. Kushner, David. "The real story of stuxnet." ieee Spectrum 50.3, pp. 48-53, 2013. https://doi.org/10.1109/MSPEC.2013.6471059
  2. Spenneberg, Ralf, Maik Bruggemann, and Hendrik Schwartke. "PLC-blaster: A worm living solely in the PLC." Black Hat Asia, Marina Bay Sands, Singapore, 2016.
  3. Lattner, Chris, and Vikram Adve. "LLVM: A compilation framework for lifelong program analysis & transformation." Proceedings of the international symposium on Code generation and optimization: feedback-directed and runtime optimization. IEEE Computer Society, 2004.
  4. Prahofer, Herbert, Florian Angerer and Rudolf Ramler. "Static code analysis of IEC 61131-3 programs: Comprehensive tool support and experiences from large-scale industrial application." IEEE Transactions on Industrial Informatics, vol. 13, no. 1 , pp. 37-47, 2017. https://doi.org/10.1109/TII.2016.2604760
  5. Sandaruwan, G. P. H., P. S. Ranaweera, and Vladimir A. Oleshchuk. "PLC security and critical infrastructure protection." Industrial and Information Systems (ICIIS), 2013 8th IEEE International Conference on. IEEE, 2013.
  6. Lamperiere-Couffin, Sandrine, O. Rossil,J.-M Roussel and J.-J Lesage, "Formal validation of PLC programs: a survey." Control Conference (ECC), 1999 European. IEEE, 1999.
  7. Alam, Shahid, R. Nigel Horspool, and Issa Traore. "MAIL: Malware Analysis Intermediate Language: a step towards automating and optimizing malware detection." Proceedings of the 6th International Conference on Security of Information and Networks. ACM, 2013.
  8. Kumar, R. Sravan, and Ashutosh Saxena. "Data integrity proofs in cloud storage." Communication Systems and Networks (COMSNETS), 2011 Third International Conference on. IEEE, 2011.
  9. SIEMENS. SIMATIC Statement List(STL) for S7-300 and S7-400 Programming. reference Manual