抖音建了应用商店,想和华米OV分一杯羹?

大伙平时都会用什么方式来下载安装手机App?

小雷自己本来就喜欢折腾各类软件,所以获取App的渠道也比较丰富。

首先是机圈比较有名的第三方应用商店+玩机社区酷安。

酷安做App收录已有多年,虽然这几年逐步转型,商业化突突加速,被很多老哥诟病为“小绿书”。

但不得不承认,它确实为很多独立开发者,提供了免费且流量不错的App上架渠道,App榜单利益相关性也没那么强。

像是浏览器界的简洁代表“Via”和广受好评的跳广告工具“李跳跳”,都是从酷安开始发家的。

如果大伙有耐心,确实能从里面蹲到不少好软件。

其次呢,小雷还会去开源应用商店F-Droid那逛逛,里面全是免费开源的App,简直是宝藏圣地。

App开源的好处有很多,比如代码完全公开,安全性有所保证;

没有商业利益掺杂,目的纯粹,只为解决某个具体问题而生。

图源:F-Droid

当然,这只是小雷自己挖掘App的渠道。

对于大多数用户来说,下载App最常用的,还是手机自带应用商店

像是目前国内主流的华米OV,海外的苹果三星,皆有自建的应用商店。

左:华为应用商店丨右:小米应用商店

不过,要是让小雷来总结手机自带应用商店有啥共性。

那大概是,他们的商业属性都很浓厚,也很赚钱。

如果做得好,还能筑起一条牢固的流量护城,让用户想起下载App,就会自觉来某个商店下载。

既然能赚钱,喜欢搞全家桶的巨头,自然不会放过这条路子。

今天小雷就看到@Tech星球的消息,说是抖音App内上线了一个名为“应用中心”的功能。

图源:微博@Tech星球

在【应用中心】分区里面,可以下载产品和游戏。

像是拼多多、美团和淘宝等主流App都能找到,不过整体收录数还是比较少,作为刚推出的功能也属正常。

而且只有安卓端能够使用,iOS依然一家独大,App Store以外寸草不生。

图源:新浪科技

可能大伙还不了解啊,在此之前,抖音已经把电商、团购、电影和音乐都塞进自家生态里了。

这次又把脖子一扭,看向了远处的应用市场,步伐是一次比一次激进。

要是这事儿做成了,抖音真就成了啥都能干的超级App…

图源:抖音

不过问题来了,移动应用市场发展那么多年,话语权基本被手机厂商给拿捏住了。

厂商们对第三方应用市场的打压,也是拳拳到肉。

除了酷安早早转型活了下来,像是91手机助手和手机乐园等第三方应用市场,坟头草都有三米高啦…

图源:微信@百度手机助手开发者

那抖音作为一个短视频起家的App,在里面塞个“应用中心”真能成吗?

而且如今各家应用商店都筑起高墙,流量只进不出,无疑让抖音做成这件事儿的难度变得更高了。

既然困难重重,抖音为啥还要头铁做应用市场?

小雷认为,有一个很客观的原因是,把应用商店做成了真的很赚钱。

就拿做得最好的App Store来说,它在2021年上半年的收入,就达到了415亿美元,赚麻了。

软件服务的投入成本,本就没有硬件高,真就毛利率高,事情又少。

图源:sensortower

而应用商店的收入构成也不复杂。

主要是App付费订阅抽成、App排名竞价费用、App曝光广告收费和游戏抽成。

以果子哥的App Store来说,订阅费和游戏抽成这两部分是最赚钱的。

图源:Apple

咱们再看看果子哥2022年第一季度的财报数据。

里面有一张图,能非常直观地看出苹果各个业务的收入构成。

其中软件服务这一块,在苹果总营收里占比20.4%,比iPad和Mac两个硬件产品收入加起来都高。

虽然软件服务不只有App Store,还有云服务和音乐订阅付费啥的。

但App Store绝对是软件服务里,收入贡献最大的那一个。

图源:苹果2022Q1财报

至于国内的华米OV和腾讯等应用商店,小雷没查到详细的收入数据。

但据我所知,在抽成比例方面,国内的应用商店比苹果还要高上一截。

苹果App Store抽成30%,已经让开发者们接连叫苦了,反对高额抽成的声音也没断过。

连游戏巨头兼游戏慈善家Epic,去年都因为抽成的事儿,和苹果打得头破血流。

图源:Google

既然苹果抽三成,都让开发者和公司们意见这么大。

那国内的应用商店,是不是就不敢抽成太高了呢?

和咱们想象的不一样,国内安卓应用商店的抽成反而更高,平均抽成有个50%左右了。

小雷也去网上整理了一下,在这列一些数据给大家参考。

App Store:正常30%,中小型开发者15%

Google Play商店抽成:全员15%

华为:30 – 50%

小米:30 – 50%

作为应用商店标杆的苹果和谷歌商店,抽成还没国内那几家贵,看着就很离谱。

连网易CEO丁磊都在去年吐槽过:中国的安卓抽成全世界最贵。

图源:环球网

人家公开吐槽也不无道理,毕竟网易也是做游戏的。

游戏商发行游戏的时候为了便于分发,往往会和国内各家手机厂商合作,并把游戏上架到他们的应用商店上。

但想要上架成功,就必须同意手机厂商们的“五五分成”条件。

你游戏赚10块钱,就得上交5块钱到我这儿,一边交钱,一边给渠道流量支持。

对了,手机厂商几年前联合成立的硬核联盟,就是奔着高额游戏抽成去的。

硬核联盟也控制了主流的应用上架渠道,你不舍得交50%分成,就会失去大量市场。

So,很多游戏发行商再三考虑后,都会同意和安卓分发渠道五五分成。

图源:硬核联盟

以上说了那么多,大伙都了解到应用商店的盈利模式了。

假如抖音的【应用中心】真能做出一定体量,甚至做成一个游戏分发渠道,那也能获得不错的收入。

再往深一点说,抖音也许是想牢牢地抓住用户,提高App的用户量和使用时长。

现在抖音已经有这样的趋势了,很多网友会在抖音追剧、搜索热点和网购。

但在几大主流应用渠道近乎垄断的包夹下,抖音真能盘活这块地儿吗?

难度是客观存在的,现在手机厂商都用上了各种招数来打击第三方应用商店。

就比如,你不可能在手机的应用商店上,搜到腾讯家的应用宝。

要是头铁去搜,手机还会提醒你:“用咱家自带的应用商店安装App,会更加安全稳定哦”。

图源:手机截图

即使再退一步,我们自己从网上下载App来安装,也没办法躲过手机安装器的围追拦堵。

第一步,先是默认禁止“第三方来源”的安装请求,实在想安装,还得再点“本次安装”。

图源:手机截图

第二步,来到安装界面,排在最顶部的按钮,仍会把你导流到手机自带应用商店。

总之厂商搞这么多幺蛾子,就是想告诉用户,想下载App就请认准自家商店。

图源:手机截图

理论上来说,抖音真下了决心去做应用分发渠道,手机厂商也有很多种方式去阻止。

但咱们也不能否认,抖音作为短视频App的流量也很大,人家日活量都超过六亿了。

手机厂商也不可能,为了阻止抖音发展应用渠道,强行把抖音从自家应用商店下架。

毕竟下架第三方应用商店,对用户可能是不痛不痒,但要是下架抖音,指定会被网友们集体冲烂。

而且抖音还能以低抽成,甚至前期无抽成作为卖点,吸引开发者们前来入驻。

省流总结一波,抖音想做把【应用中心】做起来,难度确实很高,但自家的流量优势依然很大。

如果前期能给予开发者优惠或免费的流量扶持,我相信开发者们是愿意来这玩的。

不过从普通用户的角度来看,是看着又一个超级App要养成,心里不是滋味啊。

咱们本就不宽裕的手机存储空间,又得迎来雪上加霜。

谷歌开源芯片升级90nm免费帮助您构建

半导体行业是个烧钱的活,不仅生产制造需要大量投资,芯片设计也同样费钱,谷歌之前推出了一个开源芯片计划Open MPW Shuttle Program,130nm工艺的芯片可以免费制造,日前该计划升级,90nm工艺的芯片也能免费了。

谷歌早在2020年就推出了一个芯片开源计划,与半导体制造厂商Skywater合作赞助了Open MPW Shuttle Program,将芯片设计中的PDK开发套件完全开源、免费。

在这个项目中,网友可以随意提交芯片设计,充分利用开源的EDA、PDK等工具开发自己需要的芯片,谷歌则会负责免费制造芯片。

之前免费制造的工艺是SKY130,也就是130nm工艺,现在谷歌已经升级到了SKY90-FD,这是一种90nm FDSOI工艺,比传统的Bulk工艺性能更好,开发者可以基于该工艺设计更好的90nm芯片,谷歌依然免费帮你制造。

两年来,谷歌的芯片开源计划一共开展了六轮,已经从超过364个社区提交的设计中选出并制造了240个设计。

5个免费和开源的利基浏览器共享,秘密而强大

工作中,有些时候,我们需要多个浏览器,我们都知道一些官方的浏览器,如Chrome,Google 浏览器;Internet Explorer,微软浏览器;Safari,苹果浏览器等,还有经常会出现的360浏览器、搜狗浏览器。不过今天我们不说这些,今天给大家推荐几款免费开源的浏览器,少一点套路,干净简单。

01 LibreWolf

https://librewolf.net/

最好的跨平台开源浏览器,是Firefox的一个独立分支,主要目标是隐私、安全和用户自由,它通过删除遥测和添加其他功能来关注用户隐私和安全。支持 Windows、macOS、Linux。

该浏览器能够增强对跟踪和指纹技术的保护,它消除所有遥测、数据收集以及禁用 DRM等反自由功能,以确保你摆脱网上的跟踪器,获得安全的在线体验。

02 Viper Browser

https://github.com/LeFroid/Viper-Browser

基于Qt5框架构建的功能强大的轻重量级开源浏览器,简单易用,采用QtWebEngine,专注于提供添加不同广告拦截选项和安全选项来增强您的隐私。

你可以用它管理cookie、设置多个预设选项、添加用户脚本、添加新的用户代理、防止图像加载等。

03 Browserosaurus

https://browserosaurus.com/

一款macOS上的第三方开源浏览器提示器,主要工作原理是将其设置成默认浏览器后,非浏览器应用程序中的任何点击链接现在都会发送到Browserosaurus,之后用户就会看到所有已安装浏览器的菜单,然后选择要继续打开链接的应用程序。

简单来说,当你要点击一个浏览器外的链接时,将会弹出Browserosaurus选择器,选择你想要打开的浏览器即可。

04 Vimium C

https://github.com/gdh1995/vimium-c

全键盘增强类浏览器扩展,支持多种多样的命令,可以基于当前键盘焦点处的页面元素来触发不同的命令。支持网页常用操作、浏览器标签设置、浏览器地址栏的搜索等功能。

Vimium C具有完善的安全机制,可及时清理使用痕迹,执行命令期间的文字输入、操作结果等都会被很快丢弃,可以关闭“借助浏览器账号同步扩展配置”的功能,且此同步功能不会同步页内查找历史等信息。

05 Markdown-Slide

https://online-ppt-education.gitee.io/markdownslide/

一个借助于前端静态界面和浏览器功能创建的一个用于教育的快速自动编排幻灯片软件,在浏览器上展示的PPT,也可以打开本地的幻灯片进行展示。

使用markdown编写幻灯片内容,markdown文本中使用左右各不少于3个作为分割页,中间可以写页码或单词,播放时中间的文本作为播放容器的class,通过该单词可控制每页的样式。

你的浏览器有没有想过要换一换,离开大众浏览器后,有没有发现自己秒变大神?

“心碎”之后,华为的新消息传出,谷歌:后悔当初的决定

曾经在非智能机时代,大家经常使用的手机系统有塞班系统、黑莓系统、MTK、MOTO等等很多系统,甚至都是手机厂商自己开发的,并不提供开源系统。而如今到了智能手机时代,大家平时使用的手机系统就有了“翻天覆地”的变化了,只有苹果的iOS系统和谷歌的安卓系统。

苹果的iOS系统虽然是独占系统,但是凭借着苹果产品的普及度,也是跃居全球手机操作系统的第二名,而谷歌的安卓系统,则是凭借着开源的特点,成为了全球第一大手机操作系统,现在人们的手机如果不是iphone的话,那大概率就是安卓系统了。

