Hƣớng tiếp cận này kiểm tra sự hiển thị tƣơng đồng của một trang web và so sánh những đặc trƣng hiển thị của nĩ với một trang web hợp lệ lƣu
trong danh sách trắng. Ngƣời ta đã đề xuất một giải pháp chống giả mạo mới bằng cách sử dụng 2 thuật tốn K-mean và Naive bayes.
Nếu hai trang web cĩ cấu trúc giống nhau về hình ảnh thì cĩ thể nghi ngờ, tiếp theo sử dụng các thuật tốn dựa trên sự tƣơng đồng về hình ảnh của hai trang web để so sánh các thành phần chi tiết của chúng để phát hiện trang Web giả mạo.
2.4.1. Thuật Tốn K-Means
K-Means là thuật tốn rất quan trọng và đƣợc sử dụng phổ biến trong kỹ thuật phân cụm. Tƣ tƣởng chính của thuật tốn K-Means là tìm cách phân nhĩm các đối tƣợng (objects) đã cho vào K cụm (K là số các cụm đƣợc xác định trƣớc, K nguyên dƣơng) sao cho tổng bình phƣơng khoảng cách giữa các đối tƣợng đến tâm nhĩm (centroid ) là nhỏ nhất.
Thuật tốn K-Means đƣợc mơ tả nhƣ sau
Hình 2.1. Thuật tốn K-means dạng sơ đồ khối
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
Ví dụ minh họa thuật tốn K-Mean:
Giả sử ta cĩ 4 loại thuốc A,B,C,D, mỗi loại thuốc đƣợc biểu diễn bởi 2 đặc trƣng X và Y nhƣ sau. Mục đích của ta là nhĩm các thuốc đã cho vào 2 nhĩm (K=2) dựa vào các đặc trƣng của chúng.
Object Feature 1 (X): weight index Feature 2 (Y): pH
Medicine A 1 1
Medicine B 2 1
Medicine C 4 3
Medicine D 5 4
Bƣớc 1. Khởi tạo tâm (centroid) cho 2 nhĩm. Giả sử ta chọn A là tâm
của nhĩm thứ nhất (tọa độ tâm nhĩm thứ nhất c1(1,1)) và B là tâm của nhĩm thứ 2 (tọa độ tâm nhĩm thứ hai c2 (2,1)).
Bƣớc 2. Tính khoảng cách từ các đối tƣợng đến tâm của các nhĩm (Khoảng cách Euclidean) D0 = [ ] ( ) ( ) A B C D [ ]
Mỗi cột trong ma trận khoảng cách (D) là một đối tƣợng (cột thứ nhất tƣơng ứng với đối tƣợng A, cột thứ 2 tƣơng ứng với đối tƣợng B,…). Hàng
thứ nhất trong ma trận khoảng cách biểu diễn khoảng cách giữa các đối tƣợng đến tâm của nhĩm thứ nhất (c1) và hàng thứ 2 trong ma trận khoảng cách biểu diễn khoảng cách của các đối tƣợng đến tâm của nhĩm thứ 2 (c2).
Ví dụ: Khoảng cách từ loại thuốc C=(4,3) đến tâm c1(1,1) là 3.61 và đến tâm c2(2,1) là 2.83 đƣợc tính nhƣ sau: c1 = (1,1) √( ) ( ) = 3.61 c2 = (2,1) √( ) ( ) = 2.83 Bƣớc 3. Nhĩm các đối tƣợng vào nhĩm gần nhất G0 = [ ] A B C D
Ta thấy rằng nhĩm 1 sau vịng lặp thứ nhất gồm cĩ 1 đối tƣợng A và nhĩm 2 gồm các đối tƣợng cịn lại B,C,D.
Bƣớc 4. Tính lại tọa độ các tâm cho các nhĩm mới dựa vào tọa độ của
các đối tƣợng trong nhĩm. Nhĩm 1 chỉ cĩ 1 đối tƣợng A nên tâm nhĩm 1 vẫn khơng đổi, c1(1,1). Tâm nhĩm 2 đƣợc tính nhƣ sau:
c2 = ( , ) = ( )
Bƣớc 5. Tính lại khoảng cách từ các đối tƣợng đến tâm mới
D1 = [ ]
( )
( )
A B C D
Bƣớc 6. Nhĩm các đối tƣợng vào nhĩm
G1 = [ ]
A B C D
Bƣớc 7. Tính lại tâm cho nhĩm mới
c1 = ( , ) = ( ) c2 = ( , ) = ( )
Bƣớc 8. Tính lại khoảng cách từ các đối tƣợng đến tâm mới
D2 = [ ] ( ) ( ) A B C D [ ] Bƣớc 9. Nhĩm các đối tƣợng vào nhĩm G2 = [ ] A B C D Ta thấy G2
= G1 (Khơng cĩ sự thay đổi nhĩm nào của các đối tƣợng)
Object Feature 1 (X): weight index Feature 2 (Y): pH Group (result)
Medicine A 1 1 1
Medicine B 2 1 1
Medicine C 4 3 2
Medicine D 5 4 2
Thuật tốn K-Means cĩ ƣu điểm là đơn giản, dễ hiểu và cài đặt. Tuy nhiên, một số hạn chế của K-Means là hiệu quả của thuật tốn phụ thuộc vào việc chọn số nhĩm K (phải xác định trƣớc) và chi phí cho thực hiện vịng lặp tính tốn khoảng cách lớn khi số cụm K và dữ liệu phân cụm lớn.
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 tốn phát hiện trang Web giả mạo chúng ta cĩ thể đƣa về bài tốn so khớp đồ thị. [1]
2.4.2.1. Phát biểu bài tốn
Cho 2 đồ thị Graph A (GA) và Graph B (GB) cĩ một số cạnh và một số đỉnh tƣơng ứng nào đĩ. Vấn đề đặt ra là xác định xem hai đồ thị đã cho cĩ “khớp nhau” hay khơng?
Ví dụ cho hai đồ thị
2.4.2.2. Thuật tốn di truyền cho bài tốn so khớp đ th
Thuật tốn di truyền là một trong những thuật tốn tiến hĩa, hình thành dựa trên quan niệm cho rằng, quá trình tiến hĩa tự nhiên là quá trình hồn hảo và hợp lý nhất, tự nĩ đã mang tính tối ƣu..
Nhƣ đã nĩi ở mục trên, với hai đồ thị GA = (V1 , E1) và GB= (V2, E2)
với |V1| = m, |V2| = n (m < n) ta phải đi tìm một ánh xạ f: V1 V2 phù hợp nhất biến mỗi cặp đỉnh của đồ thị GA thành một cặp đỉnh của đồ thị GB. Nếu tổng số cặp đỉnh thỏa mãn ánh xạ f càng lớn thì ánh xạ f càng phù hợp.
Ta nĩi f là song ánh nếu và chỉ nếu với mỗi cặp đỉnh (u, v) E1 , cho
ta cặp (f(u), f(v)) E2. Nhƣ vậy cạnh (f(u),f(v)) là ảnh của cạnh (u,v) trong
đồ thị G2.
Mã giả của một thuật tốn di truyền áp dụng cho bài tốn so khớp đồ thị nhƣ sau:
Bắt đầu t=0;
P(0)=initial_Population();// khởi tạo quần thể ban đầu.
P(0).fit=getFit(P(t));// Tính độ thích nghi của tất cả các cá thể trong quần thể ban đầu.
While(! điều kiện dừng){
rd1=rand()%10/10.000;// Sinh ngẫu nhiên xác suất lai ghép if (rd1<0.6){
child_c = crossover(P(t));// Lai ghép các cá thể của quần thể P(t) đƣa vào child_c
child_c.fit =getFit(child_c);// Tính độ thích nghi cho cá thể lai ghép }
rd2 = rand()%10/10.000;// Sinh ngẫu nhiên xác suất đột biến if (rd2<0.02){
child_m = mutation(P(t));// Đột biến các cá thể của quần thể P(t) đƣa vào child_m
child_m.fit =getFit(child_m);// Tính độ thích nghi cho cá thể đột biến }
// Chọn ra P_SIZE cá thể cĩ độ thích nghi lớn nhất từ quần thể P(t) ở thế hệ t, cá thể lai ghép child_c, các cá thể đột biến child_m.
P(t+1) = Chon_loc(P(t), child_c, child_m); t++;
}
Kết thúc.
Chƣơng 3
XÂY DỰNG CHƢƠNG TRÌNH PHÁT HIỆN WEBSITE GIẢ MẠO VÀ ỨNG DỤNG.