Sii Poland

SII UKRAINE

SII SWEDEN

  • Trainings
  • Career
Join us Contact us
Back

Sii Poland

SII UKRAINE

SII SWEDEN

Back

25.06.2025

Best practices for enhancing embedded systems security

25.06.2025

Dobre praktyki w celu zwiększenia bezpieczeństwa systemów wbudowanych

Many countries are actively working on passing and implementing legal regulations related to embedded systems security. The European Union, together with organizations uniting universities and technology companies, has developed a cybersecurity strategy.

One element of this strategy is the implementation of the EU-RED and EU-CRA directives. The first will come into force on August 1, 2025, and the second will become legally binding in less than three years (a transitional period began in March 2024 and will last 36 months).

This article outlines what to focus on to implement security principles in embedded systems properly.

New legal regulations

The upcoming legal regulations will not only aim to raise the security level of companies as organizations, but will primarily affect the products they offer directly.

The new directives will introduce a range of additional obligations, rules, and principles. Companies creating products will be required to implement and comply with them.

Decision-making processes take time

In most technology companies that design and/or manufacture embedded devices, the decision-making process for implementing various legal regulations takes time. As engineers, we may not always understand why this process is so lengthy. But a company is usually not just one project – it’s a whole list of projects, more or less interconnected.

Complex business processes, intricate design and production workflows, and the need to train personnel all impact the time required to complete such initiatives.

A step toward security

We must understand that new legal regulations and standards will not automatically make our systems secure. The people responsible for implementing and designing the product will play the key role in the entire process. This group includes software engineers, testers, architects, and hardware designers.

By working on current projects, we have already influenced the level of security our products will offer. Of course, implementing all legally required principles without changing the budget, project process, business model, or providing additional training will be very difficult or even impossible.

However, we can start improving the security of our products step by step, while also raising the knowledge and awareness of the engineers responsible for designing and implementing them.

List of practices and actions to improve security

Below are areas and suggested actions that can be implemented in ongoing projects without significantly affecting their timelines. Not all of them will be easy or quick to adopt – it depends on the project’s status and many technical and non-technical factors. Still, they are worth considering today.

Passwords

  • Do not store access passwords in code – hardcoded passwords will eventually become publicly accessible. The inability to change them further complicates matters in case of a leak. Adding a password generation mechanism during device production and storing them in an encoded form makes public exposure more difficult.
  • Do not use the same password for all devices – a single password for all devices or system components means that if it’s leaked, unauthorized individuals can access all devices on the market. Implementing a password generation mechanism per device (e.g., based on serial number or microcontroller ID) is a good practice. Time-limited passwords can also be effective.

Code

  • Start conducting regular code reviews – a second pair of eyes can evaluate the code, assess solutions, and check for security issues or memory leaks, helping avoid many future problems. The time spent on reviews often pays off compared to fixing bugs later.
  • Apply secure coding principles – implement standards like MISRA C or CERT C in newly developed code.

Communication

  • Do not send data in plain text – embedded systems often communicate with other systems or between components. Sending data in plain text without elements like CRC and start/end markers makes it easier to analyze transmissions and detect issues. However, such data can be easily read or altered by unauthorized individuals. Use standardized protocols or encryption to ensure data integrity.
  • Disable all unnecessary network ports – devices may have many unused open ports. Disable all unnecessary ports and services to reduce the attack surface.
  • Use secure protocols for network communication – always use encrypted network protocols to prevent data from being read or modified.
  • Disable unused communication ports – embedded devices often have extra ports for diagnostics, programming, or service functions. Disable all such ports and interfaces in production versions to prevent full device access.

Libraries

  • Monitor vulnerabilities in libraries – external libraries help speed up development but may contain vulnerabilities. Public databases exist where developers and organizations report such issues. Monitor these databases to check if any libraries you use are affected.
  • Disable unused library functions – often, only a subset of a library’s features is used. Disable unused functions during compilation or configuration to reduce potential entry points.

Awareness

  • Protect private and sensitive data – modern embedded systems process large amounts of data, some of which is private or sensitive and a prime target for attackers. Cryptographic algorithms and encryption methods are used to protect this data.
  • Raise team awareness – legal regulations and standards alone won’t secure your device. Engineers must have the necessary knowledge, skills, and awareness. Implementing required features may require additional training time.

The next step toward security

The practices described above are a good starting point for improving the security of the products we work on. The next step will require more engagement and focus on advanced system elements, such as:

  • Software updates and installation
  • Secure data storage
  • Secure communication
  • System analysis and threat modeling
  • Monitoring vulnerabilities in used libraries
  • Creating a secure software development process

Future articles will explore these topics in more technical detail and how to approach their implementation.

job offer

Summary

Properly implementing security principles in embedded systems will undoubtedly be a challenge for many engineers, companies, and organizations. Changing mindsets and workflows will take time and involve many unforeseen tasks. The entire process can be compared to a marathon. But to avoid turning it into a sprint, we must start today.

Remember – your system is only as secure as its weakest component.

***

If you’re interested in embedded systems, check out other articles by our authors.

5/5
Rating
5/5
Avatar

About the author

Marek Natunewicz

With over 14 years of expertise in low-level programming on ARM microcontrollers and DSPs, Marek has a deep understanding of RTOS systems. His experience includes developing software for office and home automation, fire protection systems, and portable measuring instruments. Currently, he focuses on designing and implementing security solutions for embedded devices. Marek is a seasoned trainer, speaker at industry meetups and webinars, and an author of technical articles

All articles written by the author

Leave a comment

Your email address will not be published. Required fields are marked *

You might also like

Join our team

See all job offers

Show results
Join us Contact us

Ta treść jest dostępna tylko w jednej wersji językowej.
Nastąpi przekierowanie do strony głównej.

Czy chcesz opuścić tę stronę?