選單
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

網路安全 密碼


許多系統都受一個簡單的密碼保護。這並不是理想的,因為密碼在很多情況下很容易被破解、重複使用或被攻擊者濫用。本節將探討與密碼相關的攻擊和防禦。


密碼強度

什麼決定了一個強密碼?是密碼的複雜性嗎?它有多少個字元?特殊字元的數量?

著名的漫畫家 xkcd.com 在下面的漫畫中巧妙地展示了密碼如何被攻擊。花一秒鐘看看,然後我們再進一步討論。

注意:熵(Entropy)意味著不可預測性。熵越高,透過標準手段破解就越難。

XKCD Password Strength

來自 XKCD 的漫畫:https://xkcd.com/936/

如果我們考慮第一個密碼 Tr0ub4dor&3,這個密碼符合大多數密碼策略規則,例如包含大寫字母、數字、特殊字元,並且長度為 11 個字元。然而,這個密碼有一些問題,它

  • 很難記住。你是把第一個 o(字母)字元替換成 0(數字)了嗎,還是第二個?你是把 a 字元替換成 4 了嗎,還是沒有?
  • 很難輸入。你必須按照特定的順序輸入不同的字母、數字和特殊字元。它可能不是你在鍵盤上輸入速度最快的詞。
  • 它並不很強!這個密碼是基於一個相當常見的詞,並且它提供的強度很小,只有大約 28 位的熵。

與其選擇具有這些負面因素的密碼,不如以簡單的方式大大提高密碼的熵。如果我們考慮密碼 CorrectHorseBatteryStaple,我們會看到密碼有顯著的改進

  • 密碼很容易輸入。輸入常規詞語對許多人來說是日常活動,並且你可以非常快速地做到。
  • 它很容易記住。透過使用密碼的視覺影像,一匹馬、一個電池、一個釘書釘和“正確”(correct)這個詞,我們可以更容易地記住它。
  • 它在大多數密碼破解活動中都更強大!它提供大約 44 位的熵,使其非常難以破解。

像這樣的密碼稱為密碼短語,它通常比帶有某些複雜性的簡單單詞是更好的做法。考慮如何改進密碼使其更強大,並符合密碼策略規則,例如特殊字元和大小寫字母!你甚至可以在密碼中使用空格,使密碼短語更容易輸入。


密碼管理器

多年來,寫下你的密碼一直被認為是不好的做法,但它真的如此嗎?在多個線上服務中使用相同的密碼存在重大風險,如果其中一個平臺被駭客攻擊了怎麼辦?那麼該密碼就會洩露,攻擊者就可以在所有使用該密碼的其他服務上重複使用它。

為了解決這個問題,建議不要在多個服務之間重複使用相同的密碼。這對使用者來說非常困難,因為他們不僅被要求使用唯一的密碼,同時還要建立強大而健壯的密碼!密碼管理器透過提供一種儘可能安全的方式來幫助使用者解決這個問題,在檔案、資料庫或其他系統中記錄密碼,使密碼易於訪問,並確保它們在不同服務之間是強大且唯一的。

正確實施後,密碼管理器將

  • 使網際網路使用更加安全
  • 提高生產力,因為不同服務的密碼可以很容易地找到、複製並貼上到使用者想要登入的相應服務中
  • 當需要時,提供重置和重新生成新密碼的簡便方法。

對於我們的使用者來說,寫下密碼的風險比他們重複使用密碼要低得多。是的,這不是一個完美的解決方案,因為密碼管理器有可能被洩露,但是,這被認為是一種更安全的方法。


無密碼解決方案

如果密碼本身可以被淘汰呢?總有一些人無法每天輸入更長的密碼短語。這可能有多種原因,例如

  • 辦公室裡不懂 IT 的員工
  • 一名醫生每天在拜訪不同病人的同時,在醫院裡訪問許多不同的計算機
  • 在需要它的系統上輸入密碼很困難

不需要使用者提供密碼的系統的開發和實施正在迅速發展。與其要求使用者使用密碼進行身份驗證,不如允許他們使用例如

  • 他們自身的東西,例如他們的面部或指紋
  • 他們擁有的東西,例如令牌或手機

