【統整登入異常事件的可能原因,並予以攔截】由防護措施先行判斷並攔截異常行為,然後留下執行記錄,讓管理者能夠確認與追查事件源頭,是降低遭到機器人大量嘗試登入的重要機制。以圖中F5 Advanced WAF對於機器人存取行為的偵測事件為例,我們可以看到,端點的Chrome瀏覽器因無法通過挑戰碼回應,而遭到封鎖。(圖片來源/F5)

帳號填充攻擊的威力,為網站或是網頁應用程式的使用者帶來嚴重困擾,提供與維護相關服務的管理單位,也會同樣蒙受系統可遭到濫用的疑慮。雖然從網站管理的角度來看,並非業者的平臺本身不夠安全,導致遭到駭客入侵或是濫用,但是現實的問題在於,網站面臨帳號填充攻擊之後,不光是只有大量使用者遇害,網站的信譽也會大受打擊。

基本上,帳號填充攻擊的定義,就是因為使用者往往會在不同的網站裡,採用相同的使用者名稱和密碼,導致駭客得以透過已經遭到外洩的帳號資料庫,嘗試登入,取得另一個服務帳號的權限。因此,在過去幾年,許多專家不斷呼籲,用戶應該要在各種網站服務裡,採用不同的帳號與密碼,以免駭客得手其中一個網站的帳號資料庫後,其他網站的身分也面臨帳號填充攻擊的威脅。

雖然駭客企圖隱藏密碼猜測的攻擊行為,使得企業想要發現這種異常存取的徵兆,變得更加困難,然而,想要防範帳號填充攻擊,也不是全然沒有因應的的方法。若要了解必須採取的防護措施,近期由專精網頁應用程式安全的網路社群OWASP所提出的建議,就相當值得參考。從OWASP列出的做法裡,我們可大致區分成2種方向,也就是發現由機器人嘗試執行的行為,還有讓機器人無法自動化執行密碼測試的措施。

要如何做到這些防護機制,我們勢必需要透過一些工具達成,在商用的解決方案裡,我們找到3款產品,同時也發現,這些產品提供了較為進階的防護能力,像是在端點電腦的地理位置偵測之外,採用更為精細的使用者環境偵測機制,使得識別請求登入來源判斷更為精確,或者是納入網頁程式碼混淆的技術,防止機器人在網頁上直接自動填入帳號和密碼等。

在擁有能夠攔阻帳號填充攻擊的具體解決方案上,我們首先想到的,是網頁應用程式防火牆(WAF)。然而實際詢問專門提供相關產品的廠商,卻出乎我們的意料,僅有F5提供詳細的介紹,也具備因應這種攻擊的有關白皮書等文件,其產品的功能相當完整。至於其他的業者,有些表示旗下產品尚未具備相關功能,而其他則是不予回應。

不只網頁應用程式防火牆,也有專門提供自動化攻擊防護的資安新創業者ForceShield,將他們的保護措施,運用於防範帳號填充攻擊上。此外,推出雲端服務存取控管閘道(CASB)的廠商裡,Forcepoint開始將產品相關的功能,延伸應用在偵測網站上的這種存取行為中。因此,從這次我們找到能運用於防範帳號填充攻擊的解決方案中,也可以看到3種不同型態的出發點──網頁應用程式防護、自動化攻擊防護,以及應用程式存取與權限的控管等,使得這些產品擁有各自獨特的風格。

監控機器人的登入行為並分析

針對帳號填充攻擊等進階網站威脅,ForceShield推出了DynaShield,讓企業能夠進行偵測及防範。在圖中DynaShield的儀表板裡,包含攻擊所出現的時間點走勢圖,統整出異常存取類型、來源IP位址,以及網站遭到大量存取的路徑排行,讓管理者快速掌握整體情勢。圖片來源/ForceShield

網頁應用程式防火牆內建有關防護

論及企業想要保護網站伺服器的安全,網頁應用程式防火牆可說是最為重要的防護措施之一,雖然不少廠商意識到這種威脅大肆蔓延,而紛紛在自己的部落格上呼籲要大家小心防備,但市面上眾多的解決方案裡,卻僅有F5等少數業者,開始針對帳號填充攻擊提供有關的保護措施。而論及功能的豐富程度,F5所推出的Advanced Web Application Firewall(Advanced WAF),可說是涵蓋面向相當完整的解決方案。

針對帳號填充攻擊的防護機制而言,F5 Networks資深技術顧問許力仁表示,他們從4種層面提供防護,分別是內建防治相關攻擊的使用者登入政策、偵測存取的用戶是否為機器人、已遭到洩露的使用者帳號與密碼情資,還有用戶端的輸入的資料加密等。其中,最重要的工作,許力仁說,是如何識別出機器人在不斷嘗試登入系統的情形。

