shugg.dev

Hello there. I'm Connor, and this is my website. I do computer stuff and I like security.

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. Check out the blog posts I've written about some of my endeavors here.

Career

Microsoft - Security Verification 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 semester 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 in 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 are still creating):

I've also dabbled with Vim plugins. Here are a few plugins I've written:

I also worked on some pretty neat projects in school. Here are some of my favorites:

Other stuff I've built into this website: