星期二, 8月 29, 2006

從CIH「重裝駭客」變身「除錯超人」

從CIH「重裝駭客」變身「除錯超人」
文/蘇碩鈞 (記者) 2006-08-25

曾開發出令人聞之色變的電腦病毒「CIH」,集嘉通訊主任工程師陳盈豪現在將駭客知識轉換成企業研發動力,成為研發團隊的幕後推手,替企業帶來無盡商機。


「CIH」,這3個單字曾經是令人聞之色變的電腦病毒名稱縮寫,在1998年6月開始被注意後,曾感染全球約6000萬臺電腦,還造成高達10億美元的商業損失,更獲選2006年7月Varbusiness前10大電腦病毒排行榜之中,而其作者就是當年就讀於大同工學院的陳盈豪,現在的他則是集嘉通訊主任工程師,以研究作業系統核心為主,試圖開發更符合人性的智慧型手機系統。

「駭客」如同水能載舟亦能覆舟

「駭客」一詞,在大眾的眼中就像毒蛇猛獸般,除了傷害資訊系統導致系統當機外,更會中止企業運作流程,造成數以萬計的損害,但是從陳盈豪的身上卻可以發現,駭客的知識若用於正當用途,除了能讓產品的技術遠遠超越於對手外,更能替企業帶來無盡的商機。

他說現在的工作是在排除疑難雜症。從大學時期,他就對Windows核心很感興趣,當初CIH也是在Win32架構下開發的程式,為了了解作業系統的核心架構,常用暴力破解法直接發掘系統問題,這也奠定日後對作業系統核心的看法。他說在大學時間,因為英文不好,對於原文書有恐懼感,還必須進入英文加強班學習(針對全班英文倒數幾名的特別輔導班),因此他的學習方法不是從書本而來,反而是靠自己的做法,例如當系統產生問題時,他會從偵測除錯工作中發現問題原因,進而了解作業系統的核心架構。一般當問題發生時,大多數的人都會想尋求別人的協助,例如網路或朋友等,陳盈豪則喜歡自己解決問題,在Windows下,採用除錯工具輔助,而Linux則直接閱讀原始碼,這樣子才能深刻體驗作業系統的核心架構,這一連串的過程,也讓他驕傲地說:「在我的專業領域,沒有人能比我厲害」。在我們的訪談中,也能充分感覺他對核心架構的熱忱,當談論到學習過程,他好像整個人都活了過來,與當初報章媒體所報導,精神失常的陳盈豪相互比較之下,差異頗大。

縮短研發團隊開發產品時程

現在,他的工作也是偵測及除錯作業系統的問題,只是從前是製作有問題的程式,導致系統當機,現在則是改善作業系統的問題,提供研發產品的利基。在作業系統的架構中,有許多是隱藏的資料,若非開放原始碼的系統,通常很難分析系統運作模式,之前陳盈豪曾開發一套分析程式(他稱為善良病毒),能安裝在手機的嵌入式作業系統中,會擷取手機的資料、註冊檔、封包及訊號等。

分析程式也讓他更了解嵌入式作業系統的特色,因為一般電腦的作業系統與硬體沒有直接關連性,而且電腦硬體大多採用標準規格,開發系統較容易,但手機的規格並沒有統一標準外,處理器能力較弱,若執行功能強大的程式,很容易讓手機當機,而他第一次開發完成分析程式後,雖然可以在手機上執行,但很快就導致系統錯誤,現在則慢慢提升程式的效能外,也能在目前市面上幾款智慧型手機執行,更大幅提升相容性,雖然他並不是管理產品研發時程,但開發的程式卻能增加研發團隊的開發速度,因為在封閉式系統下,很多架構並沒有文件可以查詢,而原廠支援度又不高的情況下,凡事只能靠自己,必須分析每個程式執行的位址及改變的內容,才能創造獨特的產品。

