Facebook 50%用户是虚假账号?我觉得可以更高!
0x00 背景
今天下午看新闻时,无意看到一条关于facebook虚假帐号(fake account)消息:

一下子就被这标题吸引了眼球,因为作为一个第三方机构,能够对facebook这样如此海量的帐号中的fake account进行测量,并得出这样一个比较具体的结果。非常非常好奇是怎么做到的,数据都是怎么来的。于是,在CCN原文中找到了这份75页的研究报告,地址:https://www.plainsite.org/realitycheck/fb.pdf。
0x01 探索
等待下载报告的时候,脑海中已经很兴奋,想着到底会是什么渠道获取到的数据,会是爬虫吗?如果是爬虫,会是怎么样牛逼的爬虫,判断虚假帐号的模型是怎么样的?
报告下载完成后,看到这样75页的长度报告还是很畏惧的:

虽然每天都阅读不少的英文,不过大多都是推文和简短的新闻,最多十分钟就可以看完一篇。这种论文风格的文章看起来还是比较费劲的。
坚持看完前几页后,隐约觉得事情有一点不对,怎么是在说作者自己的创业史以及扎克伯格的facebook创业史??

此时有点看不下去了,便看了看报告的目录,以及在文章中寻找50%或者fifth(y)的字眼,然后找到了关键段落了。此时报告已经来到了54页了!

0x02 结论
对此时的上下文进行了阅读后,我发现了这作者简直是个逻辑鬼才!!!其得出facebook 20亿月活用户中有一半是假的的结论,有一个很关键的点:
facebook中存在多个同名并且头像和简介相同的帐号,所以存在的虚假账号比facebook官方公布的多。其举的一个例子是" jack nicas"这个名字,给出了下图:

可是我去搜索这个人,得出的结果是这样的:
难道我们不是用的同一个facebook???

当然facebook中的确存在这样的帐号,比如搜索"Jack Mark",会出来一堆同姓名的人:

但是他们的头像和信息并不相同啊!!!
依靠这个观点,作者神逻辑来了!
Facebook月活用户和处理掉的虚假帐号数量是公开的,下图是facebook每个季度处理的虚假账号数量,其中2017 Q4是694m(m指的是百万),2018 Q1是583m。

所以从2017 Q4到2018 Q3,facebook处理掉的虚假账号数量为694m+583m+800m+754m=2.841 bilion。
Facebook在2018 Q3的月活用户为2.271 bilion。
然后神奇的算法出来了!!!

2.841 / (2.841+2.271) = 55%
得到这个55%后,作者手动减了5%作为误差,然后就是标题中50%了。

Facebook中的确存在还没有处理掉的虚假用户,但是你这个算法也真是太牛逼了!!!你为什么不把facebook之前处理的虚假用户都给算上???这样完全得出一个更高的比列,60%?70%?或者直接99%吧??
0x03 后记
最近看了不少这样的标题党,不光是这样的报告,还有一些华而不实的工具,就是介绍和命令行看起来很炫酷的那种!
吐槽归吐槽,但是老外这包装能力真是让人跪了,熟话说,"打不过就加入",教练我想学这个!!!
by:会飞的猫
Facebook 50%用户是虚假账号?我觉得可以更高!的更多相关文章
- 管理员技术(四): 配置NTP网络时间客户端、 创建一个备份包、 配置用户和组账号、配置一个cron任务
一. 配置NTP网络时间客户端 目标: 本例要求配置虚拟机 server0,能够自动校对系统时间.相关信息如下: 1> NTP服务器位于 classroom.example.com ...
- loadRunner之参数化,对用户名和密码进行参数化,并打印输出---实际操作:用户登录的账号用随机值来登录
录制脚本,对用户名和密码进行参数化: Action() { web_url("WebTours", "URL=http://127.0.0.1:1080/WebTours ...
- .NET通过PowerShell操作ExChange为用户开通邮箱账号
最近工作中一个web项目需要集成exchange邮箱服务,注册用户时需要动态创建邮箱用户,终于在http://www.cnblogs.com/gongguo/archive/2012/03/12/23 ...
- win7系统标准用户恢复administrator账号方法
一次误操作,把管理员账号给禁用了,满眼的泪花~~~~~~~~~ 标准用户,什么都干不了,怎么办呢????? 度娘一下,各种奇葩答案,就是解决不了 呵呵,最后找到了解决方法: 1.开机后BIOS过后,按 ...
- 阿里云dataworks数据工场用户使用子账号
如果您是第一次使用子账号登录数加平台和使用DataWorks,您需要获知以下内容: 该子账号所属主账号的企业别名. 该子账号的用户名和密码. 该子账号的AccessKey ID和AccessKey S ...
- 用HttpSessionListener统计在线用户或做账号在线人数管理
使用HttpSessionListener接口可监听session的创建和失效 session是在用户第一次访问页面时创建 在session超时或调用request.getSession().inva ...
- 让用户使用第三方账号(如亚马逊账号)接入AWS IoT系统
我们想象这么一个IoT应用场景:厂商A使用AWS IoT来开发物联网解决方案,那么A把设备卖给用户的时候,需要使用户能够登入AWS IoT系统来控制其购买的A的设备,也就是说给用户分配适当的权限.下面 ...
- GraphQL漏洞案例之获取Facebook任意用户的朋友列表和部分支付卡详细信息
Facebook有一个GraphQL endpoint,只能由Facebook的某些应用程序使用.需要用户(或页面)access_token来查询GraphQL endpoint. 这里可以将Face ...
- 50个jQuery代码段帮你成为更好的JavaScript开发者
1. 如何创建嵌套的过滤器: 允许你减少集合中的匹配元素的过滤器,只剩下那些与给定的选择器匹配的部分.在这种情况下,查询删除了任何没(:not)有(:has)包含class为“selected”(.s ...
随机推荐
- eclipse 右键发现没有 build-path
1)确认下是否有.project和.classPath文件 2)点击右上角按钮先切换到java下,默认方式是javaEE 然后就能出现build path了 这是build path 子项为灰色,依然 ...
- js MD5加密处理
关于MD5: MD5.js是通过前台js加密的方式对用户信息,密码等私密信息进行加密处理的工具,也可称为插件. 在本案例中 可以看到MD5共有6种加密方法: 1, hex_md5(value) 2, ...
- 利用python scapy包进行抓包发包与ARP扫描
小技巧 通过在交互式的python解释器下,可以通过help()函数查看函数或模块的用途. dir() 函数不带参数时,返回当前范围内的变量.方法和定义的类型列表:带参数时,返回参数的属性.方法列表 ...
- nohup: failed to run command `java': No such file or directory
在执行脚本添加这一行 source /etc/profile exec nohup java -Xms1024m -Xmx2048m -jar /opt/dev/claimzuul/$JAR_BAO ...
- ASP 基础一 网站开发 初步认识
一 .ASP 与 ASP.NET的区别 i.ASP是解释型的动态语言,asp文件包含了前端和动态语言VBScript,来实现对服务器的交互,运行在IIS.PWS等WEB服务器上 II.ASP.NET是 ...
- Android学习之基础知识七—碎片的使用
碎片(Fragment)是一种可以嵌入在活动中的UI片断,它能让程序更加合理和充分地利用大屏幕的空间,它与活动相似,可以简单的理解为一个迷你型的活动,它也有自己的生命周期.碎片在平板的应用非常广泛. ...
- Android学习之触点事件的处理
知识点: 1. Android开发中的运动事件:触摸屏(TouchScreen)和滚动球(TrackBall) 2.对运动事件的处理:MotionEvent 3.触摸时必发的三个MotionEvent ...
- Android 解决在初次打开Activity加载布局文件时,ScrollView滚动条不在顶部的问题
出现这种问题的情况列举:ScrollView中嵌套有(包括自定义)的ListView,GridView时,会出现这种情况 解决办法: 1.在布局加载时让ScrollView上面的那个控件聚焦,具体做法 ...
- Android 新加几个开源项目
http://www.androidviews.net http://www.theultimateandroidlibrary.com test 最低版本: 简介: 地址: 效果图: test A ...
- Attention[Content]
0. 引言 神经网络中的注意机制就是参考人类的视觉注意机制原理.即人眼在聚焦视野区域中某个小区域时,会投入更多的注意力到这个区域,即以"高分辨率"聚焦于图像的某个区域,同时以&qu ...