Phát hiện giả mạo dựa trên tên miền

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số kỹ thuật phát hiện trang web giả mạo và ứng dụng (Trang 63)

3.2.4.1. PageRank

PageRank là một giá trị từ "0" đến "1". PageRank nhằm đo lƣờng tầm quan trọng của một trang web trên Internet. Giá trị PageRank khá quan trọng đối với một trang web. Trong bộ dữ liệu này, cĩ khoảng 95% các trang web lừa đảo khơng cĩ PageRank. Hơn nữa, 5% các trang web lừa đảo cịn lại cĩ thể đạt đƣợc một giá trị PageRank lên đến "0,2".

Rule:IF{

3.2.4.2. Google Index

Tính năng này kiểm tra xem một trang web cĩ trong chỉ mục của Google hay khơng. Khi một trang web đƣợc lập chỉ mục của Google, nĩ đƣợc hiển thị trên kết quả tìm kiếm (Webmaster resources, 2014). Thơng thƣờng, các trang web lừa đảo chỉ là truy cập trong một thời gian ngắn và kết quả là nhiều trang web lừa đảo cĩ thể khơng đƣợc tìm thấy trên các chỉ mục của Google.

Rule:IF{

3.2.4.3. Số lượng liên kết trỏ tới trang

Số lƣợng các liên kết trỏ đến trang web cho thấy mức độ hợp pháp của nĩ, ngay cả khi một số liên kết là của cùng một miền (Dean, 2014). Trong bộ dữ liệu này, các nhà khoa học thấy rằng 98% các trang web lừa đảo khơng cĩ liên kết trỏ đến chúng. Mặt khác, các trang web hợp pháp cĩ ít nhất 2 liên kết bên ngồi trỏ đến chúng. Rule: IF{ 3.3. Thiết kế chƣơng trình

Chƣơng trình đƣợc thực hiện theo quy tắc: Tenfold cross validation,

- 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.4. Phân tích thuật tốn

3.4.1. Ý tƣởng

Ý tƣởng cơ bản của cách tiếp cận Nạ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ự đố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 Nạve Bayes 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.4.2. Cài đặt

Mơ tả vector đặc trƣng của một trang web: Là vector cĩ số chiều là số thuộc tính trong tồn tập dữ liệu, các thuộc tính này đơi một khác nhau. Nếu trang web cĩ chứa đặc trƣng đĩ sẽ cĩ giá trị 1, ngƣợc lại là 0.

Thuật tốn gồm 2 giai đoạn huấn luyện và phân lớp:

3.4.2.1. Huấn luyện

Tính ( ) và ( | )

 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 ( ) và ( | ).

Cơng thức tính ( ) đã làm trơn Laplace

( ) | | | |

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 ( | ) đã làm trơn Laplace:

( | ) | | | |

Trong đĩ:

 | |: 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)

 | |: Số trang web của tập huấn luyện thuộc phân lớp i.

 Số giá trị cĩ thể cĩ của đặc trƣng thứ k

Cài đặt:

 Với vector đặc trƣng nhƣ mơ tả bên trên, dk ở đây mang giá trị là 2,

thể tính nhanh xác suất khơng xuất hiện theo cơng thức ( ̅) ( )

 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ị ( | ).

 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 ( | ) theo cơng thức trên và lƣu vào mảng C.

3.4.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 ( ) và ( | ). Đầ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

( | ) ( ) ∏ ( | )

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.4.2.3. Ví dụ

Websites Var Bit Class

Web1 1 0 Phishing Web 2 0 1 Normal Web 3 1 1 Normal Web 4 1 0 Phishing Web 5 0 1 Phishing Web 6 0 1 Normal ( )

( ) ( | ) ( ̅̅̅̅̅| ) ( | ) ( ̅̅̅̅| ) ( | ) ( ̅̅̅̅̅| ) ( | ) ( ̅̅̅̅| ) Webnew = (1,0) ( | ) ( | )

Vậy trang web trên thuộc lớp Phishing.

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.

- 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

Hình dƣới đâ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%

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

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

Xét về tỉ lệ phát hiện và độ chính xác tổng thể thì phƣơng pháp làm của tác giả đứng ở vị trí lần lƣợt thứ 10 và thứ 8 trên tổng số 13 phƣơng pháp. Tuy nhiên về tỉ lệ phát hiện sai (FPR) thì chƣơng trình của tác giả đứng ở vị trí thứ 4.

Về thời gian chạy chƣơng trình: Thời gian chạy chƣơng trình phụ thuộc chính vào kích thƣớc của khối dữ liệu đầu vào, để phân loại tập 11055 website thì chƣơng trình chạy mất trung bình khoảng 50 giây.

Ngồi ra, chƣơng trình cịn cĩ chức năng kiểm tra một trang web thực tế đƣợc nhập vào textbox và kết luận trang web đĩ là trang web thƣờng hay trang web giả mạo.

Hình 3.3 Kiểm tra URL

Hình trên là kết quả của một trang web giả mạo với URL đƣợc lấy từ trang web PhishTank (https://www.phishtank.com). Kết quả của chƣơng trình đƣợc trả về dƣới dạng thơng báo trang web là giả mạo hoặc thƣờng. Đồng thời, chƣơng trình cũng tải giao diện của trang web đĩ lên màn hình để cho ngƣời dùng tiện theo dõi và đánh giá.

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 quá 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ế.

TÀI LIỆU THAM KHẢO

[1]. Lê Đắc Nhƣờng, Nguyễn Gia Nhƣ, Lê Đăng Nguyên, 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

Algoriths”, International Journal of Research in Advent Technology, Vol.2, No.3, pp.106-111, 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.

PHỤ LỤC Phần mềm WEKA

WEKA (Waikato Environment for Knowledge Analysis) là phần mềm khai thác dữ liệu thuộc dự án của trƣờng đại học Waikato, New Zealand lần đầu tiên năm 1993. Mục tiêu để xây dựng cơng cụ hiện đại nhằm phát triển các kĩ thuật máy học và áp dụng chúng vào các bài tốn khai thác dữ liệu trong thực tế, sử dụng trong các bài giảng về các thuật giải Machine Learning ở nhiều trƣờng đại học lớn trên thế giới.

WEKA đƣợc viết bằng ngơn ngữ Java JDK, cấu trúc gồm hơn 600 lớp tổ chức thành 10 packages.

Với các chức năng chính:

- Khảo sát dữ liệu: Tiền xử lí dữ liệu, phân lớp, gom nhĩm dữ liệu,

khai thác luật kết hợp.

- Thực nghiệm mơ hình: cung cấp phƣơng tiện để kiểm chứng đánh

giá các mơ hình học.

- Biểu diễn trực quan dữ liệu bằng nhiều dạng đồ thị…

Trong đề tài, chủ yếu sử dụng phần mềm này để khảo sát dữ liệu nhằm so sánh với chƣơng trình xây dựng trong đề tài.

Giao diện của phần mềm WEKA:

Hình 1. Giao diện phần mềm Weka

- Bƣớc 1. Chọn nút tác vụ Explorer, giao diện Weka Explorer xuất hiện.

Hình 2. Giao diện Weka Explorer

- Bƣớc 2. Tại thẻ Preprocess chọn nút Open file… để nạp tệp cơ sở dữ liệu. Thơng thƣờng cơ sở dữ liệu lƣu dạng *.arff hoặc *.csv

WEKA sẽ thống kê và đƣa ra các thuộc tính cĩ trong cơ sở dữ liệu hiển thị trên giao diện, tại hộp Attributes nhấn nút All để chọn tất cả các thuộc tính.

- Bƣớc 3. Chọn thẻ Classify để chọn sử dụng các phƣơng pháp phân loại.

Hình 4. Phân loại dữ liệu

- Bƣớc 4. Chọn hàm, luật,… phân loại tại mục Classify nhấn nút Choose. Thiết lập một số tùy chọn tại mục Test options, ở đây ta chọn sử

dụng phƣơng pháp Cross-validation.

- Bƣớc 5. Nhấn nút Start để thực hiện, và theo dõi kết quả tại vùng Classifier output.

Để tìm hiểu các chức năng khác của phần mềm Weka và chi tiết cách sử dụng bạn đọc cĩ thể tìm hiểu tại: https://www.cs.waikato.ac.nz/ml/weka/.

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu một số kỹ thuật phát hiện trang web giả mạo và ứng dụng (Trang 63)

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

(77 trang)