235034 Security in Computer Systems and Networks Wireless LAN Security Lec. Sanchai Yeewiyom School of Information and Communication Technology University of Phayao
Objective การพิสูจน์ทราบตัวตนของ Client ใน WLAN มาตรฐาน IEEE 802.11i มาตรฐาน IEEE 802.1X Extensible Authentication Protocol การเข้ารหัสข้อมูลของ Wireless LAN การเจาะระบบ Wireless LAN
Wireless LAN Security โดยธรรมชาติจะมีการแพร่กระจายสัญญาณ จึงจำเป็นต้องมีการพิสูจน์ทราบตัวตนของผู้ใช้ (Client) เพื่อป้องกันผู้ที่ไม่ได้รับอนุญาตเข้ามาใช้ทรัพยากรในเครือข่าย ตามมาตรฐานของ IEEE 802.11 กำหนดให้มีการพิสูจน์ทราบตัวตนแบบเปิด (Open Authentication) และแบบแชร์คีย์ (Shared Key Authentication) นอกจากนี้ยังสามารถป้องกันผู้ที่ไม่ได้รับอนุญาตโดยใช้ หมายเลข Service Set Identifier (SSID) และ หมายเลข MAC (Media Access Control)
Wireless LAN Security นอกจากนั้นยังมีการกำหนดการรักษาความปลอดภัยข้อมูลที่สื่อสารกันระหว่าง Access Point และ Client โดยให้มีการเข้ารหัสข้อมูลแบบ WEP (Wired Equivalent Privacy) ใน IEEE802.11b และ WPA/WPA2 (Wi-Fi Protected Access) ใน IEEE802.11g, IEEE802.11n
http://electronicdesign. com/site-files/electronicdesign http://electronicdesign.com/site-files/electronicdesign.com/files/archive/electronicdesign.com/content/content/74186/74186_table1.gif
http://electronicdesign. com/site-files/electronicdesign http://electronicdesign.com/site-files/electronicdesign.com/files/archive/electronicdesign.com/content/content/74083/74083_table.gif
การพิสูจน์ทราบตัวตนของ Client ใน WLAN
การพิสูจน์ทราบตัวตนของ Client ใน WLAN 1. Client Broadcast การร้องขอเพื่อเชื่อมต่อไปทุกช่องสัญญาณ 2. Access Point ที่อยู่ในพื้นที่ตอบกลับการร้องขอของ Client 3. Client พิจารณาว่า Access Point ไหนที่ดีที่สุด และส่งการ ร้องขอเพื่อพิสูจน์ทราบตัวตน
การพิสูจน์ทราบตัวตนของ Client ใน WLAN 4. Access Point วิเคราะห์ข้อมูลที่ได้รับจาก Client แล้วส่งผลการได้รับอนุญาตกลับไปให้ Client 5. ถ้าการพิสูจน์ทราบตัวตนสำเร็จ Client ก็จะส่งข้อมูลที่เหลือ กลับให้ Access Point 6. Access Point ตอบกลับการได้รับข้อมูลที่เหลือ 7. หลังจากนี้ Client ก็พร้อมที่จะรับ-ส่งข้อมูลผ่านเครือข่าย
การพิสูจน์ทราบตัวตนของ Client ใน WLAN
การพิสูจน์ทราบตัวตนแบบเปิด (Open Authentication) เป็นวิธีการที่ง่าย และ รวดเร็ว โดย Access Point จะอนุญาตให้เชื่อมต่อกับทุกการร้องขอ ใช้กับอุปกรณ์ที่มี CPU ประสิทธิภาพต่ำ และไม่สามารถรองรับ Algorithm การพิสูจน์ทราบตัวตนที่มีความซับซ้อนมากได้ เช่น PDA, Palm, Mobile Phone เป็นต้น เครื่อง Client ที่ทราบ SSID จะสามารถเข้าถึงเครือข่ายได้ (แต่ถ้ากำหนดให้มีการใช้ WEP และเครื่อง Client ไม่ทราบ Key ที่ใช้ ก็จะไม่สามารถเข้าใช้เครือข่ายได้)
การพิสูจน์ทราบตัวตนของ Client ใน WLAN มีการพิสูจน์ทราบตัวตน 2 วิธี คือ แบบเปิด (Open Authentication) แบบแชร์คีย์ (Shared Key Authentication)
การพิสูจน์ทราบตัวตนแบบเปิด (Open Authentication) การพิสูจน์ทราบตัวตนแบบเปิด จะมีการรับ-ส่งเฟรมข้อมูลอยู่ 2 ประเภท คือ 1. เฟรมการร้องขอการเชื่อมต่อ (Authentication request) 2. เฟรมการตอบกลับการร้องขอ (Authentication response) การพิสูจน์ทราบตัวตนแบบนี้จะไม่สามารถระบุได้ว่า Client เป็นใคร ดังนั้นจึงควรใช้คู่กันกับ WEP
การพิสูจน์ทราบตัวตนแบบเปิด (Open Authentication)
การพิสูจน์ทราบตัวตนแบบแชร์คีย์ (Shared Key Authentication) การพิสูจน์ทราบตัวตนแบบ Shared Key เป็นวิธีที่กำหนดในมาตรฐาน IEEE 802.11 Client ต้องกำหนดคีย์ WEP แบบตายตัวในทุกๆ เครื่อง
การพิสูจน์ทราบตัวตนแบบแชร์คีย์ (Shared Key Authentication) ขั้นตอนการพิสูจน์ทราบตัวตน Client ส่งการร้องขอไปยัง Access Point และระบุว่าต้องการการพิสูจน์ทราบตัวตนแบบ Shared Key Access Point ตอบกลับการร้องขอพร้อมกับ Challenge Text ซึ่งเป็นข้อความแบบสุ่ม
การพิสูจน์ทราบตัวตนแบบแชร์คีย์ (Shared Key Authentication) Client ได้รับ Challenge Text แล้วนำมาเข้ารหัสด้วย WEP Key ที่กำหนดไว้ก่อนหน้า จากนั้นส่งกลับไปให้ Access Point ถ้า Access Point ถอดรหัสข้อความ และเปรียบเทียบกับ Challenge Text เดิม แล้วพบว่าตรงกัน Access Point จะอนุญาตให้เชื่อมต่อได้
การพิสูจน์ทราบตัวตนแบบแชร์คีย์ (Shared Key Authentication)
การพิสูจน์ทราบตัวตนแบบแชร์คีย์ (Shared Key Authentication) จุดอ่อน คือ กระบวนการแลกเปลี่ยน Challenge Text อาจถูกโจมตีแบบ Man-in-the-Middle โดยผู้ดักฟัง (Eavesdropper) อาจดักจับ Challenge Text แล้วนำไปวิเคราะห์หา WEP Key ได้ การเข้ารหัสโดย WEP เป็นการทำ XOR ระหว่าง Plain Text กับ Key ดังนั้นสามารถคำนวณหา WEP Key ได้โดยนำ Plain Text มา XOR กับ Cipher Text
การพิสูจน์ทราบตัวตนแบบแชร์คีย์ (Shared Key Authentication)
การพิสูจน์ทราบตัวตนแบบแชร์คีย์ (Shared Key Authentication)
การพิสูจน์ทราบตัวตนแบบใช้หมายเลข MAC (MAC Address Authentication) เป็นการพิสูจน์ตัวตนแบบใช้หมายเลข MAC ของ Client Access Point จะมีรายการหมายเลข MAC ของ Client ที่อนุญาตให้เข้าใช้งาน หรืออาจเก็บรายการไว้ที่ Server อื่นในเครือข่าย (Remote Authentication Dial In User Service Server : RADIUS Server) เนื่องจากการส่ง MAC Address จะส่งในรูป Plain Text ดังนั้น อาจถูกดักจับ (Sniffing) เพื่อนำไปปลอมแปลง (Spoofing) ได้
การพิสูจน์ทราบตัวตนแบบใช้หมายเลข MAC (MAC Address Authentication)
มาตรฐาน IEEE 802.11i มีการปรับปรุงมาตรฐานการรักษาความปลอดภัย โดยมีข้อกำหนด ดังนี้ ใช้โครงสร้างการพิสูจน์ทราบตัวตนตามมาตรฐาน IEEE802.1X ทั้งในเครือข่าย LAN และ WLAN ใช้ Extensible Authentication Protocol (EAP) ในการพิสูจน์ทราบตัวตนจากส่วนกลาง ซึ่งรองรับ การใช้ RADIUS Server และการสร้าง WEP Key แบบ Dynamic เพื่อใช้ในการสื่อสารในแต่ละ Session (Single Sign-On : SSO)
มาตรฐาน IEEE 802.1X เป็น Framework ที่ใช้ในการพิสูจน์ทราบตัวตนของอุปกรณ์ต่างๆ ที่ต้องการเชื่อมต่อกับเครือข่าย นอกจากนั้นยังกำหนดวิธีการในการแลกเปลี่ยน Key ที่ใช้ในการเข้ารหัส เป็นมาตรฐานในการควบคุมในระดับ Port (Port-based Network Access Control) ใช้ Extensible Authentication Protocol (EAP) ในการแลกเปลี่ยนข้อมูล
มาตรฐาน IEEE 802.1X องค์ประกอบสำหรับการพิสูจน์ทราบตัวตนของ IEEE 802.1X มีดังนี้ Supplicant : Client ที่เชื่อมต่อเข้ากับ WLAN Authenticator : Access Point ที่ทำหน้าที่เป็นตัวกลางในการพิสูจน์ทราบตัวตน Authentication Server : Server ที่ทำหน้าที่ในการพิสูจน์ทราบตัวตน โดยส่วนใหญ่ใช้ RADIUS Server
มาตรฐาน IEEE 802.1X ขั้นตอน Supplicant จะค้นหาและเชื่อมต่อกับ Authenticator ซึ่งจะเปิด Port ให้กับ Supplicant เข้าเชื่อมต่อ แต่สถานะยังอยู่ที่ไม่อนุญาต โดยจะให้ผ่านได้เฉพาะ Packet ของ 802.1X เท่านั้น เพื่อไปร้องขอ EAP จากนั้น Authenticator จะส่ง EAP กลับไปให้ Supplicant
มาตรฐาน IEEE 802.1X Supplicant จะส่ง EAP ที่ได้รับ ไปให้ Authentication Server พิสูจน์ทราบตัวตนของอุปกรณ์ เมื่อตรวจสอบเสร็จAuthentication Server จะส่งข้อมูลไปแจ้งยัง Authenticator ถ้าผลเป็น Accept Authenticator จะเปลี่ยนสถานะเป็นอนุญาต (Authorized State) ถ้า Reject จะไม่อนุญาต (Unauthorized State) เมื่อเปลี่ยนสถานะเป็นอนุญาต Supplicant จะสามารถเชื่อมต่อกับเครือข่ายได้
มาตรฐาน IEEE 802.1X
Extensible Authentication Protocol : EAP มาตรฐานการพิสูจน์ทราบตัวตนในเครือข่าย LAN และ WLAN เมื่อ Client ต้องการเชื่อมต่อกับเครือข่าย WLAN Client จะต้องแสดงหลักฐานเพื่อใช้พิสูจน์ทราบตัวตน (Credential) ต่อ Access Point หลังจากนั้น Access Point จะส่งหลักฐานต่อไปยัง RADIUS Server ซึ่งการแลกเปลี่ยนข้อมูลระหว่างจุดต่างๆ จะใช้ EAP
Extensible Authentication Protocol : EAP EAP-MD5 : ใช้ Username และ Password เป็นหลักฐานในการตรวจสอบ ใช้ MD5 ในการเข้ารหัส ปลอดภัยขึ้น แต่แก้ปัญหาการดักฟังและวิเคราะห์ WEP Key ที่เป็นค่าคงที่ไม่ได้ และ Client ไม่สามารถตรวจสอบตัวตนของ Access Point หรือ แม่ข่าย ได้
Extensible Authentication Protocol : EAP LEAP (Lightweight Extensible Authentication Protocol) : ใช้ Username และ Password เป็นหลักฐานในการตรวจสอบ มีการเปลี่ยนค่า WEP Key ไปเรื่อยๆ และผู้ใช้แต่ละคนจะได้รับ WEP Key เพื่อใช้เข้ารหัสที่แตกต่างกัน RADIUS Server สามารถกำหนดอายุ Session ได้ เมื่อได้รับ Session ก็จะได้ WEP Key ใหม่ จึงดักจับ WEP Key ได้ยาก นอกจาก นั้นยังสามารถตรวจสอบได้ทั้งฝั่ง Client และ Access Point (Mutual Authentication) แต่ถูกจำกัดการใช้ในผลิตภัณฑ์ของ Cisco
Extensible Authentication Protocol : EAP EAP-TLS (Transport Layer Security) : พัฒนาโดย Microsoft กำหนดให้ใช้การตรวจสอบตามมาตรฐาน X.509 (Digital Certificate) แทน Username และ Password จะมีการกำหนด WEP Key ให้ผู้ใช้แต่ละคนที่แตกต่างกัน สามารถตรวจสอบได้ทั้งฝั่ง Client และ Access Point (Mutual Authentication) แต่มีปัญหาเรื่องความยุ่งยาก และค่าใช้จ่ายเกี่ยวกับ Public Key Infrastructure (PKI)
PKI คือระบบที่รวบรวมบริการพื้นฐานต่างๆ เข้าไว้ด้วยกัน ซึ่งประกอบไปด้วยองค์ประกอบ ได้แก่ ระบบการเข้ารหัส (Cryptography), ใบรับรองอิเล็กทรอนิกส์ (Digital Certificate), ลายมือชื่ออิเล็กทรอนิกส์ (Digital Signature) ซึ่งจัดตั้งขึ้นโดยองค์กรที่ทำธุรกรรมนั้นเอง หรือโดยองค์กรที่เป็นกลางซึ่งเรียกว่า ผู้ประกอบการรับรอง (Certification Authority) หรือผู้ให้บริการรับรอง (Certification Service Provider) เทคโนโลยี PKI นี้เอง สามารถตอบสนอง ความต้องการพื้นฐานด้านความปลอดภัยของการทำธุรกรรมอิเล็กทรอนิกส์ 5 ประการดังที่ได้กล่าวไว้แล้วคือ Confidentiality, Integrity, Authentication, Non-repudiation และ Access Control
Extensible Authentication Protocol : EAP EAP-TTLS : จะตรวจสอบ Access Point โดยใช้ Digital Certificate และ Client โดยใช้ Username และ Password ปลอดภัยน้อยกว่า EAP-TLS ได้รับความนิยมน้อย PEAP (Protected EAP) : พัฒนาโดย Cisco RSA Securityและ Microsoft ตรวจสอบ Access Point โดยใช้ Digital Certificate และ Client โดยการใช้ SSL/TLS Tunnel ระหว่าง Access Point และ Client เพื่อป้องกันการดักฟังข้อมูล
การเข้ารหัสข้อมูลของ Wireless LAN WEP (Wired Equivalent Privacy) : ใช้อัลกอริธึม RC4 ซึ่งเป็นการเข้ารหัสแบบ Symmetric Key Stream Cipher ใช้ Key ตัวเดียวกันทั้งเข้ารหัสและถอดรหัส WPA (Wi-Fi Protected Access) : พิสูจน์ทราบตัวตนได้ทั้งแบบ Share Key (WPA-Personal) และแบบใช้ RADIUS Server (WPA-Enterprise) เปลี่ยนการแลกเปลี่ยน Key เพื่อให้สามารถตรวจสอบได้ทั้ง Supplicant และAuthenticator
การเข้ารหัสข้อมูลของ Wireless LAN TKIP (Temporal Key Integrity Protocol) : เปลี่ยน Key ที่ใช้ในการเข้ารหัสทุก Frame ข้อมูล และเพิ่มฟังก์ชัน Message Integrity Check : MIC โดยจะแก้ปัญหาการนำ Key กลับมาใช้ใหม่ และตรวจสอบความคงสภาพของ Frame ข้อมูล WPA2 : การพิสูจน์ทราบและการรักษาความลับจะใช้วิธีการตามมาตรฐานของ IEEE802.11i ใช้การเข้ารหัสข้อมูลแบบ Advanced Encryption Standard (AES) พิสูจน์ทราบโดยใช้ Cipher Block Chaining-Message Authentication Code : CBC-MAC
การเจาะระบบ Wireless LAN การดักจับข้อมูล
การค้นหาเครือข่าย Wireless LAN เครื่องมือที่ใช้ ได้แก่ NetStumbler : ค้นหาสัญญาณ คำนวณหาค่า Signal/Noise เพื่อวิเคราะห์ที่ตั้งของแหล่งสัญญาณ Kismet : ดีกว่า NetStumbler ตรงที่สามารถค้นหาสัญญาณจาก Access Point ที่ไม่ Broadcast SSID ได้
http://packetlife.net/media/armory/screenshots/netstumbler-58.jpg
https://www.kismetwireless.net/screenshot.shtml
การเชื่อมต่อเข้ากับ Wireless LAN เครื่องมือที่ใช้ ได้แก่ AirSnort : ดักจับข้อมูลจำนวนมากเพื่อใช้ในการถอดรหัส WEP Key CowPatty : ใช้ถอดรหัสแบบ Brute-Force และ Dictionary Method เพื่อหา Key ASLeap : ใช้ถอดรหัสการพิสูจน์ทราบตัวตนแบบ LEAP โดยการดักจับข้อมูลมาใช้ในการถอดรหัสหา Key
AirSnort http://blog.bogus.jp/wp-content/airsnort.jpg
CowPatty http://faculty.ccri.edu/jbernardini/JB-Website/ETEK1500/LinuxTools/coWPAttyMain.htm
ASLeap http://amikisukorejo.blogspot.com/2013/10/v-behaviorurldefaultvmlo.html
การดักจับข้อมูล เครื่องมือที่ใช้ ได้แก่ Wireshark : สามารถ Scan ข้อมูล และกรองเพื่อเลือกดูเฉพาะข้อมูลที่สำคัญ สามารถดักจับ Beacon Probe รวมถึงค้นหาสัญญาณจาก Access Point ที่ไม่ Broadcast SSID ได้