我国目前并未出台专门针对网络爬虫技术的法律规范,但在司法实践中,相关判决已屡见不鲜,K 哥特设了“K哥爬虫普法”专栏,本栏目通过对真实案例的分析,旨在提高广大爬虫工程师的法律意识,知晓如何合法合规利用爬虫技术,警钟长鸣,做一个守法、护法、有原则的技术人员。

案情介绍

2018年1月至7月期间,呙某兴通过SQL注入漏洞以及编写爬虫脚本的方式,侵入计算机信息系统,获取计算机系统内存储的大量数据,其中涉及到个人信息的数量约为1500万余条,该将其获取的个人信息通过QQ销售给“Versace”、“同花顺”、“FF”、“糖果”等人,从中获利约54万余元。

公诉机关认为,呙某兴违反国家规定,侵入计算机信息系统,获取该计算机系统中存储的数据,情节特别严重,其行为触犯了《中华人民共和国刑法》第二百八十五条第二款,应当以非法获取计算机信息系统数据罪追究其刑事责任。

呙某兴对被指控的罪名无异议,但辩称起诉书指控的数量有异议,其只用了20多万条信息;对指控的入侵方式有异议,SQL技术不是入侵技术,爬虫技术只能获取网站页面的信息不能入侵系统或获取数据。

供述情况

被告人呙某兴的辩护人的主要辩护意见:

1.被告人获取计算机信息系统数据使用的SQL注入漏洞是常见的黑客技术,被告人所获取的信息多为网站上公开的信息,只是将SQL方式作为一种收集手段、采用爬虫脚本具备合法性;

2.对起诉书指控涉及个人信息数量1500万余条有异议。获取的计算机信息系统数据有部分无效数据、涉案信息数据存在重复性、非法获利与涉案信息数量不对应;

3.对指控被告人获利54万元有异议,被告人通过爬虫脚本获得信息销售所得利益应属合法收益,应予以扣除;

4.被告人主动交代犯罪事实,认罪悔罪态度好,犯罪情节较轻,愿意缴纳罚金,建议对其适用缓刑。

法院认为,被告人呙某兴违反国家规定,侵入计算机信息系统,获取该计算机系统中存储的数据,情节特别严重,其行为已构成非法获取计算机信息系统数据罪,公诉机关指控成立。

关于被告人及其辩护人所提对起诉书指控涉及个人信息数量1500万余条有异议,部分计算机信息系统系数据系无效数据且存在重复计算问题的辩解和辩护意见,本院认为,公诉机关对被告人获取的信息进行重新梳理,合理推断出1500万余条个人信息,能够识别特定自然人身份或者反映特定自然人活动情况,故对该项辩解及辩护意见,本院不予采纳。

关于被告人及其辩护人所提获取计算机信息系统数据使用的SQL注入漏洞只是一种收集手段、采用爬虫脚本具备合法性,获取的信息多为网站上公开的信息的辩解和辩护意见,本院认为,被告人使用SQL注入漏洞以及编写爬虫脚本的方式侵入计算机信息系统,获取计算机系统内存储的大量数据,其中涉及到个人信息的数量达到约1500万余条,并非网站页面信息,故对该项辩解及辩护意见,本院不予采纳。

关于辩护人所提对指控被告人获利54万元有异议,应扣除被告人通过爬虫脚本获得的合法信息收入的辩护意见,本院认为,被告人通过编写爬虫脚本的方式非法入侵计算机信息系统,获取计算机系统内储存的信息并出售所得系违法收入,应计入违法所得,故对该项辩护意见,本院不予采纳。

关于辩护人所提被告人主动交代自己的犯罪事实,认罪悔罪态度好的辩护意见,本院认为,被告人辩称其使用SQL注入漏洞以及编写爬虫脚本的方式均未入侵到计算机系统,获取的只是网站页面信息,不属于如实供述自己的罪行,故对该项辩护意见,本院不予采纳。

判决情况

被告人呙某兴犯非法获取计算机信息系统数据罪,判处有期徒刑五年,并处罚金人民币二万元。对被告人呙某兴违法所得人民币54万元依法予以追缴或责令退赔。

判决文书全文:

https://wenshu.court.gov.cn/website/wenshu/181107ANFZ0BXSK4/index.html?docId=JfzQF7Z4/9e1lWn1usoF7Iqj7B9Z57edExldSpEjnzIAIFtb8Dxqsp/dgBYosE2gc2cTGVpSTHaQan7hFsr1Z3QhUB9pTwx7alMunkuJwH71nc0rzmfld8ZkrIqaAiag

反思总结

