Tải bản đầy đủ (.docx) (15 trang)

Tiểu luận môn Máy học và ứng dụng ỨNG DỤNG MÁY HỌC VÀ MẠNG NƠ-RON CHO HỆ THỐNG DÒ TÌM MẬT KHẨU

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 (194.1 KB, 15 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
**********
Tiểu Luận Môn Học
MÁY HỌC VÀ ỨNG DỤNG
Đề tài :
ỨNG DỤNG MÁY HỌC VÀ MẠNG NƠ-RON
CHO HỆ THỐNG DÒ TÌM MẬT KHẨU
Giảng viên : PGS.TS. VŨ THANH NGUYÊN
Học viên : Nguyễn Tuấn An – CH1301001
THÀNH PHỐ HỒ CHÍ MINH 2014

I TỔNG QUAN
Mật khẩu (Password) thường là một xâu, chuỗi, loạt các kí tự mà dịch vụ Internet,
phần mềm, hệ thống máy tính yêu cầu người sử dụng nhập vào bằng bàn phím trước khi
có thể tiếp tục sử dụng một số tính năng nhất định.Mật khẩu có thể đi cặp với tên truy
nhập khi hệ thống cần phân biệt các người sử dụng khác nhau.
Bảo mật là sự hạn chế khả năng lạm dụng tài nguyên và tài sản. Bảo mật trở nên
đặc biệt phức tạp trong quản lý, vận hành những hệ thống thông tin có sử dụng các công
cụ tin học, nơi có thể xảy ra và lan tràn nhanh chóng việc lạm dụng tài nguyên (các thông
tin di chuyển vô hình trên mạng hoặc lưu trữ hữu hình trong các vật liệu) và lạm dụng tài
sản (các máy tính, thiết bị mạng, thiết bị ngoại vi, các phần mềm của cơ quan hoặc người
sở hữu hệ thống). Hạn chế ở đây có ý rằng không thể triệt phá hết ngay việc lạm dụng,
cho nên cần sẵn sàng đề phòng mọi khả năng xấu với các phương cách thích hợp và
chuẩn bị xử lý các sự cố nếu có việc lạm dụng xảy ra.
Bên cạnh đó, công nghệ dò tìm mật khẩu hiện nay cũng đang phát triển rất phổ
biến. Đặc biệt là sử dụng công nghệ cao để can thiệp, nhận dạng mật khẩu ngày càng tiến
bộ. Một trong các công nghệ tiên tiến đó chính là công nghệ máy học
II KHÁI QUÁT MÁY HỌC
Công nghệMáy học là một trong những phương pháp chính trong khai phá dữ liệu.
Nó được sử dụng trong tiến trình khám phá tri thức.


“Học - learn” có ý nghĩa khác nhau trong từng lĩnh vực: tâm lý học, giáo dục, trí
tuệ nhân tạo,…
Một định nghĩa rộng nhất: “máy học là một cụm từ dùng để chỉ khả năng một
chương trình máy tính để tăng tính thực thi dựa trên những kinh nghiêm đã trải qua” hoặc
“máy học là để chỉ khả năng một chương trình có thể phát sinh ra một cấu trúc dữ liệu
mới khác với các cấu trúc dữ liệu cũ”
2.1Các giai đoạn của tiến trình máy học
2.1.1 Giai đoạn học (learning):
Hệ thống phân tích dữ liệu và nhận ra sự mối quan hệ (có thể là phi tuyến hoặc
tuyến tính) giữa các đối tượng dữ liệu. Kết quả của việc học có thể là: nhóm các đối
tượng vào trong các lớp, tạo ra các luật, tiên đoán lớp cho các đối tượng mới.
2.1.2 Giai đoạn thử nghiệm (testing):
Mối quan hệ (các luật, lớp ) được tạo ra phải được kiểm nghiệm lại bằng một số
hàm tính toán thực thi trên một phần của tập dữ liệu huấn luyện hoặc trên một tập dữ liệu
lớn.
2.2 Các thuật toán máy học
Học giám sát, học không giám sát và học nửa giám sát.
2.2.1 Học có giám sát (Supervised Learning).
Đây là cách học từ những mẫu dữ liệu mà ở đó các kỹ thuật máy học giúp hệ
thống xây dựng cách xác định những lớp dữ liệu. Hệ thống phải tìm một sự mô tả cho
từng lớp (đặc tính của mẫu dữ liệu).
Người ta có thể sử dụng các luật phân loại hình thành trong quá trình học và phân
lớp để có thể sử dụng dự báo các lớp dữ liệu sau này.
Thuật toán học có giám sát gồm tập dữ liệu huấn luyện M cặp:
S = {(x
i
, c
j
)| i=1,…,M; j=1,…,C}
Các cặp huấn luyện này được gọi là mẫu, với

x
i
là vector n-chiều còn gọi là vector đặc trưng,
c
j
là lớp thứ j đã biết trước.
Thuật toán máy học giám sát tìm kiếm không gian của những giả thuyết có thể,
gọi là H. Đối với một hay nhiều giả thuyết, mà ước lượng tốt nhất hàm không được biết
chính xác f : x

c.
2.2.2 Học Không giám sát (Unsupervised Learning).
Đây là việc học từ quan sát và khám phá. Hệ thống khai thác dữ liệu được ứng
dụng với những đối tượng nhưng không có lớp được định nghĩa trước, mà để nó phải tự
hệ thống quan sát những mẫu và nhận ra mẫu. Hệ thống này dẫn đến một tập lớp, mỗi lớp
có một tập mẫu được khám phá trong tập dữ liệu.
Học không giám sát còn gọi là học từ quan sát và khám phá.
2.2.3 Học nửa giám sát.
Học nửa giám sát là các thuật toán học tích hợp từ học giám sát và học không
giám sát. Việc học nửa giám sát tận dụng những ưu điểm của việc học giám sát và học
không giám sát và loại bỏ những khuyết điểm thường gặp trên hai kiểu học này.
III MÔ HÌNH MẠNG NƠ-RON NHÂN TẠO
Các mô hình sử dụng mạng neuron là một cách tiếp cận khá phổ biến trong máy
học. Điều đó xuất phát từ khả năng ghi nhớ và học của cấu trúc này.
Bên cạnh đó, tính ổn định của mạng neuron cũng là một yếu tố quan trọng giúp nó
được chọn vì đây là điều kiện quan trọng đặt ra cho bài toán mô hình.
Mạng Nơ-ron nhân tạo (Artificial Neural Network- ANN) là mô hình xử lý thông
tin được mô phỏng dựa trên hoạt động của hệ thống thần kinh của sinh vật, bao gồm số
lượng lớn các Nơ-ron được gắn kết để xử lý thông tin.
ANN giống như bộ não con người, được học bởi kinh nghiệm (thông qua huấn

luyện), có khả năng lưu giữ những kinh nghiệm hiểu biết (tri thức) và sử dụng những tri
thức đó trong việc dự đoán các dữ liệu chưa biết (unseen data).
3.1 Mạng dẫn tiến:
Trong mạng dẫn tiến liên kết giữa các nơ-ron không tạo thành chu trình. Tín hiệu
đi từ các nơ-ron lớp vào lần lượt qua các lớp ẩn và cuối cùng đi ra ở nơ-ron lớp ra. Giải
thuật học của mạng dẫn tiến là giải thuật lan truyền ngược.
3.2 Mạng hồi quy Hopfield:
Mạng hồi quy của Hopfield cũng có cấu trúc giống như kiểu mạng dẫn tiến, nhưng
mạng Hopfield có các kết nối ngược để dòng dữ liệu đầu ra trở lại đầu vào, do đó mạng
nơ-ron có thể ghi nhớ.
Điểm khác biệt là sau khi giá trị ra được xác định, giá trị này được sử dụng lại để làm giá
trị vào cho mạng và quá trình này được lặp lại cho đến khi giá trị đầu ra không thay đổi
nữa, ở thời điểm này, mạng nơ-ron đạt đến trạng thái nghỉ
3.3 Mạng cạnh tranh:
Là kiểu mạng học không giám sát, trong đó các nút mạng cạnh tranh để giành
được quyền phản hồi lại với tập dữ liệu đầu vào.
Kiểu mạng này có những thuộc tính hoàn toàn khác so với mạng lan truyền ngược.
Người sử dụng không thực sự kiểm soát nơ-ron nào sẽ chiến thắng và mẫu nào sẽ được
học. Ngược lại, mạng có thể tìm thấy những mẫu nào đó trong dữ liệu, ngay cả khi người
sử dụng không hề biết liệu mẫu đó có tồn tại ở đó
3.4 Mạng nơ-ron hàm radial:
Là kiểu mạng sử dụng hàm radial làm hàm kích hoạt.
3.5 Mạng nơ-ron mờ hồi quy:
Là sự kết hợp từ lý thuyết tập mờ và mô hình mạng nơ-ron, tận dụng những ưu
điểm như khả năng xấp xỉ một hàm liên tục với độ chính xác cho trước, khả năng xử lý tri
thức con người.
3.6 Mô hình Fuzzy ArtMap Neural Network:
Hệ thống Fuzzy ArtMap Neural Network là mạng nơ-ron học có giám sát, có khả
năng nhận dạng nhanh và ổn định, có khả năng dự báo chính xác cho phân lớp.
IV ỨNG DỤNG MÁY HỌC VÀ MẠNG NƠ-RON CHO HỆ

THỐNG DÒ TÌM MẬT KHẨU
4.1 Mô tả vấn đề
4.1.1 Vấn đề :
Tìm ra mật khẩu người dùng bằng các thông tin liên quan đến người dùng đó.
4.1.2 Phạm vi :
Tìm kiếm thông tin dựa trên một số dữ liệu cơ bản nhất của người dùng đó. Cụ thể
trong vấn đề này ta sẽ xét trên các thông tin sau :
- Họ tên
- Ngày sinh
- Số điện thoại
- Giới tính
- Sở thích
- Địa chỉ
4.1.3 Một số điều kiện liên quan :
Do mức độ của thuật giải chỉ mang tính chất mô phỏng, nên ta chỉ xét dạng mật
khẩu không có mã hóa, gồm ít ký tự… còn các thông tin Họ tên, ngày sinh… gồm các
chữ cái trong bảng chữ cái và không bỏ dấu.
4.2 Mô tả hệ thống
4.2.1 Quá trình học (tạo ra các luật) :
Đầu tiên ta cung cấp cho chương trình 1 dữ liệu huấn luyện với một số thông tin
mẫu.
4.2.2 Quá trình thiết lập, kiểm nghiệm các luật :
Dựa vào nguồn thông tin được cấp hệ thống sẽ tiến hành quá trình phân tích tạo ra
các luật (tri thức) nhằm tìm hiểu cách thức đặt mật khẩu của người dùng.
Các luật này sau đó sẽ được dò xét và kiểm nghiệm lại khả năng phát sinh ra mật
khẩu có cao hay không sẽ được giữ lại, các luật với khả năng sinh ra mật khẩu ít hơn sẽ
được loại bỏ.
4.2.3 Quá trình suy luận
Sau khi đã có nguồn tri thức và các tập luật để suy diễn quá trình suy luận được
tiến hành nhằm tìm ra giá trị kết quả chính xác hoặc gần đúng nhất so với kết quả.

4.2.4 Quá trình kiểm nghiệm kết quả
Là quá trình kiểm nghiệm lại các kết quả tìm được đồng thời với nhau, so sánh để
chọn ra kết quả phù hợp nhất.
4.3 Hướng dẫn sử dụng
Bước 1 : Chọn dữ liệu huấn luyện
Đây cùng là quá trình suy luận tạo ra các luật, tri thức cần thiết cho quá trình suy
diễn ở các bước sau.
Bước 2: Dò tìm mật khẩu (Suy luận mật khẩu)
- Điền thông tin người dùng gồm các thông tin cơ bản và mật khẩu để có nền tảng
nhằm so khớp các kết quả tìm được với mật khẩu gốc
Hệ thống sẽ thực hiện quá trình suy diễn tìm kiếm kết quả sau đó đem so khớp với
kết quả đúng (ẩn bên dưới), sau đó lựa chọn ra kết quả tốt nhất làm kết quả bài toán.
V KẾT LUẬN, ĐÁNH GIÁ KẾT QUẢ
5.1 Kiểm thử
5.1.1 Mẫu thử :
Ta nạp vào 10 mẫu dữ liệu huấn luyện sau :
Với các từ khóa :
- HoTen: họ tên
- NgaySinh: ngày sinh
- SDT: số điện thoại
- GioiTinh: giới tính
- SoThich: sở thích
- DiaChi: địa chỉ
- MK: mật khẩu
Mẫu 1:
HoTen:Nguyen Huu Kha
NgaySinh:19/06/1982
SDT:01692753799
GioiTinh:Nam
SoThich:Xem Phim

DiaChi:Long An
MK:nhk82
Mẫu 2:
HoTen:Phan Thi Tuyet Nhung
NgaySinh:14/12/2001
SDT:01226163338
GioiTinh:Nu
SoThich:An Uong
DiaChi:Thanh Pho Ho Chi Minh
MK:1226163338
Mẫu 3:
HoTen:Mai Minh Thien
NgaySinh:13/07/1990
SDT:01673942512
GioiTinh:Nam
SoThich:Ca Hat
DiaChi:An Giang
MK:1307ag
Mẫu 4:
HoTen:Ngo Thi Thuy Hang
NgaySinh:24/01/1996
SDT:0924999861
GioiTinh:Nu
SoThich:Du Lich
DiaChi:Tien Giang
MK:hangtg
Mẫu 5:
HoTen:Phung Hai Duong
NgaySinh:02/02/1988
SDT:0924764924

GioiTinh:Nam
SoThich:Ben Tre
DiaChi:
MK:duong924
Mẫu 6:
HoTen:Tran Thi Hong Xuan
NgaySinh:01/09/1995
SDT:01218182528
GioiTinh:Nu
SoThich:Ca Hat
DiaChi:Vung Tau
MK:nuvt95
Mẫu 7:
HoTen:Ha Thi Minh Tam
NgaySinh:02/03/2000
SDT:01683164190
GioiTinh:Nu
SoThich:Du Lich
DiaChi:Thanh Hoa
MK:mtam2000
Mẫu 8:
HoTen:Le Tran Quoc Cuong
NgaySinh:07/12/1996
SDT:0932408419
GioiTinh:Nam
SoThich:Doc Bao
DiaChi:Ha Giang
MK:1996docbao
Mẫu 9:
HoTen:Ho Thu Nguyet

NgaySinh:12/11/1991
SDT:0974261577
GioiTinh:Nu
SoThich:Nge Nhac
DiaChi:Kien Giang
MK:nht91
Mẫu 10:
HoTen:Dam Van Kiet
NgaySinh:03/10/1989
SDT:01265674195
GioiTinh:Nam
SoThich:Xem Phim
DiaChi:Ca Mau
MK:cm89
Mẫu dữ liệu cần tìm mật khẩu :
HoTen:Phung Tien Cong
NgaySinh:21/01/1988
SDT:01698413305
GioiTinh:Nam
SoThich:Du lich
DiaChi:Hau Giang
MK:
5.1.2 Kết quả
ST
T
Mật khẩu nhập
vào
Mật khẩu tìm
được
Thời gian trả về

kết quả
Ghi chú
1 21 || || Không tìm thấy
2 1988 HP88 Rất nhanh Tìm thấy tương đối
3 ptc88 PTC88 1 giây Tìm thấy chính xác
4 2101hg 2101HG 2 giây Tìm thấy chính xác
5 namhg nPP22 10 giây Tìm thấy tương đối
6 ptc21 PTC21 Rất nhanh Tìm thấy chính xác
7 1698413305 || Rất nhanh Mật khẩu dài so với kiểu dữ
liệu hệ thống
8 01698413305 || Khoảng 30 giây Không tìm thấy
9 198805 1988PH Khoảng 7 phút Tìm thấy tương đối
10 conghg Conghg Khoảng 2 phút Tìm thấy chính xác
11 nam3305 || Khoảng 4 giây Không tìm thấy
* Kết quả được kiểm thử trên máy tính
- Dell Inspiron 4110
- Intel core i5
- Chạy hệ điều hành Window8
5.2 Đánh giá kết quả
- Theo bảng khảo sát ta thấy chương trình sẽ tìm được mật khẩu nhanh và chính
xác hơn nếu qui tắc mật khẩu nhập vào có tương ứng với mẫu dữ liệu huấn luyện.
- Các mật khẩu quá dài hoặc quá ngắn không có trong mẫu dữ liệu sẽ không tìm
được.
- Các mật khẩu có các qui tắc gần giống với các mẫu thử sẽ tìm được mật khẩu
gần giống với mật khẩu nhập vào.
5.3 Kết luận
5.3.1 Ưu điểm
- Do được xây dựng theo mô hình lý thuyết máy học bao gồm quá trình học và
kiểm nghiệm nên chương trình có khả năng suy diễn tìm ra mật khẩu có tính chính xác
cao.

5.3.2 Hạn chế
Do xây dựng trong thời gian ngắn nên có 1 số hạn chế sau :
- Chỉ áp dụng cho dữ liệu không bỏ dấu.
- Các thông tin xử lý còn ít chỉ dừng lại với các thông tin cơ bản
- Vấn đề mật khẩu quá dài ảnh hưởng đến miền dữ liệu của các tham số trong
chương trình nên không đáp ứng.
TÀI LIỆU THAM KHẢO
- Tài liệu của PGS.TS. Vũ Thanh Nguyên
- Các tài liệu liên quan đến máy học
- Machine Learning and Its Applications - Advanced Lectures [Georgios Paliouras]
- McGrawHill_-_Machine_Learning_-Tom_Mitchell

×