从Nginx到Pandownload,程序员如何避免面向*编程

 

据扬州网警巡查执法官方消息,百度网盘**版Pandownload开发者已被抓,同时百度网盘官方于今日凌晨对此事做出了回应。百度官方表示一直积极配合警方,严厉打击侵犯百度网盘用户数据隐私的犯罪行为。同时,百度网盘也会持续通过技术不断提升用户体验。

而据笔者看到Pandownload的作者实现以非会员权限突破百度网盘官方设定,实现高速下载的功能坦率的讲这个功能其实还好,因为从Github上看实现类似功能的APP还有一些,但是从官方的通报中还有一重要的信息是“建立QQ群,向进群人员收取1至10元不等的进群费,群内提供更稳定的“Pandownload”内测版本。截至案发,犯罪嫌疑人非法获利30万余元。

从Nginx到Pandownload,程序员如何避免面向*编程

而近期这种有关程序员的法律事件已经发生很多起了。比如去年底Nignx之父Igor Sysoev的前东家Rambler集团就对Nginx提出了侵犯版权的诉讼,声称Igor Sysoe在任职期间所有的开发成果均属于Rambler集团所有,因此也造成Igor Sysoev被警方带去。

而大概两周以前也不少网友称自己的微博信息疑遭数据泄露,甚至有网友发出了疑似微博个人数据的打包售卖截图。对此微博方面回应称,数据泄露属实,目前微博已经及时强化安全策略,微博一直有提供根据通讯录手机号查询微博好友昵称的服务,用户授权后可以使用该服务。但微博不提供用户性别和身份证号等信息,也没有“根据用户昵称查手机号”的服务。因此这起数据泄露不涉及身份证、密码,对微博服务没有影响。

以上事件其实都是程序员都是程序员在制作自己的软件时引发的,简单来讲就是由APP引发的血案。有关APP尤其是爬虫的是是非非实在太多了,据笔者观察2019年几乎所有的大数据即爬虫公司全部被查,包括新颜科技与魔蝎科技的CEO被查、公信宝被封、聚信立也宣布将暂停爬虫服务、国内大数据风控平台龙头同盾科技也被曝解散爬虫部门,这其中最惹人关注的事件,还是那位来自巧达科技的程序员,因为写了一段爬虫程序,非法从某招聘网站上下载简历信息而被起诉,引发了全网关于程序员面向“*”编程的大讨论。

而站在笔者角度来看,有关爬虫的争议和信息泄漏防护需要从数据持有方和数据爬取方两个角度来审视。

    程序员避免面向*编程之道

根据最新的流量分析,互联网40%左右的流量都是机器人也就是类似于Pandownload式的爬虫发起的,站在数据爬取方的角度,必须关注爬虫技术的法律边界,“技术无罪”的号往往不能保护广大程序员。而有关爬虫的法律问题,笔者特意咨询了单位法务部门的同事,根据我国的《刑法》、《网络安全法》的规定,爬虫可能涉及到的犯罪行为有如下情况:

1.首先侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,不论情节严重与否,构成非法侵入计算机信息系统罪。

2.违反国家有关规定,向他人出售或者提供公民个人信息,构成侵犯公民个人信息罪。也就是说通过出售个人信息获利或者侵入含有国家机密的系统均会构成犯罪,但这两种情况均不会是无心之过,但是以下规定需要格外注意。

3.违反国家规定,对计算机信息系统功能进行删除、修改、增加、干扰,造成计算机信息系统不能正常运行,后果严重的,构成犯罪。也就是如果使用爬虫的抓取力度过大,造成被攫取的网站无法正常运行的情况,并造成严重后果的也会构成犯罪。我们前文所述巧达科技的程序员也是因为爬虫流量太大,造成目标网络接近瘫痪,而涉嫌触犯此条被捕。

也就是说避免面向*编程的三原则是

  1. 不要触碰国家事务、国防建设的系统
  2. 不要触碰个人信息,更不能贩卖个人信息,而本次Pandownload的作者就由于突破用户的隐私权限,使付费会员可以下载他人的文件,也是他触犯法律的关键点。
  3. 不要通过**软件营利,因为我国的《网络安全法》对于非国家单位的相关案件,主要的判断依据还是是否营利,也就是说在Github上开源可以,但是收费可能就会有麻烦了。
  4. 合理设置爬取流量,避免DDOS攻击式的爬虫

另外为避免其它民事纠纷,要尽量遵守Robots 协议。Robots 协议是一种存放于网站根目录下的 ASCII 编码的文本文件,它通常告诉网络搜索引擎的漫游器也就是爬虫,此网站中的哪些内容是不应被爬虫获取的,哪些是可以被爬虫获取的。严格按照 Robots 协议 爬取网站相关信息一般不会出现太大问题。

因为司法实践中一般也会考虑行业的通行规范,因此一般遵守Robots 协议得到的信息不会被认为是商业机密或者个人隐私数据。或者说遵守协议所得的信息即使涉密其泄密责任一般也不会由爬取方承担。

    实际遭遇信息泄漏时应该做什么

在所有的信息泄漏中最麻烦的就是密码或者身份证信息泄漏,对此笔者有如下建议:

  1. 检查自己的征信记录:如果征信记录中有异常,尤其是遭遇不明原因的贷款时,那么大概率是遇到严重的信息泄漏情况了。此时如果联系不上贷款平台,可以尽早报案,以保护自己的合法权益。
  2. 解除三方平台的绑定关系:一般来说银行对于客户银行卡的保护力度还是比三方支付公司要大的,所以如遇信息泄漏,可以先解除与三方支付平台的绑定关系及关闭定时自动扣款服务,必要时再更换银行卡。

    程序员的应对之道

 

而总结程序员的应对之道,以下几点需要注意:

1)不要利用工作时间创作自己的产品

2)不要利用了公司的资金、设备及未公开信息

3)本职工作相关是否离职、调动满一年时间后再进行创作

4)不要利用公司的电脑进行编程,尤其不要用公司提供的WIFI查看自己项目在GithubISSUE或者提交PR。这些不经意的行为可能将给公司以借口提起争议。

5)不要贩卖信息,更不要通过信息赚钱