|
最近,Google針對(duì)Gmail被攻擊事件,全面默認(rèn)啟用了始終以https訪問(wèn)Gmail的方式了。但是,對(duì)于可以動(dòng)用整個(gè)國(guó)家力量的黑客來(lái)說(shuō),從網(wǎng)
絡(luò)通訊數(shù)據(jù)中(在此不討論對(duì)用戶(hù)電腦種木馬破解
https的情況,只討論在網(wǎng)絡(luò)通訊數(shù)據(jù)中破解https的方法)破解https除了暴力破解(暴力破解https即使按照現(xiàn)在的集群計(jì)算能力仍舊需要幾
百至幾萬(wàn)年不等)之外真的別無(wú)他法了嗎?事實(shí)并非如此。 我們知道,https的安全性主要是由SSL證書(shū)中的公鑰和私鑰來(lái)保證的。瀏覽器與服務(wù)器經(jīng)過(guò)https建立通訊的時(shí)候(不考慮SSL代理方式需要用戶(hù)提交證書(shū)的情況,因?yàn)槲覀儸F(xiàn)在討論的是瀏覽器訪問(wèn)網(wǎng)站,和SSL代理無(wú)關(guān))會(huì)按照以下步驟保證通訊的安全性: 1、瀏覽器連接服務(wù)器,服務(wù)器把SSL證書(shū)的公鑰發(fā)送給瀏覽器 2、瀏覽器驗(yàn)證此證書(shū)中的域是否和訪問(wèn)的域一致(比如用戶(hù)訪問(wèn)https://mail.google.com/時(shí),瀏覽器驗(yàn)證服務(wù)器發(fā)送過(guò)來(lái)的SSL證書(shū)的公鑰中的域是否為mail.google.com或*.google.com)并沒(méi)有過(guò)期 3、如果瀏覽器驗(yàn)證失敗,瀏覽器通知用戶(hù)證書(shū)有問(wèn)題,讓用戶(hù)選擇是否繼續(xù) 4、如果瀏覽器驗(yàn)證成功,那么瀏覽器隨機(jī)生成一個(gè)對(duì)稱(chēng)密鑰并使用接收到的SSL證書(shū)的公鑰進(jìn)行加密并發(fā)送給服務(wù)器 5、服務(wù)器通過(guò)SSL證書(shū)的私鑰對(duì)收到的信息進(jìn)行解密并得到瀏覽器隨機(jī)生成的對(duì)稱(chēng)密鑰 6、最后服務(wù)器和瀏覽器都通過(guò)這個(gè)對(duì)稱(chēng)密鑰進(jìn)行通訊了(為什么不直接使用公鑰和私鑰進(jìn)行通訊?因?yàn)榉菍?duì)稱(chēng)加密比對(duì)稱(chēng)加密效率低) 這個(gè)方案看似完美,卻無(wú)法抵御中間人攻擊,攻擊者可以按以下步驟實(shí)施攻擊截取https通訊中的所有數(shù)據(jù): 1、攻擊者偽造一個(gè)Gmail的SSL證書(shū),使其中的域?yàn)閙ail.google.com或*.google.com,并設(shè)置合適的證書(shū)過(guò)期時(shí)間 2、攻擊者等待訪問(wèn)者的瀏覽器訪問(wèn)Gmail時(shí),通過(guò)DNS劫持或IP偽造(對(duì)于有路由器控制權(quán)限的黑客來(lái)說(shuō)簡(jiǎn)直輕而易舉)的方法使其訪問(wèn)到攻擊者的服務(wù)器上 3、攻擊者把偽造的SSL證書(shū)公鑰發(fā)送給瀏覽器 4、瀏覽器驗(yàn)證SSL證書(shū)的域和過(guò)期時(shí)間都沒(méi)錯(cuò),認(rèn)為訪問(wèn)到的就是Gmail本身,從而把對(duì)稱(chēng)密鑰發(fā)送給黑客服務(wù)器 5、黑客服務(wù)器把偽造的Gmail網(wǎng)頁(yè)通過(guò)收到的對(duì)稱(chēng)密鑰加密后發(fā)送給瀏覽器 6、訪問(wèn)者通過(guò)瀏覽器輸入Gmail帳戶(hù),發(fā)送給黑客服務(wù)器,黑客服務(wù)器通過(guò)收到的對(duì)稱(chēng)密鑰解密后成功獲得訪問(wèn)者的Gmail密碼 為了抵御這種中間人攻擊,SSL證書(shū)需要由可信的SSL證書(shū)頒發(fā)機(jī)構(gòu)頒發(fā),形成一個(gè)證書(shū)鏈(比如Gmail的證書(shū)鏈為:最底層為網(wǎng)域 mail.google.com,上一層為T(mén)hawte SGC CA證書(shū)頒發(fā)機(jī)構(gòu),最頂層為很有名的VeriSign證書(shū)頒發(fā)機(jī)構(gòu))。那么,瀏覽器除了需要驗(yàn)證域和有效期外,還要檢查證書(shū)鏈中的上級(jí)證書(shū)公鑰是否有效, 上級(jí)的上級(jí)證書(shū)公鑰是否有效,直至根證書(shū)公鑰為止。這樣就可以有效避免中間人攻擊了,因?yàn)楦C書(shū)公鑰都是預(yù)裝在操作系統(tǒng)中的,黑客如果不是暴力破解,無(wú)法 得到根證書(shū)的私鑰,如果黑客自己生成一個(gè)私鑰,瀏覽器驗(yàn)證根證書(shū)公鑰的時(shí)候發(fā)現(xiàn)無(wú)法通過(guò)操作系統(tǒng)中預(yù)裝的公鑰加密數(shù)據(jù)后使用這個(gè)私鑰進(jìn)行解密,從而判定這 個(gè)公鑰是無(wú)效的。這個(gè)方案也是現(xiàn)在https通訊通常的方案。 那么,這個(gè)現(xiàn)在所有的瀏覽器正在使用的https通訊方案就無(wú)懈可擊了嗎?答案仍是否定的。我們可以看到,在后一個(gè)方案中,https的安全性需要在 證書(shū)頒發(fā)機(jī)構(gòu)公信力的強(qiáng)有力保障前提下才能發(fā)揮作用。如果證書(shū)頒發(fā)機(jī)構(gòu)在沒(méi)有驗(yàn)證黑客為mail.google.com的持游者的情況下,給黑客頒發(fā)了網(wǎng) 域?yàn)閙ail.google.com的證書(shū),那么黑客的中間人攻擊又可以順利實(shí)施: 1、攻擊者從一家不驗(yàn)證mail.google.com持有者的SSL證書(shū)頒發(fā)機(jī)構(gòu)WoSign那里得到了網(wǎng)域?yàn)? mail.google.com的證書(shū),此證書(shū)的證書(shū)鏈為:最底層為網(wǎng)域mail.google.com,上一層證書(shū)頒發(fā)機(jī)構(gòu)為WoSign,頂層證書(shū)頒 發(fā)機(jī)構(gòu)為VeriSign 2/3、第二、第三個(gè)步驟同上一個(gè)方案的中間人攻擊的第二、第三個(gè)步驟 4、瀏覽器驗(yàn)證SSL證書(shū)的域和過(guò)期時(shí)間都沒(méi)錯(cuò),繼續(xù)驗(yàn)證證書(shū)鏈: 4.1、最底層的網(wǎng)域mail.google.com證書(shū)公鑰不在操作系統(tǒng)中,無(wú)法驗(yàn)證其訪問(wèn)到的就是Gmail本身,繼續(xù)驗(yàn)證上一層證書(shū)頒發(fā)機(jī)構(gòu) 4.2、上一層證書(shū)頒發(fā)機(jī)構(gòu)WoSign的公鑰也不在操作系統(tǒng)中,仍舊無(wú)法驗(yàn)證其有效性,繼續(xù)驗(yàn)證上一層證書(shū)頒發(fā)機(jī)構(gòu) 4.3、瀏覽器看到頂層證書(shū)頒發(fā)機(jī)構(gòu)VeriSign的公鑰在操作系統(tǒng)中,認(rèn)為證書(shū)鏈有效,從而把對(duì)稱(chēng)密鑰發(fā)送給黑客服務(wù)器 5/6、第五、第六個(gè)步驟同上一個(gè)方案的中間人攻擊的第五、第六個(gè)步驟。黑客成功獲得訪問(wèn)者的Gmail密碼 然而,不驗(yàn)證域名持有者就頒發(fā)證書(shū)的情況在國(guó)外幾乎不會(huì)發(fā)生,但是在國(guó)內(nèi)就不一定了。針對(duì)破解目標(biāo),國(guó)內(nèi)證書(shū)頒發(fā)機(jī)構(gòu)WoSign(在此只是舉例國(guó)內(nèi) 比較有名的證書(shū)頒發(fā)機(jī)構(gòu)WoSign,并不代表WoSign今后一定會(huì)這么做)很有可能為了上級(jí)要求頒發(fā)了證書(shū)給非域名持有者的黑客,從而使得破解目標(biāo)的 Gmail密碼被黑客截取。 那么,國(guó)內(nèi)的破解目標(biāo)是不是使用https的Gmail也無(wú)法保證安全了呢?歡迎與我進(jìn)行探討。 http://www./archives/2058.html 破解Google Gmail的https新思路 最近,Google針對(duì)Gmail被攻擊事件,全面默認(rèn)啟用了始終以https訪問(wèn)Gmail的方式了。但是,對(duì)于可以動(dòng)用整個(gè)國(guó)家力量的黑客來(lái)說(shuō), 從網(wǎng)絡(luò)通訊數(shù)據(jù)中(在此不討論對(duì)用戶(hù)電腦種木馬破解 https的情況,只討論在網(wǎng)絡(luò)通訊數(shù)據(jù)中破解https的方法)破解https除了暴力破解(暴力破解https即使按照現(xiàn)在的集群計(jì)算能力仍舊需要幾 百至幾萬(wàn)年不等)之外真的別無(wú)他法了嗎?事實(shí)并非如此。 我們知道,https的安全性主要是由SSL證書(shū)中的公鑰和私鑰來(lái)保證的。瀏覽器與服務(wù)器經(jīng)過(guò)https建立通訊的時(shí)候(不考慮SSL代理方式需要用戶(hù)提交證書(shū)的情況,因?yàn)槲覀儸F(xiàn)在討論的是瀏覽器訪問(wèn)網(wǎng)站,和SSL代理無(wú)關(guān))會(huì)按照以下步驟保證通訊的安全性: 1、瀏覽器連接服務(wù)器,服務(wù)器把SSL證書(shū)的公鑰發(fā)送給瀏覽器 2、瀏覽器驗(yàn)證此證書(shū)中的域是否和訪問(wèn)的域一致(比如用戶(hù)訪問(wèn)https://mail.google.com/時(shí),瀏覽器驗(yàn)證服務(wù)器發(fā)送過(guò)來(lái)的SSL證書(shū)的公鑰中的域是否為mail.google.com或*.google.com)并沒(méi)有過(guò)期 3、如果瀏覽器驗(yàn)證失敗,瀏覽器通知用戶(hù)證書(shū)有問(wèn)題,讓用戶(hù)選擇是否繼續(xù) 4、如果瀏覽器驗(yàn)證成功,那么瀏覽器隨機(jī)生成一個(gè)對(duì)稱(chēng)密鑰并使用接收到的SSL證書(shū)的公鑰進(jìn)行加密并發(fā)送給服務(wù)器 5、服務(wù)器通過(guò)SSL證書(shū)的私鑰對(duì)收到的信息進(jìn)行解密并得到瀏覽器隨機(jī)生成的對(duì)稱(chēng)密鑰 6、最后服務(wù)器和瀏覽器都通過(guò)這個(gè)對(duì)稱(chēng)密鑰進(jìn)行通訊了(為什么不直接使用公鑰和私鑰進(jìn)行通訊?因?yàn)榉菍?duì)稱(chēng)加密比對(duì)稱(chēng)加密效率低) 這個(gè)方案看似完美,卻無(wú)法抵御中間人攻擊,攻擊者可以按以下步驟實(shí)施攻擊截取https通訊中的所有數(shù)據(jù): 1、攻擊者偽造一個(gè)Gmail的SSL證書(shū),使其中的域?yàn)閙ail.google.com或*.google.com,并設(shè)置合適的證書(shū)過(guò)期時(shí)間 2、攻擊者等待訪問(wèn)者的瀏覽器訪問(wèn)Gmail時(shí),通過(guò)DNS劫持或IP偽造(對(duì)于有路由器控制權(quán)限的黑客來(lái)說(shuō)簡(jiǎn)直輕而易舉)的方法使其訪問(wèn)到攻擊者的服務(wù)器上 3、攻擊者把偽造的SSL證書(shū)公鑰發(fā)送給瀏覽器 4、瀏覽器驗(yàn)證SSL證書(shū)的域和過(guò)期時(shí)間都沒(méi)錯(cuò),認(rèn)為訪問(wèn)到的就是Gmail本身,從而把對(duì)稱(chēng)密鑰發(fā)送給黑客服務(wù)器 5、黑客服務(wù)器把偽造的Gmail網(wǎng)頁(yè)通過(guò)收到的對(duì)稱(chēng)密鑰加密后發(fā)送給瀏覽器 6、訪問(wèn)者通過(guò)瀏覽器輸入Gmail帳戶(hù),發(fā)送給黑客服務(wù)器,黑客服務(wù)器通過(guò)收到的對(duì)稱(chēng)密鑰解密后成功獲得訪問(wèn)者的Gmail密碼 為了抵御這種中間人攻擊,SSL證書(shū)需要由可信的SSL證書(shū)頒發(fā)機(jī)構(gòu)頒發(fā),形成一個(gè)證書(shū)鏈(比如Gmail的證書(shū)鏈為:最底層為網(wǎng)域 mail.google.com,上一層為T(mén)hawte SGC CA證書(shū)頒發(fā)機(jī)構(gòu),最頂層為很有名的VeriSign證書(shū)頒發(fā)機(jī)構(gòu))。那么,瀏覽器除了需要驗(yàn)證域和有效期外,還要檢查證書(shū)鏈中的上級(jí)證書(shū)公鑰是否有效, 上級(jí)的上級(jí)證書(shū)公鑰是否有效,直至根證書(shū)公鑰為止。這樣就可以有效避免中間人攻擊了,因?yàn)楦C書(shū)公鑰都是預(yù)裝在操作系統(tǒng)中的,黑客如果不是暴力破解,無(wú)法 得到根證書(shū)的私鑰,如果黑客自己生成一個(gè)私鑰,瀏覽器驗(yàn)證根證書(shū)公鑰的時(shí)候發(fā)現(xiàn)無(wú)法通過(guò)操作系統(tǒng)中預(yù)裝的公鑰加密數(shù)據(jù)后使用這個(gè)私鑰進(jìn)行解密,從而判定這 個(gè)公鑰是無(wú)效的。這個(gè)方案也是現(xiàn)在https通訊通常的方案。 那么,這個(gè)現(xiàn)在所有的瀏覽器正在使用的https通訊方案就無(wú)懈可擊了嗎?答案仍是否定的。我們可以看到,在后一個(gè)方案中,https的安全性需要在 證書(shū)頒發(fā)機(jī)構(gòu)公信力的強(qiáng)有力保障前提下才能發(fā)揮作用。如果證書(shū)頒發(fā)機(jī)構(gòu)在沒(méi)有驗(yàn)證黑客為mail.google.com的持游者的情況下,給黑客頒發(fā)了網(wǎng) 域?yàn)閙ail.google.com的證書(shū),那么黑客的中間人攻擊又可以順利實(shí)施: 1、攻擊者從一家不驗(yàn)證mail.google.com持有者的SSL證書(shū)頒發(fā)機(jī)構(gòu)WoSign那里得到了網(wǎng)域?yàn)? mail.google.com的證書(shū),此證書(shū)的證書(shū)鏈為:最底層為網(wǎng)域mail.google.com,上一層證書(shū)頒發(fā)機(jī)構(gòu)為WoSign,頂層證書(shū)頒 發(fā)機(jī)構(gòu)為VeriSign 2/3、第二、第三個(gè)步驟同上一個(gè)方案的中間人攻擊的第二、第三個(gè)步驟 4、瀏覽器驗(yàn)證SSL證書(shū)的域和過(guò)期時(shí)間都沒(méi)錯(cuò),繼續(xù)驗(yàn)證證書(shū)鏈: 4.1、最底層的網(wǎng)域mail.google.com證書(shū)公鑰不在操作系統(tǒng)中,無(wú)法驗(yàn)證其訪問(wèn)到的就是Gmail本身,繼續(xù)驗(yàn)證上一層證書(shū)頒發(fā)機(jī)構(gòu) 4.2、上一層證書(shū)頒發(fā)機(jī)構(gòu)WoSign的公鑰也不在操作系統(tǒng)中,仍舊無(wú)法驗(yàn)證其有效性,繼續(xù)驗(yàn)證上一層證書(shū)頒發(fā)機(jī)構(gòu) 4.3、瀏覽器看到頂層證書(shū)頒發(fā)機(jī)構(gòu)VeriSign的公鑰在操作系統(tǒng)中,認(rèn)為證書(shū)鏈有效,從而把對(duì)稱(chēng)密鑰發(fā)送給黑客服務(wù)器 5/6、第五、第六個(gè)步驟同上一個(gè)方案的中間人攻擊的第五、第六個(gè)步驟。黑客成功獲得訪問(wèn)者的Gmail密碼 然而,不驗(yàn)證域名持有者就頒發(fā)證書(shū)的情況在國(guó)外幾乎不會(huì)發(fā)生,但是在國(guó)內(nèi)就不一定了。針對(duì)破解目標(biāo),國(guó)內(nèi)證書(shū)頒發(fā)機(jī)構(gòu)WoSign(在此只是舉例國(guó)內(nèi) 比較有名的證書(shū)頒發(fā)機(jī)構(gòu)WoSign,并不代表WoSign今后一定會(huì)這么做)很有可能為了上級(jí)要求頒發(fā)了證書(shū)給非域名持有者的黑客,從而使得破解目標(biāo)的 Gmail密碼被黑客截取。 那么,國(guó)內(nèi)的破解目標(biāo)是不是使用https的Gmail也無(wú)法保證安全了呢?歡迎與我進(jìn)行探討。 |
|
|
來(lái)自: 追夢(mèng)者fashion > 《破解》