但是,你说你做系统你就好好做,开源之后靠谷歌服务获取利益回报也是可以理解的,但是靠自己的系统去限制手机厂商的发展,那就是“不道德”的事情了。但是就是这种事情,却发生在了全球第一大普及度的谷歌安卓系统上。

美方试图从5G订单、芯片代工和手机操作系统上,全面限制华为手机和通讯业务发展,可以说无所不有其极。它们要求谷歌停止在华为手机上的安卓系统更新服务,也就是说华为以后就不能使用最新的安卓系统了,除了这一点之外,还要求谷歌停掉服务。

这个对于国内来说影响还好,但是在国际市场上来说,如果谷歌停掉了相关服务,那么搭载到华为手机中的安卓系统,几乎就没用了,连最简单的地图都不能使用,所有的软件都无法更新,登录不进去谷歌的应用商店。这无疑是对华为全球手机销量来说是致命的打击。

华为的反击

就手机操作系统来说,华为才是打了一场非常漂亮的仗。甚至让美国都没有想到的是,前脚刚让谷歌同意用安卓系统限制华为,后脚华为就推出了自己旗下的鸿蒙操作系统,并表示通过测试后,会推送给每一台华为手机上,并且以后将不会再有谷歌服务了,取而代之的是HMS服务。

简而言之,有了鸿蒙系统之后,华为将在以后的新机和现有手机的保有量上,占据非常大的系统优势,进军全球第三大手机操作系统,通过华为自己的HMS服务,在国际市场上也可以使用,与安卓系统没有半点关系了。

华为的“划清界限”

鸿蒙2.0系统推送之后,很多人都在质疑华为就是安卓“换皮”,其实本质还是安卓系统。但其实这样想是错误的,首先两种系统在底层开发的架构就完全不一样,所以也就不存在“换皮”这么一说了,如果真的说底层架构一样的话,那也应该是MIUI系统,这种基于安卓系统底层架构上再进行开发的系统。

这次华为新消息爆出,随着鸿蒙3.0系统的即将发布,我们也可以看到这次华为鸿蒙系统要彻底与谷歌的安卓系统“划清界限”,因为当初在进行鸿蒙系统研发的时候,就没有想到会出现系统制裁的情况,所以使用了一些安卓的开源代码,所以才让很多人觉得用着很像安卓。

而这次鸿蒙3.0系统就完全剔除了安卓的开源代码,并且自己研发了一套仓颉编程语言,有了这套编程语言,不仅开发者会从中获益,更好的推出鸿蒙相关的操作软件,而且华为也不再怕系统被限制的问题了。

最后,我们就可以看到,现在的谷歌很后悔之前做的决定,目前华为的鸿蒙系统已经有4亿多的保有量了,而且还在不断上升,失去这么大的市场,也是它们没有想到的,如今在想有所变数,也是基本不可能的了,谷歌想回到当初,已经不可能了,更让谷歌扎“心”的是如今的鸿蒙3.0系统在各方面都要比安卓系统更为先进。

谷歌开始发布一系列开源软件库

5 月 17 日,谷歌推出了一项新计划,该计划向谷歌云用户策划并提供经过安全审查的开源包选项,以保护开源软件供应链。该公司在一篇 博文中宣布了这项名为 “安心开源软件Assured Open Source Software” 的新服务。在博文中,谷歌云安全和隐私部门产品经理 Andy Chang 强调了保障开源软件的一些问题,并强调了谷歌对开源的承诺。

“开发者社区、企业及政府对软件供应链风险的意识越来越强,”Chang 写道,并以去年的 log4j 重大漏洞为例。“谷歌仍是开源代码最大的维护者、贡献者和使用者之一,并深入参与了帮助开源软件生态系统更加安全的工作。”

据谷歌称,“安心开源软件”服务将让云客户能够访问谷歌的大量软件审计知识。另据其称,所有通过该服务提供的开源软件包也在公司内部使用,该公司会定期检查和分析其漏洞。

谷歌目前正在审核的 550 个重要开源库的清单可以在 GitHub上找到。虽然这些库都可以独立于谷歌下载,但该计划将呈现通过谷歌云提供的审核版本,防止开发者破坏广泛使用的开放源码库。这项服务现在处于预先体验阶段,将在 2022 年第三季度准备好进行更广泛的消费者测试。

谷歌的声明只是广大行业努力加强开源软件供应链的安全的一部分,这份努力得到了拜登政府的支持。今年 1 月,美国国土安全部和美国网络安全与基础设施安全局的代表与美国一些主要 IT 公司的高管会面,研究 log4j 漏洞之后的开源软件安全问题。此后,有关公司在最近的一次峰会上承诺提供超过 3000 万美元的资金,以改善开源软件的安全问题。

除了现金,谷歌还在投入工程时间来确保供应链的安全。该公司已宣布发展一个“开源维护小组Open Source Maintenance Crew”,该团队将与库维护人员合作以提高安全性。

via: https://www.opensourceforu.com/2022/05/google-to-start-distributing-a-collection-of-open-source-software-libraries/

作者:Laveesh Kocher选题:lkxed译者:beamrolling校对:wxy

本文由 LCTT原创编译,Linux中国荣誉推出

谷歌内部开源组件的风险治理框架和工作流程

年后第一篇,有点懒,实际上是翻译人家Google写出来的文章,读完之后确实对现在的工作有些新的理解。

执行摘要:

开源软件的安全性理所当然地引起了业界的关注,但是解决方案需要就执行过程中的挑战和合作达成共识。问题很复杂,涉及的方面很多:供应链,依赖管理,身份和构建管道。当问题得到妥善解决时,解决方案就会变得更快。我们为行业如何考虑开放源代码和具体领域中的漏洞提出了一个框架(“了解,预防,修复”),首先要解决的问题包括:

  • 关于元数据和身份标准的共识:我们需要就基础知识达成共识,以解决作为一个行业的这些复杂问题。关于元数据详细信息和身份的协议将实现自动化,减少软件更新所需的工作并最大程度地减少漏洞的影响。
  • 提高关键软件的透明度和审计:对于对安全至关重要的软件,我们需要就确保充分审计,避免单方面更改并透明地产生定义明确,可验证的正式版本的开发流程达成共识。

提出以下框架和目标,旨在引发业界范围内对开源软件安全性的讨论和进步。

