  In recent years, there has been a shift in computing architectures, moving
away from centralized cloud computing towards decentralized edge and fog
computing. This shift is driven by factors such as the increasing volume of
data generated at the edge, the growing demand for real-time processing and
low-latency applications, and the need for improved privacy and data locality.
Although this new paradigm offers numerous advantages, it also introduces
significant security and reliability challenges. This paper aims to review the
architectures and technologies employed in fog computing and identify
opportunities for developing novel security assessment and security hardening
techniques. These techniques include secure configuration and debloating to
enhance the security of middleware, testing techniques to assess secure
communication mechanisms, and automated rehosting to speed up the security
testing of embedded firmware.
