61阅读

捆着我绑着我迅雷下载-迅雷捆绑恶意插件 千万电脑成“肉鸡”

发布时间:2018-01-09 所属栏目:网络编程

一 : 迅雷捆绑恶意插件 千万电脑成“肉鸡”

  核心

  提示

  带有迅雷数字签名的恶意插件“INPEnhSvc.exe”,可未经用户允许植入Windows的系统目录,开机自动启动,并且根据云端指令,在用户电脑上修改浏览器首页,在收藏夹中添加网址。同时,该文件还会在后台下载安装Android手机驱动程序,一旦用户的手机连接至电脑,就会安装多种应用程序。 潜入你的电脑,入侵你的手机,使它成为一只肥美的“肉鸡”,然后再静悄悄地获利。

  自6月19日以来,数以千万的用户因为安装迅雷软件而被捆绑了一款恶意插件,目前电脑感染量已达数千万。

  8月21日,迅雷公司在深圳召开发布会,表示排查发现,集团子公司迅雷看看一位部门经理,避开公司流程,动用子公司资源制造了带有恶意程序的插件。 修改浏览器 安装手机应用

  今年8月,知名科技博客雷峰网曝光了数封迅雷内部邮件,指认迅雷出现“掘雷者”,有高层利用职务之便,对用户进行病毒般的强制插入。随后,一些IT人士利用技术分析将此事件彻底曝光。8月21日晚,迅雷召开发布会,对传闻进行回复。

  迅雷公司高级副总裁黄芃表示,经公司调查发现,迅雷集团子公司迅雷看看“视频事业部”所属的传媒部门负责人,通过避开公司正常流程,私自指示技术人员动用子公司资源并冒用迅雷数字签名,制造带有恶意程序的插件。公司开除了事件主要负责人,同时,对上级负责人给予记过、警告以及罚款等处罚。

  据悉,自6月下旬起有许多用户在论坛、微博上反馈电脑异常,经技术人员研究发现,在用户电脑位于C:WindowsSystem32的目录下,发现了名为“INPEnhSvc.exe”的文件,并且带有迅雷的数字签名。技术人士分析了该文件的7个版本,被证实其内置后门,并且使用类似云指令的技术来强制干扰和修改用户电脑,目前感染了超过数千万台电脑。

  据了解,INPEnhSvc.exe文件是一个独立于迅雷的自启动后门程序,它可以未经用户允许植入Windows的系统目录,开机自动启动。并且根据云端指令,在用户电脑上修改浏览器首页,在收藏夹中添加网址。

  同时,该文件还会在后台下载安装Android手机驱动程序,一旦用户的手机连接至电脑,就会“静默”地安装多种应用程序,包括为“九游棋牌大厅”、“91手机助手”、“UU网络电话”、“机锋应用市场”等。这几款应用分别为UC优视、百度、深圳有信网络技术有限公司、迈奔灵动科技有限公司旗下产品。

  推广预算不够出此下策?

  目前,迅雷仍未披露被开除的迅雷看看具体责任人的姓名。迅雷官方的回复也显得疑点重重,这名部门经理出于什么目的制造并传播恶意插件?他是否能够凭此获利?这些预装软件的“隐形”利润,究竟是流入了谁的腰包?

  对此,迅雷副总裁王珊娜向《每日经济新闻》记者表示,目前公安部门对于案件仍在调查审理中,因此不便透露相应责任人的姓名。据公司初步了解,该员工由于业绩压力而与其他公司进行流量互换而导致公司声誉受损。

  根据雷峰网上此前的报料的迅雷内部邮件,一位迅雷看看负责人在内部邮件中称,2013年公司给迅雷看看设定了15万的移动端装机量,按正常手段推广需要5400万元的费用,而给出的预算只有800万元。

  “在同优酷土豆的长跑里,我们跟得颇为辛苦,如果不通过换量很难完成任务目标,同时,迅雷所有无线产品的量还不大,很难实现等价兑换,无奈之下才采取插件推送的形式进行换量操作。”该人士辩解说。

  上海大邦律师事务所律师游云庭表示,迅雷公司捆绑发布恶意插件,致使大量用户信息安全受到威胁,涉嫌大规模侵害消费者权益,工信部、当地工商部门应对此事予以彻查,并没收其违法所得。《每日经济新闻》

