1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu về snort và ứng dụng trong việc phát hiện tấn công sql injection xây dựng phương án phòng chống cho website cloud travel

88 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Định dạng
Số trang 88
Dung lượng 7,44 MB

Nội dung

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGH THÔNG TIN ỆMã đề tài: 1415 ĐỒ ÁN T T NGHIỆP ĐẠI HỌC Ố Hà N i ộ - Năm 2022 Chuyên ngành: Mạng và An toàn h ệ thống TÌM HIỂU VỀ SNORT VÀ ỨNG DỤNG TR

Trang 1

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGH THÔNG TIN

(Mã đề tài: 1415)

ĐỒ ÁN T T NGHIỆP ĐẠI HỌC Ố

Hà N i ộ - Năm 2022 Chuyên ngành: Mạng và An toàn h ệ thống

TÌM HIỂU VỀ SNORT VÀ ỨNG DỤNG TRONG VIỆC PHÁT HIỆN TẤN CÔNG SQL INJECTION XÂY DỰNG PHƯƠNG ÁN -

PHÒNG CHỐNG CHO WEBSITE CLOUD TRAVEL

Trang 2

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI KHOA CÔNG NGH THÔNG TIN

Trang 3

TRƯỜNG ĐẠI HỌC MỞ HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự do – Hạnh phúc

Hà Nội, ngày tháng năm 20

NHIỆM VỤ CỦA ĐỒ ÁN TỐT NGHIỆP

Họ và tên: Nguyễn Thị Vân Giới tính: Nữ

Chuyên ngành: Mạng và an toàn hệ thống Mã sinh viên: 18A10010018 Lớp hành chính: 1810A01

1 TÊN ĐỀ TÀI

Tìm Hiểu Về SNORT Và Ứng Dụng Trong Việc Phát Hiện Tấn Công SQL Injection - Xây Dựng Phương Án Phòng Chống Cho Website

Cloud Travel

2 NHIỆM VỤ VÀ NỘI DUNG

Nhiệm vụ cụ thể của đồ án tốt nghiệp :

- Nghiên cứu và tìm hiểu về an toàn an ninh mạng

- Nghiên cứu và hiểu về SNORT, các đặc điểm cơ bản, cách hoạt động của SNORT

- Hiểu được SQL Injection là gì

- Nắm được cách thức hoạt động của kỹ thuật tấn công SQL Injection

- Có thể sử dụng được SNORT để phát hiện tấn công SQL Injection

- Nghiên cứu và phòng chống thành công kỹ thuật tấn công SQL

Injection đối với website

3 NGÀY GIAO NHIỆM VỤ: 22/09/2022

4 NGÀY HOÀN THÀNH NHIỆM VỤ: 17/12/2022

5 PHÂN CÔNG CÔNG VIỆC

6 GIẢNG VIÊN HƯỚNG DẪN: ThS Trần Tiến Dũng

Ngày … tháng … năm 20

GIẢNG VIÊN HƯỚNG DẪN KHOA CÔNG NGHỆ THÔNG TIN

Trang 4

LỜI NÓI ĐẦU

Lời đầu tiên, cho phép em xin gửi lời cảm ơn đến ThS Trần Tiến Dũng - người thầy đã trực tiếp hướng dẫn em trong suốt quá trình thực hiện Đồ án của mình Những nhận xét, đánh giá cũng như những chia sẻ kinh nghiệm làm việc của thầy là những thông tin vô cùng hữu ích cho việc hoàn thành Đồ án tốt nghiệp của em Em xin trân trọng cảm ơn thầy, chúc thầy và gia đình luôn luôn mạnh khỏe cũng như gặt hái được nhiều thành công trong công việc và cuộc sống

Bên cạnh đó em cũng xin gửi lời cảm ơn đến tất các thầy cô giáo trong Khoa Công nghệ Thông tin – Trường Đại học Mở Hà Nội Trong quá trình học tập tại Khoa Công nghệ thông tin, những kiến thức do thầy cô truyền thụ chính là cơ sở, là nền tảng giúp em rất nhiều trong việc hoàn thành được đồ

án của mình

Do thời gian nghiên cứu và làm việc trong ngành Công nghệ thông tin nói chung cũng như chuyên ngành Mạng và an toàn thông tin nói riêng còn hạn chế, báo cáo của em không tránh khỏi những thiếu sót Em rất mong nhận được sự những đóng góp quý báu của thầy cô

Cuối cùng em xin kính chúc các thầy các cô mạnh khỏe, luôn luôn là những người lái đò ân cần dìu dắt các thế hệ tiếp theo của FITHOU trưởng thành Em xin chân thành cảm ơn!

Hà Nội, ngày tháng năm 20

Tác giả

Trang 5

MỤC LỤC

LỜI NÓI ĐẦU

MỤC LỤC

DANH MỤC HÌNH ẢNH

DANH MỤC BẢNG BIỂU

DANH MỤC TỪ VIẾT TẮT

TÓM TẮT ĐỒ ÁN

Chương 1: TÌM HIỂU CHUNG VỀ AN TOÀN VÀ TẤN CÔNG MẠNG 1

1.1 Khái niệm chung về an ninh và bảo mật mạng 1

1.1.1 An ninh mạng là gì? 1

1.1.2 Những đặc điểm cơ bản của an ninh mạng 2

1.1.3 Các đối tượng tấn công an ninh mạng phổ biến 3

1.1.4 Các đối tượng có thể bị tấn công an ninh mạng 4

1.2 Thực trạng an ninh mạng hiện nay qua việc sử dụng website của người dùng 4

1.2.1 Thực trạng 4

1.2.2 Hậu quả của việc mất an toàn an ninh mạng 8

1.3 Các hình thức tấn công an ninh mạng phổ biến 8

1.3.1 Tấn công bằng phần mềm độc hại – Malware Attack 8

1.3.2 Tấn công giả mạo - Phishing Attack 11

1.3.3 Tấn công cơ sở dữ liệu - SQL Injection 12

1.3.4 Tấn công từ chối dịch vụ - DoS & DdoS 13

1.3.5 Tấn công bằng cách khai thác lỗ hổng Zero Day - Zero Day Attack 14

1.3.6 Tấn công trung gian - Main In The Middle Attack 15

Chương 2: HỆ THỐNG PHÁT HIỆN TẤN CÔNG SQL INJECTION - SNORT 16

2.1 Giới thiệu chung về SNORT 16

2.2 Kiến trúc của SNORT 17

Trang 6

2.2.1 Module giải mã gói tin 18

2.2.2 Module tiền xử lý 19

2.2.3 Module phát hiện 20

2.2.4 Module log và cảnh báo 20

2.2.5 Module kết xuất thông tin 21

2.3 Bộ luật của SNORT 21

2.3.2 Cấu trúc của phần Header 23

2.3.3 Phần Option của SNORT 25

2.4 Hướng dẫn cài đặt và cấu hình SNORT trên hệ điều hành Ubuntu 36

2.4.1 Chuẩn bị hệ thống trước khi tiến hành cài SNORT 36

2.4.2 Cài đặt các gói bắt buộc và SNORT 38

2.4.3 Cấu hình SNORT 41

2.4.4 Demo hoạt động của SNORT 44

Chương 3: KỸ THUẬT TẤN CÔNG CƠ SỞ DỮ LIỆU SQL INJECTION 46 3.1 Tấn công SQL Injection là gì? 46

3.2 Các dạng tấn công SQL Injection 47

3.2.1 In-band SQLi (Classic) 47

3.2.2 Inferential SQLi (Blind) 47

3.2.3 Out- -band SQLiof 48

3.3 Những phần dễ bị tấn công bởi SQL Injection 49

3.4 Một số câu lệnh tấn công SQL Injection 49

3.5 Demo tấn công bằng SQL Injection 50

3.5.1 Tấn công vượt qua đăng nhập 50

3.5.2 Tấn công phá hoại cơ sở dữ liệu 52

3.6 Hậu quả của việc bị tấn công SQL Injection 56

Chương 4: ỨNG DỤNG SNORT VÀO VIỆC PHÁT HIỆN VÀ XÂY DỰNG PHƯƠNG PHÁP PHÒNG CHỐNG TẤN CÔNG SQL INJECTION 58

4.1 Phát hiện tấn công SQL Injection cho website bằng cách sử dụng SNORT 58

Trang 7

4.2 Các phương pháp phòng chống tấn công SQL Injection phổ biến hiện

nay 61

4.2.1 Xác thực và lọc dữ liệu đầu vào ngay từ phía người dùng 62

4.2.2 Lựa chọn sử dụng tham số thay vì các câu lệnh truy vấn trực tiếp 62 4.2.3 Cân nhắc để phân quyền rõ ràng cho các user trong DB 63

