Ddos game là gì

32 phút đọc

Nếu bạn là một người tìm hiểu về DDoS hoặc doanh nghiệp của bạn bị tấn công DDoS thì bài viết này giành riêng cho bạn. ddos.com.vn sẽ giải thích rõ thắc mắc DDoS là gì? Các cuộc tấn công từ chối dịch vụ phân tán nhằm mục đích gì và có những kiểu tấn công DDoS nào?

Sau khi đọc hết bài viết này, chúng tôi hy vọng bạn sẽ biết được tại sao các website, server game thường xuyên bị DDoS và cách phòng chống như thế nào? Hãy cùng bắt đầu tìm hiểu ngay thôi!

DDoS là gì?

  • DoS [viết tắt của Denial of Service]: Tấn công từ chối dịch vụ
  • DDoS [viết tắt của Distributed Denial of Service]: Tấn công từ chối dịch vụ phân tán
DDoS là gì?

Tấn công DDoS chính là một phương pháp tấn công bắng nhiều máy tính hoặc nhiều hệ thống máy tính yêu cầu tài nguyên trên máy chủ đích cùng 1 thời điểm. Làm quá tải tài nguyên của hệ thống máy chủ đích, khiến hệ thống bị chậm đi một cách đáng kể hoặc người dùng không còn truy cập và sử dụng được nữa.

Nạn nhân của các cuộc tấn công từ chối dịch vụ phân tán thường là các trang mạng hay server tiêu biểu như: web game, cổng thanh toán thẻ tín dụng, ngân hàng và thậm chí là DNS root servers.

Đối tượng tấn công DDoS không chỉ sử dụng máy tính của họ để tấn công mà còn sử dụng máy tính của những người dùng khác. Bằng cách xâm nhập và chiếm quyền kiểm soát máy tính của người dùng một các bất hợp pháp. Tấn công từ chối dịch vụ phấn tán là vi phạm chính sách sử dụng internet của IAB [Internet Architecture Board] và những người tấn công DDoS sẽ vi phạm luật dân sự.

Mục tiêu của các cuộc tấn công DDoS là gì?

  • Làm tiêu tốn tài nguyên của hệ thống,có thể làm hết băng thong,đầy dung lượng lưu trữ trên đĩa hoặc tăng thời gian xử lý.
  • Phá vỡ các thành phần vật lý của mạng máy tính.
  • Làm tắc nghẽn thông tin liên lạc bên ra bên ngoài.
  • Phá vỡ các thông tin cấu hình như thông tin định tuyến
  • Phá vỡ các trạng thái thông tin như việc tự động reset lại các phiên TCP.
  • Làm quá tải năng lực xử lý,dẫn đến hệ thống không thể thực thi bất kỳ một công việc nào khác.
  • Những lỗi gọi tức thì trong microcode của máy tính.
  • Những lỗi gọi tức thì trong chuỗi chỉ thị,dẫn đến máy tính rơi vào tình trạng hoạt động không ổn định hoặc bị đơ
  • Những lỗi có thể khai thác được ở hệ điều hành dẫn đến việc thiếu thốn tài nguyên hoặc bị tharshing.Ví dụ như sử dụng tất cả các năng lực có sẵn dẫn đến không một công việc thực tế nào có thể hoàn thành được.
  • Gây crash hệ thống

Các kiểu tấn công DDoS

Các cuộc tấn công DDoS mang lại nhiều lợi nhuận cho hacker, vì thế ngày càng nhiều các cuộc tấn công xảy ra và dễ dàng để một người có thể thực hiện một cuộc tấn công DDoS [nhỏ, vừa và cực lớn].

Sau đây là các kiểu tấn công DDoS phổ biến nhất hiện nay:

  • Tấn công DDoS dạng SYN Flood
  • Tấn công DDoS dạng UDP Flood
  • Tấn công DDoS dạng HTTP Flood
  • Tấn công dạng Ping Of Death
  • Tấn công dạng Smurf Attack
  • Tấn công dạng Fraggle Attack
  • Tấn công dạng Slowloris
  • Tấn công dạng Application Level
  • Tấn công dạng NTP Amplification
  • Tấn công dạng Advanced Persistent DoS [APDoS]
  • Tấn công DDoS dạng Zero-Day

1. Tấn công Smurf

Là thủ phạm sinh ra cực nhiều giao tiếp ICMP [ping] tới địa chỉ Broadcast của nhiều mạng với địa chỉ nguồn là mục tiêu cần tấn công.

* Chúng ta cần lưu ý là: Khi ping tới một địa chỉ là quá trình hai chiều Khi máy A ping tới máy B máy B reply lại hoàn tất quá trình. Khi tôi ping tới địa chỉ Broadcast của mạng nào đó thì toàn bộ các máy tính trong mạng đó sẽ Reply lại tôi. Nhưng giờ tôi thay đổi địa chỉ nguồn, thay địa chỉ nguồn là máy C và tôi ping tới địa chỉ Broadcast của một mạng nào đó, thì toàn bộ các máy tính trong mạng đó sẽ reply lại vào máy C chứ không phải tôi và đó là tấn công Smurf.

Kết quả đích tấn công sẽ phải chịu nhận một đợt Reply gói ICMP cực lớn và làm cho mạng bị dớt hoặc bị chậm lại không có khả năng đáp ứng các dịch vụ khác.

Quá trình này được khuyếch đại khi có luồng ping reply từ một mạng được kết nối với nhau [mạng BOT].

Tấn công Fraggle, chúng sử dụng UDP echo và tương tự như tấn công Smurf.

3. Tấn công Buffer overflow

Buffer Overflow xảy ra tại bất kỳ thời điểm nào có chương trình ghi lượng thông tin lớn hơn dung lượng của bộ nhớ đệm trong bộ nhớ.

Kẻ tấn công có thể ghi đè lên dữ liệu và điều khiển chạy các chương trình và đánh cắp quyền điều khiển của một số chương trình nhằm thực thi các đoạn mã nguy hiểm. Tấn công Buffer Overflow tôi đã trình bày cách khai thác lỗi này trong bài viết trước về hacking windows cũng trên trang www.vnexperts.net.

Quá trình gửi một bức thư điện tử mà file đính kèm dài quá 256 ký tự có thể sẽ xảy ra quá trình tràn bộ nhớ đệm.

4. Tấn công Ping of Death

Kẻ tấn công gửi những gói tin IP lớn hơn số lương bytes cho phép của tin IP là 65.536 bytes.

Quá trình chia nhỏ gói tin IP thành những phần nhỏ được thực hiện ở layer II.

Quá trình chia nhỏ có thể thực hiện với gói IP lớn hơn 65.536 bytes. Nhưng hệ điều hành không thể nhận biết được độ lớn của gói tin này và sẽ bị khởi động lại, hay đơn giản là sẽ bị gián đoạn giao tiếp.

Để nhận biết kẻ tấn công gửi gói tin lớn hơn gói tin cho phép thì tương đối dễ dàng.

5. Tấn công Teardrop

Gói tin IP rất lớn khi đến Router sẽ bị chia nhỏ làm nhiều phần nhỏ.

Kẻ tấn công sử dụng sử dụng gói IP với các thông số rất khó hiểu để chia ra các phần nhỏ [fragment].

Nếu hệ điều hành nhận được các gói tin đã được chia nhỏ và không hiểu được, hệ thống cố gắng build lại gói tin và điều đó chiếm một phần tài nguyên hệ thống, nếu quá trình đó liên tục xảy ra hệ thống không còn tài nguyên cho các ứng dụng khác, phục vụ các user khác.

6. Tấn công SYN

Kẻ tấn công gửi các yêu cầu [request ảo] TCP SYN tới máy chủ bị tấn công. Để xử lý lượng gói tin SYN này hệ thống cần tốn một lượng bộ nhớ cho kết nối.

Khi có rất nhiều gói SYN ảo tới máy chủ và chiếm hết các yêu cầu xử lý của máy chủ. Một người dùng bình thường kết nối tới máy chủ ban đầu thực hiện Request TCP SYN và lúc này máy chủ không còn khả năng đáp lại kết nối không được thực hiện.

Đây là kiểu tấn công mà kẻ tấn công lợi dụng quá trình giao tiếp của TCP theo Three-way.

Các đoạn mã nguy hiểm có khả năng sinh ra một số lượng cực lớn các gói TCP SYN tới máy chủ bị tấn công, địa chỉ IP nguồn của gói tin đã bị thay đổi và đó chính là tấn công DoS.

Hình bên trên thể hiện các giao tiếp bình thường với máy chủ và bên dưới thế hiện khi máy chủ bị tấn công gói SYN đến sẽ rất nhiều trong khi đó khả năng trả lời của máy chủ lại có hạn và khi đó máy chủ sẽ từ chối các truy cập hợp pháp.

