A Self-Code Integrity Verification Technique for Improving the Security of uC/OS-II Operating System

Seung-Jae Han, Gyoosik Kim, Seong-je Cho · 정보과학회 컴퓨팅의 실제 논문지 · 2019

uC/OS-II는 실시간성을 지원하는 선점형 멀티태스크 임베디드 운영체제다. 본 논문에서는 uC/OS-II 운영체제의 보안을 개선하기 위해, 두 가지의 코드 무결성 검증 기법을 제안한다. 첫 번째는, 전체 실행코드 무결성 검증 기법으로 운영체제(펌웨어)의 텍스트 영역 전체에 대한 위변조 여부를 주기적으로 확인한다. 이 기법은 전체 코드의 무결성을 보장하여 안전하지만 계산 오버헤드가 크다. 두 번째는, 경량화된 실행코드 무결성 검증 기법으로 운영체제 텍스트 영역 내의 일부 함수들을 무작위로 선정하여, 선정된 함수들의 위변조여부를 주기적으로 확인한다. 이 기법은 실행코드의 일부만 검증하는 대신 실행 오버헤드가 적다. 두 기법 모두 MD5와 같은 암호학적 해시 알고리즘을 사용하여 기존 체크섬 기반 검증기법보다 안전도를 높였다. 또한 외부시스템의 도움 없이, 임베디드 시스템 내부에 구현하여 자체적으로 운영된다. 실제 임베디드 보드에 uC/OS-II를 설치한 후, 제안한 두 기법을 주기 태스크로 구현하고 평가하여 유효성을 검증하였다.

Read the paper · More papers on PaperTik