由於是透過自動化的方式進行作業,機器人攻擊與使用者手動登入上,就有一些方法上的不同。例如,雖然都是透過瀏覽器開啟網頁,然後執行登入的行為,但若是由機器人進行帳號填充攻擊,用戶的環境裡就可能有些徵兆。

其中最重要的偵測手法,便是該款應用程式防火牆接到網頁連線請求時,向使用者的瀏覽器注入JavaScript,要求驗證挑戰,瀏覽器便會回覆並重新傳送連線請求,這時,若是Advanced WAF收到的回應正確,就會將Cookie署名,並加上時間戳記與指紋,把已確認為合法的連線請求,傳送到後端的網站伺服器。

若是由機器人自動化登入,攻擊者會利用Python等指令工具,呼叫瀏覽器執行,而瀏覽器的環境裡,便可能會被植入自動化擴充套件,像是iMacros或是Selenium,下達指令。由於一般使用者不會安裝這種型態的擴充套件,若是從用戶端瀏覽器環境裡發現,此次登入由機器人自動化執行的可能性就非常高。

在上述的用戶端環境偵測之外,Advanced WAF也透過F5的雲端資料庫,比對存取網頁所使用的帳號和密碼,是否來自於已遭外洩的網站帳號資料庫,減緩帳號填充攻擊的情況。

為了避免機器人自動化抓取網頁裡帳號和密碼的欄位,Advanced WAF納入了欄位混淆的手法,能在企業不用修改網頁的情況下,將這些欄位的參數,轉換成沒有意義的代號,再傳送到使用者的瀏覽器上,而且管理者能夠指定防火牆定時隨機更換,使得自動化攻擊行為更難以執行。

而面臨使用者的電腦上,很可能遭到駭客植入側錄軟體,截錄用戶所輸入的帳號和密碼等資料,F5提供了網頁欄位加密的機制,避免使用者所輸入的內容,成為攻擊者可以拿來濫用的資料。

至於市面上其他的網頁應用程式防火牆系統,還是有少部分的功能,能夠應用於偵測與防堵帳號填充攻擊的手法。像是博格讀書會創辦人X1就推薦了AWS所推出的解決方案,並透過以頻率為基準的政策(Rate-Based Rules),試圖從偵測疑似異常跡象,進行防範。而AWS WAF最值得採用的特點,在於能夠隨租即用,較能因應企業的需求快速調整。

從自動化攻擊流程的角度著手,防範網站遭到帳號資料填充行為

值得留意的是,不只是針對網頁應用程式防護的廠商,其他領域的資安業者,也開始意識到帳號填充攻擊所帶來的威脅,像是以防範機器人自動化攻擊起家的新創公司ForceShield,就針對網頁應用程式所面臨的相關威脅,推出了專屬防護系統DynaShield。

ForceShield資安分析師賴婕芳指出,這款產品在因應自動化的帳號填充攻擊過程裡,充分運用了自家的動態幻象技術(Dynamic Transformation Technology),提供了對應的4大防護機制──首先,從端點電腦向網頁伺服器提出登入請求之際,進行偵測,判斷來者是一般使用者還是機器人;再者,則是因應登入頁面裡,特定程式碼內容,能讓機器人鎖定,用來自動化填入帳號和密碼,納入重新封裝網頁的混淆機制。

而為了避免登入的過程裡,合法憑證遭到濫用,他們透過動態Token,防範駭客運用重放攻擊。在連線的過程裡,使用者在網頁上所輸入的資料,則是藉由加密措施,避免所謂的中間人攻擊(Man-in-the-middle,MITM)。

其中,與帳號填充攻擊最為相關的部分,主要是識別請求登入的端點電腦真實身分,以及防治自動化填入的網頁程式碼混淆措施。針對針對使用者環境的指紋採集,該公司強調,他們運用超過16,000種特徵,包含瀏覽器的版本、執行的擴充套件、是否為採用無介面模式(Headless)的執行狀態等特徵,經彙整後,對使用者進行評分,進而判斷發出登入請求者的身分,是合法的使用者,抑或是機器人在進行反覆的密碼猜測行為。

而在保護網頁的部分,ForceShield則是採取名為動態封裝的機制,混淆網頁程式碼,隱藏自動化攻擊過程裡,駭客可用來填充帳號與密碼的地方。

從企業雲端服務的存取管控,延伸保護應用程式網站

Forcepoint將適用於雲端服務存取安全閘道(CASB)系統的應用層面,從管控企業採用的雲端服務,進一步納入企業的網頁應用程式。圖中的儀表板便先呈現各種偵測到的受到異常存取的帳號數量,包括暴利破解、帳號遭到接管,以及惡意存取等情況。圖片來源/達友科技