Quá trình TCP Three-way handshake được thực hiện: Khi máy A muốn giao tiếp với máy B. [1] máy A bắn ra một gói TCP SYN tới máy B [2] máy B khi nhận được gói SYN từ A sẽ gửi lại máy A gói ACK đồng ý kết nối [3] máy A gửi lại máy B gói ACK và bắt đầu các giao tiếp dữ liệu.

Máy A và máy B sẽ dữ kết nối ít nhất là 75 giây, sau đó lại thực hiện một quá trình TCP Three-way handshake lần nữa để thực hiện phiên kết nối tiếp theo để trao đổi dữ liệu.

Thật không may kẻ tấn công đã lợi dụng kẽ hở này để thực hiện hành vi tấn công nhằm sử dụng hết tài nguyên của hệ thống bằng cách giảm thời gian yêu cầu Three-way handshake xuống rất nhỏ và không gửi lại gói ACK, cứ bắn gói SYN ra liên tục trong một thời gian nhất định và không bao giờ trả lời lại gói SYN&ACK từ máy bị tấn công.

Với nguyên tắc chỉ chấp nhận gói SYN từ một máy tới hệ thống sau mỗi 75 giây nếu địa chỉ IP nào vi phạm sẽ chuyển vào Rule deny access sẽ ngăn cản tấn công này.

Phân loại tấn công DDoS

Dựa vào tài liệu nghiên cứu của ddos.com.vn thì phân loại tấn công DDoS có:

  • Tấn công vào băng thông mạng
  • Tấn công vào giao thức
  • Tấn công bằng những gói tin khác thường
  • Tấn công qua phần mềm trung gian
  • Một số công cụ tấn công dùng Proxy
  • Và một số công cụ khác
Phân loại tấn công DDoS

Tấn công vào băng thông mạng

Trong phương pháp này kẻ tấn công điều khiển mạng lưới Agent đồng loạt gửi các gói tin ICMP hay UDP đến nạn nhân làm cho băng thông mạng của nạn nhân bị quá tải và không thể phục vụ được. Ví dụ như trong trường hợp ICMP flood, nạn nhân sẽ phải gửi trả lại các gói tin ICMP_REPLY tương ứng. Do số lượng của Agent gửi đến nạn nhân rất lớn nên việc gửi lại các gói ICMP_REPLY dẫn đến nghẽn mạng. Trong trường hợp UDP flood cũng tương tự.

Phương pháp tấn công này đặc biệt nguy hiểm do không những băng thông mạng của nạn nhân bị quá tải mà còn ảnh hưởng đến các mạng lân cận. Hiện nay, với sự phát triển của các công cụDdos, hầu hết đều hỗ trợ giả mạo địa chỉ IP.

Tấn công vào giao thức

Điển hình của phương pháp tấn công này là TCP SYN flood. Kẻ tấn công lợi dụng quá trình bắt tay 3 bước trong giao thức TCP. Kẻ tấn công liên tục khởi tạo kết nối TCP. Nạn nhân sẽ tiến hành gửi lại trả lời với SYN và ACK để chờ ACK từ phía máy khách.

Tuy nhiên, kẻ tấn công sẽ không gửi ACK đến nạn nhân hay nói cách khác là sẽ không làm gì cả như quá trình bắt tay 3 bước. Cứ như vậy, nạn nhân sẽ tốn nhiều tài nguyên và bộ nhớ để chờ các phiên TCP. Do vậy nạn nhân sẽ không thể phục vụ được do tốn bộ nhớ đề chờ các kết nối ảo do kẻ tấn công khởi tạo.

Tấn công bằng những gói tin khác thường

Trong phương pháp này, kẻ tấn công dựa vào các điểm yếu của giao thức mạng. Ví dụ khi tấn công Ping of Death. Kẻ tấn công sẽ gửi một số gói tin ICMP có kích thước lớn hơn kích thước giới hạn. Gói tin sẽ bị chia nhỏ, khi nạn nhân ghép lại nhận thấy rằng là gói tin quá lớn để xử lý.

Kết quả là hệ thống không thể xử lý được tình trạng bất thường này và sẽ bị treo. Một trường hợp khác như tấn công Lan Attack. Kẻ tấn công sẽ gửi các gói tin TCP SYN có địa chỉ nguồn, địa chỉ đích và số cổng giống nhau. Nạn nhân sẽ liên tục khởi tạo và kết nối với chính nó. Do vậy hệ thống sẽ bị treo hoặc bị chậm lại.

