« Home « Kết quả tìm kiếm

Tìm hiểu bài toán web an toàn và đề xuất giải pháp Firewall cho các ứng dụng web


Tóm tắt Xem thử

- 9 CHƯƠNG 2: ỨNG DỤNG WEB VÀ CÁC LỖ HỔNG BẢO MẬT PHỔ BIẾN TRONG ỨNG DỤNG WEB.
- Khái niệm ứng dụng web.
- Các lỗ hổng bảo mật phổ biến trong ứng dụng web.
- A9 – Sử dụng các thành phần có lỗ hổng đã biết – Using Components with Known Vulnerabilities.
- 18 CHƯƠNG 3: ĐỀ XUẤT GIẢI PHÁP TƯỜNG LỬA ỨNG DỤNG WEB.
- Tại sao cần tường lửa ứng dụng web.
- Thử nghiệm một số kịch bản tấn công khai thác lỗ hổng.
- Thử nghiệm khai thác lỗ hổng nhúng mã – Injection.
- Thử nghiệm khai thác lỗ hổng phá vỡ tính xác thực – Broken Authentication 34 5.4.
- Thử nghiệm khai thác lỗ hổng thực thi mã script XSS.
- Thực tế với tình hình hiện nay, các ứng dụng web ngày một nhiều.
- Một khi ứng dụng web bị rò rỉ lỗ hổng, các tin tặc sẽ dễ dàng chiếm quyền quản trị web, ứng dụng và phần mềm của công ty.
- Để đối phó với các nguy cơ rủi ro đó, có rất nhiều công cụ, giải pháp được phát triển nhằm mục đích bảo vệ các ứng dụng web khỏi các lỗi bảo mật và các cuộc tấn công, mã độc từ tin tặc.Các giải pháp đó được gọi là tường lửa ứng dụng web (Web Application Firewall – WAF).
- Một WAF có khả năng thực thi các chính sách bảo mật dựa trên các dấu hiệu tấn công, các giao thức tiêu chuẩn và các lưu lượng truy cập ứng dụng web bất thường.
- Với mong muốn phân tích và tìm hiểu sâu hơn về các lỗ hổng trong ứng dụng web cũng như phương thức hoạt động, khả năng ngăn chặn của WAF, học viên đã lựa chọn đề tài “Tìm hiểu bài toán Web an toàn và đề xuất giải pháp Firewall cho các ứng dụng Web” làm luận văn tốt nghiệp của mình.
- Nhiệm vụ đặt ra cho đề tài Nhiệm vụ của đề tài này là tìm hiểu các lỗ hổng bảo mật trong ứng dụng web và đề xuất một giải pháp WAF để bảo vệ ứng dụng web khỏi các lỗ hổng bảo mật đó.
- Giải pháp có thể ngăn chặn được tin tặc khai thác các lỗ hổng tiêu biểu.
- Hướng tiếp cận và giải quyết Đầu tiên học viên cần tìm hiểu về danh sách các lỗ hổng bảo mật tiêu biểu theo tổ chức OWASP đánh giá.
- Để quá trình tìm hiểu được hiệu quả, việc cài đặt một máy chủ web chứa các lỗ hổng để có thể tiến hành khai thác thử là cần thiết.
- Việc nắm vững các lỗ hổng sẽ là điều kiện tiên quyết để học viên có thể thực hiện nhiệm vụ tiếp theo là đề xuất một giải pháp WAF.
- Tìm hiểu các lỗ hổng bảo mật trong ứng dụng web (OWASP Top 10.
- Tìm hiểu, cài đặt, thử nghiệm một máy chủ web chứa các lỗ hổng và một phần mềm mã nguồn mở WAF ModSecurity - Xây dựng bộ chính sách ngăn chặn khai thác các lỗ hổng - Thử nghiệm giải pháp bằng cách khai thác các lỗ hổng và so sánh kết quả trước khi và sau khi triển khai WAF.
- Chương 2: Ứng dụng web và các lỗ hổng bảo mật trong ứng dụng web : Nghiên cứu cơ sở lý thuyết về ứng dụng web và các lỗ hổng bảo mật trong ứng dụng web theo đánh giá của tổ chức OWASP.
- Chương 3: Đề xuất giải pháp tường lửa ứng dụng web: Tìm hiểu và đề xuất một giải pháp tường lửa ứng dụng web, bao gồm các nội dung: (1) Giới thiệu giải pháp, (2) Mô hình Trang 10 triển khai và hướng dẫn cài đặt, (3) Cấu hình chính sách, (4) Thử nghiệm một số kịch bản tấn công khai thác lỗ hổng.
- Trang 11 CHƯƠNG 2: ỨNG DỤNG WEB VÀ CÁC LỖ HỔNG BẢO MẬT PHỔ BIẾN TRONG ỨNG DỤNG WEB 1.
- Khái niệm ứng dụng web Trong kỹ thuật phần mềm, một ứng dụng web là một trình ứng dụng mà có thể tiếp cận qua web thông qua mạng như internet hay intranet.
- Ứng dụng web phổ biến nhờ vào sự có mặt vào bất cứ nơi đâu của một chương trình.
- Khả năng cập nhật và bảo trì ứng dụng web mà không phải phân phối và cài đặt phần mềm trên hàng ngàn máy tính là lý do chính cho sự phổ biến của nó.
- Tuy nhiên tính tương tác cao của ứng dụng web cũng gây ra nhiều rủi ro về bảo mật.
- Nếu ứng dụng web tồn tại lỗ hổng thì tin tặc có thể xâm nhập và thực hiện các hành vi xấu như giả mạo, đánh cắp thông tin, tấn công phá hoại, gián đoạn dịch vụ.
- Do đó, các kĩ thuật tấn công vào một hệ thống mạng ngày nay đang dần tập trung vào những lỗ hổng trong quá trình tạo ứng dụng của những nhà phát triển Web hơn là tấn công trực tiếp vào hệ thống mạng, hệ điều hành.
- Phần tiếp theo chúng ta cùng đi tìm hiểu về các lỗ hổng phổ biến trong ứng dụng web.
- Các lỗ hổng bảo mật phổ biến trong ứng dụng web 2.1.
- Định kỳ, OWASP tiến hành đánh giá và công bố danh sách Top 10 các rủi ro bảo mật ứng dụng lớn nhất, được gọi là OWASP Top 10 [14].
- Mục tiêu chính của OWASP Top 10 là để hướng dẫn cho những người tham gia vào xây dựng hệ thống, quản trị hệ thống, bảo mật hệ thống hiểu về các lỗ hổng và hậu quả của nó có thể gây ra.
- Dựa vào phương pháp đánh giá rủi ro bao gồm các tiêu chí như khả năng khai thác, mức độ phổ biến, khả năng phát hiện, ảnh hưởng,… Trang 12 Hình 2.2: Các tiêu chí đánh giá rủi ro lỗ hổng [6] Tiếp theo chúng ta cùng tìm hiểu lịch sử của OWASP TOP 10.
- Năm 2003, tổ chức lần đầu tiên đưa ra danh sách 10 lỗ hổng tiêu biểu.
- Đồng thời bổ sung 2 lỗ hổng mới là A6 2010 - Security Misconfiguration và A10 2010 - Unvalidated Redirects and Forwards.
- Phần tiếp thheo, chúng ta sẽ đi tìm hiểu và phân tích chi tiết hơn về các lỗ hổng trong danh sách OWASP Top 10 – 2017.
- A1 - Lỗi nhúng mã – Injection Khả năng khai khác Mức độ phổ biến Khả năng phát hiện Ảnh hưởng 3 (dễ dàng) 2 (phổ biến) 3 (dễ dàng) 3 (nghiêm trọng) Lỗ hổng Injection là kết quả của sự thiếu sót trong việc lọc các đầu vào không đáng tin cậy.
- Trong các loại lỗ hổng Injection, phổ biến nhất là tấn công SQL, còn được biết đến là SQLi.
- SQL injection là một kỹ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông báo lỗi của hệ quản trị cơ sở dữ liệu trả về để inject (tiêm vào) và thi hành các câu lệnh SQL bất hợp pháp [15].
- A2 – Phá vỡ tính xác thực – Broken Authentication Khả năng khai khác Mức độ phổ biến Khả năng phát hiện Ảnh hưởng 3 (dễ dàng) 2 (phổ biến) 2 (trung bình) 3 (nghiêm trọng) Khi các chức năng của ứng dụng được thực hiện không chính xác, tin tặc có thể dễ dàng xâm nhập, ăn cắp thông tin tài khoản, mật khẩu và khai thác các lỗ hổng khác bằng cách sử dụng các chứng chỉ đã đánh cắp.
- Vì vậy, các ứng dụng cần đảm bảo truy cập được xác thực và dữ liệu đã được mã hóa [14,15].
- Các hiệu chỉnh cũng bao gồm cập nhật phần mềm và những thư viện được sử dụng bởi ứng dụng.
- A7 - Thực thi mã script – Cross-Site Scripting (XSS) Khả năng khai khác Mức độ phổ biến Khả năng phát hiện Ảnh hưởng 3 (dễ dàng) 3 (rộng rãi) 3 (dễ dàng) 2 (trung bình) XSS là một lỗ hổng thường thấy trong các ứng dụng web.
- Các ứng dụng cho phép người dùng nhập dữ liệu vào mà không có toàn quyền kiểm soát dữ liệu ra có nguy cơ bị tấn công XSS rất cao.
- Tuy nhiên, việc khai thác lỗ hổng này khá là khó khăn.
- Một số công cụ có thể phát hiện lỗ hổng này, nhưng con người vẫn luôn luôn phải phân tích và xác nhận kết quả.
- Người ta hy vọng rằng dữ liệu phổ biến cho loại lỗ hổng này sẽ tăng lên khi công cụ được phát triển để giúp xác định và giải quyết nó.
- A9 – Sử dụng các thành phần có lỗ hổng đã biết – Using Components with Known Vulnerabilities Khả năng khai khác Mức độ phổ biến Khả năng phát hiện Ảnh hưởng 2 (trung bình) 3 (rộng rãi) 2 (trung bình) 2 (trung bình) Trang 18 Việc sử dụng các thành phần có lỗ hổng đã biết là vô cùng nguy hiểm vì các lỗ hổng đã được công bố sẽ luôn kèm theo các hướng dẫn để khai thác.
- A10 – Không đủ nhật ký giám sát – Insufficient Logging & Monitoring Khả năng khai khác Mức độ phổ biến Khả năng phát hiện Ảnh hưởng 2 (trung bình) 3 (rộng rãi) 1 (khó) 2 (trung bình) Lỗ hổng không đủ nhật ký giám sát là nền tảng của gần như mọi sự cố lớn.
- Hầu hết các cuộc tấn công thành công bắt đầu với thăm dò lỗ hổng.
- Trên đây chúng ta đã tìm hiểu về 10 lỗ hổng phổ biến nhất trong ứng dụng web.
- Những lỗ hổng đều là nguy hiểm, sẽ gây ra thiệt hại lớn nếu tổ chức bị khai thác.
- Các thông tin về lỗ hổng được công khai rộng rãi cho tất cả mọi người.
- Phần tiếp theo chúng ta cùng tiến hành khai thác thử một số lỗ hổng để hiểu rõ hơn.
- đồng thời tiến hành tìm hiểu về một giải pháp có thể ngăn chặn các tấn công vào lỗ hổng này.
- Giải pháp đó là tường lửa ứng dụng web – Web Application Firewall (WAF).
- Trang 19 CHƯƠNG 3: ĐỀ XUẤT GIẢI PHÁP TƯỜNG LỬA ỨNG DỤNG WEB 1.
- Tại sao cần tường lửa ứng dụng web? Qua phân tích ở trên chúng ta thấy được rằng các ứng dụng web luôn tồn tại rất nhiều lỗ hổng.
- Tuy nhiên, chỉ khi hệ thống bị tấn công hoặc khai thác họ mới nhận ra rằng hệ thống đã tồn tại rất nhiều lỗ hổng.
- Vì vậy, chúng ta có thể nhận thấy rằng việc xây dựng một tường lửa WAF để bảo vệ cho các máy chủ ứng dụng web của các tổ chức, doanh nghiệp là vô cùng cần thiết.
- Tin tặc luôn hiểu về các lỗ hổng và luôn biết cách làm thế nào để tiến hành khai thác.
- Trong phạm vi đồ án, đối tượng mà chúng ta hướng tới là một ứng dụng mã nguồn mở ModSecurity.
- Các giải pháp tường lửa mã nguồn mở Có rất nhiều các tường lửa ứng dụng web mã nguồn mở trên thế giới.
- Các tường lửa ứng dụng web đã góp phần không nhỏ vào việc ngăn chặn các tấn công web trên toàn thế giới.
- Tiêu biểu nhất là ModSecurity, WebCastellum và Ironbee • ModSecurity: ModSecurity là một tường lửa ứng dụng web mã nguồn mở được phát triển bởi nhóm Trustwave’s SpiderLabs.
- WebCastellum: WebCastellum là một tường lửa ứng dụng web mã nguồn mở phát triển bằng Java.
- Ironbee: Ironbee là một tưởng lửa ứng dụng web mã nguồn mở phân phối theo BSD và Apache 2.0.
- Giới thiệu ModSecurity ModSecurity là một tường lửa ứng dụng web mã nguồn mở.
- Có những ưu điểm và nhược điểm cho cả hai mô hình: Mô hình tích hợp vào web server ModSecurity là một tường lửa ứng dụng web có thể được triển khai như một phần của cơ sở hạ tầng máy chủ web hiện tại của bạn với điều kiện máy chủ web của bạn là Apache, IIS7 hoặc Nginx.
- CRS nhằm mục đích bảo vệ các ứng dụng web khỏi các cuộc tấn công, bao gồm OWASP Top 10, giúp người quản trị có thể yên tâm về hệ thống của mình.
- Thử nghiệm một số kịch bản tấn công khai thác lỗ hổng 5.1.
- Máy chủ web là máy chủ web OWASP Mutillidae, chứa các lỗ hổng bảo mật giúp chúng ta dễ dàng khai thác để phân tích và hiểu sâu hơn về các rủi ro bảo mật.
- Máy chủ máy chủ web o IP o Cài đặt máy chủ web: OWASP Mutillidae o Cài đặt ModSecurity: Mô hình embedded • Máy client o IP Trang 29 o Trình duyệt: Google Chrome Giới thiệu máy chủ web OWASP Mutillidae Mutillidae là một ứng dụng web mã nguồn mở chứa đầy đủ các lỗ hổng theo OWASP Top 10.
- Dựa vào đó ta thể dễ dàng thử nghiệm tấn công khai thác các lỗ hổng.
- Phiên bản mới nhất của Mutillidae cũng đã bao gồm các lỗ hổng OWASP Top 10 năm 2017 Phần tiếp theo chúng ta sẽ tiến hành khai thác một số lỗ hổng và tiến hành so sánh kết quả giữa trước khi enable ModSecurity và sau khi enable ModSecurity 5.2.
- Thử nghiệm khai thác lỗ hổng nhúng mã – Injection Trước tiên thử khai thác một lỗ hổng SQL Injection Menu thử nghiệm: OWASP 2017 → A1 – Injection (SQL.
- SQLi – Extract Data → User info (SQL) a) Khai thác Trước tiên thử xem server có tồn tại lỗ hổng hay không bằng cách nhập name là ký tự ' và password bất kỳ.
- '1' luôn luôn đúng nên câu lệnh select sẽ được thực thi và kết quả trả về sẽ tương đương với kết quả câu truy vấn SELECT * FROM accounts tức là tất cả các user trong bảng account Chúng ta nhận thấy rằng, tin tặc có thể dễ dàng có được các thông tin user trong hệ thống chỉ bằng một số thao tác đơn giản b) Cấu hình rule ngăn chặn Từ phân tích ở trên, ta có thể nhận thấy rằng, tin tặc có thể khai thác được lỗ hổng nhờ 2 lý do sau.
- Server: Apache/2.2.15 (CentOS) Engine-Mode: "ENABLED" Tiếp theo thử khai thác một lỗ hổng Command Injection Menu thử nghiệm: OWASP 2017 → A1 – Injection (Other.
- b) Cấu hình rule ngăn chặn Trang 34 Từ phân tích ở trên, ta có thể nhận thấy rằng, hệ thống đã tồn tại lỗ hổng và tin tặc dựa vào việc hệ thống không kiểm duyệt các nội dung nhập vào để chèn thêm các câu lệnh nguy hiểm.
- Thử nghiệm khai thác lỗ hổng phá vỡ tính xác thực – Broken Authentication Menu thử nghiệm OWASP 2017 → A2 – Broken Authentication → Authentication Bypass → Via Brute Force → Login a) Khai thác Trang 35 Thử nghiệm này chúng ta sẽ sử dụng Burp Suite để tấn công Brute Force, tìm password của user admin.
- Thử nghiệm khai thác lỗ hổng thực thi mã script XSS Menu thử nghiệm OWASP 2017 → A7 – Cross Site Scripting (XSS.
- Đánh giá mức độ an toàn của một số website cụ thể a) Website viện đào tạo sau đại học BKHN Ở trên chúng ta đã thử tiến hành khai thác các lỗ hổng trên máy chủ web Mutillidae.
- Việc khai thác thành công giúp chúng ta hiểu hơn về các lỗ hổng.
- Phần tiếp theo chúng ta thử đi tiến hành khai thác đơn giản một số website cụ thể xem có tồn tại lỗ hổng hay không.
- Do đó người dùng rất dễ dàng có thể gặp nguy hiểm nếu bị tin tặc Trang 44 tấn công nghe lén, khai thác thông tin (Theo lỗ hổng A3 – Để lộ các dữ liệu nhạy cảm – Sensitive Data Exposure).
- Qua kiến thức hạn hẹp của mình, tác giả công nhận website không có lỗ hổng về SQL injection.
- Từ đó ta có thể rút ra kết luận rằng, website đã tồn tại 2 lỗ hổng: 1 là cho phép người dùng thiết lập mật khẩu quá đơn giản, 2 là không giới hạn số lần đăng nhập sai của người dùng.
- Với kiến thức hạn hẹp của tác giả, qua các thử nghiệm trên chúng ta đưa ra được các kết luận về các lỗ hổng như sau.
- Do đó người dùng rất dễ dàng có thể gặp nguy hiểm nếu bị tin tặc tấn công nghe lén, khai thác thông tin (Theo lỗ hổng A3 – Để lộ các dữ liệu nhạy cảm – Sensitive Data Exposure).
- Với kiến thức hạn hẹp của tác giả, tác giả không tìm thấy bất kỳ một lỗ hổng nào của website ngân hàng Vietcombank.
- Trang 50 CHƯƠNG 4: KẾT LUẬN Qua tìm hiểu và phân tích ở trên, chúng ta có thể nhận thấy rằng ModSecurity là một giải pháp tường lửa mã nguồn mở mạnh, phù hợp cho các tổ chức có nhu cầu về bảo mật ứng dụng web của mình.
- Giải pháp triển khai dễ dàng • Có nhiều lựa chọn mô hình triển khai, phù hợp với nhiều mô hình mạng • Người quản trị dễ dàng tùy biến, linh hoạt • Có khả năng phòng chống các tấn công khai thác lỗ hổng • Chi phí thấp Nhược điểm.
- Giao diện vẫn khó sử dụng cho việc cấu hình và giám sát Ngày nay, các ứng dụng web ngày càng đóng một vai trò quan trọng đối với mỗi tổ chức.
- Điều này trở nên rõ ràng khi các ứng dụng web bị tấn công sẽ làm ảnh hưởng nghiêm trọng đến các chức năng hoạt động của tổ chức.
- Vì vậy, mỗi tổ chức nên trang bị một hệ thống WAF để làm nhiệm vụ chuyên trách bảo vệ cho các ứng dụng web.
- Do hạn chế về công cụ và kiến thức nên nội dung của luận văn chưa thể hiện đầy đủ được toàn bộ những vấn đề trong lỗ hổng ứng dụng web

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt