Proof of Works (Bằng chứng vDDoS hoạt động) - Nhật ký chống DDOS

343 views
Skip to first unread message

Vo Duy dot Com

<voduydotcom@gmail.com>
unread,
May 5, 2022, 12:45:23 AM5/5/22
to [hoidap.voduy.com] Forum Support: Domain, Hosting, VPS, Server...
  • Proof vDDoS Work and help Owners fight DDoS
  • Nhật ký chống DDOS (Làm bằng chứng chứng minh vDDoS hoạt động - có tác dụng AntiDDoS)
Proof-of-Works -vDDoS-Proxy-Protection.png

Đầu tiên bạn cần hiểu sơ về phương pháp chống DDOS của vDDoS Proxy Protection, vDDoS chống DDoS cho website của bạn chủ yếu ở Layer 7, nó tạo ra một màn mỏng nhỏ nhằm xác thực độ an toàn của kết nối trước khi kết nối được đưa đến Webserver ở phía sau như Apache, Nginx, Litespeed... Việc tạo ra màn bảo vệ này là nhờ module Testcookie của Kyprizell.

Đồng ý là dựa trên module Testcookie nhưng Testcookie là cung cấp cái core cho mọi người tùy biến, quan trọng là cái rule áp vào qua cái tầm nhìn của bạn nữa. Ví dụ như tất cả các SysAdmin đều sử dụng Iptables làm tường lửa nhưng rule là của mỗi ông mỗi styles khác nhau. vDDoS của mình sử dụng một số rule mà chỉ riêng mình biết và tự thiết kế dựa trên kinh nghiệm phòng chống DDOS của mình nhằm làm khó attacker, đâu phải ai cũng dùng rule y chang nhau mà hiệu quả sẽ ngang nhau.

Do mình thấy đa phần các mem thích dùng mode thử thách Javascript giống mode 5s check Javascript "Under Attack" của CloudFlare nên mình sẽ chủ yếu giải thích về mode thử thách Javascript. Mode thử thách Challenges Javascript:


vDDoS-HTTP-S-DDoS-Protection-Reverse-Proxy1.png



Khi Client truy vấn đến Server, ví dụ "/index.php" Server sẽ không đáp trả yêu cầu của Client mà nó sẽ yêu cầu Client Add 1 cookie để lấy tài nguyên "/index.php"

  • Nếu đơn giản vậy thì Attacker cũng có thể fake điều đó, mỗi khi tấn công hắn sẽ add sẳn 1 cookie vào để tấn công vào tài nguyên "/index.php"

OK, Vậy thì cookie mỗi lần truy vấn sẽ mỗi khác, mà mỗi lần truy vấn cookie muốn biết được nội dung cookie, Client phải lấy đề toán Server giao và tự tính toán ra bằng Javascript. Kết quả của đề toán chính là nội dung cookie để add vào trình duyệt mà lấy tài nguyên "/index.php"

  • Vậy Client lấy cookie đã tính toán xong bằng trình duyệt thật sau đó add vào botnet và đánh

Do đó, kết quả bài toán cần phải khác nhau dựa trên IP của mỗi Client giải đề toán, và do đó IP của đề toán cần được lồng ghép vào bên trong đề toán của Server, khiến cho mỗi IP chỉ giải 1 đề toán mà lấy được cookie chỉ có giá trị với của IP chính mình.

Bài toán sẽ là: javascript("IP của Client" + x + y + ...) = "Nội dung Cookie"

Vậy nên nếu 1 Client mà không có khả năng giải javascript(), ví dụ các công cụ truy vấn gây lụt Flood, SYN, Benchmark... thì nó không thể hiểu bài toán mà lấy được Cookie cần thiết cho IP của nó.
Nếu Client đó tính ra được Cookie cho nó thì cũng chỉ có giá trị cho IP của nó, khi add vào 1 Botnet nó lại không sử dụng được.

  • Vậy Client tính toán trước Cookie tại 1 máy có Javascript sau đó dùng nó để truy vấn ở công cụ Attack?