Chương 5: TRIỂN KHAI THỰC NGHIỆM TRÊN WEBSITE CLOUDTRAVEL 64

5.1 Khảo sát thực trạng môi trường thực nghiệm 64

5.2.1 Mô hình th c hi n t n côngự ệ ấ 67

5.2.2 Tri n khai t n công SQL Injection trên website CloudTravelể ấ 67

5.3 Triển khai xây dựng phương án phòng chống 69

5.3.1 Mô hình thực hiện 69

5.3.2 Tiến hành triển khai 70

5.3.2.1 Cài đặt Modsecurity cho hệ thống 70

5.3.2.2 Triển khai ngăn chặn tấn công SQL Injection bằng Modsecurity cho website CloudTravel 73

KẾT LUẬN 76

TÀI LI U THAM KH O Ệ Ả 77

Trang 8

DANH MỤC HÌNH ẢNH

Hình 2.1 Ki n trúc c a SNORT ế ủ 18

Hình 2.2 X lý mử ột gói tin Ethernet 18

Hình 2.4 Khởi động và chuy n quy n user ể ề 37

Hình 2.5 C p nh t và nâng c p h ậ ậ ấ ệ thống 37

Hình 2.6 Tiến hành cài đặt các thư viện cần thi t ế 38

Hình 2.7 T i mã ngu n daq t trang ch c a SNORT ả ồ ừ ủ ủ 38

Hình 2.8 Ti n hành gi i nén file vế ả ừa cài đặt 39

Hình 2.9 Biên dịch và cài đặt DAQ 39

Hình 2.10 T i xu ng mã nguả ố ồn của SNORT 40

Hình 2.11 Gi i nén file v a t i và tiả ừ ả ến hành cài đặ 41t Hình 2.12 Tạo thư mục và người dùng mới sau đó cấp quy n ề 41

Hình 2.13 T i xu ng b quy t c cả ố ộ ắ ộng đồng 42

Hình 2.14 Ti n hành giế ải nén và cài đặt 42

Hình 2.15 C u hình mấ ạng và đặt đường d n cho các b quy t c ẫ ộ ắ 43

Hình 2.16 Chạy SNORT dưới ch ế độ test để xác thực cài đặt 43

Hình 2.17 T o thêm lu t m i ạ ậ ớ 44

Hình 2.18 Kh i ch y SNORT ở ạ 45

Hình 2.19 Ping t 1 máy bên ngoài t i máy có cài SNORTừ ớ 45

Hình 2.20 SNORT hoạt động và có th ể đưa ra cảnh báo 45

Hình 3.1 Gi i thi u v SQL Injection ớ ệ ề 46

Hình 3.2 Hình ảnh website được sử dụng để demo tấn công 51

Hình 3.3 Form đăng nhập của website 51

Hình 3.4 S d ng mử ụ ệnh để luôn đúng để ấn công vượt qua đăng nhậ t p 52

Hình 3.5 Vượt qua đăng nhập thành công 52

Hình 3.6 L y d ấ ữ liệ ừu t database 53

Hình 3.7 Hi n th t t c các b n ghi trong CSDL ể ị ấ ả ả 54

Hình 3.8 Hiển thị phiên b n c a CSDL Mysql ả ủ 55

Hình 3.9 Hi n th tên c a CSDL ể ị ủ 56

Hình 3.10 Hi n th n i dung các c t c a b ng User trong CSDLể ị ộ ộ ủ ả 56

Hình 4.1 Thêm lu t phát hi n SQL Injection ậ ệ 59

Hình 4.2 Giao di n website ệ 60

Hình 4.3 Ti n hành t n công ế ấ 60

Trang 9

Hình 4.4 Website ngay l p t c báo lậ ứ ỗi 61

Hình 4.5 SNORT cũng đồng thời đưa ra cảnh báo rằng có t n công ấ 61

Hình 5.1 Hình nh trang ch website ả ủ 66

Hình 5.2 Mô hình th c hi n t n công ự ệ ấ 67

Hình 5.3 Giao di n login c a website ệ ủ 68

Hình 5.4 Tấn công vượt qua đăng nhập 68

Hình 5.5 Vượt qua đăng nhập và truy cập vào hệ thống v i quyền admin 69ớ Hình 5.6 Mô hình phát hi n và phòng ch ng t n công ệ ố ấ 69

Hình 5.7 Update h ệ thống trước khi tiến hành cài đặt 70

Hình 5.8 Cài đặt apache2 bằng apt 70

Hình 5.9 Cài đặt Modsecurity 71

Hình 5.10 Kiểm tra module xem đã được bật hay chưa 71

Hình 5.11 Ti n hành c u hình cho Modsecurity ế ấ 71

Hình 5.12 T i xu ng b quy t c m i cho Modsecurity t Github ả ố ộ ắ ớ ừ 71

Hình 5.13 Cấu hình và đổi tên file để modsecurity có th ể hoạt động trên apache2 72

Hình 5.14 Sau đó, thực hiện tấn công lại thì modsecurity đã tiến hành ngăn chặn 72

Hình 5.15 B t Modsecurity và ch y l i apache2 ậ ạ ạ 73

Hình 5.16 Truy c p lậ ại trang đăng nhập của website 74

Hình 5.17 Th c hi n t n công l i b ng câu lự ệ ấ ạ ằ ệnh 74

Hình 5.18 K t qu là Modsecurity th c hi n phòng ch ng thành công ế ả ự ệ ố 75

Trang 10

DANH MỤC BẢNG BIỂU

Bảng 2.1 Bảng reference 27

Bảng 2.2 Bảng iports 32

Bảng 2 Bảng 3 flag 34

Bảng 2.4 Tham số của từ khóa detection_filter 38

Trang 11

DANH MỤC TỪ VIẾT TẮT

STT Tên vi t t t ế ắ Tên đầy đủ Dịch sang ti ng Vi t ế ệ

1 CNTT Công ngh thông tin ệ

2 IT Information Technology Công ngh thông tin ệ

3 IPS Intrusion Prevention

5 URL Uniform Resource Locator Hệ thống định vị tài nguyên th ng ố

nhất; được gọi m t cách thông ộthường là một địa ch web ỉ

6 SQL Structured Query LanguagNgôn ng truy v n mang tính cữ ấ ấu

trúc

7 CSDL Cơ sở dữ liệu

8 IP Internet Protocol Giao th c Internet ứ

10 DOS/DDOS (Distributed) Denial of

mật ứng dụng web trong mã nguồPHP

Trang 12

TÓM TẮT ĐỒ ÁN

Họ tên: Nguyễn Thị Vân

Chuyên ngành: Mạng và An toàn hệ thống Khóa: 2018-2022

Cán bộ hướng dẫn: ThS Trần Tiến Dũng

Tên đề tài: Tìm Hiểu Về SNORT Và Ứng Dụng Trong Việc Phát Hiện Tấn

Công SQL Injection - Xây Dựng Phương Án Phòng Chống Cho Website Cloud Travel

Nội dung:

Chương 1: Tìm Hiểu Chung Về An Toàn Và Tấn Công Mạng

Chương 2: Hệ Thống Phát Hiện Tấn Công Sql Injection - Snort

Chương 3: Kỹ Thuật Tấn Công Cơ Sở Dữ Liệu Sql Injection

Chương 4: Ứng Dụng Snort Vào Việc Phát Hiện Và Xây Dựng Chương 5: Triển Khai Thực Nghiệm Trên Website Cloud Travel

Chương 5: Triển Khai Th c Nghi m Trên Website Cloudtravel ự ệ

Trang 13

Chương 1: TÌM HIỂU CHUNG VỀ AN TOÀN VÀ TẤN CÔNG MẠNG

1.1 Khái niệm chung về an ninh và bảo mật mạng

1.1.1 An ninh mạng là gì?

- Chúng ta đang sống trong thời buổi mà việc trao đổi thông tin qua mạng Internet phát triển và cực kỳ phổ biến Nhu cầu sử dụng chung nguồn tài nguyên mạng từ nhiều vị trí địa lý khác nhau trên toàn cầu cũng ngày một tăng cao Điều này khiến cho nguồn tài nguyên dễ bị phân tán, mất mát và đứng trước nguy cơ bị xâm nhập, tấn công Đứng trước điều này, việc nhanh chóng tìm ra những phương pháp giải quyết là vô cùng cần thiết Vì thế mà

An ninh mạng đã được ra đời nhằm bảo vệ sự toàn vẹn của thông tin cũng như nguồn tài nguyên chung

