Only pay for what you need: Detecting and removing unnecessary TEE-based code

dc.contributor.authorLiu, Yinen
dc.contributor.authorDhar, Siddharthen
dc.contributor.authorTilevich, Elien
dc.date.accessioned2023-01-23T13:29:55Zen
dc.date.available2023-01-23T13:29:55Zen
dc.date.issued2022-06-01en
dc.date.updated2023-01-20T21:36:48Zen
dc.description.abstractA Trusted Execution Environment (TEE) provides an isolated hardware environment for sensitive code and data to protect a system's integrity and confidentiality. As we discovered, programmers tend to overuse TEE protection. When they place non-sensitive code in TEE, the trusted computing base (TCB) grows unnecessarily, leading to long execution latencies and large attack surfaces. To address this problem, we first study a representative sample of open-source projects to uncover how TEE is utilized in real-world software. To facilitate the process of removing non-sensitive code from TEE, we introduce TEE Insourcing, a new type of software refactoring that identifies and removes the unnecessary program parts out of TEE. We implemented TEE Insourcing as the TEE-DRUP framework, which operates in three phases: (1) a variable sensitivity analysis designates each variable as sensitive or non-sensitive; (2) a TEE-aware taint analysis identifies non-sensitive TEE-based functions; (3) a fully-declarative program transformation automatically moves these functions out of TEE. Our evaluation demonstrates that our approach is correct, effective, and usable. By deploying TEE-DRUP to discover and remove the unnecessary TEE code, programmers can both reduce the TCB's size and improve system performance.en
dc.description.versionAccepted versionen
dc.format.extent16 page(s)en
dc.format.mimetypeapplication/pdfen
dc.identifierARTN 111253 (Article number)en
dc.identifier.doihttps://doi.org/10.1016/j.jss.2022.111253en
dc.identifier.eissn1873-1228en
dc.identifier.issn0164-1212en
dc.identifier.orcidTilevich, Eli [0000-0003-2415-6926]en
dc.identifier.urihttp://hdl.handle.net/10919/113352en
dc.identifier.volume188en
dc.language.isoenen
dc.publisherElsevieren
dc.relation.urihttp://gateway.webofknowledge.com/gateway/Gateway.cgi?GWVersion=2&SrcApp=PARTNER_APP&SrcAuth=LinksAMR&KeyUT=WOS:000783133900015&DestLinkType=FullRecord&DestApp=ALL_WOS&UsrCustomerID=930d57c9ac61a043676db62af60056c1en
dc.rightsIn Copyrighten
dc.rights.urihttp://rightsstatements.org/vocab/InC/1.0/en
dc.subjectTEEen
dc.subjectProgram analysisen
dc.subjectCode transformationen
dc.subjectSTATIC ANALYSISen
dc.titleOnly pay for what you need: Detecting and removing unnecessary TEE-based codeen
dc.title.serialJournal of Systems and Softwareen
dc.typeArticle - Refereeden
dc.type.dcmitypeTexten
dc.type.otherArticleen
dc.type.otherJournalen
pubs.organisational-group/Virginia Techen
pubs.organisational-group/Virginia Tech/Engineeringen
pubs.organisational-group/Virginia Tech/Engineering/Computer Scienceen
pubs.organisational-group/Virginia Tech/All T&R Facultyen
pubs.organisational-group/Virginia Tech/Engineering/COE T&R Facultyen

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
TEEInsourcingJSS[1].pdf
Size:
756.91 KB
Format:
Adobe Portable Document Format
Description:
Accepted version