Server đặt mục tiêu sẽ nhảy biến thiên x và y mỗi truy vấn của 1 IP do đó không thể tính toán trước được kết quả Cookie của một IP.

Có thể đặt crontab sau 20 phút chẳng hạn, tạo một biến thiên khác khiến tất cả các cookie đều trở nên sai lệch buộc phải tính toán lại cookie toàn Server, lúc ấy Attacker lại phải ngồi tính toán lại từ đầu, sau đó add vào từng con botnet cho đúng "Cookie + IP".

Đó là trình bày giản đơn về thử thách Challenges Javascript. Với thử thách Captcha cũng sẽ tương tự, chỉ thay phần javascript("IP của Client" + x + y + ...) = "Nội dung Cookie" trở thành bài toán từ Google Recaptcha và hoàn thành thử thách đó Ip của Client sẽ được Google ghi nhận Pass hoặc NOTPass, Server sẽ chỉ cần kiểm tra kết quả đó ở Google qua API.

Kết thúc giải thích, phải nắm được một chút các giải thích trên bạn mới có thể hiểu được những Case DDoS mà mình đề cập phía sau.


Vo Duy dot Com

<voduydotcom@gmail.com>
unread,
May 5, 2022, 1:33:32 AM5/5/22
to [hoidap.voduy.com] Forum Support: Domain, Hosting, VPS, Server...

Vo Duy dot Com

<voduydotcom@gmail.com>
unread,
May 5, 2022, 1:36:27 AM5/5/22
to [hoidap.voduy.com] Forum Support: Domain, Hosting, VPS, Server...
Môt ngày rảnh mình thử Google xem có site nào sử dụng vDDoS để bảo vệ cho họ không, khám phá ra 1 câu chuyện thú vị với thời sự hiện tại:

Screenshot 2022-05-05 120652.png



Br Miller nhà phát triển gói node-ipcnpm có một hành vi theo mình khá là mất dậy (trong tư cách là một nhà phát triển phần mềm miễn phí, opensource...) để ủng hộ Ukraina trong cuộc chiến tranh Nga-Ukraina. Cụ thể là anh chàng này chèn 1 mã độc vào phần mềm anh chàng này phát triển, nhiều người đã sử dụng, mà mã độc này sẽ tự nhiên phát hiện ra IP hoặc ngôn ngữ của mấy người sử dụng mà là tiếng Nga hay dính dáng gì đến Nga và Belarus là nó sẽ tự Format luôn tất cả dữ liệu trên máy của người ta thành hình trái tim, để thế hiện tình cảm đối với Ukraina.
Anh chàng này đã bị một nhóm bên Reddit truy lùng và trả đũa đến nỗi phải bỏ trốn, họ gọi Pizza nặc danh đến nhà anh ta, khám phá ra anh ta trả tiền tham gia 1 trang web ngoại tình trong khi đã có vợ, khiến gia đình anh này lục đục...
Toàn bộ info anh này bị public lên mấy web của thế giới ngầm hacker. Trong hình là trang doxbin.com và trang này đang đứng vững vàng giữa muôn ngàn gạch đá từ underground với bộ lọc vDDoS bảo vệ. Mình cũng chẳng biết trang này hay chủ sở hữu của nó nhưng xem ra wiki đánh giá nó cũng có nhiều thành tích bất hảo:

Screenshot 2022-05-05 121844.png



Vo Duy dot Com

<voduydotcom@gmail.com>
unread,
May 5, 2022, 1:38:01 AM5/5/22
to [hoidap.voduy.com] Forum Support: Domain, Hosting, VPS, Server...
Một vài Forum GTA bị DDOS nhiều tới mức sử dụng vDDoS


Screenshot 2022-05-05 122307.png


Screenshot 2022-05-05 122402.png



Và một vài cá nhân thảo luận cách vượt vDDoS để ăn cắp crawl nội dung các forum đó

https://bhf.la/threads/562238/
Message has been deleted

Vo Duy dot Com

