Defending Real-Time Systems Through Timing-Aware Designs