# 課程資訊 網路安全攻防教室空間夠都給加簽(大概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
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.