Khai thác Memcached DDoS và cách phòng chống

March 12, 2018 | vietsunshine

1. Tấn công Memcached là gì?

Mới đây, các chuyên gia đã phát hiện ra một nhóm hacker đã thực hiện một phương thức tấn công mới có khả năng khuếch đại tấn công DDos lên tới 51,000 lần so với kích thước ban đầu và đây được xem là phương thức tấn công khuếch đại đạt được hiệu quả lớn nhất trong lịch sử.

Phương thức tấn công lần này lợi dụng lỗ hổng memcached- một hệ thống lưu trữ bản sao các đối tượng (objects) và dữ liệu được truy cập nhiều lần để tăng tốc độc truy xuất. Nó thường được sử dụng để tối ưu hóa việc tải dữ liệu từ cơ sở dữ liệu cho các ứng dụng trên nền web.

Các chuyên gia bảo mật lo lắng rằng, trong thời gian tới, hacker sẽ liên tục sử dụng kỹ thuật tấn công này để tấn công lên các trang web và cơ sở hạ tầng internet. Và trong tuần vừa qua, nhóm tin tặc này đã bắt đầu triển khai một cuộc tấn công với khối lượng 500 gigabit/s đến từ port UDP 11211.

Ý tưởng chung đằng sau tất cả các cuộc tấn công khuếch đại là như nhau. Hacker sẽ giả mạo IP mục tiêu và gửi yêu cầu giả mạo đến một máy chủ UDP dễ bị tấn công. Máy chủ UDP không nhận biết được yêu cầu giả mạo và sẽ ngay lập tức gửi trả lại một lượng lớn dữ liệu không mong muốn đến mục tiêu.

Các cuộc tấn công khuếch đại thường có hiệu quả và gây ra tổn hại lớn, bởi vì các gói tin trả lời thường là lớn hơn nhiều so với các gói yêu cầu.

Các chuyên gia tại Cloudflare CDN cho biết cuộc tấn công này xuất phát từ gần 6000 máy chủ memcached được tìm thấy trên internet. Tuy nhiên, họ cũng cho biết rằng trên thế giới có hơn 88,000 máy chủ tương tự và tiềm lực tấn công của phương thức này còn lớn hơn rất nhiều so với cuộc tấn công vừa ghi nhận được.

Johnathan Azaria, chuyên gia nghiên cứu bảo mật dịch vụ phòng chống tấn công DDoS của Imperva ước tính độ phóng đại là 9000 lần cho memcached và 557 lần cho NTP. Ngoài ra, ước tính số lượng các máy chủ memcached có sẵn trên internet chạy cổng 11211 là 93,000 máy chủ. Mặc dù đã sử dụng các số liệu khác nhau, nhưng con số về máy chủ memcached và tiềm lực của cuộc tấn công vẫn lớn chưa từng thấy.

2. Giải pháp để xử lý hình thức tấn công mới này (theo các chuyên gia Cloudflare)

Để ngăn chặn các cuộc tấn công qua hình thức này. Dưới đây là danh sách những điều mà bạn cần làm.

Đối với người dùng Memcached

Nếu bạn đang sử dụng memcached, vui lòng tắt hỗ trợ UDP nếu bạn không sử dụng nó. Trên memcached startup bạn có thể chỉ định –listen 127.0.0.1 để lắng nghe trên localhost và -U 0 để vô hiệu hóa UDP hoàn toàn. Bởi theo mặc định, memcached lắng nghe trên INADDR_ANY và chạy nếu giao thức UDP được mở.

Bạn có thể tham khảo thêm tài liệu tại link: https://github.com/memcached/memcached/wiki/ConfiguringServer#udp

Bạn có thể dễ dàng kiểm tra xem máy chủ của bạn có bị lỗi hay không bằng cách chạy câu lệnh sau:

$ echo -en “\x00\x00\x00\x00\x00\x01\x00\x00stats\r\n” | nc -q1 -u 127.0.0.1 11211

Nếu kết quả trả về như hình bên dưới thì máy chủ của bạn bị lỗi ngược lại nếu không có kết quả nào trả về thì có nghĩa là máy chủ của bạn an toàn.

Đối với Quản trị hệ thống

Cài đặt tường lửa cho các máy chủ của bạn chặn hết các kết nối từ internet đến port 11211.  Để kiểm tra xem chúng có thể được truy cập bằng cách sử dụng giao thức UDP hay không,  các bạn nên sử dụng câu lệnh “echo” để kiểm tra như bên trên. Hoặc để kiểm tra trạng thái của port 11211 trên server của bạn bằng câu lệnh nmap sau:

