我在代碼里面故意留個漏洞,違法嗎?
昨天我在逛知乎的時候,看到了這么一個問題:
我看到了三個非常有意思的回答,分享給大家一看。
首先是這個為了防止項目交付后收不到尾款埋下后門的回答:
答主:特立獨行的豬
鏈接:https://www.zhihu.com/question/531724027/answer/2487270093
早年給某臺企做外包項目,定制一個Android系統(tǒng)的ROM。開發(fā)費用16萬,一年期維護費用2萬。
開發(fā)費用分三期打款,訂金4萬,生產(chǎn)環(huán)境ROM交付8萬,驗收并交付源碼后打尾款4萬。
生產(chǎn)環(huán)境ROM交付前留了一手,加了時間戳校驗,混雜在驅動程序里,6個月后不能開機。
果不其然,過了4個月對方也沒把尾款打過來,顯然是用著沒什么毛病,源碼不打算要了,維護費用也一起省了。每次催款都用各種理由搪塞。
又過了2個月,埋的雷爆了,他們的下游客戶開始各種投訴。這才把剩余款項收回來。
懶得說這家公司的名字,挺有名的公司,估計很多人用過他們的產(chǎn)品。
如果不留這一手,估計就要吃啞巴虧了,畢竟臺灣省的官司打起來費勁兒。在這種情況下,這叫自我保護,不違法。
這個回答讓我想起了多年前我接私活的時候,給別人開發(fā)的軟件交付后就玩消失的經(jīng)歷,那時候年輕,不知道做個時間限制啥的···不說了,說多了都是淚。
話說回來,真像這位答主這樣弄個后門,違不違法,答主說了不算,還得具體問題具體分析,法院說了才算,不過這種做法還是比較危險,慎重。
那到底法律如何界定這種問題呢,來看一下網(wǎng)絡安全界的大佬TK教主的回答:
答主:tombkeeper
鏈接:https://www.zhihu.com/question/531724027/answer/2539891264
我國沒有僅針對后門本身進行處罰的法律。主要原因是“后門”難以客觀界定。
比如,自動更新機制是不是后門?熱補丁機制是不是后門?遠程維護機制是不是后門?家里寬帶有問題,你打運營商客服電話,運營商那邊就能遠程調整你的光貓——這是不是后門?
所以現(xiàn)在法律在處理后門相關問題時,是根據(jù)利用行為定罪的。你留了后門,一輩子不用,沒事。用來干壞事了,那就根據(jù)你具體干了什么壞事定罪量刑。
代碼里面藏后門屬于初級玩家,來看一下高級的后門長啥樣:
答主:滄海
鏈接:https://www.zhihu.com/question/531724027/answer/2487130220
Ken Thompson在貝爾實驗室的時候,他總是能在一臺裝了Unix的服務器上黑進他人的賬戶,不管他人怎么修改賬戶密碼都沒有用,當時貝爾實驗室里面聚集的都是智商爆表、專業(yè)知識過硬的科學家,Ken的行為無疑讓他們非常不爽。
有個人分析了Unix的代碼之后,找到了后門,重新編譯部署了Uinx,但是讓他們崩潰的事情再次發(fā)生,Ken還是能黑進他們的賬戶,這個事情讓他們百思不得其解。
一直到1983年,Ken獲得圖靈獎,在大會上解開了這個秘密,原來這個密碼后門是通過他寫的一個C編譯器植入的,而當時那臺Unix的機器必須通過這個C編譯器編譯之后才能運行,所以不管unix怎么修改都沒有用,畢竟是要編譯的。
前幾年發(fā)生的Xcode Ghost事件,就是用類似的方式操作的,所以真正的大神留的黑洞,一般人根本防不住,除非遇到同樣的大神,而且人家告訴你在哪里了,才有可能破解。這就是為啥有的單位,人家不連外網(wǎng),因為根本不知道裝的系統(tǒng)有沒有別人留下的漏洞。
低級的代碼層次
中級的在工具鏈上
高級的在編譯器層次
終極的在機器內部,這個根本防不勝防。
所以對程序員好一點。
這讓我想起了不久前發(fā)生的一件事:有黑客組織在IDA里面投毒。IDA是安全人員逆向分析的重要軟件,給這里面投毒,屬于定向攻擊搞安全的人了,真是防不勝防啊。
各位鐵汁們,你們有過在代碼里藏后門的經(jīng)驗嗎,評論區(qū)說說看呢?
沒有什么使我停留——除了目的,縱然岸旁有玫瑰、有綠蔭、有寧靜的港灣,我是不系之舟。
作者:碼出宇宙
歡迎關注微信公眾號 :碼出宇宙
掃描添加好友邀你進技術交流群,加我時注明【姓名+公司(學校)+職位】