這兩天最近引我的新聞,莫過於富邦證的錯帳事件。
事件的起因於美林國際打算以八千萬元下單,女交易員不熟悉網路下單指令,將1按成100,將八千萬元打成八十億元,導致二百多支股票瞬間大幅飆高,而此人為疏失不僅導致公司數億元的損失,也令該公司的風險控管受到質疑。
在讀閱相關新聞時,發現許多談到風險管理的文章,都會提到英國霸菱銀行破產事件,透過 google 我找到了幾篇文章(感謝 google),順手記錄如下:
1. 衍生性金融商品知多少
2. 不要抱歉--換掉中國信託
3. 蔡學鏞的短文 - 從 A 到 E+
4. A 錢大玩家
5. 本國銀行業採用網路轉帳交易之決策因素分析
6. 一個小員工如何讓霸菱銀行一夕倒閉
7. 無奈的恐懼
如果新聞所報導的內容屬實,我的想法是,假若該交易員完全不記得敲錯(明明印象中敲對),那有可能會是電腦程式出錯嗎? 還有可能是被所謂的駭客入侵修改了程式碼所造成的嗎? 找得到人頭處罰總比不知手措好吧 :)
喂,是你入侵不小心造成的嗎? 請私下找我聊聊~~ 嘻~~
2005年5月6日 星期五
考試惡夢
這是前幾天作的惡夢,我覺得有必要記錄一下。
夢境裡的我似乎回到了高中,正準備進入教室考試。在門口還要抽籤決定座位,我抽到某個顏色的蠟燭,像小時候生日時點的細細螺旋紋路地蠟燭。監考老師是我的高中老師,沒記錯的話是教數學的覃娟老師,娃娃臉但兇起來很可怕的那種。
開始考試,發下考卷後,我一如往常從頭看到尾快速瀏覽所有題目,覺得題目怎麼都看不懂。突然間發現有一題是化學平衡式,心想,嘿嘿,有一題我可以慢慢解了吧!
然後我就花所有的時間精力在作那道化學平衡式。
然而,不管我怎麼絞盡腦汁都無法把化學式平衡好,眼看時間一分一秒過去,一題都解不出來!而在心裡焦慮的情況下,驚醒了起來。
一起床,腦子裡竟還在想,今天要考什麼!
過幾分鐘清醒後,我覺得有些震驚,都脫離了學生生涯多年,還有考試的陰影一直環繞著我。天那,雖然還會羨慕學生,但考試寫不出來的學生,實在痛苦啊!
夢境裡的我似乎回到了高中,正準備進入教室考試。在門口還要抽籤決定座位,我抽到某個顏色的蠟燭,像小時候生日時點的細細螺旋紋路地蠟燭。監考老師是我的高中老師,沒記錯的話是教數學的覃娟老師,娃娃臉但兇起來很可怕的那種。
開始考試,發下考卷後,我一如往常從頭看到尾快速瀏覽所有題目,覺得題目怎麼都看不懂。突然間發現有一題是化學平衡式,心想,嘿嘿,有一題我可以慢慢解了吧!
然後我就花所有的時間精力在作那道化學平衡式。
然而,不管我怎麼絞盡腦汁都無法把化學式平衡好,眼看時間一分一秒過去,一題都解不出來!而在心裡焦慮的情況下,驚醒了起來。
一起床,腦子裡竟還在想,今天要考什麼!
過幾分鐘清醒後,我覺得有些震驚,都脫離了學生生涯多年,還有考試的陰影一直環繞著我。天那,雖然還會羨慕學生,但考試寫不出來的學生,實在痛苦啊!
2005年3月18日 星期五
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: 應該找不到下載點,但也許會在你的系統裡發現 :-)
有一個邪惡且威力強大的 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: 應該找不到下載點,但也許會在你的系統裡發現 :-)
訂閱:
文章 (Atom)