$\require{mediawiki-texvc}$

연합인증

연합인증 가입 기관의 연구자들은 소속기관의 인증정보(ID와 암호)를 이용해 다른 대학, 연구기관, 서비스 공급자의 다양한 온라인 자원과 연구 데이터를 이용할 수 있습니다.

이는 여행자가 자국에서 발행 받은 여권으로 세계 각국을 자유롭게 여행할 수 있는 것과 같습니다.

연합인증으로 이용이 가능한 서비스는 NTIS, DataON, Edison, Kafe, Webinar 등이 있습니다.

한번의 인증절차만으로 연합인증 가입 서비스에 추가 로그인 없이 이용이 가능합니다.

다만, 연합인증을 위해서는 최초 1회만 인증 절차가 필요합니다. (회원이 아닐 경우 회원 가입이 필요합니다.)

연합인증 절차는 다음과 같습니다.

최초이용시에는
ScienceON에 로그인 → 연합인증 서비스 접속 → 로그인 (본인 확인 또는 회원가입) → 서비스 이용

그 이후에는
ScienceON 로그인 → 연합인증 서비스 접속 → 서비스 이용

연합인증을 활용하시면 KISTI가 제공하는 다양한 서비스를 편리하게 이용하실 수 있습니다.

임베디드 기기 바이너리 취약점 분석 효율성 제고를 위한 중간어 변환 기술
Intermediate-Representation Translation Techniques to Improve Vulnerability Analysis Efficiency for Binary Files in Embedded Devices 원문보기

스마트미디어저널 = Smart media journal, v.7 no.1, 2018년, pp.37 - 44  

정병호 (한양대학교 컴퓨터소프트웨어학과) ,  김용혁 (한양대학교 컴퓨터소프트웨어학과) ,  배성일 (한양대학교 컴퓨터소프트웨어학과) ,  임을규 (한양대학교 컴퓨터소프트웨어학과)

초록
AI-Helper 아이콘AI-Helper

임베디드 기기는 시퀀스 제어 기능과 수치연산 기능을 활용하여 제어 프로그램에 따라 산업현장의 기기 등 다양한 자동화 시스템에 활용된다. 현재 임베디드 기기는 기업의 산업현장, 원전, 대중교통 같은 국가기반시설에서 제어 시스템으로 활용되고 있다. 따라서 임베디드 기기를 대상으로 하는 공격은 큰 경제적 손실과 사회적 손실을 야기할 수 있다. 임베디드 기기를 대상으로 하는 공격은 대부분 데이터, 코드 변조로서 제어 프로그램을 대상으로 이루어진다. 산업 자동화 임베디드 기기의 제어 프로그램은 일반적인 프로그래밍 언어와 달리 회로 구조를 표현하기 위하여 설계되었고, 대부분의 산업 자동화 제어 프로그램은 그래픽 기반 언어인 LAD로 설계되어있어 정적분석이 용이하지 않다. 이러한 특징으로 인하여 산업 자동화 제어 프로그램에 대한 취약점 분석 및 보안 관련 연구는 정형 검증, 실시간 모니터링 수준에 그친다. 또한 사전에 취약점을 탐지하고 공격에 대한 대비가 가능한 산업 자동화 제어 프로그램 정적분석 연구는 매우 저조한 실정이다. 따라서 본 연구에서는 산업 자동화 임베디드 프로그램에 대한 정적분석 효율성 증대를 위하여 회로 구조를 표현하기 위해 설계된 산업 자동화 제어 프로그램을 논리식으로 표현하기 위한 방법을 제시한다. 또한 다양한 제조사의 산업 자동화 제어 프로그램을 통합적으로 분석하기 위하여 LLVM IR을 활용한 중간어 변환 기술을 제안한다. LLVM IR을 활용함으로서 동적 분석에 대한 통합분석이 가능하다. 본 연구에서는 해당 방법에 대한 검증을 위하여 S 사(社)의 제어 프로그램을 대상으로 하여 논리식 형태의 중간어로 변환하는 프로그램의 시제품을 개발하였다.

Abstract AI-Helper 아이콘AI-Helper

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 ...

주제어

AI 본문요약
AI-Helper 아이콘 AI-Helper

* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.

