【何謂帳號填充攻擊?】帳號填充攻擊(Credential Stuffing)手法的基本定義,就是駭客利用在已經遭駭的網站中,所取得的帳號與密碼,嘗試在另一個網站上登入,藉此取得帳號的控制權。(圖片來源/OWASP)

大約在3年前,許多名人的社群網站帳號遭駭,引起軒然大波。其中不乏政治人物、知名藝人,以及知名的企業等,甚至是科技公司的執行長或創辦人,也身受其害──包含了臉書執行長Mark Zuckerberg、推特創辦人Jack Dorsey,以及Google執行長Sundar Pichai等。

探究其原因,就是他們在多個社群網站裡,使用了相同的帳號和密碼。因此,駭客組織OurMine利用了LinkedIn於2012年外洩的使用者帳號資料後,不僅成功登入這些名人的臉書或推特帳號,而且還用被害人的帳號發文,嘲笑他們的資安意識不足。

當時,所有的資安專家,都極力呼籲使用者必須自保,應該使用像是Have I Been Pwned(HIBP)網站,確認自己的帳號可能受到那些資料外洩事件影響,並落實在各個網站的帳號中,使用不同的密碼,以防範駭客以此手法取得我們在網站上的身分。而這種透過已經被駭網站所流出的帳號資料,嘗試登入另一個服務的手法,被稱為帳號填充攻擊(Credential Stuffing)。

簡單來說,這種攻擊能夠奏效的原因,就是許多使用者會以相同的帳號和密碼,到處運用於不同的服務中,只要其中一個網站的使用者資料庫遭到外流,他們其他網站服務的帳號,駭客便能透過上述的手法,輕易取得帳號的控制權。

時至今日,不光是使用者應該保護自己,面臨大規模資料外洩事件頻傳,導致駭客想要大量取得這種攻擊所需帳號資料,變得更加容易。

根據Gemalto推出的2018上半年度報告,該年度的前6個月,就累計超過33億筆個資遭到外洩;而今年年初,提供HIBP查詢網站的資安研究員Troy Hunt,揭露了史上最大的資料外洩事件Collection#1,總計逾7.7億名用戶的個資被公開。

這樣的情況,使得網站的經營者也開始倍感威脅,若是駭客在自家的網站上進行相關攻擊,非但會嚴重影響服務營運,一旦攻擊者得手,網站的安全性還可能遭到用戶質疑,導致公司的信譽大幅受損。雖然問題的根源,起因於使用者的密碼管理不當,但是網站經營者顯然已經無法坐視不管,勢必要正視這樣的問題並加以因應。

自動化執行是帳號填充攻擊常見做法

駭客所取得被駭網站的使用者帳號資料庫裡,往往包含了成千上萬筆資料,採用自動化的嘗試登入措施,也是帳號填充攻擊普遍存在的特性,因此,企業想要偵測出這種攻擊行為,能否識別登入請求是由機器人還是真實使用者發出,便成為關鍵。圖片來源/F5

資安專家再度強調帳號填充攻擊所帶來的威脅不容小覷

從去年中到今年初,許多資安廠商發表的年度報告裡,特別提到這種威脅的現象,其中,Akamai不僅專門針對這種攻擊手法推出報告,同時,他們也資助研究機構Ponemon Institute,調查亞太地區的情況。

Akamai在自己的報告裡指出,於去年的5月到6月間,該公司總共在全球網路上,偵測到83億次由機器人執行的惡意登入行為,而且於1個小時內,每個殭屍網路平均發出30萬次這種登入請求。在這份報告中,Akamail也強調,駭客為了隱藏他們的帳號填充攻擊跡象,會採取登入頻率極低的策略進行。

另一方面,由Ponemon Institute所做的訪查中,該公司調查了538位負責公司網站安全的亞太地區IT人員,高達86%的受訪者認為,合法使用者與帳號填充攻擊的登入行為難以區分,而表示相關攻擊行為不易察覺,或是遭到攻擊後難以恢復的IT人員,比例也都超過8成。

