比特幣支付伺服器「BTCPay Server」偵測到,鎖定其對外公開LND API的自動化存取行為。攻擊者疑似趁LND重啟後的短暫空窗,利用舊有的通用密碼企圖取得管理員權限。
BTCPay Server在9月8日發布的資安更新公告中表示,部分維運者透過自架反向代理等方式,再次將LND API暴露在外部,導致這類伺服器遭到機器人(bot)反覆存取。標準Docker部署環境下的LND對外存取,在先前的資安事件後已遭封鎖。
攻擊者鎖定的路徑,是LND的「/lnd-rest/btc/v1/changepassword」端點。LND是實作比特幣閃電網路(Lightning Network)的軟體,透過此路徑可以變更錢包密碼。
當LND錢包處於鎖定狀態時,存取此路徑並不需要macaroon(權限憑證)。在LND重啟後、內部解鎖功能尚未啟動的空窗期,攻擊者只要先送出舊有的通用密碼,就能設定新密碼,進而申請具管理員權限的macaroon。
macaroon是LND用來證明管理員權限的驗證憑證,攻擊者一旦取得,就有可能掌控LND節點的管理權限。
不過並非所有BTCPay Server都面臨相同風險,主要受影響的是透過自架反向代理、Tor服務、連接埠轉發等方式,直接將LND API暴露在外部的環境。
BTCPay Server 2.4.4版會為每個新建的LND錢包產生獨立的隨機密碼,過去使用共通預設密碼的錢包,會在啟動過程中自動變更密碼。
由BTCPay Server管理的標準反向代理,也會封鎖未經驗證的錢包設定與解鎖路徑,此舉縮小了LND重啟後、外部可存取的空窗範圍。
此次措施是先前修補實際遭到攻擊利用的BTCPay Server漏洞、並發布2.4.2版本的後續因應措施。BTCPay Server在8月7日的資安公告中表示,2.4.2版本之前的所有版本都存在漏洞,未經驗證的遠端攻擊者可藉此取得LND的macaroon檔案,部分用戶的資金因此遭竊。
BTCPay Server標準的鏈上錢包並未受到當時漏洞影響,但LND本身的鏈上錢包則可能在影響範圍內。8月的事件與這次機器人活動是否為同一攻擊者所為,目前尚未獲得證實。
BTCPay Server表示,目前尚未確認此次觀察到的機器人活動導致節點遭成功劫持,或有額外資金遭竊。不過,曾使用舊有通用密碼、或另行設定外部存取路徑的伺服器,仍須完成修補並檢查相關設定。
這起事件顯示,自架(self-hosting)方式的資安責任會依維運環境而有所不同。軟體更新雖能強化預設的防護機制,但維運者自行架設的網路路徑,並不會因此自動關閉。
社群論壇上有意見擔憂,8月事件之後應檢查LND用戶的錢包與資金狀態;但BTCPay Server官方公告則說明,標準Docker部署環境下的LND對外存取已遭封鎖。
維運者將BTCPay Server更新至2.4.4版後,應確認自架代理規則與是否對外開放連接埠。直接對外公開的LND API應移除,或改置於具管理機制的存取控制之後,同時也應檢查錢包密碼是否已變更。
BTCPay Server表示,將以獨立選項的形式恢復外部閃電網路存取功能,該功能預設為停用狀態。自行設定允許外部存取的維運者,須另外自行清理既有的公開路徑,與此功能無關。
留言 0