{"id":{"repo_id":"nus","oai_identifier":"oai:scholarbank.nus.edu.sg:10635/124230"},"canonical_url":"https://search.dev.ndltd.org/etd/nus/oai:scholarbank.nus.edu.sg:10635/124230","repository":{"repo_id":"nus","name":"National University of Singapore","base_url":"https://scholarbank.nus.edu.sg/oai/request"},"display":{"title":"SYSTEMATIC METHODS FOR MEMORY ERROR DETECTION AND EXPLOITATION","abstract":"Memory errors are persistent threats to computer systems. Memory error exploits have resulted in severe damage in real-world programs. At the same time, exploit mechanisms are rapidly evolving to bypass known protections. To prevent the damage, we need to detect them in advance and predict their evolving trend. In this thesis, we propose three novel solutions to systematically detect memory errors and explore new exploits. First, we detect memory errors shown in the privilege-based isolation, where the unexpected memory access can cross isolated partitions. Then we look into new exploit mechanisms in the data space. We propose data-flow stitching, a novel method to connect disjoint data flows for severe attacks. Data-flow stitching significantly enlarges the capability of data-oriented attacks. Finally, we explore the expressiveness of data-oriented attacks. We propose data-oriented programming (DOP), which selectively stitches basic data-flow gadgets for a desired purpose. With DOP, we build Turing-complete data-oriented attacks.","abstract_html":"Memory errors are persistent threats to computer systems. Memory error exploits have resulted in severe damage in real-world programs. At the same time, exploit mechanisms are rapidly evolving to bypass known protections. To prevent the damage, we need to detect them in advance and predict their evolving trend. In this thesis, we propose three novel solutions to systematically detect memory errors and explore new exploits. First, we detect memory errors shown in the privilege-based isolation, where the unexpected memory access can cross isolated partitions. Then we look into new exploit mechanisms in the data space. We propose data-flow stitching, a novel method to connect disjoint data flows for severe attacks. Data-flow stitching significantly enlarges the capability of data-oriented attacks. Finally, we explore the expressiveness of data-oriented attacks. We propose data-oriented programming (DOP), which selectively stitches basic data-flow gadgets for a desired purpose. With DOP, we build Turing-complete data-oriented attacks.","abstract_has_math":false,"creators":["HU HONG"],"institution":null,"degree_name":null,"degree_level":null,"degree_discipline":null,"degree_department":null,"school":null,"contributors":[],"advisors":[],"committee_chairs":[],"committee_members":[],"year":2016,"date_issued":"2016-01-22","date_published":"2016-01-22","updated_at":"2026-07-24T03:32:04Z","subjects":["Memory Error, Systematic Detection, Exploit Generation, Data-Oriented Attacks, Data-Flow Stitching, Data-Oriented Programming"],"languages":[],"rights":[],"rights_urls":[],"identifier_entries":[]},"links":{"outbound_url":null,"outbound_label":null,"outbound_source":null},"metadata_groups":[{"id":"people","label":"People","entries":[{"key":"dc:creator","label":"Author","values":["HU HONG"]}]},{"id":"academic_context","label":"Academic Context","entries":[{"key":"dc:date.issued","label":"Date","values":["2016-01-22"]},{"key":"dc:relation.isreferencedby","label":"Dc Relation Isreferencedby","values":["https://scholarbank.nus.edu.sg/handle/10635/124230"]},{"key":"dc:type","label":"Dc Type","values":["Thesis"]}]},{"id":"subjects_keywords","label":"Subjects and Keywords","entries":[{"key":"dc:subject","label":"Dc Subject","values":["Memory Error, Systematic Detection, Exploit Generation, Data-Oriented Attacks, Data-Flow Stitching, Data-Oriented Programming"]}]},{"id":"identifiers","label":"Identifiers","entries":[{"key":"dc:identifier.uri","label":"Identifier URI","values":["https://scholarbank.nus.edu.sg/bitstreams/d2c9cb8a-c61d-415a-a661-94ae48335b54/download"]}]},{"id":"additional","label":"Additional Metadata","entries":[{"key":"dc:description.abstract","label":"Abstract","values":["Memory errors are persistent threats to computer systems. Memory error exploits have resulted in severe damage in real-world programs. At the same time, exploit mechanisms are rapidly evolving to bypass known protections. To prevent the damage, we need to detect them in advance and predict their evolving trend. In this thesis, we propose three novel solutions to systematically detect memory errors and explore new exploits. First, we detect memory errors shown in the privilege-based isolation, where the unexpected memory access can cross isolated partitions. Then we look into new exploit mechanisms in the data space. We propose data-flow stitching, a novel method to connect disjoint data flows for severe attacks. Data-flow stitching significantly enlarges the capability of data-oriented attacks. Finally, we explore the expressiveness of data-oriented attacks. We propose data-oriented programming (DOP), which selectively stitches basic data-flow gadgets for a desired purpose. With DOP, we build Turing-complete data-oriented attacks."]},{"key":"dc:format.checksum.md5","label":"Dc Format Checksum Md5","values":["6c8c92d3bbb56c6ef5d641d70f08f8a1","98fd84922a407f21f37f54673a9bf49c"]},{"key":"dc:title","label":"Title","values":["SYSTEMATIC METHODS FOR MEMORY ERROR DETECTION AND EXPLOITATION"]}]}],"canonical_facts":{"dc:creator":["HU HONG"],"dc:date.issued":["2016-01-22"],"dc:description.abstract":["Memory errors are persistent threats to computer systems. Memory error exploits have resulted in severe damage in real-world programs. At the same time, exploit mechanisms are rapidly evolving to bypass known protections. To prevent the damage, we need to detect them in advance and predict their evolving trend. In this thesis, we propose three novel solutions to systematically detect memory errors and explore new exploits. First, we detect memory errors shown in the privilege-based isolation, where the unexpected memory access can cross isolated partitions. Then we look into new exploit mechanisms in the data space. We propose data-flow stitching, a novel method to connect disjoint data flows for severe attacks. Data-flow stitching significantly enlarges the capability of data-oriented attacks. Finally, we explore the expressiveness of data-oriented attacks. We propose data-oriented programming (DOP), which selectively stitches basic data-flow gadgets for a desired purpose. With DOP, we build Turing-complete data-oriented attacks."],"dc:format.checksum.md5":["6c8c92d3bbb56c6ef5d641d70f08f8a1","98fd84922a407f21f37f54673a9bf49c"],"dc:identifier.uri":["https://scholarbank.nus.edu.sg/bitstreams/d2c9cb8a-c61d-415a-a661-94ae48335b54/download"],"dc:relation.isreferencedby":["https://scholarbank.nus.edu.sg/handle/10635/124230"],"dc:subject":["Memory Error, Systematic Detection, Exploit Generation, Data-Oriented Attacks, Data-Flow Stitching, Data-Oriented Programming"],"dc:title":["SYSTEMATIC METHODS FOR MEMORY ERROR DETECTION AND EXPLOITATION"],"dc:type":["Thesis"]},"updated_at":"2026-07-24T03:32:04Z"}