Protection of RTOS
SECURITY AND PROTECTION OF RTOS
With the rapid growth of the IoT and the number of new devices being developed to take advantage of it, it’s becoming more and more likely that you will consider using an RTOS in the near future. But before you come in use with RTOS technology, you have to be CAREFUL and SECURE about your devices and protect your devices from the Hackers. The remainder of this article will explore you from the CYBER ATTACKs and keep protected YOURSELF.
Firstly, what actually a RTOS is?
Real-time operating system (RTOS) is an operating system intended to serve real time application that process data as it comes in, mostly without buffer delay. RTOS are used in environments where a large number of events, mostly external to the computer system, must be accepted and processed in a short time or within certain deadlines. such applications are industrial control, telephone switching equipment, flight control, and real-time simulations. With an RTOS, the processing time is measured in tenths of seconds. This system is time-bound and has a fixed deadline. The processing in this type of system must occur within the specified constraints. Otherwise, This will lead to system failure.
Examples of the real-time operating systems: Airline traffic control systems, Command Control Systems, Airlines reservation system, Heart Peacemaker, Network Multimedia Systems, Robot etc.
Any access must be authorized, users accessing must have the least privileges necessary – for all services. If command line shell access is required, for example, ensure it is secure, password-protected and the user privilege level is as low as possible. The use of privilege levels gives the RTOS a tool for preventing malicious programs from seriously affecting system operation.
Usage of Secure Communication Channels
IPSec, SSH, SSL or VPN access should be used as appropriate for all methods of communication. Assume data transmission can and will be intercepted and it is better to assume that all data is sensitive.
Insecure services such as Telnet or TFTP should be disabled. RTOS system should support more secure alternatives such as SSH and SFTP.Disallow Insecure Services
Disable Debug Services
Debug services should be disabled when the RTOS system is in operation, if possible. Otherwise, ensure that there are security controls in place to secure it. Debug services are meant for device development and enable full access to the RTOS, memory and devices. Removing the debug agent is recommended.Memory Protection via Memory Management Unit (MMU)
This protection leverage real time processes (RTPs) instead of kernel-level tasks. Most RTOS provide POSIX-compatible user-level processes and threads that can be used for application coding. Memory protection and isolation from the kernel-mode operation provides a layer of protection against malicious code.Secure Boot Loading and Execution
Securing the boot image is an important step to secure the RTOS system. RTOS system should have the capability to verify authenticity of boot loader and also secure mechanism in place to prevent and detect tampering of boot image.Residual Information Protection
The system should have a residual information protection security feature in place which ensures that whenever a resource is allocated or freed, the content of the resource can be made unavailable to others’ processes. A secure RTOS makes user memory and file-system data unavailable to others when it is freed, resulting in a more secure system. Whenever a file-system object is removed, all the blocks allocated to that file-system object will be filled with zeros.
SOLUTION
Modern RTOS have network firewall capabilities and any device with a network connection should run with a firewall in place. Firewalls are standard practice for desktop and server systems — embedded devices are increasingly connected to the same networks as larger-scale devices. The firewall should only allow communication via required TCP/IP ports — a firewall is a good first line of defense against network attacks. The firewall ensures all non-essential ports and services are closed off and only allows ports that are specifically configured to be open and available for connection.
Quotas are a security control that’s implemented to guard the device from running out of disk, memory, or CPU. As an example, if a DDOS attack is formed against the RTOS system with the intent of overusing the CPU, an unprotected device could essentially appear to freeze up. By being able to set limits on the number of critical resources –such as CPU — a task is able to consume, the overall system is protected from such an attack.
RTOS system should have capabilities to store data securely using techniques such as encryption and partitioning. No assumptions should be made about the classification and privacy of data used in RTOS systems.
- Minimize the attack surface: Turn off features, services and access not necessary for most users to reduce the number of attack vectors into the system.
- Least privilege: assigning just enough privilege to an application, task or process to achieve the job at hand. High privilege level that is unnecessarily assigned allows for unwanted access or behavior.
- Defense in depth: rely on more than one layer of defense and do not count on any one layer as providing complete protection.
- Diversity in defense: use different types of defense, different devices, software or vendors.
- Secure the weakest link: as with any system, it’s only as good as its weakest component. Similarly for security the most insecure component, interface or application is the most likely avenue of attack.
- Fail-safe stance: expect vulnerabilities to be found, and expect physical and remote attacks on the system. The embedded system should have capabilities to fail securely when there are unexpected or unintended operations being performed.
- Assume external systems are insecure: do not make assumptions about what other devices the system will be connected to. It is safer to assume that external devices are insecure and that the system is connected to a wide-open network.
- Secure by default: set the default configuration and behavior of the system to be as secure as possible. This includes turning off features, services and access not necessary for most users.
- Simplicity and usability: in general a good design principle. Simpler designs are less likely to have security bugs and vulnerabilities, easier to understand and audit, and easier to test.
Sources:
- https://www.geeksforgeeks.org/real-time-operating-system-rtos/
- https://www.guru99.com/real-time-operating-system.html
- https://www.javatpoint.com/real-time-operating-system
- https://insights.tuv.com/blog/embedded-systems-cybersecurity-foundation-within-the-rtos
- https://swaraj-mane18.medium.com/real-time-operating-system-rtos-security-and-protection-9e217812e5c1
👏👏👏👏
ReplyDeleteDetailed information 👌
ReplyDeleteWell explained!!
ReplyDelete👏👏👏
ReplyDeleteNicely Explained
ReplyDeleteGood work
ReplyDeleteVery informative 👏👏
ReplyDelete