จุดประสงค์ของการโจมตีเครือข่ายทั้งจากทางอินเทอร์เน็ตหรือเครือข่ายองค์กรมีมากมายหลายประการ ซึ่งพอที่จะแบ่งประเภทการโจมตีออกเป็นระดับชั้นดังนี้

+ (Denial of Service Attack)

+ Null Session

+ Buffered Overflow

+ Rootkits

+ IP Spoofing

+ Sniffing

+ SQL Injections

+ Phising Web Sites

+ SSH Brute Force

+ Back door

+ Attrib + h

+ Unicode File System Traversal, Double Decode File System Traversal

+ SQL Extended Store Procedures

+ Zero Day Attacks

[hide=20]การโจมตีแบบ Denial of Service Attack

Denial of Service Attack (DOS) เป็นรูปแบบการโจมตีที่มีจุดประสงค์เพื่อการทำให้เครือข่ายหรือโฮมเพจ รวมทั้งเซิร์ฟเวอร์บนเครือข่ายปฏิเสธการให้บริการ หรือไม่สามารถดำเนินการต่อไปได้ ลักษณะการโจมตีแบบนี้เป็นการทำให้เครือข่ายเต็มไปด้วย Traffic ขนาดมหาศาล ซึ่งคล้ายกับการที่มีบุคคลเป็นจำนวนมากต่างพร้อมใจกันโทรศัพท์ติดต่อเข้ามาที่โทรศัพท์หมายเลขเดียวกัน ทำให้สายโทรศัพท์ ไม่ว่างตลอดเวลา จุดประสงค์ของการโจมตีแบบ DOS นี้อาจเกิดขึ้นจากความสนุก ความที่ต้องการลองวิชา หรือเจตนาในเชิงแข่งขันทางธุรกิจ รวมทั้งเจตนามุ่งร้ายอื่น ๆ การโจมตีในลักษณะนี้ไม่เพียงแต่ทำให้เครือข่ายติดขัดเนื่องจากปริมาณ Traffic ที่เพิ่มขึ้นเท่านั้น แต่ยังมีการส่งแพ็กเก็ตพิเศษที่ถูกจัดทำขึ้นเพื่อให้โปรโตคอลการทำงานของเครื่องคอมพิวเตอร์เป้าหมายเกิดความสับสน หรือทำให้แอพพลิเคชัน รวมทั้งการให้บริการต่าง ๆ บนเครื่องเป้าหมายหยุดทำงาน หรือไม่สามารถทำงานต่อไปได้

ชนิดของการโจมตี

1. TCP SYN Flood

การโจมตีแบบ SYN Flood เป็นการโจมตีบนพื้นฐานของโปรโตคอล TCP ผู้บุกรุกจะใช้วิธีการโจมตีด้วยในรูปแบบการเชื่อมต่อที่เรียกว่าการเปิดการเชื่อมต่อแบบครึ่งทาง (Half Open Attack) การทำเช่นนี้จะทำให้เครื่องคอมพิวเตอร์เป้าหมายไม่สามารถให้บริการในขณะที่เกิดการโจมตี หรือหลังจากที่การโจมตีเสร็จสิ้นแล้ว



ลักษณะการโจมตีได้แก่การส่งข่าวสารที่เกี่ยวกับการร้องขอ การสถาปนาการเชื่อมต่อบนโปรโตคอลของ TCP ไปยังเครื่องเป้าหมายอย่างรวดเร็วและมากมายเกินกว่าที่เครื่องเป้าหมายจะสามารถทำงานได้ทัน

ระบบปฏิบัติการสมัยใหม่สามารถจัดสรรทรัพยากร เช่น หน่วยความจำได้ดีกว่าแต่ก่อน ดังนั้นจึงเป็นเรื่องยากที่ทำให้เกิดปัญหา Overflow แต่ SYN Flood ก็ยังเป็นการโจมตีที่อันตราย อย่างไรก็ดี SYN Flood อาจไม่ได้เป็นเครื่องมือหลักในการโจมตี เพียงแต่เป็นตัวเสริมเท่านั้น


2. ICMP Flood

รายละเอียด
เป็นการส่งแพ็คเก็ต ICMP จำนวนมากไปยังเป้าหมาย ทำให้เกิดการใช้งานแบนด์วิดธ์เต็มที่


3. UDP Flood

รายละเอียด
เป็นการส่งแพ็คเก็ต UDP จำนวนมากไปยังเป้าหมาย ซึ่งทำให้เกิดการใช้แบนด์วิดธ์อย่างเต็มที่และ/หรือทำให้ทรัพยากรของเป้าหมายถูกใช้ไปจนหมด โดยจะส่ง UDP packet ไปยัง port ที่กำหนดไว้ เช่น 53 (DNS)


4. Teardrop

