MATLAB, Simulink, and Polyspace help to protect your systems and data from adverse external events. You can use these products for your cybersecurity practices to prevent operational, financial, safety, and privacy attacks from impacting system users.
With MATLAB, Simulink, and Polyspace, you can design and maintain secure embedded systems. These products enable you to:
- Identify assets, threats and risks with a model-based approach
- Verify the effectiveness of your security architecture
- Build security into your system
- Identify potential vulnerabilities early in the software development life cycle
- Use analytic methods to increase confidence in your design
- Detect attacks on your system
- Develop updates in response to new threats
Building Secure Systems with MATLAB, Simulink, and Polyspace
Analyze Security Threats and Estimate Risks
Build or re-use architectural models to identify assets and discover threats that could apply to your system. Estimate the feasibility, impact, and risk of attacks and receive feedback where information is missing. Use dominance analysis to focus on the driving risk factors and validate your risk treatment decisions. Define countermeasures and allocate security goals to your architecture to share the security requirements with your engineers, and to track implementation status. See the impact of changes and keep risk data and models consistent via traceability between architecture, risk data, and countermeasures.
Manage Cybersecurity Goals with Full Traceability
Capture your system-level security architecture, and allocate your security goals. Author and manage requirements together with your architecture, designs, generated code, and test artifacts. The digital thread lets you keep your design consistent, identify implementation or testing gaps, and achieve full traceability from high-level requirements to implementation. Quickly understand the impact of a design change and generate verification and validation reports for audits.
Secure Modeling and Code Generation
Run early checks on your model to avoid blocks that conflict with security modeling aspects and set up the code generator for maximum compliance levels. Find and fix vulnerabilities early with formal methods, before code is generated. Update and deploy your implementation with efficient and secure code generation.
Analyze Your Code for Vulnerabilities and Compliance Issues
Assess the security of your C/C++ source code without relying on human experts and code reviews. With Static Application Security Testing (SAST), developers can check compliance to the latest secure coding standards (CERT® C and CERT C++) and avoid weak patterns (CWEs) early during the software development lifecycle. Extended security checks can spot tainted data, incorrect use of cryptographic libraries, and confidentiality issues. Analyze the robustness of your software and prove memory safety and the absence of critical vulnerabilities with code analysis based on formal methods.
Identify and Assess Vulnerabilities
Model and simulate attacks on your system without requiring the hardware. Combine reinforcement learning and digital twins to generate attacks on your system and identify vulnerabilities. Identify impacted functionalities with Model Slicer. Run automatic hardware-in-the-loop (HIL) tests to observe the effects of specific inputs on your system.
Detect Attacks on Your Embedded System
Learn how to apply machine learning to implement an intrusion detection system (IDS) against spoofing. Protect your control loops against replay attacks and man-in-the-middle attacks with dynamic watermarking. Identify and deflect network attacks with linear algebra and machine learning.
Add and Verify Countermeasures
Prevent and mitigate remaining weaknesses with robust design, state-of-the-art detection mechanisms, and security controls. Implement secure state estimation to add resilience against spoofing attacks on your system inputs. Leverage neural networks to enhance the robustness of image classification algorithms against adversarial attacks. Train an attack agent with reinforcement learning and simulate attacks to verify the effectiveness of your countermeasures.
Comply with Industry Standards
Automate verification of models and code to fulfill requirements from cybersecurity standards such as ISO/SAE 21434, IEC 62443, DO-326/DO-356 and the EU Cyber Resilience Act. The IEC Certification Kit provides an overview of how to apply MATLAB, Simulink, Polyspace, and add-on products to ISO/SAE 21434, in addition to functional safety standards (ISO26262, IEC 61508). The kit helps you to build and qualify your development process for safe and secure embedded systems.
Learn More
Automate Security Checks
Automate your processes to ensure consistent and efficient security checks throughout development and operations. Set up a continuous integration (CI) pipeline for your models to automatically test changes and generate secure code. Frequently scan your code base for vulnerabilities, on every commit, and generate compliance reports.