การป้องกันการเจาะระบบ Lec. Sanchai Yeewiyom School of Information and Communication Technology University of Phayao

Download Report

Transcript การป้องกันการเจาะระบบ 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