數據爬蟲的罪與罰—兼論非法獲取計算機信息系統數據罪的適用
作者:吳衛明 2021-03-17數據爬蟲,也稱網絡爬蟲、網頁蜘蛛、網絡機器人(robots),是按照一定的規則,自動地抓取互聯網信息的程序或者腳本。爬蟲,是一種在網絡數據獲取過程中的常見技術,但也是容易發生爭議的一種技術措施。近期,一件刑事案件判決書在網上披露,引發了人們對于數據爬蟲刑法規制的思考。對于如何適用“非法獲取計算機信息系統數據罪”,也值得進一步探討。
案例簡介: 經法院認定:被告單位上海某網絡科技有限公司(抓取公司),于2016年至2017年間采用技術手段抓取被害單位北京某網絡技術有限公司(簡稱“被抓取公司”)服務器中存儲的視頻數據,并通過破解被抓取公司的防抓取措施,使用“tt_spider”文件實施視頻數據抓取行為,造成被抓取公司損失技術服務費人民幣2萬元。經鑒定,“tt_spider”文件中包含通過頭條號視頻列表、分類視頻列表、相關視頻及評論3個接口對被抓取公司服務器進行數據抓取,并將結果存入到數據庫中的邏輯。在數據抓取的過程中使用偽造device_id繞過服務器的身份校驗,使用偽造UA及IP繞過服務器的訪問頻率限制。 法院認為,被告單位及相關負責人違反國家規定,采用技術手段獲取計算機信息系統中存儲的數據,情節嚴重,其行為已構成非法獲取計算機信息系統數據罪,應予懲處。鑒于被告單位及相關負責人能夠如實供述自己的犯罪事實,違法性認識不足,認罪態度較好,加之本案適用認罪認罰從寬制度,故法院對被告單位及其相關負責人均予以從輕處罰。 由于該案件適用了認罪認罰程序,因而判決書對于案件的重要事實及控辯雙方的觀點并未充分展示。從判決書披露的信息看,之所以認為該案件構成“非法獲取計算機信息系統數據罪”,是因為采用“tt_spider”文件實施了視頻數據抓取行為,并且,在抓取過程中,使用偽造device_id繞過服務器的身份校驗,使用偽造UA及IP繞過服務器的訪問頻率限制。 在判決書中,對于違法行為描述為 “偽造device_id”、“偽造UA及IP”、“偽造device_id繞過服務器的身份校驗”。然而,如果對行為進行深入分析后,該等行為是否構成以技術手段獲取計算機信息系統存儲的數據,從而構成“非法獲取計算機信息系統數據罪?是值得商榷的。 一、爬蟲的含義與常見應用場景 隨著互聯網的發展,如何從海量的網頁中找到有價值或需要的信息,成為互聯網用戶面臨的一個棘手問題。 在需求的驅動下,爬蟲程序應運而生。從爬蟲的最初應用場景而言,爬蟲程序是互聯網搜索和信息獲取方式的進步,大大提高了互聯網信息傳播的效率。爬蟲常見的分類包括:通用爬蟲、聚焦網絡爬蟲、增量式爬蟲等。一般而言,爬蟲常見的應用場景有以下幾種: 1、搜索引擎 搜索引擎(Search Engine)屬于典型的網絡通用爬蟲,即根據一定的策略、運用特定的計算機程序從互聯網上搜集信息,在對信息進行組織和處理后,為用戶提供檢索服務,將用戶檢索相關的信息展示給用戶的系統。比如傳統的通用搜索引擎baidu、Yahoo和Google等,搜索引擎主要是目的是幫助用戶找到具有特定信息的網頁或服務器。 2、特定信息收集場景 搜索引擎等通用爬蟲對標相應網頁的應用場景,只能解決用戶找到特定服務器和網頁的用途。對于互聯網企業而言,通常需要在特定網頁深度獲取特定信息,如某網站的產品種類、商品信息、價格信息、評論信息等特定內容。對于此類應用場景,則需要編寫在網頁內獲取特定信息的爬蟲程序,即聚焦網絡爬蟲(Focused Web Crawler)。聚焦網絡爬蟲,通常用于獲取與經營、服務等有關的信息,一般具有商業應用目的。由于此類爬蟲需要在競爭對手的網頁獲取有價值的商業信息,因而,往往是最容易產生民事糾紛或發生刑事控告的爬蟲應用。 3、完成特定代理任務的爬蟲 所謂特定代理任務,是指網絡用戶在一定場景下,將登陸網站注冊賬戶的賬戶名與密碼提供給爬蟲程序的使用者,使用者登陸用戶賬戶,并采用爬蟲程序提取賬戶內特定信息,以完成信息核驗即其他指定用途。此類用途中,由于爬蟲程序需要登入特定賬戶,因而存在較大爭議,也是容易產生刑事控告的爬蟲應用。 除上述較為典型場景外,還有用于監測網站數據更新情況的增量式網絡爬蟲(Incremental Web Crawler),即實時監測網站數據更新,從而爬取網站中最新更新出來的數據。此類場景事實上也是為了完成特定的信息收集,屬于特定信息收集場景的延伸。 從上述爬蟲應用場景來看,爬蟲的核心目的是為了方便互聯網信息的瀏覽和收集,爬蟲本身并不具有違法性。正如所有的技術手段都具有兩面性一樣,爬蟲程序也存在被濫用的情況,甚至被用于違法乃至犯罪行為。 這就需要對爬蟲涉及的刑法罪名進行深度解析,從而在遏制犯罪的同時,防止刑法適用的擴大,從而影響技術手段的正常應用,降低社會經濟效率。 二、爬蟲行為所涉罪名 由于爬蟲行為的目的是獲取有關信息,因此,爬蟲行為首先要訪問一定的信息系統,然后獲取信息系統記錄的信息,獲取的信息可能是公民個人信息也可能是其他信息。據此,從訪問結果的角度看,如果獲取的是公民個人信息,且獲取過程具有非法性,則可能涉及到“侵犯公民個人信息罪”;而如果從獲取過程的角度看,如果關注的是訪問行為本身的合法與否,則會涉及“非法獲取計算機信息系統數據罪”。當然,如果明知爬蟲程序用于非法目的而提供,則可能構成“提供侵入、非法控制計算機信息系統的程序、工具罪”。 本文所引用案例中,涉及的罪名為“非法獲取計算機信息系統數據罪”。由于本文主要聚焦于爬蟲行為技術措施的法律認定,且爬蟲行為在適用“非法獲取計算機信息系統數據罪”方面極易產生理解的偏差,故對于爬蟲行為可能涉及的其他刑法罪名不做表述。 1、非法獲取計算機信息系統數據罪客觀方面的界定 我國《刑法》第二百八十五條關于非法獲取計算機信息系統數據罪的客觀方面的具體表述為“違反國家規定,侵入國家事務、國防建設、尖端科學技術領域以外的計算機信息系統或者采用其他技術手段,獲取該計算機信息系統中存儲、處理或者傳輸的數據,情節嚴重的”。 該條規定中,對于什么是 “侵入”或“采用其他技術手段”?并沒有做出界定。這是該罪名在適用時面臨的一個難題。 而在《最高人民法院、最高人民檢察院關于辦理危害計算機信息系統安全刑事案件應用法律若干問題的解釋》(法釋〔2011〕19號)中,對于非法獲取計算機信息系統數據罪客觀方面中“侵入”的特征,也未予以明確。但該司法解釋第二條對提供侵入、非法控制計算機信息系統程序、工具罪中用于“侵入”的程序、工具的表述為“具有避開或者突破計算機信息系統安全保護措施,未經授權或者超越授權獲取計算機信息系統數據的功能的”。參考該條款,可以認為非法獲取計算機信息系統數據罪客觀方面中的“侵入”應當具備的特征包括“避開或者突破計算機信息系統安全保護措施”, “未經授權訪問或訪問危害了計算機信息系統的安全”。但該司法解釋對于什么是“其他技術手段”,同樣并沒有做出界定。 2、非法獲取計算機信息系統數據罪的法益分析 該罪名在《最高人民法院、最高人民檢察院關于辦理危害計算機信息系統安全刑事案件應用法律若干問題的解釋》(法釋〔2011〕19號)(簡稱“《司法解釋》”)中,被列入“危害計算機信息系統安全犯罪”。由此可見,該罪名設置的目的主要是維護國家對于計算機信息系統安全的管理秩序,保護的法益是信息系統的安全。 對于特定計算機信息系統的控制者而言,第三方訪問信息系統,并獲取信息系統所承載信息,存在民事法律利益的判斷和刑事法益的判斷。如果訪問方法不危害信息系統安全,則只涉及民事法律利益,即民事的財產權利或競爭法的權益。而訪問方法危害信息系統安全,則可能涉及刑事法的法益。與民事法律關注信息系統內容物不同的是,刑事法律關注的主要是信息系統的安全。爬蟲行為是否影響了信息系統安全,應成為判斷爬蟲刑事違法性的基礎。 然而,什么樣的訪問行為會危害計算機信息系統的安全,《刑法》與《計算機信息系統安全司法解釋》并未給出清晰的界定。 三、計算機信息系統安全的內涵 從《司法解釋》的立法本意來看,其目的是保護計算機信息系統的安全。因此,對于信息系統安全的內涵進行解析,將是認定“非法獲取計算機信息系統數據罪”的前提。什么是安全?什么樣的行為會被認定為危害了計算機信息系統的安全? 《刑法》第二百八十五條對于罪名的表述包含兩個路徑,其一是“侵入+獲取數據”;其二是“其他技術手段+獲取數據”。罪名表述中,對于“侵入”并無明確界定。但參考《司法解釋》第二條對提供侵入、非法控制計算機信息系統程序、工具罪中用于“侵入”的程序、工具做了表述。考慮到這些程序和工具的目的是實施侵入,因此,司法解釋關于第二條的表述可作為 “侵入”行為的參考認定標準。該條款對于工具的表述為:“具有避開或者突破計算機信息系統安全保護措施,未經授權或者超越授權獲取計算機信息系統數據的功能的”。 據此,“侵入”行為可以概括為“避開或突破計算機信息系統安全保護措施”,而其他技術手段,也應具有避開或突破計算機信息系統安全的功能,或與“侵入”具有同等的危害程度。綜上,信息系統安全的界定,成為罪名認定的關鍵。 筆者認為,計算機信息系統安全,是具有特定含義的,不能將計算機信息系統安全的概念擴大和泛化(參見《數據爬蟲與網絡空間控制權研究》一文,吳衛明,2020年7月)。關于安全的定義,當前并無專門的法律法規及技術規范予以界定。但是,從一些規則的內容可以間接推導出安全的內涵。 1、《網絡安全法》對于安全的定義 《網絡安全法》并無安全的直接定義,但是,該法第二十一條間接對安全做了描述。該條款規定,國家實行網絡安全等級保護制度。網絡運營者應當按照網絡安全等級保護制度的要求,履行下列安全保護義務,保障網絡免受干擾、破壞或者未經授權的訪問,防止網絡數據泄露或者被竊取、篡改。 基于此,可以看出,安全包括:不被被干擾和被破壞、不允許未經授權的訪問、不發生網絡數據泄露或被竊取及篡改。 2、《信息安全等級保護管理辦法》的界定 《信息安全等級保護管理辦法》沒有直接定義安全,而是采用了信息系統遭受破壞后造成的損失,來定義安全等級。系統破壞對公民、法人、社會利益、國家利益造成的損失越大,其信息系統安全等級保護的要求越高。而在公安部2018年6月27日發布的《網絡安全等級保護條例(征求意見稿)》中,則將該條款中的損失進行了具體化的界定,以信息系統遭到破壞、喪失功能或者數據被篡改、泄露、丟失、損毀后造成的損失來定義安全等級。 3、安全的幾個要素 基于上述法律、規章及法規征求意見稿的歸納,筆者認為,計算機信息系統安全的幾項重要內涵如下(參見《網絡安全法若干問題解析》,吳衛明,2019年4月): 其一、自主訪問控制 即信息系統的控制者,能夠決定訪問控制策略,讓合法許可的用戶訪問系統,而將非授權用戶擋在系統訪問之外。 其二、身份鑒別機制 對于經過授權的特定用戶,能夠通過用戶身份與登陸密碼等控制措施進行有效的身份鑒別。 其三、數據的安全完整 信息系統安全的核心是數據安全,通過自主訪問控制策略與身份鑒別機制,保護系統數據的安全及完整,不被篡改、竊取、泄露。 綜上,從立法的本意看,突破了系統控制者的自主訪問控制策略,并破壞了以用戶名加密碼方式構建的身份識別體系,進入計算機信息系統,方能被認為屬于危害計算機信息系統安全的行為,或者被視為侵入。具體而言,可能包括利用相關工具破解特定用戶的登陸密碼,或者利用系統漏洞,進入了未開放的系統。 四、常見的反爬蟲措施 很多網站為了防范非正常用戶(通常是競爭對手或其他商業用戶)獲取數據,一般或采取如下措施實施反爬蟲(參見《數據爬蟲與網絡空間控制權研究》,吳衛明,2020年7月)。 1、IP校驗 由于網頁或APP頁面信息具有公開性,無法通過自主訪問控制策略和用戶名加密碼的身份識別機制識別正常用戶和競爭對手,很多網站經營者通過行為模式對訪問者進行識別。其中IP校驗就是一種識別方法,通過該種方法識別非正常訪問者,并通過技術措施“封殺”該IP的訪問。爬蟲程序通過多服務器或者采用虛擬服務器,即可繞過該種措施的識別。 2、UA校驗 UA的中文表述為用戶代理,它是發起訪問方的識別標識之一,通常表現為一個特殊字符串頭,使得被訪問方服務器能夠識別客戶使用的操作系統及版本、CPU 類型、瀏覽器及版本、瀏覽器渲染引擎、瀏覽器語言、瀏覽器插件等。通過UA的校驗,可以識別出來訪IP屬于正常用戶還是機器。因此,通過程序仿造UA是爬蟲程序繞過反爬蟲措施的常用方法。 3、驗證碼校驗 如果時正常用戶,識別圖形驗證碼非常容易,而如果是機器用戶,識別圖形驗證碼將比較困難,采用這種方式,也可以起到反爬蟲的作用。但隨著技術發展,驗證碼機制的作用也在下降。 從以上措施可以看出,反爬蟲措施的核心不在于允許哪些特定用戶訪問。而在于,面對不特定用戶均可自由訪問的情況下,識別出正常用戶和非正常的商業用戶(參見《數據爬蟲與網絡空間控制權研究》,吳衛明,2020年7月)。反爬蟲程序的針對目標是競爭對手,保護的是競爭利益,而不是刑法保護的網絡安全的法益。 五、繞過反爬蟲措施的刑法意義 如上一部分所述,只有突破了特定用戶身份鑒別機制的未授權訪問才應該被視為危害信息系統的侵入行為。那么,網站通常采用的一些反爬蟲措施,是否屬于信息系統安全措施范圍呢?抑或只應被界定為民事范疇的防范競爭者侵權的措施?筆者認為,反爬蟲措施的界定,與爬蟲程序的信息爬取方式有關。 1、破解系統登陸密碼或利用系統安全漏洞的爬蟲行為 此種情況下,無論是破解登陸密碼還是利用安全漏洞進入非開放系統,本質都是違反了系統控制者的自主訪問控制策略和身份鑒別機制。系統控制者的本意是允許特定注冊用戶在權限內訪問非開放系統,而破解行為和利用漏洞訪問的行為,都超越了系統控制者的訪問控制策略。該種爬蟲行為具有刑法上的違法性,應按照“非法獲取計算機信息系統數據罪”予以處理。 2、繞過反爬蟲措施的行為 如本文所列舉的案例中,法院認定,被告單位主要采取了繞過反爬蟲措施實施數據爬取。法院所認定的違法行為包括:在數據抓取的過程中使用偽造device_id繞過服務器的身份校驗,使用偽造UA及IP繞過服務器的訪問頻率限制。 筆者認為,device_id只是設備的識別號,并不具有用戶名加密碼的識別意義。因此,偽造device_id如果是為了讓反爬蟲措施無法識別,本身并不具有刑法上的違法性(參見《數據爬蟲與網絡空間控制權研究》,吳衛明,2020年7月)。由于該判決書對于如何偽造device_id并未進一步論述,被告是否通過冒用用戶ID并破解密碼等方式進行未經授權的訪問,從判決書并無法得知。如果僅僅是設備ID的變換,并不具有特定的刑法意義。 而偽造UA及IP繞過服務器的訪問頻率限制,由于其保護的目標不是信息系統安全,而是防范不正當競爭的權益,因此屬于競爭法范疇的不當措施,并不具有刑法上的違法性。 綜上,筆者認為,爬蟲程序本身具備技術中立性。一般情況下,公開的網頁或APP頁面,如果僅僅采用了UA校驗、IP校驗等方式實施反爬蟲,那么爬蟲程序對于頁面公開內容的訪問和數據獲取,本身不具有刑事違法性。但是,如果爬蟲程序在實施訪問時,采用破解用戶密碼或利用系統安全漏洞,訪問了非公開的系統,則應按照非法獲取計算機信息系統數據罪論處。如果侵入系統后,獲取的是公民個人信息,則涉及與侵犯公民個人信息罪的競合問題。當然,由于本文主要針對非法獲取計算機信息系統數據罪,對于侵犯公民個人信息罪不做展開論述。






