因为爬虫失控,CTO和程序员双双被判刑
導讀:要做一個文明的爬蟲技術(shù)團隊。
開發(fā)
KG公司2014年成立,早期做互聯(lián)網(wǎng)金融,2017年轉(zhuǎn)型做互聯(lián)網(wǎng)科技公司,主營業(yè)務是“助貸”,也就為按揭貸款購房的客戶提供贖樓及債務置換貸款等服務。
這個業(yè)務需要經(jīng)常性地訪問政府居住證網(wǎng)站,查詢房產(chǎn)地址、房屋編碼和學區(qū)房的使用情況,用于做房產(chǎn)的市場評估和客戶風險評估。
因為手動查詢效率低下,公司產(chǎn)品組經(jīng)討論后提出了一個建議——用爬蟲軟件自動查詢。
2017年12月,CTO安排新入職的程序員負責這個項目,要求他研發(fā)一個自動定時抓取的小程序,主要用來查詢、下載網(wǎng)上的數(shù)據(jù)。
2018年1月,項目經(jīng)理給程序員一個抓取數(shù)據(jù)的程序源代碼,程序員開始修改。
2018年3月,小程序被部署在阿某云服務器上自動運行,其內(nèi)置的“網(wǎng)絡爬蟲”可以:
鏈接某市居住證網(wǎng)站,也就是某市公安局人口管理處的居住證系統(tǒng);?
可以在某市居住證網(wǎng)站上查詢到房產(chǎn)地址、房屋編碼等對應的資料;?
軟件對網(wǎng)站訪問量能達到每小時數(shù)十萬次。
查詢的信息都被下載保存到公司購買的阿某云服務器上。
這個程序還被用于查詢房地產(chǎn)中介(中原地產(chǎn)、鏈家地產(chǎn)、Q房網(wǎng)等)在網(wǎng)上掛盤的房子信息,主要是查詢房價、用作參考。
出事
2018年4月27日10:43-12:00左右,居住證系統(tǒng)的承建單位發(fā)現(xiàn)系統(tǒng)出現(xiàn)宕機現(xiàn)象,追蹤到請求應用服務器端口編號,但因日志缺失而無法定位IP來源,當時懷疑是人為攻擊。
2018年5月2日10:00-12:00左右,系統(tǒng)再次遭遇攻擊,這次管理人員成功地截取了IP地址并報案。
此時,公司這邊還不知道惹禍了,直到2018年5月17日晚上11點,服務器維護人員接到了阿某云客服的電話。阿某云說他們公司的服務器IP被網(wǎng)警鎖定了,因有攻擊行為,讓他們趕緊聯(lián)系網(wǎng)警。CTO隨即電話聯(lián)系研發(fā)人員(應該是指程序員),對方說估計是因為居住證網(wǎng)站加了驗證碼,但公司程序沒做相應的更新,就造成了程序出錯發(fā)出攻擊行為。
5月攻擊事件的影響很大。
案發(fā)時,某市居住證服務平臺的注冊用戶超過530萬,服務面包括:
所有市民的網(wǎng)上自助受理系統(tǒng);
151個派出所、街道辦居住證受理點的現(xiàn)場受理系統(tǒng);
后臺接口為市網(wǎng)格辦、市交警局、市民政局,市交委等多個政府部門提供居住證、居住登記條件查詢和審核。
居住證系統(tǒng)受攻擊癱瘓期間:
軟件對某市居住證系統(tǒng)查詢訪問量為每秒183次,共計查詢信息約151萬條次,竊取大量建筑物編碼數(shù)據(jù),造成政府信息泄漏;
所有居住證辦理、居住登記申報、信息查詢、對外服務功能均無法正常工作,影響面極廣;
市民無法辦理居住證和居住登記,相關(guān)生產(chǎn)生活秩序受到嚴重影響。
除了此次攻擊,還有一些派出所出具證明證實5月期間經(jīng)常出現(xiàn)系統(tǒng)無法登陸,錄入過程頻繁出現(xiàn)掉線、系統(tǒng)數(shù)據(jù)異常等情況。居住證系統(tǒng)無法正常使用、出現(xiàn)異常情況的時間長達一個多月。
供述
2018年8月,CTO、程序員被捕。
公安分局依法對公司進行搜查,提取應用程序源程序,應用程序日志及運行在服務器獲取的數(shù)據(jù)。經(jīng)司法鑒定所鑒定確認:
導出的庫備份中檢出多個包含房產(chǎn)信息的數(shù)據(jù)表,包括房產(chǎn)的所處位置、樓宇編號、房間編號等信息,約有2905萬條;
在程序員的電腦上檢測出爬蟲程序的源代碼;
在IP地址為XXXX的服務器檢出爬蟲程序,這兩個爬蟲軟件程序均使用遍歷查詢的方式短時間向目標網(wǎng)址URL地址“......”發(fā)起大量查詢請求,從而實現(xiàn)非授權(quán)下載數(shù)據(jù)庫內(nèi)容。
針對某市居住證網(wǎng)站及服務器的司法鑒定意見確認:
網(wǎng)站遭受自動化程序攻擊。IPXXXX對居住證服務器的持續(xù)大量的訪問造成了平臺在……期間無法正常對外提供服務,服務器無法正常運行。
CTO供述和辯解時說:
爬取的是公開信息,沒有任何惡意去攻擊網(wǎng)站和系統(tǒng),只是為了提高查詢效率。沒有爬取個人信息,沒有在市場上買賣或者和其他公司搞資源置換,沒有通過查詢某市居住證網(wǎng)站信息獲利。軟件是公司管理層開會決定開發(fā)的,由法定代表人交代技術(shù)部研發(fā),系統(tǒng)里的查詢和下載功能是程序員程序員負責開發(fā)的。程序員設(shè)定的是每周三次自動查詢,后面怎么實施的我也不清楚,主要是程序員負責。
他還說自己也知道“從技術(shù)上來講,如果超過服務器承載能力的查詢肯定會引起系統(tǒng)卡頓或癱瘓”,但因不清楚網(wǎng)站和系統(tǒng)的承載能力,加上心存僥幸,就只是口頭提醒同事在服務器晚間相對空閑的時候去查詢,控制一下頻率。
程序員供述和辯解時稱:
不清楚抓取數(shù)據(jù)的原程序是誰研發(fā)的,沒有因查詢居住證網(wǎng)站而獲利,這是工作任務。3月份后就去做公司安排的其他任務了,這個程序在服務器上啟動后,也沒有對程序做修改和更新,也沒有進入服務器的權(quán)限,權(quán)限在運維部門。
沒有爬取個人信息,沒有在市場上買賣或者和其他公司搞資源置換,只是用于公司業(yè)務上的參考。4月27日在公司,5月2日在日本,當時沒對程序作出修改,猜測是因為居住證平臺更新了驗證碼登陸功能,而我們的查詢軟件未做相應的更新,導致程序出錯,發(fā)出攻擊行為。
判決
二被告對起訴狀中指控的罪名沒有異議,只是希望能輕判。做罪輕辯護時:
都提出自己只是過失、疏忽大意,沒有預見可能會造成的后果,主觀上完全沒有破壞系統(tǒng)的故意;
都提出爬取的是公開信息,只是為了讓公司業(yè)務更高效,并沒有以此牟利;
CTO認為自己授權(quán)程序員開發(fā)爬蟲程序,只是一次性爬取,并未要求每天自動爬取,不是主犯;
程序員認為自己只是按領(lǐng)導指示、完成工作任務……
法院認為,二人違反國家規(guī)定,對計算機信息系統(tǒng)進行干擾,造成為5萬以上用戶提供服務的計算機信息系統(tǒng)不能正常運行累計1小時以上,屬于后果特別嚴重,應以破壞計算機信息系統(tǒng)罪追究其刑事責任。
CTO,負責并授權(quán)程序員開發(fā)涉案爬蟲軟件,系主犯,判處有期徒刑三年 程序員受指派開發(fā)爬蟲軟件,在共同犯罪中起次要作用,系從犯,判處有期徒刑一年六個月。
最高人民法院、最高人民檢察院關(guān)于辦理危害計算機信息系統(tǒng)安全刑事案件應用法律若千問題的解釋
至于這個案子里的其他人,從公司的法定代表人、提出建議的產(chǎn)品經(jīng)理、傳達任務和給源代碼的項目經(jīng)理,到使用數(shù)據(jù)的業(yè)務部門的同事,都沒責任,法務/合規(guī)/風控看起來更是從未出現(xiàn)。
總體來說,正常經(jīng)營的公司,網(wǎng)絡爬取數(shù)據(jù)引發(fā)民事糾紛的常見,涉刑的不常見。立項時多問一句“我們這么做有沒有風險”“會不會出事”沒壞處,畢竟看起來是“集體決策”的決策最后往往并不是集體買單!
最后:警鐘長鳴,愿各位珍重,做一個守法、護法、有原則的技術(shù)人。
來源:數(shù)據(jù)保護官
有道無術(shù),術(shù)可成;有術(shù)無道,止于術(shù)
歡迎大家關(guān)注Java之道公眾號
好文章,我在看??
總結(jié)
以上是生活随笔為你收集整理的因为爬虫失控,CTO和程序员双双被判刑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python3中文教程_Python视频
- 下一篇: 大厂面试:一个四年多经验程序员的BAT面