程序員,技術的“背鍋俠”,盤點 2020 年面向監獄編程的那些事!

【CSDN 編者按】過去一年,“刪庫跑路”、安全漏洞等事件層出不窮,企業、技術人深受其害,作爲一名程序員,在新的一年即將到來之際,我們該如何避免面向監獄編程?

作者 | 馬超       責編 | 張紅月

出品 | CSDN(ID:CSDNnews)

2020 年轉眼間白駒過隙般飛奔而去,在歲末年初的當口,筆者在回顧這一年程序員世界的大事件後,突然發覺如何避免程序員面向監獄編程是個特別值得一談的話題。

過去一年的「刪庫」回憶錄

這幾天一款秒殺茅臺酒的 Python 項目,突然在 GitHub 上火了起來,不過聯想到年初 Pandownload 事件主角因販賣不限速網盤工具而獲罪的新聞,筆者不禁爲這個項目的發起人略感到擔心。

當然避免面向監獄編程並不是普通程序員纔要考慮的問題,9 月末百度元老史有才因涉及非法爲賭博網站推廣而被警方帶走,可見就算你身居高位也無法保證安全。

而部分公司權限分配不合理,加之程序員在工作期與單位已經發生嚴重矛盾,這樣的情況下極端的刪庫跑路事件也是時有發生,如微盟的核心數據庫於 2020 年 2 月 23 日 19 點被員工惡意刪庫,直到 3 月 3 日上午 9 點數據才恢復正式上線。針對事故給客戶造成的影響,微盟準備了 1.5 億元人民幣賠付撥備金,其中公司承擔 1 億元,管理層承擔 5000 萬元。

如果說上述情況不算是無心之過,那麼今年年初某個程序員因爲接了個外包,幫別人寫了個軟件,結果因軟件涉賭鋃鐺入獄 456 天的刷屏新聞,還歷歷在目。

所以看似被動的接外包其實也不安全。更遑論 P2P 公司暴雷、老闆跑路但程序員背鍋被抓,而中科大博士業餘時間寫“外掛”非法牟利被捕,諸如此類似乎也在說明程序員是個相當高危的職業。

就算不去 P2P 公司、不接外包、不做外掛,只是業餘時間寫個開源軟件也可能招來災禍,去年年底,Nigix 之父 Igor Sysoev 的前東家 Rambler 集團對Nginx 提出了侵犯版權的訴訟,而被警方帶走調查,Rambler 聲稱 Igor Sysoe 在任職期間所有的開發成果均屬於 Rambler 集團所有,因此該公司纔是Nginx 項目的合法所有人。

業餘時間的開源項目做得好被招妒忌這個還可以理解,而本本分分的完成職責內的開發任務也可能被“殺”了“祭天”,美團大數據殺熟事件以及年初原油寶負油價事件,技術原因和系統問題全部被定性爲罪魁禍首。

不過最弔詭的情況是在程序員成爲技術“背鍋俠”的同時,重大的信息安全事件也層出不窮,比如一個月前的感恩節期間,富士康在墨西哥的一家工廠遭受了名爲 DoppelPaymer 勒索軟件攻擊,黑客在此之前偷竊了未加密的文件,進而在入侵之後對設備進行了加密處理。近日, DoppelPaymer 勒索軟件在其勒索軟件數據泄漏站點上發佈了屬於富士康的文件。泄漏的數據包括常規業務文檔和報告。

隨後黑客要求價值 3400 萬美元的比特幣作爲贖金,而美國司法部也在日期公佈了黑客組織 Sandworm 的材料,他們對於平昌冬奧會、2017 年法國大選都發起過攻擊。當然在這種大規模網絡攻擊上,美國安全部門也是十分的出圈,根據斯諾登的曝料 2010 年他們就進行過實驗,利用 30 行代碼炸燬了 27 噸的發電機。而民用設施的漏洞則更多了,他在 2010 年 Blackhat 大會一名來自於新西蘭的程序員 Jack 公開演示瞭如何黑掉 ATM 機使 ATM 隨意吐錢;隨後 Jack 又在 2012 年的 Blackhat 大會上展示瞭如何攻擊心臟起搏器和除顫器。

