Network Security
ทำไมต้องมีการรักษาความปลอดภัย? Network Security ทำไมต้องมีการรักษาความปลอดภัย? เพื่อป้องกันข้อมูล และเครือข่ายจากผู้ไม่หวังดี จากภายใน และภายนอกองค์กร ข้อมูลลับที่ไม่พึงเปิดเผย เช่น ข้อมูลรหัสผู้ใช้งาน, รหัสผ่านของระบบ ,ข้อมูลที่เกี่ยวกับลูกค้า เช่น หมายเลขบัตรเครดิต เป็นต้น เครือข่าย และทรัพยากรของระบบ เช่นเครื่องคอมพิวเตอร์ Hardware Software หรืออุปกรณ์สื่อสารต่างๆ
Friends and Enemies Alice Bob channel secure data sender receiver Network Security Friends and Enemies Bob, Alice (lovers!) want to communicate “securely” Trudy (intruder) may intercept, delete, add messages secure sender receiver channel data, control messages data Alice Bob Trudy
What can a bad guy do? Network Security Packet Sniffer IP Spoofing Password Attacks Man-in-the-Middle Denial-of-Service Trojan Horse, Worm and Virus
Packet Sniffer Network Security วิธีการ ใช้ Software เพื่อระบุให้ Network Card ทำงานใน Promiscuous Mode เพื่อจะรับเอาทุกๆ packet ที่วิ่งในเครือข่ายส่งไปยัง Software เพื่อวิเคราะห์ และค้นหาข้อมูล Source Promiscuous Mode On Promiscuous Mode Off Destination
IP Spoofing A C B Network Security การแกล้งทำเป็นคอมพิวเตอร์ที่เชื่อถือได้ โดยอาจจะใช้ IP Address เหมือนกับที่ใช้ในเครือข่าย หรืออาจใช้ IP Address ข้างนอกเครือข่าย แต่ทำให้เครือข่ายเชื่อว่าเป็นเครื่องที่เชื่อถือได้ หรืออนุญาตให้เข้าใช้ทรัพยากรในเครือข่ายได้ วิธีการ: ปรับ แก้ไข Routing table เพื่อให้สามารถส่ง packet ไปยังเครื่องของผู้บุกรุกได้ แก้ไข Application ให้ส่งข้อมูลที่เป็นประโยชน์ต่อการเข้าถึง application นั้นผ่านทาง email ไปได้ เช่น ดักจับการกด Keyboard เพื่อดูว่าป้อนรหัสผ่านอะไร แล้วส่งรหัสผ่านนั้นไปทาง Email เป็นต้น A B C src:B dest:A payload
Password Attacks Network Security ผู้บุกรุกพยายามเดารหัสผ่านของผู้ใช้คนใดคนหนึ่ง ถ้าทำสำเร็จ ก็จะมีสิทธิเทียบเท่ากับบุคคลคนนั้นในการเข้าใช้ระบบ Hacker ที่เดารหัสผ่านได้แล้วอาจสร้าง Account อื่นไว้ในเครื่องเพื่อรองรับการเข้าใช้งานในอนาคต(Back Door) วิธีการ: ใช้ Software ช่วยในการทำงาน เช่น Brute-Force (ลองผิดลองถูกไปเรื่อยๆ) Trojan Horse(ซ่อนโปรแกรมเล็กๆลงใน Application เพื่อตรวจสอบการทำงาน) IP Spoofing Packet Sniffer
Man-in-the-Middle Network Security แทรกตัวเป็นคนกลางในการส่งข้อมูลระหว่างเครื่องสองเครื่องเพื่อตรวจจับ packet อาจเปลี่ยนแปลงแก้ไข หรือขโมยข้อมูล หรือขโมย Session ของการทำงาน (Session Hijack) วิธีการ: ใช้ Software ประเภท packet Sniffer หยิบ Packet ขึ้นมาจากเครือข่าย แก้ไขแล้วส่งกลับไปในเครือข่ายต่อ ใช้โปรแกรมในกลุ่มที่ทำหน้าที่เหมือนกับเป็น Proxy Server
DOS – Denial of Service Network Security เป็นการโจมตีเครือข่าย โดยทำให้เครื่อง Server หรืออุปกรณ์ในเครือข่ายไม่สามารถให้บริการได้ วิธีการ: ใช้ Software เพื่อเปิดการเชื่อมต่อกับ Server จนเลยขีดความสามารถของเครื่อง Server ที่จะรับได้ ส่ง Packet จำนวนมากเข้าสู่ Server นั้นพร้อมๆกัน จนเครือข่ายรับไม่ไหว เช่น กรณี Ping of Death (ส่ง Ping packet ขนาดใหญ่จำนวนมาก เข้าสู่ Server พร้อมๆกัน จนเครื่องใช้เวลาในการทำงาน (CPU time) ในการตอบกลับหรือสร้าง Response packet จนหมด)
Trojan Horse, Worm and Virus Network Security Trojan Horse, Worm and Virus Trojan Horse – ใช้โปรแกรมเล็กๆแฝงไว้ใน application พอถึงเวลาที่ตั้งไว้ก็ออกมาทำลายข้อมูล Worm – จัดเป็น Virus ชนิดหนึ่ง โดยจะแพร่กระจายตัวเองไปยังเครื่องคอมพิวเตอร์อื่นๆ ในเครือข่าย โดยใช้ประโยชน์จาก Application ที่รับส่ง file โดยอัตโนมัติทั่วไป เช่นโปรแกรมรับ-ส่ง Email Virus – เป็นโปรแกรมเล็กๆ ที่มีจุดมุ่งหมายเพื่อทำลายข้อมูลภายในเครื่องนั้นๆ หรืออาจแค่ก่อกวนสร้างความรำคาญให้กับผู้ใช้งานเท่านั้น
เทคโนโลยีรักษาความปลอดภัย Network Security เทคโนโลยีรักษาความปลอดภัย Firewall เป็น Software หรือ Hardware ที่ทำหน้าที่ตรวจสอบ วิเคราะห์ข้อมูลที่วิ่งเข้า ออกเครือข่าย IDS (Intrusion Detection System) เป็นเครื่องมือสำหรับตรวจสอบการบุกรุก โดยระบบจะแจ้งเตือนให้ผู้ดูแลระบบทราบเมื่อมีการพยายามบุกรุกเครือข่าย
Network Security Firewall Demilitarized Zone
Firewall Network Security Application Layer Firewall เป็น Firewall ที่ทำงานในระดับ Application Layer ส่วนใหญ่เป็น Application software ที่เรียกว่า Proxy Firewall ทุกการเชื่อมต่อของ Application จะต้องผ่าน Proxy firewall ก่อน จากนั้น Firewall จะตรวจสอบข้อมูลกับนโยบายรักษาความปลอดภัย(ที่กำหนดไว้) ว่าจะอนุญาตให้ข้อมูลนั้นผ่านไปได้หรือไม่ ถ้าไม่อนุญาตให้ผ่าน Packet นั้นจะถูก Drop ทิ้งไป แต่ถ้ายอมให้ผ่านได้ ก็จะสร้าง Connection ไปยัง application ปลายทางต่อไป
Firewall Network Security Packet Filtering Firewall Firewall ประเภทนี้ยอมให้ Client สามารถ connect เข้ากับ application ปลายทางได้โดยตรง ทำให้การทำงานของระบบรวดเร็วกว่า Application Firewall เนื่องจากไม่ต้องสร้าง connectionใหม่ อยู่ในรูป Software หรือ Hardware ก็ได้ การทำงานจะทำการ Filter packet ก่อนที่จะส่งออกหรือรับเข้าจาก Router โดยอาศัย Access Control List (ACL) ที่กำหนดขึ้น
Firewall ส่วนใหญ่มักใช้ตามกฎข้อแรก Network Security Access Control List (ACL) ACL จะประกอบด้วย Header field ของ IP Packet เช่น Source and Destination IP address, Protocol, Source and Destination Portและกฎว่าด้วยการอนุญาต หรือไม่อนุญาต เมื่อมี Packet ข้อมูลเข้ามาจะพิจารณาว่า ถ้าไม่มีกฎข้อไหนที่ไม่ได้เขียนว่าอนุญาต ให้ถือว่าห้าม ถ้าไม่มีกฎข้อไหนที่ไม่ได้เขียนว่าห้าม ให้ถือว่าอนุญาต Firewall ส่วนใหญ่มักใช้ตามกฎข้อแรก
Access Control List (ACL) Network Security Access Control List (ACL) ขั้นตอนการตรวจสอบ Packet ของ Packet Filtering Firewall
IDS (Intrusion Detection System) Network Security IDS (Intrusion Detection System) เป็นเครื่องมือสำหรับตรวจจับความผิดปกติ หรือความพยายามที่จะบุกรุกเครือข่าย โดยระบบจะแจ้งเตือนผู้ดูแลระบบเมื่อมีความผิดปกติเกิดขึ้น เช่นมีการพยายามบุกรุก หรือกรณีการทำงานของ Hardware/Software เกิดทำงานผิดปกติไป การทำงานของ IDS ไม่ใช่ป้องกันการบุกรุกแต่เป็นระบบที่คอยแจ้งเตือนภัยเท่านั้น (ทำงานเหมือนกับระบบกันขโมย) ประเภทของ IDS Host-Based IDS Network-Based IDS Software run on Host เป็นระบบที่ระวัง และตรวจจับการบุกรุกเครื่อง Host หรือ Server Software รันบนเครื่องอีกเครื่องหนึ่งแยกต่างหาก ซึ่งเป็นเครื่องสำหรับทำงานเกี่ยวกับ IDS โดยเฉพาะ เป็นระบบที่ระวังและตรวจจับการบุกรุกเครือข่าย
Network Security IDS
Cryptography Network Security เป็นเทคนิคในการแปลงข้อมูลที่เป็นข้อความปกติ ให้อยู่ในรูปแบบที่ไม่สามารถอ่านได้รู้เรื่อง(Cipher Text) จุดประสงค์เพื่อปิดบังหรือซ่อนข้อมูลที่สำคัญ ไม่ให้ผู้อื่นสามารถอ่านข้อมูลนั้นได้
ประเภทของการเข้ารหัสข้อมูล Network Security ประเภทของการเข้ารหัสข้อมูล Symmetric Key Cryptography ผู้รับและผู้ส่งจะใช้รหัส ตัวเดียวกัน ในการเข้ารหัสและถอดรหัสข้อมูล โดยผู้ส่งและผู้รับต้องทราบรหัสลับนี้ร่วมกัน จึงจะส่งข้อมูลได้อย่างถูกต้อง Asymmetric Key Cryptography (Public-Key) คือการเข้ารหัสโดยที่กุญแจที่ใช้เข้ารหัสจะแตกต่างกับกุญแจที่ใช้ถอดรหัส นั่นคือการเข้ารหัสและการถอดรหัสจำเป็นต้องใช้กุญแจเป็นคู่ กุญแจที่ใช้เข้ารหัสจะถือเป็นกุญแจสาธารณะที่เรียกว่า public key โดยที่บุคคลที่จะเข้ารหัสข้อมูลจะได้รับ public key ในการเข้ารหัส ส่วนบุคคลที่สามารถถอดรหัสได้คือบุคคลที่มีกุญแจส่วนตัวที่เรียกว่า private key
Symmetric Key Cryptography Network Security Symmetric Key Cryptography ใช้ Secret Key เพียงตัวเดียว ในการเข้ารหัสและถอดรหัส เป็นเทคนิคการเข้ารหัสที่ค่อนข้างเร็ว Key มีขนาดความยาวคงที่ ยิ่งความยาวของ Key ยิ่งมาก ยิ่งมีความปลอดภัยสูง (ความยาวของ Key วัดจากจำนวน bit ของ Key) Algorithm เป็นมาตรฐานที่มีการพิมพ์เผยแพร่ทั่วไป การส่งมอบ Key ระหว่างกันเป็นเรื่องที่ต้องระวังเป็นพิเศษ ตัวอย่าง Algorithm ที่ใช้ เช่น DES ,Triple DES, IDEA, Blowfish, AES, RC4, RC5
Symmetric Key Cryptography Network Security Symmetric Key Cryptography
Asymmetric Key Cryptography Network Security Asymmetric Key Cryptography ใช้ Secret Key 2 ตัวเรียกว่า Public Key และ Private Key โดยทั้งสอง Key จะคำนวณจากความสัมพันธ์ทางคณิตศาสตร์ (Prime number, Modulo, Exponential ) ใช้ Public Key ในการเข้ารหัส และใช้ Private Key ในการถอดรหัส แก้ปัญหาเรื่องความไม่ปลอดภัยในการส่ง Key ระหว่างกันเพราะสามารถเก็บ Private key ไว้กับตัวเองโดยไม่ต้องส่งให้ผู้อื่น ตัวอย่าง Algorithm ที่ใช้ เช่น RSA, Diffie-Hellman
Asymmetric Key Cryptography Network Security Asymmetric Key Cryptography
Sample of Asymmetric Key Cryptography Network Security Sample of Asymmetric Key Cryptography
DES (Data Encryption Standard) Network Security DES (Data Encryption Standard) พัฒนาโดย IBM ใช้ Key ความยาว 56 bit เป็นการเข้ารหัสทั้งหมด 18 รอบการทำงาน โดยเป็นการคำนวณค่าข้อมูลพร้อมกับ Key 16 ครั้ง และสลับ bit 2 ครั้ง ปัจจุบัน DES จัดว่าไม่ปลอดภัยแล้ว เพราะเครื่องคอมพิวเตอร์ปัจจุบัน สามารถถอดรหัสได้ภายในไม่กี่ชั่วโมง
3DES (Triple-DES) Network Security เทคนิคการเข้ารหัสเหมือนกับ DES แต่เข้ารหัสทั้งหมด 3 ครั้งแต่ละครั้งใช้ Key แตกต่างกัน การเข้ารหัสวิธีนี้การถอดรหัสเป็นไปได้ยาก ทำได้แต่ใช้เวลานานมาก ดังนั้น 3DES จึงเป็นมาตรฐานสำหรับการเข้ารหัสข้อมูลในปัจจุบันที่ปลอดภัยกว่า DES Three 56-bit keys K1, K2, K3 Encryption process: • Encrypt with K1 • Decrypt with K2 • Encrypt with K3 Decryption is the reverse process: • Decrypt with K3 • Encrypt with K2 • Decrypt with K1
Network Security RSA RSA มาจากชื่อผู้พัฒนาคือ Rivest, Sharmir และ Adlemen Key สำหรับแจกจ่ายให้กับบุคคลอื่น เรียกว่า Public Key Key สำหรับให้เจ้าของKeyเก็บไว้ห้ามเปิดเผย เรียกว่า Private Key ข้อมูลที่เข้ารหัสด้วย Public Key จะถอดรหัสได้โดยใช้ Private Key ที่เป็นคู่กันเท่านั้น ผู้ที่ต้องการส่งข้อมูลจะใช้ Public Key ของผู้รับปลายทาง(ซึ่งแจกจ่ายเป็นสาธารณะ) มาใช้ในการเข้ารหัส ซึ่งจะมีเพียง Private Key ที่เป็นคู่กันเท่านั้นที่สามารถถอดรหัส และเปิดข้อมูลนี้ได้
Diffie-Hellman Network Security เป็น Algorithm ที่ใช้สร้าง Secret Key จากการคำนวณ Public Key ของผู้ส่ง และ Private Key ของผู้รับ ซึ่งตามทฤษฎีทางคณิตศาสตร์ทั้งสองฝั่งจะคำนวณได้ Secret Key ค่าเดียวกัน โดยทั้งสองฝั่งก็จะใช้ Key ที่คำนวณได้นี้เข้ารหัสและถอดรหัสข้อมูล ไม่ต้องกังวลเรื่องการแลกเปลี่ยน Key เนื่องจาก เฉพาะสองคนนี้เท่านั้นที่รู้ Secret Key ในการเข้ารหัสและถอดรหัสข้อมูล
Network Security Diffie-Hellman
Digital Signature Network Security เป็นเทคนิคที่ใช้ในการยืนยันความเป็นเจ้าของ หรือยืนยันว่าเป็นผู้สร้างเอกสารอิเล็กทรอนิกส์นั้นๆ ขึ้นมา Digital Signature อาจไม่จำเป็นต้องเข้ารหัสข้อมูลทั้งหมด เพราะจะใช้เวลานาน จุดประสงค์ที่แท้จริงเพียงเพื่อพิสูจน์ตัวผู้ส่งข้อมูล(Authentication) และป้องกันไม่ให้มีการแก้ไขเนื้อความของเอกสารเท่านั้น(Data Integrity) ใช้เทคนิคการเข้ารหัส Public Key , Message Digest ตัวอย่าง Hash Function ที่ใช้คำนวณหา Message Digest ได้แก่ MD4, MD5, SHA-1 และ CBC-DES-MAC ซึ่งแตกต่างกันที่ความยาว Key และความยาว Message Digest ที่ได้
Network Security Digital Signature
Digital Signature Network Security ขั้นตอนการทำงานฝั่งผู้ส่ง ข้อมูลที่ต้องการส่ง จะนำมาผ่าน Hash Function ผลที่ได้คือ ข้อมูลเล็กๆ ที่มีความยาวคงที่ (ไม่ว่าข้อมูลต้นทางนั้นจะยาว 1 หน้าหรือ 500 หน้า) ข้อมูลนี้เรียกว่า Message Digest ผู้ส่งจะเอา Message Digest เข้ารหัส(Encrypt) โดยใช้ Private Key ของตนเอง ข้อมูลที่ได้จะเรียกว่า “Digital Signature” ของเอกสารนั้น นำเอา Digital Signature ที่คำนวณได้ ส่งไปพร้อมกับข้อมูลที่ต้องการส่ง
Digital Signature Network Security ขั้นตอนการทำงานฝั่งผู้รับ คำนวณหา Message Digest โดยใช้ส่วนที่เป็นข้อมูลเท่านั้นมา ผ่าน Hash function แบบเดียวกับต้นทาง ใช้ Public Key ของผู้ส่ง(ซึ่งมีแจกจ่ายเป็นสาธารณะ)นำมาถอดรหัส(Decrypt) เอา Message Digest ที่ส่งแนบมากับเอกสารนั้นออกมา ถ้าถอดออกมาได้แสดงว่าข้อมูลนั้นส่งมาจากผู้ส่งคนนั้นจริงๆ เปรียบเทียบ Message Digest ที่คำนวณได้เอง(ที่ฝั่งผู้รับ) กับ Message Digest ที่ถอดออกมาได้จากข้อ (2) ถ้าไม่ตรงกันแสดงว่าเอกสารมีการเปลี่ยนแปลงข้อมูลซึ่งไม่เหมือนกับต้นฉบับที่ส่งมาจากต้นทาง
Certificate Authority (CA) Network Security Certificate Authority (CA) การเข้ารหัสแบบ Asymmetric Key เราจะมั่นใจได้อย่างไรว่า Public Key ที่ได้รับมานั้นเป็นของบุคคลนั้นจริงๆ เราจึงต้องมีหน่วยงานที่เชื่อถือได้ ทำหน้าที่รับประกันว่า Public key นั้นเป็นของจริง เราจะเรียกหน่วยงานที่รับรอง Key นี้ว่า “Certificate Authority”
Certificate Authority (CA) Network Security Certificate Authority (CA) A CA publishes the digital certificates that it has issued to its subscribers on an online and publicly accessible repository, thus enabling the large-scale deployment of PKI to the general public
PGP (Pretty Good Privacy) Network Security PGP (Pretty Good Privacy) Standard protocol for confidential communication: Alice and Bob exchange their public keys using some method of certification. Sending a (confidential) message M (from Alice to Bob): Compute the message digest D=f(M) using some suitable hash function f. Generate session key ks and encrypt M using some symmetric encryption method (IDEA, triple DES, CAST,...) Encrypt ks using Bob’s (certified) public key PB Encrypt D using Alice’s private key SA Send SA(D), PB(ks) and ks(M)
ได้รับ SA(D), PB(Ks) and Ks(M) PGP (Pretty Good Privacy) Network Security PGP (Pretty Good Privacy) Receiving a message: Open the “electronic envelope” using Alice’s (certified) public key PA and retrieve D. Decrypt PB( ks) using Bob’s private key SB and then use ks to decrypt M. Compute f(M) and check for equality with D. Hash Function ที่เหมือนกับที่ Alice ใช้ Session Key ที่เข้ารหัสด้วย Public Key ของ Bob ได้รับ SA(D), PB(Ks) and Ks(M) Message Digest ที่เข้ารหัสด้วย Private Key ของ Alice Message ที่เข้ารหัสด้วย Session Key ที่ Alice สร้างขึ้น
Network Security PGP Summary
Virtual Private Network Network Security Virtual Private Network เป็นระบบเครือข่ายส่วนบุคคลที่สร้างโดยใช้เส้นทางผ่านเครือข่ายที่เป็นสาธารณะ(Share Link) อย่างเช่นเครือข่ายอินเตอร์เน็ต ซึ่งเครือข่ายสาธารณะที่สร้างขึ้นจะมีการเข้ารหัสในการรับส่งข้อมูล ทำให้ข้อมูลที่รับส่งกันมีความปลอดภัยมากขึ้นกว่า การส่งไปในเครือข่ายสาธารณะแบบปกติ มี 3 รูปแบบ Remote Access VPN Intranet VPN Extranet VPN
Tunneling Network Security Most VPNs rely on tunneling to create a private network that reaches across the Internet. Essentially, tunneling is the process of placing an entire packet within another packet and sending it over a network. The protocol of the outer packet is understood by the network and both points, called tunnel interfaces, where the packet enters and exits the network. Tunneling requires three different protocols: Carrier protocol - The protocol used by the network that the information is traveling over Encapsulating protocol - The protocol (GRE, IPSec, L2F, PPTP, L2TP) that is wrapped around the original data Passenger protocol - The original data (IPX, NetBeui, IP) being carried
Tunneling: Site-to-Site Network Security Tunneling: Site-to-Site
Questions & Answers Q&A