2007年2月11日 星期日

Skype偷讀BIOS資料

用上偷這個字實在是因為那動作太鬼鬼祟祟了…

最早是從前輩Gea-Suan Lin’s BLOG看到這個消息
Slashdot上面有人爆料說Skype在啟動的時候
會在暫存資料夾底下動態產生一個16位元的.com檔,然後用完就馬上砍掉
可是在64位元的作業系統上這個.com沒法跑所以會有錯誤訊息
追著錯誤訊息把檔案拖出來一看,發現這程式是用來把BIOS內容讀出來用的

然後大家就開始猜Skype到底要這資料幹什麼
有人猜是為了抓CPU資訊來綁死某些功能(10方通話?)
有人猜是為了抓主機板的製造商和Serial Number,來做統計資料
或是作為P2P架構的unique ID,或著是讓老大哥可以順利的拜訪你等等

然後Skype官方有了回應,Chief Security Officer跳出來說話了
說新版的Skype提供付費的外掛,這整個框架是向EasyBits Software 買的
(Google找這家公司只找到一個做兒童軟體的…是同一家嗎?囧)
然後這個框架透過抓BIOS來作為unique ID,然後用來做DRM的保護

可是這樣子的回答沒有說明最重要的部份,那就是BIOS的資訊是不是被送出去了
這些資訊到底被送到誰手上,然後這些資訊被用做了怎麼樣的用途
如果說要做DRM的話,資訊送回去應該是必要的,至於送了什麼資訊就很敏感了
就像前輩ijliao:Skype 讀 BIOS 的真相的看法的一樣

光靠 serial number 要怎樣確保軟體不會被盜?難道它們有一個中控資料庫嗎…?

新版(3.0.0.216)之後的版本就不會再去讀BIOS了
難怪我試半天,用盡方法就是抓不到這檔案,原來是已經拿掉了…

然後一大串的討論裡就有人提到其實Skype這軟體一整個很詭異
充滿了Self Modification Code和各種Anti-debugging的手段
關於這方面請參考P. Biondi 和 F. Desclaux在2006黑帽大會投影片
以及F. Desclaux 和 K. Kortchinsky在2006 REcon這兩份 投影片
加上之前KaZaA做的事,讓人引發了許多聯想
不過這些目前都無法被證實,Skype官方目前也沒有進一步的回應

所以我以後應該每次打開Skype心裡就會毛毛的…XD