ISaFe - Injecting Security Features into Constrained Embedded Firmware