Các cuộc tấn công từ chối dịch vụ (DDoS) phân tán gây ra một mối đe dọa bảo mật đáng kể cho các công ty và mối đe dọa này dường như đang gia tăng. Trong một nghiên cứu, kéo dài 3 tuần vào năm 2001, các nhà điều tra đã quan sát thấy hơn 12.000 cuộc tấn công nhằm vào hơn 5000 mục tiêu khác nhau, từ các công ty thương mại điện tử nổi tiếng như Amazon và Hotmail đến các ISP nước ngoài nhỏ và các kết nối quay số.
Các cuộc tấn công DDoS làm cho hệ thống máy tính không thể truy cập được bằng cách làm ngập các máy chủ, mạng hoặc thậm chí hệ thống người dùng cuối với lưu lượng truy cập vô ích khiến người dùng hợp pháp không còn có quyền truy cập vào các tài nguyên đó.
Các bài viết liên quan:
Trong một cuộc tấn công DDoS điển hình, một số lượng lớn các máy chủ bị xâm nhập được tích lũy để gửi các gói tin vô dụng. Trong những năm gần đây, các phương thức và công cụ tấn công ngày càng tinh vi, hiệu quả và khó lần ra kẻ tấn công thực sự hơn, trong khi các công nghệ phòng thủ không thể chống lại các cuộc tấn công quy mô lớn.
Tấn công từ chối dịch vụ (DoS) là một nỗ lực ngăn cản người dùng hợp pháp của một dịch vụ sử dụng dịch vụ đó. Khi cuộc tấn công này đến từ một máy chủ hoặc một nút mạng, thì nó đơn giản được gọi là một cuộc tấn công DoS. Một mối đe dọa nghiêm trọng hơn được đặt ra bởi một cuộc tấn công DDoS. Trong một cuộc tấn công DDoS, kẻ tấn công có thể tuyển dụng một số máy chủ trên toàn mạng Internet để thực hiện một cuộc tấn công đồng thời hoặc phối hợp nhằm vào mục tiêu. Phần này liên quan đến các cuộc tấn công DDoS. Đầu tiên, chúng ta xem xét bản chất và các kiểu tấn công. Tiếp theo, chúng tôi kiểm tra các phương tiện mà kẻ tấn công có thể tuyển dụng một mạng máy chủ để khởi động cuộc tấn công. Cuối cùng, phần này xem xét các biện pháp đối phó.
Xem thêm Các loại tấn công mạng
Tổng quan về Dos và DDoS Attack
MỘT Tấn công Dos/DDoS cố gắng tiêu thụ tài nguyên của mục tiêu để nó không thể cung cấp dịch vụ. Một cách để phân loại các cuộc tấn công DDoS là dựa trên loại tài nguyên được sử dụng. Nói một cách khái quát, tài nguyên được tiêu thụ là tài nguyên máy chủ nội bộ trên hệ thống đích hoặc dung lượng truyền dữ liệu trong mạng cục bộ mà mục tiêu bị tấn công.
Dos (Denial of Service) và DDoS (Distributed Denial of Service) Attacks là hai loại tấn công mạng nhằm vào hạ tầng và dịch vụ của một trang web hoặc mạng, nhằm làm cho dịch vụ trở nên không khả dụng cho người dùng bình thường. Dưới đây là một tổng quan về cả hai loại tấn công:
- DoS (Denial of Service) Attack:
- Định nghĩa: Tấn công Denial of Service là một loại tấn công mạng mà kẻ tấn công cố gắng làm cho một dịch vụ hoặc tài nguyên trở nên không khả dụng bằng cách làm cho máy chủ hoặc hệ thống trở nên quá tải hoặc bị treo.
- Cách thực hiện: Kẻ tấn công thường tập trung gửi một lượng lớn yêu cầu hoặc dữ liệu không hợp lệ đến máy chủ hoặc dịch vụ cụ thể, gây ra quá tải và làm cho dịch vụ ngừng hoạt động.
- Kết quả: DoS tấn công có thể làm cho trang web hoặc dịch vụ trở nên không khả dụng trong một khoảng thời gian, gây thiệt hại về uy tín và hoạt động kinh doanh.
- DDoS (Distributed Denial of Service) Attack:
- Định nghĩa: Tấn công DDoS là một phiên bản nâng cao của tấn công DoS, trong đó kẻ tấn công sử dụng nhiều hệ thống và thiết bị từ nhiều nguồn khác nhau để thực hiện tấn công. Mục tiêu của DDoS tấn công là cùng một dịch vụ hoặc tài nguyên.
- Cách thực hiện: Kẻ tấn công sử dụng một mạng lưới các thiết bị đã bị xâm nhập hoặc quản lý từ xa để gửi yêu cầu không hợp lệ đến mục tiêu, tạo ra một lượng lớn yêu cầu và dữ liệu, làm quá tải hệ thống.
- Kết quả: DDoS tấn công có thể làm cho dịch vụ trở nên không khả dụng và gây ra hậu quả nghiêm trọng như thiệt hại tài chính, mất uy tín và mất khách hàng.
Một ví dụ đơn giản về cuộc tấn công tài nguyên nội bộ là cuộc tấn công SYN Flood.
Hình dưới cho thấy các bước liên quan:
- Kẻ tấn công chiếm quyền kiểm soát nhiều máy chủ trên Internet, hướng dẫn họ liên hệ với máy chủ Web mục tiêu.
- Các máy chủ phụ bắt đầu gửi các gói TCP / IP SYN (đồng bộ hóa / khởi tạo), với thông tin địa chỉ IP trả về không chính xác, đến mục tiêu.
- Mỗi gói SYN là một yêu cầu để mở một kết nối TCP. Đối với mỗi gói như vậy, máy chủ Web phản hồi bằng gói SYN / ACK (đồng bộ hóa / xác nhận), cố gắng thiết lập kết nối TCP với một thực thể TCP tại một địa chỉ IP chính xác. Máy chủ Web duy trì cấu trúc dữ liệu cho mỗi yêu cầu SYN chờ phản hồi lại và trở nên sa lầy khi có nhiều lưu lượng truy cập hơn. Kết quả là các kết nối hợp pháp bị từ chối trong khi máy nạn nhân đang chờ hoàn thành các kết nối không có thật.
Cấu trúc dữ liệu trạng thái TCP là một mục tiêu tài nguyên nội bộ phổ biến nhưng không phải là mục tiêu duy nhất với ví dụ sau:
- Trong nhiều hệ thống, một số cấu trúc dữ liệu giới hạn có sẵn để lưu giữ thông tin quy trình (số nhận dạng quy trình, mục nhập bảng quy trình, vị trí quy trình, v.v.). Kẻ xâm nhập có thể tiêu thụ các cấu trúc dữ liệu này bằng cách viết một chương trình hoặc tập lệnh đơn giản không làm gì khác ngoài việc tạo ra nhiều lần các bản sao của chính nó.
- Kẻ xâm nhập cũng có thể cố gắng tiêu thụ dung lượng đĩa theo những cách khác, bao gồm
- tạo ra quá nhiều thư
- cố tình tạo ra các lỗi phải được ghi lại
- đặt tệp trong các khu vực ftp ẩn danh hoặc các khu vực được chia sẻ trên mạng
Hình 21.9b minh họa một ví dụ về một cuộc tấn công tiêu thụ tài nguyên truyền dữ liệu. Các bước sau có liên quan:
- Kẻ tấn công chiếm quyền kiểm soát nhiều máy chủ qua Internet, hướng dẫn họ gửi gói ICMP ECHO3 với địa chỉ IP giả mạo của mục tiêu đến một nhóm máy chủ hoạt động như phản xạ, như được mô tả sau đó.
- Các nút tại trang web bị trả lại nhận được nhiều yêu cầu giả mạo và phản hồi bằng cách gửi các gói phản hồi tiếng vọng đến trang web đích.
- Bộ định tuyến của mục tiêu tràn ngập các gói tin từ trang bị trả lại, không để lại dung lượng truyền dữ liệu cho lưu lượng truy cập hợp pháp.
Một cách khác để phân loại các cuộc tấn công DDoS là các cuộc tấn công DDoS trực tiếp hoặc phản ánh. Trong một cuộc tấn công DDoS trực tiếp, kẻ tấn công có thể cấy phần mềm zombie vào một số trang web được phân phối trên Internet. Thông thường, cuộc tấn công DDoS liên quan đến hai cấp độ của máy thây ma: thây ma chính và thây ma nô lệ. Máy chủ của cả hai máy đều đã bị nhiễm mã độc. Kẻ tấn công điều phối và kích hoạt các thây ma chính, từ đó điều phối và kích hoạt các thây ma nô lệ.
Một cuộc tấn công DDoS phản xạ thêm một lớp máy khác. Trong kiểu tấn công này, các thây ma nô lệ xây dựng các gói yêu cầu phản hồi có chứa địa chỉ IP của mục tiêu là địa chỉ IP nguồn trong tiêu đề IP của gói. Các gói tin này được gửi đến các máy không bị nhiễm được gọi là máy phản xạ. Các máy không bị nhiễm sẽ phản hồi với các gói tin hướng vào máy mục tiêu. Một cuộc tấn công DDoS phản xạ có thể dễ dàng liên quan đến nhiều máy hơn và nhiều lưu lượng truy cập hơn một cuộc tấn công DDoS trực tiếp và do đó gây thiệt hại nhiều hơn. Hơn nữa, việc truy tìm lại cuộc tấn công hoặc lọc ra các gói tấn công là khó khăn hơn vì cuộc tấn công đến từ các máy không bị lây nhiễm phân tán rộng rãi.
Xem thêm Kiểm tra lỗ hổng bảo mật Cross-Site Request Forgery (CSRF)
So sánh Dos attack và DDos attack
DoS (Denial of Service) và DDoS (Distributed Denial of Service) Attacks đều là các loại tấn công mạng nhằm vào hạ tầng và dịch vụ của một trang web hoặc mạng, nhằm làm cho dịch vụ trở nên không khả dụng cho người dùng bình thường. Dưới đây là sự so sánh giữa cả hai loại tấn công:
1. Đặc điểm chung:
- Cả DoS và DDoS Attacks đều nhằm vào mục tiêu chính là làm cho dịch vụ hoặc tài nguyên trở nên không khả dụng, gây ra tình trạng treo hoặc quá tải cho hệ thống.
2. Sự khác biệt:
- DoS (Denial of Service) Attack:
- Cách thực hiện: Tấn công DoS thường được thực hiện bằng cách gửi một lượng lớn yêu cầu hoặc dữ liệu không hợp lệ tới một máy chủ hoặc dịch vụ cụ thể.
- Nguồn tấn công: Tấn công DoS thường được thực hiện từ một nguồn duy nhất hoặc một máy chủ duy nhất.
- Tính nhất quán: Các yêu cầu tấn công đều được gửi từ một nguồn duy nhất và không phải là một hệ thống phân tán.
- DDoS (Distributed Denial of Service) Attack:
- Cách thực hiện: Tấn công DDoS sử dụng nhiều hệ thống và thiết bị từ nhiều nguồn khác nhau để gửi yêu cầu không hợp lệ.
- Nguồn tấn công: Tấn công DDoS sử dụng mạng lưới các hệ thống đã bị xâm nhập hoặc quản lý từ xa để thực hiện tấn công từ nhiều nguồn khác nhau.
- Tính nhất quán: Các yêu cầu tấn công đến từ nhiều nguồn khác nhau, tạo nên một tấn công phân tán.
3. Độ nguy hiểm:
- DoS Attack: Một tấn công DoS có thể gây ra sự không khả dụng của dịch vụ trong một khoảng thời gian ngắn. Tuy nhiên, tác động thường không mạnh mẽ như DDoS và thường dễ dàng phát hiện và ứng phó.
- DDoS Attack: Tấn công DDoS có khả năng gây ra tác động mạnh hơn với lượng yêu cầu lớn đến từ nhiều nguồn khác nhau. Điều này có thể tạo ra tình trạng không khả dụng kéo dài và khó khăn trong việc xác định nguồn tấn công.
4. Phòng ngừa và ứng phó:
- DoS Attack: Việc ngăn chặn tấn công DoS thường dựa vào việc xác định nguồn tấn công và chặn lưu lượng đến từ nguồn đó.
- DDoS Attack: Phòng ngừa DDoS thường phức tạp hơn, bao gồm sử dụng các dịch vụ bảo vệ chống DDoS, cải thiện khả năng mở rộng hạ tầng và sử dụng các biện pháp định dạng lưu lượng để ngăn chặn lưu lượng không hợp lệ.
Tóm lại, DoS và DDoS Attacks có những điểm tương đồng và khác biệt quan trọng. Để bảo vệ hạ tầng và dịch vụ của bạn khỏi những tấn công này, cần thực hiện các biện pháp phòng ngừa và ứng phó thích hợp.
Xem thêm Giao thức Mạng trong TCP/IP
Một số loại tấn công Dos/DDos
Dưới đây là một số chi tiết về cách hoạt động, cách nhận biết và cách phòng ngừa cho một số loại tấn công DoS và DDoS phổ biến:
- Tấn công SYN Flood (DoS/ DDoS):
Hoạt động: Tấn công SYN Flood tập trung vào việc gửi nhiều yêu cầu khởi tạo kết nối (SYN) tới máy chủ mục tiêu mà không hoàn tất việc thiết lập kết nối. Máy chủ sẽ tiếp tục chờ đợi mở kết nối, làm cho nguồn tài nguyên bị tiêu hao và dẫn đến tình trạng quá tải.
Nhận biết: Tăng đột ngột lượng yêu cầu SYN đến máy chủ, dẫn đến tăng khả năng sử dụng CPU và bộ nhớ.
Phòng ngừa:
- Sử dụng cấu hình tường lửa và IDS/IPS để phát hiện và ngăn chặn yêu cầu SYN bất thường.
- Kích hoạt chế độ SYN Cookies để giảm nguy cơ tấn công SYN Flood.
- Tấn công ICMP Flood (DoS/ DDoS):
Hoạt động: Tấn công ICMP Flood liên quan đến việc gửi một số lượng lớn yêu cầu ICMP Echo Request tới mục tiêu, khiến nó phải gửi các phản hồi ICMP Echo Reply. Điều này tiêu tốn tài nguyên mạng và máy chủ.
Nhận biết: Tăng đột ngột lượng yêu cầu ICMP đến máy chủ, dẫn đến tăng khả năng sử dụng CPU và băng thông mạng.
Phòng ngừa:
- Sử dụng tường lửa để chặn yêu cầu ICMP không hợp lệ.
- Sử dụng bộ lọc để hạn chế số lượng yêu cầu ICMP đến từ một nguồn cụ thể.
- Tấn công DNS Flood (DDoS):
Hoạt động: Tấn công DNS Flood tạo ra lượng lớn yêu cầu DNS để quá tải máy chủ DNS. Khi máy chủ DNS không thể giải quyết được các yêu cầu, dịch vụ DNS trở nên không khả dụng.
Nhận biết: Tăng đột ngột lượng yêu cầu DNS đến máy chủ DNS, khiến nó không thể xử lý tất cả các yêu cầu.
Phòng ngừa:
- Sử dụng tường lửa để chặn yêu cầu DNS không hợp lệ hoặc yêu cầu từ các nguồn đáng ngờ.
- Sử dụng các dịch vụ bảo mật DNS và giám sát sự hoạt động của máy chủ DNS.
- Tấn công Application Layer 7 (DDoS):
Hoạt động: Tấn công này tập trung vào việc gửi nhiều yêu cầu phức tạp đến tầng ứng dụng của máy chủ mục tiêu, tạo ra tình trạng quá tải tại mức ứng dụng.
Nhận biết: Tăng đột ngột lượng yêu cầu ứng dụng đến máy chủ, dẫn đến tăng khả năng sử dụng CPU và tài nguyên ứng dụng.
Phòng ngừa:
- Sử dụng tường lửa ứng dụng (WAF) để ngăn chặn các yêu cầu không hợp lệ.
- Tối ưu hóa ứng dụng để xử lý hiệu quả các yêu cầu tới.
- Tấn công DNS Amplification (DDoS):
Hoạt động: Tấn công này sử dụng các máy chủ DNS mở để tạo ra lượng lớn yêu cầu DNS với kích thước nhỏ đến máy chủ mục tiêu. Các máy chủ DNS mở sẽ gửi các phản hồi lớn hơn, gây tình trạng quá tải tại máy chủ mục tiêu.
Nhận biết: Lượng yêu cầu DNS lớn gửi đến máy chủ mục tiêu, kích thước phản hồi lớn hơn bình thường.
Phòng ngừa:
- Tắt hoặc cấu hình chặn các máy chủ DNS mở.
- Thực hiện giám sát và giới hạn lưu lượng yêu cầu DNS.
- Tấn công UDP Flood (DoS/ DDoS):
Hoạt động: Tấn công UDP Flood tập trung vào việc gửi nhiều gói tin UDP (User Datagram Protocol) tới máy chủ mục tiêu, tạo ra tình trạng quá tải bởi vì UDP không cần thiết lập kết nối như TCP.
Nhận biết: Tăng đột ngột lượng gói tin UDP đến máy chủ, dẫn đến tình trạng quá tải tại tầng mạng.
Phòng ngừa:
- Sử dụng tường lửa để chặn lưu lượng UDP không hợp lệ.
- Cấu hình giới hạn lưu lượng UDP tới từng nguồn.
- Tấn công Slowloris (DoS):
Hoạt động: Tấn công Slowloris sử dụng việc gửi nhiều yêu cầu HTTP khởi tạo kết nối tới máy chủ mục tiêu, nhưng không hoàn tất việc gửi dữ liệu. Điều này làm cho máy chủ chờ đợi mãi mà không giải phóng tài nguyên.
Nhận biết: Máy chủ chưa hoàn thành việc xử lý yêu cầu HTTP và giữ kết nối mở trong thời gian dài.
Phòng ngừa:
- Cập nhật máy chủ web để giảm nguy cơ bị tấn công Slowloris.
- Sử dụng cấu hình tường lửa để giới hạn số lượng kết nối từ một nguồn cụ thể.
- Tấn công Amplification (DDoS):
Hoạt động: Tấn công này tập trung vào việc sử dụng các máy chủ bị lợi dụng (ví dụ: máy chủ DNS) để tạo ra lượng lớn dữ liệu phản hồi tới mục tiêu, gây quá tải băng thông.
Nhận biết: Lượng dữ liệu phản hồi từ các máy chủ bị lợi dụng đáng kể lớn hơn lượng yêu cầu gửi đi.
Phòng ngừa:
- Cấu hình chặn hoặc tắt các máy chủ bị lợi dụng.
- Sử dụng bộ lọc để hạn chế lưu lượng dữ liệu phản hồi từ các nguồn không cần thiết.
Xem thêm Cyber attack
Cách nhận biết một cuộc tấn công Dos/ DDos
Nhận biết một cuộc tấn công DoS (Denial of Service) hoặc DDoS (Distributed Denial of Service) là rất quan trọng để có thể phản ứng kịp thời và đưa ra biện pháp phòng ngừa. Dưới đây là một số dấu hiệu cho thấy bạn đang bị tấn công DoS hoặc DDoS:
1. Sự giảm tốc độ hoạt động của mạng hoặc dịch vụ:
- Nếu bạn thấy mạng hoặc dịch vụ trở nên chậm chạp, không thể truy cập, hoặc đáp ứng rất chậm, có thể đang bị tấn công DoS/ DDoS.
2. Sự tăng về lưu lượng truy cập:
- Nếu bạn thấy tăng đột ngột về lưu lượng truy cập đến máy chủ hoặc dịch vụ của bạn, đặc biệt từ các nguồn không phải là người dùng thực sự, có thể là dấu hiệu của tấn công DDoS.
3. Sự tăng về yêu cầu không hợp lệ hoặc tấn công từ một số nguồn:
- Nếu bạn thấy nhiều yêu cầu không hợp lệ được gửi đến máy chủ của bạn từ một số địa chỉ IP hoặc nguồn không rõ nguồn gốc, có thể đó là dấu hiệu của tấn công.
4. Khả năng truy cập vào máy chủ bị giới hạn:
- Nếu bạn không thể truy cập vào máy chủ hoặc dịch vụ của mình nhưng vẫn có thể truy cập các trang web khác, có thể máy chủ của bạn đang bị tấn công DoS/ DDoS.
5. Tăng đột ngột về tài nguyên hệ thống sử dụng:
- Nếu bạn thấy tài nguyên hệ thống như CPU, băng thông mạng, bộ nhớ tăng cao đột ngột mà không có nguyên nhân rõ ràng, có thể đang bị tấn công.
6. Dấu hiệu từ logs hệ thống:
- Kiểm tra logs hệ thống để xem xem có sự tăng đột ngột về lưu lượng truy cập, yêu cầu không hợp lệ hoặc các thông báo lỗi không thường xuyên.
7. Đối tượng bị tấn công:
- Xác định xem máy chủ, dịch vụ nào đang bị tấn công. Điều này có thể giúp bạn xác định xem có phải là tấn công DoS/ DDoS hay không.
Nếu bạn nhận thấy những dấu hiệu trên, bạn nên thực hiện các biện pháp như tăng cường bảo mật, sử dụng tường lửa, bộ lọc, giới hạn kết nối, và thậm chí tìm đến các dịch vụ chuyên nghiệp để giúp bạn giải quyết vấn đề và phòng ngừa tấn công.
Xem thêm Replay attack là gì?
Cách phòng chống cuộc tấn công DDoS
Phòng ngừa cuộc tấn công DDoS (Distributed Denial of Service) đòi hỏi sự kết hợp của nhiều biện pháp bảo mật để giảm thiểu tác động của tấn công và duy trì hoạt động của hệ thống. Dưới đây là một số cách phòng chống tấn công DDoS:
- Sử dụng Dịch vụ Bảo mật DDoS:
- Hãy xem xét sử dụng dịch vụ chuyên nghiệp của các nhà cung cấp bảo mật DDoS, như Cloudflare, Akamai, hoặc Incapsula. Các dịch vụ này có khả năng lọc và chuyển hướng lưu lượng tấn công, giúp hệ thống của bạn duy trì hoạt động.
- Cân bằng tải (Load Balancing):
- Sử dụng cân bằng tải giữa nhiều máy chủ để phân tán lưu lượng truy cập và tránh tập trung lưu lượng đến một máy chủ duy nhất.
- Giới hạn kết nối:
- Thiết lập giới hạn kết nối từ một địa chỉ IP cụ thể, giúp ngăn chặn việc tạo nhiều kết nối cùng lúc từ một nguồn gốc.
- Thiết lập Firewall:
- Sử dụng tường lửa để chặn các loại yêu cầu đáng ngờ hoặc không hợp lệ, như ICMP hoặc SYN flood.
- Sử dụng CDN (Content Delivery Network):
- CDN giúp phân tán lưu lượng truy cập từ nhiều vị trí khác nhau, giảm áp lực cho máy chủ chính.
- Giám sát lưu lượng mạng:
- Theo dõi lưu lượng mạng và dấu hiệu tăng đột ngột. Nếu phát hiện tấn công, bạn có thể đưa ra biện pháp phòng ngừa kịp thời.
- Thiết lập bộ lọc yêu cầu:
- Xác định loại yêu cầu gây ra sự tập trung lưu lượng và thiết lập các bộ lọc để chặn hoặc giới hạn chúng.
- Sử dụng Captcha và CAPTCHA giả:
- Sử dụng CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) để yêu cầu người dùng xác minh bằng cách nhập mã. Các biện pháp CAPTCHA giả cũng có thể làm cho các bot khó thực hiện.
- Sử dụng ghi log hợp lý:
- Ghi log đầy đủ và hợp lý giúp bạn theo dõi các hoạt động khả nghi và phân tích sau tấn công để tìm hiểu nguyên nhân và cách cải thiện.
- Cập nhật và bảo mật hệ thống:
- Đảm bảo hệ thống và phần mềm luôn được cập nhật bản vá mới nhất để ngăn chặn các lỗ hổng bảo mật.
Xem thêm Mã độc trên Android mobile