BUG!德國eID卡系統易受網路身份欺騙
【手機中國新聞】安全研究人員在德國使用的電子ID (eID)卡系統主幹中發現了一個漏洞。這個漏洞在被利用時,允許攻擊者使用eID身份驗證選項欺騙另一個德國公民的身份。攻擊者在濫用這一漏洞之前需要克服一些障礙,但發現這一漏洞研究人員表示,他們的eID欺騙黑客技術完全可行。
這個漏洞並不是嵌入在德國eID卡的射頻識別(RFID)晶片中,而是存在於希望支援eID認證的網站所實現的軟體包中。這個易受攻擊元件名為Governikus Autent SDK,是德國網站(包括政府入口網站)使用SDK之一,用於新增對基於eID的登入和註冊過程的支援。發現這個SDK缺陷的德國網路安全公司SEC Consult表示,他們已經向CERT-Bund(德國計算機應急響應團隊)報告了這個問題,CERT-Bund已於今年8月與供應商Governikus合作釋出了一個補丁--Autent SDK v3.8.1.2。
SEC Consult今天在一份報告中稱,所有使用Autent SDK 3.8.1及之前版本的網站都很容易受到他們發現的漏洞的影響。SEC Consult建議網站所有者,如果他們還沒有更新他們的Autent SDK到最新版本中,那麼他們應該更新他了。
漏洞是如何工作的?
根據該公司的報告,漏洞存在於網站如何處理從試圖通過eID系統驗證使用者那裡收到的回覆過程中。在正常情況下,此認證過程要經過以下步驟:
·網站會看到使用者啟動eID card身份驗證過程,並請求使用者做出特殊響應。
·使用者將其eID卡插入讀卡器,或將eID卡放在功能強大的手機附近。使用者在安裝在個人電腦或智慧手機上的eID客戶端應用程式中輸入銀行卡密碼。
eID
·eID客戶端應用程式連線到眾多授權的eID伺服器之一,以驗證登入請求並生成密碼驗證簽名,以便將響應轉發回網站。
·eID客戶端應用程式向初始網站傳送eID響應(簽名和使用者個人資料),完成基於eID的認證流程。
·如果使用者使用電子卡在網站上註冊,該網站會記錄使用者,或建立一個新帳戶。
根據SEC諮詢專家說法,使用較舊版本的Autent SDK網站接受eID客戶端響應,這些響應包含一個加密簽名,但多個SAML引數包含使用者的資料。
美國證券交易委員會諮詢專家解釋說:“簽名將根據引數最後一次出現進行驗證,而進一步處理的SAML響應將從第一次出現時獲得。”要利用這個漏洞,攻擊者至少需要一個由身份驗證伺服器簽名有效查詢字串。查詢字串簽名是由哪個公民或在什麼時候發出的,都無關緊要。
這聽起來是個不可克服問題,但事實並非如此。SEC Consult表示,多個eID伺服器會線上公開日誌,攻擊者只需抓取一箇舊簽名響應,並在中間插入他們被欺騙的eID資料。SEC Consult釋出了一段YouTube視訊,展示利用這一漏洞的攻擊是如何進行。
但SEC Consult表示,這種漏洞不適用於所有支援eID認證的網站。專家表示,選擇使用“假名”(而不是通過每次身份驗證請求傳送實際使用者資料)的入口網站並不容易受到攻擊。假名是外觀隨機的字串,與使用者名稱類似,儲存在網站和eID card的RFID晶片中。除非攻擊者能夠以一致的方式猜測假名,否則他們將無法利用這個漏洞來欺騙其他使用者的身份。
此外,由於所有eID身份驗證響應都被記錄下來,網站可以檢視日誌,並檢測攻擊者何時以及是否利用過這個漏洞。這也意味著可以實時檢測到攻擊,阻止攻擊者在登入之前試圖欺騙他們的身份。好訊息是,SEC Consult在今年夏天私下披露了這一漏洞,直到今天才向公眾披露,這讓德國網站提前三個月開始更新易受攻擊的、非常受歡迎的Autent SDK。壞訊息是,Autent SDK被用於一個演示應用程式中,許多德國網站可能已經下載了這個應用程式,並將其用作構建自己的eID認證系統的示例,這意味著這個問題可能在德國的線上空間中相當普遍。
SEC Consult發現的這個問題,沒有哪個地方像2017年在逾75萬張愛沙尼亞eID卡中發現類似的問題。愛沙尼亞政府被迫更換所有受影響的卡,以防止政府網站上的欺詐活動。斯洛伐克的一些eID卡片也受到了影響,但程度較輕。今年秋天,愛沙尼亞起訴eID卡片製造商金雅拓公司。