勞動部勞發署 產業人才投資方案 ~ 委辦職訓課程規劃草案
資訊安全與物聯網應用實務班
訓練班別計畫表
🔸 訓練需求調查
🔸 學員資格
- 學歷:高中/職(含)以上
- 資格條件:
- 具備電腦基本操作能力。
- 對 網頁設計 之 HTML、JavaScript 語法稍具概念者。
- 對 Python、Java 或 C++ 等任一程式語言稍具概念者。
- 對 資料庫、或 SQL 語法稍具概念者。
- 對 網路通訊協定、物聯網、及物聯網整合平臺如 Node-RED 等,任一主題有興趣者。
課程大綱
🔸 課程進度/內容 (7 天)
- 總時數: 42 小時 (7 天,每天 6 小時)
- day 1 ~ am
- 課程主題及課綱說明
- 資訊安全概論與基礎
- 常見的各種資安攻擊手法
- 實作:採用 Python 開發 Web Server & Client 應用程式,以模擬 SQL Injection 及 XSS 攻擊
- 國際資安標準及框架
- 國內資安相關法規
- day 1 ~ pm
- 資訊安全與防禦技術
- 資安檢測:弱點掃描、滲透測試、源碼檢測
- 事前預防工作
- 資安事件事後復原、演練與優化
- 網路安全具體防護措施
- 無線網路安全與物聯網應用
- day 2 ~ am
- 網路通訊基礎概念
- TCP/IP – 傳輸控制協定/網際網路協定 簡介
- 各類網管設備簡介
- DNS (Domain Name System)
- Router 路由器
- 防火牆 Firewall
- 實作: 防火牆策略設計及實際應用
- day 2 ~ pm
- 物聯網 IoT 概述
- 物聯網架構與應用場景
- 常見的物聯網通訊協定 – MQTT、CoAP、HTTP、RTSP
- 物聯網裝置類型與網路架構
- 實作: 採用 Python 開發各式物聯網通訊應用程式
- day 3 ~ am
- 密碼學基礎與應用
- Hash 雜湊函數 與 應用
- 對稱式加密 DES 演算法 與 應用
- 非對稱式加密 RSA 演算法
- 公開金鑰基礎架構 PKI (Public Key Infrastructure)
- 數位簽章 與 數位憑證 的作用
- SSL/TLS 安全通訊協議的運作原理
- 實作: 常見的雜湊、及加解密應用
- 使用 Python hashlib 開發 Hash 雜湊函數 應用程式
- 使用 Python hmac 及 hashlib 開發 MAC 訊息鑑別碼 應用程式
- 使用 Python PyCryptodome 開發 DES 對稱式加密 應用程式
- 使用 Open Source PKI 工具 OpenSSL 生成 私鑰、公鑰、及自用憑證
- 使用 Python cryptography 開發非對稱式加密應用程式範例
- day 3 ~ pm
- SSL 與 TLS 簡介與比較
- 實作: 採用 CertBot 工具軟體生成免費的 SSL/TLS 憑證申請
- 實作: 安裝各項網路應用服務、並綁定 SSL/TLS 憑證
- Python Flask Application
- Node.js Express Application
- Node-RED Application Server
- Mosquitto MQTT Server
- Apache Web Server
- NGINX Web Server
- day 4 ~ am
- 物聯網裝置安全管理與防護
- 物聯網安全挑戰
- 物聯網裝置 身份認證機制 Authentication: OAuth & JWT
- 物聯網裝置之 存取控制 Authorization
- 實作: 以 OAuth 與 JWT 建立認證及授權機制
- day 4 ~ pm
- 物聯網裝置韌體更新與安全管理
- 實作: 物聯網 MQTT 的動態安全與認證
- 以 Mosquitto Dynamic Security 應用為例
- day 5 ~ am
- 常見的開源資安工具軟體介紹: Wireshark、Nmap、OpenVAS、Metasploit
- 物聯網安全工具與平臺:OWASP IoTGoat
- day 5 ~ pm
- 實作:資安工具安裝、操作、實例應用
- 利用 Wireshark 分析 MQTT 通訊封包
- 使用 Nmap 探測物聯網裝置的開放埠與服務
- 使用 OpenVAS 對 網站弱點掃描
- 利用 Metasploit 進行簡單的滲透測試
- day 6 ~ am
- Node-RED 安裝及基本操作
- Node.js 開發工具 簡介
- Node-RED 簡介、執行環境準備
- Node-RED 基本操作 ~ Node 節點、Flow 流程、Icon 圖示
- day 6 ~ pm
- 採用 Node-RED 建置物聯網整合平臺
- Node-RED 與外部系統通訊
- Node-RED Dashboard 儀表板
- 透過 Dashboard 儀表板 客製化的 UI 來進行基本的監控界面設計
- 客製化 Node-RED 專屬頁面及功能
- 使用 Node-RED 開發 MVC 架構的網頁應用程式
- 更多的 Node-RED 擴充模組
- day 7 ~ am
- 採用 Node-RED 建置資訊安全監控及自動化管理平臺
- 讀取設備的系統日誌,進行資安事件分析
- 監控設備的連線狀態及開放埠的服務狀態
- 檢測設備的數據流量與異常行為
- 出現異常時自動啟動防護機制、並發送通知
- 進階自動化安全事件管理
- 模擬網路攻擊情境與防禦策略
- day 7 ~ pm
- 資安事件案例分析
- 重點回顧
- 課程總結
課程講義目錄
🔸一、資訊安全概論與基礎
- 資訊安全的三大核心目標 (CIA 三要素)
- 機密性 Confidentiality
- 完整性 Integrity
- 可用性 Availability
- 威脅、漏洞(弱點)、風險 的區別與關係
- 資訊安全的應用領域
- 網路資訊安全
- 雲端運算安全
- 應用程式安全
- 基礎架構安全
- 系統安全
- 資料加密及身分認證授權
- 密碼編譯
- 漏洞管理
- 事件回應
- 常見的各種資安攻擊手法:
- 分散式阻斷服務攻擊 DDoS (Distributed Denial of Service)
- 密碼攻擊、生日攻擊
- 字典攻擊、暴力攻擊
- 注入式攻擊 (如:SQL injection、XSS)
- 電腦病毒、蠕蟲 等惡意程式 Malware 攻擊
- 特洛伊木馬 Trojan Horse 程式攻擊
- 零日漏洞攻擊 Zero-Day Vulnerability
- 勒索軟體 Ransomware 威脅
- 網路釣魚 Phishing 攻擊
- 中間人 MitM 攻擊、竊聽攻擊
- 殭屍電腦網路攻擊
- 進階持續性威脅攻擊 APT (Advanced Persistent Threat)
- 內部威脅
- 社交工程 Social Engineering 攻擊
- 實作:採用 Python 開發 Web Server & Client 應用程式,以模擬 SQL Injection 及 XSS 攻擊
- 使用 Python Flask 及 SQLite 開發一個小型網頁應用程式,刻意安排一些常見的弱點或漏洞在應用程式中,以當作被攻擊的目標
- 使用 Python Requests 應用程式 模擬對 Flask 進行 SQL Injection 注入攻擊
- 使用 Python Requests 應用程式 模擬對 Flask 進行 XSS 跨站腳本攻擊
- 針對 Python Flask 應用程式 進行安全修復
- 使用參數化 SQL 查詢,以來避免 SQL Injection 注入攻擊
- 轉譯特殊字符(如 <, >, & 等),以防止 XSS 跨站腳本攻擊
- 國際資安標準及框架
- ISO 27001 國際資安標準
- NIST CSF 資安框架
- 國內資安相關法規
🔸二、資訊安全與防禦技術
- 資安檢測
- 弱點掃描 Vulnerability Scanning
- 滲透測試 PT (Penetration Test)
- 源碼檢測 Source Code Leakage Detection
- 事前預防工作
- 資安健診、風險評估
- 社交工程演練
- 資安教育訓練
- 資安事件事後復原、演練與優化
- 勒索病毒解密方案
- SOC 資安監控中心
- 災難還原演練
- 資料備份/異地備援/離線備份
- 特權帳號管理
- 網路安全具體防護措施
- 多重要素驗證 MFA (Multi-Factor Authentication)
- 資料外洩防護 DLP (Data Loss Prevention)
- 防火牆與入侵偵測系統 IDS / IPS 的運作
- 網路應用程式防火牆 WAF (Web Application Firewall)
- 郵件安全防護
- 威脅偵測與回應: EDR、NDR、MDR、XDR
- 稱端點偵測與回應 EDR (Endpoint Detection and Response)
- 代管式偵測與回應 MDR (Managed Detection and Response)
- 無線網路安全與物聯網應用
- Wi-Fi 安全
- WPA3、加密機制
- 無線網路攻擊
- 信號攔截
- 假基站攻擊
- 無線通訊協議與其安全性挑戰
- Zigbee、LoRa、BLE
🔸三、網路通訊基礎概念、DNS、路由器、及防火牆
- TCP/IP – 傳輸控制協定/網際網路協定 簡介
- Socket Types and Protocols
- Public / Private IP Address 配置
- DNS (Domain Name System)
- Domain Name 與 IP Address 對應
- DNS Server
- /etc/hosts 設定檔
- nslookup 工具軟體
- Router 路由器
- LAN 區域網路 與 WAN 廣域網路
- NAT (Network Address Translation) 網路位址轉譯
- Routing Rule 路由設定
- tracert 工具軟體
- 防火牆 Firewall
- 防火牆 運作原理與功能簡介
- 規則建立、開放或封鎖服務 Port 之範例
- 實作: 防火牆策略設計及實際應用
- Windows 內建防火牆 基本操作及應用範例
- Linux 之 iptables 和 ufw 防火牆 基本操作及應用範例
🔸四、物聯網常用的通訊協定
- 物聯網 IoT 概述
- 物聯網架構與應用場景
- 常見的物聯網通訊協定 – MQTT、CoAP、HTTP、RTSP
- 物聯網裝置類型與網路架構
- 實作: 採用 Python 開發各式網路通訊應用程式
- TCP Socket
- MQTT (Message Queuing Telemetry Transport)
- MQTT over WebSocket
- CoAP (Constrained Application Protocol)
- HTTP RESTful API
- RTSP (Real Time Streaming Protocol)
- Motion JPEG (M-JPEG)
🔸五、密碼學基礎與應用
- Hash 雜湊函數 與 應用
- MD5、SHA-1、SHA-256 演算法簡介
- 訊息鑑別碼 MAC (Message Authentication Code)
- 對稱式加密 演算法 與 應用
- DES (Data Encryption Standard) 加密演算法
- 非對稱式加密
- RSA 加密演算法
- 公開金鑰基礎架構 PKI (Public Key Infrastructure)
- 數位簽章 與 數位憑證 的作用
- SSL/TLS 安全通訊協議的運作原理
- 實作:
- 使用 Python hashlib 開發 Hash 雜湊函數 應用程式
- 使用 Python hmac 及 hashlib 開發 MAC 訊息鑑別碼 應用程式
- 使用 Python PyCryptodome 開發 DES 對稱式加密 應用程式
- 使用 Open Source PKI 工具 OpenSSL 生成 私鑰、公鑰、及自用憑證
- 使用 Python cryptography 開發非對稱式加密應用程式範例
🔸六、SSL/TLS 憑證申請 與 服務綁定
- SSL 與 TLS 簡介與比較
- SSL (Secure Socket Layer)
- TLS (Transport Layer Security)
- 實作: 採用 CertBot 工具軟體生成免費的 SSL/TLS 憑證申請
- 備妥可自管的 Domain Name
- CertBot 安裝 及 基本操作
- Domain Name 持有者的三種驗證方式:DNS CNAME、Email Account、Webpage
- 採用 CertBot 生成該 Domain Name 的 SSL/TLS 憑證
- 實作: 安裝各項網路應用服務、並綁定 SSL/TLS 憑證
- Python Flask Application
- Node.js Express Application
- Node-RED Application Server
- Mosquitto MQTT Server
- Apache Web Server
- NGINX Web Server
🔸七、物聯網裝置安全管理與防護
- 物聯網安全挑戰
- 物聯網裝置的安全問題
- 物聯網攻擊面與常見的攻擊手法
- 物聯網裝置的韌體安全
- 物聯網裝置 身份認證機制 Authentication
- PKI 和憑證管理
- API 認證機制
- OAuth
- JWT (JSON Web Token)
- 物聯網裝置之 存取控制 Authorization
- 實作: 以 OAuth 與 JWT 建立認證及授權機制
- 以 Python Flask 應用程式為例
- 裝置韌體更新與安全管理
- 安全的韌體更新機制(如 OTA 更新)
- 防止韌體被篡改的方法
- 動態安全策略 與 MQTT 的應用
- 實作: 物聯網 MQTT 的動態安全與認證
- 以 Mosquitto Dynamic Security 應用為例
🔸八、常見的資安工具軟體
- 常見的開源資安工具介紹
- Wireshark – 網路封包分析工具
- Nmap – 網路掃描工具
- OpenVAS – 漏洞掃描工具
- Metasploit – 滲透測試框架
- 物聯網安全工具與平臺
- OWASP IoTGoat – 物聯網漏洞測試平臺
- 實作:資安工具安裝、操作、實例應用
- 利用 Wireshark 分析 MQTT 通訊封包
- 使用 Nmap 探測物聯網裝置的開放埠與服務
- 使用 OpenVAS 對 網站弱點掃描
- 利用 Metasploit 進行簡單的滲透測試
🔸九、採用 Node-RED 建置物聯網整合平臺
- Node.js 開發工具 簡介
- Node-RED 簡介、執行環境準備
- Node-RED 基本操作 ~ Node 節點、Flow 流程、Icon 圖示
- 節點的連接與訊息傳遞
- 創建簡單的流程(如 HTTP 請求、自動化任務)
- Node-RED 與外部系統通訊
- Node-RED Dashboard 儀表板
- 透過 Dashboard 儀表板 客製化的 UI 來進行基本的監控界面設計
- 客製化 Node-RED 專屬頁面及功能
- 使用 Node-RED 開發 MVC 架構的網頁應用程式
- 更多的 Node-RED 擴充模組
🔸十、採用 Node-RED 建置資訊安全監控及自動化管理平臺
- 讀取設備的系統日誌,進行資安事件分析
- 定義日誌中各類攻擊行為的檢測模式(如暴力破解、SQL 注入)
- 結合 Node-RED 儀表板來展示日誌資料
- 設置告警機制,通知系統管理員
- 監控設備的連線狀態及開放埠的服務狀態,如:
- 使用 MQTT 節點來監控 IoT 設備的連線狀態
- 使用 exec 節點整合 nmap 來探測物聯網裝置的開放埠與服務
- 檢測設備的數據流量與異常行為,如:
- 監控伺服器的關鍵資源(如登入頁面、API 端點)的流量。
- 使用 http request 節點與伺服器進行通信,監控伺服器的回應時間、流量、以及異常請求。
- 出現異常時自動啟動防護機制、並發送通知,如:
- 進行網路 IP 封鎖、阻斷異常流量
- 自動生成事件記錄與報告
- 寄送 Email、發 Slack 或 Line 訊息,通知系統管理員
- 進階自動化安全事件管理
- 設置自動化安全事件處理流程(如多步驟的調查與響應)
- 整合多個節點與工具來自動處理複雜的安全事件
- 優化資安管理流程,並設計預防性防護措施
- 模擬網路攻擊情境與防禦策略
- 建立攻擊模擬流程(如 DDoS 攻擊、SQL Injection)
- 根據攻擊結果自動觸發防禦機制
- 透過 Node-RED 模擬多種攻擊情境並測試防禦策略的有效性
🔸十一、案例分析、重點回顧與總結
- 資安事件案例分析
- 網絡 DDoS 攻擊
- 智慧家庭設備的資安風險與攻擊案例
- 智慧城市系統中的物聯網安全挑戰
- 重點回顧
- 課程總結