2005年12月27日 星期二

Gaim-Encryption

Gaim-Encryption 是一個 Gaim 通訊加密模組,它利用 Mozilla 的 NSS (Network Security Services) 來提供 RSA 加密。
今天 Nanika 要找人測試 Gaim-Encryption,才想起一年前我曾抽了點空將 Gaim-Encryption zh_TW.po 翻譯好。
連上官方網站才發現 i18n 網頁上竟把中文放在第一行,而 進度統計 卻是將 zh_TW.po 排在最後。這讓偷懶了一年的我看了真有點汗顏。於是,馬上就抽空下載了 Gaim-Encryption 3.0beta2 並試著更新 zh_TW.po。
此外,我也順便下載了 Gaim 2.0beta1,果然高級啊,可以看得到 MSN 小動畫了哩。真讚!
經過一番努力,已把 zh_TW.po 更新並送至 mailing-list了。希望可以順利在 Gaim-Encryption 3.0 Release 時看到中文化的成果囉。

如果你怕你的 MSN 訊息被監聽,或是怕被監控記錄,請愛用 Gaim-Encryption 吧!

BTW, 我是用 gtranslator 這套工具處理 po 檔的。

註:Gaim-Encryption i18n 統計其實是用開頭字母順序排的啦! :-)

2005年12月8日 星期四

Enigmail OpenPGP

自從下定決心開始要來使用 OpenPGP 後,我花了幾乎一整個下午在處理 Thunderbird Enigmail。

當然,我不會錯過用 urpmi 工具來輕鬆安裝 enigmail,只要敲入 urpmi enigmail,相關套件就裝好了。只不過,重新啟動 Thunderbird 後,Enigmail 並不能正確的運作。幾乎所有 Enigmail 相關的功能,全數不能使用。

然後就不斷的從 google 裡找答案,試了好幾次的移除(rpm -e) 和安裝(urpmi)。即使,試著直接從 Enigmail 的網站 http://enigmail.mozdev.org下載,最後安裝還是失敗。

也許是 mozilla-thunderbird-1.0.2-5.1.102mdk 版本太舊? 好吧,我決定從 Thunderbird網站直接下載升級 Thunderbird。不用 RPM 套件了!

將下載回來的 thunderbird-1.0.7.tar.gz 解壓到 /usr/lib
# tar zxf /tmp/thunderbird-1.0.7.tar.gz
# mv thunderbird/ /usr/lib/mozilla-thunderbird-1.0.7
再編輯 /usr/bin/mozilla-thunderbir,將其中 moz_libdir=/usr/lib/mozilla-thunderbird-1.0.2 字串改為
moz_libdir=/usr/lib/mozilla-thunderbird-1.0.7

然後下載 Enigmail-0.93.0後,執行 Thunderbird。
再從 Thunderbird 裡的 Tools->Extensions 裡安裝 enigmail-0.93.0-tb10-linux.xpi。
最後,重新執行 Thunderbird。

enigmail_keymanager.png

太讚了,OpenPGP Key Management 可以用了。看來一切應該都正常可以用了。酷吧!

2005年12月5日 星期一

加密式檔案系統

自從前兩天可愛小硬碟入手後,我將它放入 USB Mobie Disk,不久,就發現一件悲慘的事情。

我的 USB Mobie Disk 不愛穿衣服!

一但我將 USB Mobie Disk 的上蓋蓋起來,USB 連接線一接上 X31,X31 馬上發瘋似地重開機,履試不爽。現在,只好讓它脫了上蓋,給它一個清涼,但外觀看起來就是沒這麼漂亮有質感啊!

好吧,不愛穿衣服就算了。我又想到萬一某天,這顆備份資料用的小硬碟,不小心遺失了的話,我可不希望裡頭一些私密資料讓人看光光。於是乎,我就想試試 Linux 的加密式檔案系統。

只不過,試了半天才發現,我現在用的 Linux 系統(MDK LE 2005)並不支援 AES Multi Key (V2=64 keys / V3=65 keys)。所以,底下的步驟是建立一個 10G 的加密式檔案系統,並利用 AES 128 加密。

1. 建立一個約 10G 的大型檔案,檔案內容塞滿亂數資料

# dd if=/dev/urandom of=mystuff bs=1M count=10000

2. 產生單一 AES Single Key 並用 GPG 加密起來
# head -c 2925 /dev/urandom | uuencode -m - | head -n 66 | tail -n 1 | gpg --symmetric -a > /etc/fskey.gpg

3. 將 mystuff 檔案利用 aes-128 加密並掛上 /dev/loop0
# losetup -e aes-128 -K /etc/fskey.gpg /dev/loop0 mystuff

4. 格式化
# mkfs.ext3 /dev/loop0
# tune2fs -m0 /dev/loop0

5. 將 aes-128 加密的檔案系統掛載上 /mnt/crypto
# mkdir /mnt/crypto
# mount -t ext3 /dev/loop0 /mnt/crypto
# df-h
Filesystem 容量 已用 可用 已用% 掛載點
/dev/loop0 9.7G 33M 9.6G 1% /mnt/crypto

如果你有些敏感資料或很隱私的內容,需要以加密的方式儲存時,Linux 的加密式檔案系統將是一個不錯的選擇。

參考資料:
1. Cryptoloop-HOWTO
2. loop-AES.README

2005年12月4日 星期日

可愛小硬碟

下午跑去 NOVA 買了顆 2.5 吋 WD800UE 小硬碟,它的外觀如下:
wdfMobile_EIDE_UE.jpg
據說 WD Scorpio?技術還不錯,夠安靜。

當然,回到家就馬上接上 X31,底下是 Linux 偵測到的硬體資訊:

USB Mass Storage support registered.
usb-storage: device found at 2
usb-storage: waiting for device to settle before scanning
Vendor: WDC WD80 Model: 0UE-00HCT0 Rev: 09.0
Type: Direct-Access ANSI SCSI revision: 00
usb-storage: device scan complete
SCSI device sda: 156301488 512-byte hdwr sectors (80026 MB)
sda: assuming drive cache: write through

接著用 fdisk /dev/sda 作切割:

Command (m for help): p

Disk /dev/sda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 1 9729 78148161 83 Linux

再用 mkfs.ext3 -c -j /dev/sda 作檢查並格式化,最後用 tune2fs -m 0 將保留空間釋放。
# mount /dev/sda1 /mnt/tmp/
# df -h /dev/sda1
Filesystem 容量 已用 可用 已用% 掛載點
/dev/sda1 74G 33M 74G 1% /mnt/tmp

來測測看速度吧!X31 裡硬碟的速度:
# hhdparm -t /dev/hda
/dev/hda:
Timing buffered disk reads: 74 MB in 3.00 seconds = 24.66 MB/sec
而新入手的 WD 小硬碟呢
# dparm -t /dev/sda
/dev/sda:
Timing buffered disk reads: 60 MB in 3.05 seconds = 19.64 MB/sec

嗯,慢了一點,不過還是適合我用來備份資料 :)

2005年11月24日 星期四

駭客大騙局

The Art of Deception: Controlling the Human Element of Security

本書作者是駭客界鼎鼎大名的 Kevin David Mitnick。當年他被拘捕後,駭客界成立了 Free Kevin 網站要求美國政府將他釋放。 2003 年,Kevin 出獄,目前成立了一家 資訊安全公司

駭客大騙局這本書都是在描述社交工程(Social engineering)。作者虛構了許多小故事,其中內容宛如電影情節般,利用假冒的身份和高段的談話技巧等,入侵企業設施,竊取商業機密。作者也進一步描述如何預防社交工程的攻擊,以及提供一些忠告。

我不禁會想到,台灣治安最頭大的詐騙集團也是操作社交工程技倆的佼佼者啊。如果人人都學了社交工程,也許我們善良百姓還能以反社交工程回敬對方呢。

當然,如果有人利用 巧克力攻擊法 ,我也會跟著乖乖交出密碼的啦。





2005年11月21日 星期一

製作長生不死藥

剛看完成龍的電影 - 神話
我可能比較冷血一點,體會不出劇中的痴情浪漫,倒是對麗山瀑布後的秦陵巧思,以及女主角金善喜小姐的楚楚之美,覺得印象十分深刻。
不過,我卻對長生不死藥的研發,心裡啟了疑竇。
假若我在古代要研究長生不死藥,要怎麼證明藥的效用? 或是秦始皇要如何證明藥是有效的呢? 研發長生不死藥的人,總要人體實驗後才能知道效果,才知道有無副作用。但研發的人如果活得不夠久,根本就研發不出來啊。

下面這段文字節錄於 凡事大前未有樣者,不易做 ,剛好和電影神話裡的劇情有關。

公元前212年,發生了歷史上有名的坑儒事件。坑儒是由方士求神仙不得引起的。俗話說得好,人的欲望是無止境的,當了皇帝就想長生不死,秦始皇就是這樣。當時有兩個方術之士侯生和盧生,投其所好,答應給秦始皇找長生不死藥,但他們到哪裡去弄呢?很快就到了交差的時間。沒辦法,他們隻好散布說秦始皇剛愎自用,貪於權勢,所以求不到仙藥,並且逃走了。秦始皇知道后非常惱火,下令御史追查此事。在追捕中牽涉了460多人,除方士之外還有一批對秦始皇心懷不滿的儒生。秦始皇盛怒之下,將這些人全部坑殺。第二年,東郡(今河南濮陽)落下一塊大隕石,有人偷偷在石頭上刻了?始皇帝死而地分?七個字。秦始皇還是派御史去調查,因找不到刻字的人,結果將居住在隕石周圍的百姓全部殺光。

古代的歷史或神話故事,都反映了中國人對長生不死的執著,人們除了希望長生不死,還希望青春健康。
萬一將來真有那麼一天,順了人們長生不死的願,身份證上還得寫上萬歲萬歲萬萬歲呢。

奇怪的 Zyxel P-330W


今天到燦坤買了台 Zyxel P-330W 無線寬頻分享器,外表看來還蠻可愛的,會員價不到兩千元,還送 7-11 的 iCash 卡。
zyxel_p330w.gif

沒想到,買回去接到網路上,PPPoE 撥接竟然屢次失敗 :(
不甘心,連到 Zyxel 網站上,竟然找不到 P-330W 型號,也沒有 firmware 好下載. 好不容易從 google 問到一個官方 firmware 卻是奇怪的 V1.4 版本。
沒辦法,死馬當活馬醫,把下載回的奇怪 V1.4 版本上傳更新後,那隻可愛的 P-330W 管理介面變成了英文版,重點是,PPPoE 撥接還是不行。

怒了後,只好跑回燦坤,燦坤的維修工程師沒有環境可以測試 PPPoE 撥接,最後加了幾百塊換了 D-Link DI-524 Wireless Router。

結果呢? DI-524 設定完 PPPoE 撥接帳號密碼,就馬上連上 Internet 了啊。
突然想到,奇怪的 P-330W 只讓我輸入帳號、密碼,不像 DI-524 還會要求再輸入密碼確認。
雖然我對 D-Link 也沒啥好感,不過還真的比較好用,而那個 Zyxel 會不會也太扯了點,
Zyxel P-330W 還是用 Embedded Linux 作的哩。




2005年11月19日 星期六

Encrypted PEM key

昨天遇到一個 PEM 格式如下:
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-CBC,44CD3CBDEBDBDA7B

代表著是被 encrypted。當要使用時必須輸入密碼。
利用 openssl 工具即可容易處理。

$ openssl rsa -in encrypted.pem -out uncrypted.pem
Enter pass phrase for encrypted.pem
writing RSA key
$

可是我忍不住要抱怨一下。
機車喔,這麼容易的事為什麼高級的 XXXXX 設備不自動處理也不跳個視窗告訴我格式不符的原因。

關於 openssl 更多使用範例可參考 SSL and secure servers


2005年11月16日 星期三

[好書推薦] HACKER DEBUGGING UNCOVERED

hacker_debugging_uncovered.jpg
不論你是熱衷於軟體破解,或是從事軟體開發的工程師,應該能了解軟體除錯的各種工具和技術的重要性。本書即從除錯工具介紹起,SoftICE、IDA Pro、 GDB、ALD、Linice、PIce、BIEW等,也提到了幾種常見的模擬器,如 DOSBox、Bochs、Microsoft Virual PC 和著名的 VMWARE。
目前幾種常見的軟體保護方式,例如密碼保護、註冊碼保護、軟體序號,以及試用版限制的保護,作者都一一詳加說明各保護方式,並且一步步利用各種工具對軟體進行除錯和反組譯,繞過保護機制,撰寫破解程式。
這樣還不夠,通常軟體保護為了避免被輕易破解,都會加上反追蹤或反除錯的軟體技術。因此,各作業系統下所常見的反除錯技術也是本書重要內容。例如,偵測 SoftICE 是否運行、清除中斷點、檢查硬體中斷點、判斷是否處於 ptrace 狀態以及動態修改程式碼以改變流程或解碼等技術。
此外,書中也提醒了軟體工程師在開發軟體時所須注意的細節,以減少軟體錯誤的出現,並且說明軟體測試的一些方法和流程。最後,還針對 Windows 的 PE 執行檔格式詳加解說。
整體來說,書的內容較為偏向駭客喜愛的破解技術及反組譯,對於除錯工具對軟體開發上的應用則較為缺乏。沒辦法,書名就叫 HACKER DEBUGGING 嘛!
由於本書內容略為艱澀,偏向程式設計,建議讀者應具備C/C++ 及組合語言程式撰寫的經驗,對作業系統內部運作也略有了解,閱讀此書才不會顯得吃力。書附光碟一片,包含書裡的所有程式原始碼及一些實用的工具。

作者簡介:
Kris Kaspersky 為一技術作家,約 28 歲。從小即接觸電腦,喜愛研究系統安全相關的各項技術,像是防毒、軟體破解與保護、軟體反向工程等,而且對編譯器開發、程式最佳化、即時作業系統等也都甚感興趣。著有 Hacker Disassembling Uncovered、Code Optimization:Effective Memory Usage、CD Cracking Uncovered: Protection against Unsanctioned CD Copying 等書。

註:原文刊於 iThome 企業資訊安全技術應用專刊 第190頁 (2005 年 10 月 21 日出版)

2005年10月28日 星期五

原來我們這麼近

前幾天在公司忙了一整天,就在快下班前,Gaim 突然跳出個視窗,許久不見的前公司同事傳來訊息。

Lancelot: hello
Lancelot: 我昨天早上好像有看到你耶..
TimHsu: 阿
Lancelot:你是不是搬到我們公司附近了??
TimHsu: 我在內湖洲子街
Lancelot: 難怪...
Lancelot: 今天中午好像看到小虫..
TimHsu: 不會吧 你也在這附近嗎
TimHsu: 哈 我中午和他一起吃飯
Lancelot: 是阿...我在加油站旁的台企銀樓上.
TimHsu: 這麼近!

嗯,走路三分鐘,每天上下班都會經過,真的很近啊!
還有更近的嗎?
昨日上午勿勿來到公司大樓準備按電梯上樓,咦,眼熟的臉孔,毫不遲疑就開口問了對方。
"還記得我嗎?",慘,我忘了對方名字。
"你是?",嗯,看對方一臉疑惑,以為我是籍故搭訕的色狼阿伯吧。
"妳之前不是曾在宇X工作嗎?",提醒對方一下囉,不過我仍然想不起名字。
"是啊,不過你是那位?",咳,仍然不記得我,不過顯然我沒認錯人,難道是我變了樣?
進了電梯,我按六樓,對方按八樓。咦,八樓好像是競爭廠商啊。
"喔,我想起來了,你是 XXXX 嗎?",對方想起來了,不過把我名字也記錯啦。
"你變胖了,一下子認不出來啦" ,嗚嗚,有人看到我哭著跑離電梯。

這件事證明二件事,一是我記憶力退化,想不起對方名字;二是我真的變肥了啊啊啊~~~

2005年10月16日 星期日

公司搬家

已在新店的矽谷大樓工作已一年多的我,即將伴隨公司遷往內湖。噢!沒錯,又是內湖。
有時會納悶怎麼待過的公司都是往內湖搬呢?
前兩天在公司時已將自己物品與公司資產打包完畢,當天中午一樣是去近半年來經常光顧的綠竹屋吃午餐。由於我們公司有許多人是綠竹屋常客,老闆娘得知我們即將搬至內湖後,便即興招待我們在綠竹屋包廂內一塊聊天、唱卡拉OK。幫忙打個廣告: 綠竹屋 (新店市北新路三段 65 巷 13 號, 02-2915-4885),老闆娘和其員工人都很親切,餐點也很好吃喔,在附近工作的朋友有機會別忘去試試。
昨日則和同事 Nanika 一塊跑去內湖,看看公司新環境,順便研究未來上班路線。公司新址就在內湖高工後方,洲子街,附近一堆大樓、辦公室,還有看起來挺高級的餐廳。嗯,內湖沒綠竹屋。
就這樣,我又回到內湖工作了,內湖的朋友們,來約吃飯吧!哈哈!

2005年9月21日 星期三

數位密碼

"Quis custodiet ipsos custodes." (Who watches the watchmen?)
這句話很有意思,有點遞迴(recursion)的味道。看過電影全民公敵吧?如果調查局有權力可以監視任何人,那誰又能來監視調查局呢?
「數位密碼」(Digital Fortress) 一書在描寫數位資訊時代,美國安全局 (NSA) 為了打擊恐怖份子,斥巨資研發一部解碼機器 - 譯密機,只有少數人知道它能解開世上所有加密文件。也正因為譯密機有這種在很短時間內破解任何加密的能耐,書中的丹角假造了討論 "數位堡壘" 的郵件,讓國安局(NSA)副局長史卓摩在監看郵件時誤信數位堡壘是連譯密機都無法破解的加密演算法,導至史卓摩手動繞過譯密機的防毒系統,只為了讓譯密機驗證數位堡壘的真偽。
不幸地,繞過防毒機制除了造成譯密機無法解密(因為根本沒有數位堡壘),也造成了後端大型資料庫的安全機制全數癱瘓。既便再多的安全機制、再強的防毒軟體和再難以猜測的密碼,都還是難以禦防人性弱點所造成的問題。
當然,這本書也提到了以國家安全為理由,監看並搜集所有個人郵件、檔案及資訊,侵犯個人隱私,除此之外,為了保有繼續監看的能力,禁止散佈無法解譯的加密演算法,或甚至在公佈的加密演算法裡暗藏玄機。這些,都是在真實世界可能發生的。
有人問我,對於 「藍色駭客」 有多少真實性,我回答我相信有一半的可能性。那「數位密碼」呢? 「更接近真實」我答。當 DES 可以瞬間被破解,MD5 又能信任多少? RSA、AES、SHA 等等演算法,我們要選用那一個才安全呢?是否只要美國國安局放心讓大家使用的,我們就可以安心的使用?
對了,書裡提到納粹發明名為「隱碼」的加密機,外形類似老打字機,有幾個黃銅制的輪軸。我猜是這台機器
這本書我給四顆星(滿分會是五題星),由於書裡的專業術語較少且簡單,翻譯上無大問題,也比「藍色駭客」較易理解作者想表達的內容。附帶一提,作者在最末頁附了一段數字: 128-10-93-85-10-128-98-112-6-6-25-126-39-1-68-78,這要有原文書才解得出來,猜想譯者可能不知這個數字的含意,不然應該在各章節名稱附上原文。
想知道答案? 問 google 吧!

作者: 丹。布朗 (Dan Brown)/著
譯者: 宋瑛堂
出版社:時報文化出版企業有限公司
出版日期:2005 年 07 月 25 日
語言別:繁體中文

2005年8月30日 星期二

藍色駭客

最近看了部小說 "藍色駭客"。
感覺上是把一般偵探小說加入了駭客題材,字裡行間充斥社交工程、後門、密碼和資料還原等字眼。大意是描寫主角為一位駭客高手,協助警方追捕另一位殺人魔。這位殺人魔和主角曾在同一個駭客組織,一塊造就了許多知名的入侵事蹟,彼此互相欣賞對方的才能,然而殺人魔撰寫了極利害的後門程式,透過後門程式、電話電信的入侵及社交工程的能力,在現實社會中追求刺激而任意殺害無辜的人。
主角當然是最後抓到了殺人魔,並且發現了殺人魔親密夥伴的真正身份其實是部電腦,這部電腦會利用後門程式提供的資訊整理後提供給殺人魔,也會依殺人魔設下的指令進行各種攻擊任務。
很一般的結局,也沒有什麼火辣或感人的愛情戲碼,只不過渲染的駭客情結,讓整本書有了那麼點懸疑的味道。噢!中譯的某些專有名詞則略顯不搭及好笑,沒辦法,這是這類書籍中譯的通病,可以原諒。
若真要我給這本書批個分數,我會給它三顆星(滿分會是五題星)。如果你對駭客題材有興趣,又想要找本小說打發無聊的時間,就找來看吧。

作者: 傑佛瑞.迪佛/著
譯者: 宋瑛堂
出版社:皇冠
出版日期:2005 年 07 月 11 日
語言別:繁體中文

2005年8月23日 星期二

強迫休息

近一年來,由於長期使用電腦,眼睛一直盯著螢幕,時間久了,除了眼睛的疲勞外,手指、手腕、手肘,甚至肩膀等就開始酸痛。我相信,這就是所謂的 Repetitive Strain Injury (RSI)。什麼是 RSI 重複施緊傷害?
大致上就是要各位常使用電腦的朋友,多注意姿勢和多作休息,預防 RSI 方法如下:

1.坐的姿勢要端正,不要坐不尋常的角度或姿勢。
2.打鍵盤及使用滑鼠時不要太用力,肌肉儘量放輕鬆,要常休息。
3.每使用電腦一小時應起來休息十分鐘。最好能往遠處看,伸展一下您的手、肩膀、頸部等。
4.如果您的手感覺酸或痲痺時,請讓手休息。

也就是說要我休息,打電腦最好每小時休息十分鐘以上,多作運動等。然而,對於常常在電腦前一屁股坐下去就起不來的我,要我每幾十分鐘就暫停,實在不是件容易的事啊....
前兩天,在某聚餐時和 chihchun 提出了我的困擾,chihchun 馬上就大方地提供了他的秘方 -- workrave 出來,經過今天的服用,果然覺得是件好東西,俗話說的不錯,chihchun 推薦,必屬佳作。

workrave 支援 Linux/Windows,可以設 Micro-break 、Rest break 和 Daily limit 三個時間。Micro-break 是所謂短休息,可以設為每十五分鐘提醒你一次,休息個兩三分鐘,在這休息的時間內你也可以選擇 skip 休息,繼續工作。而 Rest break 就可設為一個小時左右,休息個十五分鐘,在這段休息時間內就不允許你 skip,強迫關掉鍵盤、滑鼠和螢幕,同時還會教導你作一些肢體動作。Daily limit 就是設定你的工作時間啦,慢慢幫你倒數計時離下班還有幾分鐘吶!!

當然除了 workrave,還有其它相關軟體,如 RSIGuard 等,Windws 下的 shareware。
啊~~ 在 workrave 在倒數了,快閃去休息囉~~~

2005年6月29日 星期三

A 錢大玩家

這兩天最近引我的新聞,莫過於富邦證的錯帳事件。
事件的起因於美林國際打算以八千萬元下單,女交易員不熟悉網路下單指令,將1按成100,將八千萬元打成八十億元,導致二百多支股票瞬間大幅飆高,而此人為疏失不僅導致公司數億元的損失,也令該公司的風險控管受到質疑。
在讀閱相關新聞時,發現許多談到風險管理的文章,都會提到英國霸菱銀行破產事件,透過 google 我找到了幾篇文章(感謝 google),順手記錄如下:
1. 衍生性金融商品知多少
2. 不要抱歉--換掉中國信託
3. 蔡學鏞的短文 - 從 A 到 E+
4. A 錢大玩家
5. 本國銀行業採用網路轉帳交易之決策因素分析
6. 一個小員工如何讓霸菱銀行一夕倒閉
7. 無奈的恐懼

如果新聞所報導的內容屬實,我的想法是,假若該交易員完全不記得敲錯(明明印象中敲對),那有可能會是電腦程式出錯嗎? 還有可能是被所謂的駭客入侵修改了程式碼所造成的嗎? 找得到人頭處罰總比不知手措好吧 :)

