分類
CISSP

單元測試&整合測試&迴歸測試

單元測試(Unit Testing)
單元測試既是一種測試工具,也是一種開發工具。現代軟件開發人員通常在完成功能代碼之前開發單元測試,也就是測試驅動開發 (TDD) 方法。換句話說,每個軟件功能都帶有一組單元測試,以確保其正常運行。
https://ithelp.ithome.com.tw/upload/images/20210615/201321600lKIJvGvtH.jpg
-示例單元測試

整合測試(Integration Testing)
如今,軟件開發人員正在本地代碼存儲庫所在的桌上型電腦或筆記本電腦上編寫代碼。他們首先將代碼“提交”或“簽入”到本地代碼存儲庫中。如果本地代碼構建和測試沒有問題,它們將被推送到遠程中央代碼存儲庫進行集成。持續集成 (CI) 意味著一旦滿足 CI 標準,遠程服務器就會自動啟動服務器構建,例如,每當簽入新代碼或定期開始構建(例如,每晚構建)。如果服務器構建成功,它會自動開始(集成)測試。單元測試和 UI 測試可以在沒有用戶干預的情況下完成,例如,使用 Selenium 來支持自動化的端到端 (e2e) Web UI 測試。

回歸測試(Regression Testing)
如果服務器構建失敗,遠程代碼存儲庫的中央服務器將通知開發人員錯誤。開發人員製造錯誤或破壞構建必須修復它們並重複該過程直到沒有錯誤發生。這是一個回歸測試的過程。

參考
回歸測試
回歸測試和整合測試有什麼區別?
單元測試?整合測試?回歸測試?驗收測試?
代碼庫的安全性

資料來源: Wentz Wu QOTD-20210330

分類
CISSP

軟件測試覆蓋率分析(測試粒度最細)-表達式(expressions)和決策結構

顆粒可視為測量單元。當我們說我們的軟體被測試了50%,或者測試覆蓋率是50%,這到底是什麼意思,因為軟體有10個用例,50個場景,500個測試案例,10,000行代碼,或者200,000個表達式?50% 的測試覆蓋率可能指 5 個使用案例(十分之一)測試,但 5 個測試使用案例涵蓋 10 種情況、30 個測試案例、8,000 行和 120,000 個表達式。

