iT邦幫忙

2021 iThome 鐵人賽

DAY 1
3
Security

網路奇妙物語 - IT&Security 系列 第 1

鬼故事 這邊有一批設備,有需要打這個電話

  • 分享至 

  • xImage
  •  

[鬼故事] 這邊有一批設備,有需要打這個電話

https://ithelp.ithome.com.tw/upload/images/20210901/20141165JUlFrOLGHn.png
Credit: 食神

故事開始

以下故事純屬虛構,如有雷同那就雷同

Image titled Open a Door with a Credit Card Step 4

Credit: wikihow

如果你在生活中看到你家大門可以用這種方式開門,一定會覺得很蠢很不安全吧,
在現實生活,要偷你東西還必需人到大門前。
而你有想過你買的攝影機或是其他網路設備,搞不好也有類似的問題?

故事主角:小彎

小彎是大學剛畢業的菜鳥 RD,公司主要就是開發網路設備,
進去公司的第一週前輩要他熟悉程式碼,但當他打開程式碼以為他看錯了,
一個網頁裡面 php 包 js ,js 裡面又包 php,讓他想起來一段影片 雞包紙 紙包雞
如此精美的程式碼,小彎當然是不敢動,前輩也叫他先看就好。

就這樣過了第一個月,小彎逐漸了解程式碼,某天上班主管要求緊急開會。
原來是客戶 SOC 廠商間接通報公司產品有遠端執行程式碼的問題,
小彎這時候想:「這麼重大的漏洞,駭客肯定很厲害吧!」,立馬說想要幫忙修這個漏洞來展現工作能力。

現實往往沒有電影來的那麼好看,原來駭客是透過網頁上面有測試網頁的功能,
而前端沒有做任何驗證,後端 100% 相信前端的資料,後端收到網址會直接把指令做執行,也就是所謂的 Command Injection

小彎想說這不是非常基本的事情嗎,怎麼會有這種低級的錯誤在程式碼裡面?

小彎隨後就開始認真的去研究產品的程式碼安全性,發現有類似的問題至少有 10 多個。
隨後很高興的跟主管回報這些問題,但就單單這一個漏洞修復到發布是在三個月之後了,而公司的計劃就是默默出更新包供客戶自行更新,所以這些有漏洞的版本依舊存在於野外。

可怕的是類似小彎所在的公司在世界各地非常多,許多都是小公司並且最常提供合作的方式就是提供 OEM 版賣給其他廠商換成他們的名字,如此一來就變成國產、日產的設備了,並且搜尋不到 CVE 編號(根本沒有想過主動回報),就算有編號也因為品牌名稱完全不同難以搜尋,所以在表面上這些產品沒有漏洞。

這類型設備/軟體便宜又可以包裝成國產,或許你正用著這些東西也說不定。

資安探討

小型資訊公司該怎麼辦

原本要寫小彎所在公司的如何解決這件事,但重寫整份程式碼所投資的人力、時間很有可能超出產品實際獲利。這類型的公司業務形式,相同版本的程式碼可能有 2,30 個分支,每個客戶都有一些功能上修改,導致維護與後續更新困難。

除了打掉重建這種建議,筆者認為還能從一些方向慢慢地去改進,有進步總比沒進步好:

  • 積極面對漏洞,可思考為甚麼軟體大廠基本上都願意加入 MITRE CVE 的 CNA,認真面對漏洞有甚麼好處。
  • 建立良好的開發文化,並將漏洞逐步排入更新計畫中,e.g. code review、避免紙包雞的程式碼、紀錄所用的套件版本並追蹤漏洞
  • 出貨時程式做混淆,以增加攻擊者外帶程式回家研究的難度,防止更多安全性漏洞在短時間發生。
  • 主動學習常見的開發錯誤,在開發時注意安全 (e.g. 例如大部分網頁開發人員都知道的 OWASP Top10 )

國產還是國慘?

這篇鬼故事並沒有要表示便宜就是不安全,就連國際大廠都經常出現漏洞,
架構造成的資安問題其實也存在於大廠中,但人家修比較快,資安人員也比較喜歡挖他們漏洞。

台灣人不曉得為甚麼的,喜歡採用買斷的方式而不是訂閱制,
通常買了一兩年之後就不續約,畢竟設備/軟體能動,
沒有續約沒有維護漏洞自然就擺在那邊。

但養最多熊貓的國家網軍,最喜歡鎖定挖掘這類型的設備,
但他們不會回報 CVE 只喜歡默默地挖掘,
網路邊界第一線的設備又有一堆資安問題,取你我的資料如探囊取物。

企業採購設備應該要考慮資安的部分,筆者最討厭價格最低標這件事,
常常將資安這件事排除在外或是用很簡單的規格涵蓋。
小彎的公司也應該負起部份社會責任,持續改善產品的資訊安全,
不然政府推動用國產軟硬體的同時漏洞也共享在你我的網路環境。


下一篇
靈異現象 - Windows SMB 用 Domain name 能通,用 IP 不能通
系列文
網路奇妙物語 - IT&Security 30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言