Kien Do

Software Developer - Security Researcher

About Me


"I like building software... then breaking it."

My journey started in software development, where I built frontend pages in React-TypeScript, developed features for an enterprise Python test automation framework, and automated distributed systems and E2E test scenarios.

As a Software Developer at heart, I will always explore new ways to build better software, from designing prettier UIs to developing more robust backends.

Recently, I have been exploring the field of cybersecurity, diving into computer networking and security research, with a focus on web and Android application security.

This journey into cybersecurity has sharpened my ability to think like a hacker. I’ve gained a thorough understanding of the attack chain, from reverse engineering applications and crafting malware, to setting up Command and Control (C2) servers and exploiting vulnerabilities to deliver malware.

As I continue to progress in my career, my goal is to blend software development and cybersecurity to contribute to building safer software environments by developing tools for threat intelligence or enterprise security.

Experience


Software Developer @ Trend Micro

Kanata, Ontario, Canada | May 2024 - August 2024

 • Developed features and tests for Cloud Sentry, an AWS resource threat detection product within the Vision One cloud security services platform.

Skills: AWS, Python, Go, JavaScript, Groovy, Jenkins

Vision OneCloud Sentry

Security Researcher @ University of Ottawa

Ottawa, Ontario, Canada | January 2024 - April 2024

• Researched cyber threats and developed a novel Telegram OSINT threat intelligence software under Professor Miguel Garzon.

Skills: Python, Telethon, Argostranslate, Multiprocessing, Logging, SQLite3, Elasticsearch, Proxies, DigitalOcean, Software Architecture

Presentation Slides

Security Software Developer @ Government of Canada

Ottawa, Ontario, Canada | September 2023 - December 2023

• Developed specialized security intelligence tools to protect Canada's national security from foreign interference and terrorism.

Skills: Python, Burp Suite, Frida, apktool, jadx, SQLite3, Postgres, Docker, Android Studio, API Security, Dynamic Analysis

Counter-terrorismForeign Interference

Test Automation Developer @ Nokia

Kanata, Ontario, Canada | January 2023 - April 2023

• Developed distributed systems reliability and security testing features for the in-house Python test automation framework. 
• Automated test scenarios, saving 150+ hours per release and enhancing quality across all WaveSuite optical network products.

Skills: Python, Jenkins, CentOS, RHEL, MariaDB, Keycloak, LDAP, Docker, Swagger, Agile, Distributed Systems

WaveSuite Products

Software Developer @ Government of Canada

Ottawa, Ontario, Canada | May 2022 - August 2022

• Built data reporting, data visualization, and information management (IM) applications for intelligence analysts.

Skills: TypeScript, React, SASS, Docker, Cypress, E2E testing, Agile, Microservices, Wireframes, Software Architecture, Usability-testing

National Security

Web Developer @ Canada Revenue Agency

Ottawa, Ontario, Canada | September 2021 - April 2022

• Developed intranet sites to provide employees with information and work tools, accelerating tax returns processing by 10%.

Skills: HTML, CSS, JavaScript ES6, Web Experience Toolkit (WET), Web Accessibility (WCAG), Internationalization

Assessment, Benefit, and Service Branch

Projects


Filter Projects


Job Market Trends Analysis
Python, Docker, Postgres, Pandas, PowerBI, Scikit-Learn

An enriched data mart to analyze job market trends from 2021 to 2023 in several countries through conceptual design, physical design and data staging, OLAP queries, BI dashboard creation, and data mining

uOBites
React-Typescript, Bootstrap, SASS, Flask, Postgres, Cypress

A food ordering web application that allows users to place an online order from any food outlet on uOttawa's campus.

Restaurant People Detection
Python, OpenCV, NumPy, PyTorch

Detection of people in a video sequence using image processing techniques and convolutional neural networks, implemented in Python and OpenCV.

Network Socket Simulation
Java, TCP/IP, IPv4

A client-server simulation where a destination IP and payload are encapsulated in an IPv4 packet, sent to a server via a TCP/IP socket for de-encapsulation, checksum validation, and display of payload and metadata.

Netcat NMAP Lab
Kali Linux, Netcat, NMAP

NMAP port scanning and Netcat banner grabbing lab on a Kali Linux virtual machine. Hypervisor: Oracle Virtual Box, Linux Distribution: Kali Linux, Vulnerable Machine: Metasploitable.

Student TA Simulation
C (Programming Language)

Multi-threaded TA-student meeting simulation with a TA, one office chair, three waiting chairs, and N students. Addressed issues of deadlock and starvation using semaphores, mutex, and integer counters.

SQL Injection Labs
Python, Burp Suite, SQL

My lab notes and learning progress for the PortSwigger Web Security Academy's SQL Injection chapter.

Authentication Vulnerabilities Labs
Python, Burp Suite

My lab notes and learning progress for the PortSwigger Web Security Academy's Authentication Vulnerabilities chapter.

AzoCyber
React-Typescript, BlueprintJS, SASS, JSON, Docker

A React-Typescript website for AzoCyber, a fictional cybersecurity service company. This project focuses on the design and analysis of user-interfaces.

Grappling Arts Website
React, Bootstrap, SASS

A React-based website for a martial arts business specializing in grappling arts (Judo, BJJ, Wrestling). Focuses on the user-centered design.

DBSCAN Taxi Geolocation Clustering
Java, Go, Prolog, Scheme

A multi-paradigm data clustering application that implements the MapReduce DBSCAN algorithm to cluster the GPS starting locations of 200,000 taxi trip records to identify the best waiting areas for a taxi company’s vehicles.

Dental Clinic Management System
PHP, Postgres, Heroku

Dental Clinic Management System (DCMS) for a dental centre with clinics in major cities across Canada using PHP and PostgreSQL.

Job Matching System
Java

System that matches employers and CO-OP students based on the rank/match process using the Gale-Shapley algorithm. The same algorithm is used by the University of Ottawa and the University of Waterloo.

Fallout 4 - Pipboy
HTML, CSS, Bootstrap, jQuery

A clone of the "Pipboy" from Fallout 4 using Bootstrap and jQuery. One of my first web development projects.

Fitness Course Booking App
Java, JUnit, Firebase, Android Studio, UML

A gym management application for Android devices that allows users to book classes at a fitness centre.

CSS Battles
CSS

A record of my solutions on CSS-Battles (https://cssbattle.dev/).

Maze Game
C++

A CLI Maze Game in C++ featuring a UI, interactive navigation, object interaction within the maze, as well as a "hard" mode restricting maze visibility to a 3-block radius. Implemented a DFS maze-solving algorithm.

LaTex
LaTex

A showcase of mathematics, computer science, and computer engineering coursework that I have written in LaTex. Contains English and French documents.