二 : 全面保障下载安全 迅雷着力云计算

从2008年起云计算(Cloud Computing)概念逐渐流行起来,它正在成为一个通俗和大众化(Popular)的词语。但是问及每个人,似乎大家对于云计算的理解不尽相同。云作为一种最简单的气象学名词,与每个人似乎都联系得很紧,也最容易理解。但联系上了“计算”,它的内涵就变得更为深刻,外延也变得更大了,意义得到了扩展,变得捉摸不定,模糊起来。其实,要理解云计算不是很难。云计算基于Web服务,以互联网为中心,能够做到“人人为我,我为人人”。而根据CNNIC的报告,在网民的互联网行为中,下载行为占据了超过一半的份额。迅雷作为下载领域的重要厂商,也部署了云计算,具体表现在哪些方面呢?对我们的下载有什么样的重要意义?

一、安全方面的云计算

在迅雷每天过亿次的流量当中,有接近50%的文件安全属性是未知的。根据抽样分析,发现其中存在巨大安全风险:文件本身已经被植入了木马,或会通过视频文件、调用浏览器打开网页的方式,把用户导向木马网站。

诚然,病毒泛滥、木马横行、蠕虫蔓延、插件滋长、内容低下、文不对题、鱼目混珠,把整个互联网弄得乌烟瘴气!作为占据了互联网一半行为的─下载,自然也不能幸免。迅雷作为著名下载软件,在2007年就斥巨资全面增强迅雷的安全特性,推出很多的安全特色功能。在2008年与瑞星合作,推出安全下载云计算服务。

迅雷和瑞星合作之后则全面增强了安全特色,在三重校验机制下可有效保障用户安全地下载文件(如图1、2)。迅雷每天可以消灭掉一千多万不安全的下载就是最好的佐证!已经可以很好地解决如下三个问题:(1)如何精确地下载到用户所需要的文件;(2)防止病毒修改下载后的文件以及文件安全管理的挑战;(3)给用户带来安全威胁后续处理的挑战。

可以说,应对下载安全威胁的最好的方法就是“云安全”,这也是迅雷核心业务下载方面的安全挑战和解决方法。

图1 启用瑞星安全模块

图2 检测迅雷自身安全

二、高速下载的云计算

迅雷的高速下载是众所周知的,不过很多人并不知道,迅雷的高速下载也得益于云计算:因为迅雷最大的特色就是其基于智能的迅雷网络,不只给中心服务器带来压力,而是通过云计算,把很多的计算部署到了客户端。而且迅雷还支持协议互连,进行协议互连后,迅雷用户下载任务时,不仅可以从其他迅雷客户端,还可以从HTTP和FTP站点甚至是BT网络、电骡网络来下载同一个文件,大大增加了下载的来源点,返回的资源数目自然多了,加上迅雷的智能计算技术,使得其下载速度超快(如图3)!

图3 高速下载的云计算

迅雷还于2009年初进行了技术升级,我们只要安装有最新版的迅雷,就可以在保证高速下载的同时,获得更多更好的丰富内容。这样再也不会出现在迅雷中添加了电骡内容,但却无法下载的情况!内容越多,下载/上传的人相对来会越多,这反过来更促进了高速下载,进入良性循环。这样就能在为网民们提供更为稳定、高速下载的同时,获得更多丰富的内容。

三、在线存储的云计算

虽然上网搜索和下载软件并不难,但是去查找毕竟需要消耗时间。而且,有时下下来的不一定自己用得习惯。不过,基于雷友的云计算和分享方式,我们完全可以把自己喜欢的电影或常用装机工具存储到迅雷上(如图4),随时下载使用。而且不管我们远在大洋彼岸,还是在天涯海角,都能够用上自己最熟悉的工具软件,从而做到轻车熟路、事半功倍!

图4 在哪里都用自己的软件

三 : 下图为一幅创作于1916年的政治漫画,名为“水中捞月”。图中一人身上捆绑着绳索,

61阅读/ www.61k.net

下图为一幅创作于1916年的政治漫画,名为“水中捞月”。图中一人身上捆绑着绳索,悬在半空,试图捞取水中的“月亮”。绳索的一端固定在非常危险的悬崖上的一棵小树上。结合漫画创作的时代背景,能够说明该漫画的主要寓意是
[ ]
A.袁世凯复辟帝制终究要失败
B.袁世凯复辟帝制遭到人民反对
C.辛亥革命后帝制思想根深蒂同
D.辛亥革命胜利果实“华而不实”
题型:单选题难度:中档来源:上海期末题

A


考点:

考点名称:“洪宪帝制”与护国运动

护国运动(1915—1916年):

1、原因:袁世凯复辟帝制
①强迫国会选其为“正式”大总统(1913)
②解散国民党和国会(1913)
③炮制《中华民国约法》《总统选举法》(1914)
④基本接受“二十一条”(1915)
⑤制造帝制舆论(筹安会、请愿团)
⑥操纵国体投票,获“全票拥护”君主制(1915)
⑦改元、登基(1916)
2、经过:
①孙中山发表《讨袁宣言》(1915)
②梁启超发表《异哉,所谓国体问题者》
③蔡锷等人武力讨袁④孙中山发表《第二次讨袁宣言》(1916.5)
3、结果:
袁世凯取消帝制(1916.3),后在忧惧中死去

谁是护国运动的发动和领导者:

关于这个问题很早就众说纷纭。护国战争的硝烟未尽之际,梁启超就公布有关文稿,撰发文章,把领导运动的首功归于他和蔡锷两人,这引起了参与这场运动的云南军政界人士的不满,有人坚持说护国运动是由云南军政官员发动的,首功应归唐继尧。邹鲁、陆丹林等人则把护国运动的成就归功于以孙中山为首的中华革命党。新中国初年,有学者提出与上述三说都不同的观点,认为护国运动的真正发动者,是辛亥革命时期受过革命民主主义思想熏陶、参加过推翻清朝政府建立民国斗争的云南新军军官。(根据言椒、李喜所《中国近代人物研究信息》,天津教育出版社1998年版,第362页。)
近些年来,不管是对梁启超、蔡锷在护国运动中的具体表现评价如何,但多认定掌握了这场运动领导权的是他们,而不是中华革命党人或其他派别。(像胡绳《从鸦片战争到五四运动》下册(上海人民出版社1982年版)、苑书义等著《中国近代史新编》下册(人民出版社1988年版)等著作中都持这样的观点。)也有学者把运动的发起和领导分开来看,并注意到领导权的动态变化,并且不把梁启超和蔡锷划入同一派别,认为:不能简单地把护国运动的发动者归结为某一个人或某几个人。实际情况应该是,以孙中山为首的资产阶级革命派,以黄兴为代表的资产阶级革命派的另一翼──欧事研究会,以梁启超为代表的资产阶级改良派,以及以蔡锷、唐继尧等为代表的西南地方实力派,在席卷全国的人民群众反袁浪潮的基础上,联合发动了反袁护国运动和护国战争。在理论上说,谁发动了运动和战争,领导权就掌握在谁的手里。然而在事实上问题并不如此简单。当护国运动兴起之际,领导权实际掌握在以孙中山为代表的资产阶级革命派手中。然而,随着运动的推移,情况发生了重大变化,谁掌握了护国军的军权,谁掌握了护国战争的指挥权,实际上也就是谁掌握了护国运动的领导权,这样看其领导权事实上就落到了西南地方实力派和资产阶级改良派手中,而梁启超等资产阶级改良派人物所进行的具体策划,对护国军的具体行动则产生了重大影响。(谢本书等:《护国运动史》,贵州人民出版社1984年版,前言第4~8页。)