<voduydotcom@gmail.com>
unread,
Oct 13, 2023, 4:45:30 AM10/13/23
to [hoidap.voduy.com] Forum Support: Domain, Hosting, VPS, Server...
Screenshot 2022-05-09 100525.png

Tôi vẫn online vài tháng 1 lần ở forum nhưng tôi thật sự không rõ tại sao đến hôm nay tôi mới xem tin nhắn này của anh ấy. Tôi nghĩ rằng nếu có đọc tin nhắn này 2 năm về trước, lúc đó tôi không chắc là đủ kinh nghiệm để giúp đỡ anh ấy trước những thứ anh ấy kể: 
"circumvent cloudflare FULLY, hcaptcha/recaptcha/captchav3 it doesn't matter", "circumvent testcookie", "$50k"Wow!


Vì vậy tôi viết bài viết này nhằm mục đích thống kê lại sự hiểu biết của tôi về lĩnh vực DDoS và AntiDDOS hiện tại (2022), hy vọng nó gợi ý cho bạn vài sự sáng tạo mới mẻ trong cuộc chiến chống DDOS cho website của bạn.

Một số khái niệm bạn cần nắm:

Full-net: có nghĩa rằng kẻ tấn công đã lấp đầy gói tin vào cổng mạng của máy chủ của bạn, ví dụ thực tế nhất là PC bạn có cổng mạng 10MB/s và bạn đang tải 10 game cùng một lúc lấp đầy hoàn toàn băng thông đó chẳng hạn, thì rõ ràng bạn không đủ băng thông để xem 1 bộ phim 4K nữa trong lúc đang tải game, bạn phải chờ tải xong game thì mới xem phim 4k được, nếu không video xem sẽ khá là chập chờn lúc được lúc mất. Tôi gọi đó là tình trạng full-net, PC hay máy chủ của bạn cũng vậy, nó không có đủ băng thông mạng để phục vụ thêm công việc trong khi CPU/RAM/IO... tài nguyên khác của máy vẫn còn trống.


Half-net: có nghĩa rằng kẻ tấn công vẫn chưa lấp đầy gói tin vào cổng mạng của máy chủ của bạn, ví dụ bạn có cổng mạng 10MB/s, và hắn chỉ chiếm 9MB/s chẳng hạn.


WAF-firewall: về cơ bản, đây là một bộ lọc giúp bạn loại bỏ những truy vấn "không đúng định dạng", "không đúng quy chuẩn".

Rate-limit: đây là cơ chế nhận diện những truy vấn quá nhiều quá nhanh so với quy định đặt trước của bạn và loại bỏ phục vụ nó.

Javascript-challenges: đây là một thử thách với trình duyệt của khách truy cập, nhằm mục đích xác minh nó có bộ xử lý javascript hay không, nếu có thì sẽ chấp nhận truy vấn vào backend (original website at webserver). Một truy vấn hoàn thành thử thách sẽ được gán một cookie để sử dụng tiếp theo sau đó, tránh phải xác minh lại lần tiếp theo.

Captcha-challenges: đây là một thử thách với trình duyệt của khách truy cập và chính khách truy cập, nhằm mục đích xác minh có con người đang điều khiển thiết bị hay không nếu có thì sẽ chấp nhận truy vấn vào backend. Một truy vấn hoàn thành thử thách sẽ được gán một cookie để sử dụng tiếp theo sau đó, tránh phải xác minh lại lần tiếp theo.

2 Challenges trên là 2 cách phổ biến khá hiệu quả mà Cloudflare cung cấp để khách hàng tự bảo vệ trang web của họ nếu bị DDOS.

Testcookie: một module cho nginx cũng có thể tạo ra 2 challenges cơ chế tương tự như trên "javascript-challenges + captcha-challenges"

Bypass Cloudflare: kẻ tấn công bằng cách nào đó có thể gửi gói tin đến backend mà có/không thông qua tất cả các challenges của Cloudflare giăng ra.

vDDoS Proxy Protection: vể cơ bản nó là nginx proxy có kèm testcookie

Vo Duy dot Com

