Chrome 68會向所有HTTP網站發出「警告信息」
Google在7月24號發布的Chrome68中,引入了一項重大的安全機制。當載入非HTTPS網站時,該瀏覽器的處理方式會更加審慎。此時地址欄的非HTTPS網站被顯著標記為「不安全(Not Secure)」,也就是說,只要遇到潛在不安全的站點,Chrome都將發出警告信息。
此前,Chrome只會給那些需要記錄密碼、銀行賬戶信息的HTTP網站標記「不安全」。而現在Google突然加快的步伐,徹底將那些缺失有效安全證書的非HTTPS網站劃歸到了「潛在不安全」的網站,說明HTTPS的普及情況仍舊不甚理想,遇到了很大的瓶頸。
HTTPS的推廣正面臨一個「臨界點」
去年1月,網路安全專家兼微軟區域主管Troy Hunt曾發文表示HTTPS的推廣正面臨一個「臨界點」,也就是說,願意使用HTTPS的組織已經積極採用了,而不願意採用HTTPS的組織,則以各種理由進行推脫,其中的主要是因為遷移至HTTPS比較困難,存在一定的技術門檻,而且成本也比較高昂。所以正如Troy Hunt所分析的,HTTPS的使用數量和比例很快就會成為一個常態。按著當時的計算,通過安全連接載入的網頁百分比從52%飆升至71%,而世界排名前100萬的網站,將用戶重定向到HTTPS的比例從20%上升到了50%。其中使用Chrome和Firefox瀏覽器的組織會更加積極、快速的採用HTTPS,原因是這兩個瀏覽器上會對非HTTPS網站會不斷發出警告,而Let"s Encrypt和Cloudflare提供的更容易訪問的證書,以及對未加密的流量帶來的風險日益增強的認識,也推動了HTTPS的迅速普及。就連政府也一直在推動所有網站採用HTTPS,例如,英國國家網路安全中心(National Cyber Security Centre)也曾發出以下呼籲:
所有的網站都應該使用HTTPS,即使它們不包含隱私內容、登錄頁面或信用卡等信息,也應遵循此原則。
儘管HTTPS是安全的,但在HTTPS的推廣中,除了技術門檻和轉移成本外,還面臨很多專家提出的所謂「HTTPS不安全」理論的挑戰。比如Scott Helme,就認為HTTPS的證書機制存在問題,而且會逐漸成為更嚴重的問題。再比如, Scott Helme 在今年3月分析了Alexa前1百萬的網站,他認為使用HTTPS技術的網站雖然很多,但Chrome與Firefox宣布要停止支持的HTTP公共密鑰固定(HTTP Public Key Pinning, HPKP),卻在這時候呈現明顯成長的趨勢。
大家都知道,相較於HTTP協議,HTTPS使用了SSL/TLS進行加密,基於證書系統的公鑰一方面保證用戶連接的是正確的網站,另一方面結合私鑰,可以保證網路數據不會被盜取。
但根據Scott Helme的這份報告,Let"s Encrypt現已成前百萬網站最大的CA憑證發放機構,在2017年8月,Let"s Encrypt的憑證發放數量就已經逼近Comodo。所以Scott Helme認為,降低成本以及技術門檻,對於提升採用率的確有極大的幫助。如果你單看上圖,就會誤以為已經要被Google Chrome拋棄的HPKP技術,其採用率正呈直線成長,會出現HTTPS不安全的感覺。
目前像Scott Helme這樣否定HTTPS技術的人還有很多,按著Troy Hunt的分析,這些人的正在形成一種強大的負面影響。Troy Hunt懷疑他們有可能會讓HTTPS的推廣面臨困難,且Troy Hunt分析到,其背後的原因很可能是HTTPS的使用,讓他們的既得利益受到損害。
為什麼必須堅持對HTTPS的推廣,在官方頁面上,Google是這樣說明的:
過去幾年中,我們一直主張站點採用HTTPS,以提升其安全性。去年的時候,我們還通過將更大的HTTP頁面標記為『不安全』以幫助用戶。
靜態網站需要啟用HTTPS的原因
經過了數年的推廣,Google通過在Chrome瀏覽器中標記這些網站為不安全鏈接,從而引起用戶和站長的注意。在Google的努力下,目前Chrome上68%的流量都是得到保護的,Top 100網站中已經有81家網站默認使用HTTPS。
而剩下的一些網站(其中包括訪問量很大的網站)不使用HTTPS的原因是因為他們認為靜態網站不需要啟用HTTPS。
近日,Troy Hunt在博客上專門針對靜態網站是否需要啟用HTTPS進行了詳細分析。
在眾多是否使用HTTPS的爭論中,有一個話題被討論的最多,那就是是否使用HTTPS的爭論。質疑者會問靜態網站需要HTTPS嗎?它有什麼用嗎?它究竟保護了什麼?Troy Hunt則一直在尋找機會回答這些問題,這也是這篇文章誕生的初衷。在閱讀Troy Hunt的解釋之前,你可以先看一下這個視頻。該視頻完美地向人們展示了靜態網站在使用了HTTPS後,是如何避免視頻中所受到的傳輸層風險的。
靜態網站在使用了HTTPS後,會更容易被人們訪問
先看4個短視頻來了解一下,每個視頻大約5分鐘,通過重定向到安全連接,幾乎任何網站都可以安全的訪問到這些視頻,這從視頻字幕已被翻譯成16種不同的語言就可以看出,HTTPS比以往任何時候都更容易被人們訪問到。
避免WiFi Pineapple這樣的神器自動訪問靜態網站
The WiFi Pineapple是由國外無線安全審計公司Hak5開發並售賣的一款無線安全測試神器(俗稱大菠蘿),不僅可以輕鬆的作為無線熱點使用,而且可以欺騙設備,使其認為它是一個已知的網路,且無需任何用戶交互即可自動連接。升級為HTTPS後,WiFi Pineapple這樣的神器再也無法自動訪問靜態網站了。
方便了ClippyJS和Cornify這樣的個性化操作
Clippy.js是一個純JavaScript實現的微軟Office卡通助手,你可以方便的把它嵌入到任何網頁上。靜態網站使用了HTTPS後,Troy Hunt用ClippyJS做了測試,如果你真的喜歡個性化,ClippyJS這樣的操作在HTTPS中,會有更好的操作空間。
而Cornify則會讓所有喜歡獨角獸和彩虹圖案的網友把任何網頁「獨角獸化」,且在HTTPS中,網站會提供完整的Cornify按鈕。
更好的使用Harlem Shake
Harlem Shake經常被拿來用作在易受攻擊的網站上運行腳本的「證明」。例如,查看嵌入在DNS條目的TXT記錄中時的使用方式,然後將其載入到未正確輸出編碼結果的WHOIS服務中。
避免被秘密挖礦
Troy Hunt使用了Coinhive進行測試,HTTP狀態下,Coinhive會輕鬆的使用用戶的CPU秘密挖礦。而使用HTTPS,則會讓秘密挖礦更難以實施。
避免被跨站請求偽造這樣的漏洞劫持
比如,Intex N150設備中的路由器固件存在跨站請求偽造漏洞(CVE-2018-12529 ),遠程攻擊者可利用該漏洞更改用戶密碼及路由器的設置。Troy Hunt們經常看到針對路由器的CSRF攻擊導致DNS劫持,這當然是HTTPS防範的另一個重點。
避免被DNS劫持
在傳統的HTTP頁面中,很容易發生DNS劫持嗎,比如在OnBeforeRequest事件中,只需要使用以下幾行FiddlerScript即可完成DNS劫持。
if (oSession.HostnameIs("btlr.com")){
oSession.hostname = "scripting.com";
}
如果你使用了如Wifi Pineapple的設備,你可以使用DNSspoof獲得相同的結果。此時,用戶會重定向到一個完全不同的地址。DNSspoof啟用DNS欺騙,如果是請求解析某個域名,DNSspoof會讓該域名重新指向另一個IP地址(黑客所控制的主機),如果DNSspoof嗅探到區域網內有DNS請求數據包,它會分析其內容,並用偽造的DNS響應包來回復請求者。如果是反向IP指針解析,DNSspoof也會返回。如果是請求解析某個域名,Dnsspoof會讓該域名重新指向另一個IP地址(黑客所控制的主機),如果是反向IP指針解析,dnsspoof也會返回一個偽造的域名。
避免出現超級加農炮(The Great Cannon)這樣的攻擊
《華爾街日報》曾在2015年29號報道,美國社交編程及代碼託管網站GitHub遭到大規模的流量攻擊,當時就有人分析,過濾入境流量的防禦性的GFW防火牆正逐步演變成進攻性的大炮。他們將這個攻擊形象比喻為超級加農炮(The Great Cannon)。這次針對GitHub的DDoS攻擊,持續了5天之久,多次導致GitHub宕機。更有甚者認為該攻擊疑似來自中國的百度,而Troy Hunt認為只要當時GitHub使用了HTTPS防範機制,就完全可以避免這樣的攻擊。
避免出現BeEF攻擊
對Troy Hunt來說,靜態網站啟用HTTPS後,最重要的是避免出現BeEF攻擊。
據悉,只要遇到潛在不安全的站點,Chrome都將開始發出警告信息,雖然會對日常使用造成影響,但這確實是對安全很有幫助。比如這個在YouTube上觀看量達到5億次的視頻,都開始使用https了。但對有些經常使用的網站,如ESPN,則可能會受到安全提示,儘管它是一個優良網站。
Chrome 68除了標記出不安全的HTTP網站,還附加了很多強大的安全功能堪比小型殺毒軟體
兩種廣告防禦機制
從Chrome 69開始(預計今年 9 月發布),如果網頁缺乏安全防護,HTTP/HTTPS頁面上就只會顯示「不安全」的標記了,而HTTPS網頁上的「安全」標記則會被移除。
據Cloudflare推測,全世界流量排在前100萬名得網站中,有542605個網站都還沒有使用HTTPS,這也就意味著,用戶使用Chrome 68訪問網頁時,見到「不安全」的標記就很常見了。
另外,Chrome 68還增加了兩種全新的惡意廣告防禦機制。
首選,Chrome現在能攔截臭名昭著的iframes(通常會嵌入在網頁中)了,iframe會將整個父頁面重定向到另一個URL。自Chrome 64以來,Google就開始逐步採取對策了,不過在Chrome 68中才算正式實施。
當然,iframe並沒有被Chrome完全禁止,只有當用戶直接與iframe交互時,才允許iframe將主頁重定向到新網址。這是由於惡意廣告中使用的大多數iframe通常都在屏幕外單獨出現,因此此防禦機制可以阻止惡意廣告將用戶重定向到新網站,同時仍允許單點登錄(SSO)登錄頁面或類似技術按預期工作。如果用戶願意和它互動,它也可以對頁面進行重新定向。不過整體來說,這一改變確實對攔截惡意廣告起了巨大作用。
其次,Chrome現在還完全阻止了Tab-under行為。Tab-under是指當用戶點擊一個鏈接,網站會用另一個標籤頁打開新的URL,而老的標籤頁不但不關閉,並在其中載入包含大量廣告的網址,Tab-under技術近年來已經泛濫成災,急需處理。
去年Google首次公布了tab-under攔截功能,第一個Tab-under攔截機制也隨Chrome 65一同被發布。而Chrome 68則正式將這一攔截功能加入到其中,瀏覽器每次攔截到Tab-under行為,都會在警告用戶。
阻止第三方軟體注入Chrome進程
另外,Chrome 68發布的另一個里程碑意義是,它自己本身就具備了殺毒軟體的功能。Chrome 68試圖阻止第三方軟體(大多數為殺毒軟體)在Chrome主進程中植入代碼,而現在這項工作進入第二階段了,而第一階段則是在去年11月實施的。
當時Google就表示Chrome 68將開始阻止第三方軟體注入Chrome進程。如果阻止過程妨礙了Chrome的運行,則Chrome將重新啟動並允許第三方軟體注入,這也與當時這方面的技術成熟度不足有關。不過目前這個阻止第三方軟體的計劃還不能完全實施,只是會顯示警告,建議用戶刪除企圖進行注入的該軟體。
按著Google的計劃,從2019年1月起,他們會完全阻止第三方軟體注入Chrome進程。
API和web開發方面的重大變化
但Chrome 68可不是一次簡單的版本升級,你不要以為它只是簡單的漏洞修補或是某些細小功能的添加。Chrome 68還對Chrome的底層進行了重新設計和調整,本次最重要的是對API和web開發方面的重大調整。
其中最大的調整是Chrome 68現在支持Payment Handler API了,該API是Google在Chrome 61中添加的付款請求API的附件。它的作用是通過允許瀏覽器從網站或網路應用程序中減輕一些載荷(以及安全隱患)來簡化在線支付的過程,有了Payment Handler API,整個在線支付的過程會簡化很多。
此外,Google表示它專門修改了「添加到主屏幕」(Add to Home Screen)的功能,這些都是為了方便開發者的開發,將彈出功能的控制權下放給開發者後,他們就可以更多地控制這些彈出窗口的顯示時間和方式,而這些彈出窗口通常用於基於Chrome的移動應用。
除此之外,Chrome 68還有增加了新的Page Lifecycle API,這也是全新的Chrome 68功能,此API將是大多數Web開發人員將來使用的重要功能。有了Page Lifecycle API,開發者就能根據用戶設備的「生命周期」(CPU暫停狀態、電池狀態、瀏覽器標籤狀態、前台及後台狀態等)對網站進行調整,以提升用戶體驗,Page Lifecycle API的全部信息都在這裡了。
※Threat Hunting
※Mylobot——一種使用高複雜度逃避技術的新型殭屍網路
TAG:嘶吼RoarTalk |