การป้องกันการเจาะระบบ Lec. Sanchai Yeewiyom School of Information and Communication Technology University of Phayao
Download ReportTranscript การป้องกันการเจาะระบบ Lec. Sanchai Yeewiyom School of Information and Communication Technology University of Phayao
235034 Security in Computer Systems and Networks การป้องกันการเจาะระบบ Lec. Sanchai Yeewiyom School of Information and Communication Technology University of Phayao 1/61 Objective • • • • ความหมายของการเจาะระบบ ประเภทของ Hacker รู ปแบบการโจมตี การเจาะระบบ 2/61 การเจาะระบบ (Hacking) • To write or refine computer program skillfully • To use one’s skill in computer programming to gain illegal or unauthorized access to a file or network: hacked into the company’s intranet • To gain access to (a computer file or network) illegally or without authorization: hacked the firm's personnel database • Computers. to devise or modify (a computer program), usually skillfully • ที่มา www.dictionary.com 3/61 การเจาะระบบ (Hacking) • เจาะเข้าโปรแกรมคอมพิวเตอร์อย่างผิดกฎหมาย ที่มา www.nectec.or.th • แต่เดิม การเจาะเข้าใช้ระบบโดยไม่ได้รับอนุญาต จะใช้คาว่า Cracking (Cracker) • ส่ วนคาว่า Hacking (Hacker) จะหมายถึงผูท้ ี่ใช้คอมพิวเตอร์ และ ซอฟต์แวร์อย่างเชี่ยวชาญ • แต่ในปัจจุบนั กลับใช้คาว่า Hacking (Hacker) ในทางลบ 4/61 ประเภทของ Hacker • • • • • • Hacker Cracker Script kiddy Spy Employee Terrorist 5/61 Hacker • มีความหมาย 2 นัย • ด้ านบวก เช่น คอยช่วยสารวจเครื อข่ายเพื่อหาช่องโหว่ หรื อสิ่ ง แปลกปลอม • มีแรงจูงใจเพื่อ การพัฒนาหรื อปรับปรุ งระบบ ให้มีความปลอดภัย • หน้าที่ ค้นหาจุดอ่อน และแก้ไข ก่อนเกิดเหตุไม่พึงประสงค์ • ด้ านลบ คือ ผูท้ ี่พยายามหาวิธีการ หรื อหาช่องโหว่ของระบบ เพื่อ แอบลักลอบเข้าสู่ ระบบ เพื่อล้วงความลับ หรื อแอบดูขอ้ มูลข่าวสาร บางครั้งมีการทาลายข้อมูลข่าวสาร หรื อทาความเสี ยหายให้กบั องค์กร 6/61 Cracker • บุคคลที่พยายามทาลายระบบ • ต่างจาก Hacker ตรงที่ใช้ประโยชน์จากช่องโหว่ที่พบเพื่อทาลาย สร้างปัญหา หรื อหยุดการให้บริ การ • ต้องแข่งกับคนอื่นเพื่อแสดงความสามารถ 7/61 Script kiddy • ยังไม่ค่อยมีความชานาญ ไม่สามารถเขียนโปรแกรมในการเจาะ ระบบได้เอง อาศัย Download จากอินเทอร์เน็ต • มีอนั ตรายมาก ส่ วนใหญ่เป็ นเด็ก มีเวลามาก ใช้เวลาในการทดลอง และมักไม่เข้าใจในเทคโนโลยีที่ตวั เองใช้โจมตี • เป้าหมายมักเป็ นผูใ้ ช้งานหรื อเครื่ องคอมพิวเตอร์ทวั่ ไป 8/61 Spy • • • • บุคคลที่ถูกจ้างเพื่อเจาะระบบและขโมยข้อมูล การโจมตีมีความเฉพาะเจาะจง พยายามไม่ให้ผถู ้ ูกโจมตีรู้ตวั มีความชานาญสู งมาก 9/61 Employee • อาจมีแรงจูงใจจาก • แสดงให้เห็นว่าองค์กรมีจุดอ่อน • แสดงความสามารถของตัวเองเนื่องจากถูกประเมินค่าต่าเกินไป หรื ออาจเกิดความไม่พอใจในการพิจารณาผลงาน • ผลประโยชน์ส่วนตัว เช่น ถูกจ้างจากคู่แข่ง • สามารถเข้าถึงและโจมตีระบบได้ง่าย เพราะอยูใ่ นระบบ 10/61 Terrorist • มีความชานาญสู ง คาดเดาวิธีการได้ยาก เป้าหมายไม่แน่นอน อาจ เป็ นระบบเล็กๆ หรื อขนาดใหญ่ เช่น ระบบควบคุมการจ่ายไฟฟ้า • บางกลุ่มโจมตีเพื่อหารายได้สนับสนุนการก่อการร้าย เช่น หลอกลวงให้บริ จาค หรื อขโมยข้อมูลบัตรเครดิต 11/61 ประเภทของนักโจมตี 12/61 รู ปแบบการโจมตี ที่พบบ่อยๆ ได้แก่ • Social Engineering • Password Guessing • Denial of Service • Decryption • Birthday Attacks • Sniffing • Man-in-the-middle Attacks 13/61 Social Engineering • • • • เป็ นปฏิบตั ิการทางจิตวิทยา หลอกหล่อให้หลงเชื่อ ไม่ตอ้ งอาศัยความชานาญเกี่ยวกับคอมพิวเตอร์ ส่ วนใหญ่ใช้วิธีโทรศัพท์สอบถามข้อมูล อาจใช้วิธีคน้ หาข้อมูลจากถังขยะ (Dumpster Diving) เพื่อค้นหา ข้อมูลจากเอกสารที่นามาทิ้ง • หรื อใช้วิธี Phishing • การป้องกันทาได้โดย มีการกาหนดนโยบายและขั้นตอนการ ปฏิบตั ิงานที่เข้มงวด เช่น การเปลี่ยนรหัสผ่าน รวมถึงมีการอบรม และบังคับใช้อย่างจริ งจัง 14/61 Password Guessing • Password เป็ นสิ่ งที่ใช้ในการพิสูจน์ความเป็ นตัวตนของผูใ้ ช้งาน เป็ นความลับส่ วนบุคคล • ผูใ้ ช้มกั กาหนดโดยใช้คาง่ายๆ เพื่อสะดวกในการจดจา สาเหตุจาก ต้องเปลี่ยนบ่อย หรื อมี Password หลายระดับ หรื อระบบห้ามใช้ Password ซ้ าเดิม • Password ที่ง่ายต่อการเดา ได้แก่ สั้น ใช้คาที่คุน้ เคย ใช้ขอ้ มูลส่ วนตัว ใช้ Password เดียวทุกระบบ จด Password ไว้บนกระดาษ ไม่เปลี่ยน Password ตามระยะเวลาที่กาหนด 15/61 Denial of Service • เป้าหมายคือทาให้ระบบหยุดให้บริ การ • เป็ นการโจมตีที่มีความเสี่ ยงน้อยที่สุด เนื่องจากถูกตรวจจับได้ง่าย โดย Firewall หรื อ IDS • ระบบที่มีการ Update อยูต่ ลอดมักจะไม่ถูกโจมตีดว้ ยวิธีน้ ี • บางครั้งตรวจจับได้ยากเนื่องจากมีลกั ษณะคล้ายกับการทางานของ Software จัดการเครื อข่าย 16/61 Decryption • หลักการคือ การพยายามให้ได้มาซึ่ง Key เพราะ Algorithm เป็ นที่ รู ้จกั กันอยูแ่ ล้ว • อาจใช้วิธีการตรวจสอบดูขอ้ มูลเพื่อวิเคราะห์หา Key โดยเฉพาะการ ใช้ Weak Key ที่จะส่ งผลทาให้ได้ขอ้ มูลที่มีลกั ษณะคล้ายๆ กัน ทา ให้เดา Key ได้ง่าย ควรใช้ Key ความยาวอย่างน้อย 128 bit • หรื ออาจใช้หลักทางสถิติมาวิเคราะห์หา Key จากตัวอักษรที่พบ 17/61 Birthday Attacks • เป็ นวิธีการโจมตีการเข้ารหัสด้วยการสุ่ ม Key • แนวคิด เมื่อเราพบใครสักคนหนึ่ง มีโอกาสที่จะมีวนั เกิด 1 ใน 365 วัน ยิง่ พบคนมากขึ้นก็ยงิ่ จะมีโอกาสวันเกิดซ้ ากันมากยิง่ ขึ้น • การเลือกรหัสผ่านวิธีการที่ดีที่สุดคือการใช้ Random Key แต่การ Random Key นั้นก็มีโอกาสที่จะได้ Key ที่ซ้ าเดิม 18/61 Sniffing • การดักจับข้อมูลบนระบบเครื อข่าย • ใช้เครื่ องมือ เช่น Wireshark • เพื่อให้ได้มาซึ่งข้อมูล เช่น Password, Cookie/Session ID, ข้อความ เป็ นต้น 19/61 Wireshark 20/61 Man-in-the-middle Attacks • พยายามทาตัวเป็ นคนกลางคอยดักเปลี่ยนแปลงข้อมูลโดยที่คู่ สนทนาไม่รู้ตวั • อาจใช้เทคนิค ARP Spoof/ARP Poisoning เพื่อหลอกเครื่ องเหยือ่ (Victim) และ Gateway • ถ้าโจมตีแบบ Active จะมีการเปลี่ยนแปลงข้อมูล แต่ถา้ โจมตีแบบ Passive จะไม่มีการเปลี่ยนแปลงข้อมูล • การโจมตีแบบ Replay Attack ข้อความจะถูกเก็บไว้ระยะเวลาหนึ่ง แล้วค่อยส่ งต่อ • ป้องกันโดยการเข้ารหัสข้อมูล ร่ วมกับ Digital Signature 21/61 ARP Spoof/ARP Poisoning 22/61 ARP Spoof/ARP Poisoning 23/61 การเจาะระบบ • Threat สามารถเข้าสู่ ระบบได้ผา่ นทาง Computer Vulnerability • อาจเกิดจากข้อบกพร่ องในการพัฒนา Software หรื อ Hardware • ข้อบกพร่ องในการพัฒนา Software ได้แก่ • • • • • • Input Validation Error Access Validation Error Exception Condition Handling Error Environmental Error Configuration Error Race Condition 24/61 ข้อบกพร่ องในการพัฒนา Software • Input Validation Error : เกิดจากการที่รับ Input เข้ามาประมวลผลโดย ไม่ได้ตรวจสอบความถูกต้องก่อน อาจทาให้เกิดปัญหา Buffer Overflow : โปรแกรมได้รับ Input ที่มีขนาดใหญ่กว่าที่กาหนด ทาให้ Buffer ไม่สามารถเก็บข้อมูลได้ท้ งั หมด ทาให้ขอ้ มูลบางส่ วน ไปทับข้อมูลในหน่วยความจาของ Process อื่น อาจทาให้ผโู ้ จมตี สามารถ Run Process อื่น แทนโปรแกรมที่กาลัง Run อยูไ่ ด้ Boundary Condition Error : ระบบได้รับ Input ที่มีขนาดใหญ่เกิน ขอบเขตที่โปรแกรมกาหนดไว้ อาจโดยผูใ้ ช้หรื อจากโปรแกรมเอง อาจทาให้เกิดการใช้ Resource จนหมด หรื อเกิดการ Reset ค่าของตัว แปร หรื อปัญหา Division by Zero (0/0) 25/61 ข้อบกพร่ องในการพัฒนา Software • Access Validation Error : กลไกควบคุมการเข้าถึงระบบ (Access Control) ทางานผิดพลาด ซึ่งเกิดจากตัวระบบเอง • Exception Condition Handling Error : การจัดการเกี่ยวกับเงื่อนไขที่ ยกเว้นของการทางานของโปรแกรม • Environmental Error : ระบบที่ติดตั้งในสภาวะแวดล้อมที่ไม่ เหมาะสม เช่น โปรแกรมอาจทางานได้ไม่ดีบนระบบปฏิบตั ิการบาง ตัวหรื อบางรุ่ น การทางานที่ขดั กันของโปรแกรมที่อยูบ่ นระบบ เดียวกัน ตรวจพบปัญหาในขั้นตอนการพัฒนาระบบได้ยาก 26/61 ข้อบกพร่ องในการพัฒนา Software • Configuration Error : เกิดจากการ Configuration ระบบที่ไม่ถูกต้อง ไม่สมบูรณ์ หรื อหละหลวม เช่น กาหนดให้เป็ นค่า Default เพื่อง่าย ต่อการใช้งาน แต่อาจกลายเป็ นช่องโหว่ • Race Condition : เกิดขึ้นเมื่อมี Delay ในการทางานของระบบรักษา ความปลอดภัย เช่น มีการเขียนข้อมูลลงในระบบ โดนระบบเข้าใจ ว่าผูใ้ ช้น้ นั มีสิทธิ์ แต่ที่จริ งแล้วระบบรักษาความปลอดภัยอาจยังไม่ ถึงเวลาทางาน 27/61 ขั้นตอนการเจาะระบบ • • • • • การเลือกใช้เครื่ องมือ การสารวจข้อมูลเป้าหมาย การสแกนเครื อข่าย การสแกนพอร์ต การโจมตี 28/61 การเลือกใช้เครื่ องมือ • ค้นหาได้จากอินเทอร์เน็ต ทั้งจาก Website และ IRC • Exp. • http://insecure.org • www.antionline.com • http://ftp4.de.freesbie.org/pub/misc/www.rootshell.com/ • http://packetstormsecurity.org/ • www.nmap.org • www.nessus.org 29/61 http://insecure.org 30/61 www.antionline.com 31/61 http://ftp4.de.freesbie.org/pub/misc/www.rootshell.com/ 32/61 http://packetstormsecurity.org/ 33/61 www.nmap.org 34/61 www.nessus.org 35/61 การสารวจข้อมูลเป้าหมาย • • • เป็ นการสารวจเป้าหมายเบื้องต้นเพื่อใช้ในการวางแผนการโจมตี ใช้การสแกนเพื่อสารวจข้อมูล คาแนะนาสาหรับผูด้ ูแลระบบ ควรมีมารยาทในการสแกน เพื่อ ป้องกันปัญหาสาหรับเครื่ องที่ถูกสแกน ดังนั้นควรต้องทราบ 1. IP Address ของเครื่ องที่ตอ้ งการสแกน 2. เป็ นเครื่ องใช้งานจริ งหรื อเครื่ องทดสอบ 3. ช่วงเวลาที่ได้รับอนุญาตให้สแกน 4. การได้รับอนุญาตจากเจ้าของเครื่ อง 36/61 การสแกนเครื อข่าย • เพื่อทดสอบว่าเครื่ องเป้าหมายเปิ ดอยูห่ รื อไม่ • นิยมใช้การ ping (ICMP ping) • บางกรณี อาจใช้วิธี telnet ไปยังเครื่ องเป้าหมายที่ port 80, 25, 21 เพื่อ หลบเลี่ยงการกรองคาสัง่ ping ของ Router หรื อ Firewall 37/61 การสแกนพอร์ต • ผูโ้ จมตีจะต้อง อาศัยความเร็ ว ความแม่นยา และการซ่อนตัว เพื่อ ป้องกันการตรวจจับของ IDS, Honey pot หรื อ Firewall • เครื่ องมือที่นิยม คือ NMAP 38/61 39/61 การโจมตี • ใช้เครื่ องมือที่เหมาะสมเข้าโจมตีในรู ปแบบที่ตอ้ งการ เช่น • DoS แบบ Ping of Death (IP Packet ที่ใช้ในการ Ping มีความยาว มากกว่าปกติ (65,535 ไบท์)) • DoS แบบ Ping Flood (การส่ ง ICMP Request ปริ มาณมากๆ เป้าหมายต้องคอยตอบ ICMP Reply จนไม่มีเวลาไปทางานอื่น) • DoS แบบ Smurf Attack (การส่ ง ICMP Echo Request แบบ Broadcast ทุก Host ที่อยูใ่ น Network จะทาการตอบกลับด้วย ICMP Echo Reply กลับไปยังเครื่ องเป้าหมายแทนที่จะไปหา เครื่ อง Hacker โดยการปลอม IP Address ต้นทาง) 40/61 การโจมตี • Rootkit (เป็ นรู ปแบบการโจมตีแบบพิเศษที่สามารถซ่อนตัวใน โปรแกรมหลัก (root) ในระบบที่ติดไวรัส ซึ่งผูด้ ูแลระบบไม่ สามารถเห็นได้จึงทาให้ไม่สามารถตรวจจับได้) • Cross Site Scripting (XSS) : เป็ นเทคนิคการส่ ง Link ที่ฝัง Code หรื อ Script การทางานของ Hacker เข้าไป เพื่อให้ปรากฏบน หน้าเว็บของเว็บไซต์ที่มีช่องโหว่ โดยหลอกให้ผใู ้ ช้กรอกข้อมูล สาคัญแล้วส่ งกลับมาให้ Hacker 41/61 การป้องกันการถูกเจาะระบบ • สแกนเพื่อหาจุดอ่อน (Vulnerability Scanning) ควรทาจากหลายๆ จุด จากทั้งภายในและภายนอก ในส่ วนของ DMZ (Demilitarized Zone) ด้วย • เมื่อพบช่องโหว่ให้ทาการ Update Patch เพื่ออุดช่องโหว่น้ นั 42/61 เครื่ องมือสาหรับการรักษาความปลอดภัย • • • • GFI LANguard Network Security Scanner (N.S.S.) eEye Retina Network Security Scanner Microsoft Baseline Security Analyzer (MBSA) Nessus Security Scanner 43/61 GFI LANguard Network Security Scanner (N.S.S) • • • • ตรวจเช็คจุดอ่อนหรื อช่องโหว่และข้อแนะนาในการแก้ไข สแกน TCP และ UDP Port จัดการ Patch และ Service Pack www.gfi.com 44/61 GFI LANguard Network Security Scanner 45/61 eEye Retina Network Security Scanner • ใช้ประเมินความเสี่ ยงของเครื อข่าย • สแกนเครื อข่ายเพื่อหาช่องโหว่ พร้อมทั้งรายงาน และให้คาแนะนา ในการแก้ไขช่องโหว่ • www.eeye.com 46/61 eEye Retina Network Security Scanner 47/61 Microsoft Baseline Security Analyzer (MBSA) • ใช้ตรวจสอบสถานภาพของระบบเพื่อดูวา่ เป็ นไปตามข้อแนะนาของ Microsoft หรื อไม่ • แสดงข้อแนะนาและขั้นตอนการแก้ไขช่องโหว่ • ช่วยตรวจเช็คการ Configuration ที่ไม่ถูกต้อง และ Patch ที่ยงั ไม่ได้ ติดตั้ง • http://technet.microsoft.com/en-us/security/cc184924 48/61 Microsoft Baseline Security Analyzer 49/61 Nessus Security Scanner • สแกนเครื อข่ายเพื่อหาช่องโหว่ พร้อมทั้งรายงาน • แสดงข้อแนะนาและขั้นตอนการแก้ไขปัญหา • เป็ น Software แบบ Client/Server สามารถติดตั้งไว้ได้หลายเครื่ อง ในระบบเครื อข่ายและควบคุมจากเครื่ องเดียว ง่ายต่อการบริ หาร จัดการ • www.nessus.org 50/61 Nessus Security Scanner 51/61 การสแกนเครื่ องเป้าหมาย • ตัวอย่างเครื่ องมือที่ใช้ ได้แก่ 52/61 Advanced IP Scanner • ใช้สแกนสแกนระบบเครื อข่าย ว่าภายในเครื อข่ายนั้นมีเครื่ อง คอมพิวเตอร์เครื่ องใดอยูบ่ า้ ง และยังสามารถตรวจหา Folder ที่เปิ ด แชร์ภายในเครื อข่ายได้อีกด้วย 53/61 NetworkView • ใช้สแกนเครื่ องคอมพิวเตอร์ท้ งั โดเมน 54/61 Multiscan • ใช้สแกนหมายเลข Port เครื่ องเป้าหมาย 55/61 SuperScan • ใช้สแกนหมายเลข IP Address และหมายเลข Port เครื่ องเป้าหมาย 56/61 Angry IP Scanner • Scan หา IP Address ของเครื่ องที่อยูใ่ นเครื อข่าย 57/61 Look@LAN • ใช้สแกนหมายเลข IP Address, Computer Name เครื่ องเป้าหมาย 58/61 NmapWin • ใช้สแกนหมายเลข Port และบริ การอื่นๆ ของเครื่ องเป้าหมาย 59/61 SoftPerfect Network Scanner • สามารถ Scan เครื อข่ายที่ใช้ Protocol IP, SNMP and NetBIOS ได้ 60/61 เว็บไซต์ ศึกษาข้ อมูลเพิม่ เติม • • • • http://www.hackingexposed.com http://www.gfi.com http://insecure.org/nmap/ http://se-ed.net/hacking/ 61/61