精华内容
下载资源
问答
  • H.265与H.264对比有哪些优势

    千次阅读 2018-06-19 17:15:34
    H.265与H.264对比有哪些优势 </div> <div class="cl"></div> </div> ...

    H.265与H.264对比有哪些优势

                </div>
                <div class="cl"></div>
            </div>
    
                                            <p class="summary">
                <span>[摘要] </span> H.265  H.265是ITU-T VCEG 继H.264之后所制定的新的视频编码标准。H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同...            </p>
    
            <div class="mainbody" id="showcontents">&nbsp;&nbsp;&nbsp; H.265<br>
    


        H.265是ITU-T VCEG 继H.264之后所制定的新的视频编码标准。H.265标准围绕着现有的视频编码标准H.264,保留原来的某些技术,同时对一些相关的技术加以改进。新技术使用先进的技术用以改善码流、编码质量、延时和算法复杂度之间的关系,达到最优化设置。具体的研究内容包括:提高压缩效率、提高鲁棒性和错误恢复能力、减少实时的时延、减少信道获取时间和随机接入时延、降低复杂度等。H264由于算法优化,可以低于1Mbps的速度实现标清数字图像传送;H265则可以实现利用1~2Mbps的传输速度传送720P(分辨率1280*720)普通高清音视频传送。
    H.265.jpg
        H.265旨在在有限带宽下传输更高质量的网络视频,仅需原先的一半带宽即可播放相同质量的视频。这也意味着,我们的智能手机、平板机等移动设备将能够直接在线播放1080p的全高清视频。H.265标准也同时支持4K(4096×2160)和8K(8192×4320)超高清视频。可以说,H.265标准让网络视频跟上了显示屏“高分辨率化”的脚步。

       H.264

        H.264,同时也是MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。这个标准通常被称之为H.264/AVC(或者AVC/H.264或者H.264/MPEG-4 AVC或MPEG-4/H.264 AVC)而明确的说明它两方面的开发者。
    H264.jpg
        H.264最大的优势是具有很高的数据压缩比率,在同等图像质量的条件下,H.264的压缩比是MPEG-2的2倍以上,是MPEG-4的1.5~2倍。举个例子,原始文件的大小如果为88GB,采用MPEG-2压缩标准压缩后变成3.5GB,压缩比为25∶1,而采用H.264压缩标准压缩后变为879MB,从88GB到879MB,H.264的压缩比达到惊人的102∶1。低码率(Low Bit Rate)对H.264的高的压缩比起到了重要的作用,和MPEG-2和MPEG-4 ASP等压缩技术相比,H.264压缩技术将大大节省用户的下载时间和数据流量收费。尤其值得一提的是,H.264在具有高压缩比的同时还拥有高质量流畅的图像,正因为如此,经过H.264压缩的视频数据,在网络传输过程中所需要的带宽更少,也更加经济。

        H.265与H.264有何不同

        在讨论H.265有哪些提升和优点之前,我们不妨先来了解一下H.264。H.264也称作MPEG-4 AVC(Advanced Video Codec,高级视频编码),是一种视频压缩标准,同时也是一种被广泛使用的高精度视频的录制、压缩和发布格式。H.264因其是蓝光光盘的一种编解码标准而著名,所有蓝光播放器都必须能解码H.264。更重要的是,因为苹果公司当初毅然决然抛弃了Adobe的VP6编码,选择了H.264,这个标准也就随着数亿台iPad和iPhone走入了千家万户,成为了目前视频编码领域的绝对霸主,占有超过80%的份额。H.264也被广泛用于网络流媒体数据、各种高清晰度电视广播以及卫星电视广播等领域。H.264相较于以前的编码标准有着一些新特性,如多参考帧的运动补偿、变块尺寸运动补偿、帧内预测编码等,通过利用这些新特性,H.264比其他编码标准有着更高的视频质量和更低的码率,也因此受到了人们的认可,而被广泛应用。
    H.265与H.264效果对比图.jpg
        H.265/HEVC的编码架构大致上和H.264/AVC的架构相似,也主要包含:帧内预测(intra prediction)、帧间预测(inter prediction)、转换 (transform)、量化 (quantization)、去区块滤波器(deblocking filter)、熵编码(entropy coding)等模块。但在HEVC编码架构中,整体被分为了三个基本单位,分別是:编码单位(coding unit,CU)、预测单位(predict unit,PU) 和转换单位(transform unit,TU )。

        H.265为何优于H.264

        比起H.264/AVC,H.265/HEVC提供了更多不同的工具来降低码率,以编码单位来说,H.264中每个宏块(marcoblock,MB)大小都是固定的16x16像素,而H.265的编码单位可以选择从最小的8x8到最大的64x64。信息量不多的区域(颜色变化不明显,比如车体的红色部分和地面的灰色部分)划分的宏块较大,编码后的码字较少,而细节多的地方(轮胎)划分的宏块就相应的小和多一些,编码后的码字较多,这样就相当于对图像进行了有重点的编码,从而降低了整体的码率,编码效率就相应提高了。同时,H.265的帧内预测模式支持33种方向(H.264只支持8种),并且提供了更好的运动补偿处理和矢量预测方法。

        反复的质量比较测试已经表明,在相同的图象质量下,相比于H.264,通过H.265编码的视频码流大小比H.264减少大约39-44%。由于质量控制的测定方法不同,这个数据也会有相应的变化。通过主观视觉测试得出的数据显示,在码率减少51-74%的情况下,H.265编码视频的质量还能与H.264编码视频近似甚至更好,其本质上说是比预期的信噪比(PSNR)要好。这些主观视觉测试的评判标准覆盖了许多学科,包括心理学和人眼视觉特性等,视频样本非常广泛,虽然它们不能作为最终结论,但这也是非常鼓舞人心的结果。
    HEVC标准参数.jpg
        目前的HEVC标准共有三种模式:Main、Main 10和Main Still Picture。Main模式支持8bit色深(即红绿蓝三色各有256个色度,共1670万色),Main 10模式支持10bit色深,将会用于超高清电视(UHDTV)上。前两者都将色度采样格式限制为4:2:0。预期将在2014年对标准有所扩展,将会支持4:2:2和4:4:4采样格式(即提供了更高的色彩还原度)和多视图编码(例如3D立体视频编码)。

        事实上,H.265和H.264标准在各种功能上有一些重叠。例如,H.264标准中的Hi10P部分就支持10bit色深的视频。另一个,H.264的部分(Hi444PP)还可以支持4:4:4色度抽样和14比特色深。在这种情况下,H.265和H.264的区别就体现在前者可以使用更少的带宽来提供同样的功能,其代价就是设备计算能力:H.265编码的视频需要更多的计算能力来解码。目前已经有支持H.265解码的芯片发布了——美国博通公司(Broadcom)在今年1月初的CES大展上发布了一款Brahma BCM7445芯片,它是一个采用28纳米工艺的四核处理器,可以同时转码四个1080P视频数据流或解析分辨率为4096×2160的H.265编码超高清视频。

        H.265标准的诞生是在有限带宽下传输更高质量的网络视频。对于大多数专业人士来说,H.265编码标准并不陌生,其是ITU-TVCEG继H.264之后所制定的视频编码标准。H.265标准主要是围绕着现有的视频编码标准H.264,在保留了原有的某些技术外,增加了能够改善码流、编码质量、延时及算法复杂度之间的关系等相关的技术。H.265研究的主要内容包括,提高压缩效率、提高鲁棒性和错误恢复能力、减少实时的时延、减少信道获取时间和随机接入时延、降低复杂度。

    展开全文
  • 举个例子:要破解现在常用的一个RSA密码系统,用当前最大、最好超级计算机需要花60万年,但用一个相当储存功能的量子计算机,则只需花上不到3个小时! 诚然,目前量子计算机已迎来里程碑式的发展,但令人颇为...

    量子计算机(quantumcomputer)是一类遵循量子力学规律进行高速数学和逻辑运算、存储及处理量子信息的物理装置。当某个装置处理和计算的是量子信息,运行的是量子算法时,它就是量子计算机。

    量子计算机获新突破,网络安全迎新挑战

    量子计算机代表的是一种新的计算范例:传统的数字电脑用二进制(0或1)存储数据,量子计算机用量子存储数据(两种数据可以重叠)。相比于传统计算机,这可以让大型量子计算机更高效的解决某些数学问题。

    举个例子:要破解现在常用的一个RSA密码系统,用当前最大、最好超级计算机需要花60万年,但用一个有相当储存功能的量子计算机,则只需花上不到3个小时!

    诚然,目前量子计算机已迎来里程碑式的发展,但令人颇为忧虑的是,量子计算的快速发展,将对密码技术产生极大的威胁和挑战。一旦实用化量子计算出现,现有的加密算法将变得十分脆弱,公钥密码体制或被快速攻破,这就意味着当前所使用的网络信息系统将不再安全。

    量子计算机能入侵日常网络活动?

    如果攻击者利用量子计算机成功破解加密技术,以下几种网络活动或被入侵,从而给用户和机构带来严重后果。

    量子计算机获新突破,网络安全迎新挑战

    1、发送电子邮件

    用户登录笔记本电脑,发送电子邮件,其信息可能会被攻击者读取,并公开发布供所有人阅读。

    2、查看网银账号

    用户登录银行账号并转账,财务数据会被攻击者获取,并将账户余额洗劫一空。

    3、更新智能手机上的软件

    用户进行软件更新时,恶意软件可能会进入智能手机,伪装成可信任的更新,攻击者从而获取应用程序的登录凭证与数据。

    4、驾驶联网汽车

    联网汽车会自动接受软件更新,这些更新亦有可能来自攻击者。用户在不知情的情况下,可能会允许第三方控制车内的嵌入式系统,破坏导航甚至切断汽车动力。

    为应对量子计算和新型攻击技术带来的安全挑战,全面提升数据安全保护能力,据悉,中国已启动“新型数据保护密码算法研究”——近日,国家“网络空间安全”重点专项中唯一的密码算法项目“新型数据保护密码算法研究”项目在成都启动。

    按照部署,未来该项目将从通信安全、计算安全、存储安全、密钥建立和认证、密码资源保护5个维度建立安全的开放融合网络环境。重点解决云计算、物联网复杂环境下协作通信与处理的安全需求,及量子计算技术发展对密码的安全性构成新的威胁。

    量子计算机的飞跃发展,成就了人类的计算速度,未来,它或将在更多领域发挥作用。然而,面对量子计算可能带来的网络安全威胁,我们更不应忽视,加强技术研究与安全防范,未雨绸缪,方可自如应对挑战!

    人工智能、大数据、云计算和物联网的未来发展值得重视,均为前沿产业,多智时代专注于人工智能和大数据的入门和科谱,在此为你推荐几篇优质好文:
    中国AI人工智能发展史,大致分为三个发展阶段
    http://www.duozhishidai.com/article-8524-1.html
    推进人工智能快速发展的动力是什么?
    http://www.duozhishidai.com/article-7846-1.html
    人工智能的四大发展趋势,未来十年改变世界
    http://www.duozhishidai.com/article-7007-1.html


    多智时代-人工智能大数据学习入门网站|人工智能、大数据、物联网云计算的学习交流网站

    多智时代-人工智能大数据学习入门网站|人工智能、大数据、云计算、物联网的学习服务的好平台
    展开全文
  • 上面我们讲解了Ajax的原理和工作流程,这篇我们就来讲讲AJAX在向服务器发送请求的两种方式的对比吧! 这里先复习一下:Ajax的工作流程 1创建XMLHttpRequest对象,也就是请求对象 2设置监听方法,通过...

    上面我们讲解了Ajax的原理和工作流程,这篇我们就来讲讲AJAX在向服务器发送请求的两种方式的对比吧!
    这里先复习一下:Ajax的工作流程
    1创建XMLHttpRequest对象,也就是请求对象
    2设置监听方法,通过onreadystatechange=function()来完成
    3设置请求(请求方式,请求地址,是否异步)
    4发送请求
    这里需要注意,请求方式有GET和POST,但是只有当请求方式为POST,发送请求的send()方法中,才可以有string参数:
    我们先来分别实现一个GET请求和POST请求之后,再来仔细区分吧,这样更容易理解:
    一个简单的GET请求

    <!DOCTYPE  html>
    <html>
    <head>
    <mete  charset="utf-8"/>
    <script>
    function loadXMLDoc(){
    /*创建请求对象*/
    var xmlhttp=new XMLHttpRequest();
    /*设置监听方法*/
    xmlhttp.onreadystatechange=function()
    {
    if(xmlhttp.readyState==4&&xmlhttp.status==200){
    document.getElementById("test").innerHTML=xmlhttp.responseText;
    }
    }
    /*设置请求,请求方式,请求地址,是否异步*/
    xmlhttp.open("GET","/try/ajax/demo_get.php",true);
    /*发送请求*/
    xmlhttp.send();
    }
    </script>
    </head>
    <body>
    <h1>AJAX的GET方法</h1>
    <button type="button" onclick="loadXMLDoc()">请求数据</button>
    <div id="test"></div>
    <p><a href="/try/ajax/demo_get.php" target="_blank">demo_get</a></p>
    </body>
    </html>
    

    建议将该段代码在菜鸟教程的在线编译器进行编译,因为我需要服务器数据,所以这里的数据,采用的是菜鸟教程的服务器端数据
    通过上面这段代码得到的很有可能是缓存的结果因为我们只发送了请求,多次执行这个请求时,取出的就很可能是缓存结果,因为服务器会把我们的请求当做是同一个请求,所以为了避免这种情况,我们可以像URL请求地址中,添加一个唯一的ID:
    1、在 Ajax 的 URL 参数后加上 “?fresh=” + Math.random();
    2、在 URL 参数后加上 “?timestamp=” + new Date().getTime();
    这两种办法都可以解决,同一原理

    <!DOCTYPE  html>
    <html>
    <head>
    <mete  charset="utf-8"/>
    <script>
    function loadXMLDoc(){
    /*创建请求对象*/
    var xmlhttp=new XMLHttpRequest();
    /*设置监听方法*/
    xmlhttp.onreadystatechange=function()
    {
    if(xmlhttp.readyState==4&&xmlhttp.status==200){
    document.getElementById("test").innerHTML=xmlhttp.responseText;
    }
    }
    /*设置请求,请求方式,请求地址,是否异步*/
    xmlhttp.open("GET","/try/ajax/demo_get.php?t="+new Date().getTime(),true);
    /*发送请求*/
    xmlhttp.send();
    }
    </script>
    </head>
    <body>
    <h1>通过添加唯一ID来防止ajax请求缓存</h1>
    <button type="button" onclick="loadXMLDoc()">请求数据</button>
    <div id="test"></div>
    <p><a href="/try/ajax/demo_get.php" target="_blank">demo_get</a></p>
    </body>
    </html>
    

    以上就是GET请求了,接下来看看另外一位主角,POST
    一个简单的POST请求

    <!DOCTYPE  html>
    <html>
    <head>
    <mete  charset="utf-8"/>
    <script>
    function loadXMLDoc(){
    /*创建请求对象*/
    var xmlhttp=new XMLHttpRequest();
    /*设置监听方法*/
    xmlhttp.onreadystatechange=function()
    {
    if(xmlhttp.readyState==4&&xmlhttp.status==200){
    document.getElementById("test").innerHTML=xmlhttp.responseText;
    }
    }
    /*设置请求,请求方式,请求地址,是否异步*/
    xmlhttp.open("POST","/try/ajax/demo_post.php",true);
    /*发送请求*/
    xmlhttp.send();
    }
    </script>
    </head>
    <body>
    <h1>AJAX的POST方法</h1>
    <button type="button" onclick="loadXMLDoc()">请求数据</button>
    <div id="test"></div>
    <p><a href="/try/ajax/demo_post.php" target="_blank">demo_post</a></p>
    </body>
    </html>
    

    这个例子就看起来和GET差不多,好了,接下来,看看POST的不同之处
    通过send()方法发送数据(使用send()发送数据的时候,需要setRequestHeader()来添加HTTP头,然后再send()方法中规定我们所需要发送的数据

    <!DOCTYPE  html>
    <html>
    <head>
    <mete  charset="utf-8"/>
    <script>
    function loadXMLDoc(){
    /*创建请求对象*/
    var xmlhttp=new XMLHttpRequest();
    /*设置监听方法*/
    xmlhttp.onreadystatechange=function()
    {
    if(xmlhttp.readyState==4&&xmlhttp.status==200){
    document.getElementById("test").innerHTML=xmlhttp.responseText;
    }
    }
    /*设置请求,请求方式,请求地址,是否异步*/
    xmlhttp.open("POST","/try/ajax/demo_post2.php",true);
    /*发送请求,需要添加http请求头*/
    xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
    xmlhttp.send("fname=Henry&lname=Ford");
    }
    </script>
    </head>
    <body>
    <h1>AJAX的POST方法</h1>
    <button type="button" onclick="loadXMLDoc()">请求数据</button>
    <div id="test"></div>
    <p><a href="/try/ajax/demo_post2.php" target="_blank">demo_post2</a></p>
    </body>
    </html>
    

    注意上面的setRequestHeader这个方法;
    其语法:setRequestHeader(bstrHeader,bstrValue);
    bstrHeader:字符串,头名称
    bstrValue 字符串,值
    通常在HTTP协议中在,客户端向服务端取得某个页面数据时,必须发送一个HTTP协议的头文件告诉服务器,要下载什么信息以及相关的参数。
    该setRequestHeader只是请求对象XMLHttpRequest为添加或修改HTTP头提供的一个接口方法。
    send(string)中string的值,就是添加或修改HTTP头的数据
    其中URL请求地址,就是服务器上文件的地址,该文件可以是任何类型的文件,TXT,xml或.php.asp(这些脚本文件在传回响应之前,可以子啊服务器上执行任务)等
    第三个参数 是否异步,
    因为AJAX是异步的JavaScript和XML,所以其XMLHttpRequest对象如果要用于AJAX,其open()方法的async,方法就必须设置为true;
    (设置为异步,可以在等待服务器响应时,执行其他脚本,响应之后,在对该响应进行处理)

    看了上面几个例子,相信大家对于GET和POST有了一定了解;
    接下来就总结一下,他们的区别:
    有无数据量限制,GET传输时有数据量限制适合发送的请求只能是256kb,POST无数据量限制,差不多可以达到4m
    发送是否包含用户输入信息,GET传输没有POST稳定和可靠
    是否简单查询信息,若只是简单的查询,那么可以使用GET,速度快
    是否涉及更新服务器上的文件或数据库,若涉及,那么使用POST

    展开全文
  • 对比于传统的基础安全,业务安全有哪些特点呢?为什么它能够成为一个独立的领域呢?在业务安全中,我们需要重点关注的防护方法又有哪些呢? 以上这些问题,在这个模块中我会详细来讲。今天,我们先从业务安全的特点...

    在这里插入图片描述

    从这一讲开始,我们讨论业务安全。近几年,随着互联网的快速发展,很多公司为了获取用户增长,在业务中投入了大量的资本。向来都是向钱看齐的黑客(在业务安全中,我们称之为黑产),自然就将攻击的重心放到了业务中。业务安全也变得越来越热门,成为各大公司安全投入的重心之一。

    对比于传统的基础安全,业务安全有哪些特点呢?为什么它能够成为一个独立的领域呢?在业务安全中,我们需要重点关注的防护方法又有哪些呢?

    以上这些问题,在这个模块中我会详细来讲。今天,我们先从业务安全的特点和防护重点入手,让你对业务安全的体系和框架有一个清晰的认识。

    如何理解业务安全?

    学习一个新知识的最好方法,一定是从我们学过的知识入手。所以,今天我会对比基础安全,来帮助你理解业务安全。基础安全其实就是我们前几个模块关注的安全攻防视角下的安全概念和知识,也叫网络安全。

    想要理解业务安全,我们先来认识一下黑产。黑产是基于正常的业务产品逻辑,采取非正常或者批量的操作,来获取利益的行为。业务安全就是通过各类产品策略,来对黑产进行识别和拦截,从而保障业务的正常运行。

    你一定见过,或者参加过“红包雨”领红包的活动。在活动中,用户可以通过“红包雨”游戏领取一定金额的红包,金额大小由前端决定。通过这个例子,我们来对比一下黑客和黑产的攻击。

    在基础安全的攻击视角中,黑客会逆向前端代码,找到最终决定金额的逻辑,然后自己伪造一个大额的红包请求。这样一来,黑客就可以不用玩游戏,同时还能获得一个大额的红包。在业务安全的攻击视角中,黑产会开发一个自动玩游戏领红包的工具,操纵大量的账号来参与活动。最终,将各个账号的小额红包汇总到一个账号下,从而实现获利。

    黑产和黑客有哪些差异?

    从前面的例子中,我能够看出,黑客在基础安全和业务安全中的攻击方式有很大不同,那它们之间具体有哪些差异呢?接下来,我们一起来分析。

    在基础安全中,黑客会通过各种 Web 安全或者系统安全的漏洞,对公司的系统和应用发起攻击,最终侵入公司系统,窃取敏感信息等成果。“黑客”原意是指擅长各类计算机技术的人,也就是在基础安全领域中,掌握各种高端技巧,能够发现并利用漏洞的攻击者。但是,在业务安全中,业内普遍将攻击者称为“黑产”。之所以会改换一个名称,我认为主要有两点原因。

    第一,“黑产”强调的是“产业化”。

    尽管黑客也存在很多组织,但黑客组织更多的是将一群黑客进行统一管理,实际发起攻击的仍然是单人或者小组。

    相比于黑客,在业务攻击中,黑产已经形成了完整的产业化链条:在上游,有人专门提供各类技术支持,如验证码绕过、手机群控、自动注册工具等;在中游,有人专门收集大量的手机号、身份证号、银行卡号等信息,在应用内注册大量的垃圾账号;在下游,有人利用工具和账号,进行薅羊毛、刷评论、欺诈等操作。可以说,任何个人或者小的团体都没有办法发起业务攻击,必须依靠上游提供的各类资源,才能够实现真正获利。产业链的结构如下图所示:
    在这里插入图片描述

    第二,黑客强调的是技术对抗,而“黑产”更看重资源对抗。

    对于黑客来说,只要技术足够强大,并且手里掌握着一些“0 day”漏洞,就能够以一己之力攻破公司的安全防御体系。但是对于黑产来说,其本质是资源对抗,所以不可能有类似黑客的“单兵作战”。那什么是资源对抗呢?

    我们来看一个例子。现在有一个“新用户注册得红包”的活动,公司可能会给每个新用户发放 1 元的现金红包,以此作为用户增长的激励措施。这个时候,如果黑产注册一个新用户的成本是 2 元(需要手机号、银行卡等各种资源支持),那显然是一个亏本的买卖。因此,黑产需要想尽办法去降低注册资源的成本。如果是你,你会怎么做呢?你可以先试着思考一下,然后再来看我下面的分析。

    生活中就有很多这样的例子。以前,你想要骑一辆自行车,需要花几百块钱买一辆。而现在,你花上一块钱,就能够骑上共享单车,还能够“随停随走”。黑产的资源对抗也是利用的这种“共享”思想:在黑产的中上游,由专门的团伙负责大批量收集各类资源,供很多下游团伙使用,这样就能在很大程度上降低黑产发起攻击的成本。

    现在,黑产购买一个手机号的成本只需要几毛钱,而互联网应用获取一个新用户需要花费几十元,这其中的利益之大可见一斑。

    从黑客与黑产之间的攻击差异中,我们能够发现基础安全和业务安全的核心差异。基础安全是防御黑客的技术攻击,避免漏洞。业务安全是防御黑产的资源对抗,避免正常业务被攻击。

    业务安全如何防护?

    在基础安全中,我们说过应用的本质是数据,安全的本质是数据的 CIA,我们可以通过黄金法则来保护数据。那么,对于业务安全来说,我们的防护思路又是怎么样的呢?

    我们还是要从业务的本质入手来解决问题。我认为,业务的本质是一种投资,也就是公司投入成本来获取用户价值。投入的成本包括应用开发的成本、服务的成本以及获取用户的成本等。

    用户的价值也多种多样,直接的如收取用户的服务费用,间接的如通过用户来获取广告收益、通过用户来吸引商家入驻收取租金等。那黑产是如何从中获利的呢?

    黑产的获利手段是通过廉价的资源,降低用户的价值,从而赚取公司投入的成本。因此,业务安全的本质就是保障用户价值不受黑产的恶意影响。保障的方法就是提高黑产的资源成本,使得黑产无法获利。这也就是我所说的,业务安全的本质其实就是资源层次上的对抗。

    那我们应该如何进行资源对抗呢?首先,我们要知道,黑产需要进行哪些资源投入。一般来说,黑产会从四个方面进行资源投入,分别是:用户资源、IP 资源、设备资源和操作资源。下面,我们一一来看。

    首先是用户资源。

    黑产通常需要获取大量的用户身份,来进行大规模的业务操作,才能实现获利。这是因为,应用通常会要求用户绑定各种信息,比如手机号、身份证、银行卡等。而黑产需要满足应用的强制绑定要求,才能获得用户身份。因此,这些手机号、身份证以及银行卡等,其实就是黑产必须投入的用户资源。

    现在,黑产有很多办法可以获取这些用户资源。我来总结了几个常见的方法:

    通过虚拟运营商或者物联网卡来获取大量非实名手机卡
    在网上搜集各类泄露的身份证图片
    在偏远地区支付十几块钱,买到他人的手持身份证照片和视频
    在类似注册任务贴吧这样的任务群中,注册一个账号之后,再转手卖给黑产
    对于用户资源的对抗,目前主要的方式就是黑名单。这里,我把黑名单的防护流程总结了一张图。
    在这里插入图片描述

    从上图中我们可以看到,用户黑名单主要有两种收集方式:内部收集和外部采购。其中,内部收集是基于用户在业务内部的行为进行判定的,流程相对复杂一些,而外部采购是直接购买汇总好的黑名单。这样一来,我们就利用黑名单实现了对黑产的拦截。

    接着,我们来说 IP 资源。

    黑产往往是在同一个地方进行大量操作的,IP 相对固定。所以,任何公司做业务安全的第一步,都是对 IP 进行限制,常见的手段是限制一个 IP 下能够登录的用户数量。为了绕过这种安全防控机制,黑产必须掌握大量的 IP 资源。

    如果你有做过爬虫,一定知道通过快代理这种网上的免费代理,来绕过反爬机制。而黑产更高级一些,黑产会利用“秒拨 IP”来获取大量 IP 资源。所谓“秒拨”,就是指每一次拨号上网,都会分配一个新的 IP 给我们。只要持续地断网、拨号,我们就能够获得大量的 IP 资源。

    下图是某个代理 IP 网站的报价,我们可以看到,目前代理 IP 的价格最低只要 0.5 分钱。也就是说,黑产只需要付出很少的成本就能获得大量 IP 资源。
    在这里插入图片描述

    事实上,我们目前很难对 IP 资源进行有效防控。IP 的变化十分频繁,一个 IP 上一分钟可能是黑产在操作,下一分钟可能就被正常用户所使用了。所以,即使我们能基于业务数据确定一个 IP 存在异常,也没有办法对它进行黑名单处理。

    除了 IP 之外,设备也是公司做业务安全的一个基础。

    在正常情况下,一个设备对应一个账号。但是,黑产可能会需要在一个设备上使用几十个账号进行操作,这就很容易被应用和公司检测到异常。因此,黑产必须想办法获取大量的设备。

    黑产获取设备的方法比较多,最简单的一种是通过模拟器来模拟设备。但是,很多公司会对前端进行检测,来发现模拟设备。因此,黑产也就从使用模拟设备升级为使用真实的手机。所以,很多黑产案件中都会出现由大量手机设备组成的“手机墙”。除此之外,也有上游团队将手机做成云控模式,下游黑产可以直接花钱购入可远程操控的真实手机设备。

    设备资源的对抗原理是对虚拟设备进行识别。这就需要依赖业务安全中比较关键的设备指纹技术了。所谓“设备指纹技术”,就是收集设备上的各类特征,对设备进行追踪,然后基于设备的行为和信息,判定是虚拟设备还是人为操作,以此对黑产进行拦截。

    最后是操作资源。

    黑产需要正常使用业务才能获利,所以在操作上会和正常用户一样花费时间和精力。这对黑产来说,也是一个不小的成本。

    比如说,在开头的例子中,用户参加“红包雨”游戏领取红包的过程,就是一个操作的过程:用户为了领取一个几毛钱的红包,在 APP 上花几分钟玩一个游戏。这显然对黑产是不合算的。因此,黑产会尝试使用一些自动化的工具,比如按键精灵,让机器来完成游戏的过程。这样一来,黑产就释放了人力的操作资源投入,大大降低了操作成本。

    所以说,我们和操作资源的对抗,就是在和黑产的自动化工具进行对抗。公司为了区分“人”和“机器”的操作,就需要使用验证码(如图片验证码、滑块验证码等)。通过这类“人”很容易完成,但“机器”很难完成的验证方式,黑产就没办法全自动地完成交互,我们也就提高了黑产的操作成本。

    总之,业务安全的防护核心就是提高黑产的资源成本。更详细的防护方案,我们会在后面的课程中详细来讲,这里你只需要对这几种资源有一个全面的认知即可。

    为了帮助你理解这 4 种资源的核心特点,我整理了一个表格供你参考,如下图所示:
    在这里插入图片描述

    总结

    好了,今天的内容讲完了。我们一起总结回顾一下,你需要掌握的重点内容。

    业务安全和基础安全在本质上就有很大的不同:在基础安全中,黑客将技术作为核心竞争力;在业务安全中,黑产将资源作为核心竞争力。谁能够以更低的成本掌握更多的资源,谁就能窃取公司更大的利益。因此,作为防守方,我们在关注业务安全的时候,也应当将关注的重点放在如何提高黑产的资源成本上,这样才能够为公司提供有力的业务安全防护。
    在这里插入图片描述

    思考题

    最后,还是给你留一道思考题。

    今天,我们讲了几个黑产必须要掌握的资源。你可以思考一下,假如你掌握了这些资源,你会如何对你的业务发起攻击?又会如何获利呢?

    欢迎留言和我分享你的思考和疑惑,也欢迎你把文章分享给你的朋友。我们下一讲再见!

    下一讲

    产品安全方案:如何降低业务对黑灰产的诱惑?

    展开全文
  • Java和C#运行命令行的例子对比

    千次阅读 2009-09-01 16:45:00
    呵呵,刚给客户解决了在C#里运行命令行的例子,顺便整理了一下Java的例子,大家参考对比一下 Java的import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;/** * Java运行...
  • 敏捷开发和瀑布模型对比  瀑布、迭代、螺旋、敏捷——在这里讨论的敏捷,都属于过程模型  ...
  • 各大编程语言优势对比哪些值得学习更高薪?

    千次阅读 多人点赞 2018-03-09 00:00:00
    人说程序员知识更新速度要很快,这是因为编程语言很容易就过时。这句话虽然有点绝对,但是也说明了热门的编程语言在不断变化,究竟哪些编程语言最值得学习、更高薪,一起来看。上一篇文章我们分享了最新一期编程...
  • 注意:尽管关系数据库管理系统(rdbms)采用的SQL语法基本相同,但可能会一些细微的差异。因此,最好检查特定RDBMS的文档,看看它是否支持完整的外部连接。 在MySQL中,完整的外连接可以通过两个左连接实现: mysql> ...
  • git对比svn什么优势

    千次阅读 2017-02-24 16:00:55
    能想出很多git优于subversion的地方,大部分是体现在分布式优于集中式的特征上,但如果你让我说出任何SVN分过来胜过git的地方,我竟一时想不出来...先举个简单的例子证明有些地方你只能用SVN而不能用git。谷歌的搜索排
  • 需求是 一个Map集合 ,然后在数据库中查询出来的数据对象的某个字段对比,看数据查询出来的对象集合中的对象字段是否完全包含了Map中的key值,下面模拟一下 public static void main(String args[]) { // map...
  • 关于SpringMVC注解模式的个人小结梳理 现在一直在用springMVC+ibatis+oracle的框架...没有连库的小事例,包含增删改查的基本功能:小结针对的是个人csdn帐号里面的一个完整的小栗子解说的哦!直接放入到eclipse或者m
  • (以下是用X'*X做出的特征向量矩阵,8个特征向量是一致的,只是差了一个负号,由于源数据样本的秩为8,所以转换后主成分基只需要8个,就能够表达源数据,而其余的基只要正交即可,所以剩余的不同。)     ...
  • from pyltp import Segmentor segmentor = Segmentor() segmentor.load('/Users/a000/git/ltp_data/cws.model') words = segmentor.segment('这本书很好') for i in words: print i 分词结果: ...
  • 开源OLAP引擎对比

    千次阅读 2019-07-28 15:59:50
    文章目录开源OLAP引擎对比OLAP简介分布式OLAP引擎分类及对比基于MPP架构的ROLAP引擎预计算引擎架构的MOLAP搜索引擎架构纯列存OLAP基于内存的SnappyData对比 开源OLAP引擎对比 OLAP简介 OLAP(On-Line Analytical ...
  • 对于第i行第j个像素 g(i,j) = alpha * f(i,j) + beta ...alpha 对应着对比度 beta 对应着亮度 #include #include #include using namespace cv; double alpha; /***/ int beta; /**< Simple brigh
  • 为了更好的理解上图,我们先来看一个生活中的例子:吃披萨 为了吃到披萨可以以下途径 1. 在家自己做 这真是个麻烦事,你的准备很多东西,发面、做面团、进烤箱。。。。。简单列一下,需要下图所示的一切: 2. 买...
  • 通过百度人脸对比API进行人脸对比

    千次阅读 2018-05-27 21:54:36
    百度人脸对比API的使用 今天突然兴趣想做个人脸识别的小demo,项目代码地址:https://github.com/lxixi01/Face_Recognition 效果如下: 步骤: 第一步,需要建立一个百度账号,申请自己的AppID, API Key和...
  • MP3对比M4A

    千次阅读 2019-08-22 18:19:19
    虽说如今的宽带比之前了很大的提升在线试听来说,可能人会觉得加载速度应该会没有差多少,但如果你把它们放回十年前的今天,估计差距就很明显了。 aac格式的音乐无论从音质、大小都能全面压制MP3,确实占据着...
  • Objective-C的语法对比(和Java的对比) 1、函数的对比 例子: helloworld方法 Java 语言: public void helloWorld(bool ishelloworld) { //TODO } Objective-C语言: -(void) HelloWorld:(BOOL)ishelloworld{ ...
  • 对比预测编码

    千次阅读 2019-07-16 21:12:43
    其中一个例子是语音识别,其中zt的接收字段可能不包含足够的信息来捕获语音内容。在其他情况下,如果不需要额外的上下文,则ZT可能会更好。如果下游任务需要整个序列的一种表示,例如在图像分类中,则可以将来自zt或...
  • Jmeter与Ab对比测试

    万次阅读 2017-04-06 09:39:31
    Ab压测的并发结果和jmeter的并发测试结果会怎么样的联系呢,我们可以对比下。在下面的例子中,在一个tomcat服务器上运行了一个简单的servlet,该servlet只是睡眠100毫秒,然后返回success给response。
  • HttpClient性能对比

    千次阅读 2015-06-07 19:39:44
    httpclient性能对比
  • Go 到底没有引用传参(对比 C++ )

    千次阅读 2017-09-02 14:53:41
    Go 到底没有引用传参(对比 C++ ) C++ 中三种参数传递方式 值传递: 最常见的一种传参方式,函数的形参是实参的拷贝,函数中改变形参不会影响到函数外部的形参。一般是函数内部修改参数而又不希望影响到调用者...
  • Kafka、RabbitMQ、RocketMQ等 消息中间件 介绍和对比

    万次阅读 多人点赞 2019-09-05 17:59:00
    文章目录1、前言2、概念2.1、MQ简介2.2、...3.1、Kafka3.2、RabbitMQ3.3、RocketMQ4、测试4.1、测试目的4.2、测试场景4.2.1、Kafka4.2.2、RocketMQ4.2.3、RabbitMQ4.3、测试结论5、消息队列优点对比5.1、各个消息队...
  • 导语:2009 年我在百度,面对 Google 公开的技术资料和百度的内部系统,我首先想起的就是 Mig-25 就跟这台战机一样,当时的百度,在中文搜索结果质量的各项指标上,对比 Google 还是优势。百度的工程师非常聪明,...
  • Cesium 影像卷帘对比

    2021-01-26 17:35:11
    可左卷也可右卷,具体参考Cesium官网,有例子。 二、效果 三、代码 1 <!-- 2 * @Author: 苹果园dog 3 * @Date: 2021-01-11 14:45:09 4 * @LastEditTime: 2021-01-17 18:52:14 5 * @LastEditors:...
  • emplace_back: I am being constructed. push_back: I am being constructed. I am being moved. Contents: Nelson Mandela was elected president of South Africa in 1994. Franklin Delano Roosevelt was re-...
  • 图表对比

    千次阅读 热门讨论 2014-01-20 15:46:19
    说到图表,大家都不陌生,小学甚至更早就开始接触图表了,但是使用图表来学习甚至把图表作为学习的一部分确实从最近开始的。...举个简单的例子:  这是一个VB的思维导图,可以看出,这是对课本的
  • 分布式数据库中间件对比总结2016年08月28日 11:19:22阅读数:11082摘要:目前数据库中间件很多,基本这些中间件在下都了解和使用,各种中间件优缺点及使用场景也都有些心的。所以总结一个关于中间件比较的系列,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 334,794
精华内容 133,917
关键字:

对比的例子有哪些