喂,是你入侵不小心造成的嗎? 請私下找我聊聊~~ 嘻~~

2005年5月6日 星期五

駭客年會 2005

2005年駭客年會徵求論文了!
這是台灣第一次,以仿照外國 Defcon 方式舉辦的駭客年會,將在七月中舉辦。
事實上,類似的駭客聚會在各重視資訊安全的國家都經常舉辦,對岸著名的 Xcon 資訊安全焦點會議也舉辦了許多年。

我計畫準備相關 Embedded Linux 安全性的內容,如果有興趣不妨報名來會議上一塊討論喔 :-)

駭客年會的網址是 Hacks In Taiwan !

考試惡夢

這是前幾天作的惡夢,我覺得有必要記錄一下。

夢境裡的我似乎回到了高中,正準備進入教室考試。在門口還要抽籤決定座位,我抽到某個顏色的蠟燭,像小時候生日時點的細細螺旋紋路地蠟燭。監考老師是我的高中老師,沒記錯的話是教數學的覃娟老師,娃娃臉但兇起來很可怕的那種。
開始考試,發下考卷後,我一如往常從頭看到尾快速瀏覽所有題目,覺得題目怎麼都看不懂。突然間發現有一題是化學平衡式,心想,嘿嘿,有一題我可以慢慢解了吧!
然後我就花所有的時間精力在作那道化學平衡式。
然而,不管我怎麼絞盡腦汁都無法把化學式平衡好,眼看時間一分一秒過去,一題都解不出來!而在心裡焦慮的情況下,驚醒了起來。
一起床,腦子裡竟還在想,今天要考什麼!