$ nmap TARGET -p 11211 -sU -sS –script memcached-info
Starting Nmap 7.30 ( https://nmap.org ) at 2018-02-27 12:44 UTC
Nmap scan report for xxxx
Host is up (0.011s latency).
PORT      STATE         SERVICE
11211/tcp open          memcache
| memcached-info:
|   Process ID           21357
|   Uptime               41557524 seconds
|   Server time          2018-02-27T12:44:12
|   Architecture         64 bit
|   Used CPU (user)      36235.480390
|   Used CPU (system)    285883.194512
|   Current connections  11
|   Total connections    107986559
|   Maximum connections  1024
|   TCP Port             11211
|   UDP Port             11211
|_  Authentication       no
11211/udp open|filtered memcache

Đối với nhà phát triển web

Vui lòng ngừng sử dụng giao thức UDP. Nếu bạn bắt buộc phải sử dụng UDP thì không kích hoạt nó theo mặc định.
Nếu bạn sử dụng UDP, bạn phải luôn đáp ứng với đúng kích thước gói nhỏ hơn theo yêu cầu. Nếu không, giao thức của bạn sẽ bị lạm dụng để tấn công. Chúng tôi khuyên các bạn nên cài đặt và sử dụng Firewall. và nhớ rằng không nên sử dụng một giao thức dựa trên giao thức UDP mà chưa được xác minh và chứng thực.

3. Mã tấn công DDoS Memcached đã được public

Mã tấn công DDOS bằng cách sử dụng máy chủ bị lỗi Memcached đã được công bố trong tuần này, cùng với danh sách hơn 17.000 địa chỉ ip máy chủ bị lỗi memcached.

 PoC #1

Đầu tiên là một script được viết bằng ngôn ngữ python tên là Memchacrashed.py lấy thông tin từ các ip bị lỗi memcached từ shodan và cho phép người dùng khởi động một cuộc tấn công DDOS đánh sập một mục tiêu nào đó chỉ trong một vài giây khi chạy công cụ này.
Hình ảnh cuộc tấn công khi sử dụng công cụ Memchacrashed.py

 

PoC #2

Mã tấn công thứ 2 đã được phát hành trên Pastebin vào thứ hai. Tác giả không rõ và được việt bằng ngôn ngữ C.

Kho chứa trên Pastebin này cũng đi kèm với danh sách của hơn 17.000 địa chỉ ip của các máy chủ bị lỗi memcached. Mã code C sẽ khởi động một cuộc tấn công DDOS bằng cách sử dụng các danh sách ip này để phân phối và khuếch đại lưu lượng tấn công tới mục tiêu của cuộc tấn công DDOS.

Public mã tấn công không phải là một bất ngờ

Các cuộc tấn công DDOS dựa vào Memcached đã thu hút sự chú ý của công chúng vào tuần trước khi Cloudflare báo cáo họ đã chứng kiến những cuộc tấn công như vậy trong thực tế. Báo cáo của Cloudflare đã thu hút rất nhiều sự quan tâm của giới truyền thông vì các máy chủ memcached sẽ khuyếch đại các gói tin UDP có thể đến 51.200 lần, cho phép một kẻ tấn công với một băng thông nhỏ  cũng có thể tạo ra một cuộc tấn công ddos khổng lồ.
Trong tuần trước, bản ghi DDOS đã bị phá vỡ hai lần do các cuộc tấn công DDOS dựa vào memcached. Github bị tấn công 1,3 Tbps vào tuần trước, và một nhà cung cấp dịch vụ không tên của mỹ đã bị tấn công 1,7 Tbps trong tuần này.
Hầu hết các chuyên gia mong đợi mã tấn công sẽ được phát hành vì vậy tin tức này sẽ không làm ngạc nhiên bất kỳ người hâm mộ an toàn thông tin nào. Các mã tấn công được công bố sẽ chỉ làm cho những người có kiến thức không chuyên sâu cũng có thể dễ dàng khởi tạo cuộc tấn công của riêng họ.
Daniel Smith, nhà nghiên cứu an ninh mạng của công ty Radware của mỹ cho biết. “Anh ta đặt cược dịch vụ tấn công từ DDos dựa trên lỗi memcached sẽ public trong tuần tới bởi các nhóm chuyên tấn công DDOS”

Hầu hết các chủ sở hữu Memcached server không quan tâm

Cách duy nhất để sửa lỗi này là cập nhật bản vá lỗi để khắc phục sự thực hiện giao thức UDP và loại bỏ yếu tố khuếch đại tấn công DDOS.
Nhưng việc áp dụng các bản cập nhật này có thể mất một thời gian. Trong thời gian chờ đợi, một số nhà nghiên cứu bảo mật đang chiến đấu với một trận chiến khó khăn với máy chủ của memcached.

VietSunshine là nhà phân phối chính thức của 2 thương hiệu chống DDoS hàng đầu thế giới là CitrixRadware. Vui lòng liên hệ để được tư vấn và hỗ trợ.

  • Website: www.vietsunshine.com.vn
  • Email: info@vietsunshine.com.vn
  • Fanpage: https://www.facebook.com/VietSunshineVietNam/
Tags: , ,