由于最近发生的事件,软件界对供应链攻击的实际风险有了更深入的了解。开源软件在安全方面应降低风险,因为所有代码和依赖项都是公开的,可用于检查和验证。尽管这通常是正确的,但它假设人们实际上正在看。由于存在如此多的依赖关系,因此监视所有这些依赖关系是不切实际的,而且许多开源软件包的维护也不好。

程序直接或间接依赖于数千个程序包和库是很常见的。例如,Kubernetes现在依赖大约1,000个软件包。与封闭源相比,开放源可能会更多地使用依赖项,并且供应商范围更广。需要信任的不同实体的数量可能非常高。这使得很难理解产品中如何使用开源以及哪些漏洞可能是相关的。也不能保证所构建的内容与源代码匹配。

退后一步,尽管供应链攻击是一种风险,但绝大多数漏洞是世俗的和无意识的-善意的开发人员犯了诚实的错误。此外,不良行为者更有可能利用已知漏洞而不是找到自己的漏洞:这很容易。因此,我们必须专注于进行根本性更改以解决大多数漏洞,因为这样做将使整个行业在解决复杂情况(包括供应链攻击)方面也向前迈进了一步。

很少有组织可以验证他们使用的所有软件包,更不用说对那些软件包的所有更新了。在当前情况下,跟踪这些程序包需要大量的基础架构和大量的人工。在Google,我们拥有这些资源,并竭尽全力来管理我们使用的开源程序包-包括对内部使用的所有开源程序包进行私有回购-跟踪所有更新仍然是一项挑战。庞大的更新流程令人生畏。任何解决方案的核心部分都将是更高的自动化程度,这将是2021年及以后我们开源安全工作的关键主题。

由于这是一个需要行业合作的复杂问题,因此我们的目的是将对话重点放在具体目标上。 Google与他人共同创立了OpenSSF,以此作为合作的重点,但要取得进展,我们需要整个行业的参与,并就问题所在以及如何解决这些问题达成共识。为使讨论开始,我们提出了解决此问题的一种方法,并提出了一系列具体目标,希望这些目标可以加快整个行业的解决方案。

我们建议将挑战划分为三个主要独立的问题领域,每个领域都有具体的目标:

1.了解您软件中的漏洞

2.防止增加新的漏洞,并且

3.修复或消除漏洞。

对确保供应链至关重要的一个相关但独立的问题是提高开发过程的安全性。我们在第四部分“关键软件的预防”中概述了此问题的挑战并提出了目标。

了解您的漏洞

出于多种原因,知道您的漏洞比预期的要难。尽管存在报告漏洞的机制,但很难知道它们是否确实影响您所使用的特定版本的软件。

目标 1:精确的漏洞数据

首先,至关重要的是从所有可用数据源中捕获精确的漏洞元数据。例如,了解哪个版本引入了漏洞可以帮助确定某个软件是否受到了影响,而知道何时对其进行了修复,则可以准确,及时地进行修补(并减少了潜在的利用范围)。理想情况下,此分类工作流程应是自动化的。其次,大多数漏洞都在您的依赖项中,而不是您直接编写或控制的代码中。因此,即使您的代码没有更改,漏洞也可能持续不断地流失:某些漏洞得到修复,而另一些漏洞得到了补充。

目标2:漏洞数据库的标准架构

需要基础结构和行业标准来跟踪和维护开源漏洞,了解其后果并管理其缓解措施。标准漏洞架构将允许通用工具跨多个漏洞数据库工作并简化跟踪任务,尤其是当漏洞涉及多种语言或子系统时。

目标3:准确跟踪依赖关系

需要更好的工具来快速了解哪些软件受到新发现的漏洞的影响,该问题因大型依赖树的规模和动态性质而变得更加棘手。由于只有通过安装程序才能提供用于版本解析的软件,因此当前的做法通常也很难准确地预测使用哪些版本而不进行实际安装。在这里解释一下防止新漏洞:理想的情况是防止漏洞的产生,尽管测试和分析工具可以提供帮助,但预防始终是一个难题。 在这里,我们关注两个特定方面:决定新的依赖关系时要了解风险和改善关键软件的开发流程

目标4:了解新依赖的风险

第一类实质上是在您决定使用软件包时了解漏洞。承担新的依赖关系具有固有的风险,因此需要做出明智的决定。一旦有了依赖项,通常随着时间的推移就变得很难删除。了解漏洞是一个不错的开始,但是我们可以做更多的事情。许多漏洞是由于缺乏软件开发流程中的安全性最佳实践而引起的。所有贡献者都使用两因素身份验证(2FA)吗?项目是否具有持续集成设置并正在运行测试?模糊集成了吗?这些类型的安全检查可帮助消费者了解新依赖关系带来的风险。 “分数”低的软件包需要进行仔细的审查,并制定补救计划。OpenSSF最近宣布的“安全计分卡”项目试图以完全自动化的方式生成这些数据点。使用记分卡还可以帮助抵御流行的抢注攻击(名称与流行软件包相似的恶意软件包),因为它们的得分要低得多,并且无法通过许多安全检查。改进关键软件的开发流程与漏洞预防有关,但值得在我们的帖子中进行进一步的讨论。

修复或删除漏洞

解决漏洞的一般问题超出了我们的范围,但是对于管理软件依赖项中的漏洞这一特定问题,我们可以做很多事情。今天,在这方面几乎没有帮助,但是随着我们提高精度,有必要对新的流程和工具进行投资。当然,一种选择是直接修复漏洞。如果您可以通过向后兼容的方式执行此操作,则该修补程序适用于所有人。但是一个挑战是,您不太可能在问题上没有专业知识,也不太可能具有直接进行更改的能力。修复漏洞还假定软件维护者知道此问题,并拥有披露漏洞的知识和资源。相反,如果仅删除包含该漏洞的依赖项,那么它对您和导入或使用您的软件的依赖项是固定的,但不适用于其他任何人。这是您直接控制的更改。这些方案代表了软件与漏洞之间的依赖关系链的两端,但是实际上,可以有许多中间包。人们普遍希望依赖关系链中的某个人能够解决它。不幸的是,仅修复链接是不够的:您和漏洞之间的依赖关系链的每个链接都需要更新,然后才能修复软件。每个链接都必须在其下面包含事物的固定版本,以清除漏洞。因此,除非需要完全消除依赖关系,否则更新需要自下而上进行,因为依赖关系可能需要类似的英雄技巧,而且几乎不可能实现,但这是最好的解决方案。