문제 정의

  • G Sandaruwan 외 3인은 다양한 경로의 산업자동화 임베디드 기기에 대한 공격 경로를 분석하여 산업자동화 임베디드 기기 취약점을 찾아내었다[5]. 또한 산업자동화 임베디드 기기 기반 시스템에서의 취약점을 보완하기 위한 솔루션을 제안하였다. University Laboratory in Automated Production Resarch의 S.
  • 본 연구에서는 위와 같은 실행 순서와 회로 구조를 반영하기 위하여 중간어 변환 과정에 앞서 파스트리 형태로 변형하는 과정을 진행한다. 본 논문에서는 회로 구조를 논리식 형태로 이루어진 파스트리로 변형을 진행하는 동시에 같은 신호 흐름을 유지하기 위하여 산업자동화 제어 프로그램을 대상으로 변환 규칙을 설계한다. 해당 규칙에 따라 그림 3의 STL 형식의 프로그램은 그림 6의 파스트리와 같은 형태로 변형된다.
  • 따라서 효과적인 취약점 분석을 위해서는 통합 관리 방안이 필요 하다. 본 연구에서는 각 제조사의 산업자동화 제어 프로그램 통합 관리를 위하여 중간어 변환 기술을 제안한다.
  • Converter 모듈에는 새로운 라이브러리의 명령어를 추가하여 새로운 명령어에 대한 변환에 대응할 수 있다. 본 연구에서는 산업자동화 임베디드 기기의 레지스터와 메모리 구조를 활용한 실제 동작 방식을 구현하기 위한 모듈을 구현하였다. Load Structure 모듈은 산업자동화 제어 프로그램이 외부 데이터 블록의 데이터 값을 참조하는 과정을 구현한다.
  • 현재 산업 자동화 임베디드 기기 관련 보안 연구는 산업자동화 임베디드 기기의 이상 행동을 감시하는 동적 분석방법에 집중되어 있으며, 정적분석의 경우 대부분 정형 검증에 치중되어 있다. 본 연구에서는 산업자동화 임베디드 기기의 산업자동화 제어 프로그램의 바이너리 파일의 코드를 추출하여 해당 코드를 바탕으로 하여 정적 분석 기반 취약점 탐지를 진행하는 기술을 제안한다. 산업자동화 임베디드 기기의 제어 프로그램 언어는 S 社의 S7 시리즈, M 社의 Melsec 등 다양한 제조사의 기기가 존재하며 각 제조사의 산업 자동화 제어 프로그램 구조, 문법, 명령어는 상이하다.
본문요약 정보가 도움이 되었나요?

질의응답

핵심어 질문 논문에서 추출한 답변
기기 자동화 시스템이 활용되는 곳은 어디인가? 오늘날 산업계에서는 기기 자동화 시스템이 일반화 되어 기업의 공정, 원전 등의 산업시설 뿐만 아니라 대중교통과 같은 사회기간 시설에서도 널리 활용되고 있다. 임베디드 기기는 논리회로와 논리연산, 수치연산으로 구성된 산업자동화 제어 프로그램이라는 언어로 설계된 프로그램에 따라 공장의 자동화 과정 제어에 활용된다.
산업자동화 제어 프로그램을 구성하는 기본 요소는 무엇인가? 그러나 산업자동화 제어 프로그램은 일반적인 프로그래밍 언어와 달리 회로의 구성 방식을 표현하기 위하여 설계되었다. 산업자동화 제어 프로그램을 구성하는 기본 요소는 회로, 접점, 코일이다. 회로는 입력된 신호가 지나가는 흐름을 의미하며, 전기 회로의 직렬, 병렬 개념과 상응한다.
산업자동화 임베디드 기기의 중간어 변환 프로그램은 무엇으로 구성되어 있는가? 중간어 변환 프로그램은 산업자동화 임베디드 기기 프로그램을 입력 받아 논리식으로 이루어진 파스트리 형태로 재구성하는 과정과 파스트리를 입력받아 중간어로 변환하는 과정을 수행한다. 프로그램은 Interface 모듈, Mapper 모듈, Converter 모듈로 구성된다. Interface 모듈은 중간어 변환 프로그램의 메인 루틴이다.
질의응답 정보가 도움이 되었나요?

참고문헌 (9)

  1. Kushner, David. "The real story of stuxnet." ieee Spectrum 50.3, pp. 48-53, 2013. 

  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. 

  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 

저자의 다른 논문 :

LOADING...

관련 콘텐츠

저작권 관리 안내
섹션별 컨텐츠 바로가기

AI-Helper ※ AI-Helper는 오픈소스 모델을 사용합니다.

AI-Helper 아이콘
AI-Helper
안녕하세요, AI-Helper입니다. 좌측 "선택된 텍스트"에서 텍스트를 선택하여 요약, 번역, 용어설명을 실행하세요.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.

선택된 텍스트

맨위로