Tải bản đầy đủ (.pdf) (24 trang)

Nghiên cứu một số kỹ thuật phát hiện trang web giả mạo và ứng dụng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (781.23 KB, 24 trang )

1

MỞ ĐẦU
Hiện nay, công nghệ thông tin hầu như được áp dụng rộng rãi trên toàn
cầu, nước chúng ta cũng đang dần chuyển mình từ từ tiếp xúc với cơng nghệ vì
thấy được lợi ích to lớn trong việc áp dụng công nghệ thông tin vào các lĩnh vực
như kinh doanh, quản lý, mua sắm,... nói chung là tất cả nhu cầu của con người.
Một trong những dịch vụ công nghệ hàng đầu được sử dụng phổ biến nhất là dịch
vụ WEB. Với cơng nghệ WEB hiện tại thì có thể đáp ứng mọi nhu cầu của con
người và hơn thế nữa.
Giả mạo (phishing biến thể từ fishing nghĩa là câu cá và phreaking nghĩa là
nhử người dùng tiết lộ bí mật), trong lĩnh vực bảo mật máy tính là một hành vi giả
mạo ác ý nhằm lấy được các thông tin nhạy cảm như tên người dùng, mật khẩu
và các chi tiết thẻ tín dụng bằng cách giả dạng thành một chủ thể tin cậy trong
một giao dịch điện tử.
Vấn đề giả mạo (phishing hay fake) nói chung và giả mạo web nói riêng là
một loại tội phạm kỹ thuật xã hội đang có xu hướng gia tăng trên mạng. Trang
web giả mạo được phát hiện lần đầu tiên vào năm 2001 của hiệp hội bảo vệ khách
hàng, hiệp hội thương mại liên bang của Mỹ và ngày nay nhóm làm việc chống
giả mạo APWG (Anti Phishing Working Group) đã đưa ra thông số những trang
web giả tăng khoảng 50% mỗi năm.
Hầu hết các tấn công lừa đảo hiện đại xảy ra bằng cách thu hút người sử dụng
truy cập vào một trang web độc hại có giao diện và hoạt động giống như trang
web gốc. Khi đó, người sử dụng bị thuyết phục rằng trang này là đúng và có thể
cung cấp thơng tin cá nhân bao gồm cả thông tin xác thực hoặc thông tin ngân
hàng. Những thông tin này thường được kẻ lừa đảo sử dụng để thực hiện một số
hình thức của hành vi trộm cắp hay gian lận trong thực tế.
Do vậy, việc nghiên cứu và phát hiện các trang web giả mạo là một nhu cầu
cấp thiết hiện nay.
Chính vì vậy học viên lựa chọn đề tài “Nghiên cứu một số kỹ thuật phát hiện
Số hóa bởi Trung tâm Học liệu – ĐHTN






2

trang Web giả mạo và ứng dụng” cho luận văn cao học của mình.
Bố cục của luận văn gồm các Chương sau:
Chương 1: Tổng quan về an ninh mạng và bài toán giả mạo website
Chương 2. Các kĩ thuật phát hiện website giả mạo
Chương 3. Cài đặt thử nghiệm

Số hóa bởi Trung tâm Học liệu – ĐHTN




3

Chương 1:
TỔNG QUAN VỀ AN NINH MẠNG VÀ BÀI TOÁN GIẢ MẠO WEBSITE
1.1. Tổng quan về an ninh mạng
1.1.1 Giới thiệu về an ninh mạng
1.1.2. Nguy cơ ảnh hưởng đến an ninh mạng toàn cầu
1.1.3. Các khái niệm cơ bản
1.1.3.1.Tấn công giả mạo
Tấn công giả mạo làm cho địa chỉ nguồn của gói tin bị thay đổi và có vẻ như
được xuất phát từ một địa chỉ (máy tính) khác. Trong đó: kẻ tấn cơng thiết lập một
thế giới giả giống như thật xung quanh nạn nhân. Nạn nhân có thể sẽ không nhận
ra sự khác biệt giữa thật và giả đó.

1.1.3.2. Hành động gây mất thơng tin
Là những quyết định, hành động của người dùng có thể dẫn tới hậu quả như
bị tiết lộ, thất thốt những thơng tin bí mật của bản thân hoặc bị kẻ khác vi phạm
quyền riêng tư.
1.1.3.3. Khung cảnh / bối cảnh
Trình duyệt hiển thị cho người dùng nhiều loại khung cảnh, người dùng dựa
vào đó để đưa ra các quyết định của mình.
1.1.3.4. Lỗ hổng
Các lỗ hổng bảo mật trên một hệ thống là các điểm yếu có thể tạo ra sự ngưng
trệ của dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép các truy nhập
không hợp pháp vào hệ thống. Các lỗ hổng cũng có thể nằm ngay các dịch vụ
cung cấp như sendmail, web, ftp ... Ngoài ra các lỗ hổng cịn tồn tại ngay chính
tại hệ điều hành như trong Windows NT, Windows 95, UNIX; hoặc trong các ứng
dụng mà người sử dụng thường xuyên sử dụng như Word processing, các hệ
databases...
Số hóa bởi Trung tâm Học liệu – ĐHTN




4

Theo cách phân loại của Bộ quốc phòng Mỹ, các loại lỗ hổng bảo mật trên
một hệ thống được chia như sau:
Lỗ hổng loại C: các lỗ hổng loại này cho phép thực hiện các phương thức
tấn công theo DoS (Dinal of Services - Từ chối dịch vụ). Mức độ nguy hiểm thấp,
chỉ ảnh hưởng tới chất lượng dịch vụ, có thể làm ngưng trệ, gián đoạn hệ thống;
khơng làm phá hỏng dữ liệu hoặc đạt được quyền truy nhập bất hợp pháp
Lổ hổng loại B: Các lỗ hổng cho phép người sử dụng có thêm các quyền
trên hệ thống mà khơng cần thực hiện kiểm tra tính hợp lệ. Mức độ nguy hiểm

trung bình; Những lỗ hổng này thường có trong các ứng dụng trên hệ thống; có
thể dẫn đến mất hoặc lộ thông tin yêu cầu bảo mật.
Lỗ hổng loại A: Các lỗ hổng này cho phép người sử dụng ở ngồi có thể
truy nhập vào hệ thống bất hợp pháp. Lỗ hổng rất nguy hiểm, có thể làm phá hủy
toàn bộ hệ thống.
1.1.3.5. Web giả mạo
Web giả mạo giống như là 1 trang web mà những kẻ tấn công tạo ra từ một
trang web ban đầu. Các trang web giả mạo trông giống y hệt với trang web thực:
nó có giao diện và các liên kết tương tự. Kẻ tấn cơng sẽ kiểm sốt các trang web
giả để giám sát, thu thập những thông tin của những nạn nhân đi vào cũng như
những trang web mà nạn nhân dẫn kẻ tấn công đi tới.
1.1.4. Các loại tấn công mạng
1.1.5. Các phương thức tấn công
1.2. Dịch vụ Website
1.2.1. Giới thiệu về website
Website là một “trang web” được lưu trữ tại các máy chủ hay các
hosting hoạt động trên Internet. Đây là nới giới thiệu những thơng tin, hình ảnh
về doanh nghiệp, sản phần và dịch vụ của doanh nghiệp hay giới thiệu bất cứ kì
thơng tin gì để khách hàng có thể truy cập bất kì ở đâu, bất cứ lúc nào.
Số hóa bởi Trung tâm Học liệu – ĐHTN




5

1.2.2. Các hình thức giả mạo trang web
Phishing là một hình thức gian lận để có những thơng tin nhạy cảm như
username, password, credit card … bằng cách giả mạo như là một thực thể đáng
tin cậy trong các giao tiếp trên mạng. Quá trình giao tiếp thường diễn ra tại các

trang mạng xã hội nổi tiếng, các trang web đấu giá, mua bán hàng online…mà đa
số người dùng đều khơng cảnh giác với nó. Phishing sử dụng email hoặc tin nhắn
tức thời, gửi đến người dùng, yêu cầu họ cung cấp thơng tin cần thiết. Người dùng
vì sự chủ quan của mình đã cung cấp thơng tin cho một trang web, trơng thì có vẽ
hợp pháp, nhưng lại là trang web giả mạo do các hacker lập nên.
1.2.3. Các kiểu lừa đảo của Phishing
Dựa vào những phương thức trên, những kẽ lừa đảo bắt đầu tiến
hành quá trình lừa đảo. Căn cứ theo cách thức hoạt động, người ta phân loại những
cuộc tấn công lừa đảo ra thành các loại sau.
 Main-in-the-Middle Attacks
 Url Obfuscation Attacks
 Cross-Site Scripting Attacks
 Hidden Attacks