โดยปกติแล้ว การที่เราจะส่ง Packet ข้อมูลขนาดใหญ่ ผ่าน เราเตอร์ออกไปยัง Layer ระดับล่างนั้นโดยที่ Packet มีขนาดต่างๆ กันไปนั้น เราเตอร์จะไม่ยอมให้ผ่าน จะต้องทำ Fragment เสียก่อน จึงจะยอมให้ผ่านได้ และเมื่อผ่านไปแล้วเครื่องของผู้รับปลายทางจะนำแพ็กเก็ตที่ถูกแบ่งออกเป็นชิ้นส่วนต่าง ๆ ด้วยวิธีการ Fragment มารวมเข้าด้วยกันเป็นแพ็กเก็ตที่สมบูรณ์ การที่สามารถนำมารวมกันได้นี้จะต้องอาศัยค่า Offset ที่ปรากฏอยู่ในแพ็กเก็ตแรกและแพ็กเก็ตต่อ ๆ ไป สำหรับการโจมตีแบบ Teardrop นี้ผู้โจมตีจะส่งค่า Offset ในแพ็กเก็ตที่สองและต่อ ๆ ไปที่จะทำให้เครื่องรับปลายทางเกิดความสับสน หากระบบปฏิบัติการไม่สามารถรับมือกับปัญหานี้ก็จะทำให้ระบบหยุดการทำงานในทันที


5. การโจมตีแบบ Smurf

ลักษณะการโจมตีแบบนี้ผู้โจมตีจะใช้วิธีการที่เรียกว่ายืมมือฆ่ากัน พูดง่าย ๆ คือการยุแหย่ให้เกิดการรุมตีกันบนเครือข่าย วิธีการโจมตีได้แก่การส่ง IP Ping ไปที่ IP Address หนึ่ง ได้แก่ IP ที่ลงท้ายด้วย .255 ซึ่งเป็นแอดเดรสเพื่อการ Broadcasting เฉพาะเครือข่ายนั้น และแน่นอนผู้โจมตีจะต้องสร้าง IP Address ลวงขึ้นมา ซึ่งเป็น IP Address ของเซิร์ฟเวอร์ที่ต้องการจะถูกโจมตี

หลังจากที่มีการ Ping ไปที่แอดเดรสดังกล่าวแล้ว แอดเดรสที่เป็น Broadcasting นี้จะทำการ Broadcast ไปที่ คอมพิวเตอร์ทุกตัวบนเครือข่าย ซึ่งเมื่อทุกเครื่องได้รับการ Ping แล้วก็จะเข้าใจว่าเป็นการ Ping มาจากเครื่องที่เป็นเซิร์ฟเวอร์ ดังนั้นทุกเครื่องก็จะส่งข่าวสาร Echo สนองตอบกลับมาที่เซิร์ฟเวอร์เพียงเครื่องเดียวในเวลาเดียวกัน ซึ่งจะทำให้เซิร์ฟเวอร์ทำงานช้าลงเนื่องจากถูกถล่ม และหาก Hacker ทำการส่ง Ping ออกมาอย่างต่อเนื่อง และมีข่าวสารขนาดใหญ่ ผลก็คือเซิร์ฟเวอร์ก็แทบจะไม่เป็นอันกินอันนอนก็คราวนี้เอง ลักษณะการโจมตีเป็นไป




6. การโจมตีแบบ Land Attack

ลักษณะการโจมตีประเภทนี้เป็นการส่ง SYN ไปที่เครื่องเป้าหมายเพื่อขอสถาปนาการเชื่อมต่อ ซึ่งเครื่องที่เป็นเป้าหมายจะต้องตอบรับคำขอการเชื่อมต่อด้วย SYN ACK ไปที่เครื่องคอมพิวเตอร์ต้นทางเสมอ แต่เนื่องจากว่า IP Address ของเครื่องต้นทางกับเครื่องที่เป็นเป้าหมายนี้มี IP Address เดียวกัน โดยการใช้วิธีการสร้าง IP Address ลวง (โดยข้อเท็จจริงแล้วเครื่องของ Hacker จะมี IP Address ที่ต่างกับเครื่องเป้าหมายอยู่แล้ว แต่จะใช้วิธีการทางซอฟต์แวร์ในการส่งแพ็กเก็ตที่ประกอบด้วยคำขอการเชื่อมต่อ พร้อมด้วย IP Address ปลอม) ซึ่งโปรโตคอลของเครื่องเป้าหมายไม่สามารถแยกแยะได้ว่า IP Address ที่เข้ามาเป็นเครื่องปัจจุบันหรือไม่ ก็จะทำการตอบสนองด้วย SYN ACK ออกไป

หากแอดเดรสที่ขอเชื่อมต่อเข้ามาเป็นแอดเดรสเดียวกับเครื่องเป้าหมาย ผลก็คือ SYN ACK นี้จะย้อนเข้าหาตนเอง และ เช่นกันที่การปล่อย SYN ACK แต่ละครั้งจะต้องมีการปันส่วนของหน่วยความจำเพื่อการนี้จำนวนหนึ่ง ซึ่งหากผู้โจมตีส่งคำขอเชื่อมต่อออกมาอย่างต่อเนื่องก็จะเกิดปัญหาการจัดสรรหน่วยความจำ อีกทั้งต้องมาประมวลผลในส่วนของการเชื่อมต่อ ก็จะทำให้ เครื่องเป้าหมายทำงานช้าลง หรืออาจหยุดทำงานก็เป็นได้ ลักษณะการโจมตีแบบ Land Attack เป็นไป




