如何防範誤植攻擊
除了常規手段以外,網路罪犯還會利用社會工程的方式,試圖讓安全意識較弱的人泄露私人信息或是有價值的證書。很多網路釣魚騙局的實質都是攻擊者偽裝成信譽良好的公司或組織,然後藉此大規模傳播病毒或惡意軟體。
誤植 就是其中一個常用的手法。它是一種社會工程學的攻擊方式,通過使用一些合法網站的錯誤拼寫的 URL 以引誘用戶訪問惡意網站,這樣的做法既使真正的原網站遭受聲譽上的損害,又誘使用戶向這些惡意網站提交個人敏感信息。因此,網站的管理人員和用戶雙方都應該意識到這個問題帶來的風險,並採取措施加以保護。
一些由廣大開發者在公共代碼庫中維護的開源軟體通常都被認為具有安全上的優勢,但當面臨社會工程學攻擊或惡意軟體植入時,開源軟體也需要注意以免受到傷害。
下面就來關注一下誤植攻擊的發展趨勢,以及這種攻擊方式在未來可能對開源軟體造成的影響。
什麼是誤植?
誤植是一種非常特殊的網路犯罪形式,其背後通常是一個更大的網路釣魚騙局。不法分子首先會購買和註冊域名,而他們註冊的域名通常是一個常用網站的錯誤拼寫形式,例如在正確拼寫的基礎上添加一個額外的母音字母,又或者是將字母「i」替換成字母「l」。對於同一個正常域名,不法分子通常會註冊數十個拼寫錯誤的變體域名。
用戶一旦訪問這樣的域名,不法分子的目的就已經成功了一半。為此,他們會通過電子郵件的方式,誘導用戶訪問這樣的偽造域名。偽造域名指向的頁面中,通常都帶有一個簡單的登錄界面,還會附上熟悉的被模仿網站的徽標,儘可能讓用戶認為自己訪問的是真實的網站。
如果用戶沒有識破這一個騙局,在頁面中提交了諸如銀行卡號、用戶名、密碼等敏感信息,這些數據就會被不法分子所完全掌控。進一步來看,如果這個用戶在其它網站也使用了相同的用戶名和密碼,那就有同樣受到波及的風險。受害者最終可能會面臨身份被盜、信用記錄被破壞等危險。
最近的一些案例
從網站的所有方來看,遭到誤植攻擊可能會帶來一場公關危機。儘管網站域名的所有者沒有參與到犯罪當中,但這會被認為是一次管理上的失職,因為域名所有者有主動防禦誤植攻擊的責任,以避免這一類欺詐事件的發生。
在幾年之前就發生過一起案件,很多健康保險客戶收到了一封指向 we11point.com 的釣魚電子郵件,其中 URL 里正確的字母「l」被換成了數字「1」,從而導致一批用戶成為了這一次攻擊的受害者。
最初,與特定國家/地區相關的頂級域名是不允許隨意註冊的。但後來國際域名規則中放開這一限制之後,又興起了一波新的誤植攻擊。例如最常見的一種手法就是註冊一個與 .com 域名類似的 .om 域名,一旦在輸入 URL 時不慎遺漏了字母 c 就會給不法分子帶來可乘之機。
網站如何防範誤植攻擊
對於一個公司來說,最好的策略就是永遠比誤植攻擊採取早一步的行動。
也就是說,在註冊域名的時候,不僅要註冊自己商標名稱的域名,最好還要同時註冊可能由於拼寫錯誤產生的其它域名。當然,沒有太大必要把可能導致錯誤的所有頂級域名都註冊掉,但至少要把可能導致錯誤的一些一級域名搶注下來。
如果你有讓用戶跳轉到一個第三方網站的需求,務必要讓用戶從你的官方網站上進行跳轉,而不應該通過類似群發郵件的方式向用戶告知 URL。因此,必須明確一個策略:在與用戶通信交流時,不將用戶引導到官方網站以外的地方去。在這樣的情況下,如果有不法分子試圖以你公司的名義發布虛假消息,用戶將會從帶有異樣的頁面或 URL 上有所察覺。
你可以使用類似 DNS Twist 的開源工具來掃描公司正在使用的域名,它可以確定是否有相似的域名已被註冊,從而暴露潛在的誤植攻擊。DNS Twist 可以在 Linux 系統上通過一系列的 shell 命令來運行。
還有一些網路提供商(ISP)會將防護誤植攻擊作為他們網路產品的一部分。這就相當於一層額外的保護,如果用戶不慎輸入了帶有拼寫錯誤的 URL,就會被提示該頁面已經被阻止並重定向到正確的域名。
如果你是系統管理員,還可以考慮運行一個自建的 DNS 伺服器,以便通過黑名單的機制禁止對某些域名的訪問。
你還可以密切監控網站的訪問流量,如果來自某個特定地區的用戶被集體重定向到了虛假的站點,那麼訪問量將會發生驟降。這也是一個有效監控誤植攻擊的角度。
防範誤植攻擊與防範其它網路攻擊一樣需要保持警惕。所有用戶都希望網站的所有者能夠掃除那些與正主類似的假冒站點,如果這項工作沒有做好,用戶的信任對你的信任程度就會每況愈下。
誤植對開源軟體的影響
因為開源項目的源代碼是公開的,所以其中大部分項目都會進行安全和滲透測試。但錯誤是不可能完全避免的,如果你參與了開源項目,還是有需要注意的地方。
當你收到一個不明來源的 合併請求 或補丁時,必須在合併之前仔細檢查,尤其是相關代碼涉及到網路層面的時候。不要屈服於只測試構建的誘惑; 一定要進行嚴格的檢查和測試,以確保沒有惡意代碼混入正常的代碼當中。
同時,還要嚴格按照正確的方法使用域名,避免不法分子創建仿冒的下載站點並提供帶有惡意代碼的軟體。可以通過如下所示的方法使用數字簽名來確保你的軟體沒有被篡改:
gpg --armor --detach-sig
--output advent-gnome.sig
example-0.0.1.tar.xz
同時給出你提供的文件的校驗和:
sha256sum example-0.0.1.tar.xz > example-0.0.1.txt
無論你的用戶會不會去用上這些安全措施,你也應該提供這些必要的信息。因為只要有那麼一個人留意到簽名有異樣,就能為你敲響警鐘。
總結
人類犯錯在所難免。世界上數百萬人輸入同一個網址時,總會有人出現拼寫的錯誤。不法分子也正是抓住了這個漏洞才得以實施誤植攻擊。
用搶注域名的方式去完全根治誤植攻擊也是不太現實的,我們更應該關注這種攻擊的傳播方式以減輕它對我們的影響。最好的保護就是和用戶之間建立信任,並積極檢測誤植攻擊的潛在風險。作為開源社區,我們更應該團結起來一起應對誤植攻擊。
via: https://opensource.com/article/20/1/stop-typosquatting-attacks
作者:Sam Bocetta 選題:lujun9972 譯者:HankChow 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive