Starije izmjene na obje strane
Starija izmjena
Novija izmjena
|
Starija izmjena
|
racfor_wiki:blockchain:rowhammer_napad [2020/01/08 10:29] bnovkovic [Struktura DRAM memorijskih modula] |
racfor_wiki:blockchain:rowhammer_napad [2024/12/05 12:24] (trenutno) |
|jmp code1a|Preusmjerava tok izvođenja programa nazad na prvu naredbu u tablici| | |jmp code1a|Preusmjerava tok izvođenja programa nazad na prvu naredbu u tablici| |
| |
Adrese **X** i **Y **posebno su odabrane da odgovaraju nizovima ćelija unutar istog //bank//-a kako bi memorijski kontroler morao ispoštovati proceduru čitanja i "zatvaranja" niza ćelija. Nakon pokretanja navedenog programa kroz više milijuna iteracija, autori su primjetili veliku količinu ćelija čiji je sadržaj promijenjen. Kako bi produbili razumijevanje o ovoj vrsti napada, autori su testirali 129 **DRAM **modula od tri neimenovana proivođača. Testiranja su ispitivala učestalost promjene sadržaja ćelija u ovisnosti o tri parametra: | Adrese **X** i **Y **posebno su odabrane da odgovaraju nizovima ćelija unutar istog //bank//-a kako bi memorijski kontroler morao ispoštovati proceduru čitanja i "zatvaranja" niza ćelija. Nakon pokretanja navedenog programa kroz više milijuna iteracija, autori su primijetili veliku količinu ćelija čiji je sadržaj promijenjen. Kako bi produbili razumijevanje o ovoj vrsti napada, autori su testirali 129 **DRAM **modula od tri neimenovana proizvođača. Testiranja su ispitivala učestalost promjene sadržaja ćelija u ovisnosti o tri parametra: |
| |
- Aktivacijski interval - vrijeme čekanja između ponovnog adresiranja niza ćelija | - Aktivacijski interval - vrijeme čekanja između ponovnog adresiranja niza ćelija |
- Uzorak podataka - inicijalni sadržaj ćelija prije nego što se test pokrene | - Uzorak podataka - inicijalni sadržaj ćelija prije nego što se test pokrene |
| |
Utvrđeno je da broj uočenih pogrešaka pada sa rastom aktivacijskog intervala, a raste sa povećanjem intervala osvježavanja. \\ Autori navode da na svakih 10^9 ćelija otprilike 10^5 ćelija promijene sadržaj tokom provođenja testova te da je otprilike 70% testiranih ćelija promijenilo sadržaj prilikom svih provođenja testova. | Utvrđeno je da broj uočenih pogrešaka pada s rastom aktivacijskog intervala, a raste s povećanjem intervala osvježavanja. \\ Autori navode da na svakih 10^9 ćelija otprilike 10^5 ćelija promijene sadržaj tijekom provođenja testova te da je otprilike 70% testiranih ćelija promijenilo sadržaj prilikom svih provođenja testova. |
| |
\\ | \\ |
===== Obrana od napada Rowhammer ===== | ===== Obrana od napada Rowhammer ===== |
| |
Napad Rowhammer predstavlja veliku opasnost zbog činjenice da se može izvršavati neprimjećeno i pomoću neprivilegiranog korisničkog računa. Zbog velike raširenosti **x86** arhitekture i sve većih **DRAM** modula broj korisnika koji su ranjivi na ovaj napad drastično raste. | Napad Rowhammer predstavlja veliku opasnost zbog činjenice da se može izvršavati neprimijećeno i pomoću neprivilegiranog korisničkog računa. Zbog velike raširenosti **x86** arhitekture i sve većih **DRAM** modula broj korisnika koji su ranjivi na ovaj napad drastično raste. |
| |
**ECC** (//Error-Correcting Code//) memorija nameće se kao potencijalno riješenje problema obrane. **ECC** **DRAM** moduli opremljeni su sa dodatnim memorijskim čipovima kako bi mogli ispravljati jednostruke i detektirati dvostruke pogreške unutar jedne memorijske "riječi". Međutim, napad //Rowhammer // često izaziva više pogrešaka unutar jedne riječi čime ovakva vrsta zaštite postaje beskorisna. | **ECC** (//Error-Correcting Code//) memorija nameće se kao potencijalno rješenje problema obrane. **ECC** **DRAM** moduli opremljeni su s dodatnim memorijskim čipovima kako bi mogli ispravljati jednostruke i detektirati dvostruke pogreške unutar jedne memorijske "riječi". Međutim, napad //Rowhammer // često izaziva više pogrešaka unutar jedne riječi čime ovakva vrsta zaštite postaje beskorisna. |
| |
U radu .. autori navode nekoliko potencijalnih riješenja koja su vezana uz parametre rada **DRAM** modula. Smanjivanje intervala osvježavanja uklonilo bi veliku većinu pogrešaka ali bi uvelike povećalo potrošnju energije i smanjilo performanse modula. Također bi bilo moguće provesti otkrivanje ćelija koje uzrokuju većinu pogrešaka i mapirati njihove adrese na druge, rezervne ćelije. Taj proces može provesti proizvođač ili krajnji korisnik. Međutim, dugotrajnost takvog procesa spriječava bilo kakvu praktičnu primjenu. | U radu u kojem je prvi put objavljen napad //Rowhammer// autori navode nekoliko potencijalnih rješenja koja su vezana uz parametre rada **DRAM** modula. Smanjivanje intervala osvježavanja uklonilo bi veliku većinu pogrešaka ali bi uvelike povećalo potrošnju energije i smanjilo performanse modula. Također bi bilo moguće provesti otkrivanje ćelija koje uzrokuju većinu pogrešaka i mapirati njihove adrese na druge, rezervne ćelije. Taj proces može provesti proizvođač ili krajnji korisnik. Međutim, dugotrajnost takvog procesa sprječava bilo kakvu praktičnu primjenu. |
| |
Kao najbolje rješenje autori predlažu novu tehniku, **PARA** (eng. //Probabilistic Adjacent Row Activation//). Tehnika se zasniva na probabilističkom osvježavanju susjednih nizova ćelija prilikom svakog pristupa nekom od nizova ćelija. Prilikom svakog pristupa nizu ćelija se uz neku malu vjerojatnost //p //osvježava sadržaj susjednog niza ćelija. Tako bi prilikom opetovanog pristupanja nizu ćelija vjerojatnost osvježavanja susjednih nizova ćelija rasla. Prednost ove tehnike je da ne zahtijeva nikakvo posebno sklopovolje za praćenje stanja ćelija već je dovoljno napraviti male izmjene unutar memorijskog kontrolera. | Kao najbolje rješenje autori predlažu novu tehniku, **PARA** (eng. //Probabilistic Adjacent Row Activation//). Tehnika se zasniva na probabilističkom osvježavanju susjednih nizova ćelija prilikom svakog pristupa nekom od nizova ćelija. Prilikom svakog pristupa nizu ćelija se uz neku malu vjerojatnost //p //osvježava sadržaj susjednog niza ćelija. Tako bi prilikom opetovanog pristupanja nizu ćelija vjerojatnost osvježavanja susjednih nizova ćelija rasla. Prednost ove tehnike je da ne zahtijeva nikakvo posebno sklopovlje za praćenje stanja ćelija već je dovoljno napraviti male izmjene unutar memorijskog kontrolera. |
| |
| |