每天,無論是在工作或私人生活中,我們都會輸入數十個密碼。我們登入電腦、郵箱、Wi-Fi、Facebook、Instagram、LinkedIn、線上商店、患者帳戶以及許多其他應用程式。絕大多數(如果不是全部)登入都需要我們輸入密碼。我們是否妥善保護了這些密碼的安全性?
一位安全研究人員的統計顯示,如何破解instagram帳戶和密碼86%的用戶使用的密碼被認為非常弱或在過去洩露過的密碼列表中,密碼漏洞位列OWASP Top 10列表(Web應用程式十大最常見漏洞列表)。
說到 OWASP(開放 Web 應用程式安全專案),值得一提的是,它是一個非營利組織,旨在透過建立開放取用的文章、方法、文件、工具和技術來改善應用程式安全現狀。該組織最著名的項目之一實際上是 OWASP Top 10 榜單。
在我們深入探討密碼破解和安全密碼建議之前,我推薦您參考xkcd網站上的一張幽默圖。它很好地詮釋了密碼複雜性和可用性。隨機密碼並非總是最佳解決方案,記住它們也總是一項嚴峻的挑戰。

密碼破解方法及安全密碼的特點
密碼破解技術可以分為幾種類型。可以透過社會工程攻擊、操縱和欺騙手段,如何破解instagram帳戶和密碼或根據使用者資訊和常用密碼清單猜測密碼來取得使用者密碼。此外,還可以使用完全技術性的攻擊,例如暴力破解攻擊(透過使用腳本檢查所有可能的組合來查找密碼)和字典攻擊(或兩者結合)。並非所有攻擊都能被應用程式開發人員防範。對於「詢問」和「猜測」攻擊,開發人員只能教育使用者並阻止他們輸入過於簡單的密碼,但對於其他形式的攻擊,可以採取技術保護措施。
預設情況下,如果密碼的破解時間超過 1 個月(不包含重要資料的系統)、1 年(大多數系統/應用程式)、10 年甚至 100 年(關鍵系統),則可視為安全密碼。當然,潛在的密碼破解時間受所使用的運算資源量的影響,這可以根據潛在攻擊者的個人資料進行估算,例如,政府機構或大型組織可能比資源有限且有能力僱用殭屍網路(殭屍網路是由感染惡意軟體並由攻擊者控制的電腦組成的網路)的單一駭客擁有更多的運算資源。然而,無論計算資源如何,較長的密碼總是包含更大的字元組合,這使得它們更難破解。除了長度之外,複雜性也非常重要。少於 20 個字元的密碼如果僅由小寫拉丁字母組成,通常被認為是弱密碼。最容易破解且幾乎沒有保護作用的是包含最常用單字和字典密碼的密碼。如果您遇到過 10 個最受歡迎密碼的列表,它們的形式如下。這裡,根據資料樣本,此類密碼顯示如下:
- 123456
- 123456789
- 快蹄鍵盤
- 密碼
- 111111
- 12345678
- abc123
- 1234567
- 密碼1
- 12345
然而,我們當中誰沒用過 QWERTY 密碼呢?那麼,為什麼我們會如此頻繁地使用這種密碼呢?答案很簡單——我們關心的是密碼是否容易記住,也就是說,可用性對我們來說比安全性更重要。
什麼樣的密碼不只安全還容易記住?
以上列出的密碼除了容易破解之外,還有一個共同點——易於記憶,也就是方便,畢竟系統的便利性和易用性至關重要。用戶會選擇自己能夠記住的密碼。記住幾十個不同服務的長隨機密碼幾乎是不可能的,反過來,強迫用戶創建這樣的密碼會導緻密碼經常被遺忘或寫下來,通常放在容易拿到的地方,這大大降低了密碼的安全性。因此,從可用性的角度來看密碼,我們首先需要的是易於記憶的密碼。由易於記憶的單字組成的密碼的安全性如何?連結的漫畫已經部分回答了這個問題。由幾個句子的單字(例如,我們正在思考的內容、一首詩、一首歌曲(最好不是最受歡迎的歌曲))組成的密碼,並用特殊字元和數字分隔,幾乎無法透過暴力破解和字典攻擊來破解。例如,密碼Blue$55$Dress比隨機產生的密碼 J4fS>7 更難破解,最重要的是它更容易記住。
從用戶角度看密碼安全
作為有意識的用戶,我們應該為每項服務設定複雜且易記的密碼,並遵循上述指南進行設定。此外,每個密碼都必須唯一且定期更改,這一點至關重要。由於密碼的唯一性,我們可以避免以下情況:某個服務的資料外洩導致其他使用相同密碼的服務的帳戶被盜用。密碼不應以明文形式寫在容易拿到的地方(例如,貼在顯示器上的紙條就不是個好主意☺),也不應該與他人共享。如果您難以記住密碼,可以使用密碼管理器,例如 KeePass。讓我們回顧一下前面提到的弱密碼使用統計數據。這些資料來自一個在資料安全事件中洩漏的帳戶和密碼資料庫。這樣的資料庫不僅可以在駭客論壇或暗網(暗網是網路的隱藏部分)上找到,我們可以使用「我被駭了嗎」輕鬆搜尋它。這項服務快速且免費,讓我們可以檢查密碼是否已洩露,並判斷是否應立即更改。我們可以透過電子郵件地址進行搜索,還可以設定警報,如何破解instagram帳戶和密碼以防我們的電子郵件地址出現在後續洩漏的資料中。以下是使用該服務檢查帳戶結果的範例螢幕截圖。

結果包括有關事件的簡要資訊以及暴露的資料列表,在我的範例中,這些是電子郵件地址、地理位置、IP 位址、姓名、密碼。
從應用程式開發人員的角度看密碼安全
為了防止不知情的用戶為應用程式設定弱密碼,應根據應用程式及其儲存資料的重要性設定相應的密碼策略。 OWASP 建議對密碼的長度和複雜性提出要求。應用程式應檢查密碼的最小長度,最好為 10 個字符,並鼓勵設定比常規密碼更長但更容易記住的密碼(句子或單字組合),就像前面的範例一樣。此外,還建議引入針對自動攻擊的保護措施,例如在連續登入之間添加幾秒鐘的間隔,並在偵測到多次連續登入失敗時阻止帳戶或降低登入速度。此外,還應啟用多元件登錄,即所謂的 2FA/MFA,除了登入名稱和密碼外,使用者還必須提供例如來自簡訊的代碼。您還可以實現檢查密碼強度的功能,並驗證密碼是否不在「千強密碼」清單中。如果可能的話,也應防止列出應用程式使用者的登入資訊。總而言之,無論是在應用程式中為私人帳戶設定密碼,還是在建立或測試應用程式時,都不應忘記密碼安全性。在應用程式中,我們應始終引入密碼複雜度要求,以便用戶沒有機會建立非常弱的密碼。作為用戶,如何破解instagram帳戶和密碼我們也應該牢記密碼安全性,創建複雜但易於記憶的密碼,最好是由特殊字元分隔的幾個單字組成的密碼。