那麼,作爲一個 IT 界的一員,如何避免這些坑呢?又如何在出現問題時儘可能的保護好自己?

下面筆者就和各位共同探討一下在這樣一個"一半烈火,一半海洋"的大背景下,作爲程序員如何避免面向監獄編程,而企業又如何儘量避免黑客攻擊所帶來的損失。

使用 IDaaS 雲身份認證系統爲核心

自 2006 年“雲計算”概念誕生以來,企業上雲浪潮席捲全球。由於企業上雲後可靈活使用資源、擴展靈活易管理的業務模式、提高資源配置效率、降低信息化建設成本。

業界有說法是“系統上雲後,硬件投入成本減少近 2/3。 “企業上雲還能享受到的一大好處是基於硬件的數據安全能力。雲廠商具備的計算資源規模優勢等先天條件,使得其可以藉助加密計算等多種前沿技術來保證用戶數據安全,以增強企業上雲的安全性。

不過令人遺憾的是很多企業上雲之後還由於慣性沿用之前的身份認證系統,而傳統身份認證體系最主要的認證方式就是“用戶名、口令”,此前,微盟等刪庫事件之所以會發生,其根本原因就是採用傳統的身份鑑別方式,因爲用戶名、口令的機制很容易由於人爲因素或者制度安全體系的漏洞導致泄漏或者被猜測出來

IDaaS(身份即服務),纔是雲計算時代的身份識別和訪問管理系統,它提供了單點登錄、強大的認證管理、基於策略的集中式授權和審計、動態授權、企業可管理性等功能。

IDaaS 的解決方案完全捨棄了用戶名、口令的傳統方式,它可以根據用戶的登陸地點、時間及終端等等信息綜合授予用戶相應權限,並且還對用戶對態調整,相較於傳統安全外掛式、成本貴的缺點,優勢十分明顯:

  • 成本低廉、避免重複造輪子。傳統安全方案需要企業需要採購幾十甚至上百個安全產品才能初步建立企業安全體系,成本高昂不說,對於安全體系來說這也是一種重複建設的浪費。而 IDaaS 作爲一種雲服務其成本優勢不言而喻。

  • 傳統安全模型是遊離在 IT 體系之外的外掛式安全。企業在使用網絡、存儲、數據庫等 IT 基礎設施時,往往採購自不同的廠商,安全產品也有不同的品牌。於是只能在基礎設施外部署相關的安全產品,做“外掛式的安全”。如何能讓安全產品與產品間,安全產品與基礎設施間做更好地聯動?這對於傳統安全廠商來說,是個較大的挑戰。

  • 大幅降低使用門檻。之前安全產品儼然成了企業的“奢侈品”:企業光購買安全產品沒有用,必須有專門的安全人員來使用才能真正發揮效果,於是線下安全廠商大多采用產品加服務的銷售方式進行。但是,由於無法構成相對聯動的體系,導致企業需要招聘很多安全專業人員來運營,成本增大,導致多數企業沒有足夠的專業安全人員來運營。而云安全也真正讓雲計算變成一種普惠科技走入千家萬戶。

因此企業在全面觸雲之後,當務之急就是要將自身原有的安全認證體系升級到IDaaS 平臺,只有利用雲安全產品,才能真正保證企業信息資產的安全。

不過目前 IDaaS 領域還處在一片藍海當中,向客戶提供 IDaaS 集成服務的廠商只有阿里雲,而可以支持單獨提供 IDaaS 服務的也只有 Authing 身份雲等有限幾家初創企業,因此筆者這裏也呼籲各大雲廠商儘快將 IDaaS 服務集成到自身的雲平臺上,正如我們剛剛所講,如何平衡安全與成本之間的關係其實是擺在各行業面前的難題,而 Authing 身份雲的 IDaaS 服務恰恰是解決此類問題的關鍵所在。

多方安全計算客戶隱私保護的關鍵

另外,隱私在如今的大數據時代,一直成爲業界及消費者關注的重點之一。不過近期,在區塊鏈技術的加持下,多方安全計算解決方案成爲保護隱私的突破口。

