一、 請簡述您的工作經驗、曾經學習IT技術、資安技術的背景
答:我不是本科,大學是就讀於舊台南師院,就讀期間學校改名為台南大學,有感於少子化威脅還有一位被就讀資教所的學長影響,大三暑假自己跑到學校圖書館自學C語言程式設計,之後一路自學C++ Java php C#等程式語言,就此展開資安技術的萌芽期。(這段期間晚上都在論壇幫網友寫作業寫到凌晨)
民國96年退伍後,一直到103年擔任私人企業的MIS主管與協助自動化程式交易的編寫,這段時間大多在用ProcessExplorer與Autoruns工具抓病毒,偶爾會微調Windows作業系統的服務進程與Registry,後期接觸到了自動化程式交易的程式碼編寫,還有C語言外掛編寫,對Windows API有了初步的認識,也感受到TCP socket 傳送與接收封包的buffer炸掉溢位是甚麼情境。(緩衝區溢位以及後門程式編寫的萌芽)
103年因緣際會到漢昕科技服務,迄今已經接近十年的資安乙方工作資歷,之前還是技術顧問時,主要的工作內容是郵件社交工程演練、資安健診、弱點掃描、滲透測試;現況管理職,比較專注部門營運管理與滲透測試服務的技術精進,以及各項資安服務的資安院評鑑、工具優化、流程改善等。
二、 為何一開始想要上課、考取認證?選擇的課程和認證跟職涯規畫如何mapping
答:一開始到漢昕科技,因應主要工作弱點掃描與滲透測試,所以公司才派我去受訓CEH課程,當時的職涯規劃主要是想要從CEH得到資安入場券,並且效仿部門主管的現有證照做出了規劃,所以當初構想是依序取得CEH ->ECSA- > CHFI ,結果一路走到現在,實際變成兩條路線,分別是:
CEH -> ECSA -> CHFI -> ECIH-> CEPNT/LPT (五個課程都在台中恆逸上課及成功考照)
ISO17025 -> ISO27001:2013 -> ISO27001:2022
我們公司是共同供應契約的資安配合廠商,證照要求上,有很大的比例都是EC council的證照,例如 CND CEH ECSA CHFI ECIH CPENT,而且證照需要維持有效性不能過期,所以至少每三年要完成一個EC council的課程並考取證照以取得ECE 120學分為原本的證照做過期日展延申請
三、 請簡述五張認證的上課、lab使用心得
答:我印象較深刻的有兩門課程,分別是CEH與CPENT,剛好都是唐任威老師所授課,這兩門課程中,以CEH的印象最深刻,原因是CEH受訓的時候,我算是資安新手,雖然有做過程式開發與一些MIS工作,但對資安領域還是幼苗階段,而唐老師在CEH的課程中,有展示初階的緩衝區溢位攻擊的POC,這對當時的我來說,是相當震驚的。我當時心想,當駭客也酷了吧,輸入很一堆很奇怪字元,居然可以入侵電腦。
備註:老師緩衝區溢位的展示是使用Dev-C++ IDE,以及不到百行的C語言source code,內容大意為由在主函數中提示使用者輸入資料,接著呼叫自訂函數將資料做為參數傳遞,然後在自訂函數內使用strcpy函數去觸發緩衝區溢位,一路從ESP堆疊指標覆蓋到EIP指令指標,並在指令指標內填入jmp esp去跑shell code。
對CPENT的印象是,老師提供了很多的cheatsheet指令可以方便複製貼上,學員只需要理解指令原理,實際考試時,也很方便查找需要的指令。另外,老師課程中的實作比例很高,逆向工程的實作也很紮實,其中有透過GDB工具進行基礎堆疊緩衝區溢位實作、以及如何針對防禦機制NX實作繞過等。
四、 接續上題,準備考試以及考試過程的分享
答:CEH考試比較廣,我當時是把題庫重頭到尾至少做三遍,模擬考得分率達95%,才報名考試,至於之後的CHFI ECIH就是乖乖的念原廠電子教材,並特別留意電子教材中有亮標的區域文字,加上老師上課強調的觀念,例如ECIH的triage資安事件檢傷分類觀念;CHFI的證物鏈觀念。
讀書計畫上,我習慣電子教材至少看三遍,看完後,再找看看是否有線上題庫可以做。(如果剛好遇到新版課程例如ECIH我考試時剛好遇到V1轉V2,新版題庫還沒出來,就做舊版的題庫,自己模擬考有錯誤的找出錯誤原因,直到舊版題庫答題滿分再安排考試時間)
另外,我個人念書的慣性是以30分鐘為一個閱讀周期,一天至少完成一個閱讀周期做累積,如果是備考期間,周六會完成三個閱讀周期,分別是早上一個、下午一個、晚上一個;週日的部分恢復成在晚上進行一個閱讀周期。(考量學習上的彈性疲乏,類似一種邊際效應遞減)
ECSA與CPENT的部分,因為重點是要是LAB寫報告,剛好我算是業內人士,考試實作也不算刁難,所以都有順利打完LAB寫報告上傳後通過審核。
五、 上課後與認證對工作與實務上的幫助
答:我上完CEH與ECSA之後,就瞬間理解後門程式的編寫邏輯,後續的滲透測試工作我都是使用自己編寫的後門(有暗鎖)去POC取得伺服器控制權的漏洞。
另外,CHFI與ECIH的課程上完後,我便得到靈感,透過C\C++語言編寫端點檢測工具,一路從記憶體資訊蒐集到Service服務進程以及 Registry資訊列舉出已安裝軟體版本資訊,並進一步協助公司於資安健診服務上的端點檢測項目工作進行自動化報表產出。
至於CPENT受訓後,我則開始進行一系列的初階資安技術顧問的偕同合作腳本開發與教學,讓我們公司的初階資安技術顧問可以透過腳本化的方式協助資深顧問在滲透測試的場域中節省列舉漏洞與模糊測試的作業時間。
六、 有想過線上考取認證嗎? 到恆逸上實體課程的價值是什麼?
答:我個人覺得比較喜歡上實體課程,主因是有同學可以討論,有場地會提供LAB機可以實作,而且又有很多咖啡可以喝,專注力更double。
七、 有沒有最推薦恆逸講師或是服務的那些環節?
答:我最推薦唐任威老師,他是手把手的指令教學,上課前也會先把cheatsheet資訊先提供給受訓同學,上課時可以直接複製貼上指令,避免打字速度太慢跟不上上課節奏,而且考試之前可以把這些指令整理入一個電子檔案內,這樣考試時可以方便透過字串搜尋功能去找需要的指令。
八、 給想進入資安產業的新手的建議
答:唐任威老師曾經說一句我相當認同的話,資安技術特別是滲透測試,是一門綜合電腦科學。我自己在資訊的起步是自主學習C語言程式設計以及C++ Java php C#等程式語言,幸好有這些基礎,讓我後續在滲透測試的工作上,不論後端開發的程式語言是哪一種,我都能快速查API手冊,並且進一步與開發廠商溝通漏洞修補程式的編寫概念。根據我在資安檢測上的經驗,我建議,資安新手應至少深度學習一門程式語言,且可用該程式語言特製化tcp socket以及常見AP層的封包,例如HTTP協定封包,這對POC展示漏洞來說,是可以快速的讓開發廠商理解漏洞對應的攻擊封包以及封包對應API的溝通規範。
相關課程介紹