Rosita
- Uses an emulator to detect leakage due to unintended interatctions between values
- Rewrites the code to eliminate the leakage.
- A code rewrite engine that uses a leakage emulator which we amend to correctly emulate the micro-architecture of a target system.
๋์ ์์คํ ์ ๋ง์ดํฌ๋ก ์ํคํ ์ฒ๋ฅผ ์ฌ๋ฐ๋ฅด๊ฒ ์๋ฎฌ๋ ์ดํฐ๋ก ์์ ํ๊ธฐ ์ํด ๋ฆฌํฌ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ๋ ์ฝ๋ ์ฌ์์ฑ ์์ง์ด๋ค.
- AES, ChaCha, Xoodoo๋ฑ์ ์ ์ ํจ๋ํฐ๋ก protected maskํ์๋ค.
Uniformed distributed โ> only proven secure attack
- many chiperโs implementations employ masking techniques that combine intermediate values with randomly selected masks.
- โ> the mask being uniformed distributed
- To fix this leaks
repeatedly "Tweak the code until it stops leaking
๋ฐ๋ณต์ ์ผ๋ก ๋์ถ์ด ๋ฉ์ถ ๋๊น์ง ์ฝ๋๋ฅผ ์์ ํ๋ค.
- We have set out to explore if leakage emulators can be used for automatic elimination of side channel leakage from software implemenations
์ํํธ์จ์ด ๊ตฌํ์์ ์ฌ์ด๋ ์ฑ๋ ๋์ถ์ ์๋์ผ๋ก ์ ๊ฑฐํ๊ธฐ ์ํด ๋์ถ ์๋ฎฌ๋ ์ดํฐ๋ฅผ ์ฌ์ฉํ ์ ์๋์ง ์กฐ์ฌํ๊ธฐ ์ํด ์ฐฉ์ํ์ต๋๋ค.
-
Code rewrite program: โROSITAโ + Extended leakage emulator: โELMOโ
ROSITA
- rule-driven code rewrite engine.
- uses output from ELMO*
- to select rewrite rules and apply them at leaky points
-
- incorporates rules to mitigate leakage arising from operand interactions, register reuse, rotation operation, and memory operations.
-
ํผ์ฐ์ฐ์ ์ํธ ์์ฉ, ๋ ์ง์คํฐ ์ฌ์ฌ์ฉ, ํ์ ์ฐ์ฐ ๋ฐ ๋ฉ๋ชจ๋ฆฌ ์์ ์์ ๋ฐ์ํ๋ ๋์ถ์ ์ํํ๊ธฐ ์ํ ๊ท์น์ ํตํฉํฉ๋๋ค
ELMO
has undergone a major upgrade to ELMO* for two reasons:- Only detect leakage between consecutive instructions โ> Detact leakage between instructions that are further apart.
- Only instructions โ> Identify the accurate leagkage model
- Modify the workflow in ELMO to perform repeatly
- It had to be able to tell ROSITA the cause of the leakage
-
ROSITA์๊ฒ leakage์ ์์ธ์ ์๋ ค์ค ์ ์๋ ๊ธฐ๋ฅ
- We have added support by including the values that instructions store in various micro-architectural storage elements, which hold state that can leak information.
-
์ถ๊ฐ์ ์ธ micro-architectural storage elemnets์์ leakage์ ๋ํ ๊ฐ์ ํฌํจํจ์ผ๋ก์จ ์ง์์ ์ถ๊ฐํจ
Contribution
- Propose a framework for generating first-order leakage resilient implementations of masked cipher.
- Design and implement systematic approaches for identifying leakage through microarchitectural storage elements. (ELMO ->ELMO*)
- Develop ROSITA that rewrites leaking instructions and eliminate leakage.
- USE ROSTIA โ> Result: AES,ChaCha,Xoodoo