近年來,針對金融機構的網路釣魚攻擊已變得越來越複雜,其中即時網路釣魚所造成的威脅尤其嚴重。據了解,這種類型的攻擊甚至可以讓傳統上有效對付網路釣魚攻擊的一次性密碼 (OTP) 失效,並迫使金融機構重新設計其身分驗證基礎架構。
本文闡述即時網路釣魚的技術結構,以及「passkey」的內在優勢,可以對抗即時網路釣魚,並提出未來的政策考量。
/wp:paragraph –>.
什麼是即時網路釣魚?
實時網路釣魚是一種攻擊,攻擊者在使用者與真正服務之間的通訊中進行「中間攔截」,並立即使用使用者輸入的認證資訊(使用者名稱、密碼、4 至 6 位數的一次性密碼 (OTP) 等)來冒充使用者。攻擊者會立即使用使用者輸入的認證資訊 (使用者名稱、密碼、4 至 6 位數的一次性密碼 (OTP) 等) 來冒充使用者。特別是,即使 OTP 是透過 SMS 或應用程式傳送,當使用者將 OTP 輸入釣魚網站的那一刻,攻擊者就可以將 OTP 轉寄到真正服務的網站,並冒充使用者登入。
除了 中間人 (MitM) 之外,此類攻擊也稱為 中間人 (AitM) 或 偽冒驗證者,其特點是在「看似真實」的釣魚網站和真實的驗證伺服器之間進行技術中繼。
中繼伺服器的全面偽裝
最新的即時網路釣魚攻擊利用中繼伺服器,以巧妙的伎倆欺騙使用者,例如:
- <!-- /wp:list-item-->。
- 精確網站複製:即時讀取真實網站(例如金融機構的網站)的原始程式碼,並建立視覺上難以分辨的偽造網站(在某些情況下,偽造網站會在檢查程式或類似程式到達時,偽裝成返回完全不同的內容,以便通過檢查)。(在某些情況下,當檢查程式等抵達時,偽造網站會偽裝成傳回完全不同的內容,以便通過檢查)
- 取得看起來很像的 SSL 證書:提供看起來很合法的 HTTPS 連線 。
- 動態內容支援:登入後完整顯示個人資訊等 。
How Adversary-in-the-Middle (AitM) attacks work
.AitM 攻擊是透過以下技術程序進行的:
- <!-- wp:list-item -->
- 中繼伺服器安裝:攻擊者在真實網站和使用者之間放置一個中繼伺服器 。
- 動態回應產生:篡改真實網站伺服器的回應,並發送給使用者 。
- 驗證資訊收集:即時收集 ID、密碼、OTP 和其他個人資訊 。
- Regitimate access execution:使用收集到的資訊立即存取真實網站 。
- <!-- wp:list-item -->
- 對使用者:行為像真正的銀行伺服器(驗證者冒充) 。
- 對於銀行:像真正的使用者一樣 。
(圖 1) AitM 的示意圖
。
範例:
。- <!-- wp:list-item -->
- 使用者輸入 ID、密碼和 OTP 。
- User entry ID and password and OTP
- 虛假網站將其資訊轉發至真正的認證伺服器 。
- Authentication successful, session hijacked
OTP(一次性密碼)傳統上被視為「安全的第二因素」,因為它們是難以再使用的程式碼。但是,在實時網路釣魚等 「中繼攻擊 」中,它們是 「一次性 」的事實就失效了,因為即使它們只被使用一次,攻擊者也可以使用它們來代替真實使用者。
<!此外,传统的基于 OTP 的多因素身份验证 (MFA) 不会验证挑战响应(请参阅下文)或 Web 站点地址(域)的完整性,因此用户无法识别所输入的信息是发送给谁的。用户无法识别所输入的信息是发送给谁的。這就是 OTP 本身容易受到中繼攻擊的原因。
.
什麼是密碼匙
Passkey 是基於 FIDO2/WebAuthn 標準的驗證技術,驗證要存取的網站位址(網域),並傳送使用者驗證所需的資訊[註]此外,它不會傳送「共用機密」給存取點[/註]使用此特性。主要特性如圖 2 所示。
(圖表 2) Passkey 功能
.| Description | |
|---|---|
| 使用公開金鑰進行簽名驗證。私密金鑰不會傳送至存取點。 | |
| 驗證要求與特定網域綁定,因此難以中繼或偽造。(Origin check 和 RPID check – 請參閱下文) | |
| 使用者驗證在裝置內部完成。使用生物特徵、PIN 或其他可能被複製的元件,不會從外部傳輸驗證資訊。 | |
| 來自虛假網站。請求未經簽名。 |
這表示 如果使用者不小心存取虛假網站,驗證器不會回傳真實網站的簽章到該網站,因此攻擊者無法取得任何用於驗證的資訊。這是與 OTP 的重要差異。
。為什麼密碼匙可以抵抗網路釣魚?
通行鑰(FIDO2/WebAuthn)對中繼式網路釣魚(AitM)和網域詐騙的結構抵抗力是由於以下三項檢查:
(1) Origin Validation
- <!-- /wp:list-item -->
- 自動偵測用戶端(瀏覽器)發出驗證請求的網站來源(網站的網域/地址)
- 這個 origin 由 https:// + 網域名稱 + 連接埠號碼組成
- 網站以通行鑰匙向瀏覽器提出的驗證請求包含網站的網域 (RPID(見下文)),但如果此網域與來源網站不同 (例如網路釣魚網站),瀏覽器會拒絕該驗證請求,且不會執行驗證程序 (也有例外,例如子網域)。(也有例外,例如子網域)
- 此外,passkey 認證結果中會包含 origin,並且也會傳送至網站伺服器,以便網站伺服器可以驗證透過 passkey 進行的認證是否在正確的網站上執行。
(2) 信賴方 ID (RPID) 檢查
- <!-- /wp:list-item -->
- RPID 是 伺服器在註冊公開金鑰時指定的網域識別碼
- RPID 是伺服器在註冊公鑰時指定的網域識別碼。
- 驗證器 (在持有密碼匙的裝置一側) 會搜尋與 接收到的 RPID 相關的密碼匙是否儲存在本身中
- 如果 RPID 不同,則找不到私鑰,也不會傳回簽章 。
(3) 挑戰回應
- <!-- /wp:list-item -->
- 驗證器使用私人密碼匙簽署包含挑戰的資料,並透過瀏覽器以通行鑰匙驗證回應的方式傳回給網路伺服器 。 網路伺服器驗證回應中包含的挑戰是由網路伺服器發給有關會話的。 <!
- 如果挑戰是由攻擊者任意創建的,或過去曾被使用
- 使用密碼匙驗證時,網路伺服器會傳送稱為 “challenge “的隨機資料。
為什麼我們需要這三個?
<!圖 3 總結了這種關係。
(圖 3) 抵禦網路釣魚所需的三個要素
。| 確保瀏覽器執行的網站的合法性。。拒絕虛假網站 | |
|---|---|
| 檢查驗證者 為哪些網域註冊金鑰,並防止 誤用 | |
| 挑戰回應 | 確保在目前會話中已使用通行鑰進行驗證。防止重複使用驗證結果 |
其中一個是不夠的,只有當所有這些都存在時,才能建立「完整的網路釣魚抵抗力」。
.
但通行鑰並不是一顆銀彈 ~利用註冊流程進行網路釣魚攻擊的風險
另一方面,通行密钥也不是银弹:基于 FIDO2/WebAuthn 的 通行密钥与传统的 OTP 和密码相比,具有显著的抗网络钓鱼性,是显著提高用户身份验证安全性的一种手段經評估,它是大幅提升使用者驗證安全性的一種手段。
<!然而,對「憑證註冊」的攻擊抵抗力取決於使用者的判斷和 UX 設計,而讓攻擊者「註冊」自己的密碼匙則是一個新的風險。,而允許攻擊者「註冊」自己的通行鑰則存在新的風險。
.
Possible attack scenario: passkey “spoofed registration” by attacker 攻擊流程範例 <!-- wp:list-item --> 攻擊者建立釣魚網站(https://bank-login.example.org)
<!-- wp:list-item -->
Measures
圖 4 總結了可能的典型措施。它並非詳盡無遺。
圖表 4:可能的冒充措施
| 措施 | content |
|---|---|
| 公共個人識別及透過要求使用遠端生物識別技術 (若可能) 進行識別,或使用先前設定的密碼進行重新驗證,以進行預防 | |
| 異常註冊偵測與通知 | 新增密碼時立即通知並確認(例如登入記錄通知) |
.
Possible attack scenario: session hijacking after passkey authentication
近年來,也有惡意軟體竊取密碼和其他資訊的報告,例如那些統稱為 infostealers 的惡意軟體。這些惡意軟體也可以取得會話 cookies。密碼匙是一種保護手段,直到使用者驗證並建立會話為止。一旦會話建立後,它就無法提供保護。
。措施
。針對會話劫持的對策是利用在終端安全區域產生的非對稱金鑰,例如 Device Bound SessionCredentials (DBSC) 等。在此背景下,連續存取評估也受到越來越多的關注。
<!持續存取評估是一種超越傳統一次性驗證的安全方法,可持續即時監控和評估使用者的存取權限。在使用者登入後,位置資訊、裝置狀態、行為模式和風險等級都會被持續檢查。如果偵測到異常活動或高風險情況,就會自動要求額外的驗證,或限制或阻止存取。
<!例如,如果出現來自不尋常國家的存取或不尋常的資料下載活動,您可以立即回應。這可摒棄「一經驗證即屬安全」的假設,並持續進行驗證,從而增強安全性。
.
可能的攻擊情境:針對剩餘的密碼驗證口。
為了從 Passkey 的防釣魚功能中獲益,有必要停止使用非防釣魚認證方法,而僅使用 Passkey 等防釣魚認證方法。即使引入了通行鑰匙,如果仍然使用傳統的非抗網路釣魚使用者驗證方式,使用者仍然會成為網路釣魚的目標。
。措施
。 相應的措施將是廢除這些舊式的使用者驗證方式,並僅以通行鑰取而代之。
然而,應該注意的是,由於各種因素,仍有一些使用者覺得使用密碼匙有困難。在這種情況下強制執行通行鑰也是用戶迴避服務的一個原因。因此,可以采取其他的措施,比如将现有的认证方式也保留下来,继续使用人工智能或其他手段将该会话作为高风险会话进行监控,发现异常就停止交易。另一個選擇是提供一些選項,例如在無法使用 passkey 的環境中,允許在某段時間(例如 15 分鐘)內以密碼登入,或是根據驗證強度設定交易限制和權限(例如唯讀)。從這個角度來看,上述的持續存取評估也是值得關注的重要技術。
.
結論:如果沒有「設計」,即使是 passkey 也可能會被破解
密鑰在驗證流程中是非常安全的,但也有一個負面風險,那就是如果註冊流程被濫用,攻擊者可以註冊一個強密鑰。
因此,當金融機構和政府機構引入通行鑰時:
- <!-- wp:list-item -->
- 註冊流程以及驗證的安全性設計
- 異常偵測與回復流程(回復)設計
- Phishing-oriented UX design and warning design
.
政策影響:為什麼我們現在需要 passkey 1. 依賴 OTP 的法規和指引的限制.
許多司法管轄區仍可能在其安全客戶驗證 (SCA) 要求中指定 OTP 作為多因素驗證 MFA 的第二因素。但是,如上所述,使用 OTP 的多因素身份验证并不能保证防网络钓鱼。以此為基礎的安全規範可能已經跟不上攻擊者技術的腳步。與其指定類似「雙因素驗證」的內容,您應該思考的是需要應對哪些「威脅」。事實上,自 2011 年[註]DIS 階段[/註] 以來就一直如此,例如在 ISO/IEC 29115 實體驗證保證框架中。
2.Need to address threats in the registration phase
.另一方面,應該注意的是,通行鑰會強化驗證手段的使用階段。對認證手段註冊階段的威脅也必須加以處理。
3. 多層防禦的一部分
。密鑰是一種非常有效的使用者驗證方式,但在使用者驗證成功之後,密鑰無法有效防止會話劫持。因此,它們還應該與會話與裝置的綁定以及異常交易的偵測結合使用。
4.從消費者保護的角度來推廣
。Passkey 不需要使用者「精通安全」或「謹慎」,而且可以在終端端透明地保護安全。它是一種可持續的措施,不依賴安全教育,並且與消費者保護政策高度相容。
.
從金融政策的角度來看,不僅需要討論是否引進該技術,還需要更新何謂「安全使用者驗證」的標準。在未來方案的設計中,通行鑰匙等防釣魚措施作為「標準」,將是確保金融消費者安全和信任的關鍵。[註]舉例來說,美國政府的數位身分指南 NIST SP800-63-4 2pd 要求提供 AAL2 或更高身分保證等級的防釣魚認證方式 (並非強制使用者使用、是強制提供使用者選擇)[/註]
.
[鳴謝]
。本文作者曾撰寫“@kocko)、Hideaki Furukawa,野村綜合研究所成員、日本資訊處理協會資訊技術標準委員會 SC27/WG5 分會秘書,以及 FIDO Alliance 至 ISO/IEC JTC 1/SC 27/WG 5 的聯絡官。他積極溝通有關密鑰技術,包括在軟體設計2025年1月號的文章「特稿1:認證技術的前沿 – 無密碼認證「密鑰」的機制與實現」的前半部分。我們要感謝 Ryo Ito (X: @ritou)的大力合作。我們在此表示衷心的感謝。
.