<voduydotcom@gmail.com>
unread,
Oct 13, 2023, 4:54:32 AM10/13/23
to [hoidap.voduy.com] Forum Support: Domain, Hosting, VPS, Server...
Trường hợp của site A.com (Có sự hỗ trợ của Cloudflare)

Công việc chống DDOS nếu có sự hỗ trợ của Cloudflare thì tương đối đơn giản, theo sự hiểu biết của tôi thì chỉ cần bạn vận dụng tốt Cloudflare, hầu như website của bạn sẽ là bất tử. Tất nhiên để đạt được điều đó bạn cần một số hiểu biết và cấu hình chính xác nhằm loại bỏ kẻ tấn công.

Tôi nhận được trường hợp của 1 website mà tôi tạm gọi là A.com:

a.comScreenshot 2022-05-09 133141.png
Nó đang bị DDoS mặc dù chạy dưới sự bảo vệ của Cloudflare, kiểm tra sơ lược một vòng cho thấy nó là máy chủ ảo giá rẻ cung cấp từ Vultr.com, cấu hình tài nguyên trung bình (4 core cpu). Kẻ tấn công vẫn chưa bypass sự bảo vệ của Cloudflare tức là vẫn chưa biết IP thật của máy chủ, các gói tin hoàn toàn đến từ các máy chủ proxy trung gian của Cloudflare. Máy chủ vẫn chưa đi vào tình trạng "Full-net" tức là chỉ mới tình trạng "Half-net", CPU/RAM/IO... đang quá tải rất cao, gấp mấy chục lần chịu đựng của máy chủ, trên Cloudflare của chủ nhân trang web, họ có cấu hình sẳn vài rule captcha nhưng không thực sự hoạt động hoặc hoạt động không đúng.

Tôi tiến hành cài vDDoS vào máy chủ, sau đó xóa bỏ tất cả các rule trên Cloudflare, tức là traffic sẽ hoàn toàn đi từ Cloudflare đến vDDoS và sau đó proxy vào backend.

Bật Javascript-challenges trên vDDoS, (bởi vì challenges này rất nhanh, mode high của vDDoS chỉ tốn 1s để xác minh trình duyệt của client có bộ xử lý javascript hay không) Việc này cũng có hiệu quả nhưng vẫn không như ý, CPU/RAM/IO... tạm thời không quá tải nhiều lắm nhưng kẻ tấn công vẫn không ngừng lại. Tức là vẫn đang trong tình trạng "Half-net", CPU/RAM/IO... thì vẫn dành phần lớn tài nguyên để xử lý nhiệm vụ Javascript-challenges.

Tôi thử bật captcha trên Cloudflare cho toàn thế giới "trừ VN (vì trang này chủ yếu cần khách từ Vietnam) và trừ các BotSearch Google, Bing, Facebook...". Vì tình trạng hiện tại đã rất an toàn, tôi tắt Javascript-challenges trên vDDoS.

Mọi việc khá là tốt, các traffic của kẻ tấn công hoàn toàn bị ngăn chặn tại máy chủ của Cloudflare (do chúng không thể vượt qua captcha), đổi lại, A.com gặp một hạn chế là khi khách truy cập từ các nước vào A.com, họ sẽ bị Captcha-challenges. Mọi việc tốt cho đến ngày hôm sau, kẻ tấn công vẫn không bỏ cuộc.

Ngày hôm sau, máy chủ vẫn trong tình trạng quá tải CPU/RAM/IO... Full Load. Sau khi kiểm tra lại logs của vDDoS ghi nhận, có một cuộc tấn công DDOS từ các IP của VN, kẻ tấn công đã thu thập một lượng IP Vietnam tuy không quá lớn nhưng đủ để đánh sập trang web.

Do đó chúng ta cần bắt đầu lọc các gói tin đến từ VN, tuy nhiên nếu bật Captcha-challenges của Cloudflare luôn cho cả VN thì thật là ngốc, vậy xem như website của chúng ta hoàn toàn bị captcha toàn thế giới. Vì thế, trên Cloudflare tôi vẫn để Allow cho VN và trên vDDoS tôi bật Javascript-challenges.

