Browse > Article

Instruction-corruption-less Binary Modification Mechanism for Static Stack Protections  

Lee, Young-Rim (고려대학교 컴퓨터학과)
Kim, Young-Pil (고려대학교 컴퓨터학과)
Yoo, Hyuck (고려대학교 컴퓨터학과)
Abstract
Many sensor operating systems have memory limitation constraint; therefore, stack memory areas of threads resides in a single memory space. Because most target platforms do not have hardware MMY (Memory Management Unit), it is difficult to protect each stack area. The method to solve this problem is to exchange original stack handling instructions in binary code for wrapper routines to protect stack area. In this exchanging phase, instruction corruption problem occurs due to difference of each instruction length between stack handling instructions and branch instructions. In this paper, we propose the algorithm to call a target routine without instruction corruption problem. This algorithm can reach a target routine by repeating branch instructions to have a short range. Our solution makes it easy to apply security patch and maintain upgrade of software of sensor node.
Keywords
Sensor Operating system; Embedded System; Stack Protection;
Citations & Related Records
연도 인용수 순위
  • Reference
1 H. Abrach, S. Bhatti, J. Carlson, H. Dai, J. Rose, A. Sheth, B. Shucker, J. Deng, R. Han, MANTIS: system support for multimodAl NeTworks of in- situ sensors, Proceedings of the 2nd ACM international conference on Wireless sensor networks and applications, September 19-19, 2003, San Diego, CA, USA
2 LEVIS, P., MADDEN, S., GAY, D., POLASTRE, J., SZEWCZYK, R., WOO, A., BREWER, E., AND CULLER, D. The emergence of networking abstractions and techniques in tinyos. In Proceedings of the First Symposium on Networked Systems Design and Implementation (2004), USENIX Association, pp. 1-14
3 atmega128 datasheet, available : http://www.atmel.com/
4 Kishan A, Lam M, "Dynamic Kernel Modification and extensibility," Technical Report of SUIF Group, Department of Computer Science, Stanford University Stanford CA, 2002
5 Siddharth Choudhuri, "Software Virtual Memory Management for MMU-less Embedded Systems," Technical Report CECS-05-16, 2005
6 David J. Pearce, Paul H.J. Kelly, Tony Field and Uli Harder, "GILK: A dynamic instrumentation tool for the Linux Kernel," In Proceedings of the 12th International Conference on Modeling Tools and Techniques for Computer and Communication System Performance Evaluation(TOOLS '02), page 220-226, April 2002
7 이영림, 김영필, 유혁, "MMU가 없는 Thread기반 운영체제에서 스택 보호를 위한 메모리 관리 기법", 한국정보과학회 추계학술대회, 2006년 10월
8 Bruce Jacob, "Uniprocessor Virtual Memory without TLBs," IEEE Transaction on Computers, Vol.50, No.5, May 2001
9 Seungmin Park, Jin Won Kim, Kwangyong Lee, Kee-Young Shin, Daeyoung Kim, "Embedded Sensor Networked Operating System," Ninth IEEE International Symposium on Object and Component- Oriented Real-Time Distributed Computing (ISORC '06) pp. 117-124
10 Rob von Behren, Jeremy Condit and Eric Brewer, "Why Event Are A Bad Idea," the 9th Workshop on Hot Topics in Operating System, Lihue, Hawaii, USA, May 18-21, 2003