shugg.dev

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

experience

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've been doing exciting security work involving speculative-execution side-channel attacks (remember Spectre and Meltdown?) and other architectural attacks. I've also been working on the Microsoft Pluton Security processor and the Microsoft Cobalt processor. Recently I had the chance to co-author a patent and successfully submit it to the US Patent Office. Additionally, given Microsoft's position in the AI frenzy, I have been taking advantage of chances to enable the use of LLMs in my organization's day-to-day engineering workflows. It's been a fantastic experience so far.

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 development, but I absolutely loved it.

I got the chance 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 incredibly rewarding and 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 also worked on some pretty neat projects in school. Here are some of my favorites:

Other stuff I've built into this website:

tidbits

The Marching Virginians

While at Virginia Tech, I played trumpet in the Marching Virginians for five years. Joining that band was one of the best decisions I have ever made. If you happen to be reading this as a Tech student and are on the fence about auditioning, let me help you: do it.

A Few Quotes

Fictional and nonfictional people alike have some great things to say. Here are some I like (more to come!):

Books

Books are amazing. Here are some I really enjoy.