Publications

  • Oscur0: One-Shot Circumvention without Registration

    Mingye Chen, Jack Wampler, Abdulrahman Alaraj, Gaukas Wang, Eric Wustrow

    Free and Open Communications on the Internet 2024 (FOCI24) [paper]

    Some proxies such as Conjure or Snowflake require users to register before their client can connect to an agreed-upon proxy’s IP address. Registration adds additional latency, and provides an alternative avenue for censors to block to prohibit access to the proxy. In this paper, we detail a proxy design that removes the need for registration before connecting, by leveraging UDP protocols such as DTLS or QUIC and encoding data directly in the first packet to the proxy’s IP. This is not possible in TCP-based protocols, since the station-based proxy would not know to respond to an initial SYN packet, but UDP-based protocols can carry data in the first packet, allowing us to signal the proxy. Our system, Oscur0, is designed to work within a Refraction Networking context, and makes connecting faster and less vulnerable to blocking than existing Refraction schemes. We outline our basic design, and detail several challenges with UDP, both for circumventors building UDP-based transports and for censors trying to block them alike. We implement a proof-of-concept using DTLS, and discuss how similar strategies could be applied to other UDP protocols such as QUIC. Our scheme provides a promising direction for Refraction Networking transports, and we believe they could be applicable to broader classes of circumvention protocols as well.

    @article{chen2024oscur0,
      title={Oscur0: One-Shot Circumvention without Registration},
      author={Chen, Mingye and Wampler, Jack and Alaraj, Abdulrahman and Wang, Gaukas and Wustrow, Eric},
      journal={Free and Open Communications on the Internet},
      year={2024}
    }
  • Just add WATER: WebAssembly-based Circumvention Transports

    Erik Chi, Gaukas Wang, J Alex Halderman, Eric Wustrow, Jack Wampler

    Free and Open Communications on the Internet 2024 (FOCI24) [paper]

    As Internet censors rapidly evolve new blocking techniques, circumvention tools must also adapt and roll out new strategies to remain unblocked. But new strategies can be time consuming for circumventors to develop and deploy, and usually an update to one tool often requires significant additional effort to be ported to others. Moreover, distributing the updated application across different platforms poses its own set of challenges. In this paper, we introduce WATER (WebAssembly Transport Executables Runtime), a novel design that enables applications to use a WebAssembly-based application-layer to wrap network transports (e.g., TLS). Deploying a new circumvention technique with WATER only requires distributing the WebAssembly Transport Module(WATM) binary and any transport-specific configuration, allowing dynamic transport updates without any change to the application itself. WATMs are also designed to be generic such that different applications using WATER can use the same WATM to rapidly deploy successful circumvention techniques to their own users, facilitating rapid interoperability between independent circumvention tools.

    @article{chi2024just,
      title={Just add WATER: WebAssembly-based Circumvention Transports},
      author={Chi, Erik and Wang, Gaukas and Halderman, J Alex and Wustrow, Eric and Wampler, Jack},
      journal={Free and Open Communications on the Internet},
      year={2024}
    }
  • Doomed to Repeat with IPv6? Characterization of NAT-centric Security in SOHO Routers

    Karl Olson, Jack Wampler, Nolen Scaife

    ACM Computing Surveys, 2023 [paper]

    With the transition to IPv6, addressing constraints that necessitated a common security architecture under network address translation (NAT) are no longer present. Instead, manufacturers are now able to choose between an open model design, where devices are end-to-end reachable, or a more familiar closed model, where the home gateway may continue to serve as a perimeter security device. The potential for further nuance, such as differences in default access control policies, filtering behaviors, and IPv6 specific requirements, present an environment defined by ambiguity. For the consumer, the potential impact of these changes are unclear. To address this uncertainty, we taxonomize the present NAT-centric model of consumer gateway security through a survey of over 300 common vulnerabilities and exposures surrounding NAT and hole punching protocols. From this survey, we contextualize the limited security NAT has provided while serving as the primary perimeter defense mechanism in home networks. We further define how this baseline security model for consumer gateways is reflected in IPv6 through an assessment of ten commonly deployed consumer gateways. Our conclusion is that familiarity of a NAT-centric design is no longer assured for IPv6, requiring an active involvement by users to limit exposures within their home networks.

    @article{olson2023doomed,
      title={Doomed to Repeat with IPv6? Characterization of NAT-centric Security in SOHO Routers},
      author={Olson, Karl and Wampler, Jack and Keller, Eric},
      journal={ACM Computing Surveys},
      volume={55},
      number={14s},
      pages={1--37},
      year={2023},
      publisher={ACM New York, NY}
    }
  • NATting Else Matters: Evaluating IPv6 Access Control Policies in Residential Networks

    Karl Olson, Jack Wampler, Fan Shen, Nolen Scaife

    International Conference on Passive and Active Network Measurement 2021 (PAM21) [paper]

    Customer edge routers are the primary mode of connection to the Internet for a large portion of non-commercial users. As these consumer networks migrate from IPv4 to IPv6, stateful firewalls are needed to protect devices in the home. However, policy details crucial to the implementation of these inbound access controls are left to the discretion of the device manufacturers. In this paper, we survey ten customer edge routers to evaluate how manufacturers implement firewalls and user controls in IPv6. The result is a systemic, demonstrable failure among all parties to agree upon, implement, and communicate consistent security policies. We conclude with future research directions and recommendations for all parties to address these systemic failures and provide a consistent model for home security.

    @inproceedings{olson2021natting,
      title={NATting Else Matters: Evaluating IPv6 Access Control Policies in Residential Networks},
      author={Olson, Karl and Wampler, Jack and Shen, Fan and Scaife, Nolen},
      booktitle={Passive and Active Measurement: 22nd International Conference, PAM 2021, Virtual Event, March 29--April 1, 2021, Proceedings 22},
      pages={373--389},
      year={2021},
      organization={Springer}
    }
  • Running Refraction Networking for Real

    Benjamin VanderSloot, Sergey Frolov, Jack Wampler, Sze Chuen Tan, Irv Simpson, Michalis Kallitsis, J. Alex Halderman, Nikita Borisov, and Eric Wustrow

    Proceedings on Privacy Enhancing Technologies | Volume 2020: Issue 4 [paper] | [slides] | [video]

    Refraction networking is a next-generation censorship circumvention approach that locates proxy functionality in the network itself, at participating ISPs or other network operators. Following years of research and development and a brief pilot, we established the world’s first production deployment of a Refraction Networking system. Our deployment uses a highperformance implementation of the TapDance protocol and is enabled as a transport in the popular circumvention app Psiphon. It uses TapDance stations at four physical uplink locations of a mid-sized ISP, Merit Network, with an aggregate bandwidth of 140 Gbps. By the end of 2019, our system was enabled as a transport option in 559,000 installations of Psiphon, and it served upwards of 33,000 unique users per month. This paper reports on our experience building the deployment and operating it for the first year. We describe how we overcame engineering challenges, present detailed performance metrics, and analyze how our system has responded to dynamic censor behavior. Finally, we review lessons learned from operating this unique artifact and discuss prospects for further scaling Refraction Networking to meet the needs of censored users.

    @article{vandersloot2020running,
      title={Running refraction networking for real},
      author={VanderSloot, Benjamin and Frolov, Sergey and Wampler, Jack and Tan, Sze Chuen and Simpson, Irv and Kallitsis, Michalis and Halderman, J Alex and Borisov, Nikita and Wustrow, Eric},
      journal={Proceedings on Privacy Enhancing Technologies},
      year={2020}
    }
  • Detecting Probe-resistant Proxies

    Sergey Frolov, Jack Wampler, Eric Wustrow

    NDSS 2020 [paper]

    Censorship circumvention proxies have to resist active probing attempts, where censors connect to suspected servers and attempt to communicate using known proxy protocols. If the server responds in a way that reveals it is a proxy, the censor can block it with minimal collateral risk to other non-proxy services. Censors such as the Great Firewall of China have previously been observed using basic forms of this technique to find and block proxy servers as soon as they are used. In response, circumventors have created new “probe-resistant” proxy protocols, including obfs4, Shadowsocks, and Lampshade, that attempt to prevent censors from discovering them. These proxies require knowledge of a secret in order to use, and the servers remain silent when probed by a censor that doesn’t have the secret in an attempt to make it more difficult for censors to detect them. In this paper, we identify ways that censors can still distinguish such probe-resistant proxies from other innocuous hosts on the Internet, despite their design. We discover unique TCP behaviors of five probe-resistant protocols used in popular circumvention software that could allow censors to effectively confirm suspected proxies with minimal false positives. We evaluate and analyze our attacks on hundreds of thousands of servers collected from a 10 Gbps university ISP vantage point over several days as well as active scanning using ZMap. We find that our attacks are able to efficiently identify proxy servers with only a handful of probing connections, with negligible false positives. Using our datasets, we also suggest defenses to these attacks that make it harder for censors to distinguish proxies from other common servers, and we work with proxy developers to implement these changes in several popular circumvention tools.

    @article{frolovdetecting,
      title={Detecting Probe-resistant Proxies},
      author={Frolov, Sergey and Wampler, Jack and Wustrow, Eric}
    }
  • Conjure: Summoning Proxies from Unused Address Space

    Sergey Frolov, Jack Wampler, Sze Chuen Tan, J. Alex Halderman, Nikita Borisov, Eric Wustrow

    ACM CCS 2019 [paper] | [github] | [slides]

    Refraction Networking (formerly known as “Decoy Routing”) has emerged as a promising next-generation approach for circumventing Internet censorship. Rather than trying to hide individual circumvention proxy servers from censors, proxy functionality is implemented in the core of the network, at cooperating ISPs in friendly countries. Any connection that traverses these ISPs could be a conduit for the free flow of information, so censors cannot easily block access without also blocking many legitimate sites. While one Refraction scheme, TapDance, has recently been deployed at ISP-scale, it suffers from several problems: a limited number of “decoy” sites in realistic deployments, high technical complexity, and undesirable tradeoffs between performance and observability by the censor. These challenges may impede broader deployment and ultimately allow censors to block such techniques. We present Conjure, an improved Refraction Networking approach that overcomes these limitations by leveraging unused address space at deploying ISPs. Instead of using real websites as the decoy destinations for proxy connections, our scheme connects to IP addresses where no web server exists leveraging proxy functionality from the core of the network. These phantom hosts are difficult for a censor to distinguish from real ones, but can be used by clients as proxies. We define the Conjure protocol, analyze its security, and evaluate a prototype using an ISP testbed. Our results suggest that Conjure can be harder to block than TapDance, is simpler to maintain and deploy, and offers substantially better network performance.

    @inproceedings{frolov2019conjure,
      title={Conjure: Summoning proxies from unused address space},
      author={Frolov, Sergey and Wampler, Jack and Tan, Sze Chuen and Halderman, J Alex and Borisov, Nikita and Wustrow, Eric},
      booktitle={Proceedings of the 2019 ACM SIGSAC Conference on Computer and Communications Security},
      pages={2215--2229},
      year={2019}
    }
  • ExSpectre: Hiding Malware in Speculative Execution

    Jack Wampler, Ian Martiny, Eric Wustrow

    NDSS 2019 [github] | [paper] | [slides]

    Recently, the Spectre and Meltdown attacks revealed serious vulnerabilities in modern CPU designs, allowing an attacker to exfiltrate data from sensitive programs. These vulnerabilities take advantage of speculative execution to coerce a processor to perform computation that would otherwise not occur, leaking the resulting information via side channels to an attacker. In this paper, we extend these ideas in a different direction, and leverage speculative execution in order to hide malware from both static and dynamic analysis. Using this technique, critical portions of a malicious program’s computation can be shielded from view, such that even a debugger following an instruction-level trace of the program cannot tell how its results were computed. We introduce ExSpectre, which compiles arbitrary malicious code into a seemingly-benign payload binary. When a separate trigger program runs on the same machine, it mistrains the CPU’s branch predictor, causing the payload program to speculatively execute its malicious payload, which communicates speculative results back to the rest of the payload program to change its real-world behavior. We study the extent and types of execution that can be performed speculatively, and demonstrate several computations that can be performed covertly. In particular, within speculative execution we are able to decrypt memory using AES-NI instructions at over 11 kbps. Building on this, we decrypt and interpret a custom virtual machine language to perform arbitrary computation and system calls in the real world. We demonstrate this with a proof-of-concept dial back shell, which takes only a few milliseconds to execute after the trigger is issued. We also show how our corresponding trigger program can be a pre-existing benign application already running on the system, and demonstrate this concept with OpenSSL driven remotely by the attacker as a trigger program. ExSpectre demonstrates a new kind of malware that evades existing reverse engineering and binary analysis techniques. Because its true functionality is contained in seemingly unreachable dead code, and its control flow driven externally by potentially any other program running at the same time, ExSpectre poses a novel threat to state-of-the-art malware analysis techniques.

    @inproceedings{wampler2019exspectre,
      title={ExSpectre: Hiding Malware in Speculative Execution.},
      author={Wampler, Jack and Martiny, Ian and Wustrow, Eric},
      booktitle={NDSS},
      year={2019}
    }
  • Breaking the Trust Dependence on Third Party Processes for Reconfigurable Secure Hardware

    Aimee Coughlin, Greg Cusack, Jack Wampler, Eric Keller, Eric Wustrow

    FPGA 2019 Proceedings of the 2019 ACM/SIGDA [paper]

    Modern CPU designs are beginning to incorporate secure hardware features, but leave developers with little control over both the set of features and when and whether updates are available. Reconfigurable logic (e.g., FPGAs) has been proposed as an alternative as it is both hardware, so can have similar capabilities at a reasonable performance degradation, and programmable, allowing customization of the secure hardware. This programmability, however, opens new attack vectors that allow an adversary to re-program the FPGA. Past attempts to solve this rely on a party maintaining a shared key with the FPGA, but these business processes to keep that key secret have been shown to be quite vulnerable. In this paper, we propose a new mechanism which eliminates the trust dependence on third party processes. This new mechanism consists of a self-provisioning stage, where keys are generated internal to the FPGA and never exposed externally, coupled with a secure update mechanism which allows updates to be governed by a policy defined by the secure hardware application. To demonstrate, we fully implemented these mechanisms on a Xilinx Zynq UltraScale+ FPGA along with an example secure co-processor with remote attestation with a flexible root of trust (in contrast to Intel SGX which fixes the root of trust to be Intel). Our performance evaluation of two applications, a password manager and a contact matching application, illustrates using FPGAs is practical.

    @inproceedings{coughlin2019breaking,
      title={Breaking the trust dependence on third party processes for reconfigurable secure hardware},
      author={Coughlin, Aimee and Cusack, Greg and Wampler, Jack and Keller, Eric and Wustrow, Eric},
      booktitle={Proceedings of the 2019 ACM/SIGDA international symposium on field-programmable gate arrays},
      pages={282--291},
      year={2019}
    }

Talks and Posters

  • IoT Security: The Internet of Other People’s Things [slides]

Last updated: 2024-09-11