Tới đây, Cuộc tấn công từ VN nhanh chóng bị dẹp bỏ, CPU/RAM/IO... không còn tình trạng quá tải, website vào từ VN nhanh chóng trơn tru (bởi vì Javascript-challenges của vDDoS rất nhanh, mode high của vDDoS chỉ tốn 1s để xác minh trình duyệt của client có bộ xử lý javascript hay không)

Sau một vài ngày, kẻ tấn công nản chí, từ bỏ, tôi tắt hết tất cả bộ lọc, vDDoS về no, Cloudflare về Medium... kẻ tấn công vẫn không quay trở lại, vì hắn biết nếu hắn tấn công mọi chuyện sẽ như cũ. (Bạn có thể làm mọi thứ tự động qua API cloudflare cung cấp, ví dụ khi CPU hoạt động 90% sẽ bật captcha trở lại)

Hãy nhớ rằng chúng ta đã allow tất cả truy vấn từ các BotSearchs Google, Bing, Facebook... do đó từ vị trí các Bots này truy cập nó không hể biết gì về challenges, captcha... này nọ dù là của vDDoS hay Cloudflare. Do đó các vấn đề SEO không gặp trở ngại.


Có dễ không? Tôi thấy rất dễ, Cloudflare cung cấp tất cả miễn phí trong gói Free của họ, chỉ cần vận dụng tốt các tùy chọn họ cho phép sử dụng, thậm chí 1 VPS yếu (1 core) bạn có thể giữ cho website hoạt động ở mức chấp nhận được, không chết.
Vậy có điều gì cần thảo luận ở đây? Nếu việc AntiDDOS dễ dàng như vậy thì có gì phải lo lắng? Các SystemAdmin sinh ra để làm gì khi chỉ cần vài cú click chuột trên Cloudflare cũng đủ để ngăn một trận lụt lớn?

Vấn đề thứ 1: sự phụ thuộc, hãy đặt ra câu hỏi nếu không có Cloudflare hoặc vì lý do gì đó họ từ chối không cho bạn sử dụng miễn phí nữa, bạn sẽ làm gì? Bạn sẽ bỏ ra 200USD/tháng để nâng cấp gói lên Business và tài trợ cho công ty họ?

Vấn đề thứ 2: nếu giả sử trong trường hợp site A.com ở trên họ không dùng vps giá rẻ 4 cores từ Vultr mà họ có một máy chủ với sức mạnh x10 hoặc x100 lần. Tôi sẽ làm gì? Tôi cũng sẽ lại làm mấy cái điều ở trên? Và kết quả là cũng tương tự như khi dùng 1 vps 1 core, vậy thì họ mua tài nguyên dư thừa làm gì? Hãy thử tưởng tượng bạn mua 1 máy PC 10kUSD chơi game và trải nghiệm của nó cũng y chang trên 1 máy PC 1kUSD (không khác biệt về đồ họa cũng như âm thanh cảm giác bấm...)

Tôi sẽ gọi đây là vấn đề của "sự tự vệ thái quá", là sự căm ghét của người dùng đối với captcha sẽ rời bỏ trang web, là một cộng đồng người VN từ khắp các châu lục mỗi khi vào web sẽ bị hỏi captcha (có đến 2tr người VN tại Mỹ). Nếu bạn đọc đến cuối bài viết tôi sẽ cho bạn xem một hướng giải quyết vấn đề "sự tự vệ thái quá" này. Còn câu chuyện site A.com may mắn được kẻ thù bỏ qua cho nên nó sẽ kết thúc tại đây.

Tin tôi, câu chuyện của site B.com kịch tính hơn nhiều.

Vo Duy dot Com

<voduydotcom@gmail.com>
unread,
Oct 13, 2023, 4:59:16 AM10/13/23
to [hoidap.voduy.com] Forum Support: Domain, Hosting, VPS, Server...
Screenshot 2023-06-26 124630.png


Reply all
Reply to author
Forward
0 new messages