{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,16]],"date-time":"2026-03-16T14:05:39Z","timestamp":1773669939822,"version":"3.50.1"},"reference-count":67,"publisher":"Association for Computing Machinery (ACM)","issue":"1","license":[{"start":{"date-parts":[[2005,2,1]],"date-time":"2005-02-01T00:00:00Z","timestamp":1107216000000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Inf. Syst. Secur."],"published-print":{"date-parts":[[2005,2]]},"abstract":"<jats:p>\n            Injecting binary code into a running program is a common form of attack. Most defenses employ a \u201cguard the doors\u201d approach, blocking known mechanisms of code injection.\n            <jats:italic>Randomized instruction set emulation<\/jats:italic>\n            (RISE) is a complementary method of defense, one that performs a hidden randomization of an application's machine code. If foreign binary code is injected into a program running under RISE, it will not be executable because it will not know the proper randomization. The paper describes and analyzes RISE, describing a proof-of-concept implementation built on the open-source Valgrind IA32-to-IA32 translator. The prototype effectively disrupts binary code injection attacks, without requiring recompilation, linking, or access to application source code. Under RISE, injected code (attacks) essentially executes random code sequences. Empirical studies and a theoretical model are reported which treat the effects of executing random code on two different architectures (IA32 and PowerPC). The paper discusses possible extensions and applications of the RISE technique in other contexts.\n          <\/jats:p>","DOI":"10.1145\/1053283.1053286","type":"journal-article","created":{"date-parts":[[2005,8,3]],"date-time":"2005-08-03T08:30:55Z","timestamp":1123057855000},"page":"3-40","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":100,"title":["Randomized instruction set emulation"],"prefix":"10.1145","volume":"8","author":[{"given":"Elena Gabriela","family":"Barrantes","sequence":"first","affiliation":[{"name":"University of New Mexico, Albuquerque, NM"}]},{"given":"David H.","family":"Ackley","sequence":"additional","affiliation":[{"name":"University of New Mexico, Albuquerque, NM"}]},{"given":"Stephanie","family":"Forrest","sequence":"additional","affiliation":[{"name":"University of New Mexico, Albuquerque, NM"}]},{"given":"Darko","family":"Stefanovi\u0107","sequence":"additional","affiliation":[{"name":"University of New Mexico, Albuquerque, NM"}]}],"member":"320","published-online":{"date-parts":[[2005,2]]},"reference":[{"key":"e_1_2_1_1_1","first-page":"3","article-title":"Trusted Computing\u201d and competition policy---Issues for computing professionals","author":"Anderson R.","year":"2003","journal-title":"Upgrade"},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1109\/MC.2002.1023792"},{"key":"e_1_2_1_3_1","volume-title":"Proceeding of the 13th USENIX Security Symposium","author":"Avijit K."},{"key":"e_1_2_1_4_1","volume-title":"The methodology of N-version programming","author":"Avizienis A."},{"key":"e_1_2_1_5_1","volume-title":"Proceedings of IEEE COMPSAC 77","author":"Avizienis A."},{"key":"e_1_2_1_6_1","volume-title":"Proceedings of the ACM SIGPLAN '00 Conference on Programming language design and implementation. ACM Press","author":"Bala V."},{"key":"e_1_2_1_7_1","volume-title":"Proceedings of the 2000 USENIX Annual Technical Conference (USENIX-00)","author":"Baratloo A."},{"key":"e_1_2_1_8_1","volume-title":"Proceedings of the 10th ACM Conference on Computer and Communications Security","author":"Barrantes E. G."},{"issue":"4","key":"e_1_2_1_9_1","first-page":"168","article-title":"Microprocessor for executing enciphered programs","author":"Best R. M.","year":"1979","journal-title":"U.S. Patent"},{"key":"e_1_2_1_10_1","volume-title":"Proceedings of the IEEE Spring COMPCON '80","author":"Best R. M.","year":"1980"},{"key":"e_1_2_1_11_1","volume-title":"Proceedings of the 12th USENIX Security Symposium","author":"Bhatkar S."},{"key":"e_1_2_1_12_1","volume-title":"Proceedings of the 2nd Applied Cryptography and Network Security (ACNS) Conference","author":"Boyd S. W."},{"key":"e_1_2_1_13_1","volume-title":"4th ACM Workshop on Feedback-Directed and Dynamic Optimization (FDDO-4).]]","author":"Bruening D."},{"key":"e_1_2_1_14_1","unstructured":"Butler T. R. 2004. Bochs. http:\/\/bochs.sourceforge.net\/.]]  Butler T. R. 2004. Bochs. http:\/\/bochs.sourceforge.net\/.]]"},{"key":"e_1_2_1_15_1","volume-title":"Tech. Rep. CMU-CS-02-197, Department of Computer Science","author":"Chew M.","year":"2002"},{"key":"e_1_2_1_16_1","volume-title":"Proceedings of the 21st International Conference on Distributed Computing Systems (ICDCS)","author":"Chiueh T."},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1016\/0167-4048(93)90054-9"},{"key":"e_1_2_1_18_1","unstructured":"CORE Security. 2004. CORE security technologies. http:\/\/www1.corest.com\/home\/home.php.]]  CORE Security. 2004. CORE security technologies. http:\/\/www1.corest.com\/home\/home.php.]]"},{"key":"e_1_2_1_19_1","volume-title":"Proceedings of the 10th USENIX Security Symposium","author":"Cowan C."},{"key":"e_1_2_1_20_1","volume-title":"Proceedings of the 12th USENIX Security Symposium","author":"Cowan C."},{"key":"e_1_2_1_21_1","volume-title":"National Information Systems Security Conference (NISSC), Baltimore MD.]]","author":"Cowan C."},{"key":"e_1_2_1_22_1","volume-title":"Proceedings of the 7th USENIX Security Symposium","author":"Cowan C."},{"key":"e_1_2_1_23_1","volume-title":"DARPA Information Survivability Conference and Exposition (DISCEX","author":"Cowan C.","year":"2000"},{"key":"e_1_2_1_24_1","unstructured":"Dallas Semiconductor. 1999. DS5002FP secure microprocessor chip. http:\/\/pdfserv.maxim-ic.com\/en\/ds\/DS5002FP.pdf.]]  Dallas Semiconductor. 1999. DS5002FP secure microprocessor chip. http:\/\/pdfserv.maxim-ic.com\/en\/ds\/DS5002FP.pdf.]]"},{"key":"e_1_2_1_25_1","volume-title":"Proceedings of the ACM SIGPLAN 2003 Conference on Programming Language Design and Implementation. 155--167","author":"Dor N."},{"key":"e_1_2_1_26_1","unstructured":"Etoh H. and Yoda K. 2000. Protecting from stack-smashing attacks. Web publishing IBM Research Division Tokyo Research Laboratory http:\/\/www.trl.ibm.com\/projects\/security\/ssp\/main.html. June 19.]]  Etoh H. and Yoda K. 2000. Protecting from stack-smashing attacks. Web publishing IBM Research Division Tokyo Research Laboratory http:\/\/www.trl.ibm.com\/projects\/security\/ssp\/main.html. June 19.]]"},{"key":"e_1_2_1_27_1","volume-title":"Propolice: Improved stack smashing attack detection. IPSJ SIGNotes Computer Security (CSEC) 14 (Oct. 26).]]","author":"Etoh H.","year":"2001"},{"key":"e_1_2_1_28_1","unstructured":"Fayolle P.-A. and Glaume V. 2002. A buffer overflow study attacks & defenses. Web publishing ENSEIRB http:\/\/www.wntrmute.com\/docs\/bufferoverflow\/report.html.]]  Fayolle P.-A. and Glaume V. 2002. A buffer overflow study attacks & defenses. Web publishing ENSEIRB http:\/\/www.wntrmute.com\/docs\/bufferoverflow\/report.html.]]"},{"key":"e_1_2_1_29_1","volume-title":"Proceedings of the 6th Workshop on Hot Topics in Operating Systems. 67--72","author":"Forrest S."},{"key":"e_1_2_1_30_1","volume-title":"Proceedings of the 10th USENIX Security Symposium","author":"Frantzen M."},{"key":"e_1_2_1_31_1","first-page":"11","article-title":"Smashing the stack for fun and profit","volume":"59","author":"Gera","year":"2002","journal-title":"Phrack"},{"key":"e_1_2_1_32_1","unstructured":"Harper M. 2002. SQL injection attacks---Are you safe? In Sitepoint http:\/\/www.sitepoint. com\/article\/794.]]  Harper M. 2002. SQL injection attacks---Are you safe? In Sitepoint http:\/\/www.sitepoint. com\/article\/794.]]"},{"key":"e_1_2_1_33_1","unstructured":"IBM. 2003. PowerPC Microprocessor Family: Programming Environments Manual for 64 and 32-Bit Microprocessors. Version 2.0. Number order nos. 253665 253666 253667 253668.]]  IBM. 2003. PowerPC Microprocessor Family: Programming Environments Manual for 64 and 32-Bit Microprocessors. Version 2.0. Number order nos. 253665 253666 253667 253668.]]"},{"key":"e_1_2_1_34_1","unstructured":"Intel Corporation. 2004. The IA-32 Intel Architecture Software Developer's Manual. Number order nos. 253665 253666 253667 253668.]]  Intel Corporation. 2004. The IA-32 Intel Architecture Software Developer's Manual. Number order nos. 253665 253666 253667 253668.]]"},{"key":"e_1_2_1_35_1","volume-title":"Proceedings of the USENIX Annual Technical Conference","author":"Jim T."},{"key":"e_1_2_1_36_1","volume-title":"3rd International Workshop on Automated Debugging. 13--26","author":"Jones R. W. M."},{"key":"e_1_2_1_37_1","volume-title":"Proceedings of the 10th ACM Conference on Computer and Communications Security. ACM Press","author":"Kc G. S."},{"key":"e_1_2_1_38_1","volume-title":"Proceeding of the 11th USENIX Security Symposium","author":"Kiriansky V."},{"key":"e_1_2_1_39_1","unstructured":"Klaiber A. 2000. The technology behind the crusoe processors. White Paper http:\/\/www.transmeta.com\/pdf\/white_papers\/paper_aklaiber_19jan00.pdf. January.]]  Klaiber A. 2000. The technology behind the crusoe processors. White Paper http:\/\/www.transmeta.com\/pdf\/white_papers\/paper_aklaiber_19jan00.pdf. January.]]"},{"key":"e_1_2_1_41_1","volume-title":"Proceedings of the 10th USENIX Security Symposium","author":"Larochelle D."},{"key":"e_1_2_1_42_1","volume-title":"Proceeding of the 11th USENIX Security Symposium","author":"Lhee K."},{"key":"e_1_2_1_43_1","volume-title":"Proceedings of the 42nd Annual Southeast Regional Conference (ACM SE'04). ACM Press","author":"Milenkovi\u0107 M."},{"key":"e_1_2_1_44_1","volume-title":"Proceedings of 7th International Workshop on Web Content Caching and Distribution","author":"Nahum E. M.","year":"2002"},{"key":"e_1_2_1_45_1","volume-title":"Proceedings of the 19th IFIP International Information Security Conference. Kluwer","author":"Nebenzahl D."},{"key":"e_1_2_1_46_1","volume-title":"Proceedings of the Symposium on Principles of Programming Languages. 128--139","author":"Necula G. C."},{"key":"e_1_2_1_47_1","first-page":"4","article-title":"The advanced return-into-lib(c) exploits","volume":"58","author":"Nergal","year":"2001","journal-title":"Phrack"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1016\/S1571-0661(04)81042-9"},{"key":"e_1_2_1_49_1","unstructured":"Newsham T. 2000. Format string attacks. http:\/\/www.securityfocus.com\/archive\/1\/81565.]]  Newsham T. 2000. Format string attacks. http:\/\/www.securityfocus.com\/archive\/1\/81565.]]"},{"key":"e_1_2_1_50_1","unstructured":"PaX Team. 2003. Documentation for the PaX project. See Homepage of The PaX Team. http:\/\/pax.grsecurity.net\/docs\/index.html.]]  PaX Team. 2003. Documentation for the PaX project. See Homepage of The PaX Team. http:\/\/pax.grsecurity.net\/docs\/index.html.]]"},{"key":"e_1_2_1_51_1","volume-title":"Proceedings of the USENIX 2003 Annual Technical Conference","author":"Prasad M."},{"key":"e_1_2_1_52_1","volume-title":"Proceedings of the 1996 ICMAS Workshop on Immunity-Based Systems","author":"Pu C."},{"key":"e_1_2_1_53_1","doi-asserted-by":"publisher","DOI":"10.1109\/TSE.1975.6312842"},{"key":"e_1_2_1_54_1","volume-title":"Proceedings of the 11th Annual Network and Distributed System Security Symposium.]]","author":"Ruwase O."},{"key":"e_1_2_1_55_1","volume-title":"Applied Cryptography","author":"Schneier B."},{"key":"e_1_2_1_56_1","unstructured":"Security Focus. 2003. CVS directory request double free heap corruption vulnerability. http:\/\/www.securityfocus.com\/bid\/6650.]]  Security Focus. 2003. CVS directory request double free heap corruption vulnerability. http:\/\/www.securityfocus.com\/bid\/6650.]]"},{"key":"e_1_2_1_57_1","unstructured":"Seward J. and Nethercote N. 2004. Valgrind an open-source memory debugger for x86-GNU\/Linux. http:\/\/valgrind.kde.org\/.]]  Seward J. and Nethercote N. 2004. Valgrind an open-source memory debugger for x86-GNU\/Linux. http:\/\/valgrind.kde.org\/.]]"},{"key":"e_1_2_1_58_1","volume-title":"A comparative analysis of methods of defense against buffer overflow attacks","author":"Simon I."},{"key":"e_1_2_1_59_1","unstructured":"SPEC Inc. 1999. Specweb99. Tech. Rep. SPECweb99_Design_062999.html SPEC Inc. June 29.]]  SPEC Inc. 1999. Specweb99. Tech. Rep. SPECweb99_Design_062999.html SPEC Inc. June 29.]]"},{"key":"e_1_2_1_60_1","unstructured":"TCPA 2004. TCPA trusted computing platform alliance. http:\/\/www.trustedcomputing.org\/home.]]  TCPA 2004. TCPA trusted computing platform alliance. http:\/\/www.trustedcomputing.org\/home.]]"},{"key":"e_1_2_1_61_1","unstructured":"Tool Interface Standards Committee. 1995. Executable and Linking Format (ELF). Tool Interface Standards Committee.]]  Tool Interface Standards Committee. 1995. Executable and Linking Format (ELF). Tool Interface Standards Committee.]]"},{"key":"e_1_2_1_62_1","unstructured":"Tsai T. and Singh N. 2001. Libsafe 2.0: Detection of format string vulnerability exploits. White Paper Version 3-21-01 Avaya Labs Avaya Inc. February 6.]]  Tsai T. and Singh N. 2001. Libsafe 2.0: Detection of format string vulnerability exploits. White Paper Version 3-21-01 Avaya Labs Avaya Inc. February 6.]]"},{"key":"e_1_2_1_63_1","unstructured":"Tso T. 1998. random.C: A strong random number generator. http:\/\/www.linuxsecurity.com\/feature_stories\/random.c.]]  Tso T. 1998. random.C: A strong random number generator. http:\/\/www.linuxsecurity.com\/feature_stories\/random.c.]]"},{"key":"e_1_2_1_64_1","unstructured":"Vendicator. 2000. StackShield: A stack smashing technique protection tool for Linux. http:\/\/angelfire.com\/sk\/stackshield.]]  Vendicator. 2000. StackShield: A stack smashing technique protection tool for Linux. http:\/\/angelfire.com\/sk\/stackshield.]]"},{"key":"e_1_2_1_65_1","volume-title":"Network and Distributed System Security Symposium","author":"Wagner D."},{"key":"e_1_2_1_66_1","volume-title":"Proceedings of the 10th Network and Distributed System Security Symposium","author":"Wilander J."},{"key":"e_1_2_1_67_1","volume-title":"Proceeding of the 22nd International Symposium on Reliable Distributed Systems (SRDS'03)","author":"Xu J."},{"key":"e_1_2_1_68_1","volume-title":"2nd Workshop on Evaluating and Architecting System dependabilitY (EASY)","author":"Xu J."}],"container-title":["ACM Transactions on Information and System Security"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1053283.1053286","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/1053283.1053286","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T22:43:28Z","timestamp":1750286608000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/1053283.1053286"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2005,2]]},"references-count":67,"journal-issue":{"issue":"1","published-print":{"date-parts":[[2005,2]]}},"alternative-id":["10.1145\/1053283.1053286"],"URL":"https:\/\/doi.org\/10.1145\/1053283.1053286","relation":{},"ISSN":["1094-9224","1557-7406"],"issn-type":[{"value":"1094-9224","type":"print"},{"value":"1557-7406","type":"electronic"}],"subject":[],"published":{"date-parts":[[2005,2]]},"assertion":[{"value":"2005-02-01","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}