當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 小林coding
[導(dǎo)讀]最近瀏覽到一個(gè)知乎問(wèn)題:某運(yùn)營(yíng)同學(xué)在試用期期間因?yàn)樵诠ぷ髌陂g上了某 1024 網(wǎng)站,導(dǎo)致試用期不過(guò)。


最近瀏覽到一個(gè)知乎問(wèn)題:某運(yùn)營(yíng)同學(xué)在試用期期間因?yàn)樵诠ぷ髌陂g上了某 1024 網(wǎng)站,導(dǎo)致試用期不過(guò)。

試用期不過(guò)因在公司瀏覽 1024 網(wǎng)站

前兩天還看到不少公眾號(hào)推文,大意是:看小電影前一定要注意網(wǎng)址是不是 HTTPS 的,因?yàn)?HTTPS 是加密的,別人就不知道了。

提醒大家,不要啥app都亂安裝 小心你看小電影的記錄被人截取。

看到上面幾個(gè)問(wèn)題,我不禁想問(wèn)(這腦回路也是……):

  • 通過(guò)瀏覽器訪(fǎng)問(wèn) HTTPS 站點(diǎn),其他人知道嗎?

  • 通過(guò) App 訪(fǎng)問(wèn)匿名論壇(HTTPS),公司知道么?(他是不是接入了公司 WiFi?)

總之就是,上班時(shí)間上網(wǎng)摸魚(yú)嗎?哪怕用 HTTPS 問(wèn),如果公司知道,是通過(guò)什么手段?

本文談?wù)勎业目捶ǎ饕譃橐韵聨讉€(gè)方面:

  • HTTPS 為什么安全。

  • HTTPS 真的安全嗎?

  • App 如何保證信息安全,不被爬走?

  • 公司可能的監(jiān)控手段有哪些?我們應(yīng)該怎么做?


HTTPS 為什么安全

HTTPS,也稱(chēng)作 HTTP over TLS,TLS 前身是SSL,會(huì)有各個(gè)版本。

TLS協(xié)議在TCP/IP協(xié)議棧中的關(guān)系

上圖描述了在TCP/IP協(xié)議棧中TLS(各子協(xié)議)和 HTTP 的關(guān)系。HTTP+TLS 也就是 HTTPS,和 HTTP 相比,HTTPS的優(yōu)勢(shì):

  • 數(shù)據(jù)完整性:內(nèi)容傳輸經(jīng)過(guò)完整性校驗(yàn)

  • 數(shù)據(jù)隱私性:內(nèi)容經(jīng)過(guò)對(duì)稱(chēng)加密,每個(gè)連接生成一個(gè)唯一的加密密鑰

  • 身份認(rèn)證:第三方無(wú)法偽造服務(wù)端(客戶(hù)端)身份

下圖就是大致介紹了 HTTPS 的握手流程:

HTTPS 原理

感興趣的同學(xué)可以用 WireShark 抓包詳細(xì)看看其中的每一個(gè)步驟,有助于理解 HTTPS 的完整流程。這里,我就不詳述了,可以參考下小林的這篇圖解 HTTPS,很詳細(xì)。

大致就是客戶(hù)端和服務(wù)端通過(guò)“握手會(huì)談”商量出一個(gè)雙方支持的加密算法和相應(yīng)隨機(jī)參數(shù),得到一對(duì)密鑰,后續(xù)的傳輸?shù)膬?nèi)容都通過(guò)這對(duì)密鑰進(jìn)行加解密。

這對(duì)密鑰很牛皮,比如要加密傳輸消息『tangleithu』,客戶(hù)端通過(guò)公鑰加密得到的密文『xyyaabbccdd』進(jìn)行傳輸,服務(wù)端用自己的私鑰對(duì)密文解密,恰好能得到『tangleithu』。中間錯(cuò)一位都不行,這樣就保證了數(shù)據(jù)完整和隱私性。

因此,你在通過(guò) HTTPS 訪(fǎng)問(wèn)網(wǎng)站的時(shí)候,就算流量被截取監(jiān)聽(tīng),獲取到的信息也是加密的,啥實(shí)質(zhì)性的內(nèi)容也看不到。