過幾分鐘清醒後,我覺得有些震驚,都脫離了學生生涯多年,還有考試的陰影一直環繞著我。天那,雖然還會羨慕學生,但考試寫不出來的學生,實在痛苦啊!

2005年3月18日 星期五

WISE 2005

2005 網際網路安全工程(WISE 2005)研討會這兩天在警政署刑事警察局舉行。而我在第一天的下午上台介紹了 Linux Rootkit ,包含 Rookit 的特色、種類及偵測方式等,詳細內容全文已收錄在論文集,而我上台時所使用的投影片檔則可以在這裡下載。
事實上,Linux Rootkit 所包涵的內容很廣泛,而我所描述仍不夠充足,還有許多疏漏的地方,希望在我寫作計畫裡可以把內容補全。




2005年3月4日 星期五

邪惡的 GGKit

真是一個邪惡的點子啊 - 我心裡這麼想.
有一個邪惡且威力強大的 Linux Kernel Rootkit - SucKIT,在著名的 Phrack 裡有作者完整的技術介紹。而我的奮戰,便從將 SucKIT 1.3b 移植到 kernel 2.6 開始....
1. kernel 2.6 移除了 query_module(2) 系統呼叫,往後要取得核心符號表可透過 /proc/kallsyms。
2. 系統呼叫增加到 28x個,比 kernel 2.4 的 25x 多很多。
3. task_struct 結構也略有更動,增加了 struct thread_info *thread_info 等欄位。
4. 支援 TLS - Thread Local Storage,新增 get_thread_area(2)/set_thread_area(2) 系統呼叫。不過這和我要作的沒啥關係 :)。
5. kernel 2.6 支援 Pentium III+ 的快速系統呼叫 sysenter/sysexit 機制。核心提供了原先的 int 0x80 和 sysenter 雙介面,並虛擬印射了 linux-gate.so.1 來實作,詳細內容可閱讀這裡

就這樣奮戰了兩天,我一個個解決了 kernel 2.4 和 2.6 差異造成的問題,並且讓 GGKIT (原 SucKIT 1.3b,我取作新名字)順利的在 2.6 下運作,不過仍然有些奇怪的 bugs 待解決 :(
值得一提的是,GGKIT 可動態偵測核心 2.4 還是 2.6 並作即時修正,不需重新編譯即可在 2.4 和 2.6 kernel 下運作。
我所用的偵測方式乃取 ES 暫存器來判斷,2.4 kernel 下 ES 為 0x2b,而 2.6 kernel 則為 0x7b。底下是在 GGKIT 在 kernel mode 下的程式片段:

--------------
long *es;

asm ("movl %es, %eax\n");
asm ("movl %%eax, %0\n"
if (es == (int)0x7b)
{
/* kernel 2.6 */
*runkernel() = 0x26;
} else
*runkernel() = 0x24;
--------------

Q:既然 GGKit 這麼邪惡,那麼可在何處下載玩弄呢?
A: 應該找不到下載點,但也許會在你的系統裡發現 :-)