不過,他也認為Windows作業系統運用在手機有其優點,雖然Linux採用開放源碼,但是手機對硬體的要求很高,光是找硬體配合廠商就很累,而Windows整合性好、搭配廠商多,容易開發應用程式,適合應用在嵌入式市場領域。

找人是特殊才能

他現在隸屬於總經理手下,工作方面則是充分授權,不一定需要進公司,不用管人事、扛產品,這或許羨煞許多人,但這也是當初與公司的協議,他認為自己只對技術有熱忱,能日以繼夜找出系統的原因,而其他事情太複雜、牽涉多,很難處理,之前的工作也負責過相關事務,但總不盡人意,現在則單純研究技術外,還負責找人才。

但他也笑著說,自己太概是業績最差的人資吧!每年總量約只有4~5人,能順利找來工作的就只有1~3人,但一定能符合企業需求,完全不用訓練就能上手操作的人才。怪才找到的人才也是怪才,這句話在他身上是最真實的例子,他最近找來一位「小朋友」(指年齡比他小的人),從高中開始寫遊戲,自製擷取3D遊戲畫面的程式,當他們第一次在電話中談事情時,陳盈豪就與他暢談開發程式的過程及困難,馬上切入主題討論。他就是這麼直率的人,若對方沒意願加入工作團隊,也不會強迫對方,至少還是朋友,將來有技術問題,還是可以相互切磋。

小功能常是產品成功的關鍵因素

手機發展至今,差異性已不多,就看各家廠商如何提供不錯的應用程式,不過有些貼心的功能,卻也能讓產品更獨特化。舉個例子,在Windows智慧型手機上,要如何調整螢幕明暗度?通常我們會從「設定」的「夜光照明」中操作,操作步驟較麻煩,若經常調整,還滿複雜。他之前找來一位工程師,開發出在功能列中就能直接調整,還有拖拉按鍵,能整合任何需要拖拉的設定,減少操作麻煩。這或許只是一個小功能,但卻能帶來極方便的使用方式,這也是一般常人較難想到的方向。

現在,他也開始傳承知識,但並不害怕會被學走,不過他上課並沒有講義,只有一枝筆就開始講解內容,只要看到原始碼,就知道要說什麼,而且還會很詳細地解說技巧及訣竅,因為很多開發系統時,只知道理論並無法順利開發完成,必須依據一些技術才能順利完成專案。曾經也有人問,難道不害怕有人比他更厲害,他覺得別人學習到的是結果,只處理現在遇到的問題,並沒有學習到發掘問題的原因,無法解決將來面臨的關卡,這也是他一直處於不敗之地的原因。文⊙蘇碩鈞

陳盈豪的選人哲學

每天投履歷表的人這麼多?要如何從中選擇適合的人才,一直是陳盈豪面對的問題,他說每天都會收到上百封從人力網站來的履歷表,但是時間有限,根本不可能看遍每封履歷表,現在他會先用過濾的方式,過濾出一些人才,例如在規則中設定駭客、核心、BBS站長、比賽等條件,通過第一關的才看履歷表內容,而履歷表內容只看特定用字,例如從高中開始寫遊戲、在校曾開發特定應用程式等,這些字句並不是一般人會寫的,進而從中才能尋找適合的人才。

此外,他在人力網站刊登的求才內容也很特別,當我們在104人力網站查詢集嘉的Windows System Programming職務時,其說明是「自認或公認全班寫程式超強的人,寫起程式,沒寫完,就卯起來都不睡覺」,他說這種用詞是生活寫照、描述現況,也因為用字遣詞很特別,常被別人轉載在各大網站,更招募到各種英雄好漢。不過,現在這個版本算是溫和了,因為他之前在大同公司工作時,曾寫過的求才廣告如下「這個部門是能力最強悍的一群,我們只想找到能力最恐怖級的人才,我們部門有Programming/Embedded Linux業界能力最強的怪物」,這就是他的風格,也因此常被他人轉載。