例如,如下圖所示,當(dāng)我訪(fǎng)問(wèn)某個(gè)網(wǎng)站,此時(shí)通過(guò) wireshark 抓包得到的信息,能獲得僅僅是一些通信的IP地址而已。

HTTPS加密傳輸

這下放心了嗎?

摸魚(yú)的過(guò)程中,就算訪(fǎng)問(wèn)的 IP 地址被知道了,好像也無(wú)關(guān)緊要?

其實(shí),有了 IP 地址也能獲取不少信息了。

還好這個(gè) IP 搜出來(lái)是 github,而不是……

你或許會(huì)高興,連個(gè)網(wǎng)站域名都看不到,可以放心摸魚(yú)了。不過(guò),這是真的嗎?


HTTPS 真的完全安全嗎?

HTTPS 真的完全安全嗎?連訪(fǎng)問(wèn)的域名都獲取不到?答案是否定的。

上述 HTTPS 在握手階段有一個(gè)很重要的東西 —— 證書(shū)。

SNI —— 域名裸奔

當(dāng)訪(fǎng)問(wèn) HTTPS 站點(diǎn)時(shí),會(huì)首先與服務(wù)器建立 SSL 連接,第一步就是請(qǐng)求服務(wù)器的證書(shū)。

當(dāng)一個(gè) Server IP 只對(duì)應(yīng)一個(gè)域名(站點(diǎn))時(shí),很方便,任意客戶(hù)端請(qǐng)求過(guò)來(lái),無(wú)腦返回該域名(服務(wù))對(duì)應(yīng)的證書(shū)即可。但 IP 地址(IPv4)是有限的呀,多個(gè)域名復(fù)用同一個(gè) IP 地址的時(shí)候怎么辦?

服務(wù)器在發(fā)送證書(shū)時(shí),不知道瀏覽器訪(fǎng)問(wèn)的是哪個(gè)域名,所以不能根據(jù)不同域名發(fā)送不同的證書(shū)。

因此 TLS 協(xié)議升級(jí)了,多了 SNI 這個(gè)東西,SNI 即 Server Name Indication,是為了解決一個(gè)服務(wù)器使用多個(gè)域名和證書(shū)的 SSL/TLS 擴(kuò)展。

現(xiàn)在主流客戶(hù)端都支持這個(gè)協(xié)議的。別問(wèn)我怎么知道這個(gè)點(diǎn)的,之前工作上因?yàn)檫@個(gè)事情還費(fèi)了老大勁兒……

它的原理是:在與服務(wù)器建立 SSL 連接之前,先發(fā)送要訪(fǎng)問(wèn)站點(diǎn)的域名(Hostname),這樣服務(wù)器會(huì)根據(jù)這個(gè)域名返回一個(gè)合適的證書(shū)。此時(shí)還沒(méi)有辦法進(jìn)行加解密,因此至少這個(gè)域名是裸奔的。

如下圖所示,上面的截圖其實(shí)是訪(fǎng)問(wèn)我的個(gè)人博客的抓包情況,客戶(hù)端發(fā)送握手請(qǐng)求時(shí),很自覺(jué)帶上了自己的域名。

HTTPS SNI

因此,即便是 HTTPS,訪(fǎng)問(wèn)的域名信息也是裸奔狀態(tài)。你上班期間訪(fǎng)問(wèn)小電影網(wǎng)站,都留下了痕跡,若接入了公司網(wǎng)絡(luò),就自然而然被抓個(gè)正著。

除了域名是裸奔外,其實(shí)還有更嚴(yán)重的風(fēng)險(xiǎn),那就是中間人攻擊。

中間人攻擊

前面也提到 HTTPS 中的關(guān)鍵其實(shí)在于這個(gè)證書(shū)。從名字可以看出來(lái),中間人攻擊就是在客戶(hù)端、服務(wù)器之間多了個(gè)『中介』,『中介』在客戶(hù)端、服務(wù)器雙方中偽裝對(duì)方,如下圖所示,這個(gè)『MitmProxy』充當(dāng)了中間人,互相欺騙:

中間人攻擊,來(lái)源 evil0x

可以安裝 MitmProxy 或者 Fiddler 之類(lèi)的抓包軟件嘗試一把,然后開(kāi)啟代理。

此時(shí)用手機(jī)訪(fǎng)問(wèn)百度,得到的信息如下:

證書(shū)信任前

提示,連接不是私密連接,其實(shí)就是瀏覽器識(shí)別了證書(shū)不太對(duì)勁,沒(méi)有信任。而如果此時(shí)手機(jī)安裝了 Fiddler 的證書(shū),就會(huì)正常訪(fǎng)問(wèn)。

證書(shū)信任后可正常訪(fǎng)問(wèn)

因此,當(dāng)你信任證書(shū)后,在中間人面前,又是一覽無(wú)余了。

而如果你用了公司電腦,估計(jì)你有相應(yīng)的操作讓信任證書(shū)吧,或者手機(jī)上是否有安裝類(lèi)似的客戶(hù)端軟件吧?

抓緊時(shí)間看看手機(jī)的證書(shū)安裝明細(xì)。

我前任公司在信息安全這塊做得就非常謹(jǐn)慎,手機(jī)會(huì)有工作手機(jī),未授權(quán)的任何 App 都不能安裝,誰(shuí)知道 App 會(huì)悄悄干些什么事情呢。(最新熱點(diǎn),QQ掃描瀏覽器歷史記錄,你可知道)

當(dāng)然各種 App 肯定也不是吃素的,不會(huì)讓『中間人攻擊』這么容易就得逞的,咱們接著看。


如何防止信息安全,反爬

前面提到,要實(shí)施中間人攻擊,關(guān)鍵在于證書(shū)是否得到信任。瀏覽器的行為是證書(shū)可以讓用戶(hù)授權(quán)是否信任,而 APP 就可以開(kāi)發(fā)者自己控制。

比如我嘗試通過(guò)類(lèi)似的方式對(duì)某匿名社區(qū)進(jìn)行抓包解密 HTTPS,但最終失敗了,為什么呢?

這就要談到『SSL Pinning』技術(shù)。

App 可以自己檢驗(yàn) SSL 握手時(shí)服務(wù)端返回的證書(shū)是否合法,“SSL pinning” 技術(shù)說(shuō)的就是在 App 中只信任固定的證書(shū)或者公鑰。

因?yàn)樵谖帐蛛A段服務(wù)端的證書(shū)必須返回給客戶(hù)端,如果客戶(hù)端在打包的時(shí)候,就把服務(wù)端證書(shū)放到本地,在握手校驗(yàn)證書(shū)的環(huán)節(jié)進(jìn)行比較,服務(wù)端返回的證書(shū)和本地內(nèi)置的證書(shū)一模一樣,才發(fā)起網(wǎng)絡(luò)請(qǐng)求。否則,直接斷開(kāi)連接,不可用。

當(dāng)然,一般情況下,用這種技術(shù)也就能防止 HTTPS 信息被解密了。

不過(guò),也還有其他的技術(shù)能夠破解這種方法,比如 Android 下的一些 Hook 技術(shù),具體而言就是繞過(guò)本地證書(shū)強(qiáng)校驗(yàn)的邏輯。感興趣的同學(xué)可以抱著學(xué)習(xí)目的研究一下。不過(guò)據(jù)說(shuō)這種方式需要對(duì)系統(tǒng)進(jìn)行 Root、越獄等,需要一些更高權(quán)限的設(shè)置。

因此,也告誡我們,一定不要亂安裝一些軟件,稍不注意可能就中招,讓自己在互聯(lián)網(wǎng)上進(jìn)行裸奔。一方面?zhèn)€人隱私信息等泄露,另外一個(gè)方面可能一些非常重要的如賬戶(hù)密碼等也可能被竊取。


可能的監(jiān)控手段有哪些?

辦公電腦當(dāng)然要接入公司網(wǎng)絡(luò),通過(guò)上面介紹的內(nèi)容,你也應(yīng)該知道,你在什么時(shí)候?yàn)g覽了哪些網(wǎng)站,公司其實(shí)都是一清二楚的。

若自己的手機(jī)如果接入了公司網(wǎng)絡(luò)也是一模一樣(連 Agent 軟件都不需要裝)。這就提醒我們,私人上網(wǎng)盡量用自己的移動(dòng)網(wǎng)絡(luò)呀。

瀏覽記錄,來(lái)源知乎

上面提到,如一些涉及隱私的敏感信息,如一些 PC 軟件、手機(jī) App 自己內(nèi)部加密傳輸?shù)脑?huà),內(nèi)容加密(包括但不限于 HTTPS)不被破解也問(wèn)題不大。

不過(guò),這當(dāng)然依賴(lài)這些軟件設(shè)計(jì)者的水平了。比如同一個(gè)匿名用戶(hù)對(duì)外展示的 ID 不能相同,如果是同一個(gè)的話(huà)也恰好暴露了邏輯漏洞。

當(dāng)然,我們還是不要抱有僥幸心理,在監(jiān)管的要求下,如果確實(shí)有一些違法等不恰當(dāng)?shù)难哉摰?,始終還是有門(mén)路找到你的。

耗子尾汁

更何況,一般辦公電腦都會(huì)預(yù)安裝一些公司安全軟件,至于這些軟件究竟都干了些什么,有沒(méi)有進(jìn)行傳說(shuō)中悄悄截圖什么的,這就因人(公司)而異了。(不討論類(lèi)似行為是否涉及到侵犯了員工隱私等問(wèn)題)

圖源知乎

不過(guò),個(gè)人認(rèn)為,咱也沒(méi)必要過(guò)度擔(dān)心。一般公司也不會(huì)因?yàn)槟闵习嗯紶柮€(gè)魚(yú),逛逛淘寶、看看微博來(lái)找你麻煩的。畢竟沒(méi)必要這么點(diǎn)芝麻事情來(lái)『大動(dòng)干戈』。

但最好是不是對(duì)照員工手冊(cè)來(lái)看看,是否有明令禁止的行為?自己的行為是不是太過(guò)了,免得被抓住把柄,正所謂『常在河邊走哪有不濕鞋』,『欲加之罪、何患無(wú)辭』。

石頭才疏學(xué)淺,文章難免有所疏漏,如有相應(yīng)問(wèn)題,還望大家指教。最后,祝大家一輩子都不要因?yàn)檫@種事情掉坑里。


后記

本文重點(diǎn)強(qiáng)調(diào)了 HTTPS 的知識(shí)點(diǎn)(中間人攻擊、SNI等),其實(shí)早在域名解析階段就已經(jīng)暴露了。

對(duì)域名發(fā)起請(qǐng)求前,要知道域名的IP地址,就要訪(fǎng)問(wèn)DNS服務(wù)器,公司只需網(wǎng)絡(luò)中指定DNS服務(wù)器,截獲不加密的 DNS 報(bào)文分分鐘就了解“摸魚(yú)”的情況。

DNS

這里引用下某個(gè)讀者的評(píng)論,覺(jué)得有收獲,特此補(bǔ)充如下:

想要“偷偷”的摸魚(yú)不被監(jiān)控,除了上文中提到的 HTTPS,不要忘了安全的DNS,DoH(DNS over HTTPs, DoH)或DoT(DNS over TLS, DoT)。

目前比較好的方式還是,自己搭建DoH的DNS server,連上網(wǎng)絡(luò)后設(shè)置DNS服務(wù)器為你的server IP,原生Android甚至在設(shè)置里提供了“私人DNS”選項(xiàng)。

當(dāng)然如果還能跑一個(gè)代理服務(wù),前面提到的SNI泄露訪(fǎng)問(wèn)域名的問(wèn)題也一起解決了。抓包只能發(fā)現(xiàn)你一直在訪(fǎng)問(wèn)你自己的server。為了再真一點(diǎn),甚至可以在你的server上再搭一個(gè)web server,放上一些內(nèi)容,這樣就算有人追蹤到這個(gè)IP,打開(kāi)看也是一個(gè)正常的站點(diǎn)。

免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀(guān)點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