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

ĐỒ án tốt NGHIỆP đại học đề tài NGHIÊN cứu các kỹ THUẬT và CÔNG cụ PHÂN TÍCH WEB LOG

32 22 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 32
Dung lượng 96,1 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Hiện nay có nhiều kỹ thuật khác nhau được sử dụng trong phân tích weblog,trên thế giới đã có một số nền tảng và công cụ cho thu thập, xử lý và phântích các dạng log phiên bản thương mại

Trang 1

BAN CƠ YẾU CHÍNH PHỦ

HỌC VIỆN KỸ THUẬT MẬT MÃ

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

ĐỀ TÀINGHIÊN CỨU CÁC KỸ THUẬT VÀ CÔNG CỤ PHÂN TÍCH WEB LOG

Học viên thực hiện: Lê Như HậuKhóa: 14

Chuyên ngành: An toàn thông tinNgười hướng dẫn:TS Hoàng Xuân Dậu

Hà Nội, 2022

Trang 2

BAN CƠ YẾU CHÍNH PHỦ

HỌC VIỆN KỸ THUẬT MẬT MÃ

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

ĐỀ TÀINGHIÊN CỨU CÁC KỸ THUẬT VÀ CÔNG CỤ PHÂN TÍCH WEB LOG

Học viên thực hiện: Lê Như HậuKhóa: 14

Chuyên ngành: An toàn thông tinNgười hướng dẫn: TS Hoàng Xuân Dậu

Hà Nội, 2022

Trang 3

LỜI CẢM ƠN

Trong thời gian thực hiện đồ án tốt nghiệp, em đã nhận được nhiều sựgiúp đỡ, đóng góp ý kiến và chỉ bảo nhiệt tình của thầy cô, gia đình và bạn bè.Trong thực tế không có sự thành công nào mà trong đó không gắn liền với những

sự hỗ trợ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác Với lòng biết

ơn sâu sắc, em xin gửi lời cảm ơn chân thành nhất đến cán bộ hướng dẫn Thầygiáo TS Hoàng Xuân Dậu – Khoa CNTT1, Học viện Công nghệ BC-VT người

đã giúp đỡ hướng dẫn em tận tình, chỉ bảo cho em trong suốt quá trình làm đồ

án

Em cũng xin cảm ơn và tri ân sâu sắc tới các thầy cô giáo trong trườngHọc viện kỹ thuật mật mã nói chung, các thầy cô trong khoa An toàn thông tinnói riêng đã dạy dỗ, truyền đạt cho em những kiến thức về các môn đại cươngcũng như các môn chuyên ngành, giúp em có được cơ sở lý thuyết tốt và tạo điềukiện giúp đỡ em trong suốt quá trình học tập

Cuối cùng, em xin chân thành cảm ơn gia đình, người thân và bạn bè, đãluôn tạo điều kiện, quan tâm, giúp đỡ em từ những vấn để nhỏ nhất, tạo cho emđiều kiện tốt nhất và động viên em trong suốt quá trình học tập và hoàn thành đồ

án tốt nghiệp

Trang 4

LỜI CAM ĐOAN

Em xin cam đoan toàn bộ nội dung đồ án này là do em tìm hiểu, nghiêncứu dưới dự hướng dẫn của TS Hoàng Xuân Dậu

Các nội dung được trình bày trong đồ án là những kết quả đạt được trongthời gian em thực hiện đề tài dưới sự hướng dẫn của giáo viên hướng dẫn, emkhông sao chép nguyên bản kết quả của các nghiên cứu đã từng được công bố vàđây cũng là kết quả của quá trình tìm hiểu, học tập nghiêm túc của em trong suốtquá trình học đại học Bên cạnh đó, trong một số nội dung đồ án là kết quả phântích, nghiên cứu, tổng hợp từ nhiều nguồn tại liệu khác Các thông tin tổng hợphay các kết quả lấy từ các nguồn tài liệu khác đã được em trích dẫn một cách đầy

