Quay lại

VNIS đã khắc phục lỗ hổng bảo mật tường lửa WAF Cloudflare như thế nào?

Cập Nhật Lần Cuối: 20/10/2023

VNIS đã khắc phục lỗ hổng bảo mật tường lửa WAF Cloudflare như thế nào?

Vào ngày 25 tháng 10 năm 2018, một nhà nghiên cứu từ Viện bảo mật dữ liệu mở (ODS - Open Data Security) tên là Daniel Farina đã công bố một báo cáo. Công khai việc anh ta đã tìm thấy một lỗ hổng bảo mật phần mềm máy chủ (Nginx) trên nền tảng WAF Cloudflare, lỗ hổng này có thể khiến tường lửa (WAF - Web Application Firewall) không hoạt động đúng cách, tạo điều kiện cho tin tặc (hackers) mở các cuộc tấn công mạng.

Bài báo cáo này đã khiến VNETWORK phải để ý, vì chúng tôi cũng đang sử dụng phần mềm máy chủ Nginx để phát triển tường lửa Cloud WAF với tên gọi là VNIS (VNETWORK Internet Security).

Chính xác là lỗ hổng nào đã xuất hiện?

Ngôn ngữ lập trình Lua trong Nginx có một giới hạn về khả năng truy cập vào tất cả thông tin đến từ một yêu cầu, nó có thể được tóm gọn như sau: Tối đa 100 tham số (so sánh thông số) yêu cầu được phân tích cú pháp theo mặc định (bao gồm cả những tham số có cùng tên) và các đối số yêu cầu bổ sung sẽ bị loại bỏ một cách âm thầm để đề phòng các cuộc tấn công từ chối dịch vụ.

Cụ thể hơn, bất kì tường lửa nào phát triển trên Nginx bởi ngôn ngữ lập trình Lua, thì sẽ có một lỗ hổng về tham số xuất hiện ở tường lửa. Và WAF Cloudflare đã bị một lỗ hổng như vậy.

Vậy tại sao VNIS phải vá lại lỗ hổng này?

Đội ngũ của VNETWORK đã không đợi tới khi Cloudflare sửa lại lỗ hổng WAF Cloudflare này, lập trình viên của chúng tôi đã chặn các yêu cầu độc hại đến từ lỗ hổng Lua-Nginx bằng các bản cập nhật mới nhằm bảo vệ cho người dùng của VNIS.

Và đã thành công

Các lập trình viên VNETWORK đã thực hiện một số thử nghiệm như sau:

Lỗ hổng trước khi được vá
Thử nghiệm với một tham số:

“ `curl-i ‘127.0.0.1/?txtSearch=<%21-%21cmd’-H “Host:

demo.1testfire.net”

HTTP/1.1 403 Forbidden

Server: ngix

Date: Thu,13 Dec 2018 07:08:05 GMT

Content-Type: text/html

Transfer-Encoding: chucked

Connection: keep-alive

Cache-Control: no-cache

<!DOCTYPE html>< html lang=”en”>< head >< meta charset=”

UTF-8” ><title >Error Page</ title >< link rel =”stylesheet” type=”

text/css”href=”_assets/css/style.css”>< link href=”

https://fronts.googleapis.com/css?family=Raleway”rel=”stylesheet”

></head><body><div class=”wrapper”>< h1>ACCESS

DENIED<span>Your request to access demo.1testfire.net was denied</span></h1><p class =”error_info”><span>Incident ID

</span>31c75a46e100079d1449f5e4db85d6de</p><p class=”error_info”><span>Your IP </span>127.0.0.1</p><img src=”__assets/img/process_img.png”><div class=”next_Step”><p><span>What happened ?</span>The website you are trying to access is protected against cyber attacks. Your recent action or behavior was flagged as suspicious. Further access to the web server has been denied.</p> <p><span>What can I do ?</span>Please try again in a few minutes. Or, you can directly contact the site owner within Event ID indicated and a description of what you were doing before you were denied access.</p></div><span class=”copyright”>Powered by mlytics.com</span></div></body></html>“`

Thử nghiệm với a0-a9, 1010, tổng cộng 100 tham số, sau đó thêm tham số thứ 101 vào.

