最近讀的兩篇paper
Posted on 2008-05-20 20:18 ZelluX 閱讀(2259) 評(píng)論(1) 編輯 收藏 所屬分類(lèi): System 、Laboratory 、Security第一篇是
A World Wide Web Without Walls
MIT CSAIL做的,MIT的Frans大牛上周還跑到邯鄲校區(qū)做了個(gè)相關(guān)的講座Securing the Web With Decentralized Information Flow Control
這篇paper針對(duì)安全漏洞日益嚴(yán)重的Web應(yīng)用,提出了一種全新的Web架構(gòu)。
傳統(tǒng)的Web網(wǎng)站架構(gòu)是,用戶(hù)數(shù)據(jù)和應(yīng)用邏輯在同一個(gè)服務(wù)器組上,這樣應(yīng)用邏輯上有任何缺陷都會(huì)被人利用攻擊(比如SQL注入、跨站腳本漏洞等),從而用戶(hù)數(shù)據(jù)泄露。另外用戶(hù)對(duì)自己的信息不具有控制權(quán)(保存在Web服務(wù)器端),比如我想讓校內(nèi)的同學(xué)能夠查看我在Google Picasa上的照片,沒(méi)有最根本的解決方法。
這篇paper提出的架構(gòu)是,用戶(hù)數(shù)據(jù)和應(yīng)用邏輯完全分離,用戶(hù)數(shù)據(jù)貼有一些標(biāo)簽,比如“ZelluX的日志” “Bisu的星際錄像”等,不同的應(yīng)用程序享有不同的權(quán)限標(biāo)簽,比如Picasa有對(duì)照片訪(fǎng)問(wèn)的權(quán)限。
通過(guò)對(duì)數(shù)據(jù)流的控制(具體方法可以google這篇paper的標(biāo)題),最后實(shí)現(xiàn)一種更安全的網(wǎng)絡(luò)架構(gòu):
保證客戶(hù)端、declassifier、數(shù)據(jù)層安全的情況下,中間的應(yīng)用邏輯可以是任意甚至惡意的網(wǎng)站、程序。
感覺(jué)這個(gè)想法很贊,但是實(shí)現(xiàn)起來(lái)很麻煩,所有的現(xiàn)有應(yīng)用都得用它提供的API重寫(xiě)一遍,烏托邦?呵呵
第二篇是
Comptibility is Not Transparency: VMM Detection Myths and Realities
由斯坦福、VMWare、UBX/XenSource、卡內(nèi)基梅隆合作(來(lái)頭相當(dāng)大啊)
主要講了要實(shí)現(xiàn)一個(gè)完全透明的VMM(Virtual Machine Monitor)是基本不可能的。
從以下幾個(gè)方面論述:
CPU差異
比如sidt指令,模擬出來(lái)的MMU架構(gòu)等,都和真機(jī)下的表現(xiàn)有一定的差別。
片外差異
現(xiàn)代芯片組都很難模擬出來(lái),VMWare為了簡(jiǎn)化把所以的芯片組都模擬成i440bx,于是虛擬機(jī)的硬件配置會(huì)很荒謬。
另外I/O虛擬化也很難,基本上要維護(hù)一個(gè)龐大的模擬各種型號(hào)的硬件的驅(qū)動(dòng)庫(kù)是不可能的。通過(guò)這個(gè)問(wèn)題完全可以檢測(cè)到VMM。
還有就是利用device pass through的設(shè)備的DMA,訪(fǎng)問(wèn)物理內(nèi)存進(jìn)行探測(cè),當(dāng)然這個(gè)在IOMMU組件推出后就行不通了。
資源差異
比如我寫(xiě)一個(gè)程序先占滿(mǎn)TLB,然后執(zhí)行一些在虛擬機(jī)中會(huì)導(dǎo)致VMM工作的指令,如果有VMM存在的話(huà)一部分TLB就會(huì)被占用,等控制權(quán)回到guest os上我就能探測(cè)到這個(gè)差異。另外虛擬機(jī)也不至于去模擬一個(gè)TLB的行為,否則產(chǎn)生的性能差距。。。殘念
用時(shí)差異
page faults的不一致等時(shí)間上的真機(jī)與虛擬機(jī)的差異也很容易檢測(cè)到。
另外我可以寫(xiě)兩個(gè)程序,一個(gè)跑1000000遍NOP,另一個(gè)跑1000000遍CPUID,求它們的所花時(shí)間比例。
真機(jī)上 CPUID : NOP 這個(gè)比例肯定比虛擬機(jī)上的小不少,因?yàn)镹OP不會(huì)被VMM截獲,但是CPUID會(huì),會(huì)花更多的時(shí)間
計(jì)時(shí)的時(shí)候可以借助NTP服務(wù)器,或者干脆用秒表 -_-b
最后作者還提到了VMBR:"Why bother?"
所謂的VMBR其實(shí)大大降低了反病毒的難度,傳統(tǒng)的病毒還是很難檢測(cè)的,但是VMBR病毒你只要用上述任何一種方法檢測(cè)下即可。
A World Wide Web Without Walls
MIT CSAIL做的,MIT的Frans大牛上周還跑到邯鄲校區(qū)做了個(gè)相關(guān)的講座Securing the Web With Decentralized Information Flow Control
這篇paper針對(duì)安全漏洞日益嚴(yán)重的Web應(yīng)用,提出了一種全新的Web架構(gòu)。
傳統(tǒng)的Web網(wǎng)站架構(gòu)是,用戶(hù)數(shù)據(jù)和應(yīng)用邏輯在同一個(gè)服務(wù)器組上,這樣應(yīng)用邏輯上有任何缺陷都會(huì)被人利用攻擊(比如SQL注入、跨站腳本漏洞等),從而用戶(hù)數(shù)據(jù)泄露。另外用戶(hù)對(duì)自己的信息不具有控制權(quán)(保存在Web服務(wù)器端),比如我想讓校內(nèi)的同學(xué)能夠查看我在Google Picasa上的照片,沒(méi)有最根本的解決方法。
這篇paper提出的架構(gòu)是,用戶(hù)數(shù)據(jù)和應(yīng)用邏輯完全分離,用戶(hù)數(shù)據(jù)貼有一些標(biāo)簽,比如“ZelluX的日志” “Bisu的星際錄像”等,不同的應(yīng)用程序享有不同的權(quán)限標(biāo)簽,比如Picasa有對(duì)照片訪(fǎng)問(wèn)的權(quán)限。
通過(guò)對(duì)數(shù)據(jù)流的控制(具體方法可以google這篇paper的標(biāo)題),最后實(shí)現(xiàn)一種更安全的網(wǎng)絡(luò)架構(gòu):
保證客戶(hù)端、declassifier、數(shù)據(jù)層安全的情況下,中間的應(yīng)用邏輯可以是任意甚至惡意的網(wǎng)站、程序。
感覺(jué)這個(gè)想法很贊,但是實(shí)現(xiàn)起來(lái)很麻煩,所有的現(xiàn)有應(yīng)用都得用它提供的API重寫(xiě)一遍,烏托邦?呵呵
第二篇是
Comptibility is Not Transparency: VMM Detection Myths and Realities
由斯坦福、VMWare、UBX/XenSource、卡內(nèi)基梅隆合作(來(lái)頭相當(dāng)大啊)
主要講了要實(shí)現(xiàn)一個(gè)完全透明的VMM(Virtual Machine Monitor)是基本不可能的。
從以下幾個(gè)方面論述:
CPU差異
比如sidt指令,模擬出來(lái)的MMU架構(gòu)等,都和真機(jī)下的表現(xiàn)有一定的差別。
片外差異
現(xiàn)代芯片組都很難模擬出來(lái),VMWare為了簡(jiǎn)化把所以的芯片組都模擬成i440bx,于是虛擬機(jī)的硬件配置會(huì)很荒謬。
另外I/O虛擬化也很難,基本上要維護(hù)一個(gè)龐大的模擬各種型號(hào)的硬件的驅(qū)動(dòng)庫(kù)是不可能的。通過(guò)這個(gè)問(wèn)題完全可以檢測(cè)到VMM。
還有就是利用device pass through的設(shè)備的DMA,訪(fǎng)問(wèn)物理內(nèi)存進(jìn)行探測(cè),當(dāng)然這個(gè)在IOMMU組件推出后就行不通了。
資源差異
比如我寫(xiě)一個(gè)程序先占滿(mǎn)TLB,然后執(zhí)行一些在虛擬機(jī)中會(huì)導(dǎo)致VMM工作的指令,如果有VMM存在的話(huà)一部分TLB就會(huì)被占用,等控制權(quán)回到guest os上我就能探測(cè)到這個(gè)差異。另外虛擬機(jī)也不至于去模擬一個(gè)TLB的行為,否則產(chǎn)生的性能差距。。。殘念
用時(shí)差異
page faults的不一致等時(shí)間上的真機(jī)與虛擬機(jī)的差異也很容易檢測(cè)到。
另外我可以寫(xiě)兩個(gè)程序,一個(gè)跑1000000遍NOP,另一個(gè)跑1000000遍CPUID,求它們的所花時(shí)間比例。
真機(jī)上 CPUID : NOP 這個(gè)比例肯定比虛擬機(jī)上的小不少,因?yàn)镹OP不會(huì)被VMM截獲,但是CPUID會(huì),會(huì)花更多的時(shí)間
計(jì)時(shí)的時(shí)候可以借助NTP服務(wù)器,或者干脆用秒表 -_-b
最后作者還提到了VMBR:"Why bother?"
所謂的VMBR其實(shí)大大降低了反病毒的難度,傳統(tǒng)的病毒還是很難檢測(cè)的,但是VMBR病毒你只要用上述任何一種方法檢測(cè)下即可。