% resume-a4.tex
%
% (c) 2002 Matthew Boedicker <mboedick@mboedick.org> (original author) http://mboedick.org
% (c) 2003-2007 David J. Grant <davidgrant-at-gmail.com> http://www.davidgrant.ca
% (c) 2007-2024 Todd C. Miller <Todd.Miller@sudo.ws> http://www.millert.dev/
%
% This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.

\documentclass[a4paper,11pt]{article}

%-----------------------------------------------------------
\usepackage[empty]{fullpage}
\usepackage{color}
\definecolor{mygrey}{gray}{0.80}
\raggedbottom
\raggedright
\setlength{\tabcolsep}{0mm}

% Adjust margins to 12.5mm on all sides
\addtolength{\oddsidemargin}{-12.5mm}
\addtolength{\evensidemargin}{-12.5mm}
\addtolength{\textwidth}{25mm}
\addtolength{\topmargin}{-12.5mm}
\addtolength{\textheight}{25mm}

%-----------------------------------------------------------
%Custom commands
\newcommand{\resitem}[1]{\item #1 \vspace{-2pt}}
\newcommand{\resheading}[1]{{\large \colorbox{mygrey}{\begin{minipage}{\textwidth}{\textbf{#1 \vphantom{p\^{E}}}}\end{minipage}}}}
\newcommand{\ressubheading}[4]{
\begin{tabular*}{172mm}{l@{\extracolsep{\fill}}r}
		\textbf{#1} & #2 \\
		\textit{#3} & \textit{#4} \\
\end{tabular*}\vspace{-6pt}}
%-----------------------------------------------------------


\begin{document}

\begin{tabular*}{180mm}{l@{\extracolsep{\fill}}r}
\textbf{\large Todd C. Miller}  & 720.938.2132 (mobile)\\
1890 Tansy Place &  Todd.Miller@sudo.ws \\
Boulder, CO  80304& https://www.millert.dev\\
\end{tabular*}
\\

\vspace{0.25mm}

\resheading{Education}
\begin{itemize}
\item
	\ressubheading{University of Colorado}{Boulder, CO}{Bachelor of Science in Computer Science}{Sep. 1989 - Dec. 1997}
	\begin{itemize}
		\resitem{Senior Thesis: Scientific Visualization Tool for Chemical Engineering Data}
	\end{itemize}

\end{itemize}

\resheading{Work Experience}
\begin{itemize}
\item
	\ressubheading{One Identity LLC}{Pleasant Grove, UT}{Software Developer Senior Engineer}{November 2016 - February 2024}
	\begin{itemize}
		\resitem{Added support for managing multiple platforms to the One Identity \emph{Safeguard for Privileged Passwords} product.}
		\resitem{Single-handedly resurrected the \emph{Privilege Manager for Unix} and \emph{Safeguard for Sudo} products which had been dormant for several years and led a team to update and support them.  Moved the products from subversion to git, applied several years' worth of bug fixes to the main branch, replaced the legacy build system with cmake, removed legacy code, and generally modernized the code base.}
		\resitem{Implemented multiple fuzz tests for \emph{Sudo} to help identify potential security issues.  Tests run after every commit via a GitHub action and also run continuously as part of the \emph{oss-fuzz} project.}
		\resitem{Utilized Static Application Security Testing (SAST) tools including Coverity, PVS-Studio and clang-analyzer to find and fix potential weaknesses in \emph{Sudo}, \emph{Privilege Manager for Unix} and \emph{Safeguard for Sudo}.}
		\resitem{Designed and implemented the \emph{Sudo} log server, capable of receiving event and I/O (keystroke) logs using Google Protocol Buffers.}
		\resitem{Implemented client support for remote logging of events and I/O (keystroke) logs in \emph{Sudo}.}
		\resitem{Designed and implemented support for logging and/or restricting the execution of sub-commands (sandboxing) in \emph{Sudo}.  This is accomplished via either a dynamic shared object or the Linux-specific seccomp and ptrace system calls.}
	\end{itemize}
\item
	\ressubheading{Dell Inc. (via acquisition)}{Lindon, UT}{Software Developer Senior Engineer}{September 2012 - November 2016}
	\begin{itemize}
		 \resitem{Part of a team designing the Unix Privilege Management component of Dell's next generation Identity and Access Management suite.}
		\resitem{Continued to develop and maintain \emph{Sudo} and make regular releases.}
	\end{itemize}
\item
	\ressubheading{Quest Software, Inc.}{Lindon, UT}{Software Developer 4}{May 2010 - September 2012}
	\begin{itemize}
		\resitem{Added support for I/O (keystroke) logging to the \emph{Sudo} privileged access management suite and implemented a utility to search and replay the I/O logs.}
		\resitem{Designed and implemented a plugin architecture for the \emph{Sudo} privileged access management suite to support third-party policy and logging modules.}
		\resitem{Implemented sudoers policy evaluation support in the Quest Privilege Manager product.}
		\resitem{Added a suite of unit tests to \emph{Sudo}.}
		\resitem{Responsibilities also included development and maintenance of \emph{Sudo} including release engineering and defect management.}
	\end{itemize}

\item
	\ressubheading{Message Systems, Inc.}{Columbia, MD}{Lead Software Engineer}{August 2009 - April 2010}
	\begin{itemize}
		\resitem{Team lead for the Momentum mail transport agent project.}
		\resitem{Responsibilities include design, development and testing of the MTA, as well as release engineering, mentoring of other team members and interfacing with support staff.}
		\resitem{Also responsible for turning a prototype of the Lua-based adaptive delivery module into a production-quality Momentum module.}
	\end{itemize}
	\ressubheading{}{}{Email Infrastructure Software Engineer}{March 2008 - August 2009}
	\begin{itemize}
		\resitem{Part of a small team developing the Momentum mail transport agent.}
		\resitem{Responsibilities include general development and testing of the MTA as well as release engineering.}
	\end{itemize}

\item
	\ressubheading{Tresys Technology, LLC.}{Columbia, MD}{Principal Engineer}{May 2007 - March 2008}
	\begin{itemize}
		\resitem{Principal Engineer of the Funded Research \& Development team.}
		\resitem{Responsible for oversight of multiple projects within the FR\&D group, which specializes in researching techniques to increase the usability of Security Enhanced Linux (SELinux).}
		\resitem{Provide technical oversight and guidance for research tasks.}
	\end{itemize}

\item
	\ressubheading{SPARTA, Inc.}{Columbia, MD}{Principal Engineer}{Sep. 2005 - Mar. 2007}
	\begin{itemize}
		\resitem{Led a small team of developers responsible for the production of a security-enhanced version of Apple's Mac OS X operating system, utilizing type enforcement and mandatory access controls.}
		\resitem{Extended the SELinux FLASK architecture to secure Mach inter-process communication as present in Mac OS X.}
		\resitem{Extended and enhanced the TrustedBSD MAC Framework for the Darwin kernel, portions of which appear in Mac OS 10.5 (Leopard).}
	\end{itemize}

\item
	\ressubheading{Looking Glass Systems, LLC.}{Boulder, CO}{Senior Programmer and System Administrator}{Feb. 2005 - Sep. 2005}
	\begin{itemize}
		\resitem{Served as part of a team to design and develop an agent-based monitoring system for Windows and {\sc UNIX} systems.}
		\resitem{Responsible for the design and implementation of an agent for UNIX-like systems that interoperates with the LG Vision server software.}
		\resitem{Also responsible for the installation and maintenance of network and computing resources.}
	\end{itemize}

\item
	\ressubheading{GratiSoft, Inc.}{Boulder, CO}{Founder}{Oct. 2003 - Feb. 2005}
	\begin{itemize}
		\resitem{GratiSoft provided commercial support for the \emph{Sudo} privileged access management suite as well as consulting services for OpenBSD and other Open Source software.}
		\resitem{Rewrote the sudoers file parser to address long-standing limitations.}
		\resitem{Made regular releases of \emph{Sudo} with bug fixes and new features.}
		% XXX - more detail here too
	\end{itemize}

\item
	\ressubheading{Distributed Systems Lab, University of Pennsylvania}{Philadelphia, PA}{Sr. Systems Programmer}{Dec. 2001 - Oct. 2003}
	\begin{itemize}
		\resitem{Added KeyNote trust-management support to the Apache web server.}
		\resitem{Continued to enhance the OpenBSD operating system on a daily basis.}
		% XXX - list some OpenBSD things I worked on
	\end{itemize}

\item
	\ressubheading{Computer Science Operations Group, University of Colorado}{Boulder, CO}{Sr. System Administrator}{Oct. 1993 - Dec. 2001}
	\begin{itemize}
		\resitem{One of three full-time {\sc UNIX} system and network administrators in charge of the {\sc UNIX} computing resources for the Computer Science Department.}
		\resitem{Managed a network of approximately 350 {\sc UNIX} workstations and X-terminals located in undergraduate, masters, and research labs as well as in faculty offices.}
		\resitem{Responsible for day-to-day operation of department-wide computer resources and computer support.}
		%Put more stuff back?
	\end{itemize}

\end{itemize}

\pagebreak

\resheading{Skills}

\begin{description}
\item[Languages:]
C/C{}\verb!++!, C{}\verb!#!, Go, Perl, Java, Unix Shell, Sed, Awk
\item[Operating Systems:]
Linux, BSD, macOS, {\sc UNIX}
\item[Security:]
Extensive experience writing secure code and auditing legacy code for security-related errors
\item[Miscellaneous:]
Excellent troubleshooting and debugging skills
\end{description}

\resheading{Open Source Projects}

\begin{description}
\item[2014] Implemented and upstreamed support for forwarding Unix domain sockets in \emph{OpenSSH}.
\item[2007--2008] One of four upstream maintainers of the SELinux tool chain.
\item[2001--Present] Major contributor to ISC cron (formerly Vixie cron).
\item[1996--Present] Core member of the OpenBSD project.  Participated in multiple security audits of the OpenBSD code base.  Responsible for the OpenBSD C library and large portions of the OpenBSD user space.
\item[1993--Present] Maintainer of the \emph{Sudo} privileged access management suite.  Responsible for development, release engineering, defect management and security response.
\end{description}

\resheading{Publications}

\begin{description}
\item["Security-Enhanced Darwin: Porting SELinux to Mac OS X",]
\emph{Proceedings from the Third Annual Security Enhanced Linux Symposium} in Baltimore, MD, 2007.
\item["{\sc \bf UNIX} System Administration Handbook, Third Edition",]
contributing author.
\item["strlcpy and strlcat:  Consistent, Safe, String Copy and Concatenation",]
\emph{Proceedings from the USENIX Annual Technical Conference} in Monterey, CA, 1999.
\item["satool:  A System Administrators Cockpit",]
\emph{Proceedings from the USENIX LISA VII Conference (Large Installation Systems Administration)} in Monterey, CA, 1993.
\end{description}

\resheading{Presentations}

\begin{description}
\item["What's new in Sudo 1.9?"]
\emph{Southern California Linux Expo 18x} in Pasadena, CA, March 2020.
\item["Extending Unix Command Control with Sudo 1.8"]
\emph{Southern California Linux Expo 9x} in Los Angeles, CA, February 2011.
\end{description}

\resheading{Patents}

\begin{description}
\item[Furlong, Wesley J., Schlossnagle, George, Miller, Todd.  2014.]
Method and system for adaptive delivery of digital messages.
U.S. Patent 8,782,184 filed September 20, 2013, and issued July 15, 2014.
\end{description}

\end{document}
