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