企業內部雲端服務存取控管平臺,也延伸防護範圍到網站上

其實所有的解決方案中,最出乎我們意料之外的,是雲端存取安全閘道系統型態的解決方案,也開始有廠商將產品的功能,應用到不同的領域上。例如,Forcepoint是其中少數開始這麼做的雲端存取安全閘道業者。

Forcepoint代理商達友科技副總經理林皇興認為,雲端存取安全閘道這種型態的防護系統,發展出來的時間並不長,目前正處於受到企業認同並開始採用的階段,因此,只有Forcepoint等少數業者,開始這種藉由客製化的方式,讓企業使用這種防護系統來保護網站,不受異常存取攻擊的侵擾,大多數同類型業者還沒有提供這樣的延伸應用機制。

基本上,雲端存取安全閘道系統所具備的功能,主要還是防範企業內部使用者可能因為操作不當,導致公司機密公開,或是不小心遭到刪除等不當存取的狀況,因此,相較於前述兩種型態的保護機制而言,雲端存取安全閘道還是偏向以電腦的地理位置與IP來源位置,來識別是否為異常存取的跡象,在管理介面的儀表板上,也以這些資訊來告知管理者,處於高度風險的帳號名單,疑似出現了大量不當存取的情況。

另外,在雲端存取安全閘道系統的保護措施中,內建了分級權限控管功能,也是這種型態防護機制的一大特色。由於存取企業網頁應用程式的角色,除了一般使用者,通常還有具備較高權限的管理者或是維護廠商的帳號,一旦遭到帳號填充攻擊而被存取,影響的程度將更為嚴重。因此,公司可增加存取環境的限制,像是限定這類使用者只能從企業內部網路登入,甚至是電腦必須安裝指定的端點代理程式才能執行等要求。

【降低攻擊者輕易控管帳號的機率,雙因素身分驗證是重要的措施】善用免費工具,也能緩解帳號填充攻擊

如果企業想要防堵網站應用程式可能面臨帳號填充攻擊的隱憂,但還是暫時沒有預算能夠支應,還是有一些免費的解決方案,能夠協助管理者因應這種攻擊手法。在今年臺灣資安大會上,我們認識兩位透過開源工具強化企業資安的講者──耀達電腦技術總監鄭郁霖與博格讀書會創辦人X1,他們也推薦了一些免費解決方案,讓企業能夠加以運用。

這些解決方案主要從兩種層面著手,包含了伺服器主機存取的防護,以及身分驗證機制的加強。對於前者,鄭郁霖和X1都一致建議,企業可使用Fail2Ban,攔截異常登入的事件。雖然Fail2Ban所防範的方向,主要是針對攻擊者暴力測試密碼的行為,然而企業若是配置相關組態得宜,仍然可以防堵部分帳號填充攻擊的情形。

另外一個方向,則是應該在原本的帳號和密碼之外,導入雙因素驗證(2FA)的措施。由於許多應用系統都內建雙因素驗證的功能,但預設不會啟用。鄭郁霖表示,企業開啟有關功能之後,可以增加帳號填充攻擊的難度,避免有心人士取得了帳號與密碼,就能夠長驅直入,存取帳號內的使用者機密資料等,相較於在維運Linux伺服器廣泛運用的Fail2Ban,他認為採用雙因素的身分驗證機制,對於防範帳號填充攻擊的效果更為顯著。

而在使用者的部分,人人都有智慧型手機的情況下,企業其實可善用動態密碼產生器(OTP)應用程式,來執行雙因素驗證。而這種App市面上已有不少選擇,最知名的軟體,應為Google Authenticator。

如果企業想選擇開放原始碼軟體,進而減少對Google的依賴,鄭郁霖認為,可以選擇由紅帽維護的FreeOTP,同樣能產生驗證時所需的動態密碼。

透過Fail2Ban監控存取異常的行為

在防範伺服器遭到異常存取的做法上,耀達電腦技術總監鄭郁霖和博格讀書會創辦人X1都認為,Fail2ban是基本措施,這個防暴力測試密碼的工具,在管理Linux伺服器上幾乎可說是必備,對於帳號填充攻擊也有些許防堵的效果。圖片來源/X1

採用密碼產生器App執行雙因素驗證

網頁應用程式系統納入進階身分驗證機制後,帳號填充攻擊的門檻,便大幅增加。其中,最常見的做法,就是讓使用者在手機上執行動態密碼產生器,取得挑戰碼,而這類App市面上也有不少,若想採用開放原始碼的解決方案,使用者也可選擇安裝FreeOTP,產生動態密碼。圖片來源/Red Hat


Advertisement

更多 iThome相關內容