Tấn công qua phần mềm trung gian

Trong phương pháp tấn công này, kẻ tấn công sẽ sử dụng một phần mềm hợp lệ trên máy nạn nhân. Khai thác một số thuật toán và tiến hành đưa tham số trong trường hợp xấu nhất. Do vậy, máynạn nhân sẽ phải xử lý quá trình này và có thể bị treo. Đây là phương pháp tấn công khá đơn giản nhưng lại có hiệu quả rất cao. Nhưng nguy hiểm hơn cả là kẻ tấn công đã đột nhập được vào máy nạn nhân để có thể ăn cắp các thông tin cá nhân của nạn nhân

Một số công cụ tấn công dùng Proxy

Trinoo

  • Trinoo cho phép kẻ tấn công kiểm soát một số máy để yêu cầu gửi đồng loạt các gói tin UDP làm tê liệt mục tiêu. Master Trinoo có thể điều khiển các deamon trinoo như:
  • Đồng loạt gửi các gói tin UDP
  • Dừng việc gửi gói tin
  • Thay đổi cấu hình của các deamon trinoo

Flood Network [TFN]

TFN là công cụ tấn công vào băng thông. TFN hỗ trợ tấn công các kỹ thuật ICMP flood, UD.2 Tribe P flood, TCP SYN flood. Hiện tại, TFN hỗ trợ việc giả mạo địa chỉ IP. Hoạt động hầu hết trên các hệ điều hành DDos.

Trinity

Có thể nói Trinity là công cụ nguy hiểm nhất. Nó có khả năng tấn công với hầu hết các kỹ thuật như UDP, SYN và một số dạng flood khác. Tuy nhiên nó còn có thể kết nối internet thông qua mạng Relay Chat [IRC] hoặc AOLs ICQ. Trinity thường sử dụng các cổng 6667 và cũng có thể là 1 chương trình backdoor lắng nghe ở cổng 33270 qua kết nối TCP.

Knight

Knight là một cộng cụ hoạt động trên hệ điều hành windows. Knight cung cấp các kỹ thuật tấn công như UDP flood, SYN flood. Và nó có thể tự động update thông qua các giao thức http hoặcftp. Knight được cài đặt sử dụng Trojan thông qua chương trình backdoor được gọi là Back Oifice. Knight được sử dụng trong mô hình IRC-Based

Kaiten

Kaiten chính là biến thể của Knight. Kaiten hỗ trợ các kỹ thuật tấn công như UDP flood, TCP flood, SYN. Có khả năng giả mạo địa chỉ IP. Kaiten cũng là công cụ được sử dụng trong mô hình IRC-Based

Và một số công cụ khác

MASTER HTTP

LOIC [sourceforge.net/projects/loic/]

Dấu nhận biết đang xảy ra tình trạng tấn công DDoS

Các server bị tấn công từ chối dịch vụ phân tán sẽ có những dấu hiệu sau đây:

  • Mạng của bạn hoặc mạng của hệ thống bị chậm đi đáng kể khi truy cập vào website hoặc mở tệp.
  • Nhận nhiều thư rác một cách bất thường.
  • Không thể truy cập vào website của server.

Các biện pháp phòng chống DDoS

Do tính chất nghiêm trọng của tấn công DDoS, nhiều giải pháp phòng chống đã được nghiên cứu và đề xuất trong những năm qua. Tuy nhiên, cho đến hiện nay gần như chưa có giải pháp nào có khả năng phòng chống DDoS một cách toàn diện và hiệu quả do tính chất phức tạp, quy mô lớn và tính phân tán rất cao của tấn công DDoS.

Thông thường, khi phát hiện tấn công DDoS, việc có thể thực hiện được tốt nhất là ngắt hệ thống nạn nhân khỏi tất cả các tài nguyên do mọi hành động phản ứng lại tấn công đều cần đến các tài nguyên trong khi các tài nguyên này đã bị tấn công DDoS làm cho cạn kiệt. Sau khi hệ thống nạn nhân được ngắt khỏi các tài nguyên, việc truy tìm nguồn gốc và nhận dạng tấn công có thể được tiến hành.

Nhiều biện pháp phòng chống tấn công DDoS đã được nghiên cứu trong những năm gần đây thành tựu chung có thể chia các biện pháp phòng chống tấn công DDoS thành 3 dạng theo 3 tiêu chí chính:

  • Dựa trên vị trí triển khai.
  • Dựa trên giao thức mạng.
  • Dựa trên thời điểm hành động.
