開發
KG公司2014年成立,早期做網際網路金融,2017年轉型做網際網路科技公司,主營業務是“助貸”,也就為按揭貸款購房的客戶提供贖樓及債務置換貸款等服務。
這個業務需要經常性地訪問政府居住證網站,查詢房產地址、房屋編碼和學區房的使用情況,用於做房產的市場評估和客戶風險評估。
因為手動查詢效率低下,公司產品組經討論後提出了一個建議——用爬蟲軟體自動查詢。
2017年12月,CTO安排新入職的程式設計師負責這個專案,要求他研發一個自動定時抓取的小程式,主要用來查詢、下載網上的資料。
2018年1月,專案經理給程式設計師一個抓取資料的程式原始碼,程式設計師開始修改。
2018年3月,小程式被部署在阿某雲伺服器上自動執行,其內建的“網路爬蟲”可以:
- 連結某市居住證網站,也就是某市公安局人口管理處的居住證系統;
- 可以在某市居住證網站上查詢到房產地址、房屋編碼等對應的資料;
- 軟體對網站訪問量能達到每小時數十萬次。
查詢的資訊都被下載儲存到公司購買的阿某雲伺服器上。
這個程式還被用於查詢房地產中介(中原地產、鏈家地產、Q房網等)在網上掛盤的房子資訊,主要是查詢房價、用作參考。
出事
2018年4月27日10:43-12:00左右,居住證系統的承建單位(某超算中心)發現系統出現宕機現象,追蹤到請求應用伺服器埠編號,但因日誌缺失而無法定位IP來源,當時懷疑是人為攻擊。
2018年5月2日10:00-12:00左右,系統再次遭遇攻擊,這次管理人員成功地截取了IP地址並報案。
此時,公司這邊還不知道惹禍了,直到2018年5月17日晚上11點,伺服器維護人員接到了阿某雲客服的電話。阿某雲說他們公司的伺服器IP被網警鎖定了,因有攻擊行為,讓他們趕緊聯絡網警。CTO隨即電話聯絡研發人員(應該是指程式設計師),對方說估計是因為居住證網站加了驗證碼,但公司程式沒做相應的更新,就造成了程式出錯發出攻擊行為。
5月攻擊事件的影響很大。
案發時,某市居住證服務平臺的註冊使用者超過530萬,服務麵包括:
- 所有市民的網上自助受理系統;
- 151個派出所、街道辦居住證受理點的現場受理系統;
- 後臺介面為市網格辦、市交警局、市民政局,市交委等多個政府部門提供居住證、居住登記條件查詢和稽核。
居住證系統受攻擊癱瘓期間:
- 軟體對某市居住證系統查詢訪問量為每秒183次,共計查詢資訊約151萬條次,竊取大量建築物編碼資料,造成政府資訊洩漏;
- 所有居住證辦理、居住登記申報、資訊查詢、對外服務功能均無法正常工作,影響面極廣;
- 市民無法辦理居住證和居住登記,相關生產生活秩序受到嚴重影響。
除了此次攻擊,還有一些派出所出具證明證實5月期間經常出現系統無法登陸,錄入過程頻繁出現掉線、系統資料異常等情況。居住證系統無法正常使用、出現異常情況的時間長達一個多月。
供述
2018年8月,CTO、程式設計師被捕。
公安分局依法對公司進行搜查,提取應用程式源程式,應用程式日誌及執行在伺服器獲取的資料。經司法鑑定所鑑定確認:
- 匯出的庫備份中檢出多個包含房產資訊的資料表,包括房產的所處位置、樓宇編號、房間編號等資訊,約有2905萬條;
- 在程式設計師的電腦上檢測出爬蟲程式的原始碼;
- 在IP地址為XXXX的伺服器檢出爬蟲程式,這兩個爬蟲軟體程式均使用遍歷查詢的方式短時間向目標網址URL地址“......”發起大量查詢請求,從而實現非授權下載資料庫內容。
針對某市居住證網站及伺服器的司法鑑定意見確認:
- 網站遭受自動化程式攻擊。
- IPXXXX對居住證伺服器的持續大量的訪問造成了平臺在……期間無法正常對外提供服務,伺服器無法正常執行。
CTO供述和辯解時說:
- 爬取的是公開資訊,沒有任何惡意去攻擊網站和系統,只是為了提高查詢效率。
- 沒有爬取個人資訊,沒有在市場上買賣或者和其他公司搞資源置換,沒有透過查詢某市居住證網站資訊獲利。
- 軟體是公司管理層開會決定開發的,由法定代表人交代技術部研發,系統裡的查詢和下載功能是程式設計師程式設計師負責開發的。
- 程式設計師設定的是每週三次自動查詢,後面怎麼實施的我也不清楚,主要是程式設計師負責。
他還說自己也知道“從技術上來講,如果超過伺服器承載能力的查詢肯定會引起系統卡頓或癱瘓”,但因不清楚網站和系統的承載能力,加上心存僥倖,就只是口頭提醒同事在伺服器晚間相對空閒的時候去查詢,控制一下頻率。
程式設計師供述和辯解時稱:
- 不清楚抓取資料的原程式是誰研發的,沒有因查詢居住證網站而獲利,這是工作任務。
- 3月份後就去做公司安排的其他任務了,這個程式在伺服器上啟動後,也沒有對程式做修改和更新,也沒有進入伺服器的許可權,許可權在運維部門。
- 沒有爬取個人資訊,沒有在市場上買賣或者和其他公司搞資源置換,只是用於公司業務上的參考。
- 4月27日在公司,5月2日在日本,當時沒對程式作出修改,猜測是因為居住證平臺更新了驗證碼登陸功能,而我們的查詢軟體未做相應的更新,導致程式出錯,發出攻擊行為。
判決
二被告對起訴狀中指控的罪名沒有異議,只是希望能輕判。做罪輕辯護時:
- 都提出自己只是過失、疏忽大意,沒有預見可能會造成的後果,主觀上完全沒有破壞系統的故意;
- 都提出爬取的是公開資訊,只是為了讓公司業務更高效,並沒有以此牟利;
- CTO認為自己授權程式設計師開發爬蟲程式,只是一次性爬取,並未要求每天自動爬取,不是主犯;
- 程式設計師認為自己只是按領導指示、完成工作任務……
法院認為,二人違反國家規定,對計算機資訊系統進行干擾,造成為5萬以上使用者提供服務的計算機資訊系統不能正常執行累計1小時以上,屬於後果特別嚴重,應以破壞計算機資訊系統罪追究其刑事責任。
- CTO,負責並授權程式設計師開發涉案爬蟲軟體,系主犯,判處有期徒刑三年
- 程式設計師受指派開發爬蟲軟體,在共同犯罪中起次要作用,系從犯,判處有期徒刑一年六個月。
最高人民法院、最高人民檢察院關於辦理危害計算機資訊系統安全刑事案件應用法律若千問題的解釋
至於這個案子裡的其他人,從公司的法定代表人、提出建議的產品經理、傳達任務和給原始碼的專案經理,到使用資料的業務部門的同事,都沒責任,法務/合規/風控看起來更是從未出現。
總體來說,正常經營的公司,網路爬取資料引發民事糾紛的常見,涉刑的不常見。立項時多問一句“我們這麼做有沒有風險”“會不會出事”沒壞處,畢竟看起來是“集體決策”的決策最後往往並不是集體買單。