對 ECDSA 實體非破壞性的 Side Channel 攻擊

用很簡單的設備透過 Side Channel 攻擊取得 ECDSA private key:「ECDSA Key Extraction from Mobile Devices via Nonintrusive Physical Side Channels」。這次 Side Channel 只需要簡單的線圈,透著一塊玻璃也 okay:

文章裡面提到是 Tracker Pre,查了一下二手價是 USD$80:

這邊抓出了 ADD 產生出的訊號:

然後就可以利用這些訊號重建出 private key:

After observing the elliptic-curve DOUBLE and ADD operations during a few thousand signatures, the secret signing key can be completely reconstructed.

下面中獎的 library 有點多,可以看到主要是以 constant-time implementation 或是 side-channel mitigation technique 來解這個問題。

Amazon 之前放出的 s2n 的安全性問題

Amazon 之前放 s2n 出來當作 TLS protocol 的方案,於是就有人摸出東西來:「Lucky Microseconds: A Timing Attack on Amazon's s2n Implementation of TLS」。

即使是經過外部資安檢證,仍然還是有找到問題。這次找到的問題是 timing attack 類在 CBC-mode 下的 plaintext recovery:

At the time of its release, Amazon announced that s2n had undergone three external security evaluations and penetration tests. We show that, despite this, s2n - as initially released - was vulnerable to a timing attack in the case of CBC-mode ciphersuites, which could be extended to complete plaintext recovery in some settings.

攻擊分成兩個階段:

Our attack has two components. The first part is a novel variant of the Lucky 13 attack that works even though protections against Lucky 13 were implemented in s2n. The second part deals with the randomised delays that were put in place in s2n as an additional countermeasure to Lucky 13. Our work highlights the challenges of protecting implementations against sophisticated timing attacks.

最後還是酸了一下 Amazon:

It also illustrates that standard code audits are insufficient to uncover all cryptographic attack vectors.

Amazon 的官方說明則在「s2n and Lucky 13」這邊可以看到。

對 Zeus Web Server 的 Timing Attack

Update:這應該是在講 Zeus C&C 系統,不是 Zeus Web Server... ~_~

在「Timing attack vulnerability in most Zeus server-sides」這邊看到難得的 HTTP-based timing attack,藉由程式的漏洞而產生出能夠偵測出來的 timing attack:

雖然 Zeus Web Server 已經收攤了,不過這還是示範了很好玩的攻擊手法...

遊戲捲頁的理論與實作

文章的標題「Scroll Back: The Theory and Practice of Cameras in Side-Scrollers」,裡面圖又大又多,20Mbps 的光世代全速下載要跑滿一分鐘才能抓完。


順便測一下 Imgur 的 mp4,以及 HTML5 的 video tag。

裡面考了不少古啊,把捲頁的方式分成許多類別...

在瀏覽器上面用 JavaScript 進行 Side-channel attack

用 JavaScript 就可以攻擊 L3 cache,進而取得資料:「JavaScript CPU cache snooper tells crooks EVERYTHING you do online」。

論文出自「The Spy in the Sandbox – Practical Cache Attacks in Javascript」(PDF) 這篇。

不需要任何外掛或 exploit,就純粹是利用 cache 反應時間的 side-channel attack。另外由於 AMD 的 cache 架構不同,這次的攻擊實作僅對 Intel 有效:

The Intel cache micro-architecture isinclusive– all elements in the L1 cache must also exist in the L2 and L3 caches. Conversely, if a memory element is evicted fromthe L3 cache, it is also immediately evicted from the L2 and L1 cache. It should be noted that the AMD cachemicro-architecture is exclusive, and thus the attacks described in this report are not immediately applicable tothat platform.

這次的攻擊方法真變態...

Mozilla 提供的 SSL/TLS Server Side 設定

最近一直在看這方面的資料,所以就一直看一直寫...

Mozilla 有一份 wiki document 把 server side 的設定給整理出來,可以當作起點來看,不過裡面還是講得很省略,如果沒有背景知識的話,應該會理解得很辛苦:「Security/Server Side TLS」。

裡面給了一些速食套餐 (算是 cheatsheet),像是 cipher 的部份可以參考相容性說明後直接拿來用。

很特別的 Side-channel attack 方法以取得 RSA 與 ElGamel 的 private key

在「A new Side channel attack-how to steal encryption keys by touching PCs」這邊看到一種很特別的 side-channel attack:(直接先看圖)

引用說明:

The signal can also be measured at the remote end of Ethernet, VGA or USB cables.

方法愈來愈特別了 XDDD

利用機器噪音的 Side-channel attack,解 GnuPG 的 RSA key...

Daniel GenkinAdi ShamirEran Tromer 發表的論文:「RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis」。

在維基百科上有「Acoustic cryptanalysis」的條目,不過好像還沒補上這次的事情...

2004 年的 Eurocrypt 時,後面兩位就已經發表過「Acoustic cryptanalysis - On nosy people and noisy machines」,可以針對機器的噪音取得「部份資訊」:

這次攻擊者利用「麥克風」可以對機器的聲音攻擊 (side-channel attack),進而「得到完整的 private key」:

左邊那台機器... 好像是隻手機啊... @_@

收音的設備愈好,效果愈好:

這次直接把 GnuPG 打趴真是太過分了... (被 assign 了 CVE-2013-4576)

Adi Shamir 老人家還是很活躍啊...

虛擬機內的 Side-channel attack...

前陣子在其他地方看到,不過剛剛在「Stealing VM Keys from the Hardware Cache」看到利用 Side-channel attack 的攻擊:「Cross-VM Side Channels and Their Use to Extract Private Keys」。

實際攻擊的項目是 libgcrypt 實做的 ElGamal 演算法,長度是 4096bits。環境是 Xen,限制是在同一台實體機器上。

對抗 side-channel attack 的幾個方法:實體隔離 (效果最好) 或是改善演算法 (通常是犧牲一些演算法效率,換取難以被外部預測的保護)。前者也就是 AWS 為了符合美國政府要求所建立 AWS GovCloud (US) 的原因之一。