đủ và hợp lý trong mục tài liệu tham khảo Nguồn tài liệu tham khảo có xuất xứ

rõ ràng và được trích dẫn hợp pháp

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

Học viên thực hiện

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

Trang 7

MỞ ĐẦU

Cùng sự phát triển mạnh mẽ của thương mại điện tử trong những năm gầnđây, các trang web bán hàng trực tuyến ngày càng trở nên phổ biến thì sự cạnhtranh ngày một trở nên khốc liệt Các doanh nghiệp muốn nắm được các hành vicủa người dùng trên website của mình nhằm đưa ra các chính sách tiếp thị phùhợp, hay giúp tối ưu hóa website, đưa ra được những gợi ý sát với nhu cầu củangười dùng nhất

Hiện nay có nhiều kỹ thuật khác nhau được sử dụng trong phân tích weblog,trên thế giới đã có một số nền tảng và công cụ cho thu thập, xử lý và phântích các dạng log phiên bản thương mại cũng như mã mở như IBM QradarSIEM, Splunk, Graylog và Logstash, Tuy nhiên, việc nghiên cứu sâu cácphương pháp xử lý và phân tích web log và ứng dụng ở Việt Nam vẫn cần đượctiếp tục thực hiện

Đồ án tốt nghiệp với đề tài " NGHIÊN CỨU CÁC KỸ THUẬT VÀCÔNG CỤ PHÂN TÍCH WEB LOG" theo hướng nghiên cứu này có mục đích lànghiên cứu các kỹ thuật xử lý và phân tích web log, sau đó áp dụng các kiến thứctìm hiểu được để triển khai thử nghiệm một hệ thống phân tích web log có chứcnăng thu thập, xử lý và phân tích các file web log để sinh các báo cáo về hành vitruy nhập web của người dùng

Đồ án được cấu trúc gồm ba chương chính với nội dung sau:

 Chương 1:Tổng quan về web log và xử lý web log: giới thiệu các kháiniệm cơ bản về web log và các định dạng web log phổ biến hiện nay

Trang 8

 Chương 2: Các kỹ thuật và công cụ xử lý, phân tích web log: phân tíchcác kỹ thuật xử lý và phân tích web log, giới thiệu một số công cụ quản

lý, phân tích web log

 Chương 3: Cài đặt và thử nghiệm ứng dụng phân tích web log: triểnkhai cài đặt thử nghiệm một hệ thống thu thập, phân tích web log vàđưa ra một số kết quả

Trang 9

Chương 1 TỔNG QUAN VỀ WEB LOG VÀ XỬ LÝ WEB LOG

1.1 Giới thiệu về web log

1.1.1 Định nghĩa

Một file web log là file dùng để ghi lại thông tin về hoạt động, thao tác củamột hay nhiều người dùng Web khi người dùng gửi 1 yêu cầu tài nguyên từ trangweb Nó giống như một quyển nhật ký hay một bản tin trực tuyến nhằm thôngbáo những sự kiện xảy ra hàng ngày trên 1 trang web

File web log cung cấp các thông tin hữu ích như:

 Trang nào của website mà người dùng đã yêu cầu ?

 Các lỗi mà người dùng gặp phải là gì ?

 Trạng thái được trả về bởi máy chủ với yêu cầu của người dùng là gì ?

 Số lượng byte được gửi từ máy chủ đến người dùng ?

Web log có thể sử dụng với nhiều mục đích khác nhau như : phân tích ,thống kê các số liệu , hành vi người dùng Từ những kết quả, số liệu đó giúpích rất nhiều đối với người quản trị Ngoài ra, khi hệ thống gặp sự cố, web logcũng là một nguồn cung cấp các dữ liệu quan trọng cho quản trị viên để tìm hiểunguyên nhân và khắc phục sự cố

1.1.2 Các loại web server log

Có 4 loại server log chính :

