Nhiều năm qua, tấn công từ chối dịch vụ phân tán (DDoS) là cách rất đáng tin cậy để đảm bảo dịch vụ được lưu trữ (như trang web hoặc dịch vụ như PlayStation Network) không thấy ánh sáng ít nhất một thời gian.
Sức mạnh của các cuộc tấn công này khiến mọi người tò mò về cơ chế đằng sau, đó là lý do chúng tôi đã dành thời gian giải thích cách chúng hoạt động và thậm chí chứng minh kỹ lưỡng quy mô lớn đến đâu của một số cuộc tấn công, đến mức một cuộc tấn công có thể làm sập toàn bộ khu vực Internet cho hàng triệu người. Tuy nhiên, có rất ít thảo luận công khai về cách biện pháp đối phó (bảo vệ DDoS) hoạt động.
Vấn Đề Khi Thảo Luận Bảo Vệ DDoS
Internet là mảng mạng khổng lồ kết nối qua một khoảng trống hỗn loạn khổng lồ. Có hàng nghìn tỷ gói tin nhỏ di chuyển gần tốc độ ánh sáng khắp nơi. Để hiểu được hoạt động nội tại gây choáng ngợp và bí ẩn, Internet được chia thành các nhóm. Các nhóm này thường chia thành nhóm con, và cứ thế.
Điều này thực sự làm phức tạp thảo luận về bảo vệ DDoS. Cách máy tính cá nhân bảo vệ mình khỏi DDoS vừa giống vừa khác một chút so với cách trung tâm dữ liệu trị giá hàng triệu đô la của công ty lớn làm. Chưa kể đến nhà cung cấp dịch vụ Internet (ISP). Có nhiều cách phân loại bảo vệ DDoS ngang ngửa với số cách phân loại các mảnh khác nhau cấu thành Internet với hàng tỷ kết nối, cụm, trao đổi châu lục, và subnet.
Với tất cả nói trên, hãy thử phương pháp phẫu thuật chạm đến tất cả chi tiết liên quan và quan trọng.
Nguyên Lý Đằng Sau Bảo Vệ DDoS
Nếu bạn đọc bài này không có kiến thức rõ ràng về cách DDoS hoạt động, tôi đề nghị đọc giải thích tôi liên kết trước đó hoặc có thể hơi áp lực. Có hai điều bạn làm với gói tin đến: bạn có thể bỏ qua nó hoặc chuyển hướng nó. Bạn không thể chặn nó đến vì bạn không kiểm soát nguồn gói tin. Nó đã ở đây và phần mềm của bạn muốn biết làm gì với nó.
Đây là chân lý phổ quát chúng ta tuân theo, bao gồm ISP kết nối chúng ta với Internet. Đó là lý do tại sao nhiều tấn công thành công: vì bạn không kiểm soát hành vi nguồn, nguồn có thể gửi đủ gói tin làm quá tải kết nối của bạn.
Cách Phần Mềm Và Router (Hệ Thống Nhà) Làm
Nếu bạn chạy tường lửa trên máy tính hoặc router có tường lửa, bạn thường bị kẹt tuân theo nguyên tắc cơ bản: nếu lưu lượng DDoS bay vào, phần mềm lập danh sách IP đến với lưu lượng không hợp pháp.
Nó làm bằng cách nhận thấy khi thứ gì gửi cho bạn rác dữ liệu hoặc yêu cầu kết nối ở tần suất phi tự nhiên, như hơn 50 lần/giây. Sau đó chặn mọi giao dịch từ nguồn đó. Bằng cách chặn, máy tính không phải tốn tài nguyên thêm để diễn giải dữ liệu bên trong. Tin nhắn không đến đích. Nếu bạn bị chặn bởi tường lửa máy tính và thử kết nối, bạn nhận timeout vì bất cứ gì bạn gửi sẽ bị bỏ qua.
Đây là cách tuyệt vời bảo vệ tấn công từ chối dịch vụ đơn lẻ (DoS) từ một IP vì kẻ tấn công thấy timeout mỗi khi kiểm tra tiến độ. Với DDoS phân tán, cách này hoạt động vì tất cả dữ liệu từ IP tấn công sẽ bị bỏ qua.
Có vấn đề với sơ đồ này.
Trong thế giới Internet, không có "chặn thụ động". Bạn cần tài nguyên ngay cả khi bỏ qua gói tin đến. Nếu dùng phần mềm, điểm tấn công dừng ở máy tính nhưng vẫn đi qua router như đạn xuyên giấy. Nghĩa là router vất vả định tuyến tất cả gói tin không hợp pháp về phía bạn.
Nếu dùng tường lửa router, mọi thứ dừng ở đó. Nhưng vẫn có nghĩa router quét nguồn mỗi gói tin và lặp qua danh sách IP chặn để xem có bỏ qua hay cho qua.
Hãy tưởng tượng router phải làm điều tôi vừa nói hàng triệu lần/giây. Router có lượng xử lý hữu hạn. Khi đạt giới hạn, nó khó ưu tiên lưu lượng hợp pháp, bất kể phương pháp nâng cao nào dùng.
Để qua vấn đề khác. Giả sử bạn có router thần thánh với xử lý vô hạn, ISP vẫn cho bạn băng thông hữu hạn. Khi chạm trần băng thông, bạn sẽ khó hoàn thành tác vụ đơn giản nhất trên Web.
Vì vậy giải pháp cuối cùng cho DDoS là có xử lý vô hạn và băng thông vô hạn. Nếu ai tìm ra cách làm được, chúng ta vàng!
Cách Công Ty Lớn Xử Lý Tải Trọng
Vẻ đẹp cách công ty xử lý DDoS nằm ở sự thanh lịch: họ dùng cơ sở hạ tầng hiện có để đối phó mọi đe dọa. Thường qua bộ cân bằng tải (load balancer), mạng phân phối nội dung (CDN), hoặc kết hợp cả hai. Trang web/dịch vụ nhỏ hơn có thể outsourcing cho bên thứ ba nếu không có vốn duy trì mảng server rộng lớn.
Với CDN, nội dung trang web được sao chép đến mạng server lớn phân bố nhiều khu vực địa lý. Điều này làm trang web tải nhanh bất kể bạn ở đâu khi kết nối.
Load balancer bổ sung bằng cách phân phối lại dữ liệu và catalog nó trên các server khác nhau, ưu tiên lưu lượng theo loại server phù hợp nhất. Server băng thông thấp ổ cứng tốt xử lý lượng lớn file nhỏ. Server kết nối băng thông khổng lồ xử lý streaming file lớn. (Nghĩ đến "YouTube".)
Và Đây Là Cách Nó Hoạt Động
Thấy hướng đi chưa? Nếu tấn công đổ vào một server, load balancer theo dõi DDoS và để nó tiếp tục đánh vào server đó trong khi chuyển hướng toàn bộ lưu lượng hợp pháp sang nơi khác trên mạng. Ý tưởng: dùng mạng phi tập trung để phân bổ tài nguyên nơi cần thiết để trang web/dịch vụ tiếp tục chạy trong khi tấn công được dẫn đến "mồi nhử". Khá khéo, phải không?
Vì mạng phi tập trung, nó có lợi thế đáng kể so với tường lửa đơn giản và bảo vệ router thông thường. Vấn đề là bạn cần rất nhiều tiền để bắt đầu vận hành. Trong lúc phát triển, công ty có thể dựa vào nhà cung cấp chuyên nghiệp lớn để có bảo vệ cần thiết.
Cách "Quái Thú" Làm
Chúng ta đã thăm mạng gia đình nhỏ và dấn thân vào lãnh vực đại tập đoàn. Bây giờ là lúc bước vào giai đoạn cuối: xem cách những công ty cung cấp kết nối Internet bảo vệ mình không rơi vào vực thẳm. Sắp hơi phức tạp, nhưng tôi cố gắng ngắn gọn nhất có thể không cần luận án chảy nước miếng về các phương pháp bảo vệ DDoS.
ISP có cách riêng xử lý biến động lưu lượng. Hầu hết tấn công DDoS hầu như không đăng ký trên radar vì họ truy cập băng thông gần như vô hạn. Lưu lượng hàng ngày lúc 7-11 PM (giờ cao điểm Internet) đạt mức vượt xa băng thông từ luồng DDoS trung bình.
Tuy nhiên, vì đây là Internet, có (và thường có) dịp lưu lượng trở thành thứ lớn hơn chấm trên radar.
Các cuộc tấn công này đến với gió giật gào cố gắng làm sập hạ tầng ISP nhỏ. Khi nhà cung cấp nhăn mày, nó nhanh chóng móc vào kho công cụ khổng lồ để chống lại. Nhớ là họ có hạ tầng khổng lồ, nên có nhiều cách. Đây là những cách phổ biến nhất:
- Remotely Triggered Black Hole (RTBH) – Nghe như phim khoa học viễn tưởng, nhưng RTBH là thực tế do Cisco ghi nhận. Nhiều cách làm, tôi đưa phiên bản "nhanh và bẩn": ISP giao tiếp với mạng nguồn tấn công và yêu cầu chặn toàn bộ lưu lượng đi ra hướng về nó. Chặn lưu lượng đi ra dễ hơn chặn gói tin đến. Chắc chắn mọi thứ từ ISP mục tiêu sẽ xuất hiện offline đối với người kết nối từ nguồn tấn công, nhưng việc xong và không rắc rối. Phần còn lại lưu lượng thế giới không bị ảnh hưởng.
- Scrubbers (Bộ lọc rửa) – Một số ISP khổng lồ có trung tâm dữ liệu đầy thiết bị xử lý phân tích mẫu lưu lượng tách lưu lượng hợp pháp từ DDoS. Vì cần sức mạnh tính toán lớn và hạ tầng thiết lập, ISP nhỏ thường outsourcing việc này cho công ty khác. Lưu lượng khu vực ảnh hưởng đi qua bộ lọc, hầu hết gói DDoS bị chặn, lưu lượng hợp pháp cho qua. Đảm bảo hoạt động bình thường của ISP với chi phí sức mạnh tính toán khổng lồ.
- Một chút "voodoo" lưu lượng – Dùng phương pháp "traffic shaping" (hình dạng lưu lượng), ISP sẽ nhồi nhét mọi thứ tấn công DDoS mang theo vào IP đích trong khi để các node khác yên nghỉ. Cơ bản là ném nạn nhân ra xe buýt để cứu phần còn lại mạng. Giải pháp xấu xí và thường là cuối cùng ISP dùng khi mạng khủng hoảng, cần hành động nhanh quyết đảm bảo sự sống còn của toàn thể. Nghĩ như kịch bản "nhu cầu của nhiều người lấn át nhu cầu của vài người".
Vấn đề với DDoS là hiệu quả đi de dây với tiến bộ sức mạnh máy tính và băng thông. Để thực sự chống lại, phải dùng phương pháp sửa đổi mạng nâng cao vượt xa khả năng người dùng gia đình bình thường. Có lẽ tốt là gia đình ít khi thành mục tiêu trực tiếp của DDoS!
Thử thách, nếu bạn muốn xem tấn công xảy ra real-time, xem Digital Attack Map.
Bạn từng bị nạn tấn công kiểu này tại nhà hoặc nơi làm việc? Kể câu chuyện của bạn trong bình luận!