目前分類: 2006年01月的文章    檢視方式: 列表 摘要
XSS、網頁標準、二進位
vaccha 在天空部落發表於12:25:47 | 網路安全 - Security

無名小站的 XSS 安全漏洞提到XSS所造成的嚴重問題。裡頭有一個例子-Cross-Site Scripting Worm Floods MySpace -談到有個名為Samy的人利用XSS,讓自己在一天之內變成Myspace的名人,成為超過一百萬人的好友,還讓Myspace被迫關站。我翻閱了slashdot這篇文章的回應和相關文章,發現裡頭有一點在Gea-Suan Lin’s BLOG完全沒提到,就是XSS蠕蟲的作者Samy利用了MS IE瀏覽器允許某些不合法的HTML標籤也能正常的辨認這項優點(應該算是優點,因為它可以讓你觀看不合法的網頁),巧妙地將一個Javascript標籤隱藏在CSS標籤中。這樣可以躲過Myspace對於Javascript的過濾檢查,Myspace不允許使用者寫入Javascript到網頁中。雖然它理論上是一個不知所云的CSS標籤,但是MS IE卻會執行藏於其中的Javascript程式碼。再加上XMLHTTPcookie的幫助,Samy的好友以一傳十、十傳百的方式暴增,最後因為太多人瀏覽該網站而使得它被迫關站。注意Samy的XSS蠕蟲必須要有一個條件,就是網站的過濾器對於合法標籤的標準和瀏覽器的不一樣。Myspace的過濾器對於合法性採取較嚴格的標準,而MS IE則採取較寬鬆的標準(其實也是不合乎W3C的標準)。原本在W3C的標準中應該被視為不知所云的CSS標籤,在MS IE中卻成了一段Javascript程式,結果造成了可怕的後果。這件事提醒了我們,遵守網頁標準其實是有助於網路安全的。Myspace為了防止類似的情形再度發生,大概會採取更為寬鬆的標準,以逮到更多危險的Javascript程式碼。如果它真的這麼做,等於是承認了MS IE才是網頁的標準,而不是W3C。不過使用者的壓力應該會迫使它這麼做,因為一般人不會承認自己選擇了一個錯誤的瀏覽器,只會怪Myspace沒做好網站的安全工作。如此倒果為因,只能說是迫於網路的現實。

其實這不只是MS IE的問題,其他瀏覽器或多或少都會允許一些不合法的標籤。這是因為當初WWW開始風行之後,原本只在學術界流傳的WWW,頓時成為大眾的焦點,也因此引來了為數眾多的開發者。這些人不具有電腦的技術背景,也由於當時缺乏編輯HTML的軟體,難免會輸入一些錯誤的語法-例如省略小於和大於等特殊符號。瀏覽器為了推廣WWW起見,乾脆支援這些錯誤的語法。起初是達到快速推廣的目的,因為它讓一般人加入創造WWW的行列。雖然之後的瀏覽器也可以支援更嚴格的W3C標準語法,但是為了和一大堆網站保持相容,只好繼續縱容這些錯誤。不過終於有人發現可以利用這些漏洞,把一些程式碼植入一些受歡迎的網站,如此惡夢就開始了。人們開始嘗到當初草率決定的嚴重後果。目前的情況如果不趕緊想一些辦法解決,任其惡化下去,到最後可能會迫使很多人不再逛網站,造成WWW的空前危機。最好的解決方法似乎是,大家趕緊遵守W3C的標準,網站可以很容易地過濾惡意程式碼,一般人也不容易遭到這些程式的攻擊。

但是如果仔細想想,目前問題來自於一個更深層的錯誤,就是根本不應該採取文字格式,網路應該二進位化。人們之所以會採取文字格式,是因為它可以直接被人所閱讀和編輯。但是一旦人的因素加入之後,就會產生導因於人的問題。人和機器不同,人的語言允許冗餘性和不精確性,機器則不然。就以HTML標籤來說,少一個小於的符號,人們還是認為它是合法的,這是人們認為小於加大於符號是多餘的,只要其中一個就可以了。但是機器卻無法辨認,因為他違反標準語法。遇到這種問題,在專業的程式領域中,編譯器偶而會允許不合法的語法,不過很少這樣。不過像WWW這種大眾的領域,瀏覽器會傾向容許這些錯誤,因為網站開發者的水準普遍不足。如此一來,就算一夜之間,大家都遵守標準開發網站,這些問題終究還是會再出現。因為網路技術日新月異,只要新技術還是用文字格式,就難免遭受人們的摧殘,變得面目全非。況且我之前說過,使用文字檔是英文沙文主義,對於其他語言的使用者來說,英文和數字完全一樣難記。只使用英文的結果,是阻礙了世界絕大多數不使用英文的人的貢獻。使用二進位,可以避免英文沙文主義之外,更可以做到完全無冗餘性,無法增減半分。已經有一個非常成功的例子,eDonkey和eMule如此成功,成為最大的P2P網路,它們的協定就是使用二進位格式,因為原始開發者都是德國人。別忘了德文和英文還有高度的相關性,他們都選擇了二進位,更何況世界上其他跟英文相差十萬八千里的各式各樣語言的使用者不該選擇二進位嗎?