Trang 10

 Access logs : dữ liệu của tất cả các yêu cầu đến và thông tin phía clienttới máy chủ Access log ghi lại tất cả các yêu cầu được xử lý bởi máychủ

 Referrer logs: cung cấp thông tin về liên kết và chuyển hướng ngườidùng truy cập đến trang web

 Agent logs: Lưu trữ thông tin về client gửi request tới web server Baogồm thông tin trình duyệt và hệ điều hành mà người dùng sử dụng đểtruy cập đến web3

 Error logs: Lưu trữ thông tin về lỗi xảy ra với các yêu cầu đến máychủ Access log và error log là 2 log được sử dụng chính còn với agentlog và referrer log là 2 log có thể được kích hoạt hoặc không bởi máychủ

1.1.3 Các nguồn sinh web log

Phía Server

Web server log là một nguồn quan trọng để thực hiện phân tích vì nó ghilại tất cả những hành vi của người dùng truy cập web Dữ liệu được ghi trong logmáy chủ phản ánh (có thể đồng thời) truy cập của một trang web bởi nhiều ngườidùng Các file log này có thể được lưu trữ dưới các định dạng khác nhau nhưCommon Log hoặc Extended Log Tuy nhiên, dữ liệu này được ghi lại bởi máychủ có thể không được hoàn toàn đáng tin cậy do còn có ảnh hưởng từ nhiều yếu

tố khác Ví dụ như: Lượt xem trang được lưu trong bộ nhớ cache chứ khôngđược ghi lại trong log máy chủ Ngoài ra, thông tin quan trọng được gửi thôngqua các phương thức POST sẽ không được lưu lại trên server Sử dụng việc chặn

Trang 11

gói tin là một phương pháp thay thế để thu thập dữ liệu sử dụng thông qua logmáy chủ Các gói tin được chặn bắt và dữ liệu được triết xuất trực tiếp từ gói tinTCP/IP.

Máy chủ Web cũng có thể lưu trữ các loại thông khác như cookie và dữliệu truy vấn Cookie là các mã thông báo được tạo ra bởi máy chủ Web cho cáctrình duyệt để tự động theo dõi khách truy cập trang web Cookie dựa trên sựhợp tác ngầm định của người và do đó đã gây ra mối quan ngại ngày càng tăng

về sự riêng tư của người dùng Bên cạnh dữ liệu sử dụng, phía máy chủ cũngcung cấp dữ liệu nội dung, thông tin cấu trúc và thông tin meta của trang web(chẳng hạn như kích thước của một tệp tin và thời gian sửa đổi cuối cùng)

Phía Client

Việc thu thập dữ liệu phía client có thể được thực hiện bằng cách sử dụngmột tác nhân từ xa ( ví dụ: Javascript hoặc Java applets) hoặc bằng cách sửa đổisource code ở trên trình duyệt để nâng cao khả năng thu thập dữ liệu Việc triểnkhai các phương thức thu thập dữ liệu phía client đòi hỏi phải có sự hợp tác củangười dùng, hoặc trình duyệt của người dùng phải được kích hoạt tính năng củaJavascripts và các Java applets, hoặc tự nguyện sử dụng trình duyệt đã sửa đổi

Thu thập phía Client có một lợi thế hơn thu thập phía máy chủ bởi vì nócải thiện cả vấn đề caching và nhận dạng phiên Tuy nhiên, Java applets thựchiện không tốt hơn log phía máy chủ trong việc xác định thời gian xem thực củamột trang Trong thực tế, nó có thể phải chịu thêm một số chi phí, đặc biệt là khiJava applets được tải lần đầu tiên Javascripts không thể bắt tất cả các nhấp chuộtcủa người dùng (chẳng hạn như nút tải lại hoặc quay lại trang trước của trìnhduyệt) Các phương pháp này sẽ thu thập chỉ hành vi duyệt web của một người

Trang 12

dùng duy nhất Một trình duyệt đã sửa đổi rất linh hoạt và cho phép thu thập dữliệu về một người dùng trên nhiều trang web Phần khó nhất của việc sử dụngphương pháp này là việc làm sao để người dùng sử dụng trình duyệt đã sửa đổicho hoạt động duyệt web hàng ngày của họ.

Phía Proxy

Một proxy Web hoạt động như là một bộ nhớ đệm giữa các trình duyệtcủa khách hàng và máy chủ Web Proxy cache được sử dụng để giảm thời giantải trang Web của người dùng cũng như tải lưu lượng mạng tại máy chủ và máykhách Hiệu suất của proxy cache phụ thuộc vào khả năng dự đoán các yêu cầutrang một cách chính xác Các dấu vết trên Proxy có thể tiết lộ các yêu cầuHTTP thực từ nhiều máy khách tới nhiều máy chủ Web Đây có thể là nguồn dữliệu để mô tả hành vi duyệt web của một nhóm người dùng ẩn danh, sử dụng mộtmáy chủ proxy chung

1.2 Các định dạng web log phổ biến hiện nay

Các định dạng web log được sử dụng phổ biến hiện nay bao gồm địnhdạng web log chuẩn của NCSA (NCSA Common Log Format), định dạng weblog kết hợp (NCSA Combined Log Format), định dang web log mở rộng củaW3C (W3C Extended Log Format) và định dạng web log của máy chủ webMicrosoft IIS (Microsoft IIS Log Format) Trên thực tế hiện nay, mỗi máy chủweb đều hỗ trợ một số định dạng web log trong số các định dạng kể trên Chẳnghạn, máy chủ web Microsoft IIS hỗ trợ 3 định dạng, bao gồm: NCSA CommonLog Format, W3C Extended Log Format và Microsoft IIS Log Format Ngược

lại, máy chủ web Apache hay Apache HTTP Server sử dụng các chuỗi định

dạng để hỗ trợ 2 định dạng log bao gồm: NCSA Common Log Format và NCSA

Trang 13

Combined Log Format Người quản trị có thể lựa chọn định dạng web log sửdụng để máy chủ sinh các file web log.

1.2.1 NCSA Common Log Format

NCSA Common Log Format, hay thường được gọi tắt Common LogFormat, là định dạng web log với trường cố định mà không thể tùy chỉnh Dạngweb log này ghi lại các thông tin cơ bản về yêu cầu người dùng, tên của máykhách, tên người dùng, ngày, giờ, loại yêu cầu, mã trạng thái HTTP trả về, sốlượng byte gửi về server

Các trường phân trong mỗi bản ghi log được phân cách bởi dấu trắng.Những trường không chứa dữ liệu sẽ được biểu diễn bằng dấu (-), các ký tựkhông in được sẽ biểu diễn bởi dấu (+)

Với máy chủ Apache HTTP Server, định dạng Common Log Format cóthể được cấu hình nhờ chuỗi định dạng như sau:

Trong đó, các trường thông tin của đầu mục này gồm:

 127.0.0.1 (tương ứng kí hiệu %h): Địa chỉ IP của máy khách gửi yêucầu đến máy chủ

 Trống (-) (tương ứng kí hiệu %l): Định danh của máy khách

Trang 14

 frank (tương ứng kí hiệu %u): Định danh/tên của người dùng gửi yêucầu được xác định nhờ thủ tục xác thực HTTP

 [12/Oct/2010:14:51:40 -0700] (tương ứng kí hiệu %t): Thời gian máychủ kết thúc xử lý yêu cầu, theo định dạng sau:[day/month/year:hour:minute:second zone], hayngày/tháng/năm:giờ:phút:giây và múi giờ Trong đó, day = 2*digit,month = 3*letter; year = 4*digit; hour = 2*digit; minute = 2*digit;second = 2*digit và zone = (‘+’ | ‘-‘) 4*digit

 “Get /apache_pb.gif HTTP/1.0” (tương ứng kí hiệu \”%r”\”): Yêu cầucủa máy khách gửi lên máy chủ

 200 (tương ứng kí hiệu %>s): Mã trạng thái mà máy chủ gửi trả về chomáy khách

 2326 (tương ứng kí hiệu %b): Kích thước của gói tin trả về cho máykhách, không bao gồm header

1.2.2 NCSA Combined Log Format

NCSA Combined Log Format gọi tắt là Combined Log Format về cơ bảntương tự Common Log Format, ngoại trừ việc nó bổ sung thêm hai trường thôngtin ở cuối là Referrer (Liên kết tham chiếu) và User agent (Máy khách ngườidùng) Với Apache HTTP Server, định dạng này có thể được cấu hình nhờ chuỗiđịnh dạng như sau:

LogFormat “%h %l %u %t \”%r” %>s %b \”%{Referer}i\” \”% {Useragent}i\”” combined

Ví dụ, với Combined Log Format, một đầu mục sẽ như sau:

Trang 15

127.0.0.1 - frank [12/Oct/2010:14:51:40 -0700] “GET /apache_pb.gif HTTP/1.0” 200 2326 “http://www.example.com/start.html” “Mozilla/4.08 [en] (Win98;I;Nav)”

Các trường được bổ sung bao gồm:

 http://www.example.com/start.html (tương ứng kí hiệu \”%{Referer}i\”): Cho biết trang web người dùng đã thăm trước khi đếntrang hiện tại

 Mozilla/4.08 [en] (Win98; I ;Nav)” (tương ứng kí hiệu \”%{Useragent}i\”): Cho biết thông tin về trình duyệt và hệ điều hành máykhách đang sử dụng

1.2.3 W3C Extended Log Format

Hiện nay, W3C Extended Log Format [6] đề xuất bởi The World WideWeb Consortium (W3C) là định dạng được sử dụng rộng rãi nhất và được hầuhết các máy chủ web hỗ trợ Định dạng web log này có các khả năng:

 Hỗ trợ kiểm soát những thông tin sẽ được ghi trong web log

 Hỗ trợ một định dạng web log chung cho cả proxy, máy khách và máychủ web

 Cung cấp một cơ chế mạnh mẽ xử lý các vấn đề và các ký tự thoát(character escaping)

 Cho phép trao đổi dữ liệu nhân khẩu học (demographic)

 Hỗ trợ tổng hợp dữ liệu

Trang 16

Một file log theo định dạng W3C Extended Log chứa một tập hợp cácdòng văn bản thuần gồm các ký tự theo chuẩn ASCII (hoặc Unicode) được phântách bởi ký tự xuống dòng (LF hoặc CRLF) Các file log khác nhau sẽ có ký tựkết thúc dòng khác nhau tùy thuộc vào quy ước kết thúc dòng của nền tảng hoạt

động Trên mỗi dòng thường có một chỉ thị (directive) hoặc một đầu mục (entry).

Phần tiếp theo mô tả chi tiết về 2 thành phần này

- Các chỉ thị:

Các dòng bắt đầu bằng ký tự “#” thì sẽ chứa các chỉ thị Chúng chứa cácthông tin mô tả về file log Các chỉ thị với định dạng W3C Extended Log baogồm:

Version: <integer>.<integer>: Chỉ ra phiên bản của định dạng log

được sử dụng

Fields: [<specifier>…]: Liệt kê danh sách các trường được ghi lại

trong tệp log

Software: string: Chỉ ra phần mềm tạo ra log:

Start-Date: <date> <time>: Ngày và giờ bắt đầu ghi log

End-Date: <date> <time>: Ngày và giờ kết thúc ghi log

Date: <date> <time>: Ngày và giờ thêm vào các đầu mục trong log.

Remark: <text>: Các thông tin chú thích Thông thường, các công cụ

phân tích log sẽ bỏ qua dữ liệu trong trường này

Các chỉ thị Version và Fields là bắt buộc và đứng trước tất cả các trường khác trong file log Chỉ thị Fields liệt kê một danh sách định danh của trường,

Trang 17

xác định thông tin được ghi trong mỗi đầu mục Các định danh trường có thể là

một trong số các kiểu sau: Identifier (tên nhận dạng), Prefix-identifier (tiền tố

tên nhận dạng) và Prefix (header) (tiền tố (đề mục)).

