標籤: 數位化轉型

  • 以實例從軟件工程及網絡安全視角評析 OWASP Top 10 2025 A06:Insecure Design 及跨域安全人才之不可替代性

    以實例從軟件工程及網絡安全視角評析 OWASP Top 10 2025 A06:Insecure Design 及跨域安全人才之不可替代性

    此文早前發佈於致點科技創始人個人博客,專此轉載並有所修改。

    一、前言

    OWASP Top 10 2025 第六項風險「Insecure Design」(不安全設計)正是軟件工程界與網絡安全界真正交匯之處,卻亦是雙方最容易互相推卸責任、選擇性忽略的「灰色地帶」。

    網絡安全從業員往往將此歸咎為「開發團隊的問題」,理由是針對直接關聯業務邏輯的不安全設計,網絡安全常用的「外科手術式」技術手段基本上無能為力;而軟件工程師則慣性認為:「即使設計有問題,那也是業務需求使然,並非漏洞」,潛台詞即是業務優先、安全靠邊。

    正因如此,A06 風險長期存在,根源在於雙方認知分歧,且均未能穿透問題本質。

    Insecure Design 的本質,絕非單純以編碼缺陷可概括。它是一種在需求分析階段便已埋下的結構性風險,關鍵在於執行需求分析的系統分析師是否具備足夠的風險管控意識,以及能否從業務邏輯中預判潛在威脅因素,繼而才能在設計與實現階段作出協同應對。

    二、導致不安全設計的典型情境

    筆者在此舉出親身經歷的兩個案例:

    1)經驗慣性所致

    在工業物聯網(IIoT)領域,常見的設計慣性是:由於設備通常部署於物理隔離的內網環境,開發人員習慣將控制指令(如啟停、參數調整)以明文形式直接在網絡上傳輸。此類設計雖在封閉網絡中隱患尚存,但因攻擊面受限,仍屬「可控風險」。

    然而,當同一設計邏輯被直接套用至面向互聯網的消費級 IoT 系統時,不可控風險隨即浮現。攻擊者可透過列舉 API 路徑、重放請求、篡改參數等方式,繞過身份驗證,直接操控設備。

    舉例而言,假設某設備的 API 設計如下:

    POST /api/v1/device/12345/control
    Body: { "action": "set_max_op_mins", "value": 30 }

    若 API 內部未對 URL 路徑中的設備 ID(12345)實施適當的存取控制措施——例如驗證用戶身份、權限,或要求訪客提供有效存取密鑰(顯然本例並無此機制)——攻擊者便可能透過窮舉法獲取設備 ID,進而構造控制參數,遠程操縱設備,造成設備損毀與經濟損失。

    須強調的是,若設計階段根本未考慮任何權限控制機制,這並非「越權存取」,而是根本未建立權限模型,屬於典型的 Insecure Design。透過源代碼審計即可確認此問題性質。

    此問題的根源不在開發者的編碼能力高低,而在於經驗慣性導致系統設計時未將「資源歸屬」與「操作授權」視為業務邏輯的核心規則納入業務模型。

    2)具潛在風險的業務模型

    除違反明確風險控制原則所引致的安全漏洞外,Insecure Design 還有一種更隱蔽的情況:

    業務邏輯模型本身即構成風險。

    此類問題不易察覺,卻尤需在分析階段便前瞻性識別,否則問題將延至設計、實現甚至交付後才暴露,屆時或已難以收拾。

    例如,某 O2O 網上預訂流程的業務邏輯被設計為一系列用戶步驟,每步對應一個 API 操作:

    選擇線下門市 → 選擇服務類型 → 選擇服務細節參數 → 選擇預訂時間 → 選擇付款方式 → 發起付款 → 付款後處理等。每個環節至少對應一個 API。

    單從業務邏輯看,這些步驟看似必要,能有效引導用戶完成整個線上服務流程,API 設計緊貼業務邏輯,似乎「合理」。

    但從風險管控角度觀之,此設計等於將風險敞口擴大 N 倍(N = API 數量)。只要其中任一 API 存在安全漏洞,整個系統即告失守。

    三、從軟件工程角度探討解決方案

    上述兩例均無法依靠「外科手術式」技術手段彌補,必須從軟件工程開發本質著手解決。

    針對案例一:混淆 API 參數,並設計合適的鑑權機制。

    自然有人會質疑:「混淆參數增加複雜度與工作量,真有必要?」

    答案是肯定的。須強調,混淆(Obfuscation)僅是實現機密性(Confidentiality, C)的手段之一。資訊安全的 CIA 三要素(Confidentiality, Integrity, Availability)必須協同保障。

    • 如何確保完整性(Integrity)?
      可對 API Payload 進行數位簽章與驗證,或僅對關鍵 ID 參數使用 HMAC 校驗,防止篡改。
    • 如何保障可用性(Availability)?
      混淆機制不宜過度複雜,以免引入效能瓶頸或調試困難。例如,若數位簽章僅需 10 分鐘內有效,則無需使用長密鑰或多演算法交叉驗證。

    業界已有成熟模式可循,如 JWT(JSON Web Token)可直接採用,或簡化為外部 ID 映射內部 ID。但如前所述,必須結合 CIA 三要素的綜合評估結果方能定案。

    針對案例二:取消原有分步 API,改為單一「獲取服務內容」API。所有步驟在前端完成,僅在發起付款時提交完整訂單,由後端 API 進行全面校驗。

    此方案之核心,在於軟件工程人員需在分析與設計階段深入理解業務邏輯,思維不能拘泥於既有分步流程,並意識到新設計更能靈活適應未來流程變更:

    前期大部分業務邏輯由前端處理,若需調整步驟以提升用戶體驗,大概率無需修改後端 API,反而提升了 API 的健壯性。

    事實上,從軟件工程角度看,安全設計所帶來的額外實現成本,不能簡單以「值不值得」衡量。正如「資料庫讀寫是否需交易機制」、「系統是否需日誌審計」等基礎議題一樣,安全並非可選項,而是軟件品質屬性之一。作為系統分析師或架構師,我們的職責是在需求階段即將安全視為非功能性需求,並量化其對系統可靠性與合規性的影響。

    四、從網絡安全角度重新解讀 Insecure Design

    不少安全從業員仍將 Insecure Design 簡單等同於「越權漏洞」(Broken Access Control),此乃誤解。

    Insecure Design 的本質是「未限制風險的產生」。

    越權的前提是存在權限模型,而 Insecure Design 的範疇廣闊得多。即使僅從資源所有權關係、角色操作映射等要素理解,仍屬片面,未能從整體風險管控視角把握其本質。如前述案例二所示,風險敞口倍增問題正是整體性風險控制缺失的體現。

    安全從業員之所以存在此局限,多因安全與業務脫節所致。筆者於過往文章中屢次強調:

    若安全未能融入業務,必將被邊緣化,甚至遭徹底忽視。

    對企業高層而言,CIO 與 CISO 是否應為兩個分離角色?筆者的答案是否定的。

    具體至執行網絡安全職責之人員,若未能將職能與能力延伸至業務相關的系統設計文件、數據流圖、權限模型及功能流程的安全審查,即代表其仍未與業務融合。

    五、安全設計無捷徑,不可迴避

    軟件開發中最危險的思維莫過於:「先跑通功能,安全日後再加。

    此種「敏捷式拖延」在 Insecure Design 面前尤為致命。一旦數據模型、介面規範、權限體系定型,後期修改將牽一髮而動全身,所需成本遠高於初期設計階段。

    順帶一提,此亦影響經濟審計(筆者背景之一):

    一個因安全漏洞而需「補鑊」的應用系統,其實際價值並不會因追加修補投資而增值,反而因確認存在重大缺陷而應予減值

    尤其在涉及知識產權定價與轉讓時,等於直接否定其價值。誰願冒險採購一套曾耗巨資修補漏洞的系統?誰能保證其中沒有其他未被發現的重大風險?

    因此,Secure by Design 的核心在於:

    安全不是系統功能,而是原則性的整體系統能力。

    它要求我們在繪製第一張 UML 圖、撰寫第一個 Use Case 時,便貫穿風險管控意識。

    系統分析師,必須是網絡安全落地的第一環。

    六、網絡安全從業員何去何從?

    本文雖源於筆者自身技術背景(資訊系統審計師 + 系統分析師 + 軟件工程碩士),但對純網絡安全從業員亦具啟示:

    未來的安全人才,必須立足於「軟件工程與網絡安全」的交叉點。

    僅會用 Burp Suite 爆破 API 的時代正在過去——AI 正迅速取代機械重複的勞動。企業真正需要的,是能解讀架構圖、參與需求評審、推動威脅建模落地的「橋樑型」人才,或更直白地說:能判斷某項設計是否引入不可接受風險的人才

    因為,安全已是現代軟件工程不可分割的一部分

  • 知彼知己,企業需要通過網路安全審計助力網路安全防騙

    知彼知己,企業需要通過網路安全審計助力網路安全防騙

    致點科技創始人作為HKCS專業會員,近日參加了一場由 HKDPO 組織、CSTCB/HKPF 和 HKCERT 協辦、HKCS 支援的網路講座活動,主題為《Let’s Secure as we Digitalise》。活動中,各主辦單位均派出專業人士,從各自專業角度出發,分享了有關網路欺詐(cyberfraud)的案例與應對策略。

    近年來,網路欺詐在香港持續發生,受害者被騙金額水漲船高,相信本文讀者都已經有所聽聞。本次講座之所以取名《Let’s Secure as we Digitalise》,正是因為詐騙案件頻發,不僅對正計畫或正在進行數位化轉型的企業、尤其是中小企業(SME)造成影響,更可能阻礙香港政府推動整體社會數位化發展的進程。

    然而,一場講座只是起點。對於有意或已經踏上數位化轉型之路的企業而言,如何邁出網路安全防騙的第一步,至關重要。但在現實中,許多企業主往往是說不清哪一步才是正確的開始。

    在致點科技創始人看來,這一問題的答案可以從《孫子兵法》中的“知彼知己,百戰不殆”中找到啟發:

    既然我們已經意識到網路上存在各種欺詐手段,就應該審視自身是否具備足夠的防禦能力。

    因此,正確的第一步應是開展網路安全審計,依據網路安全業界標準,對企業自身的防護能力進行全面評估。通過審計,識別企業在運營過程中所面臨的風險,並重點關注可能遭遇網路欺詐或其他網路安全威脅的關鍵環節。隨後,根據審計結果,結合企業的風險承受能力與財務狀況,制定並落實相應的網路安全管理措施,部署必要的安全防護技術手段。

    基於致點科技創始人在企業 IT 治理及威脅應對領域深厚的實踐經驗,致點科技能夠為社會各界、尤其是中小企業,提供量身定制的網路安全審計服務,並提出切實可行、卓有成效的具體措施與實施建議。

    歸根結底,網路安全本質上是一場攻防對抗的戰場,因此,《孫子兵法》這類古老的軍事智慧,在這一領域依然閃耀光芒。無論是網路安全從業者,還是企業管理者,都值得深入思考和借鑒這些智慧。

    • HKDPO: Hong Kong Digital Policy Office
    • CSTCB/HKPF: Cyber Security and Technology Crime Bureau (CSTCB) of Hong Kong Police Force (HKPF)
    • HKCERT: Hong Kong Computer Emergency Response Team Coordination Centre by HKPC
    • HKCS: Hong Kong Computer Society

    文章配圖由致點科技自行拍攝。

  • AI應用落地的第一條問題:用雲端AI還是本地AI?

    AI應用落地的第一條問題:用雲端AI還是本地AI?

    致點科技創辦人作為香港電腦學會(HKCS)專業會員,最近參與了由HKCS舉辦的《Retail Tech Industry Group Seminar – Unlocking AI with Proven Use Cases》線下專題研討會。

    研討會探討的主題對於中小企而言極具吸引力:透過應用AI技術,可以在不增加人手的情況下大幅提高營運效率。

    致點科技創辦人過去曾擔任大型集團企業的IT總監,對於如何運用資訊科技提升營運效率早已駕輕就熟,深信企業若能恰當地應用AI技術,將比傳統IT方案帶來更顯著的效率提升。

    然而,考慮問題必須多角度切入。對於中小企來說,首要考量始終是——

    成本效益。

    如果投資的成本無法與回報成正比,那麼所謂AI落地、數碼轉型,也只是空談。

    因此,在收益增長尚未明確的情況下,如何有效控制應用AI的相關成本,使企業既能跟上數碼化步伐,又不會因過度投入而成為犧牲者,無疑是企業主在決策時的一大掙扎點。

    本地部署AI需要購置AI一體機,費用約為數萬至十數萬港元不等。但更重要的是,必須具備合適的環境來安裝及穩定運作這些設備。在香港這個地少人多的城市,這一點往往比設備本身更具挑戰性。不過,所耗電力成本則相對較低。

    至於雲端AI方面,收費是以「token」為單位計算。由於這是個專業術語,而且不同的語言、措辭,甚至句子結構與語氣詞都會影響token的消耗量,致點科技建議以每個中文字對應1個token的方式來估算整體支出。

    對於一般用途,即不涉及複雜計算或深度分析的場景,雲端AI的成本其實相當低廉。舉例來說,處理一百萬個中文字的成本僅約港幣35元,大概只是一頓兩餸飯的價格而已。

    當然,有企業主可能會問:一百萬個中文字聽起來很多,但實際上到底能用多久?

    這個問題的答案,取決於AI的具體應用場景。如果是應用於企業內部流程優化,且屬於非文字密集型業務,根據致點科技的經驗,每單交易平均會產生約五千字的記錄,一百萬字便可支援約200單交易。

    這樣看來,選擇雲端AI明顯更具成本效益。

    但如果屬於文字密集型業務,根據致點科技觀察,每單交易平均可產生逾二萬字的資料,是前者的四倍以上。同樣的一百萬字,便只能支援約50單交易。所幸此類業務通常收費較高,成本亦較易被覆蓋。

    綜合上述計算,加上本地部署所面對的種種限制,香港中小企在推動AI落地時,首選方案仍是採用雲端AI服務。

    然而,AI應用不僅是成本效益的考量,實際上還需投入不少隱形資源,例如流程自動化的重新設計、現有系統的整合與改動等。而更多企業主往往忽略的,卻是致點科技將於下一篇深入探討的重點:

    數據合規與私隱保障問題。

    * 文章配圖為致點科技自行拍攝。

  • 作為IT專案主導方如何確保IT專案交付?

    作為IT專案主導方如何確保IT專案交付?

    在企業資訊化、數位化轉型過程,需要進行各種類型的IT專案。一些項目主導方會認為,反正合同簽好了,交付不如意就按合同執行,不支付尾款,甚至開展索賠,不會有損失。

    但實際上,在市場競爭中,項目延期交付,甚至無法交付而造成的延誤,是難以簡單地用不支付合同款項和索賠去彌補的。

    時間是最寶貴的資源。商場如戰場,一步先等於步步先,一步慢就步步慢。項目的交付延誤和交付失敗就等於落後于競爭同行,無論是重頭再來抑或加大投入趕工期,都無法彌補在競爭態勢上的落後。

    所以,作為專案主導方,確定了供應商開始執行專案建設後,還必須時刻主動跟進專案建設進度,預見並消除專案風險,研究和解決項目障礙,從而推動供應商往前走而不是反過來被供應商推動。

    最核心的管理手段,就是專人專責。

    但大多數項目主導方,尤其中小企業,並不擁有專人專責的條件。因此,一間有經驗、懂資訊科技落地的IT咨詢服務公司,且能承擔代建職責的IT咨詢服務公司,例如我們致點科技,就是項目主導方應有的考慮。

    * 文章配圖為致點科技自行拍攝。