身為軟體研發工程師, 在開發軟體時勢必會經歷下列流程
- 需求分析 (Requirement Analysis)
- 架構設計 (Design)
- 實作 (Implementation)
- 測試 (Testing)
- 維護 (Maintenance)
在軟體工程中, 稱上述流程為軟體開發生命週期 Software Development Life Cycle (SDLC).
而根據下圖, 來自 IBM 的研究指出若在研發早期就將資安考慮進去並進行修補, 那所需資源比起維護時期可大大降低
有鑑以此, (ISC)² [1] 制定了 Certified Secure Software Lifecycle Professional (CSSLP) 軟體開發安全專家國際資安認證, 期待透過系統性的學習而成為軟體開發安全專家, 將安全元素融入至每一個軟體開發階段中.
這篇主要分享 Certified Secure Software Lifecycle Professional 軟體開發安全專家認證自修考照心得.
CSSLP 適用職務:
(ISC)² 官方建議下列職務人員可考慮擁有 CSSLP 證照
- Software Architect
- Software Engineer
- Software Developer
- Application Security Specialist
- Software Program Manager
- Quality Assurance Tester
- Penetration Tester
- Software Procurement Analyst
- Project Manager
- Security Manager
- IT Director/Manager
但我個人認為, 身為軟體研發人員, 多少要有軟體開發安全的概念. 即便不考 CSSLP 證照, 還是建議瞭解 CSSLP 的內容以及觀念.
成為 CSSLP 流程:
- 確認報考資格
- 決定筆試準備方式
- 報名並進行筆試
- 填寫資格申請表
- 進行審核
- 繳交會費
- 累積持續教育積分 Continuing Professional Education (CPE)
1. 確認 CSSLP 報考資格:
決定準備 CSSLP 考試前, 請先確認具備基本要求. 否則即便考過筆試也無法獲取證照.
(ISC)² 規定需在下列八個軟體領域中需具備至少一個領域四年以上工作經驗. 若具備大學學位或者滿足特定條件, 得抵免一年工作經驗 [2].
- Domain 1. Secure Software Concepts
- Domain 2. Secure Software Requirements
- Domain 3. Secure Software Design
- Domain 4. Secure Software Implementation/Programming
- Domain 5. Secure Software Testing
- Domain 6. Secure Lifecycle Management
- Domain 7. Software Deployment, Operations, and Maintenance
- Domain 8. Supply Chain and Software Acquisition
這邊建議先找好一位 (ISC)² 會員. 屆時 CSSLP 筆試通過後, 會需要他的具名推薦.
2. 決定筆試準備方式
由於每個人學習方法, 以及準備時間皆有所差異. 所以可根據自身需求來選擇下列筆試準備方式.
- 實體課程
- (ISC)² 官方實體課程
- (ISC)² Private On-Site 課程
- 臺灣恆逸教育訓練中心
- 線上課程
- 自修
我個人是選擇以自修的方式準備,選用書單如下:
主要準備以 Official (ISC)2 Guide to the CSSLP CBK 為主, CSSLP Certification All-in-One Exam Guide 為輔.
認證考試範圍
CSSLP 考試範圍涵蓋了下列八個領域
- Secure Software Concepts
- Secure Software Requirements
- Secure Software Design
- Secure Software Implementation/Programming
- Secure Software Testing
- Secure Lifecycle Management
- Software Deployment, Operations, and Maintenance
- Supply Chain and Software Acquisition
非常建議應試者要有軟體開發生命週期實際應用經驗, 搭配書本知識後融會貫通. 否則單純讀書考過 CSSLP 的機率有限.
另外也請注意, 不要購買任何 CSSLP 線上考古題. 因為裡面的題目跟 CSSLP 差距甚遠.
3. 報名並進行筆試
考試地點目前全台有兩間, 分別為
- Pearsonvue – 台北市基隆路一段163 號12 樓之3
- Systex-SKH – 高雄市前鎮區中山二路2號25樓
現在都是採由網路預約, 由於 Pearsonvue 的位置較難預訂, 加上時間往往只剩早上 8:00. 這邊建議心裡先預設好考試日期並進行準備, 考試日期前一至兩週再開始預訂. 因為考試前一兩週常常會有人因故取消或延期, 進而釋出空位.
應試當天:
- 記得帶護照且一定要提早到考場.
- 由於考試時間長達 4 小時, 建議考前買些食物或者水, 考試途中可補充體力.
- 考試為 175 題全英文單選題筆試, 取得 700 分以上者即通過考試.
- 遞交答案後, 工作人員會提供考試結果.
4. 填寫資格申請表
通過筆試後, 可透過 (ISC)2 官方網站填寫 CSSLP 資格申請表. 除了自己的資料外, 也須提供一位 (ISC)² 會員推薦人. 推薦人需填寫相關表單進行推薦.
5. 進行審核
一切填寫完畢後, (ISC)2 就會進行審核. 一般須等 4~6 週左右.
6. 繳交會費
審核完畢, 繳交會費後會員年費 USD 125 即可生效.
此外, (ISC)2 與 Acclaim 進行合作, 能在網站上查到證照訊息

7. 累積持續教育積分 Continuing Professional Education (CPE)
學而不已,闔棺乃止。 – 韓嬰《韓詩外傳》
拿到 CSSLP 後, 需在三年內取得 90 分的累積持續教育積分, 且每年至少需取得30分CPE. 才能繼續保有 CSSLP 資格.
CPE 可以透過參加資安論壇、擔任資安會議講者、參加資安 webinar、寫書或者開課等等方式獲得.
心得:
個人認為 CSSLP 考試對於軟體人員在開發軟體上相當有幫助, 透過 secure by design 的安全概念來設計更安全的產品. 而 CSSLP 考題本身也相當有水準, 如果有相關經驗搭配專業知識, 相信通過的機率會很高.
準備時間:
斷斷續續, 大概一個月的下班時間
所花費用:
- 書本費: 大約 NTD 3000.
- 考試: USD 599
- 會員年費: USD 125
Reference:
[2] https://www.isc2.org/Certifications/CSSLP/experience-requirements#