💡 今日學習目標:理解製造業與軟體工程的「品質演進四階段」,並學會將這四大觀念對應到資訊安全的防守策略。
昨天我們確認了一件事:資安是全體團隊的共同責任,開發者就是第一線防守者。
但「我知道我有責任」跟「我知道自己該做什麼」之間,還隔著一整片濃霧。
當我們第一次聽到 OWASP Top 10、NIST CSF、ISO 27001、Code Review 等一連串名詞時,許多資安新手會感到頭暈目眩,覺得資安是一門龐大且雜亂無章的學問。
其實,資訊安全本質上就是「軟體品質(Software Quality)」的一部分。
如果一個系統功能齊全,但只要輸入特定符號就會當機,這是「品質瑕疵」;
如果輸入特定符號不僅當機,還能把整個資料庫搬走,這就是「資安漏洞」。
今天,我們就借鏡工業界與製造業發展了上百年的品質管制演進史,來為資訊安全建立一套極度清晰的思維地圖!
從 20 世紀初至今,現代工業對「品質」的認知經過了四個關鍵變革階段。令人驚訝的是,這四個階段完全可以 1:1 對應到現代資訊安全的實踐中!

這張圖就是 Day 06 到 Day 30 的骨架。每進入一個新階段,我們都會回到這張圖上,確認自己走到哪一階了。
這套「從檢查走向製造、設計、管理」的演進,不是後人硬湊出來的分類,而是幾位品質大師花了幾十年吵出來的結論。其中兩個人講過的話,幾乎不用改字就能直接翻譯成資安語言。
戴明在他著名的「管理十四要點」中,第 3 點就直接開砲:
「停止依賴檢查來達成品質。應該從一開始就把品質做進產品裡,藉此消除大規模檢查的必要。」
(Cease dependence on inspection to achieve quality. Eliminate the need for inspection on a mass basis by building quality into the product in the first place.)
他還有一句更直白的補充:「檢查已經太遲了。品質的好壞,早就已經在產品裡面了。」
翻譯成開發者的語言就是:
當 SonarQube 掃出那個漏洞的瞬間,這個漏洞其實早在你敲下那行程式碼的時候就已經存在了。 掃描器只是讓你「知道」它在那裡,它本身並沒有讓你的系統變得比較安全。
這就是為什麼我們不能停在「檢查」這一階。
另一位大師克勞斯比在 1979 年出版了一本書名就很挑釁的著作:《Quality Is Free》(品質是免費的)。
他的核心論點是:品質本身不花錢,真正花錢的是「沒有品質」的代價:那些重工、報廢、退貨、客訴,以及賠不回來的商譽。
把這句話換成資安版本,幾乎一個字都不用改:
資安本身不花錢,真正花錢的是「沒有資安」的代價。
一套 SonarQube 社群版是免費的,一次威脅建模會議是免費的,把字串拼接改成參數化查詢也是免費的。真正貴的,是資料外洩之後的主管機關通報、客戶求償、稽核追查、系統重建,以及再也回不來的信任。
這也正是這個系列的核心信念:沒預算,從來都不是不做資安的理由。
我們以「使用者密碼儲存」為例,看看這四種思維的差異:
// ❌ 只靠檢查:原本寫明文密碼,被檢測工具警告後才緊急修補
Function RegisterUser(username, password):
// 原本:DB.Save(username, password) -> 被品管檢查回絕!
// 粗糙修補:直接套用簡單 MD5
HashedPassword = MD5(password)
DB.Save(username, HashedPassword)
⚠️ 缺陷:MD5 的運算速度極快,而這段程式碼又完全沒有加鹽(Salt),攻擊者可以直接用彩虹表(Rainbow Table)反查出原始密碼。
順帶澄清一個常見誤解:雜湊(Hash)不是加密,它沒有「解開」這回事。彩虹表的原理不是把 MD5「解密」回去,而是事先算好海量的「密碼 → 雜湊值」對照表,再拿你資料庫裡的雜湊值去反查。所以這種修補只是把明文換成了「查一下就知道的明文」。
// ✅ 製造即安全:遵循 Secure Coding 規範,一次做對
Function RegisterUser(username, password):
// 使用具備工作因子 (Work Factor) 的現代密碼雜湊函數 (如 Argon2id / bcrypt)
// 演算法會自動產生密碼學安全的隨機 Salt,
// 並把 Salt 與參數一起封裝進輸出的雜湊字串裡
SecuredHash = Argon2id.Hash(password, Memory=64MB, Time=3, Parallelism=1)
DB.Save(username, SecuredHash) // 不需要、也不應該另外開一個 Salt 欄位
🛡️ 製造精神:在撰寫邏輯時,就直接採用符合業界資安標準的演算法與密碼學規範。
💬 明日預告:【Day 04】專家與開發者的盲點落差:你以為只防 SQLi/XSS,其實駭客玩的是這些!
明天我們將破解 Web 開發者常有的認知盲點,看看資安專家與駭客眼中的漏洞世界到底長怎樣!