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