Demote+Reload¶
Eviction adımı için
cldemotekullanan ve 15.48 Mbit/s ile en yüksek ölçülen channel kapasitesine ulaşan bir same-physical-core (SMT) cache side channel'ı (bir Flush+Reload analoğu). Tespit victim'in L1 load'una bağlı olduğundan attacker ile victim aynı physical core'da (SMT) co-resident olmalı ve read-only shared memory paylaşmalıdır.
Mechanism¶
Attacker, paylaşılan bir cache line'ı L1'den L3'e cldemote'lar. Victim line'a erişirse line L1'e geri reload edilir; attacker ardından aynı line'ın bir reload'unu zamanlar (timed operation) — hızlı bir reload onun zaten L1'de olduğu (victim erişti), yavaş bir reload ise L3'te kaldığı (erişim yok) anlamına gelir.
Note
Bu tam Flush+Reload semantiğini izler ama clflush yerine cldemote kullanır, böylece line DRAM'e flush edilmek yerine L3'e demote edilir. Sonuç %60.7 daha küçük bir "blind spot" ve daha yüksek bandwidth'tir (15.48 Mbit/s, NDSS 2025 makalesine göre Flush+Reload'un %64.3 üstünde). Tespit victim'in L1 load'una bağlı olduğundan, attacker ve victim aynı physical core'da (SMT) çalışmalıdır ve victim'le read-only shared memory gereklidir.
Walkthrough¶
- Share. Bir victim library page'ini read-only map'le.
- Demote. Hedef line'ı
cldemote'la. - Victim'i çalıştır.
- Reload. Reload'u zamanlamak için
rdtscpile sarmalanmış olarak line'danmovyap; hit/miss sınıflandır.
Makale Demote+Reload'u bir AES T-table attack'ine (diğer tekniklerden daha iyi performansla), bir inter-keystroke timing attack'ine uygular ve power side-channel leakage'ını amplify edebileceğini gösterir.
Detection¶
Reload adımı hâlâ L1 fill'leri induce eder; demote'un kendisi bir flush'tan daha sessizdir. Genel tespit edilebilirlik Flush+Reload'a benzer.
Mitigation¶
SMT'yi devre dışı bırak; cldemote'u kısıtla/cezalandır. Flush tabanlı mitigation'lar demote varyantlarını doğrudan kapsamaz. Onaylanmış bir vendor fix yok.