Securing third-party code and components
Following the setup of the toolchain, it is important to ensure that the software packages and third-party upstream libraries remain updated to protect against publicly known vulnerabilities once the IoT device is in production. Black box third-party software such as RomPager, NetUSB, and embedded build tools such as Buildroot, should be checked against vulnerability databases as well as their changelogs to decide when and if an update is needed. using upstream BSP drivers is not an easy task; changes to libraries and upstream BSP drivers should be tested by development teams prior to release builds, as updates can cause unforeseen dependency issues.
Embedded projects and applications should maintain a Bill of Materials (BOM) of the third-party libraries and open source software included in its firmware images. This is sometimes a requirement for certain regulated regions of the world and also for GPL but maintaining a BOM also improves management...