Các biện pháp phòng chống tấn công DDoS

Dựa trên vị trí triển khai

Các biện pháp phòng chống tấn công DDoS được triển khai ở gần nguồn của tấn công. Phương pháp này nhằm hạn chế các mạng người dùng tham gia tấn công DDoS.

Một số biện pháp cụ thể bao gồm:

  • Thực hiện lọc các gói tin sử dụng địa chỉ giả mạo tại các bộ định tuyến ở cổng mạng;
  • Sử dụng các tường lửa có khả năng nhận dạng và giảm tần suất chuyển các gói tin hoặc
    yêu cầu không được xác nhận.
  • Triển khai ở đích tấn công: Các biện pháp phòng chống tấn công DDoS được triển khai
    ở gần đích của tấn công, tức là tại bộ định tuyến ở cổng mạng hoặc bộ định tuyến của hệ thống đích. Các biện pháp cụ thể có thể gồm:
  • Truy tìm địa chỉ IP: Gồm các kỹ thuật nhận dạng địa chỉ và người dùng giả mạo.
  • Lọc và đánh dấu các gói tin: Các gói tin hợp lệ được đánh dấu sao cho hệ thống nạn
    nhân có thể phân biệt các gói tin hợp lệ và gói tin tấn công. Một số kỹ thuật lọc và đánh
    dấu gói tin được đề xuất gồm: Lọc IP dựa trên lịch sử, Lọc dựa trên đếm hop, Nhận
    dạng đường dẫn,
  • Triển khai ở mạng đích tấn công: Các biện pháp phòng chống tấn công DDoS được triển khai ở các bộ định tuyến của mạng đích dựa trên lọc gói tin, phát hiện và lọc các gói tin độc hại.

Dựa trên giao thức mạng

Các biện pháp phòng chống tấn công DDoS được chia nhỏ theo tầng mạng: IP, TCP và ứng dụng :

  • Phòng chống tấn công DDoS ở tầng IP bao gồm một số biện pháp:
  • Pushback: Là cơ chế phòng chống tấn công DDoS ở tầng IP cho phép một bộ định tuyến yêu cầu các bộ định tuyến liền kề phía trước giảm tần suất truyền các gói tin.
  • SIP defender: Một kiến trúc an ninh mở cho phép giám sát luồng các gói tin giữa các máy chủ SIP và người dùng và proxy bên ngoài với mục đích phát hiện và ngăn chặn tấn công vào các máy chủ SIP.
  • Các phương pháp dựa trên ô đố chữ: Gồm các phương pháp dựa trên ô đố chữ mật mã để chống lại tấn công DDoS ở mức IP.
  • Phòng chống tấn công DDoS ở tầng TCP bao gồm một số biện pháp:
  • Sử dụng các kỹ thuật lọc gói tin dựa trên địa chỉ IP.
  • Tăng kích thước Backlogs giúp tăng khả năng chấp nhận kết nối mới của hệ thống đích.
  • Giảm thời gian chờ xác nhận yêu cầu kết nối TCP-SYN giúp máy chủ hủy bỏ các yêu cầu kết nối không được xác nhận trong khoảng thời gian ngắn hơn, giải phóng tài nguyên các kết nối chờ chiếm giữ.
  • Sử dụng SYN cache giúp duy trì Backlogs chung cho toàn máy chủ thay vì Backlogs riêng cho mỗi ứng dụng. Nhờ vậy có thể tăng số lượng kết nối đang chờ xác nhận.
  • Sử dụng SYN Cookies cho phép chỉ cấp phát tài nguyên cho kết nối khi nó đã được xác nhận. Các yêu cầu SYN sẽ bị hủy nếu không được xác nhận trước khi được chuyển cho máy chủ đích. Phương pháp này có thể giúp phòng chống tấn công SYN Flood hiệu quả.
  • Sử dụng tường lửa hoặc proxy để lọc các gói tin hoặc thực thi các chính sách an ninh đã xác lập trước.
  • Phòng chống tấn công DDoS ở tầng ứng dụng có thể bao gồm:
  • Tối thiểu hóa hành vi truy nhập trang để phòng chống tấn công gây ngập lụt HTTP.
  • Sử dụng các phương pháp thống kê để phát hiện tấn công DDoS ở mức HTTP.
  • Giám sát hành vi của người dùng trong các phiên làm việc để phát hiện tấn công.

