{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T11:48:04Z","timestamp":1742989684204,"version":"3.40.3"},"publisher-location":"Cham","reference-count":34,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783319990729"},{"type":"electronic","value":"9783319990736"}],"license":[{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2018,1,1]],"date-time":"2018-01-01T00:00:00Z","timestamp":1514764800000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2018]]},"DOI":"10.1007\/978-3-319-99073-6_1","type":"book-chapter","created":{"date-parts":[[2018,8,10]],"date-time":"2018-08-10T18:09:38Z","timestamp":1533924578000},"page":"3-25","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":5,"title":["CastSan: Efficient Detection of Polymorphic C++ Object Type Confusions with LLVM"],"prefix":"10.1007","author":[{"given":"Paul","family":"Muntean","sequence":"first","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Sebastian","family":"Wuerl","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Jens","family":"Grossklags","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Claudia","family":"Eckert","sequence":"additional","affiliation":[],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"297","published-online":{"date-parts":[[2018,8,8]]},"reference":[{"key":"1_CR1","unstructured":"2016 Working Draft, Standard for Programming Language C++ N4618. https:\/\/goo.gl\/PPJ5QC"},{"key":"1_CR2","doi-asserted-by":"crossref","unstructured":"Abadi, M., Budiu, M., Erlingsson, \u00da., Ligatti, J.: Control flow integrity. In: CCS (2005)","DOI":"10.1145\/1102120.1102165"},{"key":"1_CR3","doi-asserted-by":"crossref","unstructured":"Abadi, M., Budiu, M., Erlingsson, \u00da., Ligatti, J.: Control flow integrity principles, implementations, and applications. In: TISSEC (2009)","DOI":"10.1145\/1609956.1609960"},{"key":"1_CR4","unstructured":"Balls Browser Benchmark (2017). http:\/\/bubblemark.com\/"},{"key":"1_CR5","doi-asserted-by":"crossref","unstructured":"Bounov, D., Kici, R.G., Lerner, S.: Protecting C++ dynamic dispatch through VTable interleaving. In: NDSS (2016)","DOI":"10.14722\/ndss.2016.23421"},{"key":"1_CR6","doi-asserted-by":"crossref","unstructured":"Buchanan, E., Roemer, R., Shacham, H., Savage, S.: When good instructions go bad: generalizing return-oriented programming to RISC. In: CCS (2008)","DOI":"10.1145\/1455770.1455776"},{"key":"1_CR7","unstructured":"Clang. Clang 3.9 Documentation - Control Flow Integrity. https:\/\/goo.gl\/gnmoHU"},{"key":"1_CR8","unstructured":"Clang. Clang 5 Documentation - Control Flow Integrity (2017). https:\/\/goo.gl\/bW4DyS"},{"key":"1_CR9","unstructured":"Clang-CFI Cast Checker Metadata. https:\/\/goo.gl\/JkGDjL"},{"key":"1_CR10","doi-asserted-by":"crossref","unstructured":"Crane, S., et al.: It\u2019s a TRaP: table randomization and protection against function-reuse attacks. In: CCS (2015)","DOI":"10.1145\/2810103.2813682"},{"key":"1_CR11","unstructured":"CVE-2016-1612: Bug Description and reward (2016). https:\/\/goo.gl\/9SxjEA"},{"key":"1_CR12","unstructured":"CVE-2017-3106: Object Type Confusion in Adobe F. Player v. 26.0.0.137 (2017). https:\/\/goo.gl\/gakD25"},{"key":"1_CR13","unstructured":"Dewey, D., Giffin, J.: Static detection of C++ VTable escape vulnerabilities in binary code. In: NDSS (2012)"},{"key":"1_CR14","unstructured":"Dromaeo Browser Benchmark (2017). http:\/\/dromaeo.com\/?v8"},{"key":"1_CR15","unstructured":"Google. Undefined Behavior Sanitizer (2017). https:\/\/goo.gl\/ELrNKj"},{"key":"1_CR16","unstructured":"Google. The Chromium Projects, Chromium (2017). https:\/\/goo.gl\/uE486n"},{"key":"1_CR17","doi-asserted-by":"crossref","unstructured":"Haller, I., Goktas, E., Athanasopoulos, E., Portokalidis, G., Bos, H.: ShrinkWrap: VTable protection without loose ends. In: ACSAC (2015)","DOI":"10.1145\/2818000.2818025"},{"key":"1_CR18","doi-asserted-by":"crossref","unstructured":"Haller, I., Jeon, Y., Peng, H., Payer, M., Giuffrida, C.: TypeSan: practical type confusion detection. In: CCS (2016)","DOI":"10.1145\/2976749.2978405"},{"key":"1_CR19","doi-asserted-by":"crossref","unstructured":"Jeon, Y., Biswas, P., Carr, S., Lee, B., Payer, M.: HexType: efficient detection of type confusion errors for C++. In: CCS (2017)","DOI":"10.1145\/3133956.3134062"},{"key":"1_CR20","unstructured":"JetStream Browser Benchmark (2017). http:\/\/browserbench.org\/JetStream\/"},{"key":"1_CR21","unstructured":"Kraken JavaScript Benchmark (2017). https:\/\/krakenbenchmark.mozilla.org\/"},{"key":"1_CR22","unstructured":"Lee, B., Song, C., Kim, T., Lee, W.: Type casting verification: stopping an emerging attack vector. In: USENIX Security (2015)"},{"key":"1_CR23","unstructured":"LLVM. The LLVM Gold Plugin (2017). https:\/\/goo.gl\/UjFxih"},{"key":"1_CR24","unstructured":"LLVM. LLVM Team, The LLVM compiler infrastructure project. http:\/\/llvm.org\/"},{"key":"1_CR25","unstructured":"LLVM. LLVM link time optimization: design and implementation. https:\/\/goo.gl\/r3RH2U"},{"key":"1_CR26","unstructured":"Microsoft. Changes to Functionality in Microsoft Windows XP SP 2. https:\/\/goo.gl\/928ihY"},{"key":"1_CR27","unstructured":"Octane Browser Benchmark (2017). https:\/\/chromium.github.io\/octane\/"},{"key":"1_CR28","unstructured":"PaX Team: Address Space Layout Randomization (2001). https:\/\/goo.gl\/Sab9YE"},{"key":"1_CR29","doi-asserted-by":"crossref","unstructured":"Prakash, A., Hu, X., Yin, H.: Strict protection for virtual function calls in COTS C++ binaries. In: NDSS (2015)","DOI":"10.14722\/ndss.2015.23297"},{"key":"1_CR30","unstructured":"Schuster, F., Tendyck, T., Liebchen, C., Davi, L., Sadeghi, A.-R., Holz, T.: Counterfeit object-oriented programming. In: S&P (2015)"},{"key":"1_CR31","unstructured":"Standard Performance Evaluation Corporation. SPEC CPU 2006 (2017). https:\/\/goo.gl\/NtmYy8"},{"key":"1_CR32","unstructured":"SunSpider 1.0.2 JavaScript Benchmark (2017). https:\/\/goo.gl\/qk9uqg"},{"key":"1_CR33","unstructured":"Zhang, C., et al.: Practical control flow integrity & randomization for binary executables. In: S&P (2013)"},{"key":"1_CR34","doi-asserted-by":"crossref","unstructured":"Zhao, M., Grossklags, J., Liu, P.: An empirical study of web vulnerability discovery ecosystems. In: CCS (2015)","DOI":"10.1145\/2810103.2813704"}],"container-title":["Lecture Notes in Computer Science","Computer Security"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-319-99073-6_1","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,8,12]],"date-time":"2023-08-12T00:02:53Z","timestamp":1691798573000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-319-99073-6_1"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2018]]},"ISBN":["9783319990729","9783319990736"],"references-count":34,"URL":"https:\/\/doi.org\/10.1007\/978-3-319-99073-6_1","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2018]]},"assertion":[{"value":"8 August 2018","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"ESORICS","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"European Symposium on Research in Computer Security","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Barcelona","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Spain","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2018","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"3 September 2018","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"9 September 2018","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"23","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"esorics2018","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/esorics2018.upc.edu\/","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"This content has been made available to all.","name":"free","label":"Free to read"}]}}