การเจาะระบบ

 การเจาะระบบ (Hacking)


                การเจาะเข้าโปรแกรมคอมพิวเตอร์อย่างผิดกฎหมายแต่เดิม การเจาะเข้าใช้ระบบโดยไม่ได้รับอนุญาต จะใช้คำว่า Cracking (Cracker) ส่วนคำว่า Hacking (Hacker) 
จะหมายถึงผู้ที่ใช้คอมพิวเตอร์และ ซอฟต์แวร์อย่างเชี่ยวชาญแต่ในปัจจุบันกลับใช้คำว่า Hacking (Hacker) ในทางลบ

ประเภทของ Hacker

- Hacker
- Cracker
- Script kiddy
- Spy
- Employee
- Terrorist

Hacker (แฮกเกอร์) มีความหมาย 2 นัย

- ด้านบวก คอยช่วยสำรวจเครือข่ายเพื่อหาช่องโหว่หรือสิ่งแปลกปลอม มีแรงจูงใจเพื่อการพัฒนาหรือปรับปรุงระบบให้มีความปลอดภัย หน้าที่ ค้นหาจุดอ่อน และแก้ไขก่อนเกิดเหตุไม่พึงประสงค์
- ด้านลบ คือ ผู้ที่พยายามหาวิธีการ หรือหาช่องโหว่ของระบบ เพื่อแอบ ลักลอบเข้าสู่ระบบ เพื่อล้วงความลับ หรือแอบดูข้อมูลข่าวสาร บางครั้งมี การทำลายข้อมูลข่าวสาร หรือทำความเสียหายให้กับองค์กร

Cracker (แคร๊กเกอร์)


บุคคลที่พยายามทำลายระบบ ต่างจาก Hacker ตรงที่ใช้ประโยชน์จากช่องโหว่ที่พบเพื่อทำลาย สร้าง ปัญหา หรือหยุดการให้บริการและต้องแข่งกับคนอื่นเพื่อแสดงความสามารถ

Script kiddy (สคริปต์คิดดี้)




ยังไม่ค่อยมีความชำนาญ ไม่สามารถเขียนโปรแกรมในการเจาะระบบได้เอง อาศัย Download
จากอินเทอร์เน็ตส่วนใหญ่เป็นเด็กมีเวลามากใช้เวลาในการทดลองและมักไม่เข้าใจในเทคโนโลยีที่ตัวเองใช้
โจมตีเป้าหมายมักเป็นผู้ใช้งานหรือเครื่องคอมพิวเตอร์ทั่วไป

Spy (สายลับ)


บุคคลที่ถูกจ้างเพื่อเจาะระบบและขโมยข้อมูลการโจมตีมีความเฉพาะเจาะจง พยายามไม่ให้ผู้ถูกโจมตีรู้ตัวเป็นผู้ที่มีความชำนาญสูงมาก

Employee (พนักงาน)



อาจมีแรงจูงใจจาก
- แสดงให้เห็นว่าองค์กรมีจุดอ่อน
- แสดงความสามารถของตัวเองเนื่องจากถูกประเมินค่าต่ำเกินไปหรืออาจเกิดความไม่พอใจในการพิจารณาผลงาน
- ผลประโยชน์ส่วนตัว เช่น ถูกจ้างจากคู่แข่ง
- สามารถเข้าถึงและโจมตีระบบได้ง่าย เพราะอยู่ในระบบ

Terrorist (ผู้ก่อการร้าย)



มีความชำนาญสูงคาดเดาวิธีการได้ยาก เป้าหมายไม่แน่นอนอาจเป็นระบบเล็กๆ หรือขนาดใหญ่ เช่น ระบบควบคุมการจ่ายไฟฟ้าบางกลุ่มโจมตีเพื่อหารายได้สนับสนุนการก่อการร้าย เช่น หลอกลวง ให้บริจาค หรือขโมยข้อมูลบัตรเครดิต

รูปแบบการโจมตี



Social Engineering เป็นปฏิบัติการทางจิตวิทยา หลอกหล่อให้หลงเชื่อส่วนใหญ่ใช้วิธีโทรศัพท์สอบถามข้อมูล อาจใช้วิธีค้นหาข้อมูลจากถังขยะ (Dumpster Diving) เพื่อค้นหา ข้อมูลจากเอกสารที่นำมาทิ้ง การป้องกันทำได้โดย มีการกำหนดนโยบายและขั้นตอนการปฏิบัติ งานที่เข้มงวด เช่น การเปลี่ยนรหัสผ่าน รวมถึงมีการอบรมและบังคับ ใช้อย่างจริงจัง

