[資訊安全]brute-force attack(暴力攻擊法)

[資訊安全]brute-force attack(暴力攻擊法)

再複雜的加密法,都會有被破解的一天,因為只要電腦運算的時間夠快,透過反覆的try-error,總是有機會try出正確的解密金鑰,而密碼也是一樣,只要有足夠多的嘗試機會,再複雜的密碼都有可能被破解,而這種透過無腦的try-error來破解密碼,這樣的攻擊手法被稱為brute-force,因為這個方法非常的暴力,因此也被稱為暴力攻擊法。

暴力攻擊法非常的簡單,以下我們隨便下載了一個暴力攻擊的軟體(沒看錯,網路上隨處可以下載到這樣的軟體),在此之前我們先對一個檔案做壓縮加密:

image

我們將密碼設定為12345:

image image

接著開啟我在網路上下載的暴力破解軟體,選擇了我要破解的檔案:

image

按下Start後,就發現我們的密碼真的被破解了,沒看錯,就這麼簡單,

image

對這種暴力破解的軟體來說,密碼的複雜度並不能避免被駭,只能減緩被駭的速度,這種駭客手法比較常使用的方式有兩種,一種是備妥字典檔,也就是將一堆密碼的集何放在字典檔中,將字典檔中每個密碼都拿來逐一測試,如果有符合的,就可以破解;另一種方法是程式隨機產生密碼,準備好所有的英數字、半形符號的字串陣列集合,透過程式撰寫,將這些字串集合作隨機的組合,然後嘗試去破解密碼,只要你的密碼是英數字、半形符號的的組合,在沒有防護措施狀況下就肯定會被破解...

從上方看來,這種攻擊手法使用上非常簡單,而要防護也不困難,常見防護手法有幾個:

  • 限制密碼嘗試次數:目前金融系統大多是這種方法,密碼錯了幾次後就不能再使用了
  • IP banned:延續1.,當此IP嘗試幾次失敗後,直接ban掉這個IP
  • Incremental delay:暴力攻擊法大多是反覆的對畫面上欄位進行密碼猜測,我們可在系統設計時,當使用者輸入錯誤密碼時,做某種程度的處理延遲,例如延遲一秒鐘,再錯,再延遲...當錯了100次後,就會延遲100秒,在某種程度上就大大拉長了被駭的速率...
  • 避免太過明確的錯誤訊息:有些網站當登入密碼錯誤時,會跳出密碼錯誤,帳號不存在時會跳出帳號不存在,其實這樣的錯誤訊息對駭客來說非常有用,可讓他們了解目前的帳號是否正確,帳號正確後繼續測試密碼,直到破解為止,一些對使用者方便的訊息,其實都間接幫助了駭客...

要預防暴力攻擊法,必須要使用以上幾點防範措施,並搭配適當的密碼強度,因為即使系統檔了try三次擋掉,但若你的密碼很容易被猜到,那三次或許也足夠了...

游舒帆 (gipi)

探索原力Co-founder,曾任TutorABC協理與鼎新電腦總監,並曾獲選兩屆微軟最有價值專家 ( MVP ),離開職場後創辦探索原力,致力於協助青少年培養面對未來的能力。認為教育與組織育才其實息息相關,都是在為未來儲備能量,2018年起成立為期一年的專題課程《職涯躍升的關鍵24堂課》,為培養台灣未來的領袖而努力。