目标5:了解消除漏洞的选择

今天,我们在这个过程中缺乏明确性:其他人已经取得了什么进展,应该在什么级别上应用什么升级?流程卡在哪里?谁负责修复漏洞本身?谁负责传播此修补程序?

目标6:通知以加快维修速度

最终,您的依赖关系将得到修复,您可以在本地升级到新版本。了解何时发生是一个重要的目标,因为它可以加快减少漏洞暴露的风险。我们还需要一个通知系统来实际发现漏洞;通常,新漏洞表示即使实际代码未更改,新发现的潜在问题(例如Unix实用程序sudo中已有10年历史的漏洞)。对于大型项目,大多数此类问题将出现在间接依赖关系中。今天,我们缺乏做好通知所需的精度,但是随着我们提高漏洞的准确性和元数据(如上所述)的同时,我们也应该推动通知。

到目前为止,我们仅描述了一种简单的情况:一系列向后兼容的升级,这意味着除了没有漏洞之外,其行为是相同的。实际上,升级通常不向后兼容,或者被限制性版本要求所阻止。这些问题意味着更新依赖关系树深处的程序包必须在其上面的内容中造成一些混乱,或至少导致需求更新。这种情况是在对最新版本(例如1.3)进行修复后出现的,但是您的软件或中间软件包要求1.2。我们经常看到这种情况,但这仍然是一个很大的挑战,因为很难使所有者更新中间包,这使挑战变得更加艰巨。而且,如果您在数千个地方使用软件包,这对于大型企业来说并不疯狂,那么您可能需要经历一千次更新过程.

目标7:修复广泛使用的版本

修复较旧版本中的漏洞也很重要,尤其是那些经常使用的漏洞。对于具有长期支持的软件子集,这种修复是常见的做法,但是理想情况下,应该修复所有广泛使用的版本,尤其是对于安全风险。自动化可能会有所帮助:给定一个版本的修复程序,也许我们可以为其他版本生成良好的候选程序修复程序。今天有时有时会手动完成此过程,但是如果我们可以大大简化此过程,则实际上会打补丁更多的版本,并且在链中进行更高工作的工作将更少。总而言之,我们需要更容易,更及时地解决漏洞,尤其是依赖项中的漏洞。我们需要增加针对广泛使用的版本(不仅限于最新版本)进行修复的机会,由于其包含的其他更改,通常很难采用该修复程序。最后,“修复”方面还有许多其他选择,包括各种缓解措施,例如避免某些方法,或通过沙盒或访问控制来限制风险。这些是重要的实用选项,需要更多讨论和支持。

预防关键软件

上面的框架广泛地适用于漏洞,无论它们是由于不良行为所致还是仅仅是无辜的错误。尽管建议的目标涵盖了大多数漏洞,但不足以防止恶意行为。为了对预防不良行为者(包括供应链攻击)产生有意义的影响,我们需要改进用于开发的流程。

这是一项艰巨的任务,目前对于大多数开放源代码来说都是不现实的。开源之所以具有美感,部分原因在于它对流程的缺乏约束,这鼓励了广泛的贡献者。但是,这种灵活性可能会妨碍安全性考虑。我们需要贡献者,但是我们不能期望每个人都同样关注安全性。相反,我们必须确定关键软件包并加以保护。这样的关键软件包必须遵守一系列更高的开发标准,即使这可能会增加开发人员的摩擦。

目标8:确定符合更高标准的“关键”开源项目的标准

重要的是要确定我们都依赖的“关键”软件包,这些软件包的危害将危及关键基础架构或用户隐私。这些软件包必须保持较高的标准,我们在下面概述了其中的一些标准。如何定义“关键”还不是很明显,该定义可能会随着时间的流逝而扩展。除了诸如OpenSSL或密钥加密库之类的明显软件之外,还有广泛使用的软件包,其绝对功能使它们值得保护。我们启动了Criticality Score项目,以与社区集体讨论该问题,并与哈佛大学就开源普查工作进行合作。

目标9:关键软件无单方面更改

我们在Google上遵循的一个原则是,更改不应是单方面的,也就是说,每个更改都至少涉及作者,审阅者或批准者。目标是限制对手自己可以做的事情-我们需要确保有人实际上正在观察变化。对于开放源代码来说,要做到这一点实际上比在一家公司中要困难得多,后者可以拥有强大的身份验证并执行代码审查和其他检查。

  • 避免单方面更改可以分为两个子目标:

目标9-1:要求对关键软件进行代码审查

除了是改进代码的好方法之外,审阅还确保除了作者之外,至少还有其他人正在查看每项更改。代码审查是Google内部所有更改的标准做法。

目标9-2:关键软件的更改需要两个独立的缔约方批准

为了真正实现“有人在看”的目标,我们需要审稿人独立于撰稿人。对于重大更改,我们可能需要多个独立审查。当然,我们需要梳理什么才算是“独立”审查,但是独立性的思想对于大多数行业的审查至关重要。

目标10:对关键软件参与者的身份验证

任何独立性概念也都意味着您知道参与者-匿名参与者不能被认为是独立的或值得信赖的。今天,我们基本上有了化名:同一个人反复使用身份,因此可以享有声誉,但是我们并不总是知道个人的信任度。这导致了一系列子目标:

目标10-1:对于关键软件,所有者和维护者不能匿名

攻击者喜欢匿名。在过去的供应链攻击中,攻击者利用匿名性并通过程序包社区努力成为维护者,而没有人意识到这个“新维护者”有恶意(将破坏性源代码最终注入上游)。为了减轻这种风险,我们认为关键软件的所有者和维护者一定不能匿名。可以想象,与所有者和维护者不同,贡献者可以是匿名的,但前提是其代码已经通过了受信方的多次审核。还可以想象,我们可以拥有“已验证”身份,在该身份中,受信任实体知道真实身份,但出于隐私原因,公众却不知道。这将使有关独立性的决定以及对非法行为的起诉成为可能。

目标10-2:对关键软件提供者的强身份验证

恶意行为者正在寻找容易的攻击媒介,因此网络钓鱼攻击和与凭证相关的其他形式的盗窃是常见的。一种明显的改进是需要使用两因素身份验证,尤其是对所有者和维护者而言。

目标10-3:身份的联合模型

