Memcached vốn được dùng để tăng tốc trang web, nhưng server memcached cũng có thể bị khai thác để thực hiện cuộc tấn công DDoS. Lợi ích khi sử dụng memcached là tăng tốc độ truy cập dữ liệu từ các ứng dụng web và database. Tuy nhiên nếu không được bảo vệ và quản lý đúng cách, memcached sẽ trở thành công cụ nguy hiểm của tấn công DDoS. Hãy cùng Vietnix tìm hiểu thêm về chủ đề DDoS memcached qua bài viết dưới đây.
Giới thiệu về DDoS memcached
![Tấn công DDoS memcached 4 Giới thiệu về DDoS Memcached](https://static-xf1.vietnix.vn/wp-content/uploads/2024/05/gioi-thieu-ddos-memcached.webp)
DDoS Memcached là một dạng tấn công mạng kiểu khuếch đại (amplification), theo đó lợi dụng lỗ hổng bảo mật dịch vụ Memcached làm quá tải lưu lượng truy cập mạng của mục tiêu. Đối tượng sẽ làm giả các request (yêu cầu) tới server UDP memcached, làm quá tải lưu lượng (flood attack) và tiêu hao tài nguyên của mục tiêu. Một khi cơ sở hạ tầng bị quá tải, các request mới sẽ không thể xử lý, lưu lượng truy cập hợp lệ sẽ không thể truy cập tài nguyên mạng, dẫn đến việc từ chối dịch vụ.
Cách hoạt động của tấn công memcached
Là một dạng tấn công khuếch đại giống như DNS hay NTP amplification, do đó cách hoạt động của DDoS memcached khá tương đồng, cũng không có nhiều thay đổi.
Phương thức tấn công khuếch đại này có thể thực hiện được vì các server memcached có tùy chọn hoạt động bằng giao thức UDP. UDP là một giao thức mạng cho phép gửi dữ liệu mà không cần nhận được thứ gọi là “handshake”, đây là một quy trình mạng trong đó cả hai bên đồng ý giao tiếp. UDP được sử dụng vì các server không bao giờ được hỏi ý kiến về việc có sẵn sàng nhận dữ liệu hay không, qua đó cho phép gửi một lượng lớn dữ liệu đến mục tiêu mà cần có sự đồng ý.
![Tấn công DDoS memcached 5 Cơ chế hoạt động của DDoS memcached](https://static-xf1.vietnix.vn/wp-content/uploads/2024/05/co-che-hoat-dong-cua-ddos-memcached.webp)
Các bước tiến hành tấn công DDoS Memcached có thể chia như sau:
- Thu thập địa chỉ IP của các server Memcached đang mở: Kẻ tấn công sẽ tìm kiếm các server Memcached mà họ có thể sử dụng cho cuộc tấn công. Điều này có thể thực hiện thông qua các công cụ quét mạng hoặc thông qua các danh sách công khai của các server Memcached.
- Tạo request giả mạo: Kẻ tấn công tạo ra các yêu cầu giả mạo với địa chỉ nguồn được làm giả, thường là địa chỉ IP của mục tiêu cuộc tấn công. Điều này khiến các server Memcached gửi các phản hồi lớn đến mục tiêu, tăng lưu lượng mạng.
- Gửi request giả mạo: Kẻ tấn công gửi một gói tin UDP nhỏ đến server Memcached bị tổn thương.
Gói tin này yêu cầu lấy một lượng dữ liệu lớn từ server Memcached.
Địa chỉ IP nguồn trong gói tin được giả mạo thành địa chỉ IP của nạn nhân. - Phản hồi dữ liệu lớn: Do cấu hình chưa đúng, server Memcached sẽ phản hồi bằng một lượng dữ liệu lớn (gấp hàng chục nghìn lần) đến địa chỉ IP giả mạo được ghi trong gói tin.
Lượng dữ liệu này được gửi qua giao thức UDP, không cần xác thực. - Tấn công mục tiêu: Phản hồi lớn từ các server Memcached làm cho mục tiêu bị quá tải bởi lưu lượng mạng và dễ dàng bị làm ngưng hoạt động hoặc truy cập chậm chạp.
- Duy trì tấn công: Kẻ tấn công có thể tiếp tục gửi các yêu cầu giả mạo và duy trì cuộc tấn công để tiếp tục gây ra sự gián đoạn đối với mục tiêu.
Nếu Memcached được khuếch đại sẽ như thế nào ?
Hệ số phóng đại của kiểu tấn công này thực sự đáng kinh ngạc. Trong thực tế, đã từng có hệ thống đạt hệ số khuếch đại lên tới con số khổng lồ là 51.200 lần. Điều đó có nghĩa là đối với yêu cầu 15 byte, có thể gửi phản hồi 750 kB. Điều này thể hiện yếu tố khuếch đại lớn và rủi ro bảo mật đối với các thuộc tính web không thể gánh chịu khối lượng lưu lượng tấn công này.
Việc có hệ số khuếch đại lớn như vậy cùng với các server dễ bị tấn công khiến memcached trở thành trường hợp sử dụng hàng đầu cho những kẻ tấn công muốn khởi chạy DDoS nhằm vào nhiều mục tiêu khác nhau.
Cách giảm thiểu tấn công DDoS memcached
![Tấn công DDoS memcached 6 Các giải pháp giảm thiểu tấn công DDoS memcached](https://static-xf1.vietnix.vn/wp-content/uploads/2024/05/giam-thieu-tan-cong-ddos-memcached.webp)
- Tắt UDP – Đối với các server được ghi nhớ, hãy đảm bảo tắt hỗ trợ UDP nếu bạn không cần. Theo mặc định, memcached đã bật hỗ trợ UDP, có khả năng khiến các server dễ bị tấn công.
- Firewall cho memcached server – triển khai firewall các server memcached từ Internet, quản trị viên hệ thống có thể sử dụng UDP cho memcached nếu cần thiết mà không bị lộ sơ hở.
- Ngăn chặn giả mạo IP – miễn là địa chỉ IP có thể bị giả mạo, các cuộc tấn công DDoS có thể lợi dụng lỗ hổng này để hướng lưu lượng truy cập đến mạng của nạn nhân.
- Ngăn chặn giả mạo IP là một vấn đề lớn mà bất kỳ quản trị viên hệ thống cụ thể nào cũng không thể thực hiện được và nó yêu cầu các nhà cung cấp dịch vụ chuyển tuyến không cho phép bất kỳ gói nào rời khỏi mạng của họ có địa chỉ IP nguồn có nguồn gốc bên ngoài mạng.
- Các công ty như nhà cung cấp dịch vụ internet (ISP) phải lọc lưu lượng sao cho các gói rời khỏi mạng của họ không được phép giả mạo là đến từ một mạng khác ở một nơi khác.
- Nếu tất cả các nhà cung cấp dịch vụ lớn triển khai kiểu lọc này thì các cuộc tấn công dựa trên giả mạo sẽ biến mất chỉ sau một đêm.
- Phát triển phần mềm với việc giảm phản hồi UDP: một cách khác để loại bỏ các cuộc tấn công khuếch đại là loại bỏ hệ số khuếch đại đối với bất kỳ yêu cầu gửi đến nào. Nếu dữ liệu phản hồi được gửi do request UDP nhỏ hơn hoặc bằng request ban đầu thì việc khuếch đại sẽ không thể thực hiện được nữa.
Kết luận
Hy vọng nội dung trên sẽ giúp các bạn hiểu hơn về hình thức tấn công DDoS Memcached, thông tin liên quan và các cách nhận biết có cuộc tấn công xảy ra như thế nào. Qua đó giúp bạn chủ động hơn trong việc ứng phó và giảm thiểu cuộc tấn công mạng. Đừng ngần ngại để lại bình luận bên dưới và đội ngũ admin Vietnix có thể hỗ trợ bạn sớm nhất. Ngoài ra các bạn có thể tham khảo và tìm hiểu thêm về chủ đề DDoS ở các bài viết tiếp theo của Vietnix để tích luỹ kiến thức cho chính mình.