Abstract
Currently, embedded systems have been widely used for ubiquitous computing environments including digital setup boxes, mobile phones, and USN (Ubiquitous Sensor Networks). The significance of security has been growing as it must be necessarily embedded in all these systems. Up until now, many researchers have made efforts to verify the integrity of applied binaries downloaded in embedded systems. The research of problem solving is organized into hardware methods and software-like methods. In this research, the basic approach to solving problems from the software perspective was employed. From the software perspective, unlike in the existing papers (Seshadri et al., Proc. the IEEE symposium on security and privacy, 2004; Seshadri et al., Proc. the symposium on operating systems principals, 2005) based on the standardized model (TTAS.KO-11.0054. http://www.tta.or.kr 2006) publicized in Korea, there is no extra verifier and conduct for the verification function in the target system. Contrary to the previous schemes (Jung et al. http://ettrends.etri.re.kr/PDFData/23-1_001_011.pdf, 2008; Lee et al., LNCS, vol. 4808, pp. 346–355, 2007), verification results are stored in 1 validation check bit, instead of storing signature value for application binary files in the i-node structure for the purpose of reducing run-time execution overhead. Consequently, the proposed scheme is more efficient because it dramatically reduces overhead in storage space, and when it comes to computing, it performs one hash algorithm for initial execution and thereafter compares 1 validation check bit only, instead of signature and hash algorithms for every application binary. Furthermore, in cases where there are frequent changes in the i-node structure or file data depending on the scheme application, the scheme can provide far more effective verification performance compared to the previous schemes.
Similar content being viewed by others
References
Abuhmed T, Nyamaa N, Nyang D (2009) Software-based remote code attestation in wireless sensor network. In: Proc IEEE GLOBECOM
Arbaugh A, Farber DJ, Smith JM (1997) A secure and reliable BootStrap architecture. In: Proc IEEE symposium on security and privacy, pp 65–71
Castelluccia C, Francillon A, Perito D, Soriente C (2009) On the difficulty of software-based attestation of embedded devices. In: Proc the 16th ACM conference on computer and communications security (CCS)
Chen Y, Venkatesan R, Cary M, Sinha S, Jakubowski MH (2002) Oblivious hashing: a stealthy software integrity verification primitive. In: Proc int workshop, information hiding, pp 400–414
Chhabra S, Rogers B, Solihin Y, Prvulovic M (2009) Making secure processors OS- and performance-friendly. ACM Trans Archit Code Optim (TACO) 5(4)
Ceccato M Preda, MD, Majumdar, A, Tonella, P (2009) Remote software protection by orthogonal client replacement. In: Proc the 24th ACM symposium on applied computing, ACM
Common Vulnerabilities and Exposures (2010) http://cve.mitre.org/
Courtright K Husain, MI, Sridhar, R (2009) LASE: latency aware simple encryption for embedded systems security. Int J Comput Sci Netw Secur (IJCSNS), 9(10)
CryptocellTM, Discretix Technologies Ltd. http://www.discretix.com
Giannetsosl T, Dimitrioul T, Krontiris I, Prasad, NR (2010) Arbitrary Code Injection through Self-propagating Worms in Von. Neumann, Architecture Devices. Comput J Adv Access. Published online. http://comjnl.oxfordjournals.org/cgi/content/abstract/bxq009
Gilani S (2007) Embedded OS: a foundation for secure networking. In: Embedded computer design. OpenSystems publishing. http://www.mentor.com
Gilbert H, Handschuh H (2005) Security analysis of SHA-256 and sisters. In: Selected areas in cryptography 2003, NIST cryptographic hash workshop
Gogniat G, Wolf T, Burleson W (2005) Reconfigurable security primitive for embedded systems. In: Proc international symposium on system-on-chip (SOC)
Ghosh AK, Swaminatha TM (2001) Software security and privacy risks in mobile e-commerce. Commun ACM 44:51–57
Henderson B (2010) Linux Loadable Kernel Module HOWTO. http://www.linux.org/docs/ldp/howto/module-howto/
Hoffstein J, Pipher J, Silverman J (1998) NTRU: a ring-based public key cryptosystem. In: Buhler J (ed) Algorithmic number theory (ANTS III). LNCS, vol 1423. Springer, Berlin, pp 267–288
Hwang DD, Schaumont P, Tiri K, Verbauwhede I (2006) Securing embedded systems. IEEE Secur Priv 4(2):40–49
Jones K (2001) Loadable kernel modules. http://www.usenix.org/publications/login/2001-11/pdfs/jones2.pdf
Jung YJ, Lim DH, Seo YB, Kim JM (2008) The trends of embedded operating system security technology online publishing. http://ettrends.etri.re.kr/PDFData/23-1_001_011.pdf, ETRI (in Korean)
Kil C, Sezer EC, Azab AM, Ning, P, Zhang X (2009) Remote attestation to dynamic system properties: towards providing complete system integrity evidence. In: Proc the 39th IEEE/IFIP conference on dependable systems and networks
Kocher P, Lee R, McGraw G, Raghunathan A, Ravi S (2004) Security as a new dimension in embedded system design. In: Proc the 41st IEEE design automation conference, pp 753–760
Latest Virus Threats (2010) Symantec Corporation. http://www.symantec.com/avcenter/vinfodb.html
Lee J, Heo J, Park J, Cho Y, Hong J, Park M (2007) Buffer cache level encryption for embedded secure operating system. In: LNCS, vol 4808. Springer, Berlin, pp 346–355
Lee JS, Jung KY, Jung D, Kim TH, Kim Y, Kim J (2008) Preventing ELF-file-infecting malware using signature verification for embedded Linux. J KIISE Comput Pract Lett 14(6) (in Korean)
Lenstra AK, Verheul ER (2000) The XTR public key system. In: Proc Crypto 2000. LNCS, vol 1880. Springer, Berlin
Lie D, Thekkath CA, Mitchell M, Lincoln P, Boneh D, Mitchell JC, Horowitz M (2000) Architectural Support for Copy and Tamper resistant software. In: Proc ACM architectural support for programming languages and operating systems (ASPLOS), pp 168–177
Liu D, Dong Q (2009) Combating side-channel attacks using key management. In: IEEE international symposium on parallel & distributed processing, pp 1–8
Mao S, Wolf T (2010) Hardware support for secure processing in embedded systems. IEEE Trans Comput 59(6):847–854
Muthukumaran D, Sawani A, Schiffman J, Jung BM, Jaeger T (2008) Measuring integrity on mobile phone systems. In: Proc the 13th ACM symposium on access control models and technologies
Next-Generation Secure Computing Base (NGSCB) (2003) http://www.microsoft.com/resources/ngscb/default.mspx
Rabin MO (1979) Digitalized signatures and public-key functions as intractable as factorization. Technical Report LCS/TR-212. Massachusetts Institute of Technology
Ravi S, Raghunathan A, Chakradhar S (2004) Tamper resistance mechanisms for secure embedded systems. In: Proc the international conference on VLSI Design, pp 605–611
Ravi S, Raghunathan A, Kocher P, Hattangady S (2004) Security in embedded systems: design challenges. ACM Trans Embed Comput Syst 3:461–491
Schellekens D, Wyseur B, Preneel B (2008) Remote attestation on legacy operating systems with trusted platform modules. In: Sci Comput Program, pp 13–22
Secure Coprocessing (2010) IBM Inc. http://www.research.ibm.com/scop/
Security Reference Model for Embedded Operating System (2006) TTAS.KO-11.0054. Telecommunications Technology Association. http://www.tta.or.kr/ (in Korean)
Seshadri A, Luk M, Shi E, Perrig A, Doorn L, Khosla P (2005) Pioneer: verifying integrity and guaranteeing execution of code on legacy platforms. In: Proc the symposium on operating systems principals
Seshadri A, Perrig A, Doorn L, Khosla P (2004) SWATT: software-based ATTestation for embedded devices. In: Proc the IEEE symposium on security and privacy
Suh GE, Clarke D, Gassend B, Dijk M, Devadas S (2003) AEGIS: architecture for tamper-evident and Tamper-resistant processing. In: Proc intl conf. supercomputing (ICS ’03), pp 160–171
Suh GE, Clarke D, Gassend B, Dijk M, Devadas S (2003) Efficient memory integrity verification and encryption for secure processors. In: Proc MICRO-36
The IBM PCI Cryptographic Coprocessor (2010) IBM Inc. http://www3.ibm.com/security/cryptocards/
The National Security Agency (2003) Security-enhanced Linux. http://www.nsa.gov/research/selinux/
TinyECC (2007) A Configurable Library for Elliptic Curve Cryptography in Wiress Sensor Networks Ver 1.0. http//discovery.csc.ncsu.edu/software/TinyECC
Trusted Computing Group (TCG) (2003) https://www.trustedcomputinggroup.org/
Vaslin R, Gogniat G, Diguet J, Wanderley E, Tessier R, Burleson W (2009) A security approach for off-chip memory in embedded microprocessor systems. Microprocess Microsyst 33(1):37–45
Virus Information (2010) Computer Security Resource Center. National Institute of Standards and Technology. http://csrc.nist.gov/virus/
Vulnerability notes database (2010) CERT coordination center. http://www.kb.cert.org/vuls/
Wang X, Yin, Y, Yu H (2005) Finding collisions in the full SHA-1. In: Proc Crypto
Welsh M (1995) Implementing Loadable Kernel Modules for Linux. Dr Dobbs J 20(5)
WireX Communications (2001) Linux Security Module. http://lsm.immunix.org/
Wright C, Cowan C, Smalley S, Morris J, Hartman GK (2002) Linux Security Module framework. In: 2002 Ottawa Linux symposium
Yee B (1994) Using secure co-processors. PhD thesis, Carnegie Mellon University
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Kim, S.S., Lee, D.G. & Park, J.H. Efficient scheme of verifying integrity of application binaries in embedded operating systems. J Supercomput 59, 676–692 (2012). https://doi.org/10.1007/s11227-010-0465-4
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-010-0465-4