中国DevOps社区峰会2023·广州 为金融企业解锁下一代安全产品库 JFrog解决方案架构师-张鹏 目录 1 2 软件供应链安全背景 金融行业需求特点和实践案例分享 3JFrog解锁新一代供应链加速和安全功能特性 1.软件供应链安全背景 代码二进制文件 引入开发打包晋级分发部署运行 世界在OSS和第三方组件上运行贯穿SDLC的每个阶段 引入开发打包晋级分发部署运行 注入 恶意套餐 发现 0天 开发 CVE 偷 秘密 虐待 配置错误 篡改 二进制文件 攻击 生产 攻击面不断扩大 软件供应链攻击上涨100倍 开发者 是其明确目标 但他们厌倦了安全 3500 每月披露的CVE CVE的发布率正在增加 对开发和安全团队产生持续压力 3000 2500 2000 1500 1000 500 0 2020年7月 2020年08月 2020年9月 2020年10月 2020年11月 2020年12月 2021年01月 2021年02月 2021年3月 2021年4月 2021年05月 2021年06月 2021年7月 2021年08月 2021年9月 2021年10月 2021年11月 2021年12月 2022年01月 2022年02月 2022年3月 2022年4月 2022年5月 2022年6月 2022年7月 2022年8月 2022年9月 2022年10月 所有CVE 2022年11月 2022年12月 2023年01月 2023年02月 2023年3月 关键CVE 2023年4月 2023年5月 然而通用组件中的关键CVE 可以没有真正的安全影响 然而关键CVE 在通用组件中可以有没有真正的安全影响 在这个星球上每个使用互联网的人几乎每天都以某种方式使用了Curl 超过200亿安装 然而关键CVE 在通用组件中可以有没有真正的安全影响 都编好了。 争议 漫长的4天后…… 许多关键CVE 在常见的组件有 99%的情况下都不可利用 120,000个二进制文件 0个可利用的案例 当开发者陷入困境时,攻击者却想出了办法新的攻击 滥用二进制文件中的秘密泄露到公共存储库 阅读所有消息 阅读和修改源代码非公司账户 在公共存储库上 泄露超过25万个TOKEN 被JFrog检测到! 私人存储库 NPM恶意软件包报告 0 0 0 0 0 0 0 162 7000 6,561 恶意包攻击率在增加 600 500 400 300 200 100 2020年 上半年 2020年 下半年 2021年 上半年 2021年 下半年 2022年 上半年 2022年 下半年 2023年 上半年 机器学习模型? 又一个 恶意软件包! 机器学习模型可能会导致恶意代码执行 当开发人员/数据科学家加载时公共存储库 对于模型现在是一个目标这些恶意模型 看起来完全安全 在HuggingFace网站上 一个所谓的合法模型-只是数据,对吧? 然而,当模型加载时,恶意代码就会执行 将张量流导入为tf 从keras.preprocessing导入图像从keras.models导入 load_model导入numpyasnp #加载模型 模型=load_model('vgg16_light/tf_model.h5') 模型=load_model('vgg16_light/tf_model.h5') img=image.load_img("./cat.jpeg",target_size=(224,224))img=np.asarray(img) img=np.expand_dims(img,axis=0)输出=model.predict(img)if输出[0][0]>输出[0][1]:print("cat") 别的: 打印('狗') 如何执行?恶意代码隐藏在二进制数据中 AI软件包幻觉 1.问题 2.回复不存在的包 攻击者 开放人工智能 聊天GPT 3、发布恶意包 4.问题 5.回答带有恶意包名称 6.npm安装 7.恶意代码执行 包+存储库 开发者 攻击者正在利用 生成人工智能进行注入恶意软件包 现在,即使是生成人工智能也会引入安全漏洞! #编写一个从用户输入返回文件的端点@app.route("/file/<文件名>")def文件(文件名): 返回open(文件名,"r").read() 请求生成返回文件内容的端点 生成的代码容易受到路径遍历的影响- ?文件名=../../../../etc/passwd 请求生成安全端点也无济于事 返回open(normalized_path,"r").read() Normalized_path=os.path.normpath(文件名) defsecure_file(文件名): @app.route("/secure_file/<文件名>") 输入并防止目录遍历 #编写一个从用户返回文件的安全端点 还是脆弱…… 怎么样?文件名=/etc/passwd 2.金融行业需求特点和实践案例分享 金融行业制品库痛点 1,唯一可信来源容器 依赖交付物 办公软件/其他制品 2,安全 SCA 开源治理供应链风险 3,环境隔离 DMZ、开发、生产网络隔离 4,两地三中心容灾异地容灾SLA:99.999% 双活,异地多活 5,多中心分散 多开发环境环球团队 6,7*24技术支持,驻场服务定制服务 二开运维 DevOps成熟度评估 某银行案例 某银行案例 某证卷案例-唯一可信源需求 某证卷案例-制品可信治理 某证卷案例-快速定位影响范围 3.JFrog解锁新一代供应链加速和安全功能特性 JFrog安全方法 01010 1 00100 1 01001 0 快速发布-充满信任和信心 001001 安全研究驱动 面向开发者 专注于二进制 统一平台 SSC开始于 当有任何依赖包进入时 引入开发打包晋级分发部署运行 并结束于生产 如果你无法控制它 完全地 二进制文件 引入开发代码打包晋级分发部署运行 你无法保证它的安全完全地 CURATE OSS软件包数量大且无法控制 65K 20K 95K 15K5K GoPyPinpmNuGetMave n 引入使用依赖包安全吗? 恶意? 漏洞? 许可证?可维护? 软件供应链目前的方法 CURATE 引入开发 打包晋级分发 检测和应付 部署运行 JFROG JFrogCuration与Artifactory 远程仓库 ? 管理 引入CURATION 开发打包晋级分发 集中可见性和控制 第三方(OSS)软件包下载量 通过主动预防和阻止恶意和不需要的包,开发人员无阻碍地使用包 自动管理第3方包 为您的开发人员提供值得信赖的软件组件来源 改善DevSecOps体验并实现成本节约 在您的SDLC中实现无缝集成并减少后期修复 收益 WITHJFROGCURATION ? JFROGCURATION&ARTIFACTORY ADMIN 开发打包晋级分发 JFROGCURATION 现在解锁 jfrog.com/curation 支持的软件包即将推出 支持于 SAAS和私有化部署 支持的策略规则 恶意许可操作风险漏洞 95K 750K 新包新版本 开发者如何掌控? 500K 100K 15K 20K 125K 5K 200K 65K GoPyPinpmNuGetMave n 由JFrog安全研究和工程团队提供支持 010101 001001 010010 …… JFrog增强CVE信息 最新覆盖范围准确性 依赖关系许可证 OpenSSF记分卡 推荐修复版本 解锁 JFROGCATALOG JFROGCATALOG OSS软件包的“Google搜索” 可供开发人员、DevOps工程师、AppSec等使用。 应用与自动化通过GraphQL 一切都与数据有关 以及它如何跨多个用例集成 即将推出–私人目录 使用外部/私有源启用自定义属性 JFROGCATALOG 现在解锁 jfrog.com/catalog 支持的软件包 即将推出 支持于 网络应用程序+GRAPHQL支持 解锁 JFROGSAST JFROGSAST 现在解锁 Jfrog.com/xray 支持的技术 即将推出 平台支持 安全基础XRAY OPERATIONALRISKPOLICIES LICENCECLEARANCE MALICIOUSPACKAGEDETECTION SCA 高级安全JAS 已经于2022年10月发布 IACSECURITYANALYSIS MISCONFIGURATIONS SECRETSDETECTION CONTEXTUALANALYSIS SAST 解锁 SECURITYINSIGHTS 目前可用 ▪Artifact ▪Build ▪ReleaseBundle 即将推出 ▪Repository ▪Project 代码 `` 引入开发打包晋级分发部署运行 二进制文件 现在已经解锁 JFROGCURATION JFROGCATALOG JFROGSAST JFROGSECURITYINSIGHTS 源代码和二进制文件 第一方和第三方 代码二进制文件 引入开发打包晋级分发部署运行 Curation SAST Xray+高级安全JAS 敬请关注… 注入 恶意套餐 发现 0天 开发 CVE 偷 秘密 虐待 配置错误 篡改 二进制文件 攻击 生产 THANKS!