Thứ Hai, 23 tháng 7, 2012

DDoS là gì?

Tấn công từ chối dịch vụ phân tán (DDoS - Distributed Denial Of Service) là kiểu tấn công làm cho hệ thống máy tính hay hệ thống mạng quá tải, không thể cung cấp dịch vụ hoặc phải dừng hoạt động. Trong các cuộc tấn công DDoS, máy chủ dịch vụ sẽ bị "ngập" bởi hàng loạt các lệnh truy cập từ lượng kết nối khổng lồ. Khi số lệnh truy cập quá lớn, máy chủ sẽ quá tải và không còn khả năng xử lý các yêu cầu. Hậu quả là người dùng không thể truy cập vào các dịch vụ trên các trang web bị tấn công DDoS.

DDOS - Distributed Denial Of Service.


• 1998 Chương trình Trinoo Distributed Denial of Service (DDoS) được viết bởi Phifli.

• Tháng 5 – 1999 Trang chủ của FBI đã ngừng họat động vì cuộc tấn công bằng (DDOS)

• Tháng 6 – 1999 Mạng Trinoo đã được cài đặt và kiểm tra trên hơn 2000 hệ thống.

DDOS – Distributed Denial Of Service ?

• Cuối tháng 8 đầu tháng 9 năm 1999, Tribal Flood Network đầu tiiên ra đời, Chương trình được Mixter Phát triển.

• Cuối tháng 9 năm 1999, Công cụ Stacheldraht đã bắt đầu xuất hiện trên những hệ thống của Châu âu và Hoa kỳ.

• Ngày 21 tháng 10 năm 1999 David Dittrich thuộc trường đại học Washington đã làm những phân tích về công cụ tấn công từ chối dịch vụ

• Ngày 21 tháng 12 năm 1999 Mixter phát hành Tribe Flood Network 2000 ( TFN2K ).

• 10 : 30 / 7 – 2 -2000 Yahoo! ( Một trung tâm nổi tiếng ) đã bị tấn công từ chối dịch vụ và ngưng trệ hoạt động trong vòng 3 giờ đồng hồ. Web site Mail Yahoo và GeoCities đã bị tấn công từ 50 địa chỉ IP khác nhau với nhửng yêu cầu chuyễn vận lên đến 1 gigabit /s.

DDOS - Distributed Denial Of Service ?

• 8 -2 nhiều Web site lớn như Buy.com, Amazon.com, eBay, Datek, MSN, và CNN.com bị tấn công từ chối dịch vụ.

• Lúc 7 giờ tối ngày 9-2/2000 Website Excite.com là cái đích của một vụ tấn công từ chối dịch vụ, dữ liệu được luân chuyễn tới tấp trong vòng 1 giờ cho đến khi kết thúc, và gói dữ liệu đó đã hư hỏng nặng.

• Qua đó ta có thể thấy rõ những vụ tấn công từ chối dịch vụ (Denial Of Services Attack ) và những cuộc tấn công về việc gửi nhửng gói dữ liệu tới máy chủ (Flood Data Of Services Attack) tới tấp là những mối lo sợ cho nhiều mạng máy tính lớn và nhỏ hiện nay,

• Khi một mạng máy tính bị Hacker tấn công nó sẽ chiếm một lượng lớn tài nguyên trên server như dung lượng ổ cứng, bộ nhớ, CPU, băng thông …. Lượng tài nguyên này tùy thuộc vào khả năng huy động tấn công của mỗi Hacker. Khi đó Server sẽ không thể đáp ứng hết những yêu cầu từ những client của những người sử dụng và từ đó server có thể sẽ nhanh chóng bị ngừng hoạt động, crash hoặc reboot.

• Tấn công từ chối dịch vụ có rất nhiều dạng như Ping of Death, Teardrop, Aland Attack, Winnuke, Smurf Attack, UDP/ICMP Flooding, TCP/SYN Flooding, Attack DNS.

Ping Of Death.

Một số máy tính sẽ bị ngưng họat động, Reboot hoặc bị crash khi bị nhận những gói dữ liệu ping có kích thước lớn.

• Ví dụ như : ping địachỉ -n 1000
trong đó : số 1000 là số lần gửi gói dữ liệu.

