圖片來源: 

Salesforce

因應去年多家企業Salesforce資料外洩,Google旗下資安服務部門Mandiant本周開源能偵測導致敏感資訊外洩的Salesforce配置錯誤的工具,名為AuraInspector

Mandiant經常發現到企業Salesforce對外平臺,即體驗雲(Salesforce Experience Cloud)存在配置不當問題而不自知,可讓駭客存取敏感資料,包括信用卡號、身份文件和健康資訊等。Mandiant的AuraInspector為一指令行工具,可自動偵測Salesforce Aura框架內的存取控制配置錯誤,協助辨識和稽核Salesforce對外網站的配置問題,防範資料外洩。

圖片來源/Google

Salesforce體驗雲為面向客戶、合作夥伴與員工的入口網站、論壇、網站,它直接連結Salesforce CRM資料,以提供個人化內容、自助服務。Aura為Salesforce應用程式使用的UI開發框架,以開發可重複使用的模組化元件。Salesforce體驗雲應用和資料取用依賴Aura元件和其後端端點(endpoint)互動實現。使用Aura端點可從後端系統存取各種資訊,包括資料庫的物件紀錄。

Mandiant指出,Aura提供合法方法(method)進行資料擷取,但底層權限配置錯誤卻可能引發資料外洩。但是Salesforce管理員的挑戰是,Salesforce物件共享規則可以在好幾層進行配置,想找出錯誤配置變得很困難。這也使得Aura端點成為Salesforce體驗雲中最常被鎖定攻擊的端點。

Mandiant說明幾個特色,使得從Salesforce大量竊取資料成為可能。一是Salesforce體驗雲應用的某些元件會悄悄呼叫某些Aura方法來取得紀錄。其次,原本Salesforce有防護機制,使一般資料擷取一次最多只能取得2,000筆記錄。但Mandiant發現Salesforce提供了個GraphQL API,可以避開這個筆記限制,成為資料外洩破口。以已知方法使用GraphQL API,可以將所有紀錄附加在單一物件,而不受限於2,000筆紀錄。

Salesforce認為這不是漏洞。但是Mandiant指出,一旦配置錯誤,就能允許攻擊者存取物件任何想要的紀錄筆數。相較使用基本的Aura控制器,使用GraphQL控制器允許一致性的資料擷取,而且比起僅限高權限使用者的SOAP和REST API,GraphQL控制器更易於為駭客存取。

值得注意的是,Salesforce對GraphQL Aura控制器(controller)沒有提供官方文件,而容易為管理員忽略。

AuraInspector可在此取得。除了錯誤配置之外,也自動蒐集Salesforce環境的Aura端點、主頁和紀錄表單的URL、以及自助註冊狀態,如果發現啟動了也會顯示URL。

Mandiant也建議Salesforce管理員在外網站上,對訪客權限只提供特定物件及欄位的讀取權限;已驗證使用者應只能存取應存取的紀錄和物件;關閉自助註冊(Self-Registration);遵循Salesforce安全最佳典範,包括使用其安全狀態檢查(Security Health Check)工具。

熱門新聞

Advertisement