Dựa trên thời điểm hành động

Tùy vào thời điểm hành động của các cuộc tấn công DDoS mà chúng ta sẽ áp dụng những biện pháp phòng chống DDoS phù hợp. Một số biện pháp như ddos.com.vn đã nếu ở trên sẽ giúp doanh nghiệp của bạn có thể chủ động phát hiện và chống lại các đợt tấn công DDoS hiệu quả.

Phải làm sao khi bị tấn công DDoS?

Mặc dù các doanh nghiệp đã biết rằng đang bị tấn DDoS/DDoS nhưng rất khó để phát hiện được nguồn hay đích của cuộc tấn công. Vì vậy, hãy liên hệ với nhà cung cấp server của bạn hoặc các nhà cung cấp dịch vụ chống DDoS để tư vấn và hỗ trợ doanh nghiệp của bạn.

Thông tin liên hệ dịch vụ phòng chống DDoS 24/7:

  • Email:
  • Số điện thoại: 0965 3333 02
  • Facebook: fb.com/ddos.com.vn

Lịch sử các cuộc tấn công DDoS tiêu biểu

  • 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 5 1999 Trang chủ của FBI đã ngừng họat động vì cuộc tấn công bằng [DDOS].
  • Cuối tháng 8 đầu tháng 9 năm 1999, Tribal Flood Network đầu tiên ra đời. Cuối tháng 9 năm 1999.
  • 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 ].
  • 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.
  • 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.
Lịch sử các cuộc tấn công DDoS

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.

Các ví dụ về tấn công DDoS

Tấn công Smurf

Kiểu tấn công smurf attack diễn ra khi một host gửi một số lượng lớn gói tin ICMP Echo request với vài địa chỉ IP nhập nhằng trong phần địa chỉ nguồn của gói tin. Địa chỉ đích sẽ là địa chỉ subnet broadcast hoặc còn gọi là directed broadcast.

Router sẽ truyền các gói tin này dựa trên việc so sánh trong bảng định tuyến cho đến khi nào gói tin qua được cổng của router kết nối vào mạng đích. Router sau đó sẽ truyền gói tin vào trong LAN như là LAN broadcast, gửi một bản copy cho tất cả các host. Xem hình vẽ bên dưới.

Mô hình tấn công Smurf

Trong hình trên, kẻ tấn công gửi gói tin về địa chỉ directed-broadcast, địa chỉ nguồn của gói tin là 1.1.1.1 [cho một đợt tấn cống phụ]. R1 khi nhận được gói tin, kiểm tra địa chỉ đích và sẽ truyền gói tin vào trong LAN như là LAN broadcast. R1 trả lời với thông điệp ICMP echo reply với gói tin gửi trả về 1.1.1.2.

Một đặc điểm khác của smurf attack là địa chỉ nguồn IP của gói tin được gửi từ máy tấn công là địa chỉ IP của máy bị tấn công. Ví dụ trong hình trên, nhiều host sẽ nhận gói tin ICMP Echo request ở bước 2. Sau đó các host này trả lời lại với Echo reply về địa chỉ 10.1.1.2 là địa chỉ nguồn của gói tin ICMP Echo ở bước 1. Kết quả là máy 10.1.1.2 sẽ bị nhận một số lượng rất lớn các gói tin.

Có vài giải pháp cho vấn đề. Đầu tiên là, nếu dùng Cisco IOS 12.0, đặt lệnh no ip directed-broadcast trong cổng của router, giúp ngăn ngừa router truyền traffic vào trong LAN [chặn bước 2].

Ngoài ra, dùng phép kiểm tra reverse-path-forwarding [RPF check] bằng cách dùng lệnh ip verify unicast source reachable-via {rx | any} [allow-default] [allowself-ping][list] ở chế độ interface. Lệnh này có hai tác dụng:

Kiểm tra RPF chặt chẽ: Dùng từ khóa rx routers sẽ kiểm tra nếu một route được so trùng trong bảng định tuyến dùng một cổng đi ra [outgoing interface] mà cổng này đúng bằng cổng nhận gói tin. Nếu không trùng, gói tin bị loại bỏ.

Kiểm tra RPF lỏng lẻo: Dùng từ khóa any, router sẽ kiểm tra bất kỳ route nào có thể được dùng để đến được nguồn của gói tin IP.

