I am a Computer Science Ph.D. candidate at
Robbert van Renesse.
I hold a B.S. in Computer Science from
from whence I graduated in 2012.
My research, at present, is at the intersection of
Specifically, I work on adapting classic and / or interesting distributed algorithms to an
setting, and creating languages in which to express them.
My proposed thesis is to develop a new language, tentatively called
in which to express low-level distributed algorithms with provable Information Flow Control based security properties.
We can divide existing languages into three categories: languages with enforced Information Flow Control secure type systems, languages with distributed and networking primitives, and languages which can express low-level protocols (without major structural assumptions on what the application must look like).
There are languages in each category, and even each pair, but as yet, no language fits into all three.
I aim to bridge this gap.
More details can be found in my Thesis Proposal presentation
or in the affiliated
abstruse technical report.
Robbert van Renesse,
I have been studying
Safe Serializable Secure Scheduling: Transactions and the Trade-off Between Security and Consistency.
Modern applications often operate on data in multiple administrative domains.
In this federated setting, participants may not fully trust each other.
These distributed applications use transactions as a core mechanism for ensuring reliability and consistency with persistent data.
However, the coordination mechanisms needed for transactions can both leak confidential information and allow unauthorized influence.
By implementing a simple attack, we show these side channels can be exploited.
However, our focus is on preventing such attacks.
We explore secure scheduling of atomic, serializable transactions in a federated setting.
While we prove that no protocol can guarantee security and liveness in all settings, we establish conditions for sets of transactions that can safely complete under secure scheduling.
Based on these conditions, we introduce staged commit, a secure scheduling protocol for federated transactions.
This protocol avoids insecure information channels by dividing transactions into distinct stages.
We implement a compiler that statically checks code to ensure it meets our conditions, and a system that schedules these transactions using the staged commit protocol.
Experiments on this implementation demonstrate that realistic federated transactions can be scheduled securely, atomically, and efficiently.
This work will appear in CCS 2016.
I have adapted Robbert van Renesse's
algorithm to a world in which not everyone has the same idea of who can fail, and what "failure" means.
We take advantage of the richer notion of "trust" provided by the
Decentralized Label Model,
allowing each participant to express their failure assumptions.
Based upon earlier work by Andrew Myers and
as a statically-checkable program property within the Decentralized Label Model, as well as the notion of
for increased integrity of availability through replication, I've developed an adapted version
of fast consensus featuring asymmetric trust and notions of "failure" in terms of availability and integrity.
A draft is available on arXiv.
Similarly, I've adapted Robbert van Renesse's
Nysiad: Omission tolerant to Byzantine Tolerant Conversion Algorithm
in terms of Information Flow.
I investigated some potential "slowdown" cases of the classic
algorithm, and developed some
to aviod them.
and I worked on a machine learning project in
webcomic author identification.
With carefully tuned features, neural nets, and SVMs, we were able to determine the correct author of samples from a group of ten authors with 94 percent accuracy.
In the summer of 2012, I interned at the Google LA office, where I worked on preventing Google's ads from appearing on porn sites. This was part of a large-scale machine learning project featuring whole-internet size datasets and massively parallelized algorithms. It also involved downloading a lot of porn.
In the summer of 2011, I worked on
"Branching Messaging for Anonymous Communication"
In the summer of 2010,
I worked with the NuSIM team at Caltech
to validate and verify the NuSTAR space telescope prior to launch.
My Summer Undergraduate Reasearch Fellowship at JPL, working on a Lunar Web Registry Service Under OpenGIS Specifications in 2009