• TCP/SYN Flooding:

Bước 1: Khách hàng gửi một TCP SYN packet đến cổng dịch vụ của máy chủ

Khách hàng -> SYN Packet -> Máy chủ

Bước 2 : Máy chủ sẽ phản hồi lại khách hàng bằng 1 SYN/ACK Packet và chờ nhận một 1 ACK packet từ khách hàng

Máy chủ -> SYN/ACK Packet -> Khách hàng

Bước 3: Khách hàng phản hồi lại Máy chủ bằng một ACK Packet và việc kết nối hòan tất Khách hàng và máy chủ thực hiện công việc trao đổi dữ liệu với nhau.

Khách hàng -> ACK Packet -> Máy chủ

• Trong trường hợp Hacker thực hiện việc SYN Flooding bằng cách gửi tới tấp, hàng loạt TCP SYN packet đến cổng dịch vụ của máy chủ sẽ làm máy chủ bị quá tải và không còn khả năng đáp ứng được nữa.

• UDP/ICMP Flooding:
Hacker thực hiện bằng cách gửi 1 số lượng lớn các gói tin UDP/ICMP có kích thước lớn đến hệ thống mạng, khi hệ thống mạng chịu phải sự tấn công này sẽ bị qua tải và chiếm hết băng thông đường truyền đi ra bên ngòai của mạng này, vì thế nó gây ra nhửng ảnh hưởng rất lớn đến đường truyền cũng như tốc độ của mạng, gây nên những khó khăn cho khách hàng khi truy cập từ bên ngoài vào mạng này.

• Những điều kiện đủ để có những cuộc tấn công DoS Có hiệu quả:
Để có được những cuộc tấn công DOS có hiệu quả thông thường một Hacker phải lựa chọn cho mình những đường truyền có dung lượng lớn cũng như tốc độ máy được dùng làm công cụ tấn công. Nếu không hội tụ được những điều kiện trên thì cuộc tấn công sẽ không mang lại mấy khả quan.

• Nhưng với những tiện ích như Trinoo, TFN2K, Stacheldraht… người tấn công không phải chỉ dùng 1 nơi để tấn công mà sử dụng nhiều mạng lưới khác nhau để thực hiện việc tấn công đồng lọat. Các máy được dùng để tấn công thường là các máy có kết nối Internet bị người tấn công xâm nhập.

• Qua đó chúng tôi đã tham khảo và biết một số cách nhưng hầu hết không chống được một cách triệt để.

1. Khi bạn phát hiện máy chủ mình bị tấn công hãy nhanh chóng truy tìm địa chỉ IP đó và cấm không cho gửi dữ liệu đến máy chủ.

2. Dùng tính năng lọc dữ liệu của router/firewall để loại bỏ các packet không mong muốn, giảm lượng lưu thông trên mạng và tải của máy chủ.

3. Sử dụng các tính năng cho phép đặt rate limit trên router/firewall để hạn chế số lượng packet vào hệ thống.

4. Nếu bị tấn công do lỗi của phần mềm hay thiết bị thì nhanh chóng cập nhật các bản sửa lỗi cho hệ thống đó hoặc thay thế.

5. Dùng một số cơ chế, công cụ, phần mềm để chống lại TCP SYN Flooding.

6. Tắt các dịch vụ khác nếu có trên máy chủ để giảm tải và có thể đáp ứng tốt hơn. Nếu được có thể nâng cấp các thiết bị phần cứng để nâng cao khả năng đáp ứng của hệ thống hay sử dụng thêm các máy chủ cùng tính năng khác để phân chia tải.

7. Tạm thời chuyển máy chủ sang một địa chỉ khác.

Flooding Data Attack ?

• Hoàn toàn khác với DDos về khả năng tấn công cũng như sự huy động tấn công rất dễ dàng để làm tràn ngập dữ liệu (Flood data attack !) được phát triển ở rất nhiều dạng nó dựa vào những lỗi của hầu hết các mã nguồn mở của ASP, PHP, JSP, CGI …..

• Với DDOS như chúng ta đã biết khi một số Hacker muốn mở những cuộc tấn công đều phải hội tụ những điều kiện, là phải dùng những máy chủ có đường truyền cao và thường thì phải @hắc vào server đó mới có thể huy động làm công cụ tấn công được, ngược lại với Flood data attack việc huy động quá dễ, nó chia ra làm 2 dạng tấn công như sau:

• Dạng 1: Được chạy trên trên môi trường Windonw, Unix, Linux …

• Dạng 2: Được đính kèm trên các Website và nhận lệnh tấn công từ một địa chỉ nào đó trên Mạng toàn cầu.

• Dạng 1: Với kích thước từ 500 byte đến 1Kb các Hacker dễ dàng đính kèm vào một Website nào đó có nhiều người hiện đang có mặt truy cập trên Website đó. Với đọan mã trên ta có thể thấy Hacker đã đặt kích thước tập tin Flooddata.swf ở chế độ Chiều rộng (width) là bằng 0 và chiều cao (height) cũng bằng 0 như thế tập tin này sẽ không thể hiển thị được trên trên trang Web đó

Khi người sử dụng vào Website này lập tức sẽ kích họat chương trình Flood Data Attack ! của Hacker tại địa chỉ là http://noitancong.com/filedata.swf và Hacker cũng dễ dàng điều khiển chương trình bằng 1 file nguồn ở 1 Website nào đó của Hacker trên mạng mà Hacker đó đặt ra trong chương trình Flooding data Attack.

Hacker có thể kiểm soát được số người hiện đang kích hoạt chương trình Flood data của mình trên Website đó và khi nào Hacker cảm thấy số lượng người đang kích hoạt chương trình đã đủ để việc tấn công một Website nào đó trên mạng thành công thì công việc đó có thể được bắt đầu.

Ví dụ như hacker vào một địa chỉ như http://www.vbuleetin.com để thực hiện công việc tấn công trang này hacker cần phải tìm những nơi có sự trao đổi dữ liệu cho nhau như Register, Search, Login, Sendmail ….. Sau khi đã thu thập được những thành phần trên Hacker bắt đầu thực hiện lấy những đầu vào(input) và gán nhửng giá trị đầu vào trên lên nơi điều khiển của chương trình Flood data attack!.

Ví dụ phần trên sẽ được gán với biến như sau :

Url=http://www.vbuleetin.com/register.php&username=user + random(999999999)&password = flood&passwordconfim=password&email=random(1000000 00)+@vbulleetin.com

Trong đó Url là giá trị của Website bị tấn công, Username với giá trị là một user nào đó do hacker đặt ra và cộng với biến ngẫu nhiên ở sau mỗi user mà hacker đặt ra là khác nhau. Một khi Website này bị tấn công, toàn bộ họat động của Server chứa Website đó sẽ bị hậu quả rất ngiêm trọng tùy theo số lượng người kích họat vào chương trình Flood data attack! Của hacker đó, Lúc này những phần bị ảnh hưởng sẽ là MailServer, MySQL, PHP, Apache, FTP….

• Đối với MySQL : Khi bị Flood data attack! Những yêu cầu sẽ được gửi liên tục đến Server và được chuyển qua MySQL xử lý với số lượng lớn và nối tiếp nhau cho đến khi quá tải chương trình MySQL sẽ hòan toàn bị vô tác dụng song song với việc ảnh hưởng đến MySQL là việc ảnh hưởng đến MailServer.

Với giá trị là random(100000000)+@vbuleetin.com thì khi thực thi nó sẽ gửi từ ‘1@vbuleetin.com’ cho đến ‘100000000@vbuleetin.com’ tất nhiên nhửng email này sẽ không có thực đối với trang chủ của Website ‘http://www. vbuleetin.com.

• Đối với sẽ nhửng địa chỉ email này MailServer đưa vào danh sách "Msgs Failed" nhưng với giá trị là @vbulletin.com thì hầu hết một nhà cung cấp "domain" và "hosting" sẽ chuyển về một số email mặc định như là postmaster, admin, administrator, supervisor, hostmaster, webmaster.

Những Hacker có thể lợi dụng những Form mail trong việc trao đổi thông tin giữa khách hàng với chủ cung cấp dịch vụ để thực hiện những cuộc tấn công, những cuốc tấn công này thường rất nguy hiễm vì có thể trong 1 giây Hacker thực hiện từ 100 lần đến hàng nghìn lần với những yêu cầu SendEmail từ 1 user trên server đó đến MailServer.

