从最初想“摘果子”式地快速抓获恶意行为,到最后只能“守株待兔”地耐心等待异常出现,可信检测的实战思路正在悄悄发生改变。我们遭遇的第一道难题是黑样本极难被捕捉,机器学习在二维平面里或许能画出完美分割线,可现实世界要复杂得多,小概率事件往往像幽灵一样四处游荡。强模型也难免出现误判,这迫使我们放弃一劳永逸的幻想,转而寻找更灵活的策略。 具体来说,有两种主流思路:一种是直接摘黑样本,动作既快又准,但只要漏掉一个,CTO和CSO就得重新找工作。为了追求绝对安全,这种方式充满了赌徒心态;另一种是把大部分白样本踢出去。虽然理论上能解决漏报问题,但白样本基数太大,剔除不干净就会导致告警如潮水般涌来。运维值班台被恐惧与误报夹击,大家又不得不重新倒向摘黑样本的老路。 为了缓解这种心理恐惧,我们把旧思路用符号概括:“=”意味着等于某种特征就认为是异常;“!=”意味着不是某种特征才是异常。守株待兔式的策略给我们带来了新希望:把正常行为画成白名单,剩下的自然归入异常。关键在于定义“正常行为”:系统设计时的理论可信行为与实际触发的业务实际可信行为交集越小,检测就越精准。 理论可信行为A是系统规划时预留的接口和功能点;预期内行为A+B是A与实际已上线功能的并集;实际可信行为B是A与B的左交集;预期外行为C则是实际触发却不在预期内的路径。为了压缩C的范围,我们采取了交叉区域里的三把刀策略:如果C是正常业务就加白名单让B变大;如果C有攻击特征就联动防御终止事件;如果C性质模糊就人工复核。可信建模是场没有终点的马拉松,小步快跑、由粗到细才能不断压缩C。 XX系统作为研发查日志的工具存在PB级别的风险点。我们建立了预期内用户画像——研发owner和测试owner是基础群体;确定了查询范围——owner可查自家系统日志以及上下游链路;最后产出了预期外行为C清单。安全运营介入后研判出是正常排障就加白、是异常扫描就拦截、是模糊场景就复核。经过几轮迭代,预期外行为从山丘削成沙粒。 这种白名单策略虽然粒度粗却能成功检出黑名单遗漏的高危场景覆盖约50%威胁。理想状态是黑白名单1:1对称每新增一条黑名单就补一条白名单。然而维护成本也很高短期恐惧被高估长期成本被低估——这就是白名单的现实代价。 纵深防御采用3+1层检测网格把攻击者、数据、场景三维坐标化:第一层监控攻击者画像;第二层追溯数据存储;第三层覆盖应用系统;加白层处理合法异常让它们有路可走。四层咬合形成纵深防线威胁要想突破就得穿过多道锁。 组织协同需要把“需求”改成“要求”——过去提需求是“你们看着办”现在老板必须解决问题——一字之差态度天壤之别敢于提要求才能让事中响应不再走过场长期主义或许需要道歉但不敢迈出第一步风险永远收不拢。