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

Xây dựng giải pháp chống tấn công khai thác lỗ hổng cho các ứng dụng web


Tóm tắt Xem thử

- viii CHƢƠNG 1 – CÁC KỸ THUẬT KHAI THÁC LỖ HỔNG BẢO MẬT ỨNG DỤNG WEB.
- Tổng quan về nguy cơ, rủi ro và tác động của các tấn công.
- Khái niệm ứng dụng web.
- Vấn đề bảo mật ứng dụng web.
- Danh sách rủi ro bảo mật cho các ứng dụng web OWASP Top 10 .
- Các kỹ thuật tấn công phổ biến.
- Các kỹ thuật để phát hiện và ngăn chặn tấn công.
- Sự phát triển của nhận dạng tấn công ứng dụng web.
- Các phƣơng pháp nhận dạng tấn công ứng dụng web.
- 7 CHƢƠNG 2 – XÂY DỰNG GIẢI PHÁP PHÁT HIỆN VÀ NGĂN CHẶN TẤN CÔNG KHAI THÁC LỖ HỔNG BẢO MẬT ỨNG DỤNG WEB.
- Các mô hình triển khai WAF.
- Các mô hình triển khai ModSecurity.
- Mô hình triển khai của giải pháp.
- 52 v DANH MỤC HÌNH VẼ Hình 1.1: Mô hình hoạt động ứng dụng web.
- 2 Hình 1.2: Mô hình chi tiết hoạt động ứng dụng web.
- 2 Hình 1.3: Các kỹ thuật nhận dạng tấn công ứng dụng web.
- 8 Hình 2.1: Mô hình network-based WAF.
- 13 Hình 2.4: Mô hình triển khai Reverse Proxy.
- 19 Hình 2.6: Mô hình triển khai Embedded-mode.
- 33 Hình 3.1: Mô hình triển khai giải pháp WAF.
- 46 Hình 3.10: Request tấn công bị hệ thống WAF ngăn chặn.
- 46 Hình 3.11: Thông tin request tấn công bị chặn trong log.
- 47 vi Hình 3.12: Thông tin request tấn công trên trang quản trị.
- 47 Hình 3.12: Thông tin chi tiết của request tấn công trên trang quản trị.
- 47 Hình 3.13: Chức năng báo cáo các request tấn công.
- 48 Hình 3.15: Chức năng báo cáo thông kê thoại loại tấn công.
- 49 Hình 3.16: Chức năng báo cáo số lƣợng các request tấn công.
- 49 vii DANH MỤC CÁC TỪ VIẾT TẮT Từ viết tắt Tiếng Anh Tiếng Việt HTTP Hypertext Transfer Protocol Giao thức truyền tải siêu văn bản HIDS Host-based intrusion detection system Hệ thống phát hiện xâm nhập trên máy chủ NIDS Network intrusion detection system Hệ thống phát hiện xâm nhập trên mạng IDS Intrusion detection system Hệ thống phát hiện xâm nhập WAF Web application firewall Tƣờng lửa ứn dụng web OWASP Open Web Application Security Project Dự án mở về bảo mật ứng dụng Web DVWA Damn Vulnerable Website Application Ứng dụng web chứa các lỗ hổng bảo mật viii MỞ ĐẨU 1.
- Cùng với sự gia tăng của các hình thức tội phạm mới, trên thế giới đã có nhiều công trình nghiên cứu có tính ứng dụng cao, đƣợc áp dụng trên quy mô rộng lớn nhằm chống lại tội phạm trực tuyến.
- Trong nƣớc ngày càng xuất hiện hàng loạt tấn công có chủ đích nhằm vào một số cơ quan quan trọng, hàng loạt đối tƣợng bị bắt giữ vì tội làm giả thẻ ATM, tấn công từ chối dịch vụ…Ngoài ra cũng có sự xuất hiện nhiều loại mã độc mới ngày càng tinh vi và nguy hiểm.
- Hình thức tấn công tấn công khai thác lỗ hổng web đang là một hình thức tấn công phổ biến và ngày càng tăng mạnh hiện nay trên Internet.
- Từ các lỗ hổng khai thác đƣợc, kẻ tấn công có thể khai thác đƣợc các dữ liệu trong hệ thống hoặc thậm chí leo thang chiếm quyền điều khiển.
- Một website của tổ chức khi đƣợc đƣa lên internet luôn có thể trở thành mục tiêu của những kẻ tấn công nhắm tới.
- Các website mắc lỗi trở thành cửa ngõ cho kẻ tấn công xâm nhập vào hệ thống của tổ chức.
- Vì vậy, luận văn này sẽ nghiên cứu các kỹ thuật khai thác lỗ hổng website phổ biến và giải pháp phòng chống, cụ thể hóa các nghiên cứu đó vào ứng dụng cụ thể và thử nghiệm trong thực tế.
- Lịch sử nghiên cứu Năm 2009, tác giả Jim Beechey của SANS Technologhy Institute công bố báo cáo “Web Application Firewalls: Defense in Depth for Your Web Infrastructure” về các giải pháp triển khai tƣờng lửa ứng dụng web để bảo vệ website.
- Năm 2012, tác giả Ivan Ristic, thuộc công ty Qualys, công bố báo cáo “Protocol-Level Evasion of Web Application Firewalls” về việc xây dựng giải pháp tƣờng lửa ứng dụng web dùng Apache – ModSecuriy để đảo bảo các yêu cầu theo chuẩn PCI.
- Năm 2016, tác giả Vladimir Ivanov đã công bố nghiên cứu “Web Application Firewalls: Attacking detection logic mechanisms” về các kỹ thuật ngăn chặn của waf, các kỹ thuật kẻ tấn công dùng để vƣợt qua tại hội thảo Black hat USA 2016.
- Mục đích nghiên cứu - Nghiên cứu các giải pháp nhận dạng, ngăn chặn tấn công ứng dụng web.
- Nghiên cứu về giải pháp tƣởng lửa cho ứng dụng web (WAF.
- Nghiên cứu về giải pháp waf sử dụng ModSecurity kết hợp tập luật CoreRuleSet - Xây dựng giải pháp tƣờng lửa chống tấn công khai thác lỗ hổng bảo mật ứng dụng web dùng Apache – ModSecurity, kết hợp hệ thống quản trị, theo dõi tập trung.
- Đối tƣợng và phạm vi nghiên cứu - Tìm hiểu cơ bản về các lỗ hổng bảo mật ứng dụng WAF.
- Tìm hiểu các mô hình nhận dạng tấn công ứng dụng web.
- Tóm tắt luận văn Toàn bộ nội dung của Luận văn đƣợc chia thành 03 chƣơng nhƣ sau: Chƣơng 1: Các kỹ thuật khai thác lỗ hổng bảo mật ứng dụng web Chƣơng 2: Xây dựng giải pháp phát hiện và ngăn chặn tấn công thác lỗ hổng bảo mật ứng dụng web Chƣơng 3: Triển khai và thử nghiệm giải pháp 6.
- 1 CHƢƠNG 1 – CÁC KỸ THUẬT KHAI THÁC LỖ HỔNG BẢO MẬT ỨNG DỤNG WEB 1.1.
- Tổng quan về nguy cơ, rủi ro và tác động của các tấn công 1.1.1.
- Khái niệm ứng dụng web Các ứng dụng web là các chƣơng trình cho phép ngƣời truy cập website để chuyển lên và lấy dữ liệu về cơ sở dữ liệu thông qua Internet bằng cách sử dụng trình duyệt web.
- Dữ liệu sau đó đƣợc hiển thị trên trình duyệt của ngƣời dùng, thông tin trên đó đƣợc tạo ra tự động (theo một định dạng cụ thể, ví dụ nhƣ trong HTML bằng cách sử dụng CSS) bởi các ứng dụng web thông qua một máy chủ web.
- Nếu tìm hiểu chi tiết về kỹ thuật hơn thì các ứng dụng Web truy vấn máy chủ dữ liệu và tự động tạo ra các dữ liệu trên website để hiển thị cho ngƣời dùng.
- Mô hình hoạt động của ứng dụng web Thông thƣờng mô hình của ứng dụng web theo mô hình 03 lớp.
- 2 Hình 1.1: Mô hình hoạt động ứng dụng web Hình 1.2 (bên dƣới) sẽ thể hiện chi tiết hơn quá trình từ lúc yêu cầu ban đầu đƣợc kích hoạt bởi ngƣời sử dụng thông qua trình duyệt trên Internet cho các máy chủ ứng dụng web, tiếp theo các ứng dụng web truy xuất đến máy chủ cơ sở dữ liệu để thực hiện các nhiệm vụ đƣợc yêu cầu nhƣ: thêm mới, cập nhật, lấy các thông tin trong cơ sở dữ liệu.
- Các ứng dụng web sau đó chuyển thông tin về đến trình duyệt web để cung cấp cho ngƣời dùng.
- Hình 1.2: Mô hình chi tiết hoạt động ứng dụng web 1.1.2.
- Vấn đề bảo mật ứng dụng web Khi các công nghệ mới đƣợc phát triển và ứng dụng mạnh mẽ nhƣ các ứng dụng web hiện nay, thì theo khách quan đi cùng với điều này sẽ là hàng loạt các lỗ hổng bảo mật mới ra đời.
- Đa số các cuộc tấn công nghiêm trọng vào các ứng dụng web là làm lộ thông tin, dữ liệu nhạy cảm hoặc truy cập không hạn chế với các hệ thống mà các ứng dụng đang hoạt động Vấn đề cốt lõi trong bảo mật ứng dụng web liên quan đến việc ngƣời dùng có thể nhập, tùy biến dữ liệu đầu vào bất kỳ.
- Các ứng dụng web cũng nhƣ các ứng dụng phân tán khác đều phải đối mặt với một vấn đề căn bản và cần phải giải quyết tốt đó là các kết nối từ phía ngƣời dùng thƣờng ngoài tầm kiểm soát của ứng dụng 3 web, ngƣời dùng có nhập hay tùy biến dữ liệu đầu vào bất kỳ để chuyển về cho ứng dụng web xử lý.
- Do đó, để đảm bảo an toàn thì các ứng web phải giả định rằng các dữ liệu đầu vào có thể nguy cơ là mã độc và có các bƣớc kiểm tra chắc chắn rằng kẻ tấn công không thể thay thế hay chèn dữ liệu đầu vào một cách thủ công để gây hại cho các ứng dụng web bằng cách can thiệp vào tính logic, cách thức hoạt động của các ứng dụng web, từ đó có thể truy cập trái phép vào chức năng và dữ liệu ứng dụng web.
- Danh sách rủi ro bảo mật cho các ứng dụng web OWASP Top 10 OWASP là viết tắt của The Open Web Application Security Project là dự án mở về bảo mật ứng dụng Web.
- Dự án là một sự cố gắng chung của cộng đồng giúp các tổ chức có thể phát triển, mua hoặc bảo trì các ứng dụng an toàn.
- Việc không bị thƣơng mại hóa ảnh hƣởng giúp OWASP đƣa ra những thông tin chính xác, không thiên vị và có giá trị về an toàn ứng dụng.
- OWASP không liên kết với bất kì công ty kỹ thuật nào, dù OWASP hỗ trợ về các mặt kỹ thuật trong an toàn thông tin ứng dụng.
- Công cụ và các tiêu chuẩn về an toàn các ứng dụng.
- Thƣ viện và các tiêu chuẩn kiểm soát anh ninh ứng dụng.
- Địa chỉ thƣ liên lạc chung - Và nhiều nội dung khác OWASP Top 10 2013 đánh dấu 11 năm hoạt động tuyên truyền về sự quan trọng của bảo mật thông tin cho các ứng dụng.
- Mục tiêu chính của OWASP Top 10 là để hƣớng dẫn ngƣời lập trình viên, ngƣời thiết kế, kỹ sƣ, quản lí và cả tổ chức về hậu quả của những điểm yếu 4 quan trọng nhất trong ứng dụng web.
- Các kỹ thuật tấn công phổ biến Theo OWASP Top 10 2013, danh sách các lỗ hổng bảo mật ứng dụng web phổ biến gồm những nhóm lỗi sau [2] Tên lỗi Mô tả lỗi A1 – Lỗi nhúng mã Xảy ra trong các ứng dụng nhƣ SQL, LDAP khi những dữ liệu không xác thực đƣợc gửi tới hệ thống biên dịch nhƣ một phần của mã lệnh.
- Những dữ liệu này của kẻ tấn công có thể lừa hệ thống biên dịch thực hiện những mã lệnh độc hại hoặc giúp kẻ tấn công xâm nhập đến những dữ liệu quan trọng một cách trái phép A2 – Lỗi xác thực và quản lý phiên làm việc Những đoạn chƣơng trình kiểm tra danh tính và quản lý phiên làm việc của ngƣời sử dụng thƣờng hay đƣợc làm qua loa không đúng cách.
- Điều này giúp kẻ thâm nhập có thể ăn cắp mật mã, khóa, mã của các phiên làm việc {session token} hoặc tận dụng những lỗi khác để giả mạo danh tính các ngƣời dùng khác A3 – Thực thi mã script xấu (XSS) Xảy ra khi một ứng dụng tiếp nhận những dữ liệu không đáng tin cậy và gửi nhúng đến cho trình duyệt web mà không qua xử lý và kiểm duyệt.
- XSS cho phép kẻ tấn công thực hiện mã độc trên trình duyệt của ngƣời bị tấn công và lợi dụng ăn cắp phiên truy cập để mạo danh hoặc hủy hoại trang web hoặc lừa ngƣời sử dụng đến những trang web chứa mã độc khác.
- Nếu chúng ta không có một hệ thống kiểm tra truy cập, kẻ tấn công có thể lợi dụng những tham chiếu này để truy cập dữ liệu một cách trái phép..
- Chƣơng 2 – Giao thức TCP hiện tại 5 A5 – Sai sót cấu hình bảo mật Một cơ chế an ninh tốt cần phải định nghĩa những hiệu chỉnh về an ninh và triển khai nó cho các ứng dụng, máy chủ ứng dụng, máy chủ web, máy chủ dữ liệu và các ứng dụng nền tảng.
- 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.
- A6 – Phơi bày các dữ liệu nhạy cảm Nhiều ứng dụng web không bảo vệ dữ liệu nhạy cảm nhƣ thẻ tín dụng, mã số thuế và những mã xác thực bí mật bằng các phƣơng thức mã hóa hay băm (hashing).
- Kẻ tấn công có thể ăn cắp hay thay đổi những dữ liệu hạy cảm này và tiến hành hành vi trộm cắp, gian lận thẻ tín dụng, v.v..
- A7 – Thiếu chức năng điều khiển truy cập Gần nhƣ tất cả các ứng dụng web kiểm tra quyền truy cập cấp độ chức năng trƣớc khi thực hiện chức năng mà có thể nhìn thấy trong giao diện ngƣời dùng.
- Tuy nhiên, các ứng dụng cần phải thực hiện kiểm tra kiểm soát truy cập tƣơng tự trên máy chủ khi mỗi chức năng đƣợc truy cập.
- Nếu yêu cầu không đƣợc xác nhận, kẻ tấn công sẽ có thể giả mạo yêu cầu để truy cập vào chức năng trái phép A8 – Giả mạo yêu cầu (CSRF) Kiểu tấn công này ép buộc trình duyệt web của một ngƣời dùng đã đăng nhập gửi những yêu cầu các HTTP giả bao gồm cookie của phiên truy cập và những thông tin tự động khác bao gồm thông tin đăng nhập đến một ứng dụng web.
- Điều này, cho phép kẻ tấn công buộc trình duyệt web tạo ra những yêu cầu đến ứng dụng web mà ứng dụng không thể biết đây là những yêu cầu giả mạo của kẻ tấn công.
- Chƣơng 2 – Giao thức TCP hiện tại 6 Các ứng dụng sử dụng các thành phần tồn tại lổ hỏng có thể làm suy yếu phòng thủ của hệ thống, cho phép một loạt các cuộc tấn công và ảnh hƣởng đến hệ thống A10 – Chuyển hƣớng và chuyển tiếp thiếu kiểm tra Ứng dụng web thƣờng chuyển hƣớng, chuyển tiếp ngƣời dùng đến những trang web, website khác và sử dụng những thông tin thiếu tin cậy để xác định trang đích đến.
- Nếu không đƣợc kiểm tra một cách cẩn thận, kẻ tấn công có thể lợi dụng để chuyển hƣớng nạn nhân đến các trang web lừa đảo hay trang web chứa phần mềm độc hại, hoặc chuyển tiếp để truy cập các trang trái phép.
- Các kỹ thuật để phát hiện và ngăn chặn tấn công 1.3.1.
- Sự phát triển của nhận dạng tấn công ứng dụng web Hiện nay, khi đề cập đến phát hiện xâm nhập (IDS) thì đa số ngƣời dùng nghĩ đến một hệ thống phát hiện xâm nhập mạng (NIDS) [1].
- Một NIDS hoạt động ở mức TCP/IP và đƣợc sử dụng để phát hiện các cuộc tấn công dịch vụ mạng, bao gồm các máy chủ web.
- Nhiều loại NIDS đƣợc phát triển, trong đó có NIDS nhằm phát hiện xâm nhập cho các ứng dụng web.
- Mặc dù, NIDS cho các ứng dụng web đƣợc thiết kế để giải quyết tốt vấn đề trợ giúp phát hiện xâm nhập ứng dụng web.
- Tuy nhiên, các NIDS này không thể thực hiện đầy đủ phát hiện các xâm nhập tiềm năng với các ứng dụng web vì những lý do sau đây.
- 7 - Vấn đề thực sự là các ứng dụng web không phải đơn giản là sử dụng giao thức HTTP.
- Thay vào đó, HTTP chỉ đƣợc sử dụng để thực hiện trao đổi dữ liệu của các ứng dụng cụ thể.
- Có thể xem nhƣ mỗi ứng dụng đƣợc xây dựng giao thức riêng của mình trên đầu trang của HTTP.
- Nhiều giao thức mới đƣợc triển khai trên HTTP (dịch vụ Web, XML-RPC, và SOAP) làm tăng mức độ phức tạp ứng dụng web.
- Cuối cùng, một loại IDS đã ra đời đó là tƣờng lửa ứng dụng web - WAF.
- WAF còn đƣợc gọi là các cổng ứng dụng web, đƣợc thiết kế đặc biệt để bảo vệ các ứng dụng web.
- Các yêu cầu kết nối thay vì đi trực tiếp đến các ứng dụng web thì sẽ đƣợc đƣa đến một WAF kiểm tra và kết nối nếu WAF cho rằng yêu cầu này an toàn.
- WAF đƣợc thiết kế hoàn toàn để đối phó với các cuộc tấn công vào ứng dụng web và phù hợp nhất cho mục đích phát hiện và ngăn chặn tấn công ứng dụng web.
- Các phƣơng pháp nhận dạng tấn công ứng dụng web 1.3.2.1.
- Kỹ thuật nhận dạng tấn công Căn cứ vào cách tiếp cận mà một số thông tin phân loại dễ nhầm lẫn, thiếu sót trong quá trình phân loại là việc nhằm lẫn giữa phƣơng pháp phát hiện xâm nhập và các chức năng của hệ thống phát hiện xâm nhập.
- 8 Hình 1.3: Các kỹ thuật nhận dạng tấn công ứng dụng web - Kỹ thuật nhận dạng tĩnh: Phát hiện xâm nhập dạng tĩnh dựa trên nhật ký truy cập chi tiết của máy chủ web, nơi mà các thông tin về tất cả các yêu cầu truy cập từ phía ngƣời dùng đƣợc lƣu lại.
- Vì vậy, việc ngăn chặn tấn công tại thời điểm đang bị tấn công là không thể.
- Các chức năng chính của hệ thống phát hiện xâm nhập ứng dụng web - Phát hiện bất thƣờng trong giao thức sử dụng: Các IDS thực hiện một số kiểm tra yêu cầu gửi đến và không chấp nhận bất cứ điều gì không phù hợp với các tiêu chuẩn HTTP.
- Ngoài ra, các IDS có thể thu hẹp các tính năng với các ứng dụng web và do đó làm giảm bớt các dạng tấn công.

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