By Ryan
前言
在現今資訊發達的時代,從手機、電腦及印表機等硬體,到社群網站、遊戲及影音平台等軟體或網站,都需要設定帳號密碼來保護相關使用權限與紀錄使用者習慣。導致現代人必須同時記非常多組密碼,而多數人又會因為害怕忘記,往往選擇設定較為簡單且易記的密碼,但這樣的舉動卻會造成密碼容易被駭客攻破。近期社群帳號被盜事件頻傳,而這些被盜取的帳號,一部分很有可能就是利用「密碼爆破手法」攻擊成功的案例,將可能使使用者的個人隱私遭到侵犯,更有可能讓生命財產遭受到威脅。
而一旦駭客成功獲取帳號後,不僅能取得該帳號的所有資訊,更能夠進一步對其他關聯使用者帳號進行其他手法的釣魚攻擊,讓他人點擊釣魚連結。如此一來,就會讓危害有進一步擴大的可能,而造成難以想像的危害及損失。因此,如何設定密碼就變得至關重要,假如密碼設的過於簡單,將容易被有心人士不停嘗試而被“猜”出來,這就是所謂的「密碼爆破攻擊」。
密碼爆破
簡單來說,「密碼爆破攻擊」是一種分析密碼的手法,主要目的就是將密碼進行所有可能性的推算直到成功為止。
例如:已知一個全由阿拉伯數字0~9組成的五位數密碼,則會有10萬種組合,這時只要利用電腦來增加嘗試的效率,就可以於更短時間內破解出密碼。這種窮舉的密碼爆破方式可以說是成功率最高,但也最耗費時間和資源的方法。
另外,密碼爆破還有另一種常見的方式—字典檔攻擊,這種手法是利用事前收集好的常見密碼,或者認為有可能的密碼,整理成一個清單,也就是所謂的「字典」,攻擊者再透過此字典檔進行攻擊。
接下來我們將介紹一款工具名為John the Ripper,可以實現多項較為主流且常見的攻擊手法,其中當然也包含上述的窮舉爆破與字典檔爆破。
工具介紹
John the Ripper是一個密碼爆破工具,用於在已知密文的情況下嘗試破解密碼的開源軟體,支援大多數常見的加密演算法,並可在許多不同的作業系統中執行。而John the Ripper主要提供四種破解密碼的模式給使用者選擇,分別為簡單模式(Single crack mode)、字典模式(Wordlist crack mode)、窮舉模式(Incremental mode)及外部模式(External mode)。
首先我們介紹簡單模式。這種方法是利用帳號名稱或檔案名稱進行簡單變換後,來破解目標密碼。他比較適用於簡單密碼的情況下使用,此模式的優點為可快速解出簡單的密碼,但成功率則會相較其他模式來得低。例如:帳號為apple,而密碼為apple123。
接著「字典模式」則是利用字典檔內的密碼逐次比對進行破密。適用於密碼為常見或特殊領域常用的相關字詞,優點是可依需求不同彈性調整字典檔大小與內容,但相反來說,字典檔的深度能夠決定破密成功的機率,當字典檔的範圍不夠大,則會讓成功機率降低。例如:密碼為password、p@ssw0rd或qweasdzxc等等較為常見之密碼,皆可使用此模式進行破密。
再來介紹「窮舉模式」,他是利用窮舉法的爆破模式猜解欲爆破之密碼,通常用於毫無密碼線索的情況下,在模式內設定爆破規則。此模式之爆破成功率是所有手法中最高的,但缺點就是必須花費非常大量的資源及時間。例如:猜測範圍設定數字0~9、大寫英文A~Z及小寫英文a~z等等。
最後「外部模式」則是設計讓使用者能利用自身寫好的規則進行破密,這個模式的優點是自由度高,可根據遇到的情況彈性調整腳本,使成功率提高,但是需避免語法設定錯誤,使得工具編譯失敗或無法破密。
結語
總歸來說,我們必須增加密碼的強度才能預防被駭客輕易的攻破,而有哪些方法能降低被爆破的風險呢?
答案是增加密碼長度和複雜度,增加密碼長度非常直觀好理解,只要在設定密碼時,將密碼加長即可。而所謂增加複雜度,則是讓密碼的組成包含大小寫英文、數字及符號。如此一來,透過加長密碼長度與增加複雜度,將會使駭客欲爆破密碼時,需嘗試的次數大幅增加,進而降低被成功爆破的機率。