發文作者:wekon | 一月 6, 2009

[20081215 meeting 筆記] google native client

e69caae591bde5908d-1
(http://code.google.com/p/nativeclient/)

拖了好久的文章,來補一下


這次學弟報告 google native client 這個東西
這個東西是為了讓 web application 可以使用到更多的本機端資源
所以使用 browser plugin 的方式,搭配他的 runtime 來執行 x86 native code

他包含了三個部分:runtime, browser plugin, gcc
兩個 module 之間可用 IMC 溝通
兩種溝通方式為 srpc 及 NPAPI

例如,要進行照片分享的過程中,想要在不離開網站的情形下修改圖片
目前可使用 js 與 server 運算
但這樣會耗費 server 資源,並且造成大量 traffic

為了達到安全性,他設計了兩層 sandbox:inner-sandbox & outer sandbox
inner-sandbox 主要做靜態分析,分析是否存在不受信任的指令
outer-sandbox 用來判斷 system call ,用到  system call 的要在 white list 中才允許被執行

說實在的,這東西跟 Java Applet, adobe flash, 與 ActiveX 非常類似
尤其是 ActiveX,兩者都可以執行 native code
但是好歹 ActiveX 會問一下使用者要不要安裝
使用者可以猶豫一下,判斷來源是不是可以信任
但是 google native code 完全不會問
這是相當有 guts 的行為
代表他要為所執行的 native code 背書

這東西看得我心驚膽戰的
browser 之前就一直被人詬病的問題就是權限太大
現在 google native code 又把它的權限更加擴大
然後再用自己的 sandbox 想辦法檔下來
一個瀏覽器可以執行 native code,又不用經過使用者同意
幾乎就是可以為所欲為了
要能夠檔掉所有的惡意攻擊,就算是有一般 IDS 的能力可能還不夠吧

說實在的,我不太相信這樣幾乎讓人為所欲為的情形下
又可以把所有的惡意攻擊都檔得下來
只要有任何一個攻擊能破解他的 sandbox,google 就破功了
我想接下來這東西會面臨到無數 hacker 的蠢蠢欲試吧


Responses

  1. 人为制造的两个极端,看用户怎么玩了


發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / 變更 )

Twitter picture

You are commenting using your Twitter account. Log Out / 變更 )

Facebook照片

You are commenting using your Facebook account. Log Out / 變更 )

Google+ photo

You are commenting using your Google+ account. Log Out / 變更 )

連結到 %s

分類

%d 位部落客按了讚: