Một số phần mềm phát hiện lỗ hổng bảo mật Website

Một phần của tài liệu (TIỂU LUẬN) báo cáo môn học THỰC tập cơ sở đề tài một số kĩ THUẬT đảm bảo AN TOÀN THÔNG TIN CHO WEBSITE (Trang 26 - 58)

CHƯƠNG 1 TỔNG QUAN VỀ TẤN CÔNG LỖ HỔNG BẢO MẬT WEBSITE

2.2 Giải pháp sử dụng cơng cụ phần mềm dị qt

2.2.2 Một số phần mềm phát hiện lỗ hổng bảo mật Website

Hiện nay có khá nhiều phần mềm miễn phí cũng như trả phí được phát hành. Một số ứng dụng phát hiện lỗ hổng bảo mật Website khá phổ biến được liệt kê dưới đây.

- Google Safe Browsing Diagnostic: sẽ cho biết về tên miền và các đường dẫn liên quan đến địa chỉ web muốn kiểm tra.

- URL Void: có chức năng quét địa chỉ web bằng hơn 30 công cụ khác nhau.

- UnMask Parasites: quét web cho biết nó chứa các mối nguy hiểm nào

ví dụ đường link, dịng lệnh đáng ngờ.

- PhishTank: cung cấp danh sách địa chỉ Web có nguy cơ phishing. - UnShorten.it: đảm bảo an toàn cho người dùng khi truy cập vào

các địa chỉ web rút gọn.

- Phần mềm Havij: phát hiện lỗ hổng cơ sở dữ liệu SQL với ngơn ngữ lập trình web là PHP.

- Phần mềm Rapid 7: có tính năng dị qt lỗ hổng tồn diện chun sâu trên cả phần cứng và phần mềm.

- Phần mềm Acunetix: là chương trình tự động kiểm tra các ứng dụng Web để tìm kiếm các lỗ hổng bảo mật như SQL Injection, hay Cross-Site Scripting,…

- Nhưng ở trong báo cáo này , chúng ta sẽ cùng tìm hiểu về ứng dụng

Vega trên nền tảng Kali Linux để tìm kiếm các lỗ hổng trong Website bất

kì.

Hình 2.3: Ứng dụng Vega

Tiếp theo , ta sẽ ví dụ khảo sát nhanh một số phần mềm khác cụ thể.

25

Acunetix WVS (Web Vulnerability Scanner) là chương trình tự động kiểm tra các ứng dụng Web để tìm kiếm các lỗ hổng bảo mật như SQL Injection, hay Cross-Site Scripting,… và tìm kiếm những chính sách đối với mật khẩu đăng nhập cũng như các phương thức xác thực vào WebSite.

Hình 2.4: Giao diện phần mềm WVS khai thác lỗ hổng bảo mật website (b) Phần mềm Havij khai thác lỗ hổng cơ sở dữ liệu SQL với ngơn ngữ lập trình web là PHP

Hình 2.5: Giao diện phần mềm Havaij quét lỗ hổng bảo mật web

Khi chúng ta tìm được cơ sở dữ liệu Current DB như hình trên, ta có thể dễ dàng truy xuất được các bảng Tables trong cơ sở dữ liệu đó bằng cách Get

Tables, Get Columns hoặc Get Data để lấy được tên đăng nhập và mật khẩu

đăng nhập của trang website đó (thơng thường mật khẩu được mã hóa bằng MD5, ta có thể dùng chức năng MD5 để giải hoặc có nhiều trang web online có thể giải mã được mật khẩu một cách dễ dàng và nhanh chóng,..)

Hình 2.6: Giao diện phần mềm Havij khai thác được tên và mật khẩu người dùng

Như vậy, với trang website được viết bằng ngơn ngữ PHP phổ biến hiện nay có kết nối cơ sở dữ liệu SQL, ta có thể dùng phần mềm miễn phí qt lỗ hổng với thời gian khoảng 120 s có thể tìm thấy được tên đăng nhập và mật khẩu để có thể Login vào hệ thống một cách dễ dàng.

2.2.3 Nhận xét

Giải pháp sử dụng các công cụ phần mềm rà quét phát hiện lỗ hổng bảo mật Website khá đơn giản và có thể tiến hành ngay từ giai đoạn thiết kế và cài đặt hệ thống website. Giải pháp này có thể hỗ trợ cho cả các nhà phát triển,

27

cung cấp dịch vụ Web lẫn các tổ chức, cá nhân sử dụng hệ thống Website. Tuy nhiên, lỗ hổng bảo mật Website ngày càng khó phát hiện, trong khi đó thủ đọan của tin tặc ngày càng tinh vi và nguy hiểm. Do đó, việc sử dụng các phần mềm dị qt thơng thường có thể khơng mang lại hiệu quả như mong muốn, đặc biệt đối với các website lớn, phức tạp. Vì vậy, cần phải có thêm các giải pháp hỗ trợ khác.

2.3 Giải pháp sử dụng hệ thống phát hiện xâm nhập

2.3.1 Giới thiệu hệ thống phát hiện xâm nhập

Hệ thống phát hiện xâm nhập (Intrusion Detection System – IDS) là một hệ thống phần cứng hoặc ứng dụng phần mềm theo dõi, giám sát và thu thập thông tin từ các hoạt động ra vào của mạng. Sau đó hệ thống sẽ phân tích để tìm dấu hiệu của sự xâm nhập hoặc tấn công hệ thống trái phép và cảnh báo đến người quản trị hệ thống.

Nói cách khác, IDS là hệ thống phát hiện các dấu hiệu có nguy cơ làm tổn hại đến tính đúng đắn, tính tồn vẹn, tính bảo mật của một hệ thống mạng hoặc máy tính, làm cơ sở để đảm bảo cho an ninh hệ thống. Chúng có thể xác định những hoạt động xâm nhập bằng việc kiểm tra sự đi lại của mạng, những host log, system call, và những khu vực khác khi phát hiện ra những dấu hiệu xâm nhập. Do đó, IDS có khả năng ứng dụng phát hiện lỗ hổng bảo mật Website.

Các thành ph n c a IDS

Hình 2.7: Các thành phần của hệ thống IDS

Hai thành phần quan trọng nhất cấu tạo nên hệ thống IDS là sensor (bộ cảm nhận) có chức năng chặn bắt và phân tích lưu lượng trên mạng và các nguồn thông tin khác để phát hiện dấu hiệu xâm nhập (signature); signature database là cơ sở dữ liệu chứa dấu hiệu của các tấn công đã được phát hiện và phân tích. Cơ chế làm việc của signature database giống như virus database trong các phần mềm antivirus. Do vậy, việc duy trì một hệ thống IDS hiệu quả phải bao gồm việc cập nhật thường xuyên cơ sở dữ liệu này.

Phân lo i IDS:

Dựa trên phạm vi giám sát, IDS được chia thành 2 loại:

(1) Host-based IDS (HIDS): Là những IDS giám sát hoạt động của từng máy tính riêng biệt. Do vậy, nguồn thơng tin chủ yếu của HIDS ngồi lưu lượng dữ liệu đến và đi từ máy chủ cịn có hệ thống dữ liệu nhật ký hệ thống (system log) và kiểm tra hệ thống (system audit). Nhiệm vụ chính của HIDS là giám sát sự thay đổi trên hệ thống.

29

Hình 2.8: Mơ hình hệ thống HIDS

(2) Network-based IDS (NIDS): Là những IDS giám sát trên tồn bộ mạng. Nguồn thơng tin chủ yếu của NIDS là các gói dữ liệu đang lưu thơng trên mạng. NIDS thường được lắp đặt tại ngõ vào của mạng, có thể đứng trước hoặc sau tường lửa.

Hình 2.8 dưới đây mơ tả mơ hình hệ thống NIDS.

Hình 2.9: Mơ hình hệ thống NIDS

Dựa trên kỹ thuật thực hiện, IDS cũng được chia thành 2 loại:

- Signature-based IDS: Signature-based IDS phát hiện xâm nhập dựa trên dấu hiệu của hành vi xâm nhập, thơng qua phân tích lưu lượng mạng và nhật ký hệ thống. Kỹ thuật này đòi hỏi phải duy trì một cơ sở dữ liệu về các

dấu hiệu xâm nhập (signature database), và cơ sở dữ liệu này phải được cập nhật thường xuyên mỗi khi có một hình thức hoặc kỹ thuật xâm nhập mới. - Anomaly-based IDS: phát hiện xâm nhập bằng cách so sánh (mang tính thống kê) các hành vi hiện tại với hoạt động bình thường của hệ thống để phát hiện các bất thường (anomaly) có thể là dấu hiệu của xâm nhập. Ví dụ, trong điều kiện bình thường, lưu lượng trên một giao tiếp mạng của server là vào khoảng 25% băng thông cực đại của giao tiếp. Nếu tại một thời điểm nào đó, lưu lượng này đột ngột tăng lên đến 50% hoặc hơn nữa, thì có thể giả định rằng server đang bị tấn công DoS.

Snort:

Một trong những phần mềm IDS phổ biến hiện nay là Snort [11]. Đây là một sản phẩm NIDS mã nguồn mở với hệ thống signature database (được gọi là rule database) được cập nhật thường xuyên bởi nhiều thành viên trong cộng đồng Internet.

Snort là một ứng dụng IDS hiện đại với ba chức năng chính: nó có thể phục vụ như là một bộ phận lắng nghe gói tin, lưu lại thơng tin gói tin hay là một hệ thống phát hiện xâm nhập mạng (NIDS). Ngồi ra cịn có rất nhiều chương trình add-on cho Snort để có thể quản lý các file log, các tập luật và cảnh báo cho quản trị viên khi phát hiện sự xâm nhập hệ thống. Tuy không phải là phần lõi của Snort nhưng những thành phần này cung cấp rất nhiều tính năng phong phú để có một hệ thống phát hiện và phịng chống xâm nhập tốt.

Có rất nhiều cách để triển khai hệ thống Snort, thông thường Snort chỉ kết hợp với TCP/IP do giao thức này là một giao thức phổ biến của Internet, mặc dù với các phần tùy chỉnh mở rộng, Snort có thể thực hiện để hỗ trợ các giao thức mạng

khác, chẳng hạn như Novell’s IPX. Vì vậy, Snort chủ yếu phân tích và cảnh

30

31

2.3.2 Ứng dụng hệ thống IDS phát hiện lỗ hổng bảo mật Website

Hệ thống phát hiện xâm nhập IDS có khả năng ứng dụng phát hiện lỗ hổng bảo mật Website dựa trên các dữ liệu thu thập được kết hợp với các kỹ thuật phát hiện tấn công.

(1) Phát hi n t n công d a trên d u hi u

Phát hiện tấn công dựa trên dấu hiệu [4] là quá trình so sánh các sự kiện giám sát với các dấu hiệu để xác định các nguy cơ có thể là một tấn cơng. Trong đó dấu hiệu là các sự kiện, hành động tương ứng với các mối đe dọa được biết đến. Ví dụ:

- Một hành động cố gắng truy cập vào hệ thống với username “root” là hành động vi phạm tới chính sách bảo mật của công ty, tổ chức.

- Một e-mail với tiêu đề “ Free picture!” và file đính kèm là “freepics.exe” có các đặc điểm được biết đến thường là của phần mềm độc hại.

- Mục ghi log hệ điều hành với mã trạng thái là 645 được biết đến là sự kiểm tra máy trạm đã bị vơ hiệu hóa.

Phát hiện tấn cơng dựa trên dấu hiệu là hữu hiệu để phát hiện các tấn công đã được biết đến và đã được định nghĩa, nhưng sẽ kém hiệu quả với các tấn cơng chưa được định nghĩa trước đó, hoặc các tấn công được che giấu bằng kỹ thuật lẩn tránh, và nhiều biến thể khác của các tấn công đã được biết đến. Ví dụ: nếu một kẻ tấn cơng thay đổi hình thức thể hiện trong ví dụ trước sử dụng tên file khác như “freepic2.exe”, và chuỗi tìm kiếm cho “freepics.exe” sẽ không trùng khớp.

(2) Phát hi n t n công d a trên b t th ường

Phương pháp phát hiện dựa trên các bất thường [4] là quá trình so sánh tập các hành động được coi là bình thường và các hành vi được giám sát để

xác định sựsai lệch. Nếu phát hiện một sai lệch đủ lớn giữa tập hành vi bình thường và tập hành vi hiện tại, một cảnh báo về nguy cơ tấn cơng hoặc đột nhập có thể được gửi đi.

Kỹ thuật này nhấn mạnh việc đo đếm các hoạt động bình thường trên mạng. Các mức ngưỡng về các hoạt động bình thường được đặt ra. Nếu có sự bất thường nào đó như đǎng nhập với số lần quá quy định, số lượng các tiến trình hoạt động trên CPU, số lượng một loại gói tin được gửi vượt quá mức ... thì hệ thống có dấu hiệu bị tấn cơng.

Hệ thống phát hiện tấn công sử dụng phương pháp phát hiện dựa trên bất thường trước hết xây dựng hồ sơ (profile) miêu tả các hành vi bình thường của người dùng, máy trạm, kết nối mạng hoặc ứng dụng. Hồ sơ này được xây dựng thông qua việc giám sát các hành vi điển hình trong một giai đoạn thời gian. Ví dụ: một hồ sơ cho một mạng có thể chỉ ra hoạt động dịch vụ Web sử dụng trung bình 13% băng thơng mạng trong suốt một ngày làm việc. Hệ thống phát hiện đột nhập sau đó sử dụng phương pháp thống kê để so sánh các đặc trưng của các hành vi hiện tại với một ngưỡng liên quan đến hồ sơ, như phát hiện khi dịch vụ Web sử dụng băng thông lớn hơn đáng kể so với mức sử dụng bình thường ghi trong hồ sơ và cảnh báo người quản trị về bất thường đã phát hiện. Hồ sơ có thể được phát triển cho nhiều thuộc tính hành vi, như số lượng email được gửi bởi một người, số lần đăng nhập sai cho một máy trạm, và mức sử dụng bộ xử lý trên một máy trạm trong một khoảng thời gian.

Lợi ích lớn nhất của phương pháp phát hiện dựa trên sự bất thường là có thể nhận biết những tấn cơng, đột nhập mới hoặc chưa biết. Chẳng hạn một máy tính bị nhiễm một loại phần mềm độc hại mới và phần mềm độc hại này có khả năng sử dụng nhiều tài nguyên của máy tính, gửi một lượng lớn e- mail, thiết lập nhiều kết nối mạng, và thực hiện các hành vi khác, tạo ra sự khác biệt đáng kể với các hồ sơ về các hành vi đã được thiết lập cho máy tính đó.

33

giai đoạn huấn luyện. Hồ sơ cho phát hiện dựa trên sự bất thường có thể tĩnh hoặc động.

Sau khi được tạo ra, một hồ sơ tĩnh không thay đổi được trừ khi hệ thống phát hiện tấn công chỉ định tạo ra một hồ sơ mới. Do hệ thống và mạng thay đổi theo thời gian, tập các hành vi bình thường cũng thay đổi, một hồ sơ tĩnh sẽ trở lên khơng chính xác, do đó hồ sơ tĩnh cần được tái sinh định kỳ. Hồ sơ động khơng có vấn đề này do hồ sơ động có thể được cập nhật sử dụng các sự kiện được giám sát. Tuy nhiên, chúng nhạy cảm với sự lẩn tránh của những kẻ tấn công. Chẳng hạn, một kẻ tấn cơng có thể thực hiện số lượng nhỏ các hành vi độc hại, sau đó tăng dần tần suất và số lượng các hoạt động. Nếu tốc độ thay đổi là đủ chậm, hệ thống có thể nghĩ các hành vi phá hoại này là các hành vi bình thường và đưa vào hồ sơ bình thường.

(3) Phát hi n t n công d a trên phân tích tr ng thái giao th c

Phương pháp phát hiện dựa trên phân tích trạng thái giao thức [6] là một quá trình so sánh hồ sơ của các hành vi giao thức tốt cho mỗi trạng thái giao thức với các sự kiện giám sát được để xác định sự sai lệch. Không giống như phương pháp dựa trên sự bất thường là sử dụng hồ sơ của máy trạm hoặc của mạng cụ thể, phương pháp dựa trên trạng thái của giao thức phân tích những phản hồi trên hồ sơ của nhà phát triển cung cấp chung để xác định một giao thức cụ thể nên sử dụng hay khơng. Thuật ngữ "trạng thái" trong phương pháp này có ý nghĩa là hệ thống phát hiện tấn cơng hiểu biết và có khả năng giám sát trạng thái của mạng, phương tiện và các giao thức ứng dụng. Chẳng hạn khi một người dùng bắt đầu một phiên giao thức trao đổi file (FTP), phiên làm việc sẽ được khởi tạo trong trạng thái không xác thực. Do người dùng chưa được xác thực nên họ chỉ có thể thực hiện một vài câu lệnh trong trạng thái này như là xem các thông tin hỗ trợ hoặc cung cấp tên tài khoản và mật khẩu. Sự quan trọng của việc hiểu trạng thái là sự kết hợp giữa yêu cầu và đáp ứng, như vậy khi một xác thực FTP xuất hiện, hệ thống phát hiện tấn cơng có thể xác định q trình này có thành cơng hay khơng thơng qua mã trạng thái của phản hồi được trả về. Khi người dùng xác thực thành công, phiên làm việc

chuyển sang trạng thái đã xác thực và người dùng có thể thực thi các câu lệnh. Việc thực thi các

câu lệnh trong trạng thái khơng được xác thực có thể bị nghi ngờ là tấn cơng xâm nhập, những thực thi trong trạng thái đã xác thực thì được coi là hợp lệ.

Phương pháp phát hiện dựa trên phân tích trạng thái giao thức có thể xác định thứ tự khơng đúng của các câu lệnh, ví dụ phát hành cùng một lệnh liên tục hoặc phát hành một lệnh mà khơng phát hành lệnh mà nó phụ thuộc. Một tính năng khác của theo dõi trạng thái trong phương pháp này là cho các giao thức thực thi có xác thực, hệ thống phát hiện tấn cơng có thể giám sát việc xác

Một phần của tài liệu (TIỂU LUẬN) báo cáo môn học THỰC tập cơ sở đề tài một số kĩ THUẬT đảm bảo AN TOÀN THÔNG TIN CHO WEBSITE (Trang 26 - 58)

w