Adobe决定在2020年停止支持Flash
Flash已经有20年的历史了,人们用它来开发游戏,看视频。随着Adobe的官方声明,饱受争议的Flash逐渐退出了历史舞台,它的一生是否如大众所说的“罪孽深重”呢? 我们先来简单回顾一下Flash的一生。 低带宽时代九十年代的互联网,由于网速的限制,大部分的网站基本上只有纯文本和简单的图片,基本上不能显示太多的图片和视频。当时主流的多媒体制作软件是Macromedia Director,人们可以用它做一些图片视频,它也是现在Adobe Director的前身。并通过Macromedia Shockwave(现为Adobe Shockware)发布到互联网上,人们可以在装有Shockwave的浏览器上浏览这些多媒体信息。 由于带宽的限制,人们对于图片的使用还是很谨慎的,这样做可以让Shockwave文件小一些,但这样做出来的东西也很一般。那个时候使用的格式都是GIF和JPEG,而这样的格式浪费了大量的存储空间。 这时,FutureWave出品的FutureSplash Animator出现了,它和Macromedia Director很类似,不过它的图片是基于矢量存储的,这些的格式可扩展性都非常强,分辨率也很高,存储空间却很小,这是因为矢量图的生成可以通过cpu做到,而当时网速很慢,cpu处理速度越来越快,这样做真的很聪明。 高速扩张后来,FutureWave打算卖给Adobe,但被拒绝了,最后Macromedia 收购了这家公司。FutureSplash Animator也重新定名为Macromedia Flash 1.0。它由两部分组成:图形及动画编辑器,媒体播放器。 随着网速的提升,人们开始使用Flash来播放视频。1999年到2005年之间是Flash发展的黄金时期,无论是Java,RealNetworks,QuickTime,Windows Media Player,所有的媒体播放器在装机量上都远不及它。 Macromedia 对Flash 服务的重视和持续投入改进更加促进了它的增长,后期加入的MovieClips也让它从一个媒体创造平台转型成为了一个网络平台。 2005年,Adobe收购了Macromedia之后,继续开发Flash,业务开始涵盖影片、音乐、游戏等诸多领域,许多电脑都已经预装了Flash,而且增加了边下边播的功能,这样用户就可以在文件刚下载时播放视频,Flash也逐渐成为了“行业标准”。 上世纪90年代,大多数的浏览器还不支持css,而Flash的出现,人们可以在浏览器上播放动画,火柴人,爆笑三国,神啊救救我吧,等无数的的视频,对老网民来说,留下了无数的回忆。超高压占比的格式,矢量图,边下边播,节省带宽的格式,也给人们留下了深刻的印象。那个时候,人们可以不用考虑代码实现就可以通过Flash做出一些炫酷的动画。
到了21世纪,Flash的flv容器和vp6 ,vp7视频压缩算法开始出现,边下边播的用户体验也越来越好。 2008年,Flash9 alpha阶段的时候,开始支持as3,运行效率大幅提升,后来正式发布的时候叫Flash cs 3。flash又乘上页游的东风,再次蓬勃发展。大量公司开始通过flash开发出交互效果极其绚丽的网页游戏,并且都通过产品获得了不错的收益。
从事了15年的Flash和HTML相关工作的开发者马鉴认为:
Flash的前半生无疑是潇洒的。 日渐式微未抓住移动端的浪潮业界现在普遍认为,Flash的下拨路是从和苹果的决裂开始的。尤其是乔布斯在2010年发布的一篇《thoughts-on-flash》的文章。乔布斯在里面写下了于Flash的一点看法,说明自己为什么不使用Flash,谈到关于Flash的一些问题,比如开放性,安全性,对于设备续航的影响,不利于触摸屏,等等。 结尾的部分很值得玩味:
苹果从一开始就作为平台级别的绝对掌控者,从一开始就建立了app store这样的封闭系统策略,Flash 作为一个第三方插件,很难进入苹果自己的平台争利。 马鉴表示:
2007年,第一代iphone正式发布,2008年安卓手机出现,从而拉开了移动互联网的序幕,而Flash慢慢无法跟上潮流,也就失去了这一片宝贵的市场。 频出的安全问题随着时间的推移,Flash开始走下坡路,也出现了可以替代的解决方案,而Flash在广告中出现的频率越来越多,甚至在恶意软件身上看到它的身影。 烦人的浏览器弹窗,无尽的销售广告,Flash的声誉日渐式微,虽然Flash的开发者会注意这些恶意的内容,但广告是由那些不受监管的第三方提供的,Flash逐渐变成了安全隐患。 由于Flash是运行在浏览器外部的,操作系统和浏览器的安全机制对Flash的限制就小了很多,这样的特性很容易让Flash成为黑客们最爱的工具。 我们可以先大体看一下这些年关于Flash爆出的漏洞情况
图中我们可以看到,2015,2016年几乎是Flash的高危年份。Cve记录在案的总漏洞数为别为329和266个。
而对于攻击方式上来说,黑客最偏爱的是通过执行代码来攻击,总计有819个,其次便是通过堆栈溢出有435个漏洞,接下来的DoS和内存破坏,分别有346和348个。
上图中可以看到,时间跨度上,Flash漏洞在2005年开始初露端倪,经过了将近9年的时间开始在14.,15年大规模的爆发。着实给当时的互联网带来了不小的冲击。 下面来回顾下那些印象深刻的攻击事件: 网站挂马
当时的北京大学网站、中电网等多家知名网站已被黑客入侵,并利用Flash漏洞为访问者传播木马。 CVE-2012-0779
CVE-2012-1535
CVE-2013-0634
病毒于2012年6月份就开始传播。距离2013年2月7日,Adobe公司发布漏洞补丁,已经过去了半年多的时间。由此可见,通过高危漏洞传播木马的方式并且以新浪博客,qq空间,微博等,作为加密后的木马服务器网址发布站点的途径。 CVE-2014-0497
CVE-2014-8440
CVE-2015-0310
CVE-2015-0311
CVE-2015-0313
2015年伊始,Adobe Flash相继爆出多个0day漏洞,且在尚未修复之时就遭到大规模恶意利用。最近趋势科技的安全研究人员在对Adobe 0day漏洞的跟踪调查中,发现了BEDEP系列病毒与Adobe Flash 0day漏洞存在 密切关联。 最严重的两年 2015和2016年爆出的漏洞总数基本上占了历史上Flash漏洞的绝大部分。
由RecordedFuture进行的一项新的研究表明,由于其漏洞,Flash Player继续将全球电脑置于风险当中,网络犯罪分子仍在寻找Adobe解决方案当中安全缺陷,以入侵电脑。今年某漏洞利用套件使用的前10个漏洞中共有6个漏洞来自于Adobe Flash Player,其中一个安全漏洞被7个以上的漏洞利用套件所使用。
在微软发布的安全情报报告20卷中,Flash仍是网络攻击最多的对象。Adobe Flash在被检测到的所有恶意网页中占比90%并不令人感到惊讶。Flash潜在的危险性已经广为人知,并且微软再次强调了定期更新Adobe Flash Player的重要性。 安全机构NTT Group发布的最新报告显示,2015年,漏洞攻击者最钟情的目标已经不再是Java,而是换成了Adobe Flash Player,后者竟然垄断了十个最危险、最经常被利用的漏洞。 光环褪去,人们开始反感Flash,它开始变得死而不僵。 pc端市场的失守移动端的乏力并不是Flash唯一的问题,在PC方面,Flash也遇到了大麻烦,2015年谷歌旗下的Youtube开始将视频格式全部转为html5,甚至还推出了工具Swiffy,可以将Flash转换成html5. 不仅如此,Google旗下的Chrome占据了浏览器市场上的大部分份额,然而Chrome也慢慢把支持Flash变成非默认的选项,用户一般不会主动打开Flash,只有在遇到需要Flash的网站时,Chrome才会提醒用户需不需要打开它。 而Firefox,Safari这些也占有一定份额的浏览器,也开始站在了Flash的对立面上,Pc端和移动端的双面乏力,加速了Flash的衰亡。 官方标准html5的出现
真正的致命一击还是来自html5,它是最新一代的web标准,用户不需要安装额外的插件就可以访问视频和玩游戏,因为几乎所有的主流浏览器都支持新的html5标准。
html5自身作为web标准,不用使用额外的插件,又不用考虑设备性能的影响,并且一直有人维护,根据以后的发展也会加入更多相应的功能,htnl5很自然而然的开始普及起来。 现状与结论看似Flash已经毫无用武之地了,那现在(2017年8月)的表现情况,和使用情况又如何呢? 鉴于Flash主要还是在视频播放上占了很大的比重,所以笔者对国内的主流视频网站对Flash的支持程度做了一个测试: 测试结果显示:一线阵营的大视频网站(爱奇艺,腾讯视频,Bilibili,优酷,凤凰视频,乐视视频),由于业务上的高要求和本身的技术积累比较浓厚,基本上摒弃了Flash,转型为html5。 而其他的一些视频网站(搜狐视频,酷6,迅雷看看,新浪视频,百度视频,暴风影音,央视,56,土豆,斗鱼,pptv聚力)暂不支持html5,仍沿用Flash。 最重要的因素可能还是成本上的考量,Flash可以使用P2P技术,可以很好的节省视频网站的流量,算下来还是一笔不小的开支;对比Flash来说,html5的标签很容易窥探到,视频也更容易被下载;广告层面来说,html5格式下,广告更容易被嵌入,但也更容易被屏蔽,反屏蔽技术对于有技术的大厂来说,有心做肯定可以解决。而对于小厂来说,失去广告这么大的收入,而冒险尝试新的技术,换来的回报却没有那么可观,并且还要分配新技术的预算,大家就都显得不那么情愿了。 关于Flash的现状,近日,在github论坛上出现了为Flash请愿的活动:
可能,这也算是Flash不错的归宿了吧。 在新的浪潮袭来的时候,我们很难逆流而上,就算Flash在巨头的博弈上没有败下阵来,它自身暴露出来的移动端的问题,安全上的问题,性能上的问题,都很难让Flash在崭新的web时代继续称霸,因为人们需要的应该是一个更安全,更便利,功能更强大的web时代。 Flash见证了web从最开始的刀耕火种发展到现在,微信小程序;web app,node.js,日新月异的前端技术。web的未来无疑会有更多可能。Flash作为一种非官方标准,在技术不完善,标准不成熟的时代,承担住了那个时代该有的历史使命,推动了web动态化的发展,在它告别我们的时候,我们应给予它最基本的尊重。 |
|