![Page 1: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/1.jpg)
HardwareTrojansHiddeninRTLDon’tCares-AutomatedInser9onandPreven9onMethodologies
NicoleFernShrikantKulkarni
Kwang-Ting(Tim)Cheng
UCSantaBarbara
1
![Page 2: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/2.jpg)
MainContribu9ons
• ProposeanovelTrojantypeu9lizingRTLdon’tcarestoleakinternalcircuitnodevalueswithoutchangingoriginalcircuitfunc9onality
• FormulateanautomatedTrojaninser9onandpreven9onmethodology
• ApplymethodologytoanEllip9cCurveprocessorwithover500don’tcarebits
2
![Page 3: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/3.jpg)
HardwareTrojans
• Maliciouscircuitryinsertedinthehardwaredesign
• Canbeinsertedbyanypartywithaccesstothedesign!
• Goals:leakinforma9on,inducefaults,chipfailure,gainrootprivileges,etc.
3
![Page 4: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/4.jpg)
TrojanClasses
1. Thelogicfunc9onsofsomedesignsignalsarealtered,systemspecifica9onsareviolated
2. TheTrojanleaksinforma9onthroughside-channels
3. Thelogicfunc2onsofonlythosedesignsignalswhichhaveunspecifiedbehaviorarealteredtoaddmaliciousfunc2onalitywithoutviola2ngsystemspecifica2ons
4
![Page 5: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/5.jpg)
ThreatModel
• AtRTorgatelevel,assignvaluesor9eotherinternaldesignsignalstoRTLdon’t-carestoaccomplishmaliciousfunc9onality
• MaliciousCADtool,disgruntledemployee,anyonewithaccesstomodifyRTLornetlist
• PerfectequivalencecheckercannotdetectthisTrojantype!
5
![Page 6: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/6.jpg)
PriorWork
• IPwatermarkingbyembeddinginforma9onintheassignmentofdon’tcarevalues1
• Trojansexploi9ngincompletelyspecifiedstatetransi9onandoutputfunc9ons2
1. G.QuandL.Yuan.SecureHardwareIPsbyDigitalWatermark.InIntroduc9ontoHardwareSecurityandTrust,pages123–141.SpringerNewYork,2012.
2. C.DunbarandG.Qu.DesigningTrustedEmbeddedSystemsfromFiniteStateMachines.ACMTransac9onsonEmbeddedCompu9ngSystems(TECS),2014.
6
![Page 7: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/7.jpg)
Example1
Whencontrol==2’b11,wecanleakthekey!
7
![Page 8: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/8.jpg)
Example1
The4don’tcarebitsaredangerousbecause:
1. Thedon’tcaresarereachable2. Aprimaryoutput(whichtheaeackercan
observe)differsdependingonthevalueofthedon’tcarebits
8
![Page 9: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/9.jpg)
Sowhynotsimplyremovealldon’tcaresfromtheVerilogcode?
Don’tcareshavebeenusedforlogicop9miza9onforseveraldecades!
R.Bergamaschietal.Efficientuseoflargedon’tcaresinhigh-levelandlogicsynthesis.InICCAD,Nov1995.
9
![Page 10: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/10.jpg)
Example2
TruncatedCounter
10
![Page 11: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/11.jpg)
Example2
Unreachabledon’tcares
Reachable,butonly1bitcanpropagatetooutput
Whencounter=100andcontrol=11:
1 xx1
tmp<=data^1x00
100
xx1100&
x00
XPropagatesXBlocked 11
![Page 12: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/12.jpg)
Ellip9cCurveProcessor(ECP)• ComputesG=[k]P,where[k]isP“mul9plied”byitselfk9mes• DifficulttodeterminesecretkonlyknowingGandP
C.RebeiroandD.Mukhopadhyay.HighPerformanceEllip9cCurveCrypto-processorforFPGAPlarorms.In12thIEEEVLSIDesignAndTestSymposium,2008.
12
![Page 13: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/13.jpg)
Don’tCaresinControlUnit
• Duringeachofthe38states,controlsignalscwl[9:0]andcwh[22:0]areassigned
• Replacingdon’tcareswith0’sleadstoan8%areaincrease!
CodesnippetfromControlUnit(ecsmul.v)
cwh[7:4]areX!
13
![Page 14: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/14.jpg)
TheECPTrojan• DuringState15:• AddressforRegisterBank2isunknown!• WriteenableforRegisterBank2isunknown!
CodesnippetfromRegisterBankControl(regbank.v) 14
![Page 15: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/15.jpg)
TheECPTrojan
sxandsyareprimarycircuitoutputs!
Codesnippetfromtoplevelmodule
15
![Page 16: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/16.jpg)
AutomatedInser9on/Preven9onMethodology
16
![Page 17: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/17.jpg)
GoalofMethodology
• Classifyeachdon’tcareasdangerousorsafe• Dangerousdon’tcarescauseachangeinobservablesignalsbasedoniftheyare0or1
• Compare2versionsofthedesigneachwithdifferentassignmentsofthedon’tcarebits
17
![Page 18: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/18.jpg)
EquivalenceCheckingFormula9on• MikeTurpinproposesusingsequen9alequivalencecheckingtocomparethesamedesignwithitself(withdifferentdon’tcarevaluesinthe2versions)
• Forscalabilityreasons,were-formulateintermsofcombina2onalequivalencecheckingand“statereachability”
M.Turpin.SolvingVerilogX-IssuesbySequen9allyComparingaDesignwithitself.You’llnevertrustunixdiffagain!InSNUG,2005.
18
![Page 19: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/19.jpg)
EquivalenceCheckingFormula9on
dci
dcj
a y
dch...
dck...
...
... ...
...
PIs
PPIs
POs
PPOs
C
Q D
Q D
Q D
...
19
![Page 20: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/20.jpg)
EquivalenceCheckingFormula9on1. Makealldon’tcarebitsprimaryinputs2. Create2copiesofthecircuitwheredci=0anddci=13. CheckifC0andC1areequivalent
a y
a y
XOR
{PIs, PPIs}
{dc0, dcj,…, dcn-1}
{POs, PPOs}
C0
C1
z
dci=0
dci=1
20
![Page 21: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/21.jpg)
ExcludingUnreachableStates• Counterexamplecancontainanunreachablestate• Lextractedusingstatedesignknowledge,dead-code
analysisorreachabilityanalysis
a y
a y
XOR
{PIs, PPIs}
{dc0, dcj,…, dcn-1}
{POs, PPOs}
C0
C1
z
dci=0
dci=1XOR
w
Logic Function L
PPIs 1 if state is unreachable
21
![Page 22: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/22.jpg)
MethodologyAppliedtoECP
• 572primaryinputbits,467primaryoutputbits,and11232stateelements
• 538don’tcarebits– 282:bitsincwlandcwhduringstates0−38– 33:bitsincwlandcwhduringcasedefault– 233:casedefaultinthequadblkmodule
• YosysusedtotransformVerilogintoBLIF• ABCusedforcombina9onalequivalencechecking
22
![Page 23: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/23.jpg)
Classifica9onofDon’tCares
23
![Page 24: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/24.jpg)
Dis9nguishingClasses1and2
• AtrentaSpyglassToolusedtoperformcodereachabilityfordon’tcaresinRows4-6– NoAssignX-ML:Iden9fiesdon’tcaresonRHSofassignment
– Av_dontcare01:Iden9fiesreachablexassignments
• Row7don’tcaresreachable,butpropaga9oncondi9onneversa9sfiedforStates1-38– NeedformalpropertycheckertoconfirmRow7don’tcaresaresafe
24
![Page 25: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/25.jpg)
TrojanPreven9onAreaOverhead• Evenwithoutanalysisdis9nguishingClasses1and2,theareaoverheadismanageablecomparedwithreplacingalldon’tcarebits
• AutomatedanalysisuncoveredboththeECPTrojanaswellas33addi9onalbitswithinforma9onleakagepoten9al
25
![Page 26: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/26.jpg)
Conclusions
• ProposednovelTrojantype• InsertedTrojaninanEllip9cCurveProcessorwhichleaksallkeybitsduringacyclewithunspecifiedcircuitoutputbehavior
• Iden9fieddon’tcaresusedinECPTrojanwithautomatedTrojanpreven9onmethodology
26
![Page 27: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/27.jpg)
Ques9ons?
27
![Page 28: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/28.jpg)
BackupSlides
28
![Page 29: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/29.jpg)
Whyperformequivalencecheckingn9mesinsteadof2nchoose29mes?
• ndon’tcarebits,2npossiblecircuits• Ex.n=2,4possiblecircuits,6comparisons
dc0 dc1 CircuitVersion
0 0 A
0 1 B
1 0 C
1 1 D
dc0dc1==dc0dc1? Ifequivalent:
00v.10 A==C
01v.11 B==D
00v.01 A==B
10v.11 C==D
00v.11 A==D
01v.10 B==C
dc0<-0v.dc0<-1withdc1asPI
dc1<-0v.dc1<-1withdc0asPI
Onlyneedtoperformequivalencecheckingtwice!!29
![Page 30: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/30.jpg)
TypesofRTLX’s• Don’tCares– Synthesistoolisfreetoassign0or1– Valueknownayersynthesis
• Unknowns– Unini9alizedorun-drivensignals– Ex.Flip-flopslackingaknownresetvalueorsignalsinaclock-gatedblock
– Unknownun9lopera9onofactualsiliconM.Turpin.TheDangersofLivingwithanX(bugshiddeninyourVerilog).InSNUG,2003.L.PiperandV.Vimjam.X-propaga2onwoes:MaskingbugsatRTLandunnecessarydebugatthenetlist.InDVCon,2012. 30
![Page 31: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/31.jpg)
X-bugs
• RTLandgate-levelsimula9ondiscrepancies• Unintendedpropaga9onofunknownvalues– Improperresetorpowermanagementsequence
• NormallyX’sincircuitoutputsduringintermediatecomputa9oncyclesarenotbugs,aslongasthefinalresultiscorrect– ToaddressTrojanthreat,noX’smustappearatoutputsduringanycycle
H.-Z.Chouetal.FindingresetnondeterminisminRTLdesigns:ScalableX-analysismethodologyandcasestudy.InDATE,2010. 31
![Page 32: Hardware Trojans Hidden in RTL Don’t Cares - …nicolefern.com/wp-content/uploads/2015/11/ITC...Hardware Trojans Hidden in RTL Don’t Cares - Automated Inser9on and Preven9on Methodologies](https://reader033.vdocument.in/reader033/viewer/2022041507/5e258de077a65453c728b456/html5/thumbnails/32.jpg)
Exis9ngX-analysisTools
• JasperX-prop,AtrentaSpyglass,CadenceIncisive,SynopsysMagellan,etc.
• RTLandgate-levelsimula9ondiscrepancies• Unintendedpropaga9onofunknownvalues– Improperresetorpowermanagementsequence
• NormallyX’sincircuitoutputsduringintermediatecomputa9oncyclesarenotbugs,aslongasthefinalresultiscorrect
32