7. Fraggle

รายละเอียด
เป็นอีกรูปแบบหนึ่งของการโจมตีแบบ Smurf โดยผู้โจมตีจะส่ง UDP Echo Request (UDP port 7) ไปยัง broadcast address ของ amplifier network โดยปลอม source ip address ไปเป็น ip address ของเป้าหมาย ซึ่งทำให้มีการใช้งานแบนด์วิดธ์อย่างเต็มที่ และ/หรือทำให้มีการใช้ทรัพยากรของเป้าหมายจนหมดไป ซึ่งการโจมตียังสามารถใช้ได้กับ UDP, TCP services อื่น เช่น Chargen อีกด้วย


8. Distributed Denial of Services (DDOS)

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

การโจมตีแบบ DDOS

มีการสร้าง Traffic ในปริมาณมากออกมาให้สามารถหลั่งไหลท่วมท้นไปที่เครื่องเป้าหมายปลายทาง โดยเฉพาะเว็บไซต์บนอินเทอร์เน็ต รูปแบบของการโจมตีได้แก่ การสร้างเครื่องคอมพิวเตอร์ที่ทำงานในลักษณะของ Zombie ขึ้นมา ในที่นี้หมายความว่าผู้โจมตีจะต้องใช้ซอฟต์แวร์ที่ทำให้เครื่องคอมพิวเตอร์อื่น ๆ จะต้องรับคำสั่งจากเครื่องคอมพิวเตอร์ของผู้โจมตี ซึ่งซอฟต์แวร์ประเภทนี้ได้ถูกฝังตัวอยู่ในเครื่องคอมพิวเตอร์เหล่านั้นเป็นที่เรียบร้อยโดยที่ผู้ใช้งานก็ไม่รู้ตัว

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

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


การโจมตีแบบที่ 2 NULL Session (SM

Services ที่ถูกใช้บ่อยที่สุด อย่างหนึ่งของระบบปฏิบัติการ Windows ก็คือ Server Message Block (SMซึ่งรองรับการทำงานของบริการ File and Print Sharing Services ของไมโครซอฟท์ จากนี้ไป จะแสดงให้เห็นถึง null session ซึ่งแสดงให้เห็นถึงเทคนิคในการดึงเอา session ของผู้ใช้ในระบบ Windows ออกไป โดยที่ไม่ต้อง Logon แต่อย่างใด

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

หนึ่งในช่องโหว่ที่สุดของระบบปฏิบัติการตระกูล NT นั่นคือ การที่ค่า default ยังคงต้องพึ่งพาโปรโตคอล Common Internet File System/Server message Block ที่ทำงานผ่านทางพอร์ต TCP 139 และ 445 ถึงแม้ว่าผู้ใช้จะไม่มีการล็อกออนเลยก็ตาม ขั้นแรกสุดในการเข้าถึง API ตัวนี้คือ การสร้างคอนเนคชันที่ไม่จำเป็นต้องผ่านการตรวจสอบ หรือ Null Session



คำสั่งข้างต้นนี้จะ Connect ไปยังแชร์ที่ถูกซ่อนไว้สำหรับฟังก์ชันการสื่อสารระหว่าง Process ด้วยกัน (IPC$) ของ IP Address 192.168.1.3 ในฐานะของ Account แบบ Anonymous (/u””) ด้วยรหัสผ่านเป็นค่าว่าง หากสำเร็จ (ดังภาพ) นั่นหมายถึงว่า Hacker ได้เตรียมเปิด Session เตรียมไว้สำหรับดึงข้อมูลออกจากเครื่องเป้าหมายด้วยเทคนิคต่างๆ ดังเทคนิคด้านล่างนี้

การรวบรวมรายชื่อแชร์โฟลเดอร์

ด้วย Null Session ที่ถูกสร้างขึ้นมา เราสามารถ View ดู แชร์โฟลเดอร์ของเครื่องเป้าหมายด้วยคำสั่งง่ายๆ



หากว่า Folder ในเครื่องของ Target ไม่ได้มีการเซต Policy อย่างเหมาะสม จะสามารถ View ดู Resource และ นำไปสู่วิธีการ Hack ในแบบอื่นๆ ได้


การโจมตีแบบที่ 3 Buffer Overflow

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

ตัวอย่างที่ 1 Buffer-Overflow Attacks แบบเบื้องต้น
ในตัวอย่างแรกนี้ (รูปที่ 1) เป็นตัวอย่างโปรแกรมภาษา C ง่ายๆ ที่เมื่อถูก Overflow จะทำให้การทำงานบางอย่างผิดไป ในที่นี้ คือตัวแปร age ซึ่งเป็นตัวแปรเก็บตัวเลขจะถูก Overflow จนค่าที่ได้เปลี่ยนไป ดังในตัวอย่างจะพบว่าอายุเปลี่ยนจาก 15 เป็น 49 (ทั้งที่ไม่ได้ทำการกำหนดค่าตัวแปร age เป็น 49)

[code]#include <stdio.h>
int main(char argc,char *argv[])

{