現在由區塊鏈構建的數據價值交換經濟生態,已經成爲多方安全計算的算法底座,其中交換標的物是數據資產的使用權,交換媒介是基於隱私計算技術的數據價值交換網絡,參與者是數據的供應方和需求方。

最終,區塊鏈技術可以來保存各種數據交易記錄,讓整個交易過程清晰可見並可追溯,並以它爲基礎來實現數據的計量計價,以及探索未來的各種基於場景或貢獻度的數據計價。通過隱私計算和區塊鏈技術結合,所有業務參與方可以合規、合法和可持續地把有價值的數據引入到安全計算的廠景中。

正是在這樣廣泛應用前景之下,Gartner 預估三年之內數據要素市場可以有 10倍的增長,成爲一個千億級別的市場。不過多方安全計算既要求有強大的互聯網技術背景,也要充分理解傳統行業的運行邏輯,因此這個領域內其實玩家更少,尤其是考慮到多方安全計算從短期看對於巨頭的數據壟斷是不利的,因此這個領域也就成了巨頭不願意做,而初創企業又做不來的局面。

劃定底線,涉掛、涉黃、涉賭堅決不碰

除了上述給整個行業的建議外,下面我們來簡單談一下具體到我們每個程序員如何避免自己踩坑,首先要着重強調的是底線千萬不能碰

當然可能也有人會拿菜刀無罪的說法來辯白,寫個軟件我也不知道最終會被用在何處,爲此筆者諮詢專業人士,得到的結論是,刑事責任關注要看當事人是否有主觀故意。

根據《最高人民法院、最高人民檢察院、公安部關於辦理網絡賭博犯罪案件適用法律若干問題的意見》中關於網上開設賭場共同犯罪的認定和處罰規定:

明知是賭博網站,而爲其提供下列服務或者幫助的,屬於開設賭場罪的共同犯罪,依照刑法第三百零三條第二款的規定處罰。

也就是說,如果作爲程序員,只要你知道自己寫的代碼將被用於賭博,或者其它明知道是違法或者可能違法行爲的情況下,繼續爲其提供技術支持,都是可能觸犯刑法的。程序員一定要遠離這些,當然這裏還要特別說明一下 P2P 和外掛,也必須第一時間撇清。

P2P

此前,有脈脈用戶發帖稱"P2P公司暴雷,前端程序員被捕。

對於這種做互聯網金融的企業的程序員,需要多多瞭解一下自己公司當前的主營業務是否合法、是否涉及到非法集資違法行爲,如果有這個苗頭還是趁早遠離。

外掛

在我國的司法定義中,外掛是指利用電腦技術針對一個或多個遊戲,通過改變軟件的部分程序製作而成的作弊程序。製作販賣遊戲外掛也是會受到我國司法機關打擊的犯罪行爲。

根據開發者製作的不同的外掛類型,以及使用方式等,根據以往案例,可能觸犯非法經營罪、破壞計算機信息系統罪以及侵犯著作權罪等。

爬蟲存在風險

根據最新的流量分析,互聯網 40% 左右的流量都是機器人也就是爬蟲發起的。而有關爬蟲的法律問題,筆者特意諮詢了單位法務部門的同事,根據我國的《刑法》、《網絡安全法》的規定,爬蟲可能涉及到的犯罪行爲有如下情況:

  1. 首先侵入國家事務、國防建設、尖端科學技術領域的計算機信息系統的,不論情節嚴重與否,構成非法侵入計算機信息系統罪。

  2. 違反國家有關規定,向他人出售或者提供公民個人信息,構成“侵犯公民個人信息罪”。也就是說通過出售個人信息獲利或者侵入含有國家機密的系統均會構成犯罪,但這兩種情況均不會是無心之過,但是以下規定需要格外注意。

  3. 違反國家規定,對計算機信息系統功能進行刪除、修改、增加、干擾,造成計算機信息系統不能正常運行,後果嚴重的,構成犯罪。也就是如果使用爬蟲的抓取力度過大,造成被攫取的網站無法正常運行的情況,並造成嚴重後果的也會構成犯罪。我們前文所述巧達科技的程序員也是因爲爬蟲流量太大,造成目標網絡接近癱瘓,而涉嫌觸犯此條被捕。

