2016-01-21 59 views
1

我的Web應用程序具有帶私鑰和標誌xml的證書。簽名時,私鑰在內存中(由於.Net使用了NCrypt,因此受到LSA的保護)。Azure Web應用程序實例中的安全

問題: 我的理解是蔚藍的web應用實例是單個虛擬機上運行IIS和虛擬機可能會與其他虛擬機一起在Hyper-V主機上運行。鑑於此,VM主機是否可以訪問VM-Guest的內存,並讀取私鑰 - 從而危害簽署證書?

+1

對於[信息安全](http://security.stackexchange.com/),您可能會得到一個更好的答案,那裏有優秀的安全專家,他們在可怕的級別上理解這些東西! –

+0

哦,很酷。我不知道這個小組。謝謝邁克爾。 –

回答

0

您正在運行一個服務器,您沒有任何物理控制權,您沒有任何人的安全。

從正在運行的VM中檢索私鑰將是一件相當瑣碎的事情。首先你會採取內存轉儲,在標準的Hyper-V(我們不知道什麼MS Azure中使用)

livekd -hvl 
livekd -hv <VMName> -p -o C:\Memory.dmp 

這將列出所有虛擬機,第二個命令將傾其中之一的內存。 (從Taking a dump of a VM running on Hyper-V

其次考慮你需要找到和提取專用密鑰,甚至還有一個python腳本,它將爲你做的,你可以瞭解一下here

總之,你可以找到RSA私鑰(PKCS#8)和SSL證書(x509),通過掃描在ASN.1表示中找到的頭文件和版本常量.Volatility的dumpcerts插件使用這種掃描方法來查找,提取和解析物理密鑰和證書內存或虛擬內存

(閱讀腳本背後的理論here

另外考慮到微軟寫了整個堆棧,很可能他們有調試版本的虛擬機,他們完全知道如何存儲證書(因爲他們寫了代碼),他們不需要像那些文章那樣進行逆向工程,他們可以與寫它的工程師交談。

+0

謝謝邁克爾。我會向Info-Sec小組詢問更多信息。但是,這現在回答我的問題。我將其標記爲答案。 –