註:XSS或許又給了我一個關閉本Blog所有回應的理由,至少逛我網站的人不會遭到Javascript的攻擊,不是嗎?


早該雙核心
vaccha 在天空部落發表於23:11:48 | 硬體 - Hardware

去年(2005年)PC硬體界的大事就是,intel和AMD終於推出雙核心處理器,而且都是64位元的。換句話說,intel和AMD雙方都不再做時脈競賽,準備用更小的製程,把更多的核心塞入單一晶片中。intel更準備推出第八代處理器架構-Merom/Conroe/Woodcrest-分別給筆記型/桌上型/高階電腦使用。這個新架構結合了64位元、雙或多核心、省電、虛擬化。它具有P6改良來的內部管線(聽說可以一次發出4個指令),P4改良來的外部介面(1066Mhz以上)。intel放棄時脈競賽,聽說是因為它考慮到應該要以效能耗能比來設計新處理器,也就是盡量使得單位能量所產生的效能達到最大。由於P4過長的管線雖然可以達到很高的頻率,但是卻很耗電。反觀筆記型的Pentium M雖然管線較短,達不到那麼高的頻率,但是卻很省電。今天看到一本雜誌的報導說,超頻過的Pentium M,以更低的時脈和耗電量,超越P4的效能。這表示什麼?這表示買P4處理器的人都在當冤大頭。難怪有公司推出可以在桌上型的主機板上使用Pentium M的轉接卡。而intel在最新架構重新導入較舊P6管線,只是把這可笑的現狀正常化而已。

intel終於改邪歸正,承認他自己的錯誤。打從P4一推出時,intel硬要推出昂貴的RAMBUS DRAM,結果不敵PC133 SDRAM。而且P4在同時脈下,竟然輸給P3。從來沒有一個廠商的新處理器在同時脈下比舊處理器慢的,intel可能是空前絕後的唯一一個。消費者當然不願買P4,繼續守住P3。intel為了打破僵局,公開宣布不再推出更快的P3,讓消費者停止觀望,擁抱P4。但是筆記型因為省電的關係,只好繼續用P3架構,並改名Pentium M,再搭配WiFi無線網路,成為Centrino。一推出造成熱賣,比P4的筆記型版本賣得好太多。桌上型P4繼續衝時脈,推出31階段管線的Prescott,速度雖然快,但是實在太耗電了。此時較省電的Athlon XP及64迅速拓展市場,Athlon 64還支援64位元指令集。intel的Itanium處理器賣的很差,自己的64位元架構推行的不順利,竟然反過來支援AMD的指令集。intel有史以來頭一遭支援AMD的指令集,它也會有今天!intel在支援AMD64的同時,順便推出雙核心的處理器(其實不是真正的雙核心,只是兩個處理器放在同一晶片中),並且宣布以後要使得處理器更省電。不久後就和Apple正式合作,預計今年推出x86版本的Mac,因為intel在省電科技比IBM好得多。好了!一切回到正軌,intel不再衝時脈,改以多核心為目標,這不是很好嗎?但是讀者知道嗎?IBM早在上個世紀(2000年)就推出雙核心的Power 4,今年即將推出的PS3上,搭載的是一顆Power架構的cell晶片,高達八核心。intel直到去年(2005年)才推出雙核心,動作也未免太慢了吧,早該雙核心了!平白無故浪費了五年!這五年來,PC界也沒有啥支援多重處理器的軟體,因為推出給誰用啊!intel成為阻礙軟體進步的最大絆腳石,現在intel的技術都跟在別人後面(多核心、AMD64、虛擬化),自己砸錢搞的新技術一個一個失敗(P4、Itanium、RAMBUS)。其實一開始根本就不該推出P4架構的。書上都說,管線最佳長度是8左右,20至30階段的管線只會拖垮執行速度。因為愈長的管線只是讓更多的階段老是處於等待的狀態,唯一的結果是浪費電而已。intel硬要消費者接受P4,它想只要砸錢買廣告,大家就會相信愈高的時脈就是愈快。拜託!消費者又不是笨蛋,誰相信它那一套,它只是自欺欺人而已。


每月記事
Apr 2007(2)
Sep 2006(1)
Jul 2006(1)
Feb 2006(3)
Jan 2006(2)
Dec 2005(7)
RSS
Blog搜尋
搜尋:
Javascript
我推薦誰
目前無名單
誰推薦我
目前無名單
誰來我家
RSS 訂閱
贊助商
CC授權
其它資訊
本部落所刊登之內容,皆由作者個人所提供,不代表 yam 天空 本身立場。
POWERED BY
POWERED BY 天空部落
會員登入免費註冊