Chương 1: Tổng quan Chương này giới thiệu tổng quan về đề tài và sự cần thiết của việc nghiên cứu đề tài và áp dụng vào trong các webite. Nói đến các đối tượng nghiên cứu và phạm vi. Chương 2: Lý thuyết về bảo mật ứng dụng web. Trình bày các khái niệm chính trong đề tài như: ứng dụng web, mô hình hoạt động ứng dụng webite, cách quét lỗ hổng, ngăn chặn và bảo mật webite.
Chương 3: Những công cụ quét lỗ hổng bảo mật có liên quan. Giới thiệu sơ lược lịch sử các nghiên cứu có liên quan đến đề tài, công cụ quét burpsuite và nmap và một số công cụ khác để so sánh. Chương 4: Xây dựng ứng dụng quét lỗ hổng bảo mật. kết hợp các công cụ quét lỗ hổng cho webite và khắc phục sự cố.
mô ta demo đã làm của nghiên cứu này. Chương 5: Kết luận và hướng phát triển. Kết luận lại những gì đã nghiên cứu và đưa ra hướng phát triển cho nghiên cứu này. 8 CHƯƠNG 2: Lý thuyết về bảo mật ứng dụng web Trong những năm gần đây, các vụ tấn công mạng gia tăng mạnh về mặt số lượng, hình thức vi phạm ngày càng tinh vi và có tính tổ chức.
Có nhiều hình thức tấn công với những kỹ thuật khác nhau, phổ biến nhất là các kỹ thuật: Tấn công dò quét điểm yếu dịch vụ UPNP, tấn công gây từ chối dịch vụ phân giải tên miền DNS, tấn công dò mật khẩu dịch vụ FTP bằng phương pháp vét cạn (brute force login attempt)… Trong tháng 5/2023, Trung tâm Giám sát an toàn không gian mạng quốc gia thuộc Cục An toàn thông tin, Bộ Thông tin và Truyền thông ghi nhận, cảnh báo 695 cuộc tấn công mạng gây ra sự cố vào các hệ thống thông tin tại Việt Nam, tăng 39,6% so với tháng 4 và giảm 17,9% so với cùng kỳ năm 2022.1 Thông số kỹ thuật tấn công web. Thống kê trên cho thấy các kỹ thuật tấn công phổ biến vào hệ thống thông tin của nước ta là rất đa dạng và thay đổi liên tục. Do đó, các cơ quan, tổ chức liên quan cần đề cao cảnh giác, nâng cao năng lực để đối phó với những tội phạm mạng ngày càng phức tạp và phát triển. Để bảo đảm an toàn thông tin mạng, Cục An toàn thông tin (Bộ Thông tin và Truyền thông) sẽ tiếp tục tăng cường giám sát an toàn hê ¡ thống thông tin, chủ động rà quét trên không gian mạng Viêt¡ Nam, đánh giá, thống kê và tiếp tục đẩy mạnh 9 tuyên truyền, cảnh báo trên các phương tiên¡ thông tin đại chúng để người dùng biết, phòng tránh.
Đồ án chuyên ngành được thực hiện nhằm tìm hiểu về các kỹ thuật tấn công trang web và đề ra cách phòng chống và ngăn chặn các cuộc tấn công. Các cách tấn công cũng như phòng tránh sẽ được giới thiệu một số khái niệm cơ bản để xây dựng nội dung cho những phần sau.1 Giới thiệu về ứng dụng Web.1 Khái niệm về ứng dụng web. Website (còn gọi là trang web) là một tập hợp các trang thông tin được liên kết với nhau, có khả năng truy cập cộng đồng và dùng chung một tên miền. Thông thường, website sẽ được phát triển và duy trì bởi một cá nhân, tổ chức hoặc doanh nghiệp đáp ứng mục đích sử dụng khác nhau tùy theo nhu cầu của người dùng.
Tất cả các website có thể truy cập công khai hình thành nên cộng đồng World Wide Web. Website không bị giới hạn bởi số lượng vì chúng gần như là vô tận. Có vô số trang web phục vụ các mục đích khác nhau như: website bán hàng, website thương mại điện tử, website giáo dục, website dịch vụ… Tốc độ phát triển các kỹ thuật xây dựng ứng dụng web cũng phát triển rất nhanh. Trước đây những ứng dụng web thường được xây dựng bằng CGI (Common Getaway Interface) được chạy trên các máy chủ web và kết nối với với các cơ sở dữ liệu đơn giản trên cùng một máy chủ.
Ứng dụng web là một ứng dụng chủ/khách sử dụng giao thức HTTP để tương tác với người dùng hay hệ thống khác. Trình khách dành cho người sử dụng thường là một trình duyệt web như: Internet Explorer hay FireFox. Giao diện web thông qua Thông qua Java, JavaScript, DHTML, Flash và những công nghệ khác, những phương pháp chỉ ứng dụng mới có như vẽ trên màn hình, chơi nhạc, và dùng được bàn phím và chuột tất cả đều có thể thực hiện được. Những kỹ thuật thông thường như kéo thả cũng được hỗ trợ bởi những công nghệ trên.
việc xây dựng ứng dụng Web để hỗ trợ những tính năng chuẩn của trình duyệt đó là chúng sẽ hoạt động như mong muốn bất kể hệ điều hành hay phiên bản hệ điều hành nào được cài trên máy khách cho trước. Thay vì tạo ra những chương trình 10 khách cho MS Windows, Mac OS X, GNU/Linux, và những hệ điều hành khác, ứng dụng có thể được viết chỉ một lần và triển khai mọi nơi. Cấu trúc của một ứng dụng web Một cấu trúc của ứng dụng wed có tất cả 3 lớp: Lớp trình bày: : Lớp này có nhiệm vụ hiển thị dữ liệu cho người dùng, ngoài ra còn có thể có thêm các ứng dụng tạo bố cục cho trang web. Lớp ứng dụng: Là nơi xử lý của ứng dụng web.
Nó sẽ xử lý thông tin người dùng yêu cầu, đưa ra quyết định, gửi kết quả đến “lớp trình bày”. Lớp dữ liệu: Thường là các hệ quản trị dữ liệu (DBMS) chịu tránh nhiệm quản lý các file dữ liệu và quyền sử dụng. Mô hình hoạt động của web. Bên cạnh đó, một giải pháp dùng để bảo vệ hệ thống mạng thường được sử dụng là bức tường lửa (firewall), nó có vai trò như lớp rào chắn bên ngoài một hệ thống mạng, vì chức năng chính của firewall là kiểm soát luồng thông tin giữa các máy tính.2 Mô tả hoạt động ứng dụng web.
Đầu tiên trình duyệt sẽ gửi một yêu cầu (request) đến máy chủ Web thông qua các lệnh cơ bản GET, POST… của giao thức HTTP, máy chủ lúc này có thể cho 8 thực thi một chương trình được xây dựng từ nhiều ngôn ngữ như Perl, C/C++… hoặc máy chủ yêu cầu bộ biên dịch thực thi các trang ASP, JSP… theo yêu cầu của máy khách. Một hệ thống web thông thường bao gồm 3 loại chương trình chạy khác nhau: trình duyệt – loại chương trình chạy trên máy tính của người dùng; chương trình máy chủ web (web server) – loại chương trình chạy trên một máy tính riêng rất mạnh. trình duyệt và chương trình máy chủ web tương tác với nhau qua một mạng truyền thông (thường là mạng tcp/ip), sử dụng giao thức HTTP (Hypertext Transfer Protocol).3 Một số chứng năng phổ biến của các ứng dụng web Ứng dụng web đã được phát triển nhằm thực hiện tất cả các chức năng hữu ích có thể sử dụng được trong môi trường trực tuyến (Internet). Dưới đây là một số chức năng của ứng dụng web đã được phát triển và sử dụng rất nhiều trong những năm gần đây.
Mua bán trực tuyến: Amazon, Ebay, 5giay.com,…\ Mạng xã hội: Facebook, zalo Ngân hàng trực tuyến: TP.BANK, Vietinbank… Tìm kiếm: Google, Safari,…. Webmail (quản lý Email bằng trình duyệt Web): Gmail, Facebook, Zalo Hiện nay, với sự phát triển mạnh mẽ của Internet và các thiết bị di động cầm tay như: Laptop, Smarphone, Tablet,… thì các ứng dụng phải đáp ứng khả năng kết nối di động bằng cách sử dụng trình duyệt web hoặc các ứng dụng riêng trên di động (Android, IOS, Windows phone,…) sử dụng cơ chế kết nối đến Server dựa trên HTTP/HTTPS thông các hàm APIs.4 Vấn đề bảo mật 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, đánh cắp tiền và các dữ liệu nhậy cảm.
Đối với nhiều tổ chức một cuộc tấn công gây ngừng hoạt động hệ thống là một vấn đề nghiêm trọng. Các tấn công từ chối dịch vụ ở cấp độ ứng dụng có thể được sử dụng để đạt được mục tiêu gây cạn kiệt nguồn tài nguyên tương tự như cuộc tấn công đối với cơ sở hạ tầng. Tuy nhiên, một nhận thức sai lầm phổ biến cho rằng vấn đề bảo mật cho các ứng dụng web là an toàn. Chỉ cần chúng ta duyệt qua một số trang web mua bán hàng trực tuyến, vào trang “những câu hỏi thường gặp” (FAQ), chúng ta sẽ rất yên tâm 13 rằng trang web này an toàn.
Vì hầu hết các ứng dụng web này công bố an toàn bởi vì họ sử dụng SSL Trong thực tế, phần lớn các ứng dụng web là không an toàn, mặc dù đã sử dụng rộng rãi công nghệ bảo mật SSL và tuân thủ quy trình, tiêu chuẩn PCI (Payment Card Industry - chuẩn công nghiệp của thẻ thanh toán). Các điểm yếu hay lỗ hổng nghiêm trọng của các ứng dụng web thường bắt nguồn từ việc viết mã (coding) không đúng phương pháp hay quy trình phát triển ứng dụng không an toàn sẽ cho phép tin tặc (hacker) truy cập trực tiếp và khai thác cơ sở dữ liệu để lấy dữ liệu. Các vấn đề trong bảo mật ứng dụng wed được mô tả cụ thể qua các trường hợp sau: Người dùng có thể can thiệp vào bất kỳ phần dữ liệu được truyền giữa client và server, bao gồm các thông số gởi đi, cookies, và HTTP Header. Người dùng có thể gửi yêu cầu theo thứ tự bất kỳ và có thể gửi các thông số tại một giai đoạn nhiều hơn một lần, hoặc không gì cả khác với những gì dự kiến theo trật tự, quy luật của ứng dụng web.
Người sử dụng không bị giới hạn chỉ sử dụng một trình duyệt web để truy cập ứng dụng.5 Các phương pháp kiểm tra an toàn ứng dụng web. Phương pháp kiểm tra hộp đen các lỗi bảo mật trên ứng dụng web đề cập đến việc kiểm tra các ứng dụng từ bên ngoài, tức là quan sát các dữ liệu được đệ trình đến ứng dụng và các dữ liệu từ ứng dụng xuất ra mà không cần hiểu đến hoạt động bên trong của nó. Quá trình đệ trình dữ liệu từ bên ngoài đến ứng dụng có thể thực hiện bằng thủ công hoặc sử dụng công cụ tự động gửi đến ứng dụng. Phương pháp kiểm tra hộp trắng các lỗi bảo mật trên ứng dụng web là quá trình kiểm tra trực tiếp mã nguồn của ứng dụng web để tìm ra các lỗi bảo mật.
Quá trình quan sát và kiểm tra mã nguồn có thể thực hiện thủ công hoặc thực hiện bằng công cụ.