Compare commits
5 Commits
9437c75e12
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 84a189add4 | |||
| 6af0f091dd | |||
| 3e41fd0ac2 | |||
| b5d7cacd88 | |||
| 158062dbd7 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1 +1,2 @@
|
||||
.docker-build
|
||||
.podman-build
|
||||
|
||||
11
Dockerfile
11
Dockerfile
@@ -1,8 +1,5 @@
|
||||
FROM debian:latest
|
||||
|
||||
RUN apt-get update
|
||||
RUN apt-get install -y texlive-base texlive-bibtex-extra texlive-fonts-recommended texlive-fonts-extra texlive-latex-base texlive-latex-extra texlive-latex-recommended texlive-science pandoc
|
||||
|
||||
RUN mkdir /data
|
||||
FROM pandoc/latex:latest
|
||||
RUN tlmgr update --self \
|
||||
&& tlmgr install enumitem sectsty underscore
|
||||
WORKDIR /data
|
||||
|
||||
VOLUME ["/data"]
|
||||
|
||||
23
Makefile
23
Makefile
@@ -8,33 +8,30 @@ USER_ID=$(shell id -u ${USER})
|
||||
GROUP_ID=$(shell id -g ${USER})
|
||||
|
||||
CONTAINER_EXISTS=0
|
||||
ifneq ("$(shell docker images -q ${NAME} 2> /dev/null)","")
|
||||
ifneq ("$(shell podman images -q ${NAME} 2> /dev/null)","")
|
||||
CONTAINER_EXISTS=1
|
||||
endif
|
||||
|
||||
resume: .docker-build
|
||||
docker run -it \
|
||||
resume: .podman-build
|
||||
podman run --rm \
|
||||
--volume "$(realpath .)":/data \
|
||||
--user ${USER_ID}:${GROUP_ID} \
|
||||
--name ${CONTAINER_NAME} \
|
||||
${NAME} \
|
||||
pandoc ${FILE_NAME}.md -f markdown+yaml_metadata_block --template templates/jb2resume.latex -o ${FILE_NAME}.pdf \
|
||||
; docker stop ${CONTAINER_NAME} \
|
||||
&& docker rm ${CONTAINER_NAME}
|
||||
${FILE_NAME}.md -f markdown+yaml_metadata_block --template templates/jb2resume.latex -o ${FILE_NAME}.pdf
|
||||
|
||||
.docker-build:
|
||||
if [ ${CONTAINER_EXISTS} -ne 1 ]; then docker build -t ${NAME} . && echo "" > .docker-build; fi
|
||||
.podman-build:
|
||||
if [ ${CONTAINER_EXISTS} -ne 1 ]; then podman build -t ${NAME} . && echo "" > .podman-build; fi
|
||||
|
||||
cleanpaper:
|
||||
rm -f ${FILE_NAME}.pdf
|
||||
|
||||
cleandocker:
|
||||
@echo "Cleanup files and docker"
|
||||
if [ ${CONTAINER_EXISTS} -ne 0 ]; then docker image rm -f ${NAME} && rm -f .docker-build; fi
|
||||
cleanpodman:
|
||||
@echo "Cleanup files and podman"
|
||||
if [ ${CONTAINER_EXISTS} -ne 0 ]; then podman image rm -f ${NAME} && rm -f .podman-build; fi
|
||||
|
||||
clean:
|
||||
rm -f *.log
|
||||
|
||||
cleanall: clean cleanpaper cleandocker
|
||||
cleanall: clean cleanpaper cleanpodman
|
||||
@echo "Cleanup everything"
|
||||
|
||||
|
||||
115
paul-halvorsen-resume-detailed.md
Normal file
115
paul-halvorsen-resume-detailed.md
Normal file
@@ -0,0 +1,115 @@
|
||||
---
|
||||
name: Paul Halvorsen
|
||||
keywords: rust, cargo, python, c, docker, containers, tdd, test driven development, pytest, ci/cd, javascript, jquery, php, mysql, rest, api, json, xml, git, gitlab, nginx, remote, testing
|
||||
left-column:
|
||||
- 'Phone: +1-410-236-4665'
|
||||
- 'Citizen of the United States'
|
||||
right-column:
|
||||
- 'Email: [work@halvo.me](mailto:work@halvo.me)'
|
||||
---
|
||||
|
||||
# Summary
|
||||
|
||||
I'm a Software Engineer with over (started in 2011) years development and (started in 2006) years professional experience, with exposure to Rust, C, Python, PHP, Go, JavaScript, Java, and C++ languages; various SQL databases; JQuery and Pytest frameworks; Docker containerization; and Rest API, NATS, JSON, XML, and nginx technologies.
|
||||
|
||||
# Work Experience
|
||||
|
||||
## Binary Defense
|
||||
|
||||
**Sr Software Engineer**: April 2022 - Present
|
||||
|
||||
- Rust development using cargo, nextest, cmake, WIX, and cross compilation
|
||||
- Python development using pyenv, pipenv, cython, docker build environment, gitlab pipelines, and static compilation
|
||||
- Develop security alarms for Windows, Linux (Debian, Ubuntu, CentOS, RedHat), and MacOS
|
||||
- Written RFC and ADR to drive design and decision making on project direction
|
||||
- Design and build containment for all platforms upon detected compromise
|
||||
- Design and build secure key exchange and connections
|
||||
- Perform public key pinning and certificate transparency logs for server verification: Rust, Python
|
||||
- Perform API calls to Azure for data transfer
|
||||
- Testing performed using VMs built in Proxmox and Virtualbox
|
||||
|
||||
## Kyrus Tech
|
||||
|
||||
**Sr Software Engineer**: Nov 2020 - April 2022
|
||||
|
||||
- Perform test driven development: C, Python/Pytest, Docker, GitLab CI/CD
|
||||
- Build covert communications and file transfers proxy: C, HTTPS, Apache Thrift, Rest API
|
||||
- Design compact router fingerprinting and vulnerability analysis: Android, HTTPS, TCP/IP, StreamCypher Encryption
|
||||
- Modify existing code to suppress system logging from Linux Kernel module: various Linux Kernel versions, Ghidra
|
||||
|
||||
## Parsons
|
||||
|
||||
**Cyber Security Software Engineer**: Apr 2018 - Nov 2020
|
||||
|
||||
- Continue development of covert Windows application: C, C++, Python
|
||||
- Build modular solution for plugin architecture
|
||||
- Design and develope custom API for minimal data transfer to back-end
|
||||
- Reverse engineer custom data storage solutions to parse and manipulate target data
|
||||
- Reverse engineer API calls to proprietary tools to manipulate communication
|
||||
- Encrypt storage and comms using AES shared key to maintain confidentiality and integrity
|
||||
- Build prototype back-end service for file storage and search: Java, Tomcat, Niagarafiles (NiFi), nginx, Hadoop, MySQL, LDAP, RBAC
|
||||
- Create API for uploading files via web interface or CLI
|
||||
- Verify duplication before storage
|
||||
- Track and maintain multi-level user access
|
||||
- Generate metadata for searching
|
||||
|
||||
## NSA
|
||||
|
||||
**Security Software Engineer**: Nov 2011 - Apr 2018
|
||||
|
||||
- RedTeam DevOps development of browser enumeration, manipulation, and exploitation: PHP, JavaScript, JQuery, CSS, Python, MySQL, Java, Apache, Tomcat, Linux, Windows, Chrome, Firefox, Safari, IE, Edge
|
||||
- Design Rest and JSON API to transfer data between targets, server, and UI
|
||||
- Deliver covert JavaScript to targets for enumeration and exploitation
|
||||
- Design front-end to provide a dynamic UI with real time target data, graphs, and charts for in-depth data analysis
|
||||
- Design MySQL database to hold and quickly query enumeration and exploitation data
|
||||
- Design and develop new browser exploits using public CVE and POC
|
||||
- Update PHP back-end for security and performance
|
||||
- Advise and develop vulnerability mitigation strategies for various military and government customers
|
||||
- Train and provide SOPs to NSA RedTeam operators for various tools
|
||||
- Train new development employees on test system and deployment procedures
|
||||
- Update Windows and Linux software package to also run on MacOS
|
||||
|
||||
**Systems Engineer**: Sept 2009 - Nov 2011
|
||||
|
||||
- Deploy, maintain, and monitor 30+ systems with 130+ Red Hat Enterprise Linux (RHEL) servers each
|
||||
- Maintain multiple services on each system including; LDAP, DNS, Apache, NiFi, Hadoop, Apache, Puppet, DHCP, PXE boot
|
||||
- Develop and deploy monitoring, reporting, and issue correcting scripts: Python
|
||||
- Repoting sent via Web API to graphic interface for viewing as well as emailed out to the team
|
||||
- Organize, train, and participate in team performing 24x7 call-in rotation
|
||||
- Stage new deployments to verify viability before deployment
|
||||
- Responsible for 5+ domestic and foreign system deployments
|
||||
|
||||
## Salisbury University
|
||||
|
||||
**Software Developer**: Nov 2006 - May 2008
|
||||
|
||||
- Funded through the Wallops Flight Facility (NASA)
|
||||
- Provide simplified UI and scenario builder for the Satellite Tool Kit (STK): Managed C++
|
||||
- Create graphs designed to display risk throughout the scenario
|
||||
- Design risk assessment scenarios for launch vehicles and UAVs over the DELMARVA peninsula
|
||||
- Collaborate with Geographic Information Science (GIS) for mapping
|
||||
- Display emergency services and response time on the map throughout the simulation
|
||||
|
||||
**Lab Administrator**: Sept 2007 - May 2009
|
||||
|
||||
- Support Math and CS departments at SU
|
||||
- Maintain the Linux labs on campus: dual boot OpenSUSE, WindowsXP, and OpenSUSE server
|
||||
- Perform backups, updates, user management (LDAP), disk quotas, and remote access
|
||||
- Monitor the labs while in use
|
||||
- Provide ssh access into the lab for remote work
|
||||
|
||||
# Education
|
||||
|
||||
- **University of Maryland Baltimore Campus**: Masters in Computer Science; 2013. Thesis: "Stateless Detection of Malicious Traffic: Emphasis on User Privacy"
|
||||
- **Salisbury University**: Bachelors in Computer Science; 2009. Magna Cum-Laude
|
||||
- **Security+**: ID: COMP001021281239; Exp Date: 04/04/2024
|
||||
- **Royal Military College (RMC Canada)**: Training in OpenBSD development and administration
|
||||
|
||||
# Miscellaneous
|
||||
|
||||
- **RedBlue Conference**: Presented combination web enumeration/exploitation tool
|
||||
- **National Conference for Undergrad Research (NCUR)**: Presented development of STK scenario building and manipulation
|
||||
- **SANS Courses**: Staying up-to-date on security research
|
||||
- **Homelab**: Running email, cloud storage, gitea, DNS, multimedia, geneology, and static web page services
|
||||
- **Web Admin for PTA**: Setup and maintain a Wordpress site
|
||||
|
||||
@@ -1,16 +1,21 @@
|
||||
---
|
||||
name: Paul Halvorsen
|
||||
keywords: rust, cargo, python, c, docker, containers, tdd, test driven development, pytest, ci/cd, javascript, jquery, php, mysql, rest, api, json, xml, git, gitlab, nginx, remote, testing
|
||||
keywords: rust, cargo, python, c, docker, containers, TDD, test driven development, pytest, CI/CD, JavaScript, JQuery, PHP, MySQL, rest, API, JSON, XML, git, GitLab, nginx, remote, testing
|
||||
left-column:
|
||||
- 'Sr Software Developer'
|
||||
- 'Email: [paul.halvorsen@pm.me](mailto:paul.halvorsen@pm.me)'
|
||||
- 'Phone: +1-410-236-4665'
|
||||
- 'Citizen of the United States'
|
||||
- 'Last Updated: \today'
|
||||
right-column:
|
||||
- 'Email: [pmghalvorsen@gmail.com](mailto:pmghalvorsen@gmail.com)'
|
||||
- 'Personal Blog: [https://flow.halvo.me](https://flow.halvo.me)'
|
||||
- 'LinkedIn: [www.linkedin.com/in/paul-halvorsen](www.linkedin.com/in/paul-halvorsen)'
|
||||
- 'Git Repo: [https://git.halvo.me/paul](https://git.halvo.me/paul)'
|
||||
- 'Citizen of the United States'
|
||||
---
|
||||
|
||||
# Summary
|
||||
|
||||
I'm a Software Engineer with over 13 years development and 17 years professional experience, with exposure to Rust, C, Python, PHP, Go, JavaScript, Java, and C++ languages; various SQL databases; JQuery and Pytest frameworks; Docker containerization; and Rest API, NATS, JSON, XML, and nginx technologies.
|
||||
I'm a Software Engineer with over 14 years development and 18 years professional experience, with exposure to Rust, C, Python, PHP, Go, JavaScript, Java, and C++ languages; various SQL DBs; tokio, JQuery, and Pytest frameworks; Docker and GitLab CI/CD; and Rest API, NATS, JSON, XML, and nginx technologies.
|
||||
|
||||
# Work Experience
|
||||
|
||||
@@ -18,33 +23,33 @@ I'm a Software Engineer with over 13 years development and 17 years professional
|
||||
|
||||
**Sr Software Engineer**: April 2022 - Present
|
||||
|
||||
- Rust development using cargo, cmake, and cross compilation
|
||||
- Python development using pyenv, pipenv, cython, docker build environment, gitlab pipelines, and static compilation
|
||||
- Develop security alarms for Windows, Linux (Debian and RedHat), and MacOS
|
||||
- Rust development including: tokio (test), reqwest, anyhow, serde, windows, cargo, cmake, and WIX
|
||||
- Python development using pyenv, pipenv, cython, docker, GitLab pipelines, and static compilation
|
||||
- Develop security alarms for Windows, Linux (Debian and RedHat), and MacOS: Event driven by Windows Events, file and directory updates, and network connections
|
||||
- Written RFC and ADR to drive design and decision making on project direction
|
||||
- Design and build containment for all platforms upon detected compromise
|
||||
- Design and build secure key exchange and connections
|
||||
- Design and build encrypted SQLite DB (configuration and cache), network containment, and secure key exchange and authentication
|
||||
- Design and build HTTP and NATS Rest API for receiving configuration (JSON) and sending data to backend servers and Microsoft Azure
|
||||
- Aid in distributed deployment to dozens of customers with hundreds of endpoints
|
||||
|
||||
## Kyrus Tech
|
||||
|
||||
**Sr Software Engineer**: Nov 2020 - April 2022
|
||||
|
||||
- Perform test driven development: C, Python/Pytest, Docker, GitLab CI/CD
|
||||
- Perform test driven development: C, Python/Pytest, Docker, GitLab CI/CD, Ghidra
|
||||
- Build covert communications and file transfers proxy: HTTPS, Apache Thrift, Rest API
|
||||
- Design compact router fingerprinting and vulnerability analysis: Android, HTTPS, TCP/IP, StreamCypher Encryption
|
||||
- Modify existing code to suppress system logging from Linux Kernel module: various Linux Kernel versions, Ghidra
|
||||
- Design compact router fingerprinting and vulnerability analysis: Android, TCP/IP, StreamCypher
|
||||
- Modify C code to suppress system logging in various Linux Kernel versions
|
||||
|
||||
## Parsons
|
||||
|
||||
**Cyber Security Software Engineer**: Apr 2018 - Nov 2020
|
||||
|
||||
- Continue development of covert Windows application: C, C++, Python
|
||||
- Build modular solution for plugin architecture
|
||||
- Design custom API for minimal data transfer to back-end
|
||||
- Develop covert Windows application: C, C++, Python
|
||||
- Build modular solution for plugin architecture and distributed deployment
|
||||
- Design custom API for minimal communications on limited bandwidth
|
||||
- Encrypt storage and comms using AES shared key to maintain confidentiality and integrity
|
||||
- Build prototype back-end service for file storage and search: Java, Tomcat, Niagarafiles (NiFi), nginx, Hadoop, MySQL, LDAP, RBAC
|
||||
- Build back-end service for file storage and search: Java, Tomcat, NiagaraFiles (NiFi), nginx, Hadoop, MySQL, LDAP, RBAC
|
||||
- Create API for uploading files via web interface or CLI
|
||||
- Track and maintain multi-level user access
|
||||
- Generate metadata for searching
|
||||
|
||||
## NSA
|
||||
@@ -53,10 +58,9 @@ I'm a Software Engineer with over 13 years development and 17 years professional
|
||||
|
||||
- RedTeam DevOps development of browser enumeration, manipulation, and exploitation: PHP, JavaScript, JQuery, CSS, Python, MySQL, Java, Apache, Tomcat, Linux, Windows, Chrome, Firefox, Safari, IE, Edge
|
||||
- Design Rest and JSON API to transfer data between targets, server, and UI
|
||||
- Deliver covert JavaScript to targets for enumeration and exploitation
|
||||
- Design front-end to provide a dynamic UI with real time target data and graphs and charts for in-depth data
|
||||
- Distribute covert JavaScript to targets across US government networks for enumeration and exploitation
|
||||
- Design front-end to provide a dynamic UI with real time target data, graphs, and charts
|
||||
- Design MySQL database to hold and quickly query enumeration and exploitation data
|
||||
- Update PHP back-end for security and performance
|
||||
- Advise and develop vulnerability mitigation strategies for various military and government customers
|
||||
- Train and provide SOPs to NSA RedTeam operators for various tools
|
||||
|
||||
@@ -85,8 +89,8 @@ I'm a Software Engineer with over 13 years development and 17 years professional
|
||||
# Education
|
||||
|
||||
- **University of Maryland Baltimore Campus**: Masters in Computer Science; 2013. Thesis: "Stateless Detection of Malicious Traffic: Emphasis on User Privacy"
|
||||
- **Salisbury University**: Bachelors in Computer Science; 2009. Magna Cum-Laude
|
||||
- **Security+**: ID: COMP001021281239; Exp Date: 04/04/2024
|
||||
- **Salisbury University**: Bachelors in Computer Science, Minor in Math; 2009. Magna Cum-Laude
|
||||
- **Security+** (Expired): ID: COMP001021281239; Exp Date: 04/04/2024
|
||||
- **Royal Military College (RMC Canada)**: Training in OpenBSD development and administration
|
||||
|
||||
# Miscellaneous
|
||||
@@ -94,6 +98,6 @@ I'm a Software Engineer with over 13 years development and 17 years professional
|
||||
- **RedBlue Conference**: Presented combination web enumeration/exploitation tool
|
||||
- **National Conference for Undergrad Research (NCUR)**: Presented development of STK scenario building and manipulation
|
||||
- **SANS Courses**: Staying up-to-date on security research
|
||||
- **Homelab**: Running email, cloud storage, gitea, DNS, multimedia, geneology, and static web page services
|
||||
- **Web Admin for PTA**: Setup and maintain a Wordpress site
|
||||
- **Homelab**: Proxmox running test VMs, email, cloud storage, gitea, DNS, multimedia, genealogy, and static web pages
|
||||
- **Web Admin for PTA**: Setup and maintain WordPress pages, calendar, and blog
|
||||
|
||||
|
||||
Binary file not shown.
@@ -25,7 +25,7 @@
|
||||
\hypersetup{
|
||||
colorlinks = true,
|
||||
urlcolor=$if(urlcolor)$$urlcolor$$else$blue$endif$,
|
||||
linkcolor=$if(linkcolor)$$linkcolor$$else$magenta$endif$,
|
||||
linkcolor=$if(linkcolor)$$linkcolor$$else$magenta$endif$,
|
||||
pdfauthor = {\name},
|
||||
pdfkeywords = {$keywords$},
|
||||
pdftitle = {\name: Curriculum Vitae},
|
||||
@@ -58,8 +58,7 @@ $if(section-color)$
|
||||
$else$
|
||||
\sectionfont{\rmfamily\mdseries\Large}
|
||||
$endif$
|
||||
%\subsectionfont{\rmfamily\mdseries\itshape\large}
|
||||
\subsectionfont{\rmfamily\mdseries\large}
|
||||
\subsectionfont{\rmfamily\mdseries\itshape\large}
|
||||
|
||||
% Section numbers or not (default)
|
||||
$if(numbersections)$
|
||||
@@ -77,9 +76,6 @@ $endif$
|
||||
% Don't use monospace font for URLs
|
||||
\urlstyle{same}
|
||||
|
||||
\renewcommand{\familydefault}{\sfdefault}
|
||||
\usepackage{helvet}
|
||||
|
||||
\begin{document}
|
||||
|
||||
% Place name at left
|
||||
|
||||
Reference in New Issue
Block a user