法院以呙某兴未经网站授权,利用特定网站的漏洞,使用 SQL 注入漏洞以及编写爬虫脚本的方式侵入计算机信息系统,获取计算机系统内存储的大量数据,其中涉及到个人信息的数量达到约1500万余条,且并非网站页面信息为由认定了该行为的非法性,我们先来了解下 SQL 注入和网络爬虫的基本原理:

  • SQL 注入:当我们访问动态网页时, Web 服务器会向数据访问层发起 SQL 查询请求,如果权限验证通过就会执行 SQL 语句。这种网站内部直接发送的 SQL 请求一般不会有危险,但实际情况是很多时候需要结合用户的输入数据动态构造 SQL 语句,如果用户输入的数据被构造成恶意 SQL 代码,Web 应用又未对动态构造的 SQL 语句使用的参数进行审查,导致其传入的“数据”拼接到 SQL 语句中后,被当作 SQL 语句的一部分执行,可能会导致数据库受损(被脱库、被删除、甚至整个服务器权限陷)。
  • 网络爬虫:网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本,网络爬虫能够自动请求网页,并将所需要的数据抓取下来,通过对抓取的数据进行处理,从而提取出有价值的信息,高水准者可 ”所见即所得“,意为只要是能看的内容就能爬取到,重点在于采集的都是正常用户能浏览到的内容。

所以侵入计算机信息系统并不是爬虫所能做到的事,数据库层面的渗透亦或是攻击应当是通过 SQL 注入实施的,而法院将编写爬虫脚本列为呙某兴侵入计算机信息系统的方式之一,是因为非法获取计算机信息系统数据罪与侵犯公民个人信息罪是法条竞合的关系,指一个犯罪行为同时触犯数个具有包容关系的具体犯罪条文,依法只适用其中一个法条定罪量刑的情况。不论是如呙某兴辩护中所述其利用爬虫技术采集的是某些网站上公开的个人信息,亦或是利于 SQL 注入技术渗透进数据库,再利用爬虫批量采集个人信息,这都是触犯了法律的 “红线” 的,理论上看,爬虫作为一项网络信息搜索技术,具有技术中立性,并未被我国现行法律所明令禁止,但是在司法实务中,“技术中立原则” 的适用是有边界的,如果使用技术的人用以危害社会,利用技术手段实施犯罪行为,则不因 “技术中立原则” 而免除刑事责任,如果涉及的是公民个人信息,基于特别法条优先于普通法条的原则,呙某兴的行为,适用于侵犯公民个人信息罪,对于公民个人信息数据一定要慎之又慎!

需要注意的是,一些网站会采取反爬措施,包括封 IP、封账号、JS 参数加密、代码混淆、浏览器指纹、TLS 指纹、验证等,以增加爬虫程序资源的成本,更有企业积极开发反爬虫技术以限制网络爬虫的访问权限,绕过网站反爬虫措施获取数据属于违背权利人意愿读取、收集数据,将有较大可能被认定为对计算机信息系统的 “侵入”,进而以非法获取计算机系统数据罪定罪处罚。对于 “侵入” 的理解:在以往判例中,司法机关主要基于以下两种路径判定对计算机信息系统的 “侵入”:一是无用户身份的侵入,即通过盗取、破解密码等方式进入系统;二是超权限访问的侵入,即具有合法用户身份,但超越自身授权范围访问信息资源。

信息公开不等同于数据公开,对于爬虫工程师来说,并不需要去厘清概念背后的区别与联系,只是在业务开展中需要树立风险防范意识,贸然爬取公开可见的信息仍会存有一定刑事风险,仔细甄别所要爬取的数据类型,谨慎处理包含公民个人信息、商业秘密等内容的信息,希望大家凡事三思而后行,老话长谈,谨记一点,公司是老板的,自由是自己的,法律是不容触犯的!