Lệnh này cũng có thể bỏ qua các tuyến đuờng mặc định default-route khi nó thực hiện kiểm tra [mặc định] hoặc dùng default route khi kiểm tra bằng cách dùng từ khóa allow-default. Có nghĩa là, trong cơ chế kiểm tra lỏng, chỉ cần có một tuyến đường [kể cả tuyến mặc định default route] đến được nguồn của gói tin thì gói tin đó được router xem là hợp lệ.

Ngoài ra, mặc dù không được khuyến cáo lệnh này có thể kích hoạt lệnh ping về địa chỉ nguồn để kiểm tra kết nối. Cuối cùng, những địa chỉ mà RPF kiểm tra có thể được giới hạn bởi một ACL.

Ví dụ trong hình trên, nếu R1 dùng kiểm tra RPF theo kiểu chặt chẽ, nó sẽ lưu ý rằng đường đi của nó để đến 1.1.1.2 [là nguồn của gói tin ở bước 1] không chỉ đến cổng s0/0 như cổng ra, vì vậy gói tin sẽ bị drop. Nếu dùng kiểm tra RPF lỏng lẻo, R1 sẽ tìm thấy một route kết nối trực tiếp đúng bằng 1.1.1.2. Vì vậy router sẽ cho phép gói tin đi qua.

Sau cùng, giả sử rằng AS1 sẽ không bao giờ nhận được gói tin với địa chỉ nguồn 1.0.0.0, R1 có thể dùng một inbound ACL để loại bỏ bất kỳ gói tin nào đến từ 1.0.0.0/8 khi nó đi vào s0/0 từ Internet.

Tấn công Buffer overflow

Mô hình tấn công Buffer Overflow

Buffer Overflow xảy ra tại bất kỳ thời điểm nào có chương trình ghi lượng thông tin lớn hơn dung lượng của bộ nhớ đệm trong bộ nhớ.

Kẻ tấn công có thể ghi đè lên dữ liệu và điều khiển chạy các chương trình và đánh cắp quyền điều khiển của một số chương trình nhằm thực thi các đoạn mã nguy hiểm.

Quá trình gửi một bức thư điện tử mà file đính kèm dài quá 256 ký tự có thể sẽ xảy ra quá trình tràn bộ nhớ đệm.

Tấn công Ping of Death

Kiểu tấn công ping of death dùng giao thức ICMP. Bình thường, ping được dùng để kiểm tra xem một host có sống hay không. Một lệnh ping thông thường có hai thông điệp echo request và echo reply.

Mô hình tấn công Ping of Death

Tiến trình ping bình thường diễn ra như sau:

C:>ping 192.168.10.10 Pinging 192.168.10.10 with 32 bytes of data: Reply from 192.168.10.10: bytes=32 time=1ms TTL=150 Reply from 192.168.10.10: bytes=32 time=1ms TTL=150 Reply from 192.168.10.10: bytes=32 time=1ms TTL=150 Reply from 192.168.10.10: bytes=32 time=1ms TTL=150 Reply from 192.168.10.10: bytes=32 time=1ms TTL=150 Reply from 192.168.10.10: bytes=32 time=1ms TTL=150 Ping statistics for 192.168.10.10: Packets: Sent = 4, Received = 4, Lost = 0 [0% loss], Approximate round trip times in milli-seconds: Minimum = 1ms, Maximum = 1ms, Average = 1ms

Khi tấn công bằng Ping of Death, một gói tin echo đựoc gửi có kích thước lớn hơn kích thước cho phép là 65,536 bytes. Gói tin sẽ bị chia nhỏ ra thành các segment nhỏ hơn, nhưng khi máy đích ráp lại, host đích nhận thấy rằng là gói tin quá lớn đối với buffer bên nhận. Kết quả là, hệ thống không thể quản lý nổi tình trạng bất thường này và sẽ reboot hoặc bị treo.

Tấn công Teardrop

Tất cả các dữ liệu chuyển đi trên mạng từ hệ thống nguồn đến hệ thống đích đều phải trải qua 2 quá trình sau: dữ liệu sẽ được chia ra thành các mảnh nhỏ ở hệ thống nguồn, mỗi mảnh đều phải có một giá trị offset nhất định để xác định vị trí của mảnh đó trong gói dữ liệu được chuyển đi.