這存在挑戰,但就安全性而言,我們是否真的在讓使用者的問題變得更糟或更好?我們必須記住,我們並不試圖實施完美的安​​全系統,它們通常是難以企及且無法實現的,因此我們必須仔細考慮如何限制威脅,同時讓使用者的生活更輕鬆。密碼並不完美,無密碼解決方案也不完美。您將為您的使用者實施哪一個?


多因素認證

我們瞭解到,無論使用何種解決方案來驗證使用者,他們的帳戶仍然會存在重大風險,可以實施其他解決方案來幫助降低風險。

多因素認證允許解決方案不僅基於例如密碼來驗證使用者,同時還要求使用者提供第二個因素來證明他們的身份。

Multi-Factor Authentication

可以有幾種不同的方式來要求第二個因素。以下是一些例子

  • 使用智慧手機上的身份驗證應用程式提供一個秘密程式碼
  • 透過手機接收簡訊(“簡訊服務”)傳送的秘密程式碼
  • 使用硬體令牌提供一個秘密程式碼
  • 出示指紋或面部以識別個人

以上所有都需要不僅知道密碼,還需要提供第二個專案(一個因素)。

這些型別的解決方案有時被認為對使用者具有侵入性。為了解決這個問題,可以應用 DAC(“自主訪問控制”)概念。DAC 允許登入解決方案考慮是否需要向用戶挑戰多因素程式碼。例如,多因素認證可能僅在使用者

  • 從新位置登入
  • 使用不同的瀏覽器或軟體訪問應用程式
  • 嘗試在應用程式中執行敏感操作,例如更改密碼或執行超過特定閾值的金錢交易

密碼猜測

當攻擊者遇到應用程式和服務時,可能會有機會進行密碼猜測。密碼猜測是一種活動,涉及攻擊者透過網路與應用程式進行互動,嘗試列出不同使用者名稱和密碼的組合。

密碼猜測使攻擊者有機會找到具有薄弱使用者名稱和密碼組合的帳戶。

Password Guessing

如果攻擊者成功找到一個有效的帳戶進行登入,新的機會就會呈現在攻擊者面前。考慮攻擊者現在可以訪問什麼樣功能的和資料。以下是一些攻擊者成功猜測某人密碼的例子

  • 攻擊者訪問一名員工的電子郵件帳戶。裡面有數千封郵件,記錄了多年的歷史。郵件中溝通了密碼,允許攻擊者登入更多系統。此外,還有數百個附件,其中一些可能包含非常敏感的資訊。
  • 攻擊者成功猜測了 HVAC(“供暖、通風和空調”)系統的管理員帳戶密碼,該系統負責冷卻伺服器機房。攻擊者能夠更改 HVAC 的引數,並透過仔細的修改導致伺服器機房過熱。
  • 網際網路上有一個 VPN 服務,允許員工訪問內部資源。一名員工的密碼很弱,攻擊者透過數天的反覆密碼猜測成功猜到了。攻擊者訪問了 VPN 服務,現在已經進入了該組織的內部網路。從這裡,攻擊者在組織內部安裝了勒索軟體。
  • 一個 Web 應用程式部署在網際網路上。從外部來看,它沒有任何明顯的漏洞,然而,攻擊者能夠透過密碼猜測進入系統上的普通使用者帳戶。因為託管該 Web 應用程式的公司信任他們的使用者,所以應用程式內部的網路安全很差。從這裡,攻擊者能夠利用 Web 漏洞來破壞伺服器。

許多網路服務都有內建的管理員帳戶,有些甚至保留了自安裝以來的預設密碼。對於網路上的每個服務,攻擊者都可以嘗試使用預設憑據登入。此外,攻擊者可以嘗試典型的弱密碼。以下是一些典型和弱密碼的例子。請注意,為了繞過密碼策略,所有這些密碼都以感嘆號結尾

密碼 註釋
Summer2021! 許多人,包括公司的幫助臺,會執行密碼重置,並將密碼設定為當前季節和年份。
W3schools123! 公司名稱經常被用作使用者的密碼。數字 123 和末尾的感嘆號是使用者選擇的,以透過密碼策略並使其稍微複雜一些。
Rosalynn2006! Rosalynn,也許是某人的孩子?使用者經常使用個人喜愛的東西作為他們的密碼。孩子的名字以及他們出生的年份非常受歡迎。
Qwerty123456! 一個看似隨機的密碼?這個密碼是有人依次按下鍵盤按鍵,然後使用數字執行相同的操作。

