Web Application Firewall - Bảo mật các ứng dụng Web

Lê Văn Khoa

Phòng Giải pháp Truyền thông HCM

Trung tâm Tích hợp hệ thống


Tháng 9-2008, tại hội nghị “OWASP NYC APPSEC 2008” tập trung hơn 50 chuyên gia hàng đầu thế giới về bảo mật đã trình bày những chủ đề về bảo mật cho các ứng dụngnhư:
+ Phân tích các hiểm họa tấn công cơ sở  dữ liệu qua web – Ofer Shezaf

+ Dự án OWASP  “Google Hacking” – Christian Heinrich

+ Định hướng bảo mật ứng dụng Web – Joe White

+ Nghiên cứu HTTP Bot – Andre M.DiMin

Các vấn đề được trình bày trong hội thảo đều xoay quanh việc phòng chống các cuộc tấn công xuất phát từ môi trường Internet mà các phương thức, thiết bị tường lửa – Firewall thông thường không có (hoặc không được trang bị) để ngăn chặn các cuộc tấn công như: SQL Injection, Cross script, …

Các hiểm họa trong môi trường Internet

Chuyên gia Joe White của hãng Cyber | LockSmith nhận định “xu thế phát triển các giải pháp bảo mật cho các ứng dụng Web sẽ thành xu hướng phát triển trong những năm sắp tới ở cả hai lãnh vực: thiết bị phần cứng và phần mềm.”

1. Nhu cầu cấp thiết cho ứng dụng web

Như mọi người đều biết, thông thường việc bảo vệ các hệ thống mạng đều được giao cho các thiết bị Firewall “truyền thống”. Việc theo dõi, giám sát này được Firewall dựa vào địa chỉ IP nguồn và đích kết hợp với cổng-port của luồng dữ liệu vận hành trong hệ thống mạng.

Mô hình hoạt động của firewall truyền thống

Hình vẽ trên cho chúng ta thấy rõ một vấn đề lớn của hệ thống: luồng dữ liệu kết nối Web ( sử dụng giao thức HTTP) từ bên ngoài vào bên trong,truy xuất tới hệ thống dữ liệu Database mà không có sự “giám sát nội dung” của Firewall. Tìm hiểu rõ hơn về cơ chế hoạt động của Firewall truyền thống, chúng ta thấy được một điều là các thiết bị này hoạt động chủ yếu ở 4 tầng đầu tiên trong mô hình IOS, trong khi đó hầu hết các ứng dụng được xây dựng trong hệ thống mạng tuân thủ 3 lớp trên cùng. Đây là nguyên nhân khiến Firewall không thể kiểm soát được nội dung của các kết nối từ Web vào Database.

Mô hình ứng dụng OSI

2. Giải pháp Web Application Firewall - WAF

WAF là giải pháp bảo mật toàn diện và mạnh mẽ dành cho các ứng dụng Web.WAF đưa ra một phương thức phòng vệ chống lại các hoạt động như tin tặc, khai thác các lỗ hổng về giao thức. Bên cạnh đó, WAF còn cảnh báo cho bạn về những lỗi ứng dụng mà các hacker có thể khai thác, đánh cắp thông tin, gây lỗi từ chối dịch vụ hoặc làm thay đổi giao diện trang web của bạn.

Mục đích chính của WAF là:

+ Ứng dụng mở rộng hoặc chọn lọc cho máy chủ dịch vụ web nhằm thiết lập các chính sách cho các kết nối người dùng HTTP.

+ Bảo vệ hệ thống trước các loại tấn công phổ biến như: Cross-site Scripting (XSS) and SQL Injection

+ Kiểm tra cả nội dung các truy cập Web sử dụng giao thức HTTP ở lớp ứng dụng

+ Phân tích những yêu cầu và cảnh báo ngay khi có một hoạt động đáng nghi nào đó trên hệ thống.

+ Tăng khả năng hiển thị của lưu lượng website. 

Tiên phong trong lãnh vực này, chúng ta có thể kể đến các sản phẩm của các nhà cung cấp sản phẩm bảo mật nổi tiếng như sau:

+ Citrix Application Firewall - Citrix (www.citrix.com)

+ SecureSphere - Imperva (www.imperva.com)

+ Application Security Manager - F5 (www.f5.com)

+ Web Application Controller - Barracuda  (www.barracudanetworks.com)

+ Application Security Solutions  (www.applicure.com)

+ DenyAll Security Solutions (http://pci.denyall.com)

Xu hướng ứng dụng giải pháp WAF:

+ Bạn không thể bảo vệ những cái bạn không thấy

+ Bạn cần phải có một cái nhìn tốt hơn vào lưu lượng của tầng ứng dụng

+ Đây luôn là thành phần mà đội ngũ điều hành bảo mật không thấu hiểu

+ WAF sẽ giám sát và phát hiện những cuộc tấn công nhằm gây tổn hại vào hệ thống từ người dùng

+ WAF cung cấp một cách hiển thị tốt hơn đối với những sự kiện bảo mật trong hệ thống

+ Như một sản phẩm WAF hoàn chỉnh, bạn có thể mong đợi rằng WAF sẽ cập nhật những lỗ hổng theo thời gian thực bởi công cụ bảo mật ứng dụng web của bạn, nhờ đó có thể chủ động ngăn chặn những cuộc tấn công mới được phát hiện.

+ Một phần khó vận dụng ở đây đó là bạn cần có sự giúp đỡ của những người trong ban điều hành bảo mật để bạn có thể triển khai thành công WAF vào trong môi trường kinh doanh.

Mô hình ứng dụng WAF

3. Những rủi ro tiềm ẩn của WAF

Năm 2008 dự án về WAF ra đời tính tới thời điểm này là đã hơn 2 năm (tham chiếu theo website: www.webappsecroadmap.com), có rất nhiều sản phẩm ra đời đáp ứng đầy đủ các nhu cầu mà WAF mong muốn.

Song bên cạnh đó, mạng Internet toàn cầu đang ngày càng phát triển như vũ bão kéo theo rất nhiều rủi ro tiềm ẩn mà các nhà nghiên cứu WAF vẫn chưa tìm ra cách nào ngăn chặn triệt để toàn diện nhất. Trong một cuộc khảo sát tổng hợp các rủi ro xảy ra trong môi trường Internet cho thấy có kết quả như sau:

Bảng đánh giá các kiểu tấn công Website

Năm 2009, tổ chức Positive Technologies – một tổ chức hàng đầu về bảo mật của Nga đã tiến hành một cuộc “kiểm tra chất lượng” về các giải pháp WAF.Sử dụng 2 công nghệ SQL Injection và Cross-site Script, nhóm nghiên cứu đã thử nghiệm thành công phương thức ByPass qua WAF gồm có:

+ SQL Injection – Normalization, HTTP Parameter Pollution HPP, Blind, Signature ByPass: Sử dụng các tham số “truyền biến” của các hàm SQL truy vấn được yêu cầu “trả về” nhằm mục tiêu tương tác tới dữ liệu truy cập “trái phép” từ phía người thực hiện tấn cống hệ thống.

HTTP Parameter Pollution HPP

+ Cross-site Script HTTP Parameter Pollution HPP, Blind, Signature ByPass:.thực hiện việc tấn công thông qua sự phản hồi các yêu cầu từ phía người dùng khi tương tác với hệ thống qua các đoạn mã tương tác sử dụng Javascript.

Cross-site Script HTTP

+ Path Traversal, Local/Remote File Inclusion: kỹ thuật “truyền biến” thông qua trình duyệt thực thi một đoạn mã “trái phép” tấn công vào hệ thống.

Path Traversal, Local/Remote File Inclusion

4. Nhận đinh chung về WAF

Việc ứng dụng giải pháp WAF đòi hỏi cả một quá trình triển khai lâu dài vì bản thân môi trường Internet đã luôn chứa đựng nhiều rủi ro: tấn công dịch vụ, mã độc, thư rác,..Ngày nay, cùng với nhu cầu phát triển xã hội, dịch vụ thương mại điện tử mang đến nhiều tiện ích: mua bán hàng trên mạng online, giao dịch chứng khoán, đặt vé khách sạn, sân bay, … Những việc này sẽ tạo cơ hội tốt cho kẻ xấu (hacker) tìm cách tấn công, khai thác thông tin.

Giải pháp WAF được đưa ra đáp ứng được nhu cầu bảo mật các ứng dụng web hiện nay, song bên cạnh đó các nhà cung cấp dịch vụ cũng cần phải biết kết hợp với các giải pháp tường lửa truyền thống nhằm mang lại một giải pháp hoàn chỉnh cho toàn hệ thống – điều nay chính là việc của các nhà tích hợp hệ thống cần làm.

Phần chú thích:

Hai kiểu tấn cống: SQL Injection &Cross-Site Scripting chiếm tỉ lệ rất cao trong các loại tấn công hệ thống trên mạng Internet toàn cầu.

Cross-Site Scripting (XSS) là một trong những kĩ thuật tấn công phổ biến nhất hiên nay, đồng thời nó cũng là một trong những vấn đề bảo mật quan trọng đối với các nhà phát triển web và cả những người sử dụng web.Bất kì một website nào cho phép người sử dụng đăng thông tin mà không có sự kiểm tra chặt chẽ các đoạn mã nguy hiểm thì đều có thể tiềm ẩn các lỗi XSS.

SQL injection là một kỹ thuật điền vào những đoạn mã SQL bất hợp pháp cho phép khai thác một lỗ hổng bảo mật tồn tại trong cơ sở dữ liệu của một ứng dụng. Lỗ hổng bảo mật này có thể xuất hiện khi ứng dụng không có đoạn mã kiểm tra chuỗi ký tự thoát nhúng trong câu truy vấn SQL hoặc do sự định kiểu đầu vào không rõ ràng hay do lỗi cú pháp SQL của lập trình viên khiến cho một đoạn mã ngoại lai có thể được xử lý ngoài ý muốn. Nó là một ví dụ của sự rủi ro khi một ngôn ngữ lập trình hay ngôn ngữ kịch bản được nhúng trong một ngôn ngữ khác. Tấn công SQL injection còn có thể hiểu là hình thức tấn công chèn bất hợp pháp các đoạn mã SQL

Download bài viết tại đây