阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

源代码审查能否成为国际惯例?

  • 2020-10-10
  • 本文字数:2401 字

    阅读完需:约 8 分钟

源代码审查能否成为国际惯例?

最近听说,TikTok 向澳大利亚政府表示,将允许澳政府官员审查其算法并测试源代码,这也在网上引起了热议。以此为契机,我想站在中国的立场上,谈谈开放源代码审查这件事的来龙去脉,从现状、风险和收益几个方面分析一下,看看它对我们到底是福还是祸。


我们先来看看现状。开放源代码给所在国政府审查这事儿,究竟有行业先例呢,还是无理要求呢?


事实上,早在 2003 年,全球软件业的巨无霸微软,就与中国信息安全测评中心签署了“政府安全计划”,中国也成为全球首批参与此计划的国家之一。2014 年 7 月,微软主动增强了“政府安全计划”,允许签约方访问在北京的“微软技术透明中心”并查看及测试微软产品和服务的源代码。而随着 Windows 10 政府版的落地,更是可以看出这种代码审查的正朝着良性互动的方向发展。在微软的示范作用下,IBM 也通过与世纪互联合作,在中国提供其 Bluemix 云计算平台,并开放其源代码审查。


在中国企业走出去的过程中,这样的代码审查也早有先例。在英国、澳大利亚等国,华为都已经建立了安全评估中心,提供 100%的源代码接受政府的审查,以应对部分持敌意者抛出的“军方背景论”。客观地说,这也是华为在欧洲等地区能够顺利发展壮大的重要原因之一。


在与中国无关的市场上,这样的事而也屡见不鲜。比如,思科、IBM 和 SAP 等欧美科技公司,正接受俄罗斯政府的要求,使其可以获得严格保密的产品源代码,以应对俄罗斯对其从事黑客活动的指控。而俄罗斯的卡巴斯基杀毒软件,也推出了一项全球透明度计划,从 2018 年第一季度开始,将软件源代码提交给更广泛的信息安全社区和其他利益相关者进行独立审查,以表明企业和任何间谍行为无关。


因此,从大背景来看,随着各国政府对信息安全和数据国境越来越重视,向政府开放代码审查,提供数据保护,已经成为不可避免的大趋势。


那么我们再来看看,TikTok 向澳洲政府开放源代码审查,有没有什么严重的风险呢?


首先,TikTok 虽然被称为“海外版抖音”,可是实际上,它们根本就是不同的两款应用。二者的用户和数据,体系也完全不相通,只是产品形态和界面有些相似罢了。根据 TikTok 全球首席安全官罗兰·克劳蒂尔(Roland Cloutier)的说法,TikTok 使用的源代码与中国国内的抖音源代码并不相同。因此,担心开放 TikTok 源码会对国内的抖音产品安全性带来威胁,有点杞人忧天了。


另外,值得特别提醒,这里所说的“开放源代码审查”,只是针对各国的相关政府部门,而非对商业公司或其他机构。在审查的方式上,是有资质的政府人员访问 TikTok 公司在美国洛杉矶的透明与问责中心,或通过虚拟参观的方式来审查算法并测试源代码,而并不能将源代码带走或修改。当然,如果澳洲政府能找个过目不忘的天才,把源代码一行不落地都背下来,回家再原样默写一遍,那算我没说。


其实,就算是真有人能默写出来,也只不过是一项行为艺术罢了。做过互联网的朋友,可能都或多或少有点概念:对这样的内容性产品来说,算法固然重要,但远远不如庞大的用户生态和丰富的数据更有价值。没有了数据,推荐算法毫无用户之地。以为学会源代码就想复制一个 TikTok,也就好比你带上了手套和护牙胶,就跳上拳击台准备和泰森一决雌雄一样可笑。


反而是微软向各国政府开放审查的 Windows 源代码,倒真是他的命根子。多少操作系统秘而不宣的武林秘籍,都可以在代码里一览无余。理论上讲,你只要把代码编译出来,手上就是活色生香刚出炉的 Windows,跟从微软哪里买到的正版,除了少个包装盒以外,没有任何差别。就算不是整体编译,找个高手瞧一瞧内核里的关键代码段,可能也能瞬间解决许多操作系统研发中过不去的坎儿。


于是,微软都还没担心,TikTok 用得着担心么?说句文言,这不是皇上不急太监急么?


所以依我的看法,及时向外国政府开放源代码审查,风险也相当有限,大可不必过于担心。不过,也许或有网友质问我,没有多大风险就要开放么?这不就认怂了么?这倒是问出了我想说的关键:从目前的博弈局面来看,TikTok 开放源代码审查,未必不是一件好事。


这话怎么说的呢?大家要认清这样的现实:在目前全世界的软件和互联网产业中,美国还是一骑绝尘的老大,大多数具有全球影响的软件和网络产品,都还是美国人的天下。虽然微软的 Windows、IBM 等少数企业向中国开放了源代码审查,可是还有很多大家耳熟能详的产品,比如 Office、iOS、Oracle 等等,并没有开放。也就是说,在这些软件和系统中,理论上说,还存在着恶意代码或者留有后门的可能性。


大家想想,中国有多少人在用 iPhone 手机?有多少台电脑上装有 Office?有多少银行的核心系统完全依赖 Oracle?而这些软件在背后做了些什么,我们都是一无所知的。所谓防人之心不可无,这样的现状,细想起来还是让人背后有一丝凉意的。


中国虽然有少数几个产品引起了美国人的注意,可是在这样的博弈局面下,其实还是光脚不怕穿鞋的。换句话说,如果中美之间能够达成这样的一种妥协:互相向对方政府开放源代码审查的权利,那么从信息安全的角度来看,受益者当然是中方无疑。


也就是说,开放源代码审查,从大方向上看,是符合中国利益的。虽然上面说的妥协显然不可能顺利达成,但是我们没有理由拒绝局面朝着这个方向发展。所以,反而应该利用好这次契机,在严格的安全保护机制下,向有关政府开放源代码审查的同时,坚决主张对那些在中国拥有大量个人或企业用户的外国软件和网络服务,也用对等的方式向中国政府开放源代码审查权力。


这么看下来,TikTok 开放源代码审查,虽然在网络上一石激起了千层浪,可是冷静下来分析一下,我认为一则不必过于担心,二则很可能反而是个有利的机会。希望国家有关部门利用此次契机行动起来,在此案例的基础上,探索全球通用的软件安全审查模式,用制度化的方式打破跨国巨头们在中国的代码和信息垄断,一劳永逸地解决数字国境上的安全问题。


作者介绍


北冥乘海生,清华大学信息与通信工程博士、《计算广告》作者。


本文转载自知乎


原文链接


源代码审查能否成为国际惯例?


2020-10-10 10:051491

评论

发布
暂无评论
发现更多内容

SpringMVC常用注解

@下一站

软件开发 程序 Java‘’ 11月月更

关于不法分子冒用我司名义虚假招聘的严正声明

嘉为蓝鲸

重磅 | 九科信息与达梦完成产品兼容性认证,携手共建信创生态

九科Ninetech

跟误告警说再见,Smart Metrics 帮你用算法配告警

阿里巴巴云原生

阿里云 云原生 Grafana

三年后端开发:拿下阿里/腾讯/美团等四个大厂的Offer后,总结如下

钟奕礼

Java Java 面试 程序员‘ java 编程

阿里云洛神云网络集中式网关丨技术解读与产品实践

云布道师

云网络

MyBatis resultMap元素的用途是什么呢?

@下一站

技术 mybatis java; 11月月更

aPaaS是什么(aPaaS与iPaaS的区别)

优秀

aPaaS ipaas

图计算的黄金时代 知识图谱背后的数据价值

Neo4j 图无处不在

neo4j 图数据库 知识图谱 图计算 图技术

构建基于 Ingress 的全链路灰度能力

阿里巴巴云原生

阿里云 微服务 云原生w

10 个杀手级的 Python 自动化脚

千锋IT教育

RocketMQ 的消费者类型详解与最佳实践

阿里巴巴云原生

阿里云 RocketMQ 云原生

2023 重学 Angular

PingCode研发中心

前端框架

SpringBoot:四种读取properties文件的方式

@下一站

程序设计 软件开发 springboot 11月月更

Python操作Numpy模块

度假的小鱼

Numpy 11月月更 Python操作Numpy模块库

springboot整合canal

@下一站

Java 程序开发 spring-boot 11月月更

Spring MVC 和 Struts 的区别是什么?

千锋IT教育

Python 操作pdf(pdfplumber读取PDF写入Exce)

度假的小鱼

11月月更 Python 操作pdf文件 pdfplumber

2022年中国在线视频用户观看行为洞察

易观分析

视频 报告 用户

企业想要高效运营,还需要选择瓴羊Quick BI软件

流量猫猫头

大数据

ModelWhale 教学实训模块,更流畅的作业编写及提交体验|ModelWhale 版本更新

ModelWhale

人工智能 机器学习 数据分析 编程建模 教学实训

Lattice - 面向高可扩展的业务框架

原力在线

架构 中台 插件 lattice 业务平台分离

8年程序员年初被迫毕业,前后面试30家公司,如今终于上岸

Java永远的神

程序人生 后端 java程序员 java面试 面经分享

精彩回顾 | 云原生系统软件的产业应用

BoCloud博云

云原生

MegEngine Inference 卷积优化之 Im2col 和 winograd 优化

MegEngineBot

深度学习框架 卷积 MegEngine

基于云原生技术的融合通信是如何实现的?

阿里云视频云

阿里云 云通信

SAP MM 使用两个STO实现免关税跨国公司间转储

SAP虾客

火爆全球的“饺子皮”3D手办原来是这样做的!关键时刻少不了远程控制软件!

RayLink远程工具

远程控制软件 远程办公软件 远控软件 远程桌面连接 RayLink

新课程发布 | 如何用 7 分钟击破 Serverless 落地难点?

阿里巴巴云原生

阿里云 Serverless 云原生

Python基础库-正则表达式库

度假的小鱼

正则 11月月更 Python正则表达式库

10月&11月书单

图灵社区

书单推荐

源代码审查能否成为国际惯例?_软件工程_北冥乘海生_InfoQ精选文章