Khi các mảnh này đến hệ thống đích, hệ thống đích sẽ dựa vào giá trị offset để sắp xếp các mảnh lại với nhau theo thứ tự đúng như ban đầu. Ví dụ, có một dữ liệu gồm 4000 bytes cần được chuyển đi, giả sử rằng 4000 bytes này được chia thành 3 gói nhỏ[packet]:

Mô hình tấn công Teardrop
  • Packet thứ nhất sẽ mang các 1bytes dữ liệu từ 1 đến 1500
  • Packet thứ hai sẽ mang các bytes dữ liệu từ 1501 đến 3000
  • Packet thứ ba sẽ mang các bytes dữ liệu còn lại, từ 3001 đến 4000

Khi các packets này đến đích, hệ thống đích sẽ dựa vào offset của các gói packets để sắp xếp lại cho đúng với thứ tự ban đầu: packet thứ nhất > packet thứ hai > packet thứ ba

Trong tấn công Teardrop, một loạt gói packets với giá trị offset chồng chéo lên nhau được gởi đến hệ thống đích. Hệ thống đích sẽ không thể nào sắp xếp lại các packets này, nó không điều khiển được và có thể bị crash, reboot hoặc ngừng hoạt động nếu số lượng packets với giá trị offset chồng chéo lên nhau quá lớn!

Hãy xem lại ví dụ trên, đúng ra các packet được gởi đến hệ thống đích có dạng như sau: [1- > 1500 bytes đầu tiên] [1501- > 3000 bytes tiếp theo] [3001- > 4000 bytes sau cùng], trong tấn công Teardrop sẽ có dạng khác: [1- > 1500 bytes] [1501- > 3000 bytes] [1001- > 4000 bytes]. Gói packet thứ ba có lượng dữ liệu sai!

Tấn công SYN

Kẻ tấn công gửi các yêu cầu [request ảo] TCP SYN tới máy chủ bị tấn công. Để xử lý lượng gói tin SYN này hệ thống cần tốn một lượng bộ nhớ cho kết nối.

Khi có rất nhiều gói SYN ảo tới máy chủ và chiếm hết các yêu cầu xử lý của máy chủ.

Một người dùng bình thường kết nối tới máy chủ ban đầu thực hiện Request TCP SYN và lúc này máy chủ không còn khả năng đáp lại kết nối không được thực hiện.

Mô hình tấn công bằng SYN
Mô hình tấn công bằng các gói SYN

Bước 1: Client [máy khách] sẽ gửi các gói tin [packet chứa SYN=1] đến máy chủ để yêu cầu kết nối.

Bước 2: Khi nhận được gói tin này, server sẽ gửi lại gói tin SYN/ACK để thông báo cho client biết là nó đã nhận được yêu cầu kết nối và chuẩn bị tài nguyên cho việc yêu cầu này.

Server sẽ giành một phần tài nguyên hệ thống như bộ nhớ đệm [cache] để nhận và truyền dữ liệu. Ngoài ra, các thông tin khác của client như địa chỉ IP và cổng [port] cũng được ghi nhận.

Bước 3: Cuối cùng, client hoàn tất việc bắt tay ba lần bằng cách hồi âm lại gói tin chứa ACK cho server và tiến hành kết nối.

Mô hình tấn công bằng các gói SYN

Do TCP là thủ tục tin cậy trong việc giao nhận [end-to-end] nên trong lần bắt tay thứ hai, server gửi các gói tin SYN/ACK trả lời lại client mà không nhận lại được hồi âm của client để thực hiện kết nối thì nó vẫn bảo lưu nguồn tài nguyên chuẩn bị kết nối đó và lặp lại việc gửi gói tin SYN/ACK cho client đến khi nào nhận được hồi đáp của máy client.

Mô hình tấn công bằng các gói SYN

Nếu quá trình đó kéo dài, server sẽ nhanh chóng trở nên quá tải, dẫn đến tình trạng crash [treo] nên các yêu cầu hợp lệ sẽ bị từ chối không thể đáp ứng được. Có thể hình dung quá trình này cũng giống hư khi máy tính cá nhân [PC] hay bị treo khi mở cùng lúc quá nhiều chương trình cùng lúc vậy .

Lời kết

Trên đây là bài viết DDoS là gì? được ban biên tập tổng hợp từ nhiều nguồn, nhiều chuyên gia khác nhau. Nếu có thắc mắc hay đóng góp ý kiến gì thêm, mời bạn để lại bình luận hoặc có thể liên hệ với chúng tôi. Xin chân thành cảm ơn bạn đã quan tâm!

Video liên quan

Chủ Đề