91APP 遭駭為何花了 11 天才查出破口?駭客是如何突破防線

SaaS 業者 91APP 近日被駭,其一座存放近 18 個月訂單交易資料的資料庫遭非法存取,部分資料遭竊。91APP 在 10/29 召開記者會,公布《91APP 被駭事件:25 天調查報告》,董事長何英圻率領公司主管,向受影響的消費者與品牌客戶鞠躬致歉。

91APP 指出,由於無法確認具體涉及哪些訂單,以最大可能影響範圍估算,涉及 1,329 家品牌、479 萬 8225 名消費者,可能遭取得的資訊包括姓名、電話、配送地址、電子郵件及訂單紀錄,但不包含密碼、信用卡或其他支付資料。

除了影響規模,這起事件的調查歷程也值得關注。91APP 在 10/3 遭到入侵,隔天便接獲品牌反映消費者收到疑似詐騙訊息,卻直到 10/14 才確認攻擊軌跡與破口,並於當晚完成阻斷。為何從遭駭到確認入侵來源,前後相隔了 11 天?91APP 資安長林大維在記者會上還原了這段調查過程。

為何花了 11 天?91APP:被過去經驗限制了想法

根據 91APP 公布的時間軸,10/4 首次接獲品牌通報後,該團隊隨即展開調查,但由於詐騙訊息中的個資與平台、品牌端持有的資料部分不符,當時無法確認來源。10/7 再有 5 家品牌反映異常,91APP 升級調查,10/8 成立緊急應變小組,並決定委請外部資安團隊協助。直到 10/14,奧義智慧科技進駐深入調查,才確認攻擊軌跡與破口。

林大維坦言,這次調查耗時較長,與初期調查方向有關。他解釋,一筆電商訂單會經過多個節點,包括品牌端的操作電腦、訂單管理系統,以及 91APP 平台等。過去追查疑似訂單資料外洩時,團隊習慣優先檢查外部節點,這套方式多年來曾有不錯的成效,因此這次也沿用相同做法。

然而,這次真正的入侵來源卻位於 91APP 內部系統。團隊直到後續擴大內部環境調查,才掌握攻擊軌跡。林大維坦承,初期調查方向有誤,應該從一開始就同步檢查內、外部環境,而不是優先集中在外部節點。

調查進度也影響了品牌通知時機。何英圻表示,即使調查尚未完全釐清,91APP 也應更主動、及時向品牌說明,與品牌共同面對消費者疑慮。該公司先前也坦承,10/8 成立緊急應變小組時,就應同步提醒品牌。

從第三方工具到訂單資料庫,駭客是如何突破防線的?

根據 91APP 與奧義的調查,攻擊者透過一套未更新套件的內部效率工具 Appsmith 進入 91APP 內部網路,再從程式碼管理平台 GitLab 取得資料庫金鑰,進而非法存取 Commerce Cloud 的一座訂單資料庫。91APP 指出,調查發現 ARTEX AI 自動化攻擊工具的相關痕跡,並將此次事件歸因於使用該類工具的自動化攻擊。

這次事件不只涉及第三方工具未及時更新,也包括攻擊者取得內部金鑰後,得以進一步存取資料庫的問題。91APP 在調查報告中表示,防護與修補管理未跟上攻擊速度,是公司必須檢討之處。

91APP 接下來將如何改善資安防護?

針對這次事件,91APP 表示已移除遭利用的工具、更換系統金鑰與帳密、重新調整 GitLab 權限,並隔離測試與正式環境、限制主機與資料庫之間的網路連線。

在後續防護方面,91APP 提出三大改善方向。首先是推動零信任(Zero Trust)架構。林大維說明,過去的防護思路較偏重網路外部邊界,一旦攻擊者進入內部網路,就可能進一步接觸其他系統。未來將透過網路與應用程式微分段、最小權限及持續驗證,縮小不同系統間的存取範圍,降低攻擊者在內部橫向移動的風險。

其次是運用 AI 加快資安偵測與回應速度。相較過去較依賴人工定期掃描、檢查及修補,91APP 計劃透過 AI 持續監測異常、分析並自動回應,同時利用 AI 模擬攻擊,主動尋找系統弱點。林大維指出,自動化工具讓攻擊者能更快尋找入侵路徑,傳統固定週期的防護作業可能難以及時因應。

第三則是引入外部資安專家持續評估。91APP 表示,過去主要依靠內部團隊的經驗建立防護措施,未來希望透過第三方獨立檢測、評估及威脅情資交流,補足內部視角可能忽略的問題。

至於消費者後續處理,91APP 已向列入影響範圍的品牌發出通知,預計自 11/2 起,取得品牌授權後主動通知可能受影響的消費者,並統一受理諮詢及補償申請。根據 91APP,消費者不論是否已有財產損失,都可提出申請,但實際詐騙財損規模、補償總額,以及無財損者的具體補償方式,目前仍在調查、尚未確定。

【推薦閱讀】

◆ 誰負責、能碰什麼、出事誰喊停?Gartner:僅 13% 組織自認 AI 代理治理到位

◆ 找漏洞、寫修補的 AI 先給誰用?Gemini 4 Carbon 和 Anthropic、OpenAI 一樣採相似策略

◆ PHP 多年未解的漏洞為何現在才緊急修補?歐洲政府、醫院預防性停站,台灣資安署示警

*圖片來源:《TechOrange》拍攝