Bảng 1.1: Danh sách các tiền tố

Tiềntố

Trang 18

Bảng 1.2: Các định danh không yêu cầu có tiền tố

Thời gian để giao dịch được hoàn thành tính

bằng giây, kiểu <fixed>

bytes Số byte đã truyền, kiểu <integer>cached Ghi lại số lần cache hit, nếu bằng 0 thì tức là

cache miss, kiểu <integer>

Trang 19

Bảng 1.3: Các định danh cần phải có tiền tốĐịnh

danh

Ý nghĩa

ip Địa chỉ Ip và cổng, kiểu <address>

status Mã trạng thái, kiểu <integer>

comment

Mô tả trạng thái trả về của mã trạng thái, kiểu

<text>

method Method, kiểu <name>

stem

uri-Phần thân của URL(bỏ qua phần truy vấn),

kiểu <uri>

query

uri-Phần truy vấn của URL, kiểu <uri>

host DNS hostname được sử dụng, kiểu <name>

Bảng 1.1 liệt kê danh sách các tiền tố (Prefix) cho các định danh, bảng 1.2cung cấp danh sách các định danh không yêu cầu có tiền tố và bảng 1.3 liệt kê

danh sách các định danh phải có tiền tố Ví dụ, định danh cs-method cho biết

method (phương thức) của gói tin gửi đi bởi client đến server, sc(Referer) tương

ứng với trường referer trong gói tin trả lời, định danh c-ip xác định địa chỉ IP của

client

- Các đầu mục:

Một đầu mục (entry) là một dãy các trường liên quan đến một giao dịchHTTP, gồm một dãy các trường được phân cách bởi khoảng trắng hoặc các ký tựtab, không chứa các ký tự ASCII điểu khiển và kết thúc bằng ký tự CR hoặc

Ngày đăng: 25/04/2022, 17:01

HÌNH ẢNH LIÊN QUAN

Bảng 1.1: Danh sách các tiền tố Tiền - ĐỒ án tốt NGHIỆP đại học đề tài NGHIÊN cứu các kỹ THUẬT và CÔNG cụ PHÂN TÍCH WEB LOG
Bảng 1.1 Danh sách các tiền tố Tiền (Trang 14)
Bảng 1.2: Các định danh không yêu cầu có tiền tố Định - ĐỒ án tốt NGHIỆP đại học đề tài NGHIÊN cứu các kỹ THUẬT và CÔNG cụ PHÂN TÍCH WEB LOG
Bảng 1.2 Các định danh không yêu cầu có tiền tố Định (Trang 15)
Bảng 1.3: Các định danh cần phải có tiền tố Định - ĐỒ án tốt NGHIỆP đại học đề tài NGHIÊN cứu các kỹ THUẬT và CÔNG cụ PHÂN TÍCH WEB LOG
Bảng 1.3 Các định danh cần phải có tiền tố Định (Trang 16)
Bảng 1.4: Các định dạng dữ liệu sử dụng trong W3C Extended Format - ĐỒ án tốt NGHIỆP đại học đề tài NGHIÊN cứu các kỹ THUẬT và CÔNG cụ PHÂN TÍCH WEB LOG
Bảng 1.4 Các định dạng dữ liệu sử dụng trong W3C Extended Format (Trang 17)
trường không có thông tin trong mục thì nó sẽ được hiển thị một ký tự “-“. Bảng 1.4 mô tả các định dạng dữ liệu sử dụng trong W3C Extended Format và bảng 1.5 liệt kê danh sách các trường khả dụng trong định dạng web log này. - ĐỒ án tốt NGHIỆP đại học đề tài NGHIÊN cứu các kỹ THUẬT và CÔNG cụ PHÂN TÍCH WEB LOG
tr ường không có thông tin trong mục thì nó sẽ được hiển thị một ký tự “-“. Bảng 1.4 mô tả các định dạng dữ liệu sử dụng trong W3C Extended Format và bảng 1.5 liệt kê danh sách các trường khả dụng trong định dạng web log này (Trang 17)

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w