至於帳號填充攻擊對公司所帶來的衝擊,受訪者普遍認為,主要有3大危機:首先,是網頁應用程式因大量攻擊連線而停止運作;其次,則是處置遭駭的使用者帳號,涵蓋了資安事件的調查,以及客服部門所增加的工作量;接著,對於公司長期帶來的影響,則是使用者的滿意度下降。

在此同時,使用者疏於管理密碼的現象,依舊相當嚴重。F5指出,平均每4個人裡,就有3個會在多個網站採用相同的密碼。提供身分驗證系統業者SailPoint,去年也在有關使用者資安意識的調查裡,提出類似的看法,並指出2018年採用單一密碼的情況,遠比2014年要來得普遍,若是網站經營者還要寄望使用者自律,顯然是緣木求魚。

但如果你以為濫用相同帳號和密碼組合的做法,只有一般使用者缺乏資安意識才會這麼做,那可就大錯特錯。根據去年Lastline公司在一場倫敦資安會議上,對於306位與會的資安人士進行調查,竟有45%的受訪者會在多個網站共用密碼。即使是這種投身於資訊安全的專業人士,還是可能會抱持投機的心理,採用這種密碼設置策略。

密碼猜測攻擊手法演進的4種型態

攻擊者在嘗試猜測出帳號密碼,進而取得帳號控制權的方式,依據方法的精細程度,可區分成4種──從早期的暴力破解和字典攻擊,後來為了避免被受害單位察覺,並遭到系統鎖定,陸續出現了密碼潑灑與帳號填充攻擊手法。資料來源:ForceShield,iThome整理,2019年5月

攻擊手法 定義
暴力破解(Brute Force) 使用所有可能的密碼組合,嘗試登入系統。
字典攻擊(Dictionary Attack) 收集常見的密碼納入猜測字典,然後用來嘗試登入系統。
密碼潑灑(Password Spraying) 只使用單一弱密碼,對所有帳號進行測試。
帳號填充(Credential Stuffing) 利用外洩帳號資料庫的密碼組合,嘗試登入系統。

 

藉由遭駭網站帳號資料搭配,密碼測試攻擊得手機率大幅增加

在論及帳號填充手法的前身,大多數人或許能夠想到的類似攻擊手法,就是暴力破解密碼(Brute Force),使用各種可能的密碼組合,嘗試登入系統。但從現在的角度來看,這種做法會在短時間內頻繁地大量存取網站,不僅會造成網站營運阻斷(DoS),同時攻擊也因密碼錯誤次數太多,容易被發現,而遭到網站系統封鎖。

暴力破解密碼這種完全毫無頭緒的做法,要成功的機率其實並不高,因此,駭客便開始收集可能常被使用的密碼字串,縮小測試的範圍,也就是所謂的字典攻擊(Dictionary Attack)。

不過,即使採取了密碼字典進行登入測試,攻擊者還是避免不了大量存取網站,而被封鎖的命運,於是,他們後來就再度調整,只使用其中一組簡易密碼的策略,嘗試登入不同的使用者帳號,這種做法稱為密碼潑灑(Password Spraying)。由於每個帳號只嘗試登入一次,不致觸發系統鎖定帳號的規則,因此不若前述2種手法會容易被發現,但實際上,這麼做還是盲目碰運氣,看看這個網站是否有人真的使用這組密碼。

直到駭客留意到許多使用者會在多個網站服務裡,設定相同的帳號和密碼,較有效率的密碼猜測手法──帳號填充攻擊,也因應而生。與密碼潑灑相同的是,攻擊者不會重覆嘗試登入相同的帳號,但藉由被外洩的密碼字串,大幅增加得手機率。

