KingdaSun的blog:http://www.kingda.org/
善意的警告,目前所有發(fā)布的Apollo(alpha1)的air文件都可能是你系統(tǒng)潛在的殺手。有可能是作者無意間所犯的編程錯誤,也有可能是有意而為之。敬告所有Apollo愛好者請勿要亂下air文件安裝執(zhí)行。應該只從值得信賴的網(wǎng)站下載,或者只下載有源碼的Apollo程序,自行編譯。
Apollo不是Flash,它的功能所及遠遠超過Flash,它的危險也遠遠超過Flash。
一年多前Apollo的傳言漫天飛時,在激動之余,黑羽不禁就在想Apollo提供的安全模型會是怎樣。任何一個可以和用戶本地系統(tǒng)打交道,又可以和網(wǎng)絡打交道的東西,在我看來都是危險分子或是潛在的威脅。所以我就在想Adobe能解決好這個問題嗎?當然在目前的情況下,是不可能完全消除這種類型程序的危險性的。我所要求的是,能有一個合理的安排,換句話說,區(qū)分不同的程序訪問權限,給于不同的權力。
而現(xiàn)在,毋庸諱言,Apollo Alpha 1是危險的。等到將來的Apollo正式版會有安全權限的區(qū)分,但現(xiàn)在Alpha1的程序是有潛在危險的。
從安全策略上
Apollo alpha1對所有Apollo程序只提供一種安全沙箱——Security.APPLICATION。這是目前除了LOCAL_TRUSTED、LOCAL_WITH_FILE、LOCAL_WITH_NETWORK、REMOTE之外提供的第五種安全沙箱。按危險性大小來排序,就是REMOTE<LOCAL_WITH_NETWORK<LOCAL_WITH_FILE<LOCAL_TRUSTED <<< APPLICATION 不受限制的從外部載入數(shù)據(jù),這一點本身就是危險的。要小心在載入的超鏈接中有代碼注入(code injection),下載的swf含有敵意的操作,處理緩存json數(shù)據(jù)時惡意代碼僵尸復活。
從客戶端系統(tǒng)訪問上
Apollo程序可以訪問本地文件。我們所有Apollo的粉絲都在歡呼這一點。但是,從來不可忘記,這東西是雙刃劍,可以攻城也可自傷。目前的Apollo alpha 1編譯出來的apollo程序(打包文件是air),都是可以訪問本地所有文件的。對Windows系統(tǒng)而言,使用Apollo,可以輕松訪問到你本地電腦上所有文件,包括Windows, system,system32,以及你所有的機密目錄。有意編寫一個apollo,來故意誤導用戶、改寫或覆蓋你現(xiàn)有的文件,是容易辦到的事情。電腦新手注意,用Apollo覆寫文件,就和C#等其他語言一樣,是不會彈出警告窗口的。
Apollo 程序的實質(zhì)
Apollo是真正的程序,是真正的exe文件。不要忘了這一點。再做個不很恰當?shù)拿枋,Apollo實際上是一個swf+exe。當然它們都受到Apollo Runtime的限制。 隨便安裝一個air文件,然后右鍵單擊它安裝在桌面上的快捷方式,選擇查找目標,你會看到Apollo真正的面目。一個exe文件,加一些目錄,一般在bin目錄下靜靜躺著swf文件。再加上系統(tǒng)預先安裝的Apollo Runtime,這就構成了完整的Apollo程序。對Apollo工作的機理,我可以打個簡單的比喻,swf和包裝的exe打交道,exe再和runtime打交道,然后runtime才和客戶系統(tǒng)打交道。(實際當然遠遠不止這么簡單,供新手理解,老手勿笑)
出處:藍色理想
責任編輯:moby
上一頁 下一頁 Apollo是危險的嗎? [2]
◎進入論壇Flash專欄版塊參加討論
|