“`curl -i ‘127.0.0.1/?a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a1=1&a1=1&a1=1&a1=1&a1=1&a1=1&a1=1&a1=1&a1=1&a1
=1&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a3=3&a3=3&a3=3&a3=3&a3=3&a3=3&a3=3&a3=3&a3
=3&a3=3&a4=4&a4=4&a4=4&a4=4&a4=4&a4=4&a4=4&a4=4&a4=4&a4=4&a5=5&a5=5&a5=5&a5=5&a5=5&a5=5&a5=5&a5
=5&a5=5&a5=5&a6=6&a6=6&a6=6&a6=6&a6=6&a6=6&a6=6&a6=6&a6=6&a6=6&a7=7&a7=7&a7=7&a7=7&a7=7&a7=7&a7
=7&a7=7&a7=7&a7=7&a8=8&a8=8&a8=8&a8=8&a8=8&a8=8&a8=8&a8=8&a8=8&a8=8&a9=9&a9=9&a9=9&a9=9&a9=9&a9
=9&a9=9&a9=9&a9=9&a9=9&<%21–%23cmd’ -H “Host: demo.1testfire.net”HTTP/1.1 200 OK

Server: Nginx

Date: Thu, 13 Dec 2018 07:20:29 GMT

Content-Type: text/html; charset=utf-8

Transfer-Encoding: chunked

Connection: keep-alive

Cache-Control: no-cache

Pragma: no-cache

Expires: -1

X-AspNet-Version: 2.0.50727

Set-Cookie: ASP.NET_SessionId=2vb4y5453apg1cvpakfjigip; path=/; HttpOnly

Set-Cookie: amSessionId=6207394219; path=/

X-Powered-By: ASP.NET

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

<html xmlns=”http://www.w3.org/1999/xhtml” xml:lang=”en” >

<head id=”_ctl0__ctl0_head”><title>……………….“`

Như đã được dự đoán, khi yêu cầu được gửi trong phạm vi 100 tham số rất dễ dàng bị chặn bởi tường lửa Cloudflare. Nhưng khi tham số vượt qua 100 và đạt tới tham số thứ 101, tường lửa Cloudflare trở nên bị động và không có khả năng ngăn chặn.

Lỗ hổng sau khi được vá
Thử nghiệm với: 1 tham số

“`curl -i ‘127.0.0.1/?txtSearch=<%21–%23cmd’ -H “Host: demo.1testfire.net”

HTTP/1.1 403 Forbidden

Server: nginx

Date: Thu, 13 Dec 2018 07:08:05 GMT

Content-Type: text/html

Transfer-Encoding: chunked

Connection: keep-alive

Cache-Control: no-cache

<!DOCTYPE html><html lang=”en”><head><meta charset=”UTF-8″><title>Error Page</title><link rel=”stylesheet” type=”text/css” href=”__assets/css/style.css”><linkhref=”https://fonts.googleapis.com/css?family=Raleway”rel=”stylesheet”></head><body><divclass=”wrapper”><h1>ACCESS DENIED<span>Your request to access demo.1testfire.net was denied</span></h1><p class=”error_info”><span>Incident ID </span>31c75a46e100079d1449f5e4db85d6de</p><p class=”error_info”><span>Your IP </span>127.0.0.1</p><img src=”__assets/img/process_img.png”><div class=”next_Step”><p><span>What happened ?</span>The website you are trying to access is protected against cyber attacks. Your recent action or behavior was flagged as suspicious. Further access to the web server has been denied.</p> <p><span>What can I do ?</span>Please try again in a few minutes. Or, you can directly contact the site owner within Event ID indicated and a description of what you were doing before you were denied access.</p></div><span class=”copyright”>Powered by mlytics.com</span></div></body></html>“`

Thử nghiệm với a0-a9,1010 với 100 tham số và thêm tham số thứ 101.

