5 亿微博数据疑泄露,Python 爬虫如何避免踩天坑?
作者 | 马超
来源 | CSDN(ID:CSDNnews)
3月19日,默安科技CTO魏兴国发微博称,微博数据泄露了不少用户的手机号,当中涉及不少微博认证的明星和企业家。
亦有网友在他的微博评论区表示:“有超过5.38亿条微博用户信息在暗网出售,其中1.72亿条有账户基本信息,售价0.177比特币。涉及到的账号信息包括用户ID、账号发布的微博数、粉丝数、关注数、性别、地理位置等。”
目前,这条微博已经删除。
针对此事,微博方面回应称,数据泄露属实,目前微博已经及时强化安全策略,微博一直有提供根据通讯录手机号查询微博好友昵称的服务,用户授权后可以使用该服务。
但微博不提供用户性别和身份证号等信息,也没有“根据用户昵称查手机号”的服务。因此这起数据泄露不涉及身份证、密码,对微博服务没有影响。
据此我们可以判断出这次微博个人信息泄漏的安全事件,其原因应该是通讯录好友匹配攻击导致的。很多社交App都有通过通讯录匹配好友的功能。攻击者可以伪造本地通讯录来获得手机号到微博用户账号的关联。比如通过伪造的手机号匹配好友,并不断列举,就能关联出所有用户帐号到微博ID到手机号的关系。
本次事件纠其本质其实是利用合法API的不合理使用来套取、收集信息的过程,简单来讲就是一个爬虫引发的血案。
有关爬虫的是是非非实在太多了,据笔者观察2019年几乎所有的大数据即爬虫公司全部被查,包括新颜科技与魔蝎科技的CEO被查、公信宝被封、聚信立也宣布将暂停爬虫服务、国内大数据风控平台龙头同盾科技也被曝解散爬虫部门。
这其中最惹人关注的事件,还是那位来自巧达科技的程序员,因为写了一段爬虫程序,非法从某招聘网站上下载简历信息而被起诉,引发了全网关于程序员面向“监狱”编程的大讨论。
而站在笔者角度来看,有关爬虫的争议和信息泄漏防护需要从数据持有方和数据爬取方两个角度来审视。
数据持有方的盾:DLP数据泄露防护系统
这次信息泄漏事件发生后,我们可以看到微博第一时间就回应不涉及身份证、密码等敏感信息的外流,我相信这背后的底气还是来自于微博对其数据泄漏防护(Data leakage prevention, DLP)的信心。
远程办公大背景下,先要做好内部预防:据国家计算机信息安全测评中心数据显示,重要资料被黑客窃取和被内部员工泄露的比例为1:99.也就是说有互联网出口的企业,其内部重要机密通过网络泄密而造成重大损失的事件中,只有1%是被黑客窃取造成的,而都是由于内部员工有意或者无意之间泄露而造成的。尤其是在目前远程办公的背景下,这种由员工引发的信息泄漏情况其实风险更高,企业在数据边界建立一套安全防护体系十分重要。
员工终端出口防控:部分大厂都有一套数据沙盒运行或者加密机制,用来阻止数据由使用的客户端流出,并且一般在DLP的整体解决方案中,还会使用图像处理技术还会将员工屏幕图像的频域中加入特定指纹,以追踪员工泄漏截屏信息。记得在2017年阿里脚本秒杀月饼的事件中,就有人因泄漏截图信息而被处理,这背后其实就是频域指纹的技术。再有就是对内网中包括U盘、移动硬盘、红外、WIFI、蓝牙等输出端口实施监控,对拷贝到移动存储设备的文档进行强制加密。
互联网出口防控:而针对互联网出口DLP技术几乎和AI图像处理与NLP技术同步发展,一般都会使用最新的分类模型,监控异常流量,防止数据外泄,这里还是再次强调一下系统上云的重要性。
数据爬取方之道:避免面向监狱编程
根据最新的流量分析,互联网40%左右的流量都是机器人也就是爬虫发起的,站在数据爬取方的角度,必须关注爬虫技术的法律边界,“技术无罪”的号往往不能保护广大程序员。
而有关爬虫的法律问题,笔者特意咨询了法务同事,根据我国的《刑法》、《网络安全法》的规定,爬虫可能涉及到的犯罪行为有如下情况:
1.首先侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,不论情节严重与否,构成非法侵入计算机信息系统罪。
2.违反国家有关规定,向他人出售或者提供公民个人信息,构成“侵犯公民个人信息罪”。也就是说通过出售个人信息获利或者侵入含有国家机密的系统均会构成犯罪,但这两种情况均不会是无心之过,但是以下规定需要格外注意。
3.违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,构成犯罪。也就是如果使用爬虫的抓取力度过大,造成被攫取的网站无法正常运行的情况,并造成严重后果的也会构成犯罪。我们前文所述巧达科技的程序员也是因为爬虫流量太大,造成目标网络接近瘫痪,而涉嫌触犯此条被捕。
也就是说避免面向监狱编程的三原则是
1. 不要触碰国家事务、国防建设的系统
2. 不要触碰个人信息,更不能贩卖个人信息
3. 合理设置爬取流量,避免DDOS攻击式的爬虫
另外为避免其它民事纠纷,要尽量遵守Robots 协议。Robots 协议是一种存放于网站根目录下的 ASCII 编码的文本文件,它通常告诉网络搜索引擎的漫游器也就是爬虫,此网站中的哪些内容是不应被爬虫获取的,哪些是可以被爬虫获取的。严格按照 Robots 协议 爬取网站相关信息一般不会出现太大问题。
因为司法实践中一般也会考虑行业的通行规范,因此一般遵守Robots 协议得到的信息不会被认为是商业机密或者个人隐私数据。或者说遵守协议所得的信息即使涉密其泄密责任一般也不会由爬取方承担。
实际遭遇信息泄漏时应该做什么
在所有的信息泄漏中最麻烦的就是密码或者身份证信息泄漏,对此笔者有如下建议:
1. 检查自己的征信记录:如果征信记录中有异常,尤其是遭遇不明原因的贷款时,那么大概率是遇到严重的信息泄漏情况了。此时如果联系不上贷款平台,可以尽早报案,以保护自己的合法权益。
2. 解除三方平台的绑定关系:一般来说银行对于客户银行卡的保护力度还是比三方支付公司要大的,所以如遇信息泄漏,可以先解除与三方支付平台的绑定关系及关闭定时自动扣款服务,必要时再更换银行卡。
作者简介:马超,CSDN博客专家、阿里云MVP、华为云MVP,金融科技行业资深从业者,著名的国产操作系统及数据库软件的布道者。
【end】◆精彩推荐◆推荐阅读百万人学AI:CSDN重磅共建人工智能技术新生态对标Pytorch,清华团队推出自研AI框架“计图”医疗保健、零售、金融、制造业……一文带你看懂大数据对工业领域的影响!如何开发日均吸引100万活跃用户的DApp?先收藏再看!Kubernetes这么火你还不知道是啥?赶紧来看看吧~微信 iOS 版正式支持深色模式;谷歌宣布彻底取消I/O开发者大会;Visual Studio 2019 16.5发布你点的每个“在看”,我都认真当成了AI
5 亿微博数据疑泄露,Python 爬虫如何避免踩天坑?相关推荐
- 5亿微博用户信息泄露背后:BTC与暗网数据的纠缠
来源 | 碳链价值(ID:cc-value) 在目前中心化架构的互联网服务下,尽管各大互联网公司尽力防备,数据泄露事件层出不穷.再加上在这个时代,数据慢慢变成了一种重要的生产要素,同时猎奇之风盛行,「 ...
- 1分钟插入10亿行数据!抛弃Python,写脚本请使用Rust
新智元报道 来源:Avinash 一位程序员急需在一分钟之内生成十亿行的测试数据库,然而在用Python写了脚本之后发现「大失败」.怎么办?当然是用Rust了! 于是,他做了一个所有程序员都会 ...
- 如何用python爬股票数据_python爬虫股票数据,如何用python 爬虫抓取金融数据
Q1:如何用python 爬虫抓取金融数据 获取数据是数据分析中必不可少的一部分,而网络爬虫是是获取数据的一个重要渠道之一.鉴于此,我拾起了Python这把利器,开启了网络爬虫之路. 本篇使用的版本为 ...
- 因错误配置第三方服务,已有过亿用户数据遭到泄露
点击上方 "编程技术圈"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 每日英文 Smile, Because you're beautiful; ...
- CSDN 2020 博客之星实时数据排名(Python 爬虫 + PyEcharts)
CSDN 2020 博客之星实时数据排名:csdn.itrhx.com CSDN 一年一度的博客之星评选开始了,官网地址:https://bss.csdn.net/m/topic/blog_star2 ...
- python爬取javascript变量数据_javascript - [新手]python爬虫爬取中证指数官网数据
问 题 想用python爬虫获取中证指数官网上的几个主要指数的每日估值更新,但是下载下来的页面内容却没有想要的数据.想要的数据前面有个JavaScript标签,是不是光靠python没办法获取这个数据 ...
- python爬取微博数据词云_爬虫篇:使用Python动态爬取某大V微博,再用词云分析...
这是我用大V冯大辉老师最近5000多条微博内容做的词云,大家可以围观一下. 之前也写了一篇用python 来爬取朋友的QQ说说,大家也可以围观一下 好了,开始进入正题:#coding:utf-8 &q ...
- 如何用python爬取图片数据_“python爬取微博图片教程“用Python爬虫爬取的图片怎么知道图片有没有水印...
怎样用python爬新浪微博大V所有数据 我是个微博重度,工作之余喜欢刷刷timeline看看有什么新鲜事发也因此认识了高质量的原创大V,有分享技术资料的,比如好东西传送门:有时不时给你一点人生经验的 ...
- 二月安全月报 | 45亿条快递数据疑泄露,Twitter史上最大规模宕机
为了让大家更全面的了解网络安全的风险,顶象针对每月值得关注的安全技术和事件进行盘点总结. 国内安全热点
最新文章
- C++调用openssl使用sha256,并取结果前64位作为uint64
- 【错误记录】安装 Visual Studio 2013 中文语言包报错 ( 需要 Microsoft Visual Studio Test Agent , 但此计算机上并为安装它 )
- thinkphp模板中使用方法
- numba.jit警告:warnings.warn(errors.NumbaDeprecationWarning(msg, state.func_ir.loc))
- CSS中display:block、inline、inline-block
- 洛谷P4463:calc(dp、拉格朗日插值)
- Python -- 三元表达式(三目运算符)
- 剑指offer面试题26-复杂链表的复制
- 经典检索算法:BM25算法
- iOS APP 逆向安全杂谈之三
- 能测试快充真假的软件,ChargerLAB测试工具使用技巧:一键检测苹果数据线真伪...
- MATLAB制图代码
- Validation and Data leakages
- win10经常无法复制粘贴
- 什么是映射?如何清晰的理解映射?
- 【Android安全】Google Hardware-backed Keystore | SafetyNet | 远程证明Remote Attestation
- iic的SDA引脚偶尔有毛刺(尖峰)是怎么回事。
- 人工智能python+dlib+opencv技术10分钟实现抖音人脸变狗头详细图文教程和完整项目代码
- php 无限子站cms,PHP整理CMS无限层级目录(毗邻目录模式)
- Self-augmented Unpaired Image Dehazing via Density and Depth Decomposition程序运行记录