写点什么

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

  • 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:051630

评论

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

深入了解mock.js,打造出类似真实数据的模拟数据

Apifox

程序员 前端 前端开发 API Mock

软件测试 | Web自动化测试

测吧(北京)科技有限公司

测试

世界500强潍柴动力携手用友BIP全球司库打造资金管理系统,正式启动!

用友BIP

全球司库

阿里云 EMAS & 魔笔:5月产品动态

移动研发平台EMAS

阿里云 DevOps 消息推送 低代码平台

2023年数智人力管理不容错过的2大神器

用友BIP

人力资源 数智人力

TiDB 7.1 LTS 发版:为关键业务提供业务稳定性和多租户场景支持

编程猫

TiDB pingCAP

最强攻略 | 1分钟带你了解内测,成为BUG小能手!

百度Geek说

百度 测试 企业号 6 月 PK 榜 6 月 优质更文活动

苹果MR Vision Pro将会带动哪些零部件出货?

元器件秋姐

苹果 AR 交互 vr MR

赋能生态合作 共话数字创新 | 2023开放原子全球开源峰会软硬协同开源分论坛即将启幕

开放原子开源基金会

开源 开放原子全球开源峰会 开放原子 软硬协同开源

用户组是什么意思?怎么容易理解?有什么作用?

行云管家

运维 权限 用户组

让ChatGPT来写今年的高考作文,能得几分?

楚少AI

ChatGPT4 2023高考 ChatGPT写作

2022百度ESG报告发布:年度答卷展现安全信任承诺

百度安全

揭秘阿里云Flink智能诊断利器——Fllink Job Advisor

阿里云大数据AI技术

大数据 flink 企业号 6 月 PK 榜

黑盒不黑:跨端 C/C++ 库一键源码调试方案

阿里技术

调试

Mybatis的parameterType造成线程阻塞问题分析 | 京东云技术团队

京东科技开发者

mybatis CPU告警 企业号 6 月 PK 榜 线程阻塞

不愧是阿里P8出手的并发编程笔记!颠覆了我以往"正确"的认知

程序知音

Java 并发编程 java架构 Java进阶 后端技术

2022 中国开源创新大赛,时序数据库 TDengine 榜上有名

爱倒腾的程序员

涛思数据 时序数据库 ​TDengine

10分钟了解Kubernetes网络

俞凡

架构 Kubernetes 云原生

AI老师的作者:17岁的高中生,可能是你想要孩子成为的样子

无人之路

AI 教育 ChatGPT

GreptimeDB v0.3 正式发布|分布式能力全面提升

Greptime 格睿科技

数据库 rust 云原生 分布式数据库 时序数据库

软件测试 | Selenium验证页面元素

测吧(北京)科技有限公司

测试

主动发现系统稳定性缺陷:混沌工程 | 京东云技术团队

京东科技开发者

混沌工程 系统 系统工程 混沌工程实践 企业号 6 月 PK 榜

咸阳有没有等保测评机构?在哪里?怎么联系?

行云管家

等保 等保测评 等保测评机构 咸阳

NFTScan 成为 CMC 官方 NFT 数据合作伙伴

NFT Research

crypto NFT

技术赋能-混流编排功能,助力京东618直播重保 | 京东云技术团队

京东科技开发者

监控 直播技术 直播推流 企业号 6 月 PK 榜 重保

横空出世!京东技术专家狂推的Redis笔记,实战和原理两开花

程序知音

Java 数据库 redis Java进阶 后端技术

金融集团企业资金管理难度加倍,用友BIP如何破解这个难题?

用友BIP

资金管理

【Clickhouse】ReplaceingMergeTree引擎final实现合并去重探索 | 京东云技术团队

京东科技开发者

OLAP final clickhosue 企业号 6 月 PK 榜 合并去重

祝贺!Databend 入选 ICT 中国可信云优秀云原生创新案例

Databend

瞄准“量效”难题,百度营销创新推出大健康线索营销解决方案-医效通

说山水

Openjob 1.0.2 重磅发布,新一代分布式任务调度框架

stelin

分布式架构 Java 分布式

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