Sean Salinas

Email

Ph.D. Student in Computer Science, experienced with reverse engineering, black box analysis, network protocol analysis, secure design, penetration testing, embedded systems, and more.

Education

Ph.D. Student in Computer Science

New Mexico Tech, Socorro, NM Expected May, 2023
  • Attended Fall 2018 to Present
  • Dissertation Topic: TBD
  • GPA: 3.59 / 4.0
  • Coursework includes Digital Forensics and Incident Response, Advanced Operating Systems, Advanced Algorithms, Predictive Data Analytics

Master's of Science in Computer Science

New Mexico Tech, Socorro, NM Graduated May, 2021
  • Attended Fall 2016 to Spring 2018
  • Thesis Topic: Hardware-based Network Security
  • GPA: 3.74 / 4.00
  • Coursework includes development of a new cybersecurity course, Foundations of Information Security, Network Security, Hardware-Based Network Security, Microcontrollers, Project Management, Principles of Research, Graph Algorithms and Databases, High Performance Computing, and Theory of Computation.

Bachelor's of Science in Computer Science

New Mexico Tech, Socorro, NM Graduated May, 2016
  • Attended Spring 2010 to Spring 2016
  • GPA: 3.05 / 4.00
  • Coursework includes Compiler Writing, Visualization, Cryptography, Principles of Operating Systems, Data Communications and Computer Networking, Design and Analysis of Algorithms, Formal Languages and Automata, Computer Architecture, Big Data Management, Internet and Web Programming

Skills

Professional Experience

Cyber Security Researcher at Idaho National Laboratory

Idaho Falls, Idaho January 2022 to Present
As a cybersecurity researcher, I am working on supporting several projects related to critical infrastructure protection and resilience.

Graduate Fellow at Idaho National Laboratory

Idaho Falls, Idaho August 2019 to January 2021
As a graduate fellow, I was the principal investigator of a Laboratory-Directed Research and Development (LDRD) project. I was charged with proposing, defending, and overseeing a long-term research plan, ultimately securing funding for the next two fiscal years. I also mentored an intern in the setup of two Openstack clusters for future use of the lab - one development scale and one large-scale. I am now working with other researchers to oversee the creation of custom circuit boards for internal use.

Technical Intern at Idaho National Laboratory

Idaho Falls, Idaho May 2016 to Present
I developed a training system for teaching cybersecurity basics to nuclear scientists and physical protection staff, with a focus on both hardware and software. Reverse-engineered widely used biometric authentication system, and developed several exploits against it. Developed a communication protocol utilizing Bluetooth Low Energy, Wireless Protected Access, and Transport Layer Security for use in a security module for plug-in electric vehicles. Performed research related to frequency spectrum utilization of Android phones. Performed research to categorize and distinguish physical properties of a common network layout. Worked on binary injection into commonly used hardware related to vehicle control.

Technology Specialist at Graduate Department, New Mexico Tech

Socorro, New Mexico August 2018 to May 2019
I worked with the Graduate Dean and other staff in the Graduate department to automate updates to university admission system with a focus in sustainability. Attended Technology Committee meetings, and provided insight into the use of technology to solve university problems. Worked to coordinate two third-party vendors to facilitate data migration. Performed data forensics and file carving to recover files from failed hard drives.

Technical Intern at Idaho National Laboratory

Idaho Falls, Idaho Summer 2015
Worked on a project relating to ease of administration of security controls relating to computer network infrastructure in large-scale dynamic network. Developed software to interface with specific hardware combination to allow ease of use by Laboratory personnel. Wrote software to interface microcontrollers driving linear servos to a high resolution camera to allow for gigapixel image creation. Developed self-calibration feature to compensate for alterations in camera angle and zoom level.

Research Assistant, Computer Science Department, New Mexico Tech

Socorro, New Mexico March 2014 to September 2015
Worked on research pertaining to neural networks, machine learning, and cloud computing. Gave several presentations to finance committee regarding progress and secured funding for the first phase of project completion.

Parallel Cluster System Administrator at New Mexico Tech

Socorro, New Mexico March 2014 to August 2017
Worked on restoring a broken parallel cluster to operable condition with no documentation. Diagnosed and replaced broken and failing hardware. Repaired wiring faults in uninterruptible power system. Built operating system from scratch to allow students to utilize system. Maintain software and security updates as needed.

Software Developer, Registrar's Office at New Mexico Tech

Socorro, New Mexico September 2011 to August 2017
Developed several competing algorithms utilizing machine learning to allow the registrar to compute final exam schedules while adhering to the extensive set of restrictions commonly seen in universities. Developed heuristics to reach acceptable solution in short time frame. Analyzed competing algorithms and selected best one based on time restrictions. Deployed system to parallel computer cluster for faster computation. Developed intuitive user interface so that computation can be done without the need for programming knowledge. Developed advanced visualization to allow operator to assess algorithm performance and adjust soft restrictions as needed.

Consultant for Flywheel Ventures, LLC

Albuquerque, New Mexico Summer, 2012
Created software to map ZIP codes to points of interest for increased value from marketing database. Interfaced the software with popular account management software through non-standard application program interface (API).

Consultant for Home Finder Real Estate, LLC

Albuquerque, New Mexico Summer 2012
Created custom software suite to pull real estate data from an externally-maintained independent database. Worked with database developer to fix broken API. Responsible for the search of relevant results from our database to potential real estate clients, and displaying the results in a web front-end.

Honors and Awards

Notable Projects

All source code is available upon request!

New Mexico Tech Final Exam Scheduler