- Trước đây, An ninh mạng được biết đến là thuật ngữ dùng để chỉ những hoạt động bảo mật vật lý nhằm bảo đảm sự an toàn cho những thông tin quan trọng của chính phủ hoặc các doanh nghiệp khỏi sự tấn công từ bên ngoài Tuy nhiên, trong thời buổi nhu cầu kết nối, chia sẻ thông tin và tài nguyên qua Internet phổ biến như hiện nay thì An ninh mạng cũng được mở rộng hơn rất nhiều

- An ninh mạng cũng được hiểu là sự bảo vệ phần cứng/phần mềm máy tính khỏi sự tấn công mạng Đồng thời, nó cũng là sự bảo vệ toàn vẹn chính xác cho thông tin, dữ liệu từ sự ảnh hưởng của các nguyên nhân dẫn đến sự gián đoạn hay làm sai lệch đi mục đích mà các dịch vụ đó cung cấp

- Khái niệm về An ninh mạng cũng chính thức được ghi lại tại Khoản 1, Điều 2 Luật An ninh mạng Cụ thể: “An ninh mạng là sự bảo đảm hoạt động trên không gian mạng không gây phương hại đến an ninh quốc gia, trật tự, an toàn xã hội, quyền và lợi ích hợp pháp của cơ quan, tổ chức, cá nhân.” Và hiện nay, đây được xem là một trong những vấn đề của tất cả các quốc gia

Trang 14

cũng như các vùng lãnh thổ trên thế giới, xuất phát từ chính sự đặc trưng, nhu cầu kết nối và tính xuyên biên giới của không gian mạng

1.1.2 Những đặc điểm cơ bản của an ninh mạng

- An ninh mạng chính là thực tiễn của việc bảo vệ các hệ thống điện tử, mạng lưới máy tính, thiết bị di động, các chương trình, phần mềm cũng như dữ liệu khỏi sự tấn công kỹ thuật số độc hại có chủ đích từ một đối tượng nào đó

- An ninh mạng thực hiện việc bảo vệ đối với cả kết nối có dây và không dây Một chiến lược an ninh mạng đủ mạnh có thể được xem là lá chắn hiệu quả để chống lại các cuộc tấn công nhằm xâm nhập và làm sai lệch hệ thống cũng như các dữ liệu được lưu trữ, nhất là các dữ liệu nhạy cảm

- Hoạt động của An ninh mạng được thực hiện thông qua một hệ thống cơ sở

hạ tầng chặt chẽ và được chia làm thành nhiều loại, tùy theo từng tình huống cũng như cho một đối tượng nhất định Cụ thể:

o An ninh mạng: thực hiện nhiệm vụ đảm bảo sự an toàn cho các dữ liệu kỹ thuật số trên các mạng lưới, máy tính hay thiết bị cá nhân năm ngoài sự tấn công dù là có chủ đích hay không và cả những phần mềm độc hại cơ hội

o Bảo mật thông tin: là bảo vệ nơi lưu trữ dữ liệu kể cả khi các dữ liệu lưu thông trên các mạng lưới thông tin Bên cạnh đó, nó bảo vệ tính toàn vẹn và riêng tư của dữ liệu kể cả trong quá trình lưu trữ và chuyển tiếp

o Bảo mật ứng dụng: tập trung chủ yếu vào việc bảo vệ thiết bị và dữ liệu khỏi sự đe dọa Và bảo mật ứng dụng thường gặp nhiều trong giai đoạn thiết kế, trước khi một chương trình hoặc thiết bị được triển khai

o Bảo mật hoạt động: bao gồm các quy trình xử lý và bảo vệ tài sản

dữ liệu Các quyền mà người dùng có được trong quá trình truy cập mạng và các thủ tục như xác định cách thức, vị trí dữ liệu có thể được lưu trữ hay chia sẻ cũng đều thuộc phạm vi này

o Phục hồi sau tấn công: đây là hoạt động nhằm khắc phục những hậu quả do các cuộc tấn công gây ra và đảm bảo tính liên tục để đảm bảo

Trang 15

quá trình lưu thông thông tin, dữ liệu và khôi phục lại như trước khi xảy

ra sự cố

1.1.3 Các đối tượng tấn công an ninh mạng phổ biến

Các cuộc tấn cộng mạng đều được thực hiện bởi 1 người hay một tổ chức nhất định Và họ được biết đến với tên gọi là Hacker Tùy theo mục đích mà Hacker cũng được chia thành nhiều loại khác nhau Dưới đây là một số loại hacker khá thường gặp hiện nay

- Hacker mũ trắng

Hacker mũ trắng là những người thực hiện tấn công nhưng không phải với mục đích xấu Họ thực hiện những cuộc tấn công pentest hay còn được gọi là tấn công kiểm thử với mục đích tìm ra lỗ hổng trong hệ thống để các đơn vị

sở hữu kịp thời ngăn chặn nó

Các hacker mũ trắng thường là những người tốt nghiệp các ngành đào tạo về CNTT hoặc am hiểu về lĩnh vực này Một số người còn sở hữu các chứng chỉ

IT quan trọng mà không phải ai cũng lấy được

- Hacker mũ đen

Hacker mũ đen còn được biết đến với tên gọi khác là crackers, có nghĩa là những người chuyên bẻ khóa Đây cũng là các đối tượng chuyên thực hiện các vụ tấn công trái phép với mục đích xấu vào các hệ thống nội bộ hay website

Các hành vi như nghe lén, đánh cắp dữ liệu, phá hoại hạ tầng hay thậm chí tống tiền các nạn nhân cũng chính là hậu quả từ việc tấn công của các hacker

mũ đen

- Hacker mũ xám

Đây là sự kết hợp giữa hacker mũ trắng và hacker mũ đen Thông thường, họ

sẽ thực hiện tấn công vào hệ thống Sau đó, họ sẽ báo lại với bên sở hữu những lỗ hổng về hệ thống và kèm theo những điều khoản nhất định Nếu bên

sở hữu hệ thống không đáp ứng, họ có thể thực hiện nhiều động thái tiếp theo như đưa thông tin về các lỗ hổng này lên mạng

Trang 16

- Hacker mũ xanh

Đây là đội ngũ chuyên đi tìm các lỗ hổng bảo mật của hệ thống cũng như các nguy cơ tấn công của các sản phẩm công nghệ chuẩn bị được ra mắt Và họ cũng là người thực hiện vá, khắc phục các lỗ hổng đó trong thời gian nhanh nhất có thể

- Hacker mũ đỏ

Có thể nói, đây là đội ngũ hacker được đánh giá cao nhất hiện nay, thậm chí

là cao hơn cả hacker mũ trắng Họ là người xâm nhập trực tiếp vào mạng hay hệ thống của các hacker mũ đen Từ đó phát hiện và phá vỡ các cuộc tấn công Các hacker mũ đỏ còn giúp khởi động các phần mềm độc hại chống lại những

kẻ xấu cũng như thắt chặt và tăng cường an ninh cho hệ thống

Ngoài ra, giới hacker còn có 2 khái niệm nữa là Script Kiddle và Neophyte Đây là khái niệm dùng để chỉ những người mới bắt đầu tìm hiểu về hacking hay chưa có kiến thức vững vàng cũng như kinh nghiệm thực tế

Tuy nhiên, trên thực tế, hacker vẫn là một trong những đối tượng mà người dùng Internet cần đặc biệt lưu ý Vì thế nên việc bảo đảm an toàn hệ thống và

an ninh mạng lại càng trở nên cần thiết hơn bao giờ hết

1.1.4 Các đối tượng có thể bị tấn công an ninh mạng

Phạm vi đối tượng của các cuộc tấn công mạng rất rộng Đó có thể là một cá nhân, một doanh nghiệp, một tổ chức chính phủ hoặc phi chính phủ, một cơ quan nhà nước hay thậm chí là cả một quốc gia

Tuy nhiên, về cơ bản thì hiện nay, đối tượng chủ yếu của các cuộc tấn công

an ninh mạng là các doanh nghiệp Bởi mục đích của các cuộc tấn công phần nhiều là vì lợi nhuận

1.2 Thực trạng an ninh mạng hiện nay qua việc sử dụng website của người dùng

1.2.1 Thực trạng

Có thể nói, công nghệ thông tin đang là một trong những lĩnh vực sở hữu sức phát triển nhanh đến ấn tượng Bên cạnh đó, sự ảnh hưởng từ nhiều yếu tố đã

Trang 17

buộc hàng loạt các cơ quan, tổ chức chuyển hướng, hoạt động trên nền tảng online