1.3. Bài toán giả mạo website
1.3.1. Giả mạo
Giả mạo là một hành vi giả mạo ác ý nhằm lấy được các thông tin nhạy cảm
như tên người dùng, mật khẩu và các chi tiết thẻ tín dụng bằng cách giả dạng
thành một chủ thể tin cậy trong một giao dịch điện tử. Do vậy, việc nghiên cứu và
phát hiện các trang web giả mạo là một nhu cầu cấp thiết hiện nay.
1.3.2. Một số kĩ thuật
- Sử dụng thư điện tử giả mạo
- Sử dụng website giả mạo
- Bắt chước URL
Số hóa bởi Trung tâm Học liệu – ĐHTN




6


- Cập nhật thông tin cá nhân
- Che giấu URL
- Nhiễm độc DNS

Số hóa bởi Trung tâm Học liệu – ĐHTN




7

Chương 2.
CÁC KĨ THUẬT PHÁT HIỆN WEBSITE GIẢ MẠO
2.1. Thuật toán TF-IDF
2.1.1. Phương pháp dựa trên tần số và từ khóa
2.1.2. Phương pháp dựa trên nghịch đảo của tần số văn bản
2.1.3. Phương pháp TF-IDF
Phương pháp này là tổng hợp của hai phương pháp TF và IDF, giá trị của ma
trận trọng số được tính như sau:
m
[1 + log(fij )] log ( ) nếu fij ≥ 1
hi
Wij = {
0 nếu ngược lại
Đây là phương pháp kết hợp được ưu điểm của cả hai phương pháp trên.
Trọng số wij được tính bằng tần số xuất hiện của từ khóa ti trong văn bản dj và
độ hiếm của từ khóa ti trong toàn bộ cơ sở dữ liệu.
Một số ưu, nhược điểm của phương pháp biểu diễn này:
• Ưu điểm
Các tài liệu có thể được sắp xếp theo mức độ liên quan đến nội dung yêu

cầu. Tiến hành lưu trữ và tìm kiếm đơn giản hơn phương pháp Logic.
• Nhược điểm
Việc xử lý sẽ chậm khi hệ thống các từ vựng là lớn do phải tính tốn trên
tồn bộ các vector của tài liệu.
Khi biểu diễn các vector với các hệ số là số tự nhiên sẽ làm tăng mức độ
chính xác của việc tìm kiếm nhưng làm tốc độ tính tốn giảm đi rẩt nhiều do các
phép nhân vector phải tiến hành trên các số tự nhiên hoặc số thực, hơn nữa việc
lưu trữ các vector sẽ tốn kém và phức tạp.
Hệ thống không linh hoạt khi lưu trữ các từ khóa. Chỉ cần một thay đổi rất
Số hóa bởi Trung tâm Học liệu – ĐHTN




8

nhỏ trong bảng từ vựng sẽ kéo theo hoặc là vector hóa lại tồn bộ các tài liệu lưu
trữ, hoặc là sẽ bỏ qua các từ có nghĩa bổ sung trong các tài liệu được mã hóa trước
đó.
2.2. Thuật tốn sử dụng phương pháp thống kê
2.2.1.Định lý Nạve Bayes
2.2.2. Ví dụ
2.2.3. Thuật tốn Nạve Bayes
Thuật tốn Nạve Bayes dựa trên định lý Bayes được phát biểu như sau:
P(Y|X) =

P(XY) P(X|Y)P(Y)
=
P(X)
P(X)


Áp dụng trong bài toán phân loại, các dữ kiện gồm có:
D: tập dữ liệu huấn luyện đã được vector hóa dưới dạng x⃗ = (x1 , x2 , … , xn )
Ci: phân lớp i, với i = {1,2,…,m}.
Các thuộc tính độc lập điều kiện đơi một với nhau.
Theo định lý Bayes:
𝑃(𝐶𝑖 |𝑋) =

𝑃(𝑋|𝐶𝑖 )𝑃(𝐶𝑖 )
𝑃(𝑋)

Theo tính chất độc lập điều kiện:
n

P(X|Ci ) = ∏ P(xk |Ci )
k=1

Trong đó:
P(Ci |X) là xác suất thuộc phân lớp i khi biết trước mẫu X.
P(Ci ) xác suất là phân lớp i.
P(xk |Ci ) xác suất thuộc tính thứ k mang giá trị xk khi đã biết X thuộc phân
lớp i.
Số hóa bởi Trung tâm Học liệu – ĐHTN




9

Các bước thực hiện thuật tốn Nạve Bayes:

Bước 1: Huấn luyện Nạve Bayes (dựa vào tập dữ liệu), tính P(Ci ) và
P(xk |Ci )
Bước 2: Phân lớp X new = (x1 , x2 , … , xn ), ta cần tính xác suất thuộc từng
phân lớp khi đã biết trước Xnew. Xnew được gán vào lớp có xác suất lớn nhất
theo công thức
n

max (P(Ci ) ∏ P(xk |Ci ))
Ci ∈C

k=1

2.3. Thuật toán so khớp
2.3.1. Thuật toán so khớp chuỗi sơ khai
2.3.2. Thuật toán Rabin – Karp
Cấu trúc thuật toán thể hiện như sau:
RabinKarp(string T[1…n], P[1…m])
Đầu vào:
Chuỗi văn bản T.
Chuỗi mẫu P.
Đầu ra:
Số nguyên, vị trí xuất hiện mẫu.
Định nghĩa các biến:
Số nguyên n  0.
Số nguyên m  0.
n = length[T].
m = length[P].
Hsub:= hash(P[1…m]);
Số hóa bởi Trung tâm Học liệu – ĐHTN





10

For i từ 1 đến n-m+1
If hs = hsub
If s[i…i+m-1] = sub
Return i
Hs: = hash(T[i+1…i+m])
Return not found
2.3.3. Thuật toán Boyer Moore Horspool
Thuật tốn của tiền xử lý:
Đầu vào :
Chuỗi kí tự mẫu P.
Đầu ra:
Mảng bmBC chứa vị trí dịch của các kí tự tương ứng trong P.
Định nghĩa các biến:
Biến nguyên m 0.
m  length [P]
for i = 0 to 255
bmBC[i] = m
for i = 0 to ( m-1)
bmBC[x[i]] = m-i-1
Thuật toán
Cấu trúc thuật toán được thể hiện như sau:
BMH-String-Matching(T,P) [5]
Đầu vào:
Chuỗi văn bản T
Số hóa bởi Trung tâm Học liệu – ĐHTN





11

Chuỗi mẫu P
Đầu ra:
Kiểu biến nguyên (vị trí xuất hiện của P trong T).
Định nghĩa các biến:
Biến nguyên m  0.
Biến nguyên n 0.
Mảng nguyên T,P.
prebmBC ()
pos = 0
while (pos <= n-m-1) do
j  m-1
while (j > 0 và tj+pos = pj )do
j j-1
if(j = 0) return (pos + 1)
j  j + bmbc[Tpos+m]
end of while
2.3.4.DOM Tree
DOM là tên gọi tắt của Document Object Model (Mơ hình đối tượng tài liệu)
– là một chuẩn được định nghĩa bởi W3C dùng để truy xuất và thao tác trên các
tài liệu có cấu trúc dạng HTML và XML bằng các ngôn ngữ lập trình thơng dịch
như Javascript, PHP, python,… Do vậy, để so sánh hai trang web với nhau chúng
ta có thể so sánh hai DOM – Tree tương ứng của chúng.
DOM giúp thao tác dữ liệu theo mơ hình hướng đối tượng. Các phần tử
bên trong 1 tài liệu có cấu trúc được định nghĩa thành các đối tượng, phương

thức và thuộc tính để có thể truy xuất dễ dàng mà vẫn đảm bảo tính cấu trúc: mỗi
Số hóa bởi Trung tâm Học liệu – ĐHTN




12

phần tử là một đối tượng, sở hữu các thuộc tính và các phương thức để làm việc
với các thuộc tính đó như thêm, xóa, sửa, cập nhật. Bên cạnh đó, bạn cũng có thể
thêm bớt các phần tử tùy thích, giúp cho nội dung và cấu trúc của trang web ln
cập nhật động
2.4. Thuật tốn dựa trên sự tương đồng về hình ảnh của trang web.
2.4.1. Thuật tốn k-mean
Thuật tốn K-Means thực hiện qua các bước chính sau:
1.

Chọn ngẫu nhiên K tâm (centroid) cho K cụm (cluster). Mỗi cụm được

đại diện bằng các tâm của cụm.
2. Tính khoảng cách giữa các đối tượng (objects) đến K tâm (thường dùng
khoảng cách Euclidean)
3. Nhóm các đối tượng vào nhóm gần nhất
4. Xác định lại tâm mới cho các nhóm
5.

Thực hiện lại bước 2 cho đến khi khơng có sự thay đổi nhóm nào của

các đối tượng
2.4.2. Thuật tốn so khớp đồ thị

Một trang Web (hay trang HTML) có thể được biểu diễn dưới dạng một
DOM - Tree và ngược lại người ta có thể cập nhật các trang Web dễ dàng bằng
việc sửa đổi DOM-Tree của nó. Do vậy, việc xem xét hai trang web có giống nhau
hay khơng, chúng ta hồn tồn có thể so sánh xem hai DOM-Tree tương ứng của
chúng. Mă ̣t khác, cây chỉ là một dạng đặc biệt của đồ thị. Vì vậy, tổng quát hơn
từ bài toán phát hiêṇ trang Web giả ma ̣o chúng ta có thể đưa về bài toán so khớp
đồ thị.

Số hóa bởi Trung tâm Học liệu – ĐHTN




13

Số hóa bởi Trung tâm Học liệu – ĐHTN




14

Chương 3.
XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN WEBSITE GIẢ MẠO
3.1. Ứng dụng thuật toán Naive Bayes trong phát hiện website giả mạo
Hệ thống gồm hai quá trình cơ bản: Quá trình huấn luyện và quá trình kiểm
thử.
- Quá trình huấn luyện:
Input: 11055 trang web với 31 các thuộc tính cơ bản như sau:
having_IP_Add


port

RightClick

HTTPS_token

popUpWidnow

URL_Length

Request_URL

Iframe

Shortining_Ser

URL_of_Ancho

age_of_domain

ress

vice

r
having_At_Sy

mbol
double_slash_re

directing
Prefix_Suffix
having_Sub_Do
main
SSLfinal_State

DNSRecord
Links_in_tags

web_traffic

SFH

Page_Rank

Submitting_to_e

Google_Index

mail

Links_pointing_
Abnormal_URL

to_page

Redirect
on_mouseover

Statistical_repor

t
Result

Domain_registe
ration_length
Favicon
Bộ CSDL WebPhishing có thể download tại địa chỉ:
/>Số hóa bởi Trung tâm Học liệu – ĐHTN




15

Output: Huấn luyện NaiveBayes (dựa vào tập dữ liệu), tính P(Ci) và P(xk |
Ci)
- Quá trình kiểm thử:
Input: 11055 trang web và các giá trị P(Ci) và P(xk | Ci)
Output: Các giá trị TP, TN, FP, FN tương ứng với mỗi bộ test và ba giá trị
trung bình DR (Detection Rate), FPR (False Positive Rate), Acc (Accuracy).
Trong đó
+ TP: Số lượng website giả mạo kết luận đúng
+ TN: Số lượng website hợp pháp kết luận đúng
+ FP: Số lượng website hợp pháp kết luận sai thành giả mạo
+ FN: Số lượng website giả mạo kết luận sai thành hợp pháp
Và các giá trị trung bình được tính như sau:
DR = TP/(TP + FN)
FPR = FP/(TN + FP)
Acc = (TP + TN) / (TP + TN + FP + FN)
3.2 Các luật xác định giả mạo áp dụng cho thuật toán

3.2.1. Phát hiện giả mạo dựa trên thanh ghi
3.2.1.1. Sử dụng IP
3.2.1.2. Sử dụng URL dài để ẩn thông tin
3.2.1.3. Sử dụng dịch vụ rút ngắn URL
3.2.1.4. URL có chứa ký tự @
3.2.1.5. Chuyển hướng sử dụng ký hiệu “//”
3.2.1.6. Thêm tiền tố hoặc hậu tố “-” vào tên miền
3.2.1.7. Tên miền phụ và nhiều tên miền phụ
Số hóa bởi Trung tâm Học liệu – ĐHTN




16

3.2.1.8. HTTPS (Hypertext Transfer Protocol với Secure Sockets Layer)
3.2.1.9. Thời gian đăng ký tên miền
3.2.1.10. Favicon
3.2.1.11. Sử dụng cổng Non-Standard
3.2.1.12. Sự hiện diện của “HTTP” trong một phần của tên miền
3.2.2.Phát hiện giả mạo dựa trên các đặc tính bất thường
3.2.2.1. Yêu cầu URL
3.2.2.2. Liên kết trong các thẻ <meta>, <Script> và <Link>
3.2.2.3. Server Form Handler (SFH)
3.2.2.4. Gửi thông tin về Email
3.2.2.5. URL bất thường
3.2.3. Phát hiện giả mạo dựa trên các tính năng dựa trên HTML và
JavaScript
3.2.3.1.Chuyển tiếp trang web
3.2.3.2. Tùy biến thanh trạng thái

3.2.3.3. Vơ hiệu hóa chức năng chuột phải
3.2.3.4. Sử dụng cửa sổ Pop-up
3.2.4. Phát hiện giả mạo dựa trên tên miền
3.2.4.1. PageRank
3.2.4.2. Google Index
3.2.4.3. Số lượng liên kết trỏ tới trang
3.3. Thiết kế chương trình

Số hóa bởi Trung tâm Học liệu – ĐHTN




17

- Bước 1: Mỗi dòng trong CSDL Websites Phishing ứng với một trang web,
vì thế ta đọc 11055 trang web trong CSDL và chia chúng thành 10 phần một cách
ngẫu nhiên
- Bước 2 (Training): Đọc số liệu trong k phần (k = 7, 8, 9) đã được chia ở
bước 1 ra để huấn luyện theo thuật tốn NạveBayes.
- Bước 3 (Testing):Thực hiện quá trình kiểu tra trên cả 11055 trang web. Kết
quả chương trình đưa ra sẽ được tính tốn quy đổi ra 3 số liệu:
DR = TP/(TP + FN)
FPR = FP/(TN + FP)
Acc = (TP + TN) /(TP + TN + FP + FN)
Chương trình thực hiện lặp bước hai và ba mười lần, mỗi lần sẽ tính tốn và
cho ra 3 số liệu trên. Sau đó lấy giá trị trung bình mười lần tính tốn.
3.5.Phân tích thuật tốn
3.5.1. Ý tưởng
Ý tưởng cơ bản của cách tiếp cận Naïve Bayes là sử dụng xác suất có điều

kiện giữa các thuộc tính và nhãn ( phishing hoặc normal) để dự đoán xác suất
nhãn của một trang web cần phân loại. Điểm quan trọng của phương pháp này
chính là ở chỗ giả định rằng sự xuất hiện của tất cả các thuộc tính đều độc lập với
nhau. Giả định đó làm cho việc tính tốn NB hiệu quả và nhanh chóng hơn các
phương pháp khác vì khơng sử dụng việc kết hợp các thuộc tính để đưa ra phán
đốn nhãn. Kết quả dự đốn bị ảnh hưởng bởi kích thước tập dữ liệu, chất lượng
của không gian đặc trưng…
3.5.2.Cài đặt
3.5.2.1. Huấn luyện
Tính P(Ci ) và P(xk |Ci )
Đầu vào:
Số hóa bởi Trung tâm Học liệu – ĐHTN




18

Các vector đặc trưng của trang web trong tập huấn luyện (Ma trận MxN, với
M là số vector đặc trưng trong tập huấn luyện, N là số đặc trưng của vector).
Tập nhãn/lớp cho từng vector đặc trưng của tập huấn luyện.
Đầu ra:
Các giá trị xác suất P(Ci ) và P(xk |Ci ).
Cơng thức tính P(Ci ) đã làm trơn Laplace
𝑃(𝐶𝑖 ) =

|𝑤𝑒𝑏𝑠𝑖 | + 1
|𝑡𝑜𝑡𝑎𝑙 𝑤𝑒𝑏𝑠| + 𝑚

Trong đó:

 |web si|: số trang web của tập huấn luyện thuộc phân lớp i.
 |total webs|: số trang web trong tập huấn luyện.
 m số phân lớp.
Cài đặt:
 Khởi tạo mảng A, B có kích thước m.
 Duyệt qua các trang web trong tập dữ liệu, đếm số trang web trong mỗi
phân lớp lưu vào A.
 Tính xác suất cho từng phân lớp theo công thức trên và lưu vào mảng B.
Công thức tính P(xk |Ci ) đã làm trơn Laplace:
𝑃(𝑥𝑘 |𝐶𝑖 ) =

|𝑤𝑒𝑏𝑠𝑥𝑘𝑖 | + 1
|𝑤𝑒𝑏𝑠𝑖 | + 𝑑𝑘

Trong đó:
 |websxki |: Số trang web trong trong phân lớp i có đặc trưng thứ k mang
giá trị xk. (hay số trang web trong lớp i, có xuất hiện/khơng xuất hiện đặc trưng
k)
 |websi |: Số trang web của tập huấn luyện thuộc phân lớp i.
 dk : Số giá trị có thể có của đặc trưng thứ k
Số hóa bởi Trung tâm Học liệu – ĐHTN




19

Cài đặt:
 Với vector đặc trưng như mô tả bên trên, dk ở đây mang giá trị là 2, tương
ứng với xuất hiện và khơng xuất hiện. Do chỉ có 2 giá trị, ta có thể tính nhanh xác

suất khơng xuất hiện theo công thức P(x̅) = 1 − P(x)
 Khởi tạo mảng 3 chiều C, chiều 1 có kích thước là m (số phân lớp), chiều
2 có kích thước là N (số đặc trưng), chiều 3 có kích là 2 (dk) để lưu các giá trị
P(xk |Ci ).
 Duyệt qua các văn bản trong tập dữ liệu, tiến hành thống kê các chỉ số cần
thiết để tính xác suất P(xk |Ci ) theo công thức trên và lưu vào mảng C.
3.5.2.2. Phân lớp
Đầu vào:
Vector đặc trưng của trang web cần phân lớp.
Các giá trị xác suất P(Ci ) và P(xk |Ci ).
Đầu ra:
Nhãn/lớp của trang web cần phân loại.
Công thức tính xác suất thuộc phân lớp i khi biết trước mẫu X
n

P(Ci |X) = P(Ci ) ∏ P(xk |Ci )
k=1

Dựa vào vector đặc trưng của trang web cần phân lớp, áp dụng cơng thức
trên tính xác suất thuộc từng phân lớp cho trang web, và chọn ra lớp có xác suất
cao nhất.
3.5. Giao diện chương trình và kết quả
Chức năng của các nút lệnh trên giao diện chương trình:
- Nút Random Split: Thực hiện việc đọc 11055 trang web trong CSDL
Websites Phishing và chia chúng ra thành 10 phần một cách ngẫu nhiên.

Số hóa bởi Trung tâm Học liệu – ĐHTN





20

- Nút “Training”: Thực hiện đọc k phần trong 10 phần (k = 7, 8, 9) các trang
web ra để huấn luyện theo thuật tốn NạveBayes.
- “Nút “Testing”: Thực hiện việc kiểm thử 11055 trang web có trong CSDL
và đưa ra kết luận cho từng trang web. Sau đó tính tốn hiệu quả của chương trình
dựa trên các độ đo DR, FPR và Acc.
- Nút “Check URL”: Thực hiện quá trình đọc URL một trang web được nhập
từ textbox URL và kiểm tra xem trang web vừa nhận có phải là trang web phishing
hay khơng.
- Nút “Exit”: Thốt khỏi chương trình
Sau đây là kết quả thử nghiệm trên các hàm, luật,… trong WEKA và chương
trình sử dụng thuật tốn NạveBayes trên cơ sở dữ liệu Websites Phishing.
Với quá trình huấn luyện sử dụng 9 trên 10 tập thì kết quả của chương trình
như sau:
Trong 4898 trang web hợp pháp thì chương trình cho kết quả:
- Số lượng trang web hợp pháp phân loại đúng là TN = 4571.
- Số lượng trang web hợp pháp phân loại sai thành trang web lừa đảo là FP
= 327.
Trong 6157 trang web lừa đảo thì chương trình cho kết quả:
- Số lượng trang web lừa đảo phân loại đúng là TP = 5747.
- Số lượng trang web lừa đảo phân loại sai thành trang web hợp pháp là FN
= 410.
Và kết quả các độ đo (đơn vị là %):
DR = 93.34%
FPR = 6.68%
Acc = 93.33%

Số hóa bởi Trung tâm Học liệu – ĐHTN





21

Với quá trình huấn luyện sử dụng 8 trên 10 tập thì kết quả của chương trình
như sau:
Trong 4898 trang web hợp pháp thì chương trình cho kết quả:
- Số lượng trang web hợp pháp phân loại đúng là TN = 4504.
- Số lượng trang web hợp pháp phân loại sai thành trang web lừa đảo là FP
= 394.
Trong 6157 trang web lừa đảo thì chương trình cho kết quả:
- Số lượng trang web lừa đảo phân loại đúng là TP = 5630.
- Số lượng trang web lừa đảo phân loại sai thành trang web hợp pháp là FN
= 527.
Và kết quả các độ đo (đơn vị là %):
DR = 91.44%
FPR = 8.04%
Acc = 91.67%
Với kết quả trên, ta có thể thấy nếu tập dữ liệu huấn luyện càng đa dạng thì
tỉ lệ phát hiện ra trang web giả mạo càng lớn.
Kết quả này được so sánh với một số phương pháp phân loại đã được tích
hợp trên WEKA với cùng bộ CSDL WebPhishing và cùng phương pháp là tenford
cross validation như sau:

Số hóa bởi Trung tâm Học liệu – ĐHTN





22

Phương pháp

DR

FPR

Acc

My Result

93.13

6.49

93.33

NaiveBayes Simple

95.05

9.62

92.98

Bayes.WAODE

94.56


7.29

93.74

Function.Logistic

95.34

7.7

93.99

Function.RBFNetwork

91.6

9.42

91.15

Function.Spegasos

95.05

7.72

93.82

Lazy.IB1


97.92

4.51

96.84

misc.HyperPipes

23.79

0

57.56

Rules.ConjunctiveRule

91.44

14.31

88.89

Rules.Ridor

93.6

8.11

92.84


Tree.BFTree

96.74

5.61

95.69

Tree.RandomForest

98.29

3.886

97.34

Tree.RandomTree

97.26

4.74

96.37

Số hóa bởi Trung tâm Học liệu – ĐHTN





23

KẾT LUẬN
Luận văn đã đạt được những kết quả sau đây:
- Tìm hiểu tổng quan về giả mạo web, các phương pháp phát hiện website
phishing hiện đang sử dụng.
- Tìm hiểu về thuật tốn Nạve Bayes, cài đặt và ứng dụng vào quá trình huấn
luyện và phát hiện trang web giả mạo.
- Xây dựng chương trình mơ phỏng q trình huấn luyện và phát hiện website
phishing.
- Thử nghiệm với các bộ dữ liệu chuẩn WebsitePhishing và so sánh kết quả
với một số phương pháp học máy khác trên WEkA.
Hướng phát triển
- Cần nghiên cứu khâu tiền xử lý, xây dựng các mẫu huấn luyện tiêu chuẩn
cũng như các phương pháp cải tiến để cải thiện kết quả.
- Nâng cao khả năng phát hiện bằng cách kết hợp nhiều phương pháp lại với
nhau.
- Xây dựng hệ thống phát hiện website phishing và ứng dụng vào thực tế.

Số hóa bởi Trung tâm Học liệu – ĐHTN




24

TÀI LIỆU THAM KHẢO
[1]. Lê Đắc Nhường, Nguyễn Gia Như, Lê Đăng Ngun, Lê Trọng Vĩnh.
Song song hóa thuật tốn so khớp mẫu QuickSearch trong NIDS sử dụng mơ hình
chia sẻ bộ nhớ trên OpenMP và Pthreads. Tạp chí Đại học Quốc gia Hà Nội,

tháng 12/2012. Vol 28(4), Tr 255 – 263.
[2]. Nguyễn Ngọc Cương, Phạm Ngọc Lãng (2014), Mạng và truyền dữ liệu,
NXB Thông Tin và Truyền Thông.
[3]. Le Dang Nguyen, Dac Nhuong Le, Le Trong Vinh, Detecting phishing
web Pages based on DOM-Tree Structure and Graph Matching Algorithm- The
Fifth

International

Symposium

on

Information

and

Communication

Technologies, SoICT 2014, December 4-5, 2014, Hanoi, Vietnam.
[4]. Yue Zhang, Jason Hong and Lorrie cranor “CANTINA: A Content – Based
Approach to Detecting Phishing Web Sites”, In the Proceedings of the 16th
International Conference on World Wide We, p639-648, 2007.
[5]. Likarish, Eunjin Jung, Dunbar. D., and Hansen. T.E., “B-APT: Bayesian
Anti-Phishing Toolbar”, In the Proceeding of 16th International Conference on
Communication 2008 (ICC’08), pp. 1745-1749, 2008.
[6]. Vinnarasi Tharania. I, R. Sangareswari, and M. Saleembabu, “Web
Phishing Detection In Machine Learning Using Heuristic Image Based Method”,
International Journal of Engineering Research and Applications, Vol.2, Issue 5,
pp.1589-1593, 2012

[7]. Kranti W., Supriya A. And N. V. Puri, “ An Efficient Approach to
Detecting Phishing A Web Using K-Means and Naive- Bayes Algoriths”,
International Journal of Research in Advent Technology, Vol.2, No.3, pp.106111, 2014.
[8]. Jangjong Fan, Kehyih Su, “An Efficient Algorith for Matching Multiple
Patterns”, IEEE Transactions on Knowledge and Data Engineering, vol. 5, no 2,
pp. 339-351, 1993.

Số hóa bởi Trung tâm Học liệu – ĐHTN





×