使用案例從使用者(參與者)的角度記錄功能要求,通常包括主要的成功場景(又名基本或陽光日流量)和擴展場景(又名擴展、特殊、替代或雨天流)(如果有)。
https://ithelp.ithome.com.tw/upload/images/20210614/20132160UKZfOb2jzi.png
-從用例序列生成測試用例(圖片來源:MJ Escalona

可根據使用案例場景開發測試方案,並由一個或多個測試案例支援。測試案例涵蓋一個或多個通常跨越原始程式碼行的軟體功能。

一行代碼可以容納一個或多個計算機語言表達式和語句。例如,下圖中的第一行有兩個語句。
https://ithelp.ithome.com.tw/upload/images/20210614/20132160GpCPTaSy0C.jpg
-表達式和語句

參考
用例目標、場景和流程
源代碼行
第5章–決策結構
為什麼測試覆蓋率是軟件測試的重要組成部分?
代碼覆蓋率
代碼覆蓋率分析
表達式與語句
表達式與語句(視頻)

資料來源: Wentz Wu QOTD-20210329

分類
CISSP

資安入門

資訊安全是透過安全管制措施來保護資訊資產免於受到危害,以達到機密性、完整性和可用性(即常聽到的CIA)之目標(第3層),進而支持業務流程(第2層)、創造和交付價值,實現組織的使命與願景(第1層)的一門學科.
資料來源:The Effective CISSP: Security and Risk Management

什麼是風險?
風險是“影響目標達成的不確定因素”。在資訊安全的背景下,威脅是任何可能對目標帶來負面影響的風險,通常涉及威脅來源發起一個或多個威脅事件,以利用漏洞並導致不利的影響。
NIST 通用風險模型 (NIST SP 800-30 R1)
漏洞(Vulnerability)“包括可以被威脅所利用的一個或一組資產的弱點(weakness)”(ISO / IEC 21827),或是“可以被威脅利用或觸發的IT系統安全上的弱點。” (ISO/TR 22100-4)

  • 弱點是一種“不足”。(ISO 81001-1)
  • 資產是有價值且值得保護的東西。
  • 保護是指努力防止目標偏離。保護意味著在風險管理中進行風險處置或在資訊安全的場合中實施安全控制(又名安全措施)。
  • 保護人的生命永遠是當務之急。
    ISO 31000

資訊系統,又常被稱為IT系統,是一組離散的收集組織的資訊資源,加工,維修,使用,共享,傳播或資訊的處置。在本出版物的上下文中,該定義包括資訊系統運行的環境(即人員、流程、技術、設施和網絡空間)。(NIST SP 800-39)

CISSP是一位被ISC2所認證的專家,很了解如何保護資訊系統。

孔雀作為資訊系統的隱喻

Wentz 的著作The Effective CISSP: Security and Risk Management幫助 CISSP 和 CISM 有志者建立了一個可靠的概念安全模型。它是資訊安全教程和 CISSP 和 CISM 考試官方學習指南的補充,也是安全專業人員的資訊參考。

參考

  • ISO/IEC 21827:2008
  • ISO/TR 22100-4:2018
  • ISO 81001-1:2021

原始來源: Information Security 101

分類
CISSP

密鑰協商-Diffie-Hellman

密鑰分發是將加密密鑰從一方發送到另一方的過程。對稱和非對稱密碼術都面臨著密鑰分發的挑戰。這個問題詢問對稱密碼學中的共享密鑰分發。
. 由信任網絡或 X.509公鑰基礎設施(PKI)管理的證書中的收件人公鑰通常用於加密預先確定的而非協商或商定的共享密鑰。證書和基礎設施管理是主要開銷。
. Diffie-Hellman 是一種基於公鑰的協議,支持密鑰協商(生成並同意共享密鑰),而無需證書管理的開銷。

秘鑰的分配
密鑰可以由一方預先確定並發送給另一方,也可以由雙方協商和商定。作者將前者預先確定的方式稱為“密鑰交換”,將後者約定的方式稱為“密鑰協商”。然而,人們將“密鑰交換”稱為涵蓋這兩種方法的總稱並不少見。
. 密鑰交換:一方生成密鑰並發送給另一方;對方不影響密鑰。例如,公鑰加密。
密鑰協商:雙方都可以就密鑰達成一致,從而影響結果。例如,迪菲-赫爾曼。
https://ithelp.ithome.com.tw/upload/images/20210612/20132160PSFBVbDT2f.jpg
-對稱密碼學中的密鑰分配

公鑰的分配
非對稱密碼學中使用的公鑰的分發可以通過以下一般方案來實現:
. 公示(信任網
. 公開目錄
. 公鑰權限
. 公鑰證書信任鏈

Diffie-Hellman 協議

https://www.youtube.com/embed/QPD3IgCUkVY

參考
NIST 密碼標準和指南
Diffie Hellman 組 (IBM)
公鑰分發
Diffie-Hellman 協議
Diffie-Hellman (輝煌)
Diffie-Hellman 密鑰交換的代數推廣
Diffie Hellman – 數學位 – Computerphile
Diffie-Hellman 密鑰交換的數學 | 無限系列
此視頻未使用 RSA 加密 | 無限系列
如何破解密碼學。無限系列
您是否需要特殊類型的證書才能使用 Diffie Hellman 作為 SSL 中的密鑰交換協議?

資料來源: Wentz Wu QOTD-20210328

分類
CISSP

Product Sales and Support(EOL & EOS)

分類
CISSP

產品壽命結束EOL

產品壽命結束(英語:End-of-life,縮寫EOL)是一個用於提供給用戶產品的術語,表示該產品的生命周期結束,供應商計劃停止市場行銷銷售等,產品服務也可能隨之受限甚至終止。供應商可能會用像產品銷售結束(end-of-sale)等更明確的詞語。一般在供應商產品壽命結束前會發出產品壽命結束公告,之後的一段時間為最後訂購日期,最多可到90天。

資料來源:https://zh.wikipedia.org/wiki/%E7%94%A2%E5%93%81%E5%A3%BD%E5%91%BD%E7%B5%90%E6%9D%9F

分類
CISSP

替代網站(Alternative Sites)- 冷站點的最大好處

冷站點沒有適當的計算機設備,因此它不提供異地數據存儲、保留替代計算能力或響應電子發現請求。
冷站點是替代或備份站點的最便宜的形式。與暖站點或熱站點相比,恢復計算機設施和恢復業務運營需要更多時間。但是,一般來說,冷站點確實縮短了搬遷時間。例如,它可以節省尋找合適地點、進行現場調查(例如,通過環境設計預防犯罪)、與房東談判合同以及準備活動地板、空調、電力和通信線路等基本設施的時間, 等等。

替代網站(Alternative Sites)
“一般來說,備用站點是指人員和他們需要工作的設備在一段時間內重新安置的站點,直到正常的生產環境,無論是重建還是更換,都可用。” (維基百科
冷站點(Cold site):具有計算機設施必需的電氣和物理組件但沒有計算機設備的備用設施。該站點已準備好在用戶必須從其主要計算位置移動到備用站點的情況下接收必要的替換計算機設備。
暖站點(Warm site:):一個環境條件良好的工作空間,部分配備信息系統和電信設備,以在發生重大中斷時支持搬遷操作。
熱站點(Hot site):配備硬件和軟件的全面運行的異地數據處理設施,可在信息系統中斷時使用。
資料來源:NIST SP 800-34 修訂版 1

電子發現(E-discovery)
電子取證(也稱為電子取證或電子取證)是指在訴訟、政府調查或信息自由法請求等法律程序中的取證,其中所尋求的信息採用電子格式(通常稱為電子存儲信息或 ESI)。
資料來源:[維基百科]

參考
數據保管
什麼是數據保險箱?- 所有你必須知道的
數據保險庫基礎知識
服務局
按需計算:服務局的重生
電子發現
備份站點

資料來源: Wentz Wu QOTD-20210327

分類
CISSP

工程、生命週期階段和過程(Engineering, Life Cycle Stages, and Processes)

https://ithelp.ithome.com.tw/upload/images/20210610/20132160fMsOyOUCv0.jpg
-NIST SP 800-160 V1 和 ISO 15288

工程(Engineering)
. 工程 是一種涉及開發解決方案的一組流程的方法,該解決方案可以是系統、軟件或任何可交付成果,從利益相關者的需求轉換而來,並在解決方案的整個生命週期中提供支持。(精簡版)
. 工程 是一種方法,它涉及應用知識和技能來理解和管理利益相關者的需求、提出和實施解決這些需求的解決方案,以及利用和支持該解決方案以持續創造價值直到其退休為止的一系列過程。(長版)
. 系統和軟件工程 是將系統或軟件作為解決方案交付的工程方法。

系統工程(Systems Engineering)
系統工程 是一種跨學科的方法和手段,可以實現成功的系統。
– 它側重於在開發週期的早期定義利益相關者的需求和所需的功能,記錄需求,然後在考慮完整問題的同時進行設計綜合和系統驗證。
– 將所有學科和專業組整合到一個團隊中,形成從概念到生產再到運營的結構化開發流程.
– 它考慮了 所有利益相關者的業務和技術需求,目標是提供 滿足用戶和其他適用利益相關者需求的優質產品。這個 生命週期跨越了想法的概念 ,直到系統的退役 。– 它提供了獲取和供應系統的流程 。– 它有助於改善創建、利用和管理現代系統的各方之間的溝通與合作,以便他們能夠以集成、連貫的方式工作。
來源: ISO/IEC/IEEE 15288:2015 系統和軟件工程——系統生命週期過程
https://ithelp.ithome.com.tw/upload/images/20210610/20132160whjGsHNArL.jpg
-SDLC:系統還是軟件?

生命週期(Life Cycle)
每個人都有自己的生活,系統或軟件也是如此。系統或軟件的生命週期不同。系統或軟件生命週期通常包括從開始到工程退役的跨階段(或階段)進行的一系列過程(也稱為生命週期過程)。
系統或軟件開發生命週期 (SDLC) 中的“開發”一詞具有誤導性,因為它暗示“構建”、“製作”、“構建”或“實施”某物。然而,如今一個組織在沒有任何採購或收購的情況下單獨“發展”是不可能的。採購意味著從供應商那裡購買東西,而從更廣泛的意義上講,收購是指從任何一方付費或免費獲取任何東西。

階段(Stages)
生命週期的階段各不相同。組織傾向於根據工程方法定制生命週期階段,並可能在項目中迭代生命週期。ISO/IEC 15288 提出了生命週期過程,但 沒有規定 係統生命週期 (SLC) 的六個階段。

流程(Processes)
跨生命週期執行的流程不時變化,這種情況並不少見。但是,修訂後的 ISO/IEC/IEEE 15288:2015 和 ISO/IEC/IEEE 12207:2017 旨在實現系統和軟件生命週期過程的完全協調視圖。
一個過程通常以不同的程度在整個生命週期中進行。驗證和確認是在眾所周知的“測試”或“測試”(“testing” or “test”)階段進行的主要過程。然而,需求、設計、工作產品、可交付成果、最終產品等,可以而且應該在不同階段進行驗證和確認。
https://ithelp.ithome.com.tw/upload/images/20210610/20132160m6B1S9iCp7.png
-Rational Unified Process 的 4 個階段和 9 個學科(圖片來源:Humberto Cervantes)

參考
ISO/IEC/IEEE 15288:2015 系統和軟件工程——系統生命週期過程
ISO/IEC/IEEE 12207:2017 系統和軟件工程——軟件生命週期過程
ISO/IEC 15288
什麼是工程?
安全架構與工程
CISSP 實踐問題 – 20210514
墨西哥某小型IT企業網絡管理應用開發經驗報告

資料來源: Wentz Wu 網站

分類
CISSP

最大可容忍停機時間 (MTD)

最長可容忍停機時間或 MTD 指定了在組織的生存面臨風險之前給定業務流程可能無法運行的最長時間。”
資料來源:BCM 研究所
最大可容忍停機時間 (MTD) 是對信息系統和其他資源支持的關鍵業務流程的約束。換句話說,MTD 對一個或多個信息系統施加約束,如下圖所示。
https://ithelp.ithome.com.tw/upload/images/20210609/20132160HMHKYUGDbU.jpg
-業務影響分析 (NIST)

最大可容忍停機時間 (MTD) 是推動目標設定的業務限製或要求。服務交付目標 (SDO)、恢復點目標 (RPO) 和恢復時間目標 (RTO) 是目標,因為術語“目標”明確表示字面意思。有關詳細信息,請參閱這篇文章,常見 BIA 術語
https://ithelp.ithome.com.tw/upload/images/20210609/20132160KDhh2HuZLr.jpg
-MTD、RTP 和 RPO

參考
常見的 BIA 術語
CISSP 實踐問題 – 20200406
CISSP 實踐問題 – 20201217
CISSP 實踐問題 – 20200407
CISSP 實踐問題 – 20210215
CISSP 實踐問題 – 20210116

資料來源: Wentz Wu QOTD-20210326

分類
專案管理

專案管理基本功

戰略

組織戰略通常包括一系列旨在實現長期目標和實現願景和使命的舉措。

戰略投資組合

一個專案可能在三種情況下進行管理:作為一個獨立的專案(投資組合或計劃外),一個內部程序,或內組合。(PMBOK 6th)

商業案例

  • 一個商業案例評估舉措替代的可行性,成本和效益方面。
  • 證明計劃合理的已批准業務案例會將其轉變為由專案發起人讚助並由專案經理管理的專案。

專案生命週期

專案是為創造獨特的產品、服務或成果而進行的臨時努力。

專案生命週期是專案從開始到完成所經歷的一系列階段。這些階段可以是連續的、迭代的或重疊的。專案的生命週期可以是預測性或適應性。

資料來源:PMBOK 6th

開發生命週期

在專案生命週期內,通常有一個或多個與產品、服務或成果的開發相關的階段。這些被稱為開發生命週期。開發生命週期可以是預測的、迭代的、增量的、自適應的或混合模型。

資料來源:PMBOK 6th

敏捷思維

敏捷是一種思維模式,它專注於通過一系列預定義的原則和經過驗證的實踐來頻繁地創造和交付價值。

管理

專案管理

專案管理是將知識、技能、工具和技術應用於專案活動以滿足專案要求。

專案管理使組織能夠有效和高效地執行專案。

資料來源:PMBOK 6th

原始出處: Project Management 101