Software Developer - Security Attack Test Benches

SGS
Sant Cugat del Vallès, Spain
yesterday

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Sant Cugat del Vallès, Spain

Tech stack

C
Java
Microsoft Windows
Software System Penetration Testing
Build Automation
Computer Security
Nvidia CUDA
Computer Programming
Continuous Integration
Linux
Fuzz Testing
General-Purpose Computing on Graphics Processing Units
Java Native Interface
Python
Maven
NetBeans
Software Architecture
Real-Time Operating Systems
RSA (Cryptosystem)
Secure Coding
Smart Cards
Software Construction
Software Engineering
Software Requirements Analysis
Virtualization Technology
Cloud Platform System
PIC Microcontroller
Cyber Threat Analysis
GIT
Material Design
Information Technology
Hardware Infrastructure
Software Version Control
Docker
Vulnerability Analysis

Job description

We are seeking a Software Developer to design, develop, and maintain security attack test benches used to evaluate the resilience of software, embedded systems, networks, and connected products against cybersecurity threats. The test systems focus on side-channel analysis, fault injection testing, and security protocol validation for secure products and cryptographic implementations.

Gather the product requirements

The engineer will analyze the existing test bench architecture, interact directly with users (security evaluators and researchers), and translate operational needs into new features and functional requirements.

Develop new features

The developer will translate defined requirements and system specifications into robust, maintainable, and efficient Java code, ensuring proper integration within the existing architecture. This includes extending and modifying system components, integrating new lab instruments into the tool, developing new modules, and delivering features that meet user needs while adhering to established coding standards, software engineering best practices, and quality expectations.

In addition, the developer will use the C programming language to design and implement secure test applications running on the evaluated products or other hardware components.

Validate the product release

The developer will also be responsible for extending, executing and validating tests on the test bench product to ensure that implemented features meet functional, performance, and security requirements.

The developer will create and maintain CI/CD scripts and pipelines to automate build, integration, testing, and deployment processes, ensuring consistent software delivery abd improved reliability.

Document the changes

The developer will also be responsible for documenting system requirements, software architecture, and technical specifications in a clear and structured manner. This includes maintaining up-to-date documentation of the existing test bench architecture, capturing design decisions, and ensuring that newly defined features and functional requirements are properly specified and traceable.

Requirements

Do you have experience in Windows?, Do you have a Master's degree?, Bachelor's or Master's degree in Computer Science, Software Engineering, or related field.

  • Proactive attitude with a strong motivation to learn about cybersecurity analysis and attack techniques
  • Strong programming skills in:
  • Java
  • C (for microcontrollers and RTOS)
  • Experience with Maven
  • Experience building and maintaining Swing-based UI components
  • Experience with Windows and Linux-based development environments.
  • Experience and motivation to work with protocols and byte-level programming
  • Experience with version control systems such as Git.

Desired Skills

Familiarity with penetration testing concepts and vulnerability assessment.

  • Knowledge of cybersecurity testing methodologies
  • Familiarity with penetration testing concepts and vulnerability assessment.
  • Knowledge of secure coding practices and threat modeling.
  • Experience working with NetBeans Platform framework
  • Experience working with Java Native Interface
  • Experience communicating with lab instruments
  • Smartcard / NFC knowledge
  • Docker, virtualization, or cloud environments.
  • Fuzz testing, Fault injection and Side channel attacks implementation
  • Working knowledge of common cryptography algorithms such as AES, DES, RSA, SHA, etc.
  • Experience working with CUDA/GPU Computing
  • Programming skills in:
  • Python
  • Go or Rust

About the company

SGS Brightsight is the world's largest independent security evaluation lab, with accredited facilities across the globe. Our teams in Delft (The Netherlands), Barcelona and Madrid (Spain), Meyreuil (France), Beijing, Shanghai and Guangzhou (China), Singapore, and the USA are dedicated to helping companies ensure their products comply with the latest security regulations and requirements. With over 35 years of experience in evaluating IT products across various industries, we work at the forefront of security, evaluating products against stringent governmental and private standards.

Apply for this position