一個允許我們輕鬆配置使用者名稱和密碼列表以針對多種不同服務進行嘗試的工具是 THC-Hydra (https://github.com/vanhauser-thc/thc-hydra)。它支援大量協議進行攻擊,例如

  • RDP(“遠端桌面協議”)
  • FTP(“檔案傳輸協議”)
  • SMB(“伺服器訊息塊”)
  • Telnet
  • SSH(“安全套接字主機”)

要使用 THC-Hydra 來針對例如 FTP,可以使用以下命令

hydra -L common_usernames.txt -P common_passwords.txt ftp:///

此命令使用常用使用者名稱和常用密碼列表,在 localhost 或您選擇的 IP 地址的 FTP 服務上嘗試它們。


憑證填充

攻擊者常用的攻擊方式是憑證填充。這涉及到攻擊者下載大量的憑證資料庫,並將適用的憑證針對網路服務進行測試。當第三方服務被駭客攻擊、資料庫被盜並在網際網路上洩露供任何人下載時,就會發生憑證洩露。

不幸的是,許多使用者在不同的服務上重複使用相同的密碼,使得憑證填充攻擊對組織來說非常有效。

注意:任何人都可以在網際網路上搜索包含洩露憑證和密碼的資料庫。當人們不更改他們的密碼時,駭客攻擊並不難?!

密碼破解

密碼猜測是一種線上攻擊,而密碼破解是一種離線攻擊。它涉及到攻擊者首先從目標系統中竊取密碼錶示。

密碼通常表示為密碼雜湊。雜湊是一種儲存使用者密碼的方法,透過將它們透過單向函式傳送,使得在不使用密碼破解的情況下無法逆轉密碼。

如果攻擊者能夠從系統中檢索憑證,這些憑證很可能受到加密或雜湊的保護。雜湊是一種單向函式,旨在不被逆向為其原始值。

密碼破解涉及使用計算能力,即 CPU(“中央處理器”)和 GPU(“圖形處理器”),嘗試建立與從系統中檢索到的受保護憑證匹配的密碼猜測。

注意:GPU 通常在密碼破解方面表現更好,因為它有數百個微型核心,每個核心都可以獨立執行小型任務。這使得密碼破解器能夠透過在許多不同核心上擴充套件破解活動來變得更快。

沒有身份驗證的服務

透過探索和發現應用程式,有時您會遇到未受身份驗證保護的應用程式。這些應用程式對攻擊者很有用,例如可以利用搜索欄位來查詢敏感資訊。

網路上的許多應用程式都可以自由探索,有時可以為攻擊者提供他們正在尋找的準確資料。

在進行網路對映和埠掃描練習時,每個發現的系統和服務都應該被探索。


使用現有憑證

通常,攻擊者已經在使用環境中的使用者憑證。例如,如果攻擊者已經破壞了某人的計算機系統,他們就可以重複使用該系統已使用的憑證。

這為攻擊者提供了更多機會。考慮現在可以濫用的所有應用程式。例如

  • 郵箱
  • SharePoint
  • 人力資源和會計
  • VPN(“虛擬專用網路”)

一旦攻擊者可以訪問受訪問控制的應用程式,漏洞和資料通常會非常豐富。

也可以透過不同方式提取系統憑證,通常涉及擁有系統的管理員訪問許可權。Mimikatz (https://github.com/gentilkiwi/mimikatz) 就是這樣一種工具,它試圖從系統中轉儲憑證。



×

聯絡銷售

如果您想將 W3Schools 服務用於教育機構、團隊或企業,請傳送電子郵件給我們
sales@w3schools.com

報告錯誤

如果您想報告錯誤,或想提出建議,請傳送電子郵件給我們
help@w3schools.com

W3Schools 經過最佳化,旨在方便學習和培訓。示例可能經過簡化,以提高閱讀和學習體驗。教程、參考資料和示例會不斷審查,以避免錯誤,但我們無法保證所有內容的完全正確性。使用 W3Schools 即表示您已閱讀並接受我們的使用條款Cookie 和隱私政策

版權所有 1999-2024 Refsnes Data。保留所有權利。W3Schools 由 W3.CSS 提供支援