<?xml version="1.0" encoding="UTF-8"?><!-- generator="WordPress/2.9.2" -->
<rss version="0.92">
<channel>
	<title>Rex&#039;s blah blah blah</title>
	<link>http://people.debian.org.tw/~chihchun</link>
	<description></description>
	<lastBuildDate>Tue, 23 Feb 2010 09:45:35 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>CertAlert 與 CA Untrustworthy</title>
		<description><![CDATA[二月初發表了在 Linux 上移除 CNNIC 憑證一文後，受到相當多的文章引用與關注。
原文中，提到移除高風險憑證的作法，但其實我相信很多人弄不懂不同平台的作法，也不清楚所謂 NSS 的機制，沒有清除系統憑證，只是試圖移掉 Firefox 中的驗證。所以很多使用者不知道自己是否真的移除，或是以為移除，重新開啟 Firefox 後，因為 NSS 的設計，憑證又自動建入資料庫中。
依照目前的討論 (#542689, #476766)，Mozilla 應該採無罪推論原則。也就是說雖然 CNNIC 的風評不佳，但在它實際作惡前，我們理因相信它無罪。雖然有一些技術上的提議，希望可以降低憑證管理的問題跟風險，但是這些功能恐怕需要點時間才會實踐。
所以，短時間內，使用者還是得自己做一些設定來自保。但是前文步驟又十分繁雜，我們需要給使用者一個比較簡單的操作措施。
在香港朋友 Benlau、小兔黑黑 的倡議與支持下，我們寫了一個小 Firefox 附加元件，稱為 Cert Alert，這個元件的功能是「自動提醒」使用者，網頁中使用了特定 SSL Root CA 的內容。

這個附加元件採 MPL 1.1 授權釋出。你可以於 Firefox 附加元件網站下載安裝。開發者可於 Github 取得完整程式碼或提供建議。
另外一個值得推薦的是 timdream 所開發的 CA Untrustworthy。這個附加元件的功用是每次開啟 Firefox 時，自動移除或關閉高風險憑證。如此，若瀏覽使用高風險憑證網站時，Firefox 就會提醒你這是未受信任網站，你可以依照 Firefox 的憑證驗證機制來允許或關閉網頁。所以你就不用擔心，是否因為沒有完成移除系統憑證而造成安全問題啦。Tim 的 CA Untrustworthy 亦擺於 Github.
銘謝: Littlebtc 提醒 CertAlert 0.0.4 版前之 MITM [...]]]></description>
		<link>http://people.debian.org.tw/~chihchun/2010/02/22/certalert-and-ca-untrustworthy/</link>
			</item>
	<item>
		<title>現在是哪一週？</title>
		<description><![CDATA[為了某些專案的進度追蹤，改成逐周方式確認。在溝通過程中，發現週數老是對不上，原來大家的週數計算方式都不太一樣。我的紙本行事曆跟電腦行事曆也不太一樣。
原來，計算一週之始有好幾種方法，例如

1/1 日開始一定算第一周。
不管 1/1，從一年的第一個星期天開始算第一周。
不管 1/1，從一年的第一個星期一開始算第一周。

像是波斯灣阿拉伯國家是週六開始算第一周，巴基斯坦跟愛沙尼亞是把 1/7 當作一年開始來計算。即便是上述的幾種方式，在同一個國家內也有不同的偏好阿。像我的行事曆就是 1/1 開始當作第一周，而我的電腦則是把週日開始算為第一周。兩個相較起來就差了一週。
在 Linux 上，其實 en_US 跟 zh_TW 兩種不同的語系設定，開始週數是不同的。en_US 使用的是 1/1 開始那周算第一周，而 zh_TW 則是設定成第一個週一是第一周。用 ncal 看起來像是這樣
$ LC_TIME=en_US.UTF8 ncal -w  1 2009
    January 2009
Mo     5 12 19 26
Tu     6 13 20 27
We     7 14 21 [...]]]></description>
		<link>http://people.debian.org.tw/~chihchun/2010/02/09/what-week-it-is/</link>
			</item>
	<item>
		<title>在 Google Groups/GMail 找交叉引用連結</title>
		<description><![CDATA[很多時候，我們常常在 Google Groups、線上論壇或 Gmail 引用另外一封電子郵件的發言作 Cross-referencing，為了讓後來才參與討論的人快速的找到相關的背景資料。
但是很多時候，要求人家去爬文其實是很難實踐的，因為論壇流量極大，即便告知了標題、作者，很多時候可能還是要翻找很久。另外一個問題是，如果你想引用特定 E-Mail, 只能要別人回去翻閱你以前寄出的信件，這樣對方很難找到原始引據信件。即便你想讓人參閱，你也無法把特定的信變成 hyperlink，公開在網路上讓人點閱。
其實，根據 RFC2392 的定義，每一封電子郵件標頭裡，都藏有一個單一的 Message-ID。每一封信都有，而一些線上郵件軟體如 Gmail，支援搜尋 Message ID，你可以把 Message ID 輸入搜尋欄位，就可以快速找到原始的討論串。在應用上，你也可以代入搜尋網址，如 Gmail 則為
https://mail.google.com/mail/?shva=1#search/[MessageID]
只要給對方這樣的網址，他就可以找到原始的郵件。無論是藏在那一個目錄/標籤中。新式的電子郵件軟體，也可以讓你跨目錄的搜尋 Message Id，有了參照，要找到原始郵件應該比透過標題找來的快。
另外一個在網路上嘴砲溝通時常用的功能，是引用開放論壇的存檔。若你打開郵件翻閱 Header 的話，會看到一些隱藏的資訊。以 Google Groups 為例子，你會看到 X-Thread-Url, X-Message-Url 等。這兩個網址，就是線上網頁版本的存檔。你可利用這兩筆資訊提供給其他人作為引據連結。
其他的一些郵遞論壇工具，也有自己的 Archive URL，不妨開啟來翻閱。現雖有 RFC5064 之定義，但是大家似乎還是各作各的。
Happy Flame War!
這是一篇 Tips.
]]></description>
		<link>http://people.debian.org.tw/~chihchun/2010/02/07/cross-referencing-with-gmail/</link>
			</item>
	<item>
		<title>Thinkpad 小紅點設定</title>
		<description><![CDATA[Thinkpad 的小紅點在 Linux 上似乎一直沒有完善圖形化介面的設定工具。若要設定的話，常得參考一些指令設定。
驅動程式預設的速度、靈敏度都太低，推一陣子手指就累了，也無法按著中鍵移動小紅點來捲動視窗。不甚好用，稍做一些設定的筆記，作為未來參考。
在 GNU/Linux Debian/Ubuntu 上有數種機制可以更改小紅點設定，若是新手使用，大概會被 sysfs, udev, hal, DeviceKit, pm-utils, xorg.conf, xinput 等術語搞得一頭霧水。你若不想弄懂這些難解術語，也不想更改 xorg.conf，最快的作法是以 sudo 在虛擬終端機執行以下指令
#!/bin/sh
# 游標速度，可調整數值。大為快，小為幔
echo -n 120 &#62; /sys/devices/platform/i8042/serio1/speed
# 靈敏度，最高應為 255
echo -n 250 &#62; /sys/devices/platform/i8042/serio1/sensitivity
# 按小紅點為選取，1 為啟用，0 為關閉。
echo -n 0 &#62; /sys/devices/platform/i8042/serio1/press_to_select

xinput list-props '"TPPS/2 IBM TrackPoint"'
xinput set-int-prop '"TPPS/2 IBM TrackPoint"' 'Evdev Wheel Emulation' 8 1
xinput set-int-prop '"TPPS/2 IBM TrackPoint"' 'Evdev Wheel Emulation [...]]]></description>
		<link>http://people.debian.org.tw/~chihchun/2010/02/06/config-trackpoing-on-linux/</link>
			</item>
	<item>
		<title>Browser Exploitation Framework</title>
		<description><![CDATA[先前提到關於 Firefox 瀏覽器的擴展套件安全問題，你或者認為這種系統入侵方式很少見，畢竟可以被破解的瀏覽器為少數。事實上，已經有些工具可以拿來養木馬，像是 BindShell 開發的 BeEF  (Browser Exploitation Framework)。
BeEF 整合 Metasploit 等知識庫與工具來查找各種瀏覽器的漏洞，只要你將代碼塞到受害者可能讀取的網頁，就可以即時看到對方瀏覽器版本，以及可能的入侵方法，甚至可以利用 BeEF 線上即時送出一些指令，直接侵入對方主機。
]]></description>
		<link>http://people.debian.org.tw/~chihchun/2010/02/05/browser-exploitation-framework/</link>
			</item>
	<item>
		<title>Linux 上試用 TECOM WiMAX 網路卡</title>
		<description><![CDATA[上個月 (2010/01) VMAX/崴邁司 在台北開台期間，舉辦了一場體驗活動。雖然興致勃勃的去申請了，不過顯然重度使用者不在 VMAX 的規劃範圍之內，因此我並沒有被選到試用。幾位朋友倒是幸運的取得試用資格。
目前 VMAX 提供的 USB WiMAX 網路卡是 TECOM 的 WM5123M-2G5. 網頁上註明只支援 Windows 作業系統。基於好奇的心理，也跟朋友借了網路卡來玩一個禮拜，在北市的古亭、公館一帶試用，上下傳速度都還不錯。
不過自己比較感興趣的是否有 Linux 的驅動程式。稍早的測試是在 Linux 上，透過 VirtualBox 跑 Windows 來連線。實際上並未能在 Linux 上直接使用該網路卡連線。
查了一下知道這款設備使用 GCT 的解決方案，應該是 GDM7205，日本的 MODACOM 也利用此晶片開發了 UD01SS/UD03SS/MW-U2510/BDSS01 等產品。其中 UD01SS 也是日本 UQ WiMAX 搭售的產品之一，在 UQ WiMAX 的產品網頁上，其實也提供 Mac OS 的驅動程式。所以你若使用 Mac OS, 或許可以在此找到可用的驅動程式。
根據我的紀錄，UD01SS 使用的 USB 產品編碼 (vendor id, product id) 為 [...]]]></description>
		<link>http://people.debian.org.tw/~chihchun/2010/02/04/gct-tecom-violated-gpl/</link>
			</item>
	<item>
		<title>Java JVM 的 Dual Stack/IPv6 連線問題</title>
		<description><![CDATA[大約從 J2SE 1.4/1.6 開始，Sun 所釋出的 Java runtime 開始支援 IPv6 連線功能。一般的 Linux 的套件系統 也開始支援 IPv6，許多系統預設是同時開啟 IPv4/IPv6 或稱為 Dual Stack 網路功能。
基本上，鼓勵各種軟體開始移植到 IPv6 網路上是一件好事。Java runtime 若在 dual-stack 的機器上，預設走 IPv6 位址，因為 IPv6 位址可同時走 IPv4/IPv6 網路。不過問題在於，若一般的 GNU/Linux Debian, Ubuntu 系統，預設會啟動 IPv6 介面，無論你所在網路是否有 IPv6 路由。
於是，你若在 Linux 上使用一些 Java 寫成的網路軟體，如 JDownloader 等，很有可能發生軟體運作後，卻什麽地方都連不上的症狀。解決辦法一是關閉 IPv6 網路功能，一則是利用 JRE 的參數，改為預設使用 IPv4 網路。
檢查 IPv6 是否驅動
首先，你若想確認是否開啟了 IPv6 網路，可於終端機下使用此指令判斷
$ [...]]]></description>
		<link>http://people.debian.org.tw/~chihchun/2010/02/03/connectivity-issue-of-java-with-ipv6/</link>
			</item>
	<item>
		<title>在 Linux 上移除 CNNIC 憑證</title>
		<description><![CDATA[一月底開始，一些朋友開始討論 Firefox 3.6 中，將置入 CNNIC 的 CA 憑證。這件事情是去年年底，CNNIC 對 Firefox 申報納入 CNNIC 的憑證 (#476766)，目前已於 3.6 版中內建 CNNIC 憑證。
目前此事已經在 Mozilla Security Policy mailing list 公開討論，在華人網路社群也引起一陣騷動。像是 AutoProxy 等社群都提出 CNNIC CA：最最最嚴重安全警告！。在原提案 #476766 中亦有人整理了一些客觀事實。
不過根據我主觀的看法，奉勸所有人盡快移除 CNNIC 相關的 CA 憑證！CNNIC 就是中國網際網路絡信息中心，是一個中國的非營利組織，提供中國網際網路的網域名稱、網段管理。
CA 憑證對於瀏覽器使用者而言，可以用來辨識特定網域是否為合法組織，部份瀏覽器功能甚至依據有否憑證，對網頁開啟進階存取權限。前提是 CA 維持善良管理人義務，嚴格管理所核發的憑證、簽章。
CNNIC 過去最大的爭議即是曾經發布過中文上網官方版軟體，名為提供中文網址導引服務，實質則包含流氓軟體的功能，主要功能是一般輔助上網軟體，但核心卻用 rootkit 技術讓你無法刪除，與木馬/病毒程式一般。雖說這只是一項前科，但是中國政府持續拿著民族主義、國家安全為藉口，實施數種網路管制，甚至滲透國外企業、政府網路，根本是合法的網路流氓。而 CNNIC 背後支持的政府組織是中華人民共和國工業和信息化部、中國科學院、中國科學院計算機網絡信息中心 等中國政府組織。很難說，哪一天 CNNIC 不會被控制作為攻擊工具之一。
除了 CNNIC 自行發布的 CA Cert Root 外，其實 CNNIC 也已經取得 Entrust.net 所發布的次級憑證。建議所有台灣政府單位，一律移除 CNNIC [...]]]></description>
		<link>http://people.debian.org.tw/~chihchun/2010/02/02/remove-cnnic-cert-on-linux/</link>
			</item>
	<item>
		<title>git archive 與 log 小技巧</title>
		<description><![CDATA[時常，你得將手上的軟體原始碼壓起來釋出給第三方使用、測試。特別是你希望提供 daily basics/ revision basics 讓使用者取得最新版軟體的時候。
由於最近都已經只用 git，依據我自己的習慣，希望能夠在檔名中使用簡碼版次，以便未來能夠追蹤出該版次的問題。稍微問了一下友人與查了一下文件，取得 abbreviated commit hash 的作法如下
git log --pretty=format:"%h" -1
若你想將整份程式碼壓縮起來，可以使用
git archive --format zip -o filename.zip HEAD
倘若想加上日期作為檔名，請使用
git archive --format zip -o $(git log --pretty=format:"%h" -1).zip HEAD
若常常使用這個指令，有兩種作法，一是設定為 git alias. 另一則是利用 git 的 commands (verbs) 命名機制，在你的執行路徑 下，寫入一檔案名稱如 git-zip。並將上述指令加入檔案中，未來就可以使用 git zip 來產生最新版壓縮檔。
作法如
$ cat > ~/bin/git-zip
#!/bin/sh
git archive --format zip -o $(git log --pretty=format:"%h" -1).zip HEAD
$ chmod u+x [...]]]></description>
		<link>http://people.debian.org.tw/~chihchun/2010/02/01/git-archive-and-log/</link>
			</item>
	<item>
		<title>Firefox Extension 的安全問題</title>
		<description><![CDATA[若 Firefox 開發延伸套件時，應該會知道 Firefox 對於外掛並沒有安全防護機制的，只要你能裝進系統，大約就可以使用所有的元件或存取系統資源。延伸套件被視為可信賴的軟體，開發者應負起各延伸套件的安全性。
對此，Firefox 在 Java Script 開發環境的安全設計主要分為賦權與未賦權的兩種安全模式。賦權的環境中，軟體可以存取所有的 XPCOM，沒有任何限制，於是它可以讀取或修改使用者的歷史紀錄、Cookie 等，甚至存取所有系統檔案。而 non-privileged 則僅提供限制嚴格的 HTML DOM API 權限，Script 的存取也依照其網址與網域名稱給予嚴格限制，避免 XSS 或本地檔案讀取等安全問題發生。
無論是外部的網頁，或者是 XUL 軟體，都是使用 XML/HTML/Java Script/CSS 來撰寫，因此概念上都是由 Window 載入 XML 文件，並透過 Java Script 來存取 DOM API。
開發延伸套件時，凡是在 XUL Overlays 或 XPCOM Components 中的程式碼，都是給予完全的存取權限。而從外部網頁載入的內容，應該給於其未賦權的權限。這種安全模式的設計，乃是防止網頁上的程式可以任意存取系統資源，是一道安全保護牆。
由於 Mozilla 社群並未對安全模式定義名詞，這裡暫區分稱呼如下兩種安全模式

Web content document (non-privileged)


Chrome document (privileged)

各個程式的安全模式可依照該載入網址作區別，例如 chrome:// 有完全權限、http://example.com 則可存取 example.com、file:/// 則可存取本地檔案。
你也可在利用 PrivilegeManager  詢問使用者後存取 XPCOM [...]]]></description>
		<link>http://people.debian.org.tw/~chihchun/2010/01/07/security-mechanism-of-firefox-extension/</link>
			</item>
</channel>
</rss>