Password Guessing Password เป็นสิ่งที่ใช้ในการพิสูจน์ความเป็นตัวตนของผู้ใช้งาน เป็นความลับส่วนบุคคลผู้ใช้มักกำหนดโดยใช้คำง่ายๆ เพื่อสะดวกในการจดจำ สาเหตุจากต้องเปลี่ยนบ่อย หรือมี Password หลายระดับ หรือระบบห้ามใช้ Password ซ้ำเดิมPassword ที่ง่ายต่อการเดา ได้แก่ สั้น ใช้คำที่คุ้นเคย ใช้ข้อมูลส่วนตัว ใช้ Password เดียวทุกระบบจด Password ไว้บนกระดาษ ไม่เปลี่ยน Password ตามระยะเวลาที่กำหนด

Denial of Service เป้าหมายคือทำให้ระบบหยุดให้บริการ เป็นการโจมตีที่มีความเสี่ยงน้อยที่สุด เนื่องจากถูกตรวจจับได้ง่ายโดย Firewall หรือ IDS ระบบที่มีการ Update อยู่ตลอดมักจะไม่ถูกโจมตีด้วยวิธีนี้บางครั้งตรวจจับได้ยากเนื่องจากมีลักษณะคล้ายกับการทำงานของ Software จัดการเครือข่าย

Decryption หลักการคือ การพยายามให้ได้มาซึ่ง Key เพราะ Algorithm เป็นที่รู้จัก กันอยู่แล้ว อาจใช้วิธีการตรวจสอบดูข้อมูลเพื่อวิเคราะห์หา Key โดยเฉพาะการ ใช้ Weak Key ที่จะส่งผลทำให้ได้ข้อมูลที่มีลักษณะคล้ายๆ กันทำให้ เดา Key ได้ง่าย ควรใช้ Key ความยาวอย่างน้อย 128 bit หรืออาจใช้หลักทางสถิติมาวิเคราะห์หา Key จากตัวอักษรที่พบ

Birthday Attacks เป็นวิธีการโจมตีการเข้ารหัสด้วยการสุ่ม Key แนวคิดเมื่อเราพบใครสักคนหนึ่ง มีโอกาสที่จะมีวันเกิด 1 ใน 365 วัน ยิ่งพบคนมากขึ้นก็ยิ่งจะมีโอกาสวันเกิดซ้ำกันมากยิ่งขึ้น การเลือกรหัสผ่านวิธีการที่ดีที่สุดคือการใช้ Random Key แต่การ Random Key นั้นก็มีโอกาสที่จะได้ Key ที่ซ้ำเดิม
Sniffing การดักจับข้อมูลบนระบบเครือข่าย ใช้เครื่องมือ เช่น Wireshark เพื่อให้ได้มาซึ่งข้อมูล เช่น Password, Cookie/Session ID, ข้อความ เป็นต้น

Man-in-the-middle Attacks พยายามทำตัวเป็นคนกลางคอยดักเปลี่ยนแปลงข้อมูลโดยที่คู่สนทนาไม่รู้ตัว อาจใช้เทคนิค ARP Spoof/ARP Poisoning เพื่อหลอกเครื่องเหยื่อ (Victim) และ Gateway ถ้าโจมตีแบบ Active จะมีการเปลี่ยนแปลงข้อมูล แต่ถ้าโจมตีแบบ Passive จะ ไม่มีการเปลี่ยนแปลงข้อมูลการโจมตีแบบ Replay Attack ข้อความจะถูกเก็บไว้ระยะเวลาหนึ่งแล้วค่อยส่งต่อ

การเจาะระบบ อาจเกิดจากข้อบกพร่องในการพัฒนา Software หรือ Hardware
ข้อบกพร่องในการพัฒนา Software ได้แก่