透過帳號填充攻擊的做法效果如何?防範自動化攻擊的Shape Security公司指出,根據他們的統計,駭客能得手帳號控制權的比例,大約是0.2%到3%不等,也就是平均每測試1,000個帳號,就至少會有2個帳號淪陷。

網站帳號資料遭駭事件頻傳,助長帳號填充攻擊蔓延

若要發動帳號填充攻擊,駭客首先要取得的工具,就是可用來填入的帳號和密碼。而根據Gemalto的統計,光是去年上半傳出遭到外洩的資料量,就多達33億筆之多,這種現象,使得駭客想要拿到已經洩露的帳號資料,變得更為容易。圖片來源/Gemalto

可供使用者查詢帳密安全狀態的網站

使用者想要得知自己帳號和密碼的安全性,是否在資料外洩事件中流出,Have I Been Pwned網站共收錄365個被駭網站、逾78億筆帳號,讓使用者輸入用來做為帳號的電子郵件信箱查詢。圖片來源/Have I Been Pwned

攻擊手法趨於隱密,找出異常存取情事極為不易

至於管理者要從何做起,才能攔截帳號填充攻擊呢?首先,站方應該試圖從找出這種嘗試登入的行為著手。然而,在帳號填充攻擊裡,駭客往往已經規避了現有的防範暴力破解機制。

其中,為了避免帳號遭到鎖定,或是被站方發現異常登入的現象,攻擊者很可能針對網站的政策,採取減緩攻擊的措施。例如,某個網站在30分鐘內,使用者輸入5次錯誤的帳號和密碼之後,就會停止該名用戶存取,那麼駭客可能會改用每30分鐘嘗試4次的頻率,就能避免被判為異常。而現在,有些駭客甚至做到更為精細的攻擊手法──每個資料庫裡的帳號和密碼,只測試一次,而且還會逐次採用不同的IP位址,嘗試登入系統。

在現行網站防護系統中所採取的保護措施,主要還是在指定的時間間隔之內,某個使用者帳號裡,輸入錯誤密碼的事件達到一定次數之後,將帳號暫時停用一段時間。然而,面臨上述的低頻率攻擊手法,即使攻擊者將所有使用者的帳號都嘗試登入過一輪,在這種防護政策之下,企業只會將其視為用戶不小心輸入錯誤密碼,而無從發現背後可能是大規模的猜測密碼行為。要是攻擊者剛好試出可用的帳號和密碼組合,系統更不會察覺有異。

同時,這些防護機制攔截可能有害的登入來源對象,長期以來也是透過IP位址黑名單作為判斷依據。面臨駭客會不斷更換IP位址的做法,管理者若是單純倚靠黑名單的內容,不只會有新增不完的IP位址列表,一旦駭客使用了黑名單以外的IP位址做為跳板,這種識別措施形同虛設。

過去對於使用者的環境探測,企業的目的首重於改善使用者瀏覽體驗,因此可能讀取瀏覽器的使用者代理字串(User Agent)內容,得知使用者所執行的瀏覽器、電腦的作業系統,以及偏好的語言等,若是攻擊者採用無介面(Headless)模式的瀏覽器,企業難以從上述的字串中得知這種情況,察覺登入請求是出自於自動化攻擊。

考量到資安系統營運的成本等因素,企業監控使用者的對象,普遍是內部的員工,提供外部一般社會大眾能夠存取的的網頁應用程式,也難以要求執行嚴格的身分驗證流程,生怕影響使用者採用自家網站服務的意願,時至今日,還是不少網頁應用程式,並未提供雙因素驗證機制。基於這些已被駭客繞過的現行防護措施,企業想要偵測出帳號填充攻擊的行為,可說是難上加難。

仍有緩解相關攻擊的做法與原則,OWASP提出具體的對策

雖然這種猜測密碼的攻擊手法更加隱密,但拜駭客採用自動化填入大量帳號和密碼之賜,也不是全然沒有因應之道。長期專注於網頁應用程式安全的網路社群OWASP,便針對帳號填充攻擊的威脅,提出可以緩解的因應措施。依據這些方法的重要性,他們區隔成主要和次要(進階措施)等2種,不過,從實行的面向來看,我們也可以重新歸納為如何識別出機器人,以及防堵機器人自動化攻擊存取的方法。

在偵測是否為機器人發出登入請求的做法上,OWASP建議,透過採集端點電腦的指紋(Fingerprint),從裝置所執行的瀏覽器、作業系統、螢幕解析度、滑鼠操作行為,以及端點電腦所在的地理位置等資訊,識別出是真實使用者或是機器人所為。

而從防堵的角度來看,OWASP列出的做法又可以再加以區分為兩種,分別是防止自動化存取和事前預防的措施。為了杜絕機器人鎖定欄位的網頁程式碼段落,自動化填入帳號和密碼,就可能得以4登入系統,採用雙因素驗證或CAPTCHA人機驗證的機制,都有助於減緩網站受到這類攻擊的現象。此外,時下網站服務採用電子郵件信箱作為帳號名稱的情況相當普遍,容易讓使用者設定出完全相同的帳號和密碼情況發生,因此,在OWASP的建議事項裡,也認為網站帳號名稱的規則裡,企業應該捨棄使用電子郵件信箱的格式。

至於在增加身分驗證流程的複雜程度之外,也有其他進階的保護措施,讓機器人難以重覆填入帳號和密碼,但又不會影響一般使用者操作的流程。那就是將網頁的部分或是全部程式碼,進行混淆,甚至有些防護措施的機制中,只要用戶端重新載入網頁,便又重新傳送再次處理過的程式碼,使得機器人想要在相同的網頁程式碼欄位中,填入帳號與密碼的位置,變得無從執行,而達到防範的效果。

若是要從預防的角度下手,除了IP位址的黑名單之外,企業也可以收集外洩帳號的情資,及早發現可能處於被駭危機的使用者帳戶。

OWASP建議網站緩解帳號填充攻擊的方式

在防範帳號填充攻擊的做法上,OWASP提出了具體的建議措施,並依據可行性區分成主要和次要等2種,該單位也指出,部分措施與防治暴力猜測密碼的方法有交集之處,因此企業並非完全沒有防範帳號填充攻擊的能力。

重要性 可用的建議措施
主要作法

1. 採用多因素驗證
2. 使用CAPTCHA驗證
3. 封鎖IP位址黑名單
4. 採集裝置指紋
5. 棄用電子郵件信箱做為帳號名稱

次要做法

1. 採用多重步驟登入程序
2. 封鎖無使用者介面(Headless)瀏覽器
3. 禁用已被駭的密碼
4. 出現異常存取時通知使用者

資安廠商已有意識,但真正在商用產品納入相關防護者卻少之又少

上述由OWASP提出的各種做法,究竟要如何落實?或許,網站管理者可以從現有的防護措施中,加強網站存取的監控,或是採用雙因素驗證等措施,強化網站防護能力,而我們詢問開源軟體的專家,他們也提供了一些建議。

我們也向企業級的資安廠商詢問,要求他們提出因應帳號填充攻擊的方法,詭異的是,許多廠商卻避而不談,只有少數業者真正將帳號填充攻擊視為重要的防護項目,且推出商用產品或是納為解決方案重要功能,令我們感到相當意外。面對這樣的局面,也使得企業無所適從,因為,就算想要採買能夠防禦帳號填充攻擊的資安產品,實際可選擇的廠牌並不多。

因此,有關的資安業者應該要加緊腳步,趕快研發有關的防護機制,並實際在產品中提供這些功能,而非讓資安廠商的沉重呼籲成為紙上談兵,不能繼續讓企業網站的維護者只能採取東拼西湊的做法,自行想辦法土法煉鋼,打造出各種保護措施。


Advertisement

更多 iThome相關內容