Language: Java
Date: January 2012 to January 2017
Description: Wrote software to facilitate the creation of Final Exam schedules for the registrar's office at New Mexico Tech, including an advanced visualization.
Responsibilities: I was responsible for the entirety of this project.
Achievements:
  • Developed and tested several competing algorithms to create best schedules fastest
  • Algorithms used included Monte Carlo simulation, Virtual Annealing, Neural Networks, and K-nearest Neighbors
  • Created an intuitive graphical user interface to facilitate use by Registrar staff
  • Created an advanced visualization to allow staff to determine what parameters of the exam scheduler need to be changed to facilitate schedule creation

COOL Compiler

Language: C++, bash
Date: Fall 2015
Description: COOL stands for Classroom Objected-Oriented Language, a language designed by Alexander Aiken at Stanford for teaching students compiler writing. I was part of a team of three that wrote a compiler in C++ for the language, targeting the X86_64 architecture (instead of the specified SPIM architecture). Our compiler extended the COOL language to include floating point as well as integer math, and became the reference implementation for the next semester's compilers class.
Responsibilities: The following is a brief list of my responsibilities in this project:
  • Developed the entire build system, including unit testing, integration testing, and code formatting
  • Responsible for lexing using Flex, specifically the parts related to floating point
  • Generated a parser using Bison
  • Created eneric data structures such as red-black trees and bucketed lists for use in the compiler
  • Developed the majority of the intermediate representation from our compiler's semantic analysis
  • Entirely responsible for converting our intermediate representation to machine code
  • Developed many test cases for testing the compiler against a reference implementation
Achievements:
  • Implemented the entire COOL specification
  • Implemented support for floating point, including assignment, addition, multiplication, and division
  • Implemented support for dynamic scoping, inheritance, and dynamic dispatch
  • Our compiler became the reference implementation for next year's compilers class

Parallel-Enabled Call Graph Analyzer

Language: Python
Date: Fall 2017
Description: This is a project that was designed to help reverse engineers with static analysis of binaries. This project would analyze a disassembled binary, and use branching instructions to split the code into logical code blocks, and create a call graph. The call graph edges were colored to ensure that the user could easily follow the graph based on pass/fail of a test instruction.
Responsibilities: I was responsible for the entirety of the project.
Achievements:
  • Used Graphviz to create a call graph
  • Used multicore processing to greatly speed up execution of analysis
  • Successfully got around Python's global interpreter lock for true parallel execution

Topology Maker

Language: Python
Date: Spring 2017
Description: This is a project that uses traceroute and Graphviz to create a graph representing the physical topology of a network. This project was used in several security audits where multiple laptops were physically placed in multiple areas of a network, and a full network map was required.
Responsibilities: I was responsible for the entirety of this project
Achievements:
  • This project was used to help a new IT administrator visually realize their network topology
  • This project demonstrated to an IT administrator how to change the network topology to eliminate bottlenecks
  • We demonstrated how lax security was in a security audit, and how segmenting a network could enhance access control

Multi-Topology Network Simulator

Language: Java
Date: Fall 2012
Description: This project was part of a class on Networking and Data Communications. It is a network simulator designed to move data over several different physical topologies simulated using Java sockets.
Responsibilities: I was responsible for the entirety of this project.
Achievements:
  • Created a simple token ring network that moved data in predictable fashion, including a monitor node that would remove corrupted packets and ensure token was passing
  • Developed a token bridge that could connect to two independent token ring networks and intelligently move data between the two
  • Developed a reversible token ring, where nodes could learn the topology and elect to change the direction of the token to avoid having to circle the entire ring, and proved its speedup
  • Developed a multi-frame token ring network where multiple nodes could attach data to the same token for increased throughput, and proved its speedup as well
  • Developed a star network with switches that learned where clients were connected, and intelligently passed frames
  • Modified switch class so that trunked stars and star-of-stars topologies could be created

GraFilter

Language: Python
Date: Fall 2016
Description: GraFilter is a project that was developed as part of a Graph Algorithms and Databases class. This project was set up to search for attributes in graphs created in Graphviz, and allow dynamic re-draw and filtering based on attributes of the graph.
Responsibilities: I was responsible for the entirety of this project.
Achievements:
  • Successfully parsed and filtered both directed and undirected graphs based on their attributes
  • Successfully allowed dynamic re-draw of the graph

Personal Interests

Metal Fabrication

A previously certified career welder, I am experienced in many aspects of metal fabrication, including welding, cutting, fitting, and design. I am an accomplished TIG welder, experienced with MIG, Stick, and gas welding, as well as other metalworking machines such as tube notchers and benders, knee mills, and lathes.

3D Printing

Owner of a Prusa i3 MK2S, I am very experienced in the assembly and maintenance of many brands of 3D printers. I am also experienced in designing 3D printed parts, with my creations ending up on many production machines as well as personal projects. My projects include functional gearsets, parametric cases, discontinued part replacement, and lost PLA casting of aluminum parts.

Rock Crawling

Owner of a 1988 Toyota Pickup, I am an experienced rock crawler. I have worked with federal government entities to map over 90 miles of trails in the Gordy's Hill Off-Highway Vehicle Area. Many of the parts you will find on my Toyota are custom made, utilizing my metal fabrication and 3D printing skills. I am also an activist, working with local and federal government to help ensure that our public lands stay available for public use.

Dirtbiking

An ex-Yamaha mechanic, I own several Yamaha dirtbikes that I enjoy both wrenching on and riding. Though never fast or big in the racing world, I enjoy casual riding in properly designated areas. I perform all of my own maintenance, including everything from tire changes to full engine rebuilds.

Sailing

I have a 1972 Clipper Marine 26 foot sailboat that has been in my family for over 40 years. I enjoy being out on the water in the various reservoirs around New Mexico. I really enjoy the peaceful serenity that only a sailboat can provide. On my boat and trailer, you will find a multitude of custom metal and 3D printed parts.