Input Validation Error เกิดจากการที่รับ Input เข้ามาประมวลผลโดย ไม่ได้ตรวจสอบความถูกต้องก่อน อาจทำให้เกิดปัญหา
Buffer Overflow : โปรแกรมได้รับ Input ที่มีขนาดใหญ่กว่าที่กำหนด ทำให้ Buffer ไม่สามารถเก็บข้อมูลได้ทั้งหมด ทำให้ข้อมูลบางส่วนไป ทับข้อมูลในหน่วยความจำของ Process อื่น อาจทำให้ผู้โจมตีสามารถ Run Process อื่น แทนโปรแกรมที่กำลัง Run อยู่ได้
Boundary Condition Error : ระบบได้รับ Input ที่มีขนาดใหญ่เกิน ขอบเขตที่โปรแกรมกำหนดไว้ อาจโดยผู้ใช้หรือจากโปรแกรมเอง อาจทำให้เกิดการใช้ Resource จนหมด หรือเกิดการ Reset ค่าของตัวแปร หรือปัญหา Division by Zero (0/0)
Access Validation Error กลไกควบคุมการเข้าถึงระบบ (Access Control) ทำงานผิดพลาด ซึ่งเกิดจากตัวระบบเอง
Exception Condition Handling Error การจัดการเกี่ยวกับเงื่อนไขที่ ยกเว้นของการทำงานของโปรแกรม
Environmental Error ระบบที่ติดตั้งในสภาวะแวดล้อมที่ไม่เหมาะ สม เช่น โปรแกรมอาจทำงานได้ไม่ดีบนระบบปฏิบัติการบางตัวหรือบางรุ่น การทำงานที่ขัดกันของโปรแกรมที่อยู่บนระบบเดียวกัน ตรวจพบปัญหาในขั้นตอนการพัฒนาระบบได้ยาก
Configuration Error ระบบที่ไม่ถูกต้อง ไม่ สมบูรณ์ หรือหละหลวม เช่น กำหนดให้เป็นค่า Default เพื่อง่ายต่อการใช้ งาน แต่อาจกลายเป็นช่องโหว่ •
Race Condition เกิดขึ้นเมื่อมี Delay ในการทำงานของระบบรักษาความ ปลอดภัย เช่น มีการเขียนข้อมูลลงในระบบ โดนระบบเข้าใจว่าผู้ใช้นั้นมี สิทธิ์ แต่ที่จริงแล้วระบบรักษาความปลอดภัยอาจยังไม่ถึงเวลาทำงาน

ขั้นตอนการเจาะระบบ
การเลือกใช้เครื่องมือ
ค้นหาได้จากอินเทอร์เน็ต ทั้งจาก Website และ IRC เช่น
–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
การสำรวจข้อมูลเป้าหมาย 
เป็นการสำรวจเป้าหมายเบื้องต้นเพื่อใช้ในการวางแผนการโจมตีใช้การสแกนเพื่อสำรวจข้อมูล ดังนั้นควรต้องทราบ
1. IP Address ของเครื่องที่ต้องการสแกน
2. เป็นเครื่องใช้งานจริงหรือเครื่องทดสอบ
3. ช่วงเวลาที่ได้รับอนุญาตให้สแกน
4. การได้รับอนุญาตจากเจ้าของเครื่อง
การสแกนเครือข่าย

เพื่อทดสอบว่าเครื่องเป้าหมายเปิดอยู่หรือไม่
นิยมใช้การ ping (ICMP ping)
บางกรณีอาจใช้วิธี telnet ไปยังเครื่องเป้าหมายที่ port 80, 25, 21 เพื่อ หลบเลี่ยงการกรองคำสั่ง ping ของ Router หรือ Firewall
การสแกนพอร์ต

ผู้โจมตีจะต้องอาศัยความเร็ว ความแม่นยำและการซ่อนตัวเพื่อป้องกันการตรวจจับของ IDS, Honey pot หรือ Firewall
เครื่องมือที่นิยม คือ NMAP
การโจมตี
ใช้เครื่องมือที่เหมาะสมเข้าโจมตีในรูปแบบที่ต้องการ เช่น
– 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 ต้นทาง)
– Rootkit (เป็นรูปแบบการโจมตีแบบพิเศษที่สามารถซ่อนตัวใน โปรแกรมหลัก (root) ในระบบที่ติดไวรัส ซึ่งผู้ดูแลระบบไม่ สามารถ เห็นได้จึงทำให้ไม่สามารถตรวจจับได้)
– Cross Site Scripting (XSS) : เป็นเทคนิคการส่ง Link ที่ฝัง Code หรือ Script การทำงานของ Hacker เข้าไป เพื่อให้ปรากฏบนหน้าเว็บของเว็บไซต์ที่มีช่องโหว่ โดยหลอกให้ผู้ใช้กรอกข้อมูลสำคัญแล้วส่งกลับ มาให้ Hacker
https://medium.com/@kongruksiamza/

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

การรักษาความปลอดภัยในระบบเครือข่ายอินเทอร์เน็ต

การโจมตีในระบบเครือข่ายคอมพิวเตอร์

การใช้อินเทอร์เน็ตอย่างปลอดภัย