Software Developer – Security Attack Test Benches
Job Summary
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.
Qualifications :
Bachelors or Masters 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
The field of security evaluation is very broad constantly on the move and very exciting. We look forward to welcoming you to our team!
Remote Work :
No
Employment Type :
Full-time
About Company
We are SGS the world's leading testing, inspection and certification company. We are recognized as the global benchmark for sustainability, quality and integrity. Our 99,600 employees operate a network of 2,600 offices and laboratories, working together to enable a better, safer and ... View more