• Dạng 2: Được chạy dưới dạng file.exe với dạng thức này thì khả năng tấn công vẫn giống như cách tấn công nằm trên website nhưng khả năng tấn công được nâng thêm nhiều dạng như Ping, Flood Ftp, Flood Smtp… tùy vào khả năng phát triển của Hacker.

Cũng giống như chương trình Flood data attack! Được gắn trên website dạng .exe này cũng được điều khiển từ 1 Website. Thường thì nơi điều khiển được đặt chung 1 nơi để tiện cho việc điều khiển.

Với những phương thức tấn công như vậy ta cũng có thể thấy được tầm nguy hiểm của nó nếu như được đặt trên một server với số lượng người truy cập đông như Google hoặc 1 Website nổi tiếng nào đó thì sức phá hoại của nó là rất khủng khiếp.

• Với 1 client/1s có thể gửi từ 3 – 8 yêu cầu có thực đến máy chủ thực thi và xử lý thông qua đó nó có thể ảnh hưởng đến Php, Apache, Phpmail, MySQL, FTP …., Tùy theo những mã nguồn của ASP, PHP, JSP, CGI, PL hoặc chung quy là những mã nguồn có liên quan đến công việc xuất và nhập dữ liệu.

Nếu hacker huy động hoặc @hắc được những server hoặc Website nào đó có số lượng người Online khoảng 2000 thì trong 1 giây Server đó sẽ phải thực thi khoảng 6000 yêu cầu từ các client gửi đến Server đó.

Ví dụ : Có User nằm trên server X nào đó user đó có cài đặt mã nguồn mở như Forum IPB (Invision Power Boards) khi hacker sử dụng mục đăng ký làm nơi tấn công Flood data thì trong vòng một giây như phần trên đã nêu sẽ có khoãng 6000 nickname được khởi tạo đi kèm theo đó là 6000 yêu cầu đã được mã nguồn mử thiết lập khi đăng ký và sẽ kèm theo việc gửi email đến các địa chỉ đã đăng ký.

• Như vậy đi kèm với 6000 nickname trên, MailServer sẽ phải gửi đi 6000 yêu cầu trong vòng 1/s việc này nếu như bị kéo dài từ 5 – 10 phút thì Server đó hầu như sẽ không còn họat động được.

Bandwith lúc này có thể tăng 5 – 10 MB/s cộng thêm data khi được chuyển đến MySQL lúc này có thể đạt tới 5 -7 MB/s nữa khi đó toàn bộ các phần mềm như Apache, MailServer, PHP, MySQL, FTP đều bị ngưng họat động. Lúc đó server có thể sẽ bị reboot.

Vì Hacker sử dụng phương tiện tấn công Online trên Website và dựa vào lượng khách truy cập thông tin ở nhiều Website nên phương pháp này hầu như rất khó chống, mỗi ngày Hacker có thể dùng hàng ngàn địa chỉ IP trên khắp thế giới để thực hiện việc tấn công như thế ta có thể thấy nó đơn giản so với DDos rất nhiều nhưng sự nguy hiểm có lẽ hơn hẳn DDos. Vì Flooding Data Attack tấn công theo dạng địa chỉ ‘http://victim.com/data.php&bien1&bien2&bien3’ theo cổng GET hoặc POST vì vậy, cho dù bất cứ lý do gì khi tấn công cũng phải đi qua hướng này.

Do lỗi được xuất hiện ở các mã nguốn ASP hay PHP nên cách tốt nhất là sửa và xem lại những mã nguồn mà người sử dụng muốn đưa lên mạng. Để tránh bị Flood data Attack! Thì cách phòng chống tạm thời vẫn là thêm một chuỗi ngẫu nhiên trên mỗi Form có sự xuất và nhập dữ liệu tuy nhiên những cách trên chưa phải là những cách hòan thiện để chống lại nhửng cuộc tấn công tràn ngập dữ liệu (Flooding Data Attack).

Tổng hợp

Không có nhận xét nào:

DBS M05479
Quang Cao