今天小編分享的科技經驗:從捉 Bug 的人,到被判定為黑客,只因發現一個漏洞,歡迎閲讀。
程式員幫捉 Bug 卻被判罰 2.3 萬元,一切只因幫客户檢查出一個恐泄露 700000 條數據的漏洞
作為一名 IT 自由從業者,本是受客户委托去檢查軟體安全問題,卻最終被定性為黑客,還成為了被告,甚至遭到了處罰,這究竟是怎麼一回事?
1 月 17 日,德國于利希地方法院宣布了一項最新判決結果:
" 一位獨立程式員幫助一家零售公司檢查軟體問題時,發現此軟體存在一個導致近 70 萬買家數據會暴露的重大漏洞。
為此,該名程式員聯系了開發這款軟體的公司,卻遭軟體開發商矢口否認,随後他與一名科技博主将這一漏洞公之于眾,受到了廣泛的關注。令人沒想到的是,後來軟體開發商将相關軟體進行了下線處理後,也向警方舉報了該名程式員,并稱之為‘黑客’。
由于這種情況,這名程式員現因未經授權訪問第三方計算機系統和刺探數據(根據《德國刑法典》(StGB)中所謂的黑客條款 202a 應受到懲罰)而被處以 3,000 歐元(約 2.3 萬元)的罰款,同時還必須支付訴訟費用。"
身份的快速轉換,這樣的處罰,不僅讓當事人一臉懵,也讓不少開發者感到不解。
前情:一則 70 萬條數據泄露事件引出的真相
最初這一事件發生在 2021 年 6 月,彼時有不少外媒報道稱,德國一家名為 Modern Solution 公司發生嚴重的數據泄露事件,其軟體存在的安全漏洞導致 70 萬終端用户受到了影響。
根據資料顯示,德國 Kaufland 超市、電子商務公司 Otto、互聯網金融企業 Check24 和比價網站 Idealo 等公司為小型零售商提供了一個在線平台,方便小型零售商可以在這些網站上提供商品并進行售賣。
作為一家接口服務商,Modern Solution 幫助不想或不能直接連接到平台本身的零售商,并在此過程中将平台的界面與想要通過在線市場銷售商品的零售商各自的商品管理系統連接起來。
簡單來看,Modern Solution 幫助這些小的零售商将其商品管理系統連接到 Otto、Kaufland 和 Check24 等大公司的在線市場上,同時也保護平台上這些客户的數據。
然而彼時外媒披露的這一漏洞,能夠查看自 2018 年夏季以來該平台上的所有交易信息,即誰從哪個零售商、何時購買了什麼商品,包括姓名、地址,乃至銀行卡等。
泄露事件爆出後,也引起了當地市場的廣泛關注,在查證之後,幾個大型公司接連出面安撫用户,其中互聯網金融企業 Check24 表示,作為安全措施的一部分,他們只使用電子郵件别名,因此不會傳遞銀行詳細信息或實際電子郵件地址等個人信息。因此,該公司的客户不會受到數據泄露的影響。
緊接着,追責問題,眾人也發現數據泄露是發生在服務提供商 Modern Solution 身上,而探其背後,揭曉這一漏洞的是一名程式員。
從拿錢查 Bug 的第三方程式員,到變成了非法訪問後台的黑客
2021 年 6 月,一家零售商發現他使用的軟體產生過多日志消息,填充了整個數據庫,于是便花錢聘請這名程式員來幫他們解決問題,也讓他有權查看安裝在伺服器上的軟體。
起初這名程式員在排查問題時以為,這家零售商伺服器上的軟體連接的是 Modern Solution 公司的一個數據庫,而這個數據庫只為這一家零售商服務,只包含客户一家的數據。
然而不久之後,該程式員發現了不對勁,因為這一數據庫包含的信息要多得多,而他随即也發現 Modern Solution 公司提供的軟體通過互聯網與其公司在 Gladbeck 城市的伺服器建立了 MySQL 連接。
後來他驚覺,數據庫中包含了 Modern Solution 公司所有其他客户的數據以及其網上商店所有最終客户的數據。
不過,據後來這名程式員的代理律師稱," 當他發現自己可以訪問其他客户的數據時,他立即斷開了數據庫連接。"
而回歸當時,在發現問題之後,這位程式員第一時間找到了自己熟知的電子商務界知名博主 Mark Steier 簡單地透露了自己的發現。Mark Steier 也建議這名程式員首先向 Modern Solution 公司報告他的發現。
第二天早上,這名程式員向 Modern Solution 報告了該漏洞,并提醒對方應該在三天内修復這個漏洞。
不過,後來程式員向媒體透露,他被粗暴地拒絕了,Modern Solution 公司否認存在漏洞。另一邊,他發現 Modern Solution 将存在漏洞的系統下線處理。
既然漏洞已經修復,程式員和這位博主決定迅速向公眾通報。博主 Steier 在發稿前,再次要求 Modern Solution 公司發表聲明,但遭到拒絕。
所以,在 2021 年 6 月 23 日,Mark Steier 發表了關于一篇主題為《警告:JTL 合作夥伴 Modern Solution GmbH & Co. KG 數據泄露》(https://wortfilter.de/warnung-datenleck-beim-jtl-partner-modern-solution-gmbh-co-kg/)的文章,詳解了漏洞的詳情。
尴尬的披露時間
由于在這篇文章中,提到了超過 700,000 名終端客户受到影響,毫無疑問,此案吸引了公眾的關注。
此外,有些尴尬的是,這名程式員和博主 Steier 在向制造商和相關數據保護機構報告數據泄漏和漏洞的當天就向公眾公布了消息,也引發了不小的争論。
在很多人看來,有經驗的安全研究人員通常會給公司更多的時間來對此事發表評論。
然而,如果 Modern Solution 公司真的粗暴地向這位程式員否認了漏洞,那麼也可以理解為他們并不希望得到建設性的合作。
雖然披露的時間過于倉促,但是在不少外媒看來,技術上講,這名程式員和科技博主已經遵守了負責任地披露信息的基本規則:在他們向公眾通報時,漏洞顯然已經修復。
不過,Modern Solution 公司并不這麼認為,他們也在當天被動地發布了一份有關《數據泄露報告》的聲明,分享了他們正在調查這一事件,同時将該程式員描述為 " 道德黑客 "。
https://wortfilter.de/wp-content/uploads/2021/06/moso-1.pdf
遭到反擊随後 Modern Solution 以程式員刺探數據、竊取數據和違反聯邦數據保護法等罪名向警局報了案。
2021 年 9 月 15 日,德國亞琛警方第 22 刑事調查局的一個搜查小組來到這名程式員的家裏。據該程式員稱,警察假裝是包裹快遞員,進入了他的公寓,并将他按在牆上,還沒收了一台個人電腦、五台筆記型電腦、一部手機和五個外部存儲設備,這是該程式員的全部工作設備。
根據調查檔案,Modern Solutions 告訴警方,程式員只有在掌握内幕知識的情況下才能訪問公司的系統。而且他們發現該程式員曾在位于 H ü ckelhoven 的 JTL 公司工作過。JTL 公司生產商品管理系統,Modern Solution 公司的軟體與零售商方面的管理系統相連接。當時,程式員與 JTL 公司的雇傭關系因衝突而終止。
根據 Modern Solution 公司自己提供的信息,該公司專門從事安裝和托管 JTL 公司所謂的 WaWi 系統。Modern Solution 公司的代表告訴警方,這名程式員利用他在 JTL 公司獲得的内幕消息獲取了密碼,并通過該密碼訪問了 Modern Solution 公司的數據。
此外,Modern Solution 公司還稱,軟體的編譯提供了有效的保護,可以防止諸如讀取密碼字元串之類的攻擊。同時,Modern Solution 認為,該程式員想以公司競争對手的身份出現,因此試圖傷害公司。
如果按照這種解釋,倘若這名程式員通過反編譯等操作方式獲取密碼,訪問了數據庫,那麼可能會導致刑事責任。
然而,不少 IT 專家們懷疑編譯源代碼是否能有效保護密碼。在研究過程中,外媒 heise online 使用普通工具從 Modern Solution 的軟體中讀取了類似密碼的字元串,該軟體可在互聯網上免費下載。
對此,這名程式員表示自己受一家零售商的邀請,本來只是來幫助解決問題的,偶然間發現 Modern Solution 軟體的數據交換是通過 SQL 連接進行的,可以用純文本查看,而且訪問數據被牢牢固定在軟體中。這意味着,任何人只要獲得一份原則上免費提供的軟體拷貝,就可以訪問通過 Modern Solution 系統進行購買的所有客户的數據。
為期三年的調查,現在有了結論
各有各的説法。在被指控期間,檢察官花了大量時間試圖證明被告程式員為了獲取數據庫連接密碼而反編譯了 Modern Solution 軟體的程式代碼。
正如上文所述,該程式員在訴訟書中指出,他只是用文本編輯器查看了有關檔案(MSConnect.exe),從而讀出了純文本的數據庫密碼。他是在他先前觀察到的 MySQL 連接的其他已知連接數據的地方發現這一點的。
幾經調查,法官也無法證明被告是通過反編譯獲得密碼的。在審判結束時,實則這一點對判決也沒有什麼影響。因為主審法官指出,僅憑 Modern Solution 軟體設定了連接密碼這一事實,就意味着該程式員查看程式的原始數據以及随後與 Modern Solution 的數據庫連接,就構成了黑客刑事犯罪。
最終,這名程式員現因未經授權訪問第三方計算機系統和刺探數據(根據《德國刑法典》(StGB)中所謂的黑客條款 202a 應受到懲罰)而被處以 3,000 歐元(約 2.3 萬元)的罰款,同時還必須支付訴訟費用。
不少開發者為這名程式員叫冤
當然,判決尚未最終确定。雙方都有一周的時間對刑事判決提出上訴。在這種情況下,訴訟程式将由地區法院重新審理。
然而,對于這樣的初步判罰,不少開發者也覺得這名程式員實屬冤枉:
這名程式員的犯罪似乎是 " 使用 " 暴露的數據庫憑據登錄第三方數據庫伺服器。而不是他向外界暴露了憑據,實際上只是利用他們進行了探索。
如果不進入系統四處查看,基本上不可能知道系統是什麼。這就好比在一棟大樓裏拿到一張安全檢查的鑰匙卡。你會認為它打開的任何一扇門都是你可以進入的房間。如果保安發現你進入了一個你不該進入的房間,那是你的錯嗎?還是誰給了你一張權限級别錯誤的卡?還有,如果你打開一扇門,朝裏面看了一眼,馬上意識到你不該在那裏,然後向保安報告,這種情況又如何?你應該受到懲罰嗎?
這更像是你拿到了一張寫着 "20 樓 " 的大樓的鑰匙卡,但随後發現它可以進入所有樓層,并告訴大樓保安。他們所做的只是 " 打開 " 這裏的 " 電梯門 ",暴露了他們錯誤進入的通道。聽起來他們并沒有窺探其他客户的數據或下載任何東西。
這就像給某人一本你寫的書來校對,而你的密碼無意中出現在文本中。他們用它來登錄,然後告訴你。當然,他們不應該登錄,但感覺不應該受到刑事指控。
看來這些法律需要重寫。意圖很重要,而且這個 " 黑客 " 似乎并沒有試圖造成任何傷害。公司被抓了小辮子,他們想懲罰這個揭露此事的人。