四 : Javarscript中模块(module)、加载(load)与捆绑(bundle)详解

JS模块简介

js模块化,简单说就是将系统或者功能分隔成单独的、互不影响的代码片段,经过严格定义接口,使各模块间互不影响,且可以为其他所用。

常见的模块化有,C中的include (.h)文件、java中的import等。

为什么JS需要模块

很显然,没有模块我们也可以实现同样的功能,为什么我们还要使用模块来写js代码呢?下面几点是模块化给我们带来的一些变化:

  • 抽象代码:我们在使用模块来调用一个api时,可以不用知道内部是如何实现的,避免去理解其中复杂的代码;
  • 封装代码:在不需要再次修改代码的前提下,我们可以在模块内部隐藏其具体实现;
  • 复用代码:一些常用的、通用的功能,以模块来实现可以避免过多的重复代码;
  • 管理依赖:可以通过简单的修改依赖项来管理功能的实现,而不需要去重新修改自己内部的代码实现。

ES5及之前的模块系统

在ES5及之前版本,还没有原生的模块语法。不过这并不代表ES5之前,前端没有使用模块。简单介绍两种:IIFE、Revealing Module.

IIFE

Immediately Invoked Function Expression,立即执行函数表达式。

 (function(){  // ...  })()

看上面的代码,IIFE可以说成是一个在定义的时候就执行的匿名函数。注意函数是先被”()”包起来了,然后后面紧跟”()”表示执行函数。如果是以下代码,将会报错:

 function(){  console.log('test');  }()  // => Uncaught SyntaxError: Unexpected token )

这种写法表示,先定义一个匿名函数,然后再去解析”()”。由于在第一行”function”出现在首位,这表明此处定义一个函数,函数后紧跟”()”,此时表示单独解析”()”,就会报出上面的错误信息,因此需要先将函数定义包裹起来。
“(function…)”这种写法表示执行”()”内部代码,并返回该语句执行结果,此处返回结果为该函数,后面紧跟”()”即表示执行该函数。IIFE可以帮助我们做到:

  • 不需要了解具体的代码实现情况下取得想要的效果;
  • 在内部定义的变量不会污染全局作用域。

显而易见,这种编码方式并没有提供良好的机制来解决依赖管理问题。

Revealing Module

根据字面暂解释为揭示模式,与IIFE形式类似,但是提供了一个返回值。方便集中管理公有的api,使模块、公用api更加简洁清晰。

 // Expose module as global variable  var singleton = function(){  // Inner logic  function sayHello(){  console.log('Hello');  }  // Expose API  return {  sayHello: sayHello  }  }()

稍微注意下,上面的代码,我们并没有用”()”去包裹,因为关键字”function”并不在该行的开头。

我们可以像下面这样使用模块api:

 // Access module functionality  singleton.sayHello();  // => Hello

当然,我们也可以以构造函数形式导出:

 // Expose module as global variable  var Module = function(){  // Inner logic  function sayHello(){  console.log('Hello');  }  // Expose API  return {  sayHello: sayHello  }  }

请注意,上面函数在定义的时候并没有执行。

我们可以这么使用它:

 var module = new Module(); module.sayHello(); // => Hello

与IIFE一样,揭示模式并没有提供良好的解决依赖管理的方案。

更多模块化解决方案

ES6或者ES2015,自带原生的模块语法。

在这之前,有以下几种常见的用于模块化的解决方案:

  • AMD
  • CMD
  • CommonJs
  • UMD
  • System.register
  • ES6

AMD

AMD,Asynchronous Module Definition,异步模块定义。AMD形式被用于浏览器端,使用”define”来定义模块依赖:

 //Calling define with a dependency array and a factory function  define(['dep1', 'dep2'], function (dep1, dep2) {  //Define the module value by returning a value.  return function () {};  });

CMD

CMD,Common Module Definition,通用模块定义。该规范由国内大神玉伯提出,与AMD区别在与AMD是依赖关系前置,有该依赖就必须先加载依赖,CMD是按需加载。

 // CMD  define(function(require, exports, module) {  var a = require('./a')  a.doSomething()  // 此处略去 100 行  var b = require('./b') // 依赖可以就近书写  b.doSomething()  // ...  })  // AMD 默认推荐的是  define(['./a', './b'], function(a, b) { // 依赖必须一开始就写好  a.doSomething()  // 此处略去 100 行  b.doSomething()  ...  })

CommonJs

CommonJs在Node.js中用的较多,使用”require”来定义依赖,使用”module.exports”来定义模块:

 var dep1 = require('./dep1');  var dep2 = require('./dep2');  module.exports = function(){  // ...  }

UMD

UMD,Universal Module Definition,通用模块定义。可以用于浏览器端与Node.js端:

 (function (root, factory) {  if (typeof define === 'function' && define.amd) {  // AMD. Register as an anonymous module.  define(['b'], factory);  } else if (typeof module === 'object' && module.exports) {  // Node. Does not work with strict CommonJS, but  // only CommonJS-like environments that support module.exports,  // like Node.  module.exports = factory(require('b'));  } else {  // Browser globals (root is window)  root.returnExports = factory(root.b);  }  }(this, function (b) {  //use b in some fashion.  // Just return a value to define the module export.  // This example returns an object, but the module  // can return a function as the exported value.  return {};  }));

System.register

System.register方式设计初衷主要是为了在ES5中能够支持ES6模块语法:

 import { p as q } from './dep';  var s = 'local';  export function func() {  return q;  }  export class C {  }

ES6 module

ES6中自带原生的模块语法,使用关键字”export”来导出模块的公用api:

 // lib.js  // Export the function  export function sayHello(){  console.log('Hello');  }  // Do not export the function  function somePrivateFunction(){  // ...  }

以关键字”import”来导入模块:

 import { sayHello } from './lib';  sayHello();  // => Hello

目前各浏览器对ES6的支持度不一,因此我们现在需要使用编译器,像Babel,来将ES6的代码编译成ES5的形式。

模块加载器

一个模块加载器可以理解模块,并以固定的形式来加载模块。

模块加载器工作在运行时,流程大致如下:

  • 你在浏览器中运行模块加载器;
  • 你告诉模块加载器需要加载哪个主文件;
  • 模块加载器下载并解析主文件;
  • 模块加载器按需加载其他文件。

一些比较常见的模块加载器有:

  • RequireJS:以AMD风格加载模块;
  • SeaJS:以CMD风格加载模块;
  • SystemJS:以AMD, CommonJS, UMD 或者 System.register风格加载模块;
  • jspm:jspm基于SystemJS,是模块加载器,同时也具备浏览器端包管理功能。

模块打包

模块打包可以替换模块加载器。

然而,相比模块加载器,模块打包动作是在编译时运行的:

  • 使用模块打包在编译期生成一个js文件;(例如bundle.js)
  • 在浏览器中加载该文件。

截止目前,比较常用的模块打包方案有以下两种:

  • Browserify:为CommonJS模块打包;
  • Webpack: 为AMD、CommonJS、ES6模块打包。

总结

为了在现代js开发环境中更好的使用这些工具,你首先需要知道模块、模块化解决方案、模块加载、模块打包之前的区别。

模块是一段封装好的代码,可以以公用api形式导出并在其他代码中被加载和调用;

模块化解决方案或者模块化思想,实际含义是定义一个模块的语法。由于定义语法的差异,目前常用的有AMD、CMD、CommonJS、UMD等;

模块加载,在运行期解析和加载模块。常见的有RequireJS、SeaJS、SystemJS和jspm;

模块打包,其替换了模块加载的概念,在编译期间生成一个所有代码整合后的bundle.js文件。常见的有Browserify和Webpack。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家61阅读的支持。

本文标题:捆着我绑着我迅雷下载-迅雷捆绑恶意插件 千万电脑成“肉鸡”
本文地址: http://www.61k.com/1160382.html

61阅读| 精彩专题| 最新文章| 热门文章| 苏ICP备13036349号-1