
很抱歉給您帶來不便,因為英語不是我的母語。
我經常hosts
造訪一些網站,因為 DNS 被污染了。
我的問題是,舉www.google.com
個例子。
如果我成功地被攻擊者進行了社交工程,並將翻譯更改hosts
為網路釣魚網站。
如果我用了http
,那我就徹底完蛋了,對吧?
如果我使用https
,那麼如果我的電腦沒有受到損害,瀏覽器會發出警告。
對於這種https
情況,釣魚網站是否有可能只是經過給我的證書www.google.com
可以證明它是正品嗎?
答案1
考慮以下陳述:
全部
examplebank.com
如果沒有網域所有權證明,您的網路瀏覽器可信任的憑證授權單位將拒絕向攻擊者發出憑證。所有授權機構的簽署金鑰都被安全存儲,未經授權的人無法向自己頒發證書。 (參見最近科摩多闖入.)
您的 Web 瀏覽器會正確檢查伺服器的 SSL 憑證是否由有效的 CA 頒發、未被撤銷、是否可供伺服器使用有效以及是否為網域頒發
examplebank.com
。不存在導致此類檢查被繞過的活動惡意軟體或瀏覽器錯誤。
您始終打開
https://examplebank.com
,明確請求 SSL,而不是依賴網站來重定向您。你其實讀Ignore打開網站時不要盲目點擊 SSL 錯誤訊息。
如果以上所有條件均成立,則 HTTPS 將警告你您嘗試連接到虛假網站。但是,HTTPS 無法繞過較低層級的重定向(例如examplebank.com
DNS 或欺騙/etc/hosts
),因此如果您忽略警告,您的資料將流向攻擊者,而不是真正的銀行。
總而言之,是的,這很危險。
回答編輯後的問題:
如果您使用純 HTTP,那麼您就完蛋了。
如果您使用 HTTPS,您將收到一個大紅色警告(請參閱答案的第一部分)。
每個「憑證」都有一個 RSA(有時是 DSA、ECDSA)金鑰對。該對的公鑰是憑證的一部分,而私鑰則被鎖定在網路伺服器中並且永遠不會透過網路發送。成功完成 TLS/SSL 握手需要兩個金鑰。
如果攻擊者提供證書,但沒有關聯的私鑰,他們將無法解密通過 TLS 的任何流量。維基百科有一個TLS 握手的描述。
答案2
只有當您的用戶端不受損害時,SSL (HTTPS) 才會保護您。
如果有人設法修改/etc/hosts,他還可以設法修改您的瀏覽器,使其不對您所連接的伺服器執行SSL 驗證,或者他可以將其詐騙伺服器的假憑證新增至您系統的可信任憑證資料庫中。
然而,如果您的用戶端沒有受到損害,並且有人設法將您的瀏覽器重定向到不同的IP 位址(例如某種與DNS 相關的駭客行為,或欺騙您修改/etc/hosts 而不進行任何其他操作),則瀏覽器會警告您有些內容伺服器的憑證有誤,並且,只要您不忽略警告並繼續,您就是安全的。
關於你的第二個問題:
對於https的情況,是否有可能釣魚網站只是將www.google.com的證書傳遞給我來證明它是真實的?
不,這是不可能的,除非攻擊者設法獲取伺服器的私鑰(例如透過駭客攻擊伺服器本身)。即使欺詐伺服器「傳遞」了伺服器的證書,如果客戶端不擁有該私鑰,他也無法向客戶端證明其身分。如果他嘗試這樣做,他將失敗並且瀏覽器將顯示警告。
答案3
但丁,歡迎您的編輯。但答案依然存在。如果主機檔案遭到破壞,則與該檔案上經過社會工程改造的那些網域相關的整個安全性可能會受到影響。
HTTPS 是例外,它會提供某種形式的保護,因為憑證系統會讓您知道您正在查看的網站可能並不像看起來的那樣。