Đồng nghĩa với nó là việc nhiều công ty, đơn vị buộc phải mở hệ thống để nhân viên có thể tiến hành truy cập và làm việc trực tuyến Đây cũng chính là thời cơ để những đối tượng xấu tiến hành khai thác các lỗ hổng, tấn công, đánh cắp thông tin và để lại những hậu quả nặng nề

Trên thực tế, từ thập kỷ trước, thế giới đã chứng kiến nhiều cuộc tấn công làm nhiều đơn vị, trong đó có cả những ông lớn trong lĩnh vực công nghệ phải lao đao Có thể kể đến là vụ việc hệ thống của Adobe bị tấn công và thất thoát hơn 40GB mã nguồn ứng dụng, khoảng 150 triệu tài khoản người dùng với hơn 38 triệu tài khoản vẫn đang hoạt động vào tháng 10 năm 2013; cuộc khủng hoảng của ông lớn Sony và hàng loạt hệ lụy vào tháng 4/2011 sau khi phớt lờ những lời cảnh báo từ các tin tặc,…

Và ở thời điểm khi nhu cầu lưu trữ, chia sẻ dữ liệu trên không gian mạng ngày một lớn thì các cuộc tấn công của các tin tặc vẫn không hề có dấu hiệu dừng lại Thậm chí nó còn được đánh giá là gia tăng về cả số lượng, quy mô tấn công lẫn hậu quả để lại

- Accenture

UpGuard - một startup nghiên cứu về khả năng phục hồi mạng dữ liệu - phát hiện công ty Accenture đã để lại ít nhất 4 bộ lưu trữ AWS S3 không được bảo mật vào năm 2017

Các vụ tấn công đã nhắm vào các chi tiết xác thực không được kiểm soát, dữ liệu API bí mật, chứng chỉ kỹ thuật số, khóa giải mã, dữ liệu người dùng và thông tin thẻ meta

Dữ liệu phân tích bảo mật của UpGuard đã phát hiện ra 137GB dữ liệu có sẵn

để truy cập công khai Những kẻ tấn công đã sử dụng những dữ liệu này với mục đích bôi nhọ và tống tiền người dùng Một số thông tin đã bị đưa lên dark web

Và vào tháng 8/2021, Accenture một lần nữa trở thành con mồi và đối tượng tấn công lần này chính là phần mềm tống tiền LockBit Dù đã có kinh nghiệm

Trang 18

và phát hiện ra cuộc tấn công nhưng các tin tặc vẫn thành công đánh cắp khối

dữ liệu với dung lượng lên đến 6TB Các hacker cũng đưa ra mức tiền chuộc

là 50 triệu USD cho khối dữ liệu này

- Verizon

Năm 2017, nhóm thuần tập bên thứ ba của Verizon, Nice Systems, đã để lộ PPI của người dùng do cấu hình AWS S3 bị lỗi Và đây cũng là một trong những nguyên nhân dẫn đến các cuộc tấn công vào hệ thống của ông lớn trong ngành viễn thông

Năm 2020, Verizon đã phát hiện ra 29.207 sự cố bảo mật với 5.200 trường hợp được xác nhận là vi phạm Từ một gã khổng lồ viễn thông, Verizon trở thành miếng mồi béo bở cho các cuộc tấn công DDoS Họ cho rằng lý do đằng sau các lỗ hổng và sự gia tăng của các cuộc tấn công mạng là do mô hình hoạt động từ xa khi xảy ra đại dịch

Năm 2021, Verizon đã phát hành bản kiểm tra đối với chiến lược an ninh mạng, phù hợp với khung VERIS một nghiên cứu điển hình cho các doanh - nghiệp và người dùng khác Khoảng 61% các cuộc tấn công này liên quan đến việc sử dụng thông tin đăng nhập trái phép, trong khi các vụ lừa đảo đã tăng

từ 25% lên 36% vào năm 2019

- Vụ tấn công ransomware tại Kaseya

Tháng 7/2021, nhà cung cấp giải pháp CNTT Kaseya cũng đã phải hứng chịu một cuộc tấn công lớn nhằm vào các công cụ giám sát từ xa và hệ thống bảo mật Đó là một cuộc tấn công ransomware trong chuỗi cung ứng, đánh cắp quyền kiểm soát hành chính đối với các dịch vụ Kaseya

Được biết cuộc tấn công quy mô lớn này đã làm tê liệt các máy chủ SaaS của công ty và ảnh hưởng trực tiếp đến các giải pháp VSA tại chỗ được khách hàng của Kaseya trên mười quốc gia và vùng lãnh thổ sử dụng

Dù phát hiện sớm và khắc phục hậu quả một cách nhanh chóng nhưng cuộc tấn công vào Kaseya cũng để lại nhiều bài học quý giá về việc bảo đảm an toàn cho hệ thống bảo mật

Trang 19

- Vụ tấn công nhắm vào gã khổng lồ an ninh mạng Cognyte

Vốn tưởng rằng các công ty trong lĩnh vực an ninh mạng thì sẽ ứng phó cũng như khắc phục hậu quả dễ dàng hơn nếu bị tin tặc nhòm ngó Thế nhưng, câu chuyện về gã khổng lồ an ninh mạng Cognyte lại cho chúng ta thấy một khía cạnh đáng lưu tâm

Vào tháng 5 năm 2021, gã khổng lồ phân tích an ninh mạng Cognyte đã mắc sai lầm nghiêm trọng khiến người dùng có thể truy cập vào cơ sở dữ liệu của

họ mà không cần đến các giao thức xác thực Đây cũng được cho là lý do chính dẫn đến cuộc tấn công mạng làm lộ đến 5 tỷ hồ sơ người dùng Trớ trêu thay, những dữ liệu bị lộ lại là những nội dung cảnh báo khách hàng về các vi phạm dữ liệu của bên thứ ba

Ngoài các thông tin tài khoản, một số dữ liệu tình báo của Cognyte còn bị tin tặc cung cấp miễn phí Và dù khắc phục thiệt hại trong thời gian khá nhanh nhưng vụ việc lần này đã để lại cho Cognyte nói riêng và cr thế giới nói chung những bài học đắt giá về bảo mật hệ thống và thông tin

- Cuộc tấn công nhắm vào RayChat

Đây là một trong những cuộc tấn công từng khiến ứng dụng trò chuyện của Iran lao đao vào năm 2021 Các tin tặc đã tấn công và làm lộ thông tin của

267 triệu tên người dùng, email, mật khẩu, siêu dữ liệu và các cuộc trò chuyện được mã hóa Và cuộc tấn công này được nhận định là có chủ đích vì nó đã xóa sạch toàn bộ dữ liệu của công ty

Những kẻ tấn công đã đánh cắp những dữ liệu này để đòi tiền chuộc nhưng việc trả tiền chuộc không đảm bảo rằng chúng sẽ xóa bỏ dữ liệu hoặc bán dữ liệu cho những kẻ xấu khác Những dữ liệu này sau đó đã bị đăng tải trên một trang web hack nổi tiếng

Dù đã khắc phục phần nào thiệt hại nhưng Raychat đã mất đi một lượng lớn người dùng và đối mặt với nhiều khó khăn

Trang 20

1.2.2 Hậu quả của việc mất an toàn an ninh mạng

- Đối với các cá nhân, việc bị tấn công và đánh cắp thông tin cũng đồng nghĩa với việc toàn bộ dữ liệu và thông tin cá nhân từ tài khoản, cách liên lạc, thậm chí là các thông tin nhạy cảm như địa chỉ, số thẻ ngân hàng hay cả số hộ chiếu bị lộ Trường hợp tệ hơn là toàn bộ các dữ liệu này bị mất và không thể khôi phục Bên cạnh đó, các dữ liệu liên quan tới công việc cũng không tránh khỏi khả năng bị tấn công Khi đó thì các cá nhân này còn đối diện với nguy

cơ mất công việc mình đang có Điều này cũng sẽ kéo theo nhiều hệ lụy khó lường mà không phải ai cũng có thể khắc phục

- Đối với các doanh nghiệp, công ty hay một đơn vị bất kỳ, dữ liệu được xem là sự sống còn, là thứ bảo đảm cho uy tín Và hiện nay thì nhu cầu lưu trữ thông tin, dữ liệu trên không gian mạng trở thành nhu cầu vô cùng thiết yếu Vì thế nên bị tấn công cũng đồng nghĩa với việc kho dữ liệu, các thông tin của khách hàng cùng hàng loại các dữ liệu nhạy cảm khác với dung lượng khổng lồ có thể bị đánh cắp, can thiệp và thậm chí là rao bán Đặc biệt, với các đơn vị cung cấp dịch vụ công nghệ thông tin thì hậu quả còn nghiêm trọng hơn nhiều Vì nó không chỉ ảnh hưởng đến một đơn vị mà là cả một chuỗi đơn vị lựa chọn sử dụng các dịch vụ này Nó có thể dẫn đến việc một đơn vị, nhiều đơn vị hay tệ hơn là cả hệ thống có thể bị rơi vào tình trạng ngừng hoạt động, tê liệt hay thậm chí là phá sản

