Howdy
Hey, I’m Connor. Welcome to my corner of the internet.
Background
I’m a computer scientist with a passion for invention and security. I graduated from Virginia Tech in 2021 with a B.S. in computer science and a minor in cyber security. A year later, I graduated with a M.S. (also in computer science), focusing on computer systems and security, with an emphasis on fuzzing.
I enjoy software development, exploring software security, and creating things in my free time.
Career
Microsoft — Software Engineer
I’m an engineer at Microsoft. I currently work on the Azure Confidential Compute platform, which aims to keep sensitive data secure mid-execution using hardware-based Trusted Execution Environments. (If you’d like to learn more about the field, take a look at the Confidential Computing Consortium.)
Microsoft — Security Verification Engineer
In my previous role at Microsoft, I contributed to some exciting security work involving speculative-execution side-channel attacks (remember Spectre and Meltdown?) and other architectural attacks. I worked on the Microsoft Pluton Security processor and the Microsoft Cobalt processor. Through my contributions and utilization of Revizor, Microsoft’s side-channel vulnerability fuzzer, I co-authored a patent and submitted it to the US Patent Office. Additionally, given Microsoft’s position in the AI frenzy, I developed new AI-based tools and helped lead the usage of LLMs in my organization’s day-to-day engineering workflows.
Virginia Tech Computer Science — Teaching Assistant
I also worked as a Teaching Assistant with the Virginia Tech Computer Science department for five semesters. I spent four of those five semesters working on CS 3214 - Computer Systems, both as an undergraduate and graduate TA. This class is notorious for its challenging assignments and comprehensive C-based software engineering projects. I absolutely loved it; it sparked my passion for lower-level OS/systems-level software.
I had the opportunity to assist hundreds of students with complex systems programming projects involving Linux processes, multithreading, memory management, virtualization, security, and networking, all with a heavy emphasis on writing robust and high-performing code.
Research
During my M.S. degree at Virginia Tech (2020–2022), I created Gurthang, a fuzzing framework designed specifically for fuzz-testing web servers. I created a novel fuzzing harness for AFL++ capable of sending multiple payloads to a web server simultaneously, allowing for effective testing for concurrency-related bugs induced when servers handle multiple requests at once. Read more about it here!
Skills
Technical
Software Engineering
Object-Oriented Programming
Algorithms & Data Structures
Operating Systems
Processes
Multithreading
Memory Management
Networking
Virtualization
Linux Kernel
Fuzzing
Software Security
Network Security
Cryptography
Cache Timing Attacks
Speculative Execution Attacks
Languages
C
C++
x86 Assembly
Arm64 Assembly
Python
Shell Scripting
Java
Rust
C#
JS/TS
HTML/CSS
Vim Script
Software / Tools
Linux
Bash
WSL
Git
Vim
GDB
Valgrind
QEMU
strace
AFL/AFL++
libfuzzer
Radamsa
Wfuzz
Kali Linux
Burp Suite
nmap
tcpdump
Wireshark
John the Ripper
GitHub
Azure
Azure DevOps
Projects
Creating things — especially things I dreamed up myself — is one of my greatest passions in life. Mix that with a couple of computer science degrees and you wind up with lots of coding projects. Here are a few notable mentions of things I’ve created (or am still creating):
- DImROD, my custom-built smart-home driver and personal server.
- Personal command-line utilities and dotfiles, to help me with command-line hackery.
- Custom QMK firmware, for a mechanical keyboard I built.
- ttydo, a command-line task tracker.
- wrivcam, my homemade Raspberry Pi dash cam.
I’ve also dabbled with Vim plugins. Here are a few plugins I’ve written:
- argonaut.vim, a plugin that provides command-line argument parsing and rich tab completion for Vim commands.
- fops.vim, a plugin that provides several Vim commands for interacting with files.
- dwarrowdelf, my custom Vim theme.
I also worked on some pretty neat projects in school. Here are some of my favorites:
- Gurthang, my M.S. thesis project
- HTTP/1.1-compliant Web Server, featuring multithreading and response caching (C)
- Memory Allocator & Manager (C) (like LibC’s malloc interface)
- Threadpool (C)
- Extensible Linux Shell (C)
- P2P secure & scalable messaging protocol (Rust) (senior capstone)
- Simple one-time pad encryption networking protocol (Java)
- Simplified MIPS32 assembler (C)
- Rust implementation of the Linux kernel’s ramfs
Other stuff I’ve built into this website:
- RELF, my zero-player cellular automata game