“`curl-i‘127.0.0.1/?a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a0=0&a1=1&a1=1&a1=1&a1=1&a1=1&a1=1&a1=1&a1=1&a1=1&a1
=1&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a2=2&a3=3&a3=3&a3=3&a3=3&a3=3&a3=3&a3=3&a3=3&a3=3&a3=3&a4=4&a4
=4&a4=4&a4=4&a4=4&a4=4&a4=4&a4=4&a4=4&a4=4&a5=5&a5=5&a5=5&a5=5&a5=5&a5=5&a5=5&a5=5&a5=5&a5=5&a6=6&a6=6&a6=6&a6
=6&a6=6&a6=6&a6=6&a6=6&a6=6&a6=6&a7=7&a7=7&a7=7&a7=7&a7=7&a7=7&a7=7&a7=7&a7=7&a7=7&a8=8&a8=8&a8=8&a8=8&a8=8&a8
=8&a8=8&a8=8&a8=8&a8=8&a9=9&a9=9&a9=9&a9=9&a9=9&a9=9&a9=9&a9=9&a9=9&a9=9&<%21–%23cmd’ -H “Host: demo.1testfire.net”

HTTP/1.1 403 Forbidden

Server: nginx

Date: Thu, 13 Dec 2018 07:18:51 GMT

Content-Type: text/html

Transfer-Encoding: chunked

Connection: keep-alive

Cache-Control: no-cache

<!DOCTYPE html><html lang=”en”><head><meta charset=”UTF-8″><title>Error Page</title><link rel=”stylesheet” type=”text/css” href=”__assets/css/style.css”><linkhref=”https://fonts.googleapis.com/css?family=Raleway”rel=”stylesheet”></head><body><divclass=”wrapper”><h1>ACCESS DENIED<span>Your request to access demo.1testfire.net was denied</span></h1><p class=”error_info”><span>Incident ID </span>-</p><p class=”error_info”><span>Your IP </span></p><img src=”__assets/img/process_img.png”><div class=”next_Step”><p><span>What happened ?</span>The website you are trying to access is protected against cyber attacks. Your recent action or behavior was flagged as suspicious. Further access to the web server has been denied.</p> <p><span>What can I do ?</span>Please try again in a few minutes. Or, you can directly contact the site owner within Event ID indicated and a description of what you were doing before you were denied access.</p></div><span class=”copyright”>Poweredbymlytics.com</span></div></body></html>“`

Với bản cập nhật khắc phục lỗ hổng của VNIS, điều này sẽ đảm bảo được sự an toàn tối đa cho người dùng.

Hiểu thêm về VNIS

VNIS là một nền tảng cung cấp các giải pháp bảo mật tốt nhất và được tích hợp nhiều tính năng giúp website của doanh nghiệp không chỉ được bảo mật mà còn được tối ưu tốc độ truyền tải, điều này cho phép người dùng sử dụng trang web sẽ có một trải nghiệm được tối ưu.

  • Tường lửa dựa trên nền tảng đám mây (Cloud WAF - Web Application Firewall)

Công nghệ Cloud WAF toàn diện của VNIS được phát triển dựa trên nền tảng đám mây và được đặt tại nhiều quốc gia, kết hợp với khả năng quản lý CRS (Core Rule Set) giúp cho website của doanh nghiệp được bảo đảm an toàn trước các cuộc tấn công nhắm vào tầng ứng dụng web (Layer 7) nơi mà tất cả dữ liệu quan trọng của doanh nghiệp được lưu trữ. Ngoài ra, VNIS được tích hợp hơn 2,000 bộ quy tắc bảo mật, giúp ngăn chặn các cuộc tấn công mạng có chủ đích. Hơn thế nữa, tường lửa VNIS có thể phát hiện, tự động ngăn chặn tất cả các lỗ hổng bảo mật nghiêm trọng dựa trên báo cáo của OWASP (Top 10 OWASP) như: Broken Access Control, SQL Injection, Cryptographic Failures,… giúp cho website của doanh nghiệp luôn được bảo vệ và duy trì hoạt động một cách tốt nhất.

  • Mạng lưới truyền tải nội dung đa quốc gia (Multi-CDN Content Delivery Network)

VNIS sở hữu mạng lưới Multi-CDN mạnh mẽ với hơn 2,300 PoPs trên toàn thế giới, và lượng băng thông CDN lên đến 2,600 Tbps. Với sức mạnh này, VNIS có thể giúp website doanh nghiệp có thể chịu tải được 6 tỷ lượng truy cập cùng 1 lúc. Gián tiếp bảo đảm cho website doanh nghiệp được bảo vệ từ các cuộc tấn công nhắm vào tầng mạng (Layer 3) và tầng giao vận (Layer 4) như DDoS, Botnet. Multi-CDN của VNIS được tích hợp thêm hệ thống giám sát người dùng thực (RUM-Real User Monitoring) và cân bằng tải thông minh AI (AI Loadbalancing), giúp cho website cho doanh nghiệp kiểm soát các truy cập độc hại và được đảm bảo tính linh hoạt cho website hoạt động tốt nhất ngay cả khi đang bị tấn công.

Để được trải nghiệm thử, tìm hiểu thêm thông tin về dịch vụ chống khai thác lỗ hổng Web/ App, các doanh nghiệp có thể để lại thông tin liên hệ bên dưới hoặc gọi vào hotline: (028) 7306 8789 của chúng tôi.

Sitemap HTML