# 課程資訊 網路安全攻防教室空間夠都給加簽(大概20個) 研究生 大肆優先 # Overview 隨著電腦的普及化,電腦病毒透過「網路」這個媒介傳播,故資安問題日益重要 * Security 組成元素 * Confidentially: 加密傳輸中的資料 * Integrity: 保證資料不被竄改 * Availability: 保持系統的穩定性 * Authentication: 認證對方是誰 * Non-requdiation: 不可否認性,紀錄操作系統的每一步驟以回朔發生的事 * APTs(Advanced Persistent Threats): 高度專業、持續性、有威脅的攻擊 * 找到潛在的問題: * **fuzzying testing(輸入亂數以測試系統)** * reverse engineering(逆向工程) * 掃描系統的 Vulnerability(脆弱處) * Ethical hacking: 白帽駭客,發現弱點但不進一步攻擊 * **Penetration testing (有限制的嘗試攻擊)** * Red team (無限制的,實際模擬現實世界中的駭客攻擊) * Cyber Kill Chain * Reconnaissance (情報蒐集) * Weapenization (武器化) * delivery (將攻擊工具發送到目標系統) * Exploitation (利用惡意工具) * Installation (植入惡意工具) * Command and Control (C2) (指揮與控制) * Actions on Objectives (執行目標行動) **可以透過 CVE (Common Vulnerabilities and Exposures, 通用漏洞和暴露),來了解現有已公開的漏洞** # 第二章 Networking security devices ## Firewall 設定在外網與內網間的牆,決定哪些流量可以從外部進入內部,或是從內部進入外部  * **DMZ 是介於內網和外網之間的一個區域,在此透過防火牆的規則來限制內外網路間的直接訪問** ### Packet-filtering firewall 透過設置一系列的規則 (ACL) 實現過濾  * 例如第一行代表: 允許來自外部的任何 port、control bit 為任意的封包,進入內部的 80 port 中 ### Stateful firewall 透過 flow-tracking table 的紀錄,只允許過去曾經連線過的那些人通過防火牆  * 注意 timeout 欄位,當時間到後,便會從 flow-tracking table 中刪除這條紀錄 * 例如第一行代表: 允許 10.1.1.20 這個人27 45678 port,連線至 10.34.12.11 的 80 port;六十秒後刪除本條紀錄 * **如 pfSense 便是代表性工具之一** ### Proxy-based firewall * 建立一個外部到防火牆的連接、一個防火牆到內部的連接,避免直接接觸 * 優點: 能對流量進息深度檢查 * 缺點: 性能瓶頸 ## Virtual private network * 應用場景: * 允許遠端使用者存取內部資源 * 連接兩個不同的內網,使它們之間能夠像同一個內網一樣通信 * 繞過地理限制、網路審查、保持匿名 * **常見協議** * **L2TP, IPSec** * **IPSec 的核心協議為 Encapsulation Security Payload (ESP)** * **TLS/SSL** * **WireGuard** ### IPSec IPSec(Internet Protocol Security)是一個用來保護網路通信的協議,通常用於 VPN 中,為數據傳輸提供認證、加密、完整性檢查等功能 * Authentication Header (AH) * Authentication Header Format * **Encapsulation Security Payload (ESP)** ## Intrusion Detection System (IDS) 防火牆透過 "規則" 阻擋惡意流量,Intrusion Detection System (入侵偵測系統) 則著重在 "偵測" 惡意入侵上 * 檢測方法: * **誤用檢測 (Misuse Detection):** * 依賴已知的攻擊模式,手動編寫規則;例如透過 regular expression 匹配封包中的特定字串等等 (Detection by signatures) * 優點: 檢測快速,能有效檢測已知的惡意行為 * 缺點: 無法應對未知的攻擊或新型態的攻擊 * **異常檢測 (Anomaly Detection):** * 基於統計學或機器學習的模型 (監督、非監督、強化),學習什麼是 "正常行為",進而發現異常行為 * 優點: 能夠檢測未知或複雜的惡意行為 * 缺點: 誤報率高 * 實務上的檢測方法: * 透過 Signatures 檢測: 透過已知的 (ex: ) ### 網路入侵偵測系統(NIDS) * 封包捕捉(Packet capture from the network): 從網絡接口捕捉欲分析的封包 * 封包解碼/預處理(Packet decoding/Preprocessing): 擷取並預處理需要分析的部分 * 檢測引擎(Detection engine): 透過核心的檢測引擎偵測是否有異常行為 * 檢測輸出(Detection output): 生成檢測結果 * **以下工具皆是入侵偵測系統** * **Suricata**  * **Snort**  * **Zeek**  * **OSSEC**  ### NIDS evasion * **Evasion**(規避或逃避)指的是攻擊者試圖隱藏其行為,讓防禦系統無法檢測到惡意活動 * 本節主要探討躲避 NIDS 的方法 * Making the attacks low-profile: 減少攻擊頻率等,使攻擊不明顯 * Denial-of-service (DoS) attack: 讓 NIDS 因為過載而無法正常工作 * packet splitting: 將攻擊用的封包拆開,分別看小封包無害,但封包在 server 重組後包含惡意程式; * Overlapped fragments: 利用不同的系統對重疊的 TCP segments 解釋方式不同的特性,進一步防止 NIDS 破解攻擊 * Time-to-live (TTL) manipulation: 透過 TTL (封包存活時間),來讓 NIDS 收不到某些封包 segment,導致解讀不出攻擊訊息 * Content mutation: 為一種針對網頁攻擊的躲避技術,透過網頁特有的解讀方式,繞過 NIDS 的偵測 (例如 %63 這種 URL 編碼會被 Web server 解讀成 c,但 NIDS 不一定能成功解讀) * Input or poison attacks for adversarial learning ### Detection by signatures * **使用 Deep Packet Inspection (DPI, 深度包檢測) 的技術,深入檢查封包的內容** * 使用 Aho-Corasick algorithm 匹配特定字串 ### Detection by machine learning * 透過機器學習的技術偵測 * 優點: 能偵測出不易於列出指定規則的攻擊手段 ## 其他 非 IDS 的檢測工具 * **YARA: 全名為 Yet Another Recursive Acronym,主要是用於文件或記憶體的靜態檢測** * Web Application Firewall (WAF): 專門保護 Web 應用程式的防火牆 # 第三章 Techniques of Network Attacks and Defenses --- Reconnaissance&Scanning ## Reconnaissance * 收集目標資訊的過程 * 目的是了解攻擊目標有哪些弱點 * 非技術性: * Social engineering: 透過操縱或欺騙攻擊目標的員工來獲取內部資訊,如釣魚 email 等等 * Physical break: 物理性的入侵目標,如直接進入攻擊目標的建築物內蒐集資訊等等 * Dumpster diving: 嘗試從攻擊目標丟棄的垃圾中翻找有用訊息,如丟棄的紙本文件等 **Recon-ng: 一款功能強大的情報收集工具,可以蒐集whois 數據、DNS 記錄等等** * shodan: 專門用於搜尋網際網路上公開的設備 (包括 IoT 設備) 的搜尋引擎 ## Scanning * "主動"檢查目標的系統是否有可用的漏洞等 * Network mapping: 使用 ping 等方式,找出主機、路由器、防火牆等設備 IP 等等 * port-scanning: 掃描設備的 port,並找出正在運行的服務 * TCP scan 是一種常見的實作方式,透過 TCP 會用到的封包來偵查目標 port 的狀態 (如開放、被過濾、關閉等等) * **Idle scan: 利用 IP identification 會隨著每次收發封包,編號逐漸 +1 的特性** * 1. 取得 blamed host(僵屍主機) 的 IP identification * 2. 利用假冒 IP 的技術 (IP spoofing),假冒僵屍主機向目標主機直接發送一個 SYN+ACK * 3. 因為沒有事先與目標主機連線便發送 SYN+ACK 連線,目標主機會直接回應一個 RST (reset) * 4. 再次取得 blamed host(僵屍主機) 的 IP identification,若是數字有 +2 的話,代表有目標主機的該 port 是 open 狀態;若是只有 +1,則代表目標主機的該 port 無回應  #### 防禦 port scanning * 偵測: 當出現非隨機的連接情況時,很可能代表被供給者掃描 * 出現大量失敗的連接嘗試 * 短時間內嘗試連接到一台主機的多個 port * 短時間內嘗試連接到多台主機的相同 port 時 * 預防: * 減少暴露多餘 port、開啟防火牆等等 #### 隱藏自己 * 使用 Tor:  #### OS fingerprinting * 識別目標機器所執行的作業系統的方法 * 主動: 目標機器流量不多時也能探測 * 被動 : 隱蔽性高 #### Vulnerability Assessment (漏洞評估) * 與 Penetration Testing (滲透測試) 不同的是,漏洞評估旨在識別系統中的已知安全漏洞,而非直接模擬攻擊者的行為 * 常見工具 * Nessus: 商業漏洞掃描工具 * **nmap (Network Mapper): 為一種 port-scanning tool。用於發現網路中的主機和服務,並檢查其安全性** * OpenVAS: 開源的漏洞掃描工具 * Acunetix: 專注於 Web 應用程式的漏洞掃描工具 * **Metasploit** 是一個開源的漏洞利用框架,偏向攻擊測試用 # 第四章: Gaining access * exploit: 利用漏洞達成攻擊目的 ## Buffer overflow exploits * 當攻擊者輸入的資料多過分配的空間時,可能會發生 Buffer overflow exploits * 不應該被存取的記憶體被攻擊者的輸入所覆蓋 * 攻擊者可以透過 Buffer overflow exploits * 使程式崩潰 * 覆蓋程式流程控制的關鍵部分 (例如 return address),來改變執行結果 * **ROP (Return-Oriented Programming) 攻擊**: 利用ret指令結尾的程式片段,組成攻擊者想要的敘述的技巧 * 誘導執行惡易程式碼 (如 shell code,用於在系統上開啟 shell 或執行任意命令) * **return to libc” attack**: 透過 Buffer overflow exploits,修改程式函數的回傳位址成系統函式庫中的函式,並透過自己指定的參數來呼叫系統中的函數來達成目的;可以做到不需植入惡意程式碼便可攻擊的目的  --- 期中考線 --- ### 預防 * 不要使用沒有邊界檢查的函式 * **fuzzing (模糊測試): 透過輸入各種意外、隨機或無效的數據來觀察程式的反應** * StackShield: 編譯時檢測不安全的操作 * StackGuard: 透過類似 parity bit 的機制檢查 stack 中的內容是否被覆蓋 * **Stack smashing protection (SSP): 重新排列 Stack 中的內容** ### windows 上的記憶體保護機制 * Stack-based Buffer Overrun Detection: 用來檢測是否發生 stack Buffer overflow * 透過在函數返回地址與本地變量之間插入一個「金絲雀」值(Canary)來實現 * Safe Structured Exception Handling (Safe**SEH**): 確保應用程式只會使用安全的、編譯時已定義的異常處理器。SEH 指的是 Windows 中的一種異常處理機制 * SEH Overwrite Protection (**SEH**OP): 防範 SEH 覆蓋攻擊 * Heap Protections: 與第一點類似,可以檢測 Heap 是否發生 Buffer overflow * **Data Execution Prevention (DEP): 透過為記憶體中的特定區域設置屬性,來防止惡意代碼執行於非可執行的記憶體區域** * **Address Space Layout Randomization (ASLR): 是一種記憶體隨機化技術,用於增加攻擊者在發動相關攻擊時的難度** # 補充教材 ## 重要名詞解釋 * Vulnerability:弱點 * Exploit:當一個攻擊者在系統中發現一個漏洞時,他開發出一個**利用**它的程式 * Payload: Payload是實際工作的一部分。弱點利用只是用來在目標上執行Payload Metasploit: 重要的滲透測試工具平台 AutoSploit: 透過python開發的自動化大規模測試工具 # Denial-of-Service Attacks * 使正常使用者無法訪問或停止關鍵系統 Process 的攻擊便可稱作 Denial-of-Service (Dos)Attacks  ## Remotely stopping services * ARP Spoofing: ARP 負責將 IP 位址對應到實際的 MAC 位址。ARP Spoofing 透過汙染路由器的對應關係,使得路由器把流量送到攻擊者的設備 * TCP Reset: 對已建立的 TCP connection 送出 RST (reset) 封包,中斷他們的連接 ## Remotely exhausting resources * SYN flood: 攻擊者不斷向目標發送大量的 **SYN 封包**,但不完成後續的 **ACK 回應**。把目標的 connection queue 填滿後,目標便不能正常回應了 * 防禦: 1. 不使用 connection queue 2. 使用 使用 SYN Cookies: 伺服器在收到 SYN 封包時,不立即分配資源,而是回應一個經過編碼的 SYN-ACK 封包(即 SYN Cookie)。只有當伺服器收到 ACK 回應時才真正分配資源、建立連線。 * Smurf attacks: 攻擊者把自己偽造成受害目標的 IP 位址,並發送 ICMP 廣播封包到網路上;所有收到封包的設備都會發送回應給受害目標,使得受害目標癱瘓 * 類似的攻擊還有 Fraggle,利用的是 UDP 封包 * 防禦: 1. 在 edge router 過濾 ICMP 封包 常見攻擊種類: 1. Reflection: 攻擊者發送偽造來源 IP 的請求,讓服務器回應受害者 IP 位址 * Reflection Attack * DNS Amplification Attack * VoIP Flooding * HTTP Floods 2. Slow Request/Response Attacks: 以緩慢且持續的方式發送或接收數據,以阻塞伺服器的資源 * Slowloris * HTTP Fragmentation Attack * Slowpost * Slowreading ------ 期中考線 ------ # 第五章 Denial-of-Service Attacks * 使正常使用者無法訪問或停止關鍵系統 Process 的攻擊便可稱作 Denial-of-Service (Dos)Attacks ## DNS amplification attack * 中文為 DNS 放大攻擊 * 由於 DNS query 的封包通常很小,但回應的封包可能非常大。故可以用這項特性 "放大" 流量,來癱瘓目標伺服器 ## SYN flood * 攻擊者不斷向目標發送大量的 **SYN 封包**,但不完成後續的 **ACK 回應**。把目標的 connection queue 填滿後,目標便不能正常回應了 ## Mirai * 一種物聯網(IoT)設備為目標,目的是 DDOS 的惡意軟體 ## ARP spoofing * 透過偽造(spoofing) ARP(Address Resolution Protocol) 訊息,將錯誤的 MAC 地址映射到 IP 地址上,從而使攻擊者能夠攔截、篡改目標設備的網絡流量 ### **netcut** * 是一款針對局域網中設備的 ARP spoofing 工具 # 第六章 Password and authentication ## John the Ripper * 是一款開源的密碼破解工具,專注於破解 UNIX 系統中的密碼  ## Kerberos authentication * 是一種基於密鑰的網路身份驗證協議,可以在不安全的網路下驗證對方身份 * 分為三個關鍵字,分別是 * client: 請求服務的客戶端 * KDC(Key Distribution Center): 負責發放 ticket 的 server * TGT(Ticket Granting Ticket): 用於證明身分的 ticket * 互動步驟 * client 透過帳號密碼向 KDC 驗證身份 * KDC 確認身份後,回傳 TGT 給 client * client 透過 TGT 向 KDC 請求 service ticket * KDC 確認後,回傳 service ticket 給 client * client 透過 service ticket,向 file server 請求資源  ## OAuth * OAuth (Open Authorization) 是一種開放標準,用於授權第三方應用程序 (如 ecourse2) 訪問使用者在服務提供者 (如 Google) 上的受保護資源 * 通常作為 SSO (Single sign-on) 的基礎。SSO 允許使用者只登錄一次,即可訪問多個不同的應用或服務  ## Hashing * 為了避免明文儲存密碼,在儲存使用者的密碼時,會透過 hashing function 處理 ### **salting** * 當使用者創建密碼時,系統會生成一個 salt value,並與使用者的密碼結合後再拿去 hashing 並儲存起來 * 當要驗證使用者輸入的密碼是否正確時,會將輸入與之前存起來的 salt value 做結合後,再拿去 hashing 並跟資料庫中的資料進行比對 * 這樣做可以讓破解密碼的時間變長,同時即使破解後,也拿不到使用者心中的真實密碼 # 第七章 Network sniffing **注意: sniffer 不屬於 Malware** ## mitmproxy * mitmproxy 前面的 "milm" 指的是 "**man-in-the-middle**" (中間人代理) * 專門為了 HTTP 以及 HTTPS 所設計 * 會在客戶端與伺服器之間充當代理;可以讓開發者即時攔截、檢視及修改流量 * 有利有弊,若攻擊者在 A, b 雙方建立密鑰時,作為中間人分別對兩者建立密鑰,便會導致封包即使加密還是不安全 ### Ettercap * 是一款支援 man-in-the-middle 攻擊的工具 * 由於具備 Packet Sniffing 的功能,故可以拿來錄封包  ## Aircrack-ng * 是一款可用於監控、攻擊、測試、破解密碼的工具,跟網路及 Wi-Fi 有關 * **可用於破解WiFi的密碼**  ## nmap * nmap 的全名為 Network Mapper * 是一個開源的網路掃描工具。可以快速掃描大量的目標,識別網絡設備、開放端口、服務信息及其版本、操作系統類型  ## Tcpdump * 可用於捕獲並顯示設備接收到的網路封包  # 第八章 Web attacks ## OWASP * OWASP 的全名是 Open Web Application Security Project * 是一個開源的非營利組織,致力於提升 Web application 的安全性 * **發佈了與 Web security 相關的 top-10 list**,每年都會列出當年度 Web application 中最常見的安全風險和漏洞  ## XSS * **XSS 指的是 Cross-Site Scripting,是一種攻擊手段** * 攻擊者透過將惡意程式碼注入到網頁中,從而在其他使用者的瀏覽器上執行該惡意程式碼 (通常以 javascript 為主) ### Reflected XSS * 攻擊者會創建一個惡意的 URL,透過參數的方式包含一些惡意程式碼 * 受害者點擊這個 URL 時,惡意程式碼被 Web application 反射回來並在受害者的瀏覽器上執行 ### Stored XSS * 攻擊者將含有惡意程式碼的資料上傳,儲存在 Web application 的 server 上 (例如留言) * 受害者在訪問這些資料時,這些惡意程式碼便可能會被受害者的瀏覽器執行 * **無需透過社交工程等手法協助實施** ### DOM-based XSS * Web application 直接透過 DOM 語法,將使用者的輸入代入生成 HTML * 當使用者的輸入包含惡意程式碼時且未經過濾時,這段程式碼可能會直接被瀏覽器執行 ## XXE * 全名為 XML External Entity。是一種針對解析 XML 檔案類型的應用程式的攻擊方式 ## Burp suite * **是一套主要用於測試 Web application 的安全的工具**  ## BeEF * BeEF 全名為 Browser Exploitation Framework * 是一款用於針對 Browser 進行漏洞利用、滲透測試的框架 * 主要針對 Web Application 的客戶端部分進行測試  # 第九章 Malware and Covert channel * Malware 全名為 Malicious Software * 指的是任何設計用來對電腦系統、網路或使用者造成損害,或進行非法操作的惡意軟體 ## 重要的 Malware ### Backdoor * Backdoor (後門) 是一支程式,允許攻擊者繞過正常的安全控制,直接存取系統 ### Worm * Worm (網路蠕蟲) 指的是那種可以不斷自我複製並自動傳播的惡意程式 ### Ransomware * Ransomware (勒索軟體) 是一種惡意軟體,旨在加密受害者的檔案或鎖定其系統,迫使受害者支付贖金以恢復 ### Rootkit * **Rootkit(隱匿軟體)是一組惡意軟體,旨在深入系統核心,隱藏自身及其他惡意程式的存在** ### keylogger * 錄製受害者的鍵盤輸入,並將這些輸入的信息(例如密碼、信用卡號、個人資料等)發送給攻擊者 ## Packer/Cryptor * Packer 是用來壓縮、加密或混淆可執行檔案的工具 * 例如 UPX: 一款開源的可執行檔壓縮工具,便可以用來壓縮或解壓 PE 格式的執行檔 * Cryptor 是另一類工具,專門用於加密可執行檔案,使其內容不可讀 ## Malware 的分析方法 * **大致上可以分成靜態與動態** * 靜態: 不執行程式,只分析程式特徵或程式碼 * 動態: 執行程式,並觀察執行過程及結果 * 以下是各種類型的分析方法 * 基本靜態分析 * 在不查看實際指令的情況下,有限度的檢查 Malware 的 metadata * 基本動態分析 * **在受控環境 (Sandbox) 下**實際執行 Malware 觀察它的行為 * 進階靜態分析 * 透過反組譯,來實際查看 Malware 的內部邏輯和演算法 * 進階動態分析 * 使用 debugger 檢查正在執行的 Malware,其內部情況 ## IDA Pro * 是一款高級的反組譯工具 (disassembler) * 可以將機器語言轉換成可讀的組合語言  ## 各種可執行檔格式 * **Windows 的執行檔格式: PE** * 可透過 PE Explorer: 一款功能強大的 Windows 可執行檔(PE)分析工具,來進行分析 * 可透過 UPX: 一款開源的可執行檔壓縮工具,來壓縮或解壓 PE 格式的執行檔 * Linux 的可執行檔格式: ELF 其他: 儲存網路封包的檔案格式: PCAP Unix 系統中儲存系統日誌的檔案格式: syslog ## spamming botnet * spamming botnet 是指由大量被感染的設備組成的網路,這些設備被駭客遠端控制,用於發送大量的垃圾郵件 * **工作原理**: * botnet 感染了某台電腦後,它會在電腦安裝惡意程式 * 並利用 DGA (domain generation algorithm) 生成一系列的隨機 domain (域名),並測試這些 domain 來確定哪些可以連接到 C&C server (Command and Control server,負責指揮與控制 botnet) * 找到可用的 domain 後,便會開始始接收和執行 C&C server 的指令 * 由於 DGA 使用相同的 seed 生成的 domain 是可被預測的,攻擊者可以藉此再發動攻擊前為 C&C server 註冊少部份的 domain ## Covert Channel * Covert Channel 是一種在不被系統察覺的情況下,利用非正常傳輸方式進行資訊隱秘傳遞的技術 * 例如 Tunneling: 在 SSH 協議的傳輸通道下,傳遞 HTTP 協議的封包 ## Encrypted Channel * Encrypted Channel 是使用加密技術保護傳輸的資料免於被攔截的安全通信方式 # 第十章 System forensics and rootkit techniques ## Sysinternals * 是一套 Windows 系統工具集 * 提供了許多功能強大的工具幫助分析、監控、診斷以及排查 Windows 作業系統的問題  ## Volatility * **是一套用於完整記憶體轉儲(Full Memory Dump)的開源記憶體取證工具** * 記憶體是易失性的 (關機資料即丟失、隨時都會被更動),透過這套工具,可以將記憶體中的狀態完整的儲存起來  ## DKOM * DKOM 的全名是 Direct Kernel Object Manipulation * 攻擊者通過直接操縱作業系統 Kernel 中的 data structure,實現隱藏惡意活動或繞過安全機制等目的 * 例如修改 system call、提升惡意程式的權限、將惡意程式從 process 列表中移除,使其對系統管理工具不可見等等 # 第十一章 Security ## 加密演算法 ### DES * DES 的全名是 Data Encryption Standard * 是一種對稱加密演算法,使用相同的密鑰進行加密和解密。 ### AES * AES 的全名是 Advanced Encryption Standard * 是一種對稱加密演算法,使用相同的密鑰進行加密和解密。 ### RC4 * RC4 的全名是 Rivest Cipher 4 * 是一種對稱加密演算法,使用相同的密鑰進行加密和解密。 ### **RSA** * RSA 的全名是 Rivest–Shamir–Adleman * 是一種非對稱加密演算法,使用一對密鑰(公鑰和私鑰)進行加密和解密 * **為知名的 public key 加密演算法** ## Hashing function * 廣泛應用於數位簽章、檔案完整性驗證等領域 * 負責驗證資料的完整性 * 知名 hashing function: SHA-1、MD5 ## 數位簽章 * 數位簽章使用非對稱加密技術。簽署者使用 private key 對文件生成的 hash value 加密,接收者使用對應的 public key 進行解密,並拿解密後的值跟收到文件的 hash value 做比對 * 確保了訊息的完整性、來源的真實性 ## MAC * MAC 的全名是 message authentication code * 訊息的發送者和接收者共享同一個 private key。接收者收到訊息後,使用與發送者相同的 private key 計算 MAC 值,並與訊息附加的 MAC 值進行比較,以確認訊息在傳輸過程中未被修改 ### 備註 數位簽章與 message authentication code(MAC) 的幾點主要差異 1. 數位簽章可公開驗證,但 MAC 不行 2. 數位簽章使用非對稱式金鑰,但 MAC 使用的是對稱式金鑰 ## **Certificate** * Certificate 主要來證明網站、個人、或公鑰的持有者訊息 * CA (Certificate Authority, 憑證授權中心) 則是一個受信任的第三方機構,負責發放及管理 Certificate * 實體首先生成一對公私鑰 * 實體將公鑰以及他的身份訊息發送給CA * CA 驗證無誤後,也生成一對自己的公私鑰,並拿自己的私鑰對實體的公鑰以及他的身份訊息進行數位簽章,生成數位憑證 * 其他人可以透過 CA 的公鑰,來解密數位憑證,取得實體的公鑰 * 簡單來說,CA 的功能就是確保現在客戶拿到的公鑰真的是實體提供的那把  # 其他 ## Wireshark * Wireshark 是一款網路封包捕捉與分析工具,可以實時紀錄本地透過網路收到的封包,並加以分析  ## IETF * IETF 的全名是 Internet Engineering Task Force * 是負責開發和標準化互聯網協議的組織,例如定下 HTTP、TCP/IP 的規則等等  ## 3GPP * IETF 的全名是 3rd Generation Partnership Project * 是負責推動無線通信技術的標準化的組織,包含定下 3G、4G、5G 等等的通信標準  ## Autoruns * Autoruns 是由 Microsoft 提供的一款免費工具,專門用於列出 Windows 系統中所有自動啟動的程式  ## OpenID Connect * 是一個基於 OAuth 2.0 的身份驗證協議  ## CAPTCHA * 是一種用於區分人類與自動化程序的測試
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up