物聯網安全問題大探索

科技,在過去幾個世代不斷地在改變人類的生活方式;物聯網,則是改變了人們對於網際網路的刻板印象。不再只有個人電腦、平板及手機等資訊設備具備連網能力,現在從家庭電器(掃地機器人、電視、電冰箱及冷氣)、汽車到工廠機具都已經具備通訊能力;科技繼續在這個世代擴大影響這個世界上其他產業的未來發展。

在2017年的今天,已經有超過50億個物聯網裝置;在下一個世代,Gartner、IDC及BI Intelligence等各大研究機構都預估,未來3至5年間物聯網裝置數量將達到150億個至260億個之間;甚至有其他國際大廠更樂觀評估上看750億個物聯網裝置。除了產業界看到物聯網可以帶來新的商機,駭客圈也嗅到物聯網可能潛在的資安漏洞。開源軟體(Open Source)開發水平不一與維護不易、運算資源不足及更多的通訊介面,駭客早已迫不及待想要大展身手。

從物聯網的架構來看,終端裝置透過各種無線網路或感測網路各種無線射頻技術,直接或間接與雲端的系統或平台進行連結,使用者可以透過瀏覽器或行動應用程式取得終端裝置所回傳的資訊,甚至直接進行控制。舉例來說,家中的門鈴、感測器及電冰箱等屬於終端裝置,透過Zigbee/Z-Wave等無線射頻技術將資料傳送到閘道器(Gateway),並將資料即時上傳至雲端系統進行處理,而使用者則可透過移動裝置上的應用程式或在汽車上取得即時的資訊。因此,我們可以將物聯網大致區分成終端裝置(End-device)、通訊媒介(Network Media)、雲端系統(Cloud System)及行動應用程式(App)四大部分。接下來,本文將針對上述四個主要的組成單元所可能所遭遇的攻擊方式進行介紹。

終端裝置

大家可以將終端裝置想像成一台伺服器,駭客會針對終端裝置所對外開啟的網路服務進行攻擊,包括網頁操作介面、遠端管理服務及檔案存取服務等,都可能因為不安全的程式開發與系統設定存在可以讓駭客控制終端裝置的安全漏洞。筆者根據2012年至今對於終端裝置所進行的安全測試結果,整理出終端裝置大十常見之安全漏洞如下:

  項次  弱點名稱 
  O1    Cross Site Scripting
  O2    Buffer Overflow
  O3    Command Injection
  O4    Insecure Password storage
  O5    IPv4 SYN Flood DoS
  O6    IPv4 UDP Flood DoS
  O7    Insecure HTTPS channel
  08    Path Traversal
  O9    Unauthenticated Access
  O10   Session Management

根據筆者公司所發現的十大常見安全漏洞,可以根據漏洞成因分為以下幾種類型:

未進行輸入驗證
部分的程式開發人員在撰寫程式時會假設所有的資料輸入來源都是善意的,因為不會針對外面所傳入的資料內容進行驗證。因此,駭客可以透過發送特定的資料內容改變原有程式的運作邏輯;輕則,導致終端裝置上的系統資訊洩露,其次則是終端裝置無法正常運作,嚴重時駭客甚至可以直接取得底層系統控制介面。

缺乏嚴謹的資料保護機制
程式開發人員知道資料在進行傳輸過程時,必須使用加密通道進行資料傳送,但是卻使用存在已知安全漏洞的通訊協定、加密演算法及連線金鑰設定,駭客仍然可能竊取其中所傳送的資料內容。除此之外,程式開發人員仍然習慣直接將密碼等機敏資訊以明文方式儲存於檔案,使得駭客可以透過其他的漏洞直接讀取檔案的內容竊取使用者設定的密碼。舉例來說,設定檔備份功能因存取控制不當,駭客可以直接透過URL呼叫該功能並取得設定檔內容;而使用者登入介面與其他網路服務密碼則是以明文方式保存於設定檔內,導致使用者密碼外洩。

