01.软件供应链 & 软件供应链攻击
伴随着网络和智能生活的发展,各种各样的电脑软件以及手机软件在我们的生活中扮演着越来越重要的角色。由于软件功能越来越复杂,适配平台越来越多,软件开发和运营方更倾向于使用第三方代码来实现某些专业功能,或使用第三方提供的集成开发工具进行软件的开发编译。这些第三方代码或者第三方集成开发工具由上游供应商开发,经中游分发,最后在下游被集成和使用,整体形成的链状结构被称为软件供应链。
相比于孤立地挖掘和利用漏洞,软件供应链攻击规模更大,影响也更深远。从过往案例的攻击细节不难看出,软件供应链攻击有隐蔽性强、影响面大两个基本属性。
众多案例表明,成功的软件供应链攻击一定会把自己的攻击属性隐藏得特别深。一方面,某些带有攻击性的代码会进行混淆处理,简单的审计无法发现其中隐藏的攻击代码;另一方面,有破坏性行为的代码可能在某个时间点通过热更新的方式进行下发;此外,攻击者如果控制了供应链软件签名的密钥,也会导致“官方”渠道更新的软件出现问题。
软件供应链上下游基本呈现“一对多”的供应关系,污染上游软件制品的攻击行为会隐藏到每一个下游集成的软件中去,通过扩散效应产生严重的影响。在典型的SolarWinds供应链攻击事件中,攻击者仅通过感染Orion一款工具,就能获得使用Cisco、Intel、Nvidia、VMWare等产品的众多网络和终端设备的日志数据、存储数据以及配置数据。当软件供应链攻击发生在移动侧时,其危害的扩散效应会更为明显。2018年“寄生推”事件影响的App多达300款,潜在影响用户超过2000万;2019年杭州某科技公司的恶意SDK被至少12款App集成,影响了至少1.11亿次的APP下载用户。
软件供应链攻击以更隐蔽的方式对攻击载荷进行分发和传播,理论上几乎可以带来所有传统攻击造成的危害。从近几年国内外典型事件来看,远程控制和窃取隐私是攻击者更青睐的攻击行为。
将被感染的服务器或终端变成远程控制的傀儡机是最大的一种潜在危害。当攻击者顺利通过供应链向攻击目标植入后门后,既可以横向渗透,造成大规模的破坏,也可以持续监控,精准打击高价值目标。基于远程控制手段,小到企业安全,大到国家安全,都会受到不同程度的影响。
随着移动终端上承载越来越多的短信记录、联系人信息、证件照、资金账号等个人隐私信息,隐私泄露在移动侧体现得尤为明显。攻击者只要通过攻击载荷具备对隐私信息进行读取的权限即可大量窃取用户的个人信息。
作为移动应用安全引领者的梆梆安全建议,对于软件开发和运营企业来说,移动软件的供应链管理活动应当与传统软件保持一致,在供应链软件(第三方组件和集成开发工具)的全生命周期执行好“组件维护、安全评估、风险处置、威胁监测”四个关键步骤。
建立和维护好供应链软件的清单,做好以“摸清家底”为目标的资产梳理工作。建议企业通过专业软件或者表格工具维护好供应链软件的清单,详细记录供应链软件的名称、版本、用途、来源、许可信息、唯一标识和校验值等信息,并在此基础上对来源做有效收敛,尽可能只信任官方来源或者一个私有来源,最大程度地降低源头污染带来的风险。
· 安全评估
· 风险处置
· 威胁监测
梆梆安全建议移动App通过集成探针的方式监测这类异常,基于人工智能的技术手段,动态建立第三方组件的正常行为特征画像,然后通过监控调用栈信息的方式基于PST模型分析和判断第三方组件在运行过程中是否存在异常的行为。