另外爲避免其它民事糾紛,要儘量遵守 Robots 協議。Robots 協議是一種存放於網站根目錄下的 ASCII 編碼的文本文件,它通常告訴網絡搜索引擎的漫遊器也就是爬蟲,此網站中的哪些內容是不應被爬蟲獲取的,哪些是可以被爬蟲獲取的。嚴格按照 Robots 協議 爬取網站相關信息一般不會出現太大問題。

因爲司法實踐中一般也會考慮行業的通行規範,因此一般遵守 Robots 協議得到的信息不會被認爲是商業機密或者個人隱私數據。或者說遵守協議所得的信息即使涉密其泄密責任一般也不會由爬取方承擔。

全面增強版權保護意識

2018 年,北京市公安局通報了一起私自開通公司多個重要技術項目訪問權限,下載公司獨立開發的三個項目源代碼並倒賣牟利的案件。

根據通報,陳某在離職前夕,通過非法手段提高自己系統操作權限,從而獲取全部的核心代碼,並通過自己的賬號進行下載,離職後將代碼帶出,倒賣獲利八百萬元。這裏需要指出的是,程序員在工作時間開發的代碼版權是完全屬於所在單位,把自己開發的源代碼拷回家是一件非常危險的事情,而相關案例更是屢見不鮮。

2010 年,著名的跨國銀行控股公司高盛的一名程序員因竊取了投資銀行高頻交易系統源代碼而獲刑。2012 年,一名 32 歲的中國籍程序員 Bo Zhang 在紐約被警方逮捕。因爲他被控盜竊了“Government-WideAccounting and Reporting Program(GWA)”的源代碼,GWA 所有權屬於美國財政部,開發成本約 950 萬美元。

因此筆者這裏再次提醒大家造成不要把公司的源代碼拷回家,一旦泄露後果非常嚴重。

當然除了咱們程序員個人要重視版權,這裏筆者還要呼籲我們的 IT 公司也要重視版權保護。

近日中國電子書廠商 Oynx 拒絕開源其基於 Linux 內核修改的設備源碼,而這一做法明顯違反了 Linux 的 GPL 協議。因此在 Reddit 社區引發了開源軟件如何在中國維權的大討論。

憑心而論我國阿里、騰訊、百度等大廠近些年來在開源方面貢獻都很大,Oynx拒絕開放源碼的行爲也純屬是個例,但畢竟好事不出門,壞事傳千里,即使我們開源了飛漿、RocketMQ 等多個優秀的開源軟件,也無法對沖不遵守開源規則所帶來的惡劣影響。

之前開源的視頻編碼項目 FFmpeg,就因有企業使用其代碼但並未遵循 LGPL/GPL 許可證的規定,而使用“恥辱柱(Hall of Shame)”的方式來公示那些違反 GPL 許可證使用 FFmpeg 代碼的其公司,其中有很大一部分是中國的知名企業,爲此整個業界也都掀起了軒然大波。

而最近筆者發現國內最早的開源操作系統項目 MiniGUI 也發佈了例外清單,https://www.fmsoft.cn/exception-list 對某些未遵守 GPL 協議的公司進行了例外處理。在此,也呼籲業界,在使用開源軟件的時候一定要注意遵守相關規則,IT 各界也要重視知識版權。

最後,本次盤點希望能夠幫助各位程序員提高相應的自我保護意識,堅守底線就可以保證安全,而 IT 企業也要積極運行新晉的雲安全技術來提升自身的風險抵禦能力,如此互動才能讓我們的安全環境越來越好!

程序員如何避免陷入“內卷”、選擇什麼技術最有前景,中國開發者現狀與技術趨勢究竟是什麼樣?快來參與「2020 中國開發者大調查」,更有豐富獎品送不停!

戳”閱讀原文“,立即參與中國開發者大調查!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章