{"id":"https://openalex.org/W4388281765","doi":"https://doi.org/10.1145/3631526","title":"JiuJITsu: Removing Gadgets with Safe Register Allocation for JIT Code Generation","display_name":"JiuJITsu: Removing Gadgets with Safe Register Allocation for JIT Code Generation","publication_year":2023,"publication_date":"2023-11-03","ids":{"openalex":"https://openalex.org/W4388281765","doi":"https://doi.org/10.1145/3631526"},"language":"en","primary_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/3631526","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3631526","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true},"type":"article","type_crossref":"journal-article","indexed_in":["crossref"],"open_access":{"is_oa":true,"oa_status":"gold","oa_url":"https://dl.acm.org/doi/pdf/10.1145/3631526","any_repository_has_fulltext":false},"authorships":[{"author_position":"first","author":{"id":"https://openalex.org/A5101402404","display_name":"Zhang Jiang","orcid":"https://orcid.org/0009-0008-0613-935X"},"institutions":[{"id":"https://openalex.org/I205237279","display_name":"Nankai University","ror":"https://ror.org/01y1kjr75","country_code":"CN","type":"education","lineage":["https://openalex.org/I205237279"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Zhang Jiang","raw_affiliation_strings":["Nankai University, China"],"affiliations":[{"raw_affiliation_string":"Nankai University, China","institution_ids":["https://openalex.org/I205237279"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100383003","display_name":"Ying Chen","orcid":"https://orcid.org/0000-0001-6604-6106"},"institutions":[{"id":"https://openalex.org/I205237279","display_name":"Nankai University","ror":"https://ror.org/01y1kjr75","country_code":"CN","type":"education","lineage":["https://openalex.org/I205237279"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Ying Chen","raw_affiliation_strings":["Nankai University, China"],"affiliations":[{"raw_affiliation_string":"Nankai University, China","institution_ids":["https://openalex.org/I205237279"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5045499166","display_name":"Xiaoli Gong","orcid":"https://orcid.org/0000-0002-9836-558X"},"institutions":[{"id":"https://openalex.org/I205237279","display_name":"Nankai University","ror":"https://ror.org/01y1kjr75","country_code":"CN","type":"education","lineage":["https://openalex.org/I205237279"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Xiaoli Gong","raw_affiliation_strings":["Nankai University, China"],"affiliations":[{"raw_affiliation_string":"Nankai University, China","institution_ids":["https://openalex.org/I205237279"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5101829311","display_name":"Jin Zhang","orcid":"https://orcid.org/0000-0001-9086-1178"},"institutions":[{"id":"https://openalex.org/I205237279","display_name":"Nankai University","ror":"https://ror.org/01y1kjr75","country_code":"CN","type":"education","lineage":["https://openalex.org/I205237279"]}],"countries":["CN"],"is_corresponding":false,"raw_author_name":"Jin Zhang","raw_affiliation_strings":["Nankai University, China"],"affiliations":[{"raw_affiliation_string":"Nankai University, China","institution_ids":["https://openalex.org/I205237279"]}]},{"author_position":"middle","author":{"id":"https://openalex.org/A5100768918","display_name":"Wenwen Wang","orcid":"https://orcid.org/0000-0003-0840-4846"},"institutions":[{"id":"https://openalex.org/I165733156","display_name":"University of Georgia","ror":"https://ror.org/00te3t702","country_code":"US","type":"education","lineage":["https://openalex.org/I165733156"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Wenwen Wang","raw_affiliation_strings":["University of Georgia, USA"],"affiliations":[{"raw_affiliation_string":"University of Georgia, USA","institution_ids":["https://openalex.org/I165733156"]}]},{"author_position":"last","author":{"id":"https://openalex.org/A5052005800","display_name":"Pen-Chung Yew","orcid":"https://orcid.org/0000-0001-9653-8777"},"institutions":[{"id":"https://openalex.org/I130238516","display_name":"University of Minnesota","ror":"https://ror.org/017zqws13","country_code":"US","type":"education","lineage":["https://openalex.org/I130238516"]}],"countries":["US"],"is_corresponding":false,"raw_author_name":"Pen-Chung Yew","raw_affiliation_strings":["University of Minnesota, USA"],"affiliations":[{"raw_affiliation_string":"University of Minnesota, USA","institution_ids":["https://openalex.org/I130238516"]}]}],"institution_assertions":[],"countries_distinct_count":2,"institutions_distinct_count":3,"corresponding_author_ids":[],"corresponding_institution_ids":[],"apc_list":null,"apc_paid":null,"fwci":0.0,"has_fulltext":true,"fulltext_origin":"pdf","cited_by_count":0,"citation_normalized_percentile":{"value":0.0,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":0,"max":68},"biblio":{"volume":"21","issue":"1","first_page":"1","last_page":"26"},"is_retracted":false,"is_paratext":false,"primary_topic":{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9999,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T11424","display_name":"Security and Verification in Computing","score":0.9999,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T11241","display_name":"Advanced Malware Detection Techniques","score":0.9994,"subfield":{"id":"https://openalex.org/subfields/1711","display_name":"Signal Processing"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10951","display_name":"Cryptographic Implementations and Security","score":0.9911,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/register-allocation","display_name":"Register allocation","score":0.71660495},{"id":"https://openalex.org/keywords/code","display_name":"Code (set theory)","score":0.639167},{"id":"https://openalex.org/keywords/code-reuse","display_name":"Code reuse","score":0.6047628},{"id":"https://openalex.org/keywords/gadget","display_name":"Gadget","score":0.43458736},{"id":"https://openalex.org/keywords/unreachable-code","display_name":"Unreachable code","score":0.42419583}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.8751453},{"id":"https://openalex.org/C128916667","wikidata":"https://www.wikidata.org/wiki/Q1343660","display_name":"Register allocation","level":3,"score":0.71660495},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.639167},{"id":"https://openalex.org/C43364308","wikidata":"https://www.wikidata.org/wiki/Q8799","display_name":"Byte","level":2,"score":0.6293558},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.6273345},{"id":"https://openalex.org/C2778583558","wikidata":"https://www.wikidata.org/wiki/Q771245","display_name":"Code reuse","level":3,"score":0.6047628},{"id":"https://openalex.org/C165696696","wikidata":"https://www.wikidata.org/wiki/Q11287","display_name":"Exploit","level":2,"score":0.5360124},{"id":"https://openalex.org/C2779960059","wikidata":"https://www.wikidata.org/wiki/Q7113681","display_name":"Overhead (engineering)","level":2,"score":0.5135055},{"id":"https://openalex.org/C544833334","wikidata":"https://www.wikidata.org/wiki/Q2005","display_name":"JavaScript","level":2,"score":0.48345527},{"id":"https://openalex.org/C2780598303","wikidata":"https://www.wikidata.org/wiki/Q65921492","display_name":"Flexibility (engineering)","level":2,"score":0.45073193},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.44278848},{"id":"https://openalex.org/C119770614","wikidata":"https://www.wikidata.org/wiki/Q5516347","display_name":"Gadget","level":2,"score":0.43458736},{"id":"https://openalex.org/C50951305","wikidata":"https://www.wikidata.org/wiki/Q2482534","display_name":"Unreachable code","level":5,"score":0.42419583},{"id":"https://openalex.org/C151578736","wikidata":"https://www.wikidata.org/wiki/Q1251793","display_name":"Redundant code","level":4,"score":0.40835464},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.39016628},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.36885738},{"id":"https://openalex.org/C169590947","wikidata":"https://www.wikidata.org/wiki/Q47506","display_name":"Compiler","level":2,"score":0.3489989},{"id":"https://openalex.org/C38652104","wikidata":"https://www.wikidata.org/wiki/Q3510521","display_name":"Computer security","level":1,"score":0.32843792},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.261656},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.18758222},{"id":"https://openalex.org/C26517878","wikidata":"https://www.wikidata.org/wiki/Q228039","display_name":"Key (lock)","level":2,"score":0.1345711},{"id":"https://openalex.org/C11413529","wikidata":"https://www.wikidata.org/wiki/Q8366","display_name":"Algorithm","level":1,"score":0.10231924},{"id":"https://openalex.org/C18903297","wikidata":"https://www.wikidata.org/wiki/Q7150","display_name":"Ecology","level":1,"score":0.0},{"id":"https://openalex.org/C105795698","wikidata":"https://www.wikidata.org/wiki/Q12483","display_name":"Statistics","level":1,"score":0.0},{"id":"https://openalex.org/C33923547","wikidata":"https://www.wikidata.org/wiki/Q395","display_name":"Mathematics","level":0,"score":0.0},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.0},{"id":"https://openalex.org/C86803240","wikidata":"https://www.wikidata.org/wiki/Q420","display_name":"Biology","level":0,"score":0.0}],"mesh":[],"locations_count":1,"locations":[{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/3631526","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3631526","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true}],"best_oa_location":{"is_oa":true,"landing_page_url":"https://doi.org/10.1145/3631526","pdf_url":"https://dl.acm.org/doi/pdf/10.1145/3631526","source":{"id":"https://openalex.org/S26056741","display_name":"ACM Transactions on Architecture and Code Optimization","issn_l":"1544-3566","issn":["1544-3566","1544-3973"],"is_oa":true,"is_in_doaj":false,"is_core":true,"host_organization":"https://openalex.org/P4310319798","host_organization_name":"Association for Computing Machinery","host_organization_lineage":["https://openalex.org/P4310319798"],"host_organization_lineage_names":["Association for Computing Machinery"],"type":"journal"},"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true},"sustainable_development_goals":[{"score":0.63,"id":"https://metadata.un.org/sdg/16","display_name":"Peace, justice, and strong institutions"}],"grants":[{"funder":"https://openalex.org/F4320321001","funder_display_name":"National Natural Science Foundation of China","award_id":"62172239, 62372254"}],"datasets":[],"versions":[],"referenced_works_count":21,"referenced_works":["https://openalex.org/W1968002620","https://openalex.org/W1990465482","https://openalex.org/W2022413220","https://openalex.org/W2081105932","https://openalex.org/W2128223491","https://openalex.org/W2162800072","https://openalex.org/W2168628991","https://openalex.org/W2527882685","https://openalex.org/W2586873456","https://openalex.org/W2734941459","https://openalex.org/W2923970364","https://openalex.org/W3096291879","https://openalex.org/W4220895252","https://openalex.org/W4236561850","https://openalex.org/W4239223340","https://openalex.org/W4251933521","https://openalex.org/W4254526136","https://openalex.org/W4289038676","https://openalex.org/W4300588339","https://openalex.org/W4301802532","https://openalex.org/W53119127"],"related_works":["https://openalex.org/W77265138","https://openalex.org/W4388281765","https://openalex.org/W4382795255","https://openalex.org/W4312582323","https://openalex.org/W2479182427","https://openalex.org/W2369241479","https://openalex.org/W2091871187","https://openalex.org/W1975917686","https://openalex.org/W1555552217","https://openalex.org/W1527771852"],"abstract_inverted_index":{"Code-reuse":[0],"attacks":[1],"have":[2],"the":[3,33,58,121,140,182,189],"capability":[4],"to":[5,15,35,108,111,144,162,176],"craft":[6],"malicious":[7,193],"instructions":[8],"from":[9],"small":[10],"code":[11,77,130,184],"fragments,":[12],"commonly":[13],"referred":[14],"as":[16,26],"\u201cgadgets.\u201d":[17],"These":[18,80],"gadgets":[19,83],"are":[20],"generated":[21,82],"by":[22],"JIT":[23,72,183],"(Just-In-Time)":[24],"engines":[25],"integral":[27],"components":[28],"of":[29,60,123,135,191,200,218],"native":[30,152],"instructions,":[31],"with":[32,101],"flexibility":[34],"be":[36,99,109],"embedded":[37],"in":[38,204],"various":[39],"fields,":[40],"including":[41],"Displacement":[42],".":[43],"In":[44,154],"this":[45],"article,":[46],"we":[47,126,156],"introduce":[48,167],"a":[49,71,104,158,170,197,215],"novel":[50],"approach":[51],"for":[52,131,142],"potential":[53,141],"gadget":[54],"insertion,":[55],"achieved":[56],"through":[57],"manipulation":[59,69],"ModR/M":[61,146],"and":[62,76,89,147,226],"SIB":[63,148],"bytes":[64,149],"via":[65],"JavaScript":[66],"code.":[67],"This":[68],"influences":[70],"engine\u2019s":[73],"register":[74,172,179],"allocation":[75,173],"generation":[78,185,190],"algorithms.":[79],"newly":[81],"do":[84],"not":[85],"rely":[86],"on":[87],"constants":[88],"thus":[90],"evade":[91],"existing":[92],"constant":[93,116],"blinding":[94,117],"schemes.":[95],"Furthermore,":[96],"they":[97],"can":[98],"combined":[100],"1-byte":[102],"constants,":[103],"combination":[105],"that":[106,212],"proves":[107],"challenging":[110],"defend":[112],"against":[113,206],"using":[114,223],"conventional":[115],"techniques.":[118],"To":[119],"showcase":[120],"feasibility":[122],"our":[124],"approach,":[125],"provide":[127],"proof-of-concept":[128],"(POC)":[129],"three":[132],"distinct":[133],"types":[134],"gadgets.":[136,194],"Our":[137,209],"research":[138],"underscores":[139],"attackers":[143],"exploit":[145],"within":[150],"JIT-generated":[151],"instructions.":[153],"response,":[155],"propose":[157],"practical":[159],"defense":[160],"mechanism":[161],"mitigate":[163],"such":[164],"attacks.":[165,208],"We":[166,195],"JiuJITsu":[168,201],",":[169],"security-enhanced":[171],"scheme":[174],"designed":[175],"prevent":[177],"harmful":[178],"assignments":[180],"during":[181],"phase,":[186],"thereby":[187],"thwarting":[188],"these":[192],"conduct":[196],"comprehensive":[198],"analysis":[199],"\u2019s":[202],"effectiveness":[203],"defending":[205],"code-reuse":[207],"findings":[210],"demonstrate":[211],"it":[213],"incurs":[214],"runtime":[216],"overhead":[217],"under":[219],"1%":[220],"when":[221],"evaluated":[222],"JetStream2":[224],"benchmarks":[225],"real-world":[227],"websites.":[228]},"cited_by_api_url":"https://api.openalex.org/works?filter=cites:W4388281765","counts_by_year":[],"updated_date":"2024-12-13T01:04:51.056985","created_date":"2023-11-04"}