# A Survey of of Side-Channel Attacks and Mitigation for Processor Interconnects
## 6 Layout-Based Interconnect Side-Channel
### Thermal Management  
Thermal management is critical to the safe and reliable operation of modern computer systems. Many system components, such as hard disk drives, DRAM, GPUs, motherboards, and processor chips, integrate thermal sensors [75]. The pursuit of high performance in modern processors inevitably leads to an increase in chip power density, making it increasingly challenging to ensure the thermal stability of processors. Major processor vendors (such as Intel, AMD, and VIA) integrate thermal sensors in their processor products for real-time monitoring of chip temperature. ARM processors also include on-chip internal thermal sensors for power and temperature management.  
Early thermal management was statically performed in hardware, akin to common circuit protections, mainly involving mechanisms like powering off the processor to prevent melting. However, power-off incurs significant costs to processor performance, leading to the evolution of more sophisticated dynamic frequency and voltage scaling techniques in thermal management, regulating temperature rise by altering processor frequencies [76; 77]. Nowadays, popular thermal management techniques combine both software and hardware approaches, where the operating system polls temperature sensors and uses sensor data to manage cooling mechanisms like processor frequency scaling and fan speed [78].  
Some processor manufacturers specify a maximum junction temperature for their products, representing the highest temperature at which the processor can operate safely. Exceeding this threshold may cause irreversible silicon damage to the processor. To avoid such scenarios, some processor manufacturers integrate a Digital Thermal Sensor (DTS) into each core of the processor to monitor processor temperature. Each DTS records the difference between the current temperature of the processor core and its maximum junction temperature [79], with the absolute value of this difference representing the current temperature of the processor core in Celsius. The accuracy of DTS varies across different processor products, with Intel's DTS typically having a resolution of \(\pm 1\)\({}^{\circ}\)C.  
There is a recent trend towards opening up thermal management data to users. Some operating systems allow users to implement customized thermal management strategies based on actual application needs; for example, newer Linux systems permit users to configure thermal policies [80; 81]. This user-centric thermal management philosophy aims at personalized and maximized utilization of processor performance but also provides opportunities for thermal-channel-based side-channel and covert-channel attacks. For instance, thermal data from DTS can be read from specific CPU registers of the corresponding core; in Linux systems, data from all sensors is exposed using the coretemp kernel module [82]. This information can be accessed from user space through the sysfs file system refreshed every 2 milliseconds.  
Furthermore, different processor vendors and series typically have different thermal sensor topologies. For example, Intel and VIA processors use distributed sensors to monitor temperature data for each core, while AMD processors (such as the Opteron K10 series) only allow monitoring of the overall chip temperature using sensors within the processor socket [82]. Optimizing the number and topology of thermal sensors on processors remains an active research topic [83; 84].