Credit: 食神
以下故事純屬虛構,如有雷同那就雷同
Credit: wikihow
如果你在生活中看到你家大門可以用這種方式開門,一定會覺得很蠢很不安全吧,
在現實生活,要偷你東西還必需人到大門前。
而你有想過你買的攝影機或是其他網路設備,搞不好也有類似的問題?
故事主角:小彎
小彎是大學剛畢業的菜鳥 RD,公司主要就是開發網路設備,
進去公司的第一週前輩要他熟悉程式碼,但當他打開程式碼以為他看錯了,
一個網頁裡面 php 包 js ,js 裡面又包 php,讓他想起來一段影片 雞包紙 紙包雞
如此精美的程式碼,小彎當然是不敢動,前輩也叫他先看就好。
就這樣過了第一個月,小彎逐漸了解程式碼,某天上班主管要求緊急開會。
原來是客戶 SOC 廠商間接通報公司產品有遠端執行程式碼的問題,
小彎這時候想:「這麼重大的漏洞,駭客肯定很厲害吧!」,立馬說想要幫忙修這個漏洞來展現工作能力。
現實往往沒有電影來的那麼好看,原來駭客是透過網頁上面有測試網頁的功能,
而前端沒有做任何驗證,後端 100% 相信前端的資料,後端收到網址會直接把指令做執行,也就是所謂的 Command Injection。
小彎想說這不是非常基本的事情嗎,怎麼會有這種低級的錯誤在程式碼裡面?
小彎隨後就開始認真的去研究產品的程式碼安全性,發現有類似的問題至少有 10 多個。
隨後很高興的跟主管回報這些問題,但就單單這一個漏洞修復到發布是在三個月之後了,而公司的計劃就是默默出更新包供客戶自行更新,所以這些有漏洞的版本依舊存在於野外。
可怕的是類似小彎所在的公司在世界各地非常多,許多都是小公司並且最常提供合作的方式就是提供 OEM 版賣給其他廠商換成他們的名字,如此一來就變成國產、日產的設備了,並且搜尋不到 CVE 編號(根本沒有想過主動回報),就算有編號也因為品牌名稱完全不同難以搜尋,所以在表面上這些產品沒有漏洞。
這類型設備/軟體便宜又可以包裝成國產,或許你正用著這些東西也說不定。
原本要寫小彎所在公司的如何解決這件事,但重寫整份程式碼所投資的人力、時間很有可能超出產品實際獲利。這類型的公司業務形式,相同版本的程式碼可能有 2,30 個分支,每個客戶都有一些功能上修改,導致維護與後續更新困難。
除了打掉重建這種建議,筆者認為還能從一些方向慢慢地去改進,有進步總比沒進步好:
這篇鬼故事並沒有要表示便宜就是不安全,就連國際大廠都經常出現漏洞,
架構造成的資安問題其實也存在於大廠中,但人家修比較快,資安人員也比較喜歡挖他們漏洞。
台灣人不曉得為甚麼的,喜歡採用買斷的方式而不是訂閱制,
通常買了一兩年之後就不續約,畢竟設備/軟體能動,
沒有續約沒有維護漏洞自然就擺在那邊。
但養最多熊貓的國家網軍,最喜歡鎖定挖掘這類型的設備,
但他們不會回報 CVE 只喜歡默默地挖掘,
網路邊界第一線的設備又有一堆資安問題,取你我的資料如探囊取物。
企業採購設備應該要考慮資安的部分,筆者最討厭價格最低標這件事,
常常將資安這件事排除在外或是用很簡單的規格涵蓋。
小彎的公司也應該負起部份社會責任,持續改善產品的資訊安全,
不然政府推動用國產軟硬體的同時漏洞也共享在你我的網路環境。