存取控制不當
終端裝置提供了管理介面或其他網路服務等方式讓使用者進行設定,若終端裝置所提供的存取控制機制不當,便會導致其他使用者可以任意跳脫存取控制機制,在未認證情況下修改終端裝置相關設定,包括直接透過網路協定存取特定功能,或連線機制遭使用者篡改,而可以偽造系統管理者登入進行設定的修改,甚至控制整個終端裝置。

預設密碼、後門程式與隱藏帳號
即便終端裝置提供更安全的存取或保護措施,但若終端裝置採用相對簡單的預設密碼,並且未提供使用者修改密碼的功能,甚至存在後門程式或內建隱藏帳號,其他非法使用者便可直接以系統管理者登入系統,並進行資料的修改、存取或控制終端裝置。在2016年大量攻擊家庭路由器與網路攝影機的Mirai惡意程式,將惡意程式植入使用者未修改預設的帳號密碼的設備,成為駭客所控制的殭屍網路一份子。

通訊媒介
過往在網路設備的通信傳輸,大多主要採用的無線通訊技術為無線網路802.11x,但現今運用在物聯網的通訊媒介技術,如無線射頻(Radio Frequency)、近場通訊(NFC)及藍芽(Bluetooth)等開始盛行。然而這些通訊技術同時間能傳送的資料量與頻寬有限,且無法提供相對較安全可靠的通訊傳送機制;此外,當大部分智慧型裝置都將資料上傳並保存至雲端時,資料到達雲端前會經過連接層、路由器層、通訊協定連線層及網際網路層等,資料透過不同的裝置與設備層層傳送,這提高了資料傳遞的安全風險。若是終端裝置在資料傳送時,駭客透過相關設備竊取經由通訊媒介所傳送的資料內容,而這些資料一旦未能在傳送前將資料進行編碼或加密處理,或在傳送時未透過加密的通道來傳送,其內容將直接以明文的方式呈現在駭客面前,這可能包括使用者帳號、密碼、個人資料或是其他機敏資訊等。此外,除了未使用加密方式保護傳輸的資料,可能遭受資料洩漏的風險外,連線過程中,也可能遭到駭客採用連線劫持的方式,甚至進行封包資料的竄改或偽冒等,企圖繞過原有的安全檢查機制,或是嘗試跳脫身份驗證的功能,以達到越權存取,或是修改裝置或後端系統中的設定檔等。

雲端系統
雲端系統可以說是在物聯網佔有舉足輕重的角色;少了雲端系統,終端裝置與使用者便無法進行資料交換。除此之外,雲端系統也是儲存大量終端裝置與使用者資料的地方,倘若主機被駭客入侵,不僅造成雲端上資料的外洩,甚至可能透過雲端與設備相互連結的特性,進一步的控制使用者端的設備。針對雲端系統的安全性議題,需要由經驗豐富的安全專家,了解整體終端設置、雲端網路及行動應用程式的運作架構後,參考國際知名資安組織OWASP所提供OWASP Testing Guide做為安全檢測的參考依據,並且加強商業邏輯面的安全測試,如水平與垂直權限跳脫、異常檔案上傳及裝置配對等一般原始碼掃描所無法發現的安全漏洞。

行動應用程式
行動應用程式是與使用者最接近的一環,同樣也是駭客最容易下手的目標。由於部分的行動應用程式未妥善保護封裝後的檔案,使得駭客可以輕易地知道行動應用程式與雲端系統的溝通內容與方式,分析並找出可以利用的安全漏洞,進而取得其他使用者資料內容、繞過身分認證機制及跳脫安全管控機制,甚至直接控制所有雲端服務底下的終端裝置。

在物聯網的時代,廠商除了快速地研發與生產新的產品,廠商也必須思考如何將發展安全的產品或系統成為公司的核心思想,包括建立一個專屬的安全團隊或單位、實現產品開發過程中相關資安的設計與檢視及驗證、產品銷售後的安全回應與修補及善後機制等整體性的資安機制。因為,物聯網產品的資安問題將會直接影響到每一個購買的消費者的人身安全;安全的產品,也為消費者帶來更安全的生活!

當期電子報
透過電子報,隨時了解來自世界各地的網域資訊!
訂閱電子報,請輸入email: