Mơ hình cơ chế tổng qt phát hiện lỗ hổng bảo mật Website

Một phần của tài liệu Bảo mật website và do quét lỗ hổng bằng mã nguồn mở vega ( có video demo + pp) (Trang 26)

Kết quả rà qt và kiểm tra thăm dị tích cực được đưa vào cơ sở dữ liệu lỗ hổng, trong đó lưu giữ thơng tin các lỗ hổng của Website. Trên cơ sở so sánh thông tin lỗ hổng được phát hiện với thông tin các lỗ hổng của Website, các phương tiện phân tích an tồn hệ thống lập báo cáo về sự vắng mặt hay hiện diện của những trùng hợp trong thông tin của các lỗ hổng, báo cáo này được lưu trong cơ sở dữ liệu lỗ hổng.Mô tả thông tin các lỗ hổng đã được biết đến và lỗ hổng chưa biết (lỗ hổng zero-day) được lưu giữ bằng thông tin về các tính chất đặc thù của từng lỗ hổng cụ thể. Để nhận dạng chính xác thơng tin lỗ hổng được phát hiện, cơ sở dữ liệu lỗ hổng cần chứa thông tin về tên gọi và phiên bản phần mềm của Website, về định danh, tên và lớp của các lỗ hổng được phát hiện. các lỗ hổng đã được biết đến và lỗ hổng zero-day được lưu giữ bằng thông tin về các tính chất đặc thù của từng lỗ hổng cụ thể. Để nhận dạng chính xác thơng tin lỗ hổng được phát hiện, cơ sở dữ liệu lỗ hổng cần chứa thông tin về tên gọi và phiên bản phần mềm của Website, về định danh, tên và lớp của các lỗ hổng

được phát hiện

Dựa trên các thông tin trên, các phương tiện phân tích an tồn sẽ phân loại các mức độ của lỗ hổng. Để đánh giá một cách chính xác thơng tin về lỗ hổng bao gồm: loại khiếm khuyết của Website, vị trí phát hiện và phương pháp phát hiện lỗ hổng. Quá trình đánh giá lỗ hổng kết thúc bằng các khuyến nghị về việc loại bỏ lỗ hổng hoặc loại trừ khả năng sử dụng chúng.

Trong trường hợp lỗ hổng được phát hiện lần đầu tiên, các phương tiện phân tích sẽ đưa thơng tin về nó vào cơ sở dữ liệu lỗ hổng và hình thành cơ sở dữ liệu mới của lỗ hổng zero-day. Khi các nhà phát triển Website đưa ra các bản cập nhật và các biện pháp bảo vệ thơng tin, thì lỗ hổng zero-day sẽ chuyển thành lỗ hổng đã biết.

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

2.2.1. Giới thiệu giải pháp

Trong quá trình thiết kế, cài đặt và vận hành hệ thống Website, thường xuyên dò quét phát hiện các lỗ hổng bảo mật để kịp thời xử lý là sự lựa chọn thông minh giúp cho các doanh ngiệp, cá nhân, tổ chức bảo vệ được hệ thống của mình. Để thực hiện dị qt phát hiện các lỗ hổng bảo mật, người dùng có thể tự cài đặt các phần mềm hoặc sử dụng các phần mềm sẵn có của các nhà cung cấp.

Một số tiêu chuẩn kiểm thử lỗ hổng bảo mật website điển hình: – OWASP (Open Web Application Security Project).

– OSSTMM (Open Source Security Testing Methodology Manual) – Kiểm thử theo phương thức mã nguồn mở.

– PTF (Penetration Testing Framework) – Dò quét lỗ hổng bảo mật hệ thống.

– ISSAF (Information Systems Security Assessment Framework) – Đánh giá bảo mật Hệ thống thông tin.

Để xây dựng các phần mềm phát hiện lỗ hổng bảo mật, trước hết cần nghiên cứu kỹ các đặc điểm lỗ hổng bảo mật dựa trên các tiêu chuẩn nêu trên.

Tiếp theo là sử dụng phần mềm để dò quét phát hiện lỗ hổng bảo mật.

Quá trình tự cài đặt các phần mềm phát hiện lỗ hổng bảo mật giúp cho các nhà phát triển Website nắm rõ bản chất của lỗ hổng và sớm có các giải pháp khắc phục.

Trong hình 2.2 mơ tả sơ đồ tấn công lỗ hổng cơ sở dữ liệu SQL của website được viết bằng ngơn ngữ lập trình PHP và cơ sở dữ liệu SQL server .

Hình 2. 2. Sơ đồ thực hiện tấn cơng lỗ hổng cơ sở dữ liệu SQL trên web

Trên cơ sở đó, thực hiên cài đặt phần mềm theo sơ đồ trên để phát hiện lỗ hổng bảo mật webiste tương ứng.

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.

- IBM AppScan: cho phép tìm ra các lỗ hổng ứng dụng trên nền tảng web. IBM AppScan có thể dị quét ra các lỗ hổng báo mật website như SQL Injection, XSS, tìm kiếm phát hiện ra Trojan và Backdoor….

- WebInspect: cho phép nhận dạng ra các lỗ hổng website phổ biến. Sử dụng Webinspect để dò quét lỗ hổng website cho ta biết cấu hình web

server đã chuẩn chưa, đồng thời nó cũng thử sử dụng một vài tấn công để khai thác lỗ hổng website.

- 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 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-

- Nhưng ở trong báo cáo này , chúng ta sẽ cùng tìm hiểu và demo 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

- Giới thiệu sơ lược về phần mềm mã mở Vega

+ Vega là một trình quét bảo mật web mã nguồn mở và miễn phí và nền tảng kiểm tra bảo mật web để kiểm tra tính bảo mật của các ứng dụng web. Vega có thể giúp chúng ta tìm và xác thực SQL Injection, Cross-Site

Scripting (XSS), vơ tình tiết lộ thơng tin nhạy cảm và các lỗ hổng khác. Nó được viết bằng Java, dựa trên GUI và chạy trên Linux, OS X và Windows.

+ Vega có thể giúp chúng ta tìm ra các lỗ hổng như: tập lệnh chéo trang được phản ánh, tập lệnh trên nhiều trang được lưu trữ, chèn SQL mù, bao gồm tệp từ xa, chèn trình bao và những thứ khác. Vega cũng thăm dò các cài đặt bảo mật TLS / SSL và xác định các cơ hội để cải thiện tính bảo mật của các máy chủ TLS của bạn.

+ Vega bao gồm một máy quét tự động để kiểm tra nhanh và một proxy chặn để kiểm tra chiến thuật. Máy quét Vega tìm thấy XSS (cross-site scripting), SQL injection và các lỗ hổng khác. Vega có thể được mở rộng bằng cách sử

dụng một API mạnh mẽ trong ngôn ngữ của web: Javascript.

Trên đây ta đã tìm hiểu sơ lược về phần mềm mã mở Vega, một phần mềm với tính năng quét và kiểm tra bảo mật của ứng dụng web một cách đa năng. Trong chương tiếp theo chúng ta sẽ đi thực nghiệm dùng phần mềm này để khảo sát thực tế tình trạng bảo mật của một số trang web hay sử dụng.

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

Các thành phần của hệ thống IDS được mô tả trong hình 2.4

Hình 2. 4. 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.

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

Hình 2. 5. 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.6 dưới đây mơ tả mơ hình hệ thống NIDS.

Hình 2. 6. 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 xun 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 . Đâ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 báo trên giao thức TCP/IP.

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 là q 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 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.

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 q 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 đó.

Một hồ sơ ban đầu được sinh ra trong một khoảng thời gian được gọi là 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ơ

Một phần của tài liệu Bảo mật website và do quét lỗ hổng bằng mã nguồn mở vega ( có video demo + pp) (Trang 26)

Tải bản đầy đủ (DOCX)

(59 trang)
w