High Precision Laser Fault Injection using Low-cost Components.
Style | Friendly | Hostile | Neutral | Unknown |
---|---|---|---|---|
Fill on | ||||
Monochrome (for digital media) | ||||
Monochrome (for print media) |
// Unprotected var Flag = FALSE func test() ... if (Flag == TRUE) return SecretOp() else return EXPECTED end func SecretOp() ... return SECRET end
// Double Test ... if (Flag == TRUE) if (Flag == TRUE) return SecretOp() else TRAPPED else return EXPECTED
// Retest in Target func SecretOp() if (Flag == TRUE) ... return SECRET else TRAPPED end
// Inverse Test ... if (Flag == TRUE) if (Flag != TRUE) TRAPPED else return SecretOp() else return EXPECTED
// Double Data ... if ((FlagA == FALSE) && (FlagB == FALSE)) return EXPECTED elseif ((FlagA == TRUE) && (FlagB == TRUE)) return SecretOp() else TRAPPED
// Inverse data ... if (Flag != ~InvFlag) TRAPPED elseif (Flag == TRUE) return SecretOp() elseif (Flag == FALSE) return EXPECTED else TRAPPED
// Checksum over data ... CrcVerify_TrapOnError() ... if (Flag == TRUE) return SecretOp() else return EXPECTED
// Redundant Representation const STRUE = 0xA5 const SFALSE = 0xA7 ... if (Flag == STRUE) return SecretOp() elseif (Flag == SFALSE) return EXPECTED else TRAPPED
// Repeated Calculation ... u16 nTmp1 = SecretOp() u16 nTmp2 = SecretOp() if (nTmp1 != nTmp2) TRAPPED else return nTmp2;
// Modified & Compensated ... Tmp1 = Calculation(Rnd1) Tmp2 = Calculation(Rnd2) Tmp3 = Clear(Tmp1, Rnd1) Tmp4 = Clear(Tmp2, Rnd2) if (Tmp3 != Tmp4) TRAPPED else return Tmp3
// Alternative Algorithm ... Tmp1 = Method1() Tmp2 = Method2() if (Tmp1 != Tmp) TRAPPED else return Tmp2
// Inverse Calculation ... Tmp1 = Method(Input) Tmp2 = InvMethod(Tmp1) if (Input != Tmp2) TRAPPED else return Tmp1
// Jump ID func ProtectedFn() if (!IdVerify(CALL_F)) TRAPPED else ... IdSet(RET_F) return Result end ... IdSet(CALL_F) Val = ProtectedFn() if (IdVerify(RET_F)) TRAPPED else return Val
// Waymark - Late Test WM = IV ... WM += M1 ... WM += Mx ... if (WM != IV+M1+...Mx) TRAPPED else return nRetVal
// Waymark - On the fly func Waymark(n) if (n != nNextWM) TRAPPED else nNextWM++ end ... Waymark(10) ... Waymark(11) ... Waymark(12) return Result
-------------------------------------
// Hybrid Defense func Calculation(WP) Waymark(WP) ... Waymark(WP+1) return EXPECTED func TestEQ(WP, V1, V2) Waymark(WP) return (V1 == V2) ... A = Calculation(1) B = Calculation(3) if (TestEQ(5, A, B)) if (TestEQ(6, B, A)) Waymark(7) return A TRAPPED
https://pure.royalholloway.ac.uk/ws/files/38226452/00_AfforableLaserAttacks.pdf
https://drive.google.com/file/d/1c218i0LF0bRlonn12TD0wcDzM8z9I3-m/view?usp=sharing
------------
handheld/drone package and satellite incoming:
RAM OS takeover and firmware reflashing for military device takeover
-----------
https://barleysarthistory.blogspot.com/2024/09/remote-control-of-enemy-systems.html
https://barleysarthistory.blogspot.com/2024/08/block-chain-technology-government.html
Remote adjustment utilizing existing infrastructure