【轉貼】你是否被微軟強迫紋身?





purk
2004-03-05, 11:27 PM
Richard M. Smith

李逸元譯

前陣子,在我持續觀察關於Pentium III序號所引發的廣泛爭議與討論之時,很自然地,我對於Windows系列軟體如何使用序號資訊,產生了極為強烈的好奇心。而就在這個星期裡,1999年3月的第一週,我獲知一個讓人不?o不特別注意的新發現:顯然微軟公司已經利用「乙太網路卡卡號」(hardware Ethernet adapter addresses)這個東西,為你的Excel與Word文件偷偷的加上了「指紋」(譯者註:fingerprint,甚至有些媒體與反微軟組織稱之為「紋身」或「刺青」,tattoo)。嘖嘖!就因為這個網路卡?d號(也稱為網路卡位址,或MAC address,MAC位址)的原始設計是每張網路卡都不相同、48位元長之唯一序號;這正好跟Pentium III序號的情形非常類似。這套指紋機制可以被用來(或被濫用來)追查這些檔案的來源。舉例來說,如果有個大嘴巴把公司內部或政府機關的機密檔案洩漏給?s聞界的話,這個被嵌入的網路卡卡號,就可以用來辨別原作者是出自何處。

以下是我從我機器上的一個Word檔案(.doc)檔案中抓出來的16進位片段:

3360:02 00 00 00 0A 00 00 00 5F 50 49 44 5F 47 55 49 ........|_PID_GUI

3370:44 00 02 00 00 00 E4 04 00 00 41 00 00 00 4E 00 D.......|..A...N.

3380:00 00 7B 00 45 00 38 00 36 00 43 00 33 00 42 00 ..{.E.8.|6.C.3.B.

3390:36 00 30 00 2D 00 44 00 30 00 31 00 41 00 2D 00 6.0.-.D.|0.1.A.-.

33A0:31 00 31 00 44 00 32 00 2D 00 41 00 36 00 37 00 1.1.D.2.|-.A.6.7.

33B0:46 00 2D 00 30 00 30 00 32 00 30 00 37 00 38 00 F.-.0.0.|2.0.7.8.

33C0:39 00 30 00 30 00 33 00 33 00 37 00 7D 00 00 00 9.0.0.3.|3.7.}...

而根據Windows 98提供的WINIPCFG公用程式,可以發現我的網路卡卡號正是00-20-78-90-03-37!如果讀者想自己檢查看看,你可以利用Notepad隨便開啟一個Word文件,然後搜尋〝GUID〞這個字串,接著你的網路卡卡號就會出現在GUID後面不遠處。例如:

_PID_GUID { E 8 6 C 3 B 6 0 - D 0 1 A - 1 1 D 2 - A 6 7 F - 0 0 2 0 7 8

9

0 0 3 3 7 }

在Windows系統中,這個網路卡卡號被存放在GUID變數中(GUID為Globally Unique Identifier之縮寫)。GUID是一個長128位元的變數,Windows系統用GUID來識別ActiveX控制。而GUID中較低的48個位元,通常就存放網路卡卡號。由於不同的機器不會具有相同的網路卡卡號,所以A電腦所生成的GUID絕對不會與B電腦算出來的互相重複。把網路卡卡號放進GUID的一個副作用,是讓GUID自動變成一個具有硬體識別能力的指紋,而可以用來追溯到產生該文件的電腦。雖然GUID原本是為了ActiveX控制方面的功用而設計,但目前它可以被用在任何需要唯一識別序號的各種用途中。Windows系統使用「UuidCreate」與「CoCreateGuid」兩個API來生成新的GUID。

無網路卡系統的識別方式

如果所使用的電腦沒有裝上乙太網路卡,Windows系統看起來借用了數據機撥接PPP系統的觀念,而會賦予系統一個「虛擬」的網路卡卡號(pseudo-Ethernet address )。我曾在三台不同電腦上測試過,都得到相同的網路卡卡號:44-45-53-54-00-00(譯者註:我家中電腦中所有的Excel文件裡面,也都嵌入了這一個虛擬網路卡卡號)。與大多數的商業環境不同,一般的家用電腦多半沒有、也不需要有網路卡,因此這些使用者的Word或Excel文件就不會被嵌入可供追查的GUID。然而,在未來因為追求上網而使得纜線數據機或ADSL數據機越來越盛行的時代,家用電腦就不會再是微軟的化外之民了。(編註:線纜數據服務,必須透過乙太網路卡)以我自己的膝上型電腦為例,我發現絕大多數的 .doc與.xls檔案,都被嵌入了我的網路卡卡號。在少數例外的幾個檔案裡,我發現的是前述的虛擬網路卡卡號:所以我假設這些檔案是我在外出離線工作時完成的。

微軟公司最近已經公開承認,他們的確在Excel與Word檔案中放進了GUID,但目前我們仍不清楚這到底有何用意(請參考「微軟針對Windows 98序號問題的公開信」一文)。不論如何,這兩個應用程式在把檔案儲存到硬碟時,都會生成新的GUID。目前我只在Windows系統下測試過Office 97的檔案;我不確定Office 95或是MacOffice的文件會不 會也碰到類似的情形。另外一個同樣令人關切的問題是:到底還有沒有其它的windows系列應用軟體也相同地利用GUID來作為身份識別用途?

例如,我曾收到某位朋友的電子郵件,他信中告知GUID也被用在網頁瀏覽器所需之cookies裡面。我立刻掃瞄我機器裡面所有Netscape cookies,的確發現有不少網站都已經開始利用GUID來作為身份識別之用。

我個人認為:比起Pentium III序號所引發的爭議而言,微軟這次被發現的狀況其影響更為深遠,但卻沒有受到應有的關切、重視與探討。另一方面來說,我覺得把硬體序號嵌入在Word與Excel檔案裡面是非常奇怪而又不自然的舉動。這種建指紋的機制毫無必要,而且應該馬上停止。

更多的小把戲

我發現Windows系統的主目錄裡面有一個名為〝REGINFO.TXT〞的檔案;這個檔案是在我註冊Windows 98之後立刻被系統建立的,而其中包含了當我註冊時,經由Internet而傳送到微軟公司的所有資訊。猜猜看我發現了什麼?我在其中的〝HWID〞識別代碼內,又再度發現了我的網路卡卡號!而微軟公司從來沒有詢問過我使否同意送出這個資料,甚至更沒有知會我這個訊息已經被送到他們公司去了。以下是從這個檔案裡面摘錄出來的片段:

=== Microsoft Registration Wizard =

Default First Name = Richard M.

Default Last Name = Smith

Default Company





HWID = 13b50d60ce4a11d2a67f002078900337

MSID = 114e54659a4611d2a6760050c5000246

本文原載BYTE雜誌。作者Richard M. Smith,為Phar Lap Software, Inc. 的總裁。該公司專長於開發嵌入式系統所需之即時作業系統(RTOS)。他曾經因為發現Windows98與IE 4.0的安全漏洞而聞名於網路安全界。本文為作者個人意見,不代表本刊立場。Smith目前居住在麻州Brookline,他的電子郵件地址是:

[email protected]

本文譯者李逸元,具有數學、電機工程與計算機科學方面的學位,目前服務於財團法人資訊工業策進會所屬之網路通訊實驗室。他對於網路通訊與網路安全的理論、技術、應用及相關產品有相當廣泛的興趣與經驗;他的電子郵件地址是:

[email protected]

http://www.willgrowconsulting.com/sub23.htm

http://www.cyberlawyer.com.tw/alan4-08_4-5.html




purk
2004-03-05, 11:40 PM
http://www.wired.com/news/technology/0,1282,18331,00.html

http://www.pc-help.org/privacy/ms_guid.htm

http://tegosystemonline.com/papers/RegainPrivacy.pdf

rock
2004-03-06, 12:48 AM
拜託一下...
發表文章時請注意iframe內網頁的格式...
剛才開到這邊文章,
整個瀏覽器因為PDF檔當在那邊好久 :mad:

cky
2004-03-06, 12:58 AM
沒錯害我以為這文章有啥怪東西

Zuchen
2004-03-06, 09:44 AM
發文者請修改一下你的文章吧!
那個PDF只要用連結的就可以了
否則會造成每次要觀看這篇文章的網友們
都得等上好一段時間

primo217
2004-03-06, 09:55 AM
麻煩pdf檔用連結方式即可
不要直接貼出來
thx