要继续保持开源的包容性,我们需要能够信任各种各样的身份,但仍需经过验证的完整性。这意味着身份的联合模型,可能类似于我们今天支持联合SSL证书的方式-多个组可以生成有效证书,但是具有强大的审核和相互监督的能力。

OpenSSF的数字身份认证工作组已开始对此主题进行讨论。

目标10-4:风险变更通知

我们应该扩大通知范围,以涵盖风险的变化。最明显的是所有权更改,这可能是新攻击(例如最近的NPM事件流危害)的序幕。其他示例包括发现凭证被盗,串通或其他不良行为者行为。

目标10-5:工件的透明度

通常使用安全的哈希值来检测工件是否已完好无损,并使用数字签名来证明其真实性。添加“透明度”意味着这些证明是公开记录的,因此可以证明其意图。反过来,即使用户不知道,外部各方也可以监视日志中是否存在伪造版本。更进一步,当凭据被盗时,我们可以知道使用这些凭据对哪些工件进行了签名并进行了删除。这种透明性,包括持久的公共日志和第三方监视,已被成功用于SSL证书,我们为包管理器提出了一种实现此目的的方法。知道您拥有正确的软件包或二进制文件类似于您正在访问网站的实际版本。

目标10-6:信任构建过程

肯·汤普森(Ken Thompson)的图灵奖(Turing Award)演讲在1984年著名地证明,仅靠真实的源代码还不够,最近的事件表明,这种攻击是一种真正的威胁。您如何信任自己的构建系统?必须通过建立信任的连续过程来信任和验证它的所有组件。

可复制的构建帮助-构建具有确定性的结果,因此我们可以验证我们做对了-但由于临时数据(例如时间戳记)最终发布在发布工件中,因此难以实现。安全的可复制构建需要验证工具,而验证工具又必须可验证且可复制地构建,依此类推。我们必须构建一个受信任的工具网络并构建产品。

对工件和工具的信任都可以通过“委托”,通过上述透明过程的一种变体(称为二进制授权)来建立。在内部,Google构建系统会对所有工件进行签名,并生成将其与源代码相关联的清单。对于开源,一个或多个受信任的代理可以将构建作为服务运行,对工件进行签名以证明他们对构建的完整性负责。这种生态系统应该存在,并且主要需要意识和关于证明格式的一些协议,以便我们可以安全地自动化流程。

一般而言,本部分中的操作非常适合于软件,目前在Google内部已广泛使用,但与开源相比,它们的工作量要大得多。我们的希望是,通过专注于关键的软件子集,我们至少可以针对该集合实现这些目标。随着工具和自动化的不断完善,这些目标将变得更容易被更广泛地采用。

总结一下:开源的本质要求我们通过共识和协作来解决问题。 对于诸如漏洞之类的复杂主题,这意味着需要围绕关键问题进行集中讨论。 我们提出了一种构架此讨论的方法,并定义了一系列目标,希望这些目标可以加快整个行业的讨论范围和最终解决方案。 第一组目标广泛应用于漏洞,实际上是关于实现自动化以及降低风险和工作量的目标。

但是,这些目标在存在对手或阻止“供应链”攻击时还不够。 因此,我们为关键软件提出了第二套目标。 第二组更加繁重,因此会遇到一些阻力,但是我们认为额外的限制对安全至关重要。 目的是共同定义“关键”软件包的集合,并将这些更高的标准仅应用于该软件包。

尽管我们对如何实现这两个目标有不同的看法,但在共识和可持续解决方案至关重要的领域,我们只是一个声音。 我们期待着这一讨论,推广最好的想法,并最终寻求能够增强和简化我们大家都依赖的开源安全性的解决方案。

原文:https://security.googleblog.com

当工程总监离开时,谷歌的“鸿蒙”可能会很酷

“本文原创,禁止抄袭,违者必究”

谷歌的安卓操作系统(Android)之所以能在短时间内成为与苹果的iOS操作系统平分秋色的另一大主流手机系统,最主要的原因便是它推出时间早,并进行开源。也是由于其开源的特性,现在大部分手机品牌用的都是安卓操作系统,如OPPO、小米、vivo等手机品牌用的都是安卓的特制系统。

在最初,华为用的也是安卓系统,但后来由于安卓不再对华为进行开源,华为不得不提前将原本作为备用方案的自研分布式操作系统“鸿蒙”(harmony OS)提前转正。

鸿蒙系统一经发布,华为创始人任正非便在发布会上明确表示,鸿蒙系统实行开源。自从去年6月份开始大规模推出到现在,鸿蒙系统已经更新到harmony OS 2,目前搭载了鸿蒙系统的华为设备已经超过3亿。

鸿蒙系统已经隐隐成为继安卓系统和iOS系统之后的第三大主流系统。而鸿蒙OS 3也即将在7月份由华为即将发布的新旗舰Mate50系列首发搭载,正式推出。

谷歌推出Fuchsia OS

但事实上谷歌也有一个类似于华为鸿蒙的操作系统——Fuchsia OS。Fuchsia OS是谷歌公司推出的全新自研开源操作系统,和鸿蒙系统一样,它能够面向多平台操作,除了搭载智能手机,还可搭载于笔记本、pad,以及可穿戴设备上。

在去年6月份Fuchsia OS就正式进入了商用的阶段,谷歌公司向带显示屏的初代Google Nest Hub智能音箱推送了Fuchsia OS系统。不少数码爱好者一直在关注Fuchsia OS系统的进度,但在这之后Fuchsia OS就毫无动静了。

就连现在Fuchsia中文社区的图片和消息基本上也都是几年前的,Fuchsia OS的进度和搭载设备的数量也没有再更新。在Fuchsia OS刚推出的时候,谷歌是希望它能取代安卓系统的,但无奈Fuchsia OS的进度缓慢,现在甚至连项目工程总监都离职了。

工程总监离职,Fuchsia OS项目还做得下去吗

Fuchsia OS的项目工程总监Chris McKillop在推特上发布动态宣布了自己正式离职的消息。在这之后,Fuchsia研发团队也确认了总监离职的消息。

在进入谷歌公司之前,Chris McKillop曾在苹果公司任职,参与开发过第一代iOS系统此外他还是 Palm 参与创建 web OS 项目的原始团队成员之一。在进入谷歌后,Fuchsia研发团队在他的帮助下建立起来,他也成为Fuchsia OS的项目的工程总监。

现在项目总监都离职了,而Fuchsia OS的进度又十分缓慢,到目前为止搭载的设备更是寥寥无几,版本功能也仅仅只是在底层进行替换而已,功能几乎没有什么变化,因此这个项目很可能就此搁浅。

谷歌为何要研发Fuchsia OS系统

一开始研发Fuchsia OS系统,谷歌的本意是想让它取代安卓系统。主要原因有两个。

第一个方面,稍微有点编程常识的小伙伴都知道,很多原始代码都是跑起来了就不敢轻易再去修改,改完很可能出现更多bug,而安卓系统经过一代代的系统更新,都是在原有的代码上再添加上新的程序,因此现在安卓系统的代码已经越来越臃肿。

很多安卓的用户应该能感觉到,手机用一段时间之后就很容易卡,运行速度也越来越慢。很大的原因就是系统代码拖了后腿。安卓系统的代码更新到现在已经超过1亿行,你说能不卡吗?

而谷歌系统已经运行了十几年了,再想对它删繁就简是非常困难了,耗费的精力还不如再重新开发新系统。

第二个方面,如今手机的性能经过不断发展变得越来越耐用,很多用户基本都是2年到3年换一次手机,用得久的甚至4—5年才换新手机。那么相对应的手机销量也就没以前增长那么快了。

如果不尽快找到新的增长点,安卓的终端业务很难有新的突破。而如今,智能家居和智能穿戴设备迎来发展高峰期,但这就需要系统支持多端智联,安卓系统在这方面是个弱项,因此谷歌才将目光放在具有分布式能力的Fuchsia OS系统上。

Fuchsia OS的发展与谷歌的期望大相径庭

理想很丰满,但现实很骨感。虽然谷歌想得很美好,但Fuchsia OS的发展可以说是与它的期望大相径庭了。

根据谷歌发布的数据表明,目前搭载了安卓系统的活跃设备数量已经高达30亿部,如此庞大的用户群体,不管是厂商还是个人用户要更换到新系统的工作量都是很大的。在主流系统的阴影下想要打开市场成功立足,困难程度可想而知,即使是与安卓系统同源的Fuchsia OS也不例外。

Fuchsia OS真的会凉吗?

关于Fuchsia OS在总监离职之后是否会就此停掉,其实很难说,但从笔者的想法来看,完全放弃是不太可能的。

Fuchsia OS系统在这数年的研发时间内已经投入了大量的资金,就此放弃的话损失也太大了。而谷歌公司有安卓系统的经验在前,要完善系统还是没那么困难的,难点只是在无法快速调动厂商和用户更换系统的积极性。

如今用户和厂商都习惯使用安卓系统了,谷歌也不好强行要人家换掉。

大家认为谷歌会放弃Fuchsia OS系统吗,欢迎在评论区留下您的想法,一起互相交流。

谷歌支付金钱和人力,因此迫切需要保护开源的安全

5 月 12 日,在美国白宫开源软件安全峰会上,谷歌与 Linux 基金会、开源软件安全基金会 (OpenSSF)以及其他行业领袖共同讨论了开源安全举措,并宣布成立“开源维护团队”。这是一个由开发人员组成的团队,他们将致力于确保上游开源项目的安全,从收紧配置到部署更新。

谷歌着眼于开源软件安全

本次峰会是 1 月份白宫举办的关于开源安全讨论会议的后续活动,与会者在会上讨论了开源软件在行业中的关键作用,以及如何更好地解决开源维护人员在提高项目安全性时所面临的挑战。其中,主要挑战之一是缺乏资金和人力资源来预防、发现和修复系统性安全漏洞。

“鉴于数字基础设施在我们生活中的重要性,是时候开始让我们用处理物理基础设施相同的方式来思考它了。开源软件是大部分网络世界的结缔组织——它值得我们为道路和桥梁提供同样的关注和资金。”谷歌全球事务总裁兼首席法律官 Kent Walker 在 1 月份的会议后表示。

新的开源维护团队的规模尚未公开,但考虑到 Google 可支配的资源数量,规模可能会相当可观,此外,团队选择维护哪些开源项目也将取决于许多因素。

在财务方面,谷歌去年承诺在未来五年内投入 100 亿美元,通过各种计划和举措帮助改善网络安全,其中包括 1 亿美元用于支持 OpenSSF 等组织。此外,谷歌还创建了 Open Source Insights 项目,该项目为所有开源包提供依赖关系图。

“该项目分析开源包并提供依赖关系及其属性的详细图表。有了这些信息,开发人员可以了解他们的软件是如何组合在一起的,以及他们依赖关系变化的后果——正如 Log4j 所示,当受影响的依赖关系在依赖关系图中有很多层时,这可能会很严重。”谷歌一篇博客中介绍道。

开源软件生态确立的十大目标

去年,拜登政府发布了一项行政命令,以提高软件供应链的安全性,而本次安全峰会距离拜登政府发布改善软件供应链安全的行政命令刚好一周年的时间。

Linux 基金会和 OpenSSF 在本次峰会上呼吁,在两年内提供 1.5 亿美元的资金来解决十个主要的开源安全问题。包括:

  1. 安全教育:向所有人提供基线安全软件开发教育和认证。
  2. 风险评估:为前 0,000 个或更多)OSS 组件建立一个公开的、供应商中立的、基于客观指标的风险评估仪表板。
  3. 数字签名:加速在软件版本中采用数字签名。
  4. 内存安全:通过替换非内存安全语言来消除许多漏洞的根本原因。
  5. 事件响应:建立 OpenSSF 开源安全事件响应团队,安全专家可以在响应漏洞的关键时刻介入协助开源项目。
  6. 更好的扫描:通过高级安全工具和专家指导,加速维护人员和专家发现新漏洞。
  7. 代码审计:每年对多达 200 个最关键的 OSS 组件进行一次第三方代码审查(以及任何必要的补救工作)。
  8. 数据共享:协调全行业的数据共享,以改进有助于确定最关键 OSS 组件的研究。
  9. 软件物料清单 (SBOM):持续改进无处不在的 SBOM 工具和培训以推动采用。
  10. 改进的供应链:使用更好的供应链安全工具和最佳实践来增强 10 个最关键的开源软件构建系统、包管理器和分发系统。

关于 OpenSSF

开源软件安全基金会(OpenSSF)创立于 2020 年,旨在将广泛的社区领导者聚集到一起,建立具有针对性的计划和最佳实践,以提升开源软件的安全性。除谷歌之外,OpenSSF 的成员还包括 GitHub、Microsoft、Canonical、Cisco、Facebook、Intel、HP、腾讯、IBM、Red Hat、Samsung 等。

参考链接:

Google launches ‘open-source maintenance crew’

https://duo.com/decipher/new-google-team-to-help-critical-open-source-projects-improve-security

大数据的哪些开源框架和组件值得学习?

大数据平台

Hadoop

离线数据的分布式存储和计算基础框架
分布式存储HDFS
离线计算引擎MapReduce
资源调度Apache YARN

CDH

基于稳定版Hadoop及相关项目最成型的发行版本, 成为企业部署最广泛的大数据系统
可视化的UI界面中方便的管理
配置和监控Hadoop以及其它所有相关组件
简单来说将十几个hadoop开源项目集成在一起

HDP

基于hadoop生态系统开源组件构建的大数据分析平台

集群管理与监控

Cloudera Manager

用于部署和管理CDH集群的软件

Hadoop平台的管理软件,具备Hadoop组件的安装、管理、运维

文件系统

HDFS

分布式文件系统

资源调度

YARN

hadoop的资源管理和作业调度系统

协调框架

Zookeeper

分布式协调服务,解决分布式数据一致性方案 实现诸如数据发布
订阅、负载均衡、命名、集群管理 master节点管理
分布式锁和分布式队列

数据存储

HBase

分布式面向列的NoSQL开源数据库

Cassandra

分布式的混合NoSQL数据库 ,还有C++版本ScyllaDB

MongDB

面向文档的开源分布式数据库

Redis

开源的支持网络,基于内存可持久化日志,key-value数据库,可用于
数据库
缓存
消息中间件

Neo4j

开源高性能的NoSQL图形数据库

数据处理

MapReduce

分布式离线的计算框架
批处理
日渐被Spark和flink取代

Spark

通用的一站式计算框架
SparkCore批处理
SparkSQL交互式处理
SparkStreaming流处理
Spark Graphx图计算
Spark MLlib机器学习

Flink

流处理和批处理分布式数据处理框架
核心是一个流式的数据流执行引擎 类似于Spark
批处理
数据流处理
交互处理
图形处理和机器学习

Storm

分布式实时大数据处理系统
毫秒级别的实时数据处理能力
实时分析的领导者

数据查询分析

Hive

基于hadoop的数据仓库,结构化
SparkSQL
处理结构化数据的spark组件
分布式的SQL查询引擎

Impala

实时交互SQL大数据查询引擎

Druid

实时大数据分析引擎

Elastic Search

分布式可扩展的实时搜索和分析引擎,基于Apache Lucene搜索引擎

数据收集

Flume

分布式海量日志采集、聚合和传输系统

Logstash

具有实时管道功能的开源数据收集引擎

数据交换

sqoop

数据迁移工具,用来在不同数据存储软件之间进行数据传输的开源软件

DataX

阿里巴巴开源的离线数据同步工具,用于实现包括关系型数据库(MySQL、Oracle等)
HDFS、Hive、ODPS、HBase、FTP等各种异构数据源之间稳定高效的数据同步

消息系统

Pulsar

企业级分布式消息系统,有替代Kafka的趋势

Kafka

发布/订阅的消息系统,由Scala写成

RocketMQ

阿里巴巴分布式、队列模型的消息中间件

任务调度

Azkaban

批量工作流任务调度器,将所有正在运行的工作流的状态保存在其内存

Oozie

基于Hadoop的企业级工作流调度框架
将所有正在运行的工作流的状态保存SQL数据库
Cloudeara贡献给Apache的顶级项目

数据治理

Ranger

Hadoop 平台上并提供操作、监控、管理综合数据安全的框架
提供一个集中的管理机制,所有数据权限

Sentry

Hadoop集群元数据和数据存储提供集中、细粒度的访问控制项目

数据可视化

Kibana

用于和 Elasticsearch 一起使用的开源的分析与可视化平台

数据挖掘

Mahout

基于hadoop的机器学习和数据挖掘的一个分布式框架

Spark MLlib

Spark的机器学习库

MADlib

基于SQL的数据库内置的可扩展的机器学习库

云平台技术

AWS S3

一种对象存储服务,提供行业领先的可扩展性、数据可用性、安全性和性能
存储和保护各种用例数据

GCP

Google提供的一套云计算服务
注册一个帐号,在分布在全球各地数十个google机房使用所有的基础架构服务

Google开源NSL:tensorflow图形数据机器学习框架

智东西(公众号:zhidxcom)编 | 李水青

导语:NSL开源框架能提高模型精度并简化编程工作。

智东西9月4日消息,谷歌今天新推出了其神经结构化学习(NSL)开源框架,能用于通过图形和结构化的数据训练神经网络。

不论经验深浅,机器学习从业者都可以将NSL与TensorFlow机器学习平台配合使用。NSL可以制作计算机视觉模型、执行自然语言处理(NLP)、以及利用医疗记录或知识图等图形数据集运行预测。

TensorFlow是谷歌开源的用于数值计算的开源软件库,用于机器学习和深度神经网络方面的研究。TensorFlow可部署于各类服务器、PC终端和网页并支持GPU和TPU高性能数值计算。

一、应对数据匮乏,提高模型精度

TensorFlow工程师今天在博客中说:“在模型训练期间,通过NSL的结构化信号,开发人员能够获得更高的模型精度。特别是在标注数据量相对较小时,它的作用就更大了。”

“同时,结构化信号训练也可以带来更强大的模型,这些技术已被谷歌广泛应用于提高模型性能,如学习图像语义嵌入(Image Semantic Embedding)。”

二、简化编程工作,五行代码可完成建模

NSL可以通过监督、半监督或无监督学习对训练期间的图形信号进行正规化的建模。在某些情况下,五行代码就能完全搞定。

另外,新框架还可以帮助开发人员处理数据和API(应用程序编程接口)的工具,使他们在项目中使用更少的代码完成对抗训练。

今年4月,谷歌云为结构化数据引入了其他解决方案,如BigQuery连接表和AutoML Tables。另外,上周谷歌AI开源了SM3,这是一个针对BERT等大型语言理解模型的优化工具。

文章来源:VentureBeat