【k哥爬虫普法】非法入侵计算机信息系统,获取1500万余条个人信息!的更多相关文章

  1. 【转】计算机信息系统安全保护等级划分准则(GB 17859-1999)

    计算机信息系统安全保护等级划分准则(GB 17859-1999) 概述 计算机信息系统安全保护等级划分准则(GB 17859-1999) 1 范围 本标准规定了计算机系统安全保护能力的五个等级,即: ...

  2. 计算机信息系统安全保护等级划分准则(GB 17859-1999)

    概述 计算机信息系统安全保护等级划分准则(GB 17859-1999) 1 范围 本标准规定了计算机系统安全保护能力的五个等级,即: 第一级:用户自主保护级: 第二级:系统审计保护级: 第三级:安全标 ...

  3. 爬虫(十六):scrapy爬取知乎用户信息

    一:爬取思路 首先我们应该找到一个账号,这个账号被关注的人和关注的人都相对比较多的,就是下图中金字塔顶端的人,然后通过爬取这个账号的信息后,再爬取他关注的人和被关注的人的账号信息,然后爬取被关注人的账 ...

  4. [Python爬虫] 使用 Beautiful Soup 4 快速爬取所需的网页信息

    [Python爬虫] 使用 Beautiful Soup 4 快速爬取所需的网页信息 2018-07-21 23:53:02 larger5 阅读数 4123更多 分类专栏: 网络爬虫   版权声明: ...

  5. Python之爬虫(二十一) Scrapy爬取所有知乎用户信息(下)

    在上一篇文章中主要写了关于爬虫过程的分析,下面是代码的实现,完整代码在:https://github.com/pythonsite/spider items中的代码主要是我们要爬取的字段的定义 cla ...

  6. Python之爬虫(二十) Scrapy爬取所有知乎用户信息(上)

    爬取的思路 首先我们应该找到一个账号,这个账号被关注的人和关注的人都相对比较多的,就是下图中金字塔顶端的人,然后通过爬取这个账号的信息后,再爬取他关注的人和被关注的人的账号信息,然后爬取被关注人的账号 ...

  7. 利用爬虫、SMTP和树莓派3B发送邮件&续集&(爬取墨迹天气预报信息)

    -----------------------------------------------学无止境----------------------------------------------- 前 ...

  8. python爬虫实战(一)——实时获取代理ip

    在爬虫学习的过程中,维护一个自己的代理池是非常重要的. 详情看代码: 1.运行环境 python3.x,需求库:bs4,requests 2.实时抓取西刺-国内高匿代理中前3页的代理ip(可根据需求自 ...

  9. JAVA获取计算机的IP、名称、操作系统等信息

    [java] view plaincopyprint? import java.io.BufferedReader; import java.io.InputStream; import java.i ...

  10. python:爬虫获取淘宝/天猫的商品信息

    [需求]输入关键字,如书包,可以搜索出对应商品的信息,包括:商品标题.商品链接.价格范围:且最终的商品信息需要符合:包邮.价格差不会超过某数值 #coding=utf-8 ""&q ...

随机推荐

  1. Appuploader工具让ipa上传到App Store 的最新流程和步骤

    ​ 苹果官方提供的工具xcode上架ipa非常复杂麻烦.用appuploader 可以在 mac 和windows 上制作管理 证书 ,无需钥匙串工具 条件:1.以Windows为例,创建app打包i ...

  2. 方法记录 | 文件批量导入Goodnotes

    一般来说通常资料都是用网盘下载了很多文件,想用Goodnotes来写批注,记笔记等,但是由于网盘不能直接分享.也不能批量分享到Goodnotes,给学习带来了很大的麻烦. 当然有钱的大佬们呢直接开了 ...

  3. SAE 联合乘云至达与谱尼测试携手共同抗疫

    作者 | 营火.计缘.张祖旺 前言 当前疫情形势依然严峻,各行各业众志成城,携手抗疫.新冠病毒核酸检测筛查是疫情防控的重要一环,如何应对疫情的不断反复,以及每日数以万计的核酸检测结果成为每个检测公司的 ...

  4. 在vue项目中使用momentjs获取今日、昨日、本周、本月、上月、本年、上年等日期,时间比较计算

    https://blog.csdn.net/qq_15058285/article/details/119925056

  5. echarts 饼图 点击事件

    https://www.cnblogs.com/wcnwcn/p/11170279.html

  6. Linux 文件目录配置及命令总结

    前言 在Linux中,一切皆文件,而每一个文件和目录都是从根目录开始的 Linux文件目录的作用 /bin目录:用来存放二进制可执行命令的目录,用户常用的命令都存在该目录下. /sbin目录:用来存放 ...

  7. configmap 和 secret 概述

    本篇文章是对 configmap 和 secret 的一个总结,详细信息可看 这里 1. configmap 和 secret 概述 在 container 的 image 中可通过 ENTRYPOI ...

  8. 线性代数 · 矩阵 · Matlab | 满秩分解代码实现

    背景 - 矩阵的满秩分解: 若 A 为 m×n 矩阵,rank(A) = r,则存在 F m×r.G r×n,使得 A = FG. 其中,F 列满秩,G 行满秩. 求满秩分解的方法: 得到 A 的行最 ...

  9. iframe访问页面,出现 ERR_BLOCKED_BY_RESPONSE

    那是因为服务器输出了 X-Frame-Options 头,只要把这个头删除掉,就没问题了

  10. CoreDNS -- DNS服务与服务发现

    CoreDNS -- DNS服务与服务发现 DNS服务器 手册:https://coredns.io/manual/toc/ Github:https://github.com/coredns/cor ...