- Còn nếu đối tượng bị tấn công là các cơ quan chính phủ, các tổ chức đứng đầu các quốc gia thì hậu quả của nó để lại là điều mà không ai dám chắc Vì thế nên việc gia cố hệ thống để chống lại sự tấn công từ các đối tượng với mục đích xấu là điều vô cùng quan trọng

1.3 Các hình thức tấn công an ninh mạng phổ biến

1.3.1 Tấn công bằng phần mềm độc hại – Malware Attack

- Malware Attack được xem là một trong những kỹ thuật tấn công rất phổ biến ở thời điểm hiện tại thông qua việc sử dụng các phần mềm độc hại Các phần mềm này chứa nhiều đoạn mã độc, có khả năng vô hiệu hóa hệ thống

Trang 21

bảo vệ máy tính Các phần mềm độc hại này cũng được chia thành nhiều loại gồm: mã độc tống tiền (ransomware), phần mềm gián điệp (spyware), virus và worm (phần mềm độc hại có khả năng lây lan với tốc độ chóng mặt) [4]

- Một khi hệ thống bị tấn công bởi phương pháp này, phần cứng có thể bị hỏng, gặp trục trặc và khiến các hoạt động bị ngưng trệ Mọi thông tin, dữ liệu đều có thể bị đánh cắp một cách dễ dàng Nhưng nguy hiểm hơn là việc các hacker có thể chặn truy cập của người dùng truy cập vào một số file nhất định

và âm thầm theo dõi bất kỳ hoạt động nào của người dùng đã bị đánh cắp thông tin

- Hiện nay, các phần mềm được xếp vào nhóm kỹ thuật Malware Attack có thể kể đến như:

o Trojan horse

Tên của loại mã độc này được lấy theo điển tích cổ “Con ngựa thành Tơ roa” Bởi lẽ các đoạn mã độc này sẽ được cài cắm, che dấu trong các phần mềm máy tính thông thường, chính chủ và có vẻ uy tín Thế nhưng, đây cũng chính

-là cánh cổng dẫn đến hàng loạt hậu quả mà người dùng khó có thể lường trước

Sau khi được đưa vào thiết bị, đến một thời điểm thích hợp, các mã độc sẽ tấn công, đánh cắp dữ liệu hay thậm chí là làm tê liệt và chiếm quyền điều khiển thiết bị Và một điều ít ai biết chính là loại mã độc này không tự lây lan mà nó

sử dụng một phần mềm khác để phát tán

Dựa theo cách hoạt động, Trojan được chia thành nhiều loại, trong đó có BackDoor, Adware và Spyware là 3 loại phổ biến nhất hiện nay

o Virus

Đối với người dùng máy tính thì virus từ lâu đã là khái niệm không hề xa lạ

Và cũng có nhiều người nhầm lẫn rằng virus và mã độc là một Trên thực tế, virus chỉ là 1 loại mã độc và sở hữu khả năng lây lan nhanh đến chóng mặt

Và nếu không kịp thời phát hiện và xử lý thì rất khó để có thể dọn sạch virus trên thiết bị

Trang 22

Tuy nhiên, với sự phát triển của công nghệ hiện nay thì virus không còn quá phổ biến và chiếm chưa đến 10% trên tổng số lượng mã độc được sử dụng

Và nó cũng được chia thành 3 loại khá thường gặp là Hoax, Scripting và File Mỗi loại sẽ sở hữu đặc điểm riêng cũng như gây ảnh hưởng đến một số vấn

đề, trong một phạm vi nhất định Tuy nhiên hậu quả mà nó để lại là điều rất khó lường

o Ransomware

Đây cũng là một trong những loại mã độc khá phổ biến hiện nay Nó được biết đến là một loại mã độc tống tiền, được dùng để ngăn chặn người dùng truy cập dữ liệu và sử dụng thiết bị Và để lấy lại dữ liệu hay quyền kiểm soát thiết bị thì các nạn nhân cần đưa tiền cho tin tặc

Ransomware thường xâm nhập vào thiết bị qua các email rác, các website lừa đảo hoặc cài chung với Trojan để tăng sức tấn công và kiểm soát nhiều hơn thiết bị của các nạn nhân

o Worm

Worm còn được biết đến với cái tên sâu máy tính, là một trong những loại mã độc có sức lây lan và tốc độ phát triển mạnh mẽ bậc nhất hiện nay Loại mã độc này thường được phát tán qua email, thường có nội dung hấp dẫn kích thích người dùng click vào Và nhờ đó, Worm lây lan theo cấp số nhân Nhận thấy khả năng của loại mã độc này, nhiều hacker còn thêm vào Worm các tính năng tấn công mạnh như tấn công hệ thống, đánh cắp thông tin,… và

để lại những hậu quả thực sự khó lường

o Rootkit

So với các loại mã độc khác thì Rootkit được xếp vào hàng “sinh sau đẻ muộn” Thế nhưng, sức tàn phá và hậu quả mà loại mã độc này để lại thì không thua kém bất kỳ loại mã độc nào trên thế giới ở thời điểm hiện nay Đây là một chương trình được thiết kế để có thể xâm nhập sâu vào hệ thống nhưng vẫn che dấu được sự hiện diện của nó lẫn các loại mã độc khác Vì có

nó mà các phần mềm độc hại khác sẽ khó bị phát hiện qua các phương pháp

Trang 23

thông thường Thậm chí nó còn vượt qua được khỏi sự rà soát của các phần mềm diệt virus Điều này cũng tạo điều kiện cho các loại mã độc khác tấn công mạnh mẽ vào hệ thống và để lại những hậu quả ít ai lường trước

- Ngoài ra, trong quá trình phát triển, các loại mã độc còn sinh ra nhiều biến thể với sức công phá ngày một mạnh mẽ

1.3.2 Tấn công giả mạo - Phishing Attack

- Tấn công giả mạo hay Phishing Attack được biết đến là hình thức tấn công

mà tin tặc giả dạng thành các tổ chức, cá nhân có uy tín để chiếm lòng tin của người dùng Và sau đó, chúng sẽ tiến hành đánh cắp các dữ liệu nhạy cảm từ thông tin cá nhân, tài khoản ngân hàng, thẻ tín dụng, [4]

- Hiện nay, các tin tặc thực hiện việc tấn công giả mạo chủ yếu qua hai cách là tấn công bằng email hoặc tấn công thông qua website

● Giả mạo email: Đây là một trong những kỹ thuật tấn công giả mạo được nhiều tin tặc sử dụng Các tin tặc sẽ mạo danh một đơn vị, cá nhân hay tổ chức uy tín và gửi mail với nội dung nhằm thôi thúc người dùng click vào các đường link đính kèm trong mail Các mã độc đính kèm trong các link có thể tấn công và đánh cắp dữ liệu cá nhân của người dùng Đặc biệt, các tin tặc thường tạo các email giả mạo rất tinh

vi, có thể chỉ khác nhau ở cách sắp xếp các chữ cái, ví dụ như infomation.abc@gmail.com thì email giả mạo sẽ là infomation.acb@gmail.com

● Giả mạo website: Đối với kỹ thuật tấn công này, tin tặc sẽ tạo ra các trang web lừa đảo và nó được thiết kế giống với trang web thật đến 99% Vì thế nên nếu chỉ lướt qua, khó có ai phân biệt được website thật

và giả mạo Thông thường, trang web giả mạo sẽ có khung điền thông tin để lấy thông tin của người dùng cũng những thông tin như ưu đãi, quà tặng để kích thích người dùng điền thông tin

- Vậy làm thế nào để phòng tránh được Phishing Attack?

● Đối với người dùng là cá nhân

Trang 24

Để hạn chế tối đa việc bị tấn công phishing, người dùng cần cẩn trọng trong việc trả lời các email lạ, nhất là các email yêu cầu cung cấp thông tin cá nhân Hạn chế tuyệt đối việc nhấn vào các liên kết đính kèm trong các email rác Không tải xuống các phần mềm, file lạ trong email nếu không biết chắc về sự

an toàn của nó Và hãy bảo vệ thiết bị của bạn bằng cách sử dụng tường lửa cũng như phần mềm diệt virus

Ngoài ra, bạn cũng có thể chuyển thư rác đến hòm thư spam@uce.gov Hoặc nếu nhận thấy các dấu hiệu của việc bị tấn công phishing, bạn có thể gửi email tới tổ chức phòng chống tấn công phishing:

reportphishing@antiphishing.org để được hỗ trợ

● Đối với người dùng là các tổ chức, doanh nghiệp

Đào tạo kiến thức an ninh mạng cho toàn bộ nhân viên

Tổ chức các buổi tập huấn với các tình huống giả mạo

Mã hóa toàn bộ thông tin quan trọng của tổ chức, doanh nghiệp

Triển khai một bộ lọc spam để loại bỏ toàn bộ thư rác

Cập nhật hệ điều hành và phần mềm đang sử dụng lên phiên bản mới nhất

1.3.3 Tấn công cơ sở dữ liệu - SQL Injection

- SQL Injection (SQLi) là kỹ thuật tấn công, trong đó tin tặc 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ề để tiêm vào (inject) và thực thi các câu lệnh SQL bất hợp pháp.[6]

- SQL injection cho phép tin tặc thực hiện các thao tác như một người quản trị web trên cơ sở dữ liệu của ứng dụng, thậm chí là server mà ứng dụng đó đang chạy

- Các kiểu tấn công SQL Injection thường gặp:

• In-band SQLi (Classic)

• Inferential SQLi (Blind)

• Out- -band SQLi of

- Tác hại của việc bị tấn công SQL Injection

Trang 25

• Cơ sở dữ liệu bị xâm nhập và có thể chịu những ảnh hưởng nặng nề như bị chỉnh sửa hay bị xóa một cách bất hợp pháp Bên cạnh đó, những thông tin bên trong cơ sở dữ liệu cũng hoàn toàn có nguy cơ bị làm lộ hoặc phát tán ra ngoài và gây nên nhiều hậu quả bất ngờ

• Hệ thống có thể bị chiếm quyền kiểm soát, bị làm tê liệt và có thể rơi vào trạng thái ngừng hoạt động

• Các đơn vị, cơ quan, doanh nghiệp cũng chịu những tổn thất nặng nề về hình ảnh, uy tín và nếu nghiêm trọng thì có thể đứng trước nguy cơ dừng hoạt động

- Cách phòng tránh

• Cẩn trọng với những thông tin được người dùng nhập vào

• Cân nhắc và cẩn trọng với những thông tin được lưu trữ trên hệ thống Đối với các thông tin quan trọng thì nên mã hóa trước khi tiến hành lưu trữ

• Cần có sự phân quyền cho các user trong cơ sở dữ liệu để hạn chế sự truy cập cũng như thực hiện các thao tác làm thay đổi database

1.3.4 Tấn công từ chối dịch vụ - DoS & DdoS

Tấn công từ chối dịch vụ (Denial of Service DoS) là dạng tấn công nhằm - ngăn chặn người dùng hợp pháp truy nhập các tài nguyên mạng Còn DDoS là viết tắt của cụm từ Distributed Denial of Service, có nghĩa là từ chối dịch vụ phân tán Tấn công DDoS xảy ra khi số lượng yêu cầu truy cập vào trang web quá lớn, dẫn đến việc máy chủ quá tải và không còn khả năng xử lý.[4] Khác biệt cơ bản của tấn công DoS và DDos là phạm vi tấn công Trong khi lưu lượng tấn công DoS thường phát sinh từ một hoặc một số ít host nguồn, lưu lượng tấn công DDos thường phát sinh từ rất nhiều host nằm rải rác trên mạng Internet

Khi tấn công DDOS, tin tặc có thể lợi dụng máy tính của bạn để tấn công vào các máy tính khác Bằng cách khai thác các lỗ hổng bảo mật, tin tặc có thể chiếm quyền điều khiển máy tính của bạn Sau đó, chúng sử dụng máy tính của bạn để gửi một số lượng lớn dữ liệu và yêu cầu đến một trang web hoặc một địa chỉ email nào đó

Đôi khi, tấn công DDoS được tin tặc sử dụng làm “màn chắn” cho một cuộc tấn công mạng phía sau Khi nhân sự an ninh mạng đang tập trung xử lý sự cố

Trang 26

cho trang web bị tấn công DDoS, chúng sẽ lợi dụng thời cơ để tấn công backdoor và chèn vào các công cụ SQL Đến khi doanh nghiệp nhận ra âm mưu này thì đã quá muộn

Có ba loại tấn công DDOS cơ bản dưới đây:

- Volume-based attack Loại tấn công DDoS sử dụng lưu lượng truy cập cao để làm tràn băng thông mạng

- Protocol attack Loại tấn công DDoS tập trung vào việc khai thác nguồn tài nguyên của máy chủ

- Application attack Loại tấn công nhắm vào các ứng dụng web Đây được coi là loại tấn công tinh vi và nguy hiểm nhất

- Một số cách phòng chống tấn công DDOS

• Rate Limiting hay giới hạn số lượn yêu cầu mà máy chủ sẽ chấp nhận g trong khoảng thời gian nhất định Điều này khiến cho các cuộc tấn công DDoS bị chậm lại để giảm thiểu các nỗ lực đăng nhập brute force của ,

kẻ tấn công Tuy nhiên, đây chỉ là phương pháp sử dụng cho các trường hợp đơn giản, không quá phức tạp chỉ có tác dụng can thiệp tạm thời

• Anycast Network Diffusion là giảm thiểu sử dụng mạng Anycast Từ

đó giúp cho việc phân tán lưu lượng tấn công độc hại đến một điểm có thể quản lý được Hiệu quả mạng Anycast để giảm thiểu cuộc tấn công DDoS phụ thuộc vào quy mô của cuộc tấn công và hiệu quả của mạng

• Cài đặt và duy trì phần mềm chống Virus giúp thiết bị của bạn phát hiện ra các phần mềm ẩn độc hại mà bạn vô tình nhận được Phần mềm chống Virus sẽ cảnh báo và xóa đi, giúp cho máy tính bạn không biến thành một phần của botnet, từ đó phần nào ngăn chặn những nguy cơ từ việc tấn công DdoS

1.3.5 Tấn công bằng cách khai thác lỗ hổng Zero Day - Zero Day Attack

Lỗ hổng zero day là những lỗ hổng bảo mật chưa được công bố hoặc chưa được khắc phục Tương tự các lỗ hổng thông thường, lỗ hổng zero day tồn tại -trong nhiều môi trường khác nhau như: phần mềm, phần cứng, website, ứng dụng… Tin tặc luôn săn lùng ráo riết các lỗ hổng zero day để đánh cắp hoặc -thay đổi dữ liệu

Trang 27

-Những cuộc tấn công khai thác lỗ hổng zero day được gọi là zero- -day attack Thông thường, ngay sau khi phát hiện ra sự tồn tại của lỗ hổng zero-day, nhà cung cấp dịch vụ sẽ đưa ra bản vá để khắc phục Tuy nhiên, do thói quen người dùng ít khi cập nhật phiên bản mới của phần mềm ngay lập tức nên zero-day vẫn có thể tiếp tục tấn công sau khi bản vá được phát hành

1.3.6 Tấn công trung gian - Main In The Middle Attack

Tấn công trung gian là hình thức tin tặc xen vào giữa phiên giao dịch hay giao tiếp giữa hai đối tượng Khi đã xâm nhập thành công, chúng sẽ theo dõi được mọi hành vi và có thể đánh cắp mọi dữ liệu trong phiên giao dịch đó [2] Tấn công trung gian dễ xảy ra khi nạn nhân truy cập vào một mạng wifi không an toàn Khi đó, tin tặc có thể xâm nhập vào thiết bị của nạn nhân và kiểm soát mọi hành vi, thông tin trong giao dịch đó

Một kịch bản của tấn công trung gian có có ba đối tượng tham gia: Nạn nhân, đối tượng mà nạn nhân đang cố gắng kết nối, và kẻ tấn công ở giữa, kẻ tấn công đã chặn kết nối của nạn nhân và nạn nhân không nhận thức được kẻ này, đây là sự điều kiện tiên quyết cho kịch bản đánh cắp này

Trang 28

Chương 2: HỆ THỐNG PHÁT HIỆN TẤN CÔNG SQL

INJECTION - SNORT

2.1 Giới thiệu chung về SNORT

Snort là phần mềm IPS được phát triển bởi Martin Roesh dưới dạng mã nguồn

mở Snort ban đầu được xây dựng trên nền Unix nhưng sau đó phát triển sang các nền tảng khác Snort được đánh giá rất cao về khả năng phát hiện xâm nhập Tuy snort miễn phí nhưng nó lại có rất nhiều tính năng tuyệt vời Với kiến trúc kiểu module, người dùng có thể tự tăng cường tính năng cho hệ thống Snort của mình Snort có thể chạy trên nhiều hệ thống như Windows, Linux, OpenBSD, FreeBSD, Solaris …

Bên cạnh việc có thể hoạt động như một ứng dụng bắt gói tin thông thường, Snort còn được cấu hình để chạy như một NIDS

Trên thực tế, Snort không phải là ứng dụng phát hiện tấn công duy nhất được

sử dụng Vậy tại sao Snort lại trở nên phổ biến như vậy?

− Dễ dàng cấu hình:

Nguyên lý làm việc của Snort như thế nào, tập tin cấu hình ở đâu hay các luật như thế nào người quản trị đều có thể biết và tiến hành cấu hình theo ý mình, thậm chí cả việc tạo ra các luật mới

− Snort là phần mềm mã nguồn mở:

Snort được phát hành dưới giấy phép GNU/GPL Điều này có nghĩa là bất cứ

ai cũng có thể sử dụng Snort một cách miễn phí dù đó là doanh nghiệp hay người dùng cá nhân Ngoài ra vì là phần mềm mã nguồn mở nên Snort có một cộng đồng người sử dụng lớn, sẵn sàng hỗ trợ nếu có bất cứ thắc mắc gì

Trang 29

− Có thể chạy trên nhiều nền tảng khác nhau:

Không chỉ chạy trên các hệ điều hành nguồn mở như GNU/Linux mà Snort còn có thể chạy được trên các nền tảng thương mại như Microsoft Windows, Solaris, HP-UX

− Snort thường xuyên được cập nhật:

Các phiên bản mới hay bộ luật của Snort thường xuyên được bổ sung và cập nhật các hình thức xâm nhập mới Người sử dụng có thể dễ dàng tải về từ http://www.snort.org

2.2 Kiến trúc của SNORT

Snort bao gồm nhiều thành phần, mỗi phần có một chức năng riêng biệt Những thành phần này làm việc với nhau để phát hiện các cách tấn công cụ thể và tạo ra output theo một định dạng đã được quy định từ trước Một IDS dựa trên Snort bao gồm các thành phần chính sau đây:

● Module giải mã gói tin

● Module tiền xử lý

● Module phát hiện

● Module log và cảnh báo

● Module kết xuất thông tin

Trang 30

Mô hình kiến trúc của Snort:

Hình 2.1 Kiến trúc của SNORT Khi Snort hoạt động, nó sẽ lắng nghe tất cả các gói tin nào di chuyển qua nó Các gói tin sau khi bị bắt sẽ được đưa vào module giải mã Tiếp theo sẽ vào module tiền xử lý và rồi module phát hiện Tại đây tùy vào việc có phát hiện được xâm nhập hay không mà gói tin có thể bỏ qua để lưu thông tin tiếp hoặc đưa vào module Log và cảnh báo để xử lý Khi các cảnh báo được xác định, Module kết xuất thông tin sẽ thực hiện việc đưa ra cảnh báo theo đúng định dạng mong muốn

2.2.1 Module giải mã gói tin

Snort chỉ sử dụng thư viện pcap để bắt mọi gói tin trên mạng lưu thông qua hệ thống

Hình 2.2 Xử lý một gói tin Ethernet

Trang 31

Một gói tin sau khi được giải mã sẽ được đưa tiếp vào module tiền xử lý Nhiệm vụ chủ yếu của hệ thống này là phân tích gói dữ liệu thô bắt được trên mạng và phục hồi thành gói dữ liệu hoàn chỉnh ở lớp application, làm input cho hệ thống detection engine Quá trình phục hồi gói dữ liệu được tiến hành

từ lớp Datalink cho tới lớp Application theo thứ tự của Protocol Stack

2.2.2 Module tiền xử lý

Module này rất quan trọng đối với bất kỳ hệ thống nào để có thể chuẩn bị gói

dữ liệu đưa vào cho Module phát hiện phân tích 3 nhiệm vụ chính:

● Kết hợp lại các gói tin: Khi một dữ liệu lớn được gửi đi, thông tin sẽ không đóng gói toàn bộ vào một gói tin mà thực hiện phân mảnh, chia thành nhiều gói tin rồi mới gửi đi Khi Snort nhận được các gói tin này,

nó phải thực hiện kết nối lại để có gói tin ban đầu Module tiền xử lý giúp Snort có thể hiểu được các phiên làm việc khác nhau

● Giải mã và chuẩn hóa giao thức (decode/normalize): công việc phát hiện xâm nhập dựa trên dấu hiệu nhận dạng nhiều khi thất bại khi kiểm tra các giao thức có dữ liệu có thể được biểu diễn dưới nhiều dạng khác nhau Ví dụ: một Web server có thể nhận nhiều dạng URL: URL viết dưới dạng hexa/unicode hay URL chấp nhận dấu / hay Nếu Snort chỉ \thực hiện đơn thuần việc so sánh dữ liệu với dấu hiệu nhận dạng sẽ xảy

ra tình trạng bỏ sót hành vi xâm nhập Do vậy, 1 số Module tiền xử lý của Snort phải có nhiệm vụ giải mã và chỉnh sửa, sắp xếp lại các thông tin đầu vào

● Phát hiện các xâm nhập bất thường (nonrule/anormal): các plugin dạng này thường để xử lý với các xâm nhập không thể hoặc rất khó phát hiện bằng các luật thông thường Phiên bản hiện tại của Snort có đi kèm 2 plugin giúp phát hiện xâm nhập bất thường đó là portscan và bo (backoffice) Portscan dùng để đưa ra cảnh báo khi kẻ tấn công thực hiện quét cổng để tìm lỗ hổng Bo dùng để đưa ra cảnh báo khi hệ thống nhiễm trojan backoffice

Trang 32

Một module phát hiện có khả năng tách các phần của gói tin ra và áp dụng luật lên từng phần của gói tin:

● IP header

● Header ở tầng transport: TCP, UDP

● Header ở tầng application: DNS, HTTP, FTP …

● Phần tải của gói tin

Do các luật trong Snort được đánh số thứ tự ưu tiên nên 1 gói tin khi bị phát hiện bởi nhiều luật khác nhau, cảnh báo được đưa ra theo luật có mức ưu tiên cao nhất

2.2.4 Module log và cảnh báo

Tùy thuộc vào module phát hiện có nhận dạng được xâm nhập hay không mà gói tin có thể bị ghi log hay đưa ra cảnh báo Các file log là các file dữ liệu có thể ghi dưới nhiều định dạng khác nhau như tcpdump

Trang 33

2.2.5 Module kết xuất thông tin

Module này thực hiện các thao tác khác nhau tùy thuộc vào việc cấu hình lưu kết quả xuất ra như thế nào

● Ghi log file

● Ghi syslog

● Ghi cảnh báo vào cơ sở dữ liệu

● Tạo file log XML

● Cấu hình lại Router, firewall

● Gửi các cảnh báo được gói trong gói tin sử dụng giao thức SNMP

2.3 Bộ luật của SNORT

“Luật” trong Snort ta có thể hiểu một cách đơn giản nó giống như các quy tắc

và lu t l trong thậ ệ ế giới thực Nghĩa là nó sẽ có phần mô tả một trạng thái và hành động gì sẽ xảy ra khi trạng thái đó đúng

M t trong nhộ ững điểm đáng giá nhấ ủa Snort đó là kt c hả năng cho phép người

sử d ng có th tụ ể ự viết các lu t cậ ủa riêng mình hoặc tùy bi n các lu t có sế ậ ẵn cho phù h p v i hợ ớ ệ thống m ng c a mình Ngoài mạ ủ ột cơ sở ữ liệu l n mà d ớngườ ử ụi s d ng có th download t trang ch cể ừ ủ ủa Snort, người quản trị có thể

tự phát triển các lu t cho hậ ệ thống c a mình Thay vì ph i ph thu c vào nhà ủ ả ụ ộcung c p, mấ ột cơ quan bên ngoài, hoặc ph i c p nh t khi có m t cu c tả ậ ậ ộ ộ ấn công m i hay mớ ột phương pháp khai thác lỗ ổ h ng mới được phát hiện Người quản tr có thị ể viết riêng m t lu t dành cho hộ ậ ệ thống c a mình khi nhìn thủ ấy các lưu lượng m ng bạ ất thường và so sánh v i bớ ộ luật được cộng đồng phát triển Ưu điểm c a vi c t ủ ệ ự viết các lu t là có th tùy bi n và c p nh t m t cách ậ ể ế ậ ậ ộcực k nhanh chóng khi h ỳ ệ thống m ng có s bạ ự ất thường

Ví dụ: “Nếu nh p sai m t kh u 3 lậ ậ ẩ ần thì điện thoại sẽ bị khóa.”

Trang 34

Phân tích ở đây ta hành động “điện tho i b khóaạ ị ” sẽ được th c hi n n u có ự ệ ếdấu hiệu là “nhập sai m t kh u 3 lậ ẩ ần”

Trong hệ thống mạng cũng vậy, ta không th s d ng ngôn ng t nhiên hể ử ụ ữ ự ằng ngày để mô tả dấu hiệu hay trạng thái của hệ thống mạng được Ví dụ: Nếu có

m t k t nộ ế ối SSH có địa ch IP Public k t n i t i máy ch web thì ch n l i ỉ ế ố ớ ủ ặ ạ

Mặc dù đây là một mô t khá cả ụ thể, tuy nhiên Snort l i không thạ ể hiểu được Luật trong Snort s giúp ta d dàng mô t d u hi u này theo ngôn ngẽ ễ ả ấ ệ ữ mà Snort có th ể hiểu được

2.3.1 Cấu trúc luật của SNORT

Để biết cách viết một luật từ các dữ liệu của hệ thống ta cần phải hiểu cấu trúc của luật trong Snort như thế nào Một luật trong Snort được chia thành hai phần đó là phần header và options

Hình 2.3 Cấu trúc luật của SNORT

− Phần Header: chứa thông tin về hành động mà luật đó sẽ thực hiện khi phát hiện ra có xâm nhập nằm trong gói tin và nó cũng chứa tiêu chuẩn

để áp dụng luật với gói tin đó

Trang 35

− Phần Option: chứa thông điệp cảnh báo và các thông tin về các phần của gói tin dùng để tạo nên cảnh báo Phần Option chứa các tiêu chuẩn phụ thêm để đối sánh với gói tin

2.3.2 Cấu trúc của phần Header

Phần header bao gồm: rule action, protocol, địa chỉ ip nguồn, địa chỉ ip đích, subnetmask, port nguồn, port đích Phần options bao gồm các thông điệp cảnh báo, thông tin các phần của gói tin sẽ được kiểm tra để xác định xem hành động nào sẽ được áp dụng

Action| Protocol| Address| Port| Direction| Address| Port| | Alert| TCP| 192.168.0.0/22| 23| ->| Any| Any

● Action:

Phần Header sẽ chứa các thông tin xác định ai, ở đâu, cái gì của một gói tin, cũng như phải làm gì nếu tất cả các thuộc tính trong luật được hiện lên Mục đầu tiên trong một luật đó chính là phần rule action, rule action sẽ nói cho Snort biết phải làm gì khi thấy các gói tin phù hợp với các luật đã được quy định sẵn Có 5 hành động mặc định trong Snort đó là: alert (cảnh báo), log (ghi lại log), pass (cho qua), active (kích hoạt), dynamic Ngoài ra nếu chạy Snort ở chế độ inline còn có thêm các tùy chọn bổ sung như drop, reject và sdrop

Trang 36

mạng Từ khóa “any” được sử dụng để định nghĩa một địa chỉ bất kỳ Một địa

chỉ ip sẽ được viết dưới dạng ip_address/netmask Điều này có nghĩa là nếu netmask là /24 thì lớp mạng đó là lớp mạng C, /16 là lớp mạng B hoặc /32 là chỉ một máy đơn

Ví dụ: địa chỉ 192.168.1.0/24 có nghĩa là một dải máy có địa chỉ IP từ 192.168.1.1-192.168.1.255

Trong hai địa chỉ IP trong một luật Snort thì sẽ có một địa chỉ IP nguồn và một địa chỉ IP đích Việc xác định đâu là địa chỉ nguồn, đâu là địa chỉ đích phụ thuộc vào “→”

Ngoài ra toán tử phủ định có thể được áp dụng cho việc định địa chỉ IP Có nghĩa là khi sử dụng toán tử này thì Snort sẽ bỏ qua việc kiểm tra địa chỉ của gói tin đó Toán tử đó là “!” Ngoài ra ta có thể định nghĩa một danh sách các địa chỉ IP bằng cách viết liên tiếp chúng cách nhau bởi một dấu “,”

● Port:

Xác định các cổng nguồn, cổng đích của một gói tin Port có thể được định nghĩa bằng nhiều cách Với từ khóa “any” giống như địa chỉ IP để chỉ có thể

sử dụng bất kỳ port nào Gán một port cố định ví dụ như gán kiểm tra ở port

80 http hoặc port 22 ssh Ngoài ra ta cũng có thể sử dụng toán tử phủ định để

bỏ qua một port nào đó hoặc liệt kê một dải các port

● Direction – điều hướng:

Phần này sẽ chỉ ra địa chỉ nguồn và địa chỉ đích Toán tử hướng “→” chỉ ra đâu là hướng nguồn, đâu là hướng đích Phần địa chỉ IP và port ở phía bên trái của toán tử được coi như là địa chỉ nguồn và port nguồn, phần bên phải được

Trang 37

coi như địa chỉ đích và port đích Ngoài ra còn có toán tử “<>” Snort sẽ xem cặp địa chỉ/port nguồn và đích là như nhau Nghĩa là nó sẽ ghi/phân tích ở cả hai phía của cuộc hội thoại

2.3.3 Phần Option của SNORT

Phần Option nằm ngay sau phần Header và được bao bọc trong dấu ngoặc đơn Nếu có nhiều option thì sẽ phân biệt nhau bởi dấu “;” Một option gồm 2 phần: một từ khóa và một tham số, 2 phần này sẽ phân cách nhau bằng dấu hai chấm

Có 4 loại rule options chính bao gồm:

− General: Tùy chọn này cung cấp thông tin về luật đó nhưng không có bất cứ ảnh hưởng nào trong quá trình phát hiện

− Payload: Tùy chọn liên quan đến phần tải trong một gói tin

− Non-payload: Bao gồm các tùy chọn không liên quan đến phần tải của gói tin (header)

− Post-detection: Các tùy chọn này sẽ gây ra những quy tắc cụ thể sau khi một luật đã được kích hoạt

2.3.3.1 General

− msg

msg là một từ khóa phổ biến và hữu ích được sử dụng khi muốn gán thêm một chuỗi văn bản vào log và cảnh báo Chuỗi văn bản đó sẽ được bọc trong “” Nếu muốn thể hiện ký tự đặc biệt thì thêm dấu đằng trước.\

Trang 38

• <100, sẽ được sử dụng trong tương lai

• 100 – 999,999 các luật được chứa trong các hệ thống Snort phân tán

Cấu trúc: config classification: <name>, <description>, <priority>

Trang 39

− priority

Được sử dụng để gán mức độ nghiêm trọng của một quy tắc Trường classtype gán giá trị ưu tiên mặc định của một loại tấn công tuy nhiên ta có thể ghi đè độ ưu tiên với từ khóa này

• Cấu trúc: priority:<priority integer>;

Trang 40

− depth

Từ khóa depth được sử dụng để xác định khoảng cách bao xa mà luật đó sẽ tìm kiếm tới Tối thiểu là 1 và tối đa là 65535 Được sử dụng kết hợp với từ khóa content để giới hạn nội dung tìm kiếm, kết hợp với từ khóa offset thì ta

sẽ xác định được một khoảng dữ liệu để so sánh với mẫu trong content

− offset

Từ khóa offset được sử dụng để xác định điểm bắt đầu tìm kiếm “mẫu” trong một gói tin Từ khóa này cho phép giá trị từ 65535 tới 65535 Từ khóa offset -được sử dụng kết hợp với từ khóa content để giới hạn khoảng không gian tìm kiếm

Ví dụ:

alert tcp 192.168.1.0/24 any -> any any (content: \"HTTP"; offset: 4; depth: 40; msg: "HTTP matched";)

− distance

Từ khóa distance được sử dụng trong trường hợp muốn bỏ qua bao nhiêu byte

từ nội dung tìm kiếm trước đó

Ví dụ:

content:"GET"; depth:3; content:"downloads"; distance:10;

Luật trên có ý nghĩa là sau khi tìm được chuỗi “GET” trong 3 byte đầu tiên của trường dữ liệu, luật sẽ di chuyển thêm 10 byte so với vị trí cuối cùng của

“GET” và sau đó mới tìm kiếm “download”

− within

Từ khóa within được sử dụng để đảm bảo rằng có nhiều nhất N byte giữa các mẫu nội dung tìm kiếm Nó gần giống với từ khóa depth nhưng nó không bắt đầu từ đầu của gói tin như depth mà bắt đầu từ “mẫu” trước đó

Ví dụ:

Ngày đăng: 19/12/2024, 13:58

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

TÀI LIỆU LIÊN QUAN

w