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

Ứng dụng mạng neural đánh giá mức độ an toàn của 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 (309.94 KB, 3 trang )

Tuyển tập Hội nghị Khoa học thường niên năm 2019. ISBN: 978-604-82-2981-8

ỨNG DỤNG MẠNG NEURAL ĐÁNH GIÁ MỨC ĐỘ AN TOÀN
CỦA MẬT KHẨU
Trương Xuân Nam
Trường Đại học Thủy lợi, email:

1. GIỚI THIỆU CHUNG

2. PHƯƠNG PHÁP NGHIÊN CỨU

Mật khẩu là phương pháp phổ biến trong
việc xây dựng hàng rào bảo mật cho các dữ
liệu và chức năng có tính riêng tư hoặc phân
cấp. Phương pháp này đơn giản, có chi phí
thấp và phù hợp với mọi đối tượng người sử
dụng. Tuy nhiên, dùng mật khẩu cũng có một
số điểm bất lợi, trong đó mức độ an tồn của
các mật khẩu là rất khác nhau. Có những mật
khẩu rất thơng dụng và dễ dàng bị phá bởi
phương pháp thử sai; những mật khẩu được
sinh tự động bởi máy tính lại khó nhớ, gây
phiền phức cho người sử dụng.
Để người dùng tạo ra những mật khẩu đủ
khó, quản trị viên thường đưa ra những tiêu
chí cho mật khẩu như độ dài, mức độ
phong phú của nội dung; những tiêu chí
này được chọn một cách chủ quan chứ
không dựa trên nghiên cứu về các kĩ thuật
dò mật khẩu. Một mật khẩu tốt nên dễ nhớ
với người sử dụng và khó phá với các kĩ


thuật dị, đây là u cầu mà các khuyến cáo
khơng đạt được.
Trong báo cáo này chúng tôi đề xuất một
phương pháp đánh giá mức độ an toàn của
mật khẩu dựa trên một mạng neural được
huấn luyện để nhận biết các mật khẩu thơng
dụng, qua đó đề xuất một khả năng xây dựng
dịch vụ đánh giá mức độ an toàn dựa trên dữ
liệu sử dụng thực tế thay vì các quy tắc bảo
mật được thiết lập bởi quản trị viên.
Giải pháp này hữu ích vì cho phép người
sử dụng đặt mật khẩu hồn tồn theo ý
muốn của họ, khơng có bất kì ràng buộc
nào, nhưng vẫn có thể tạo được những mật
khẩu mạnh.

2.1. Bài toán đánh giá chất lượng
mật khẩu
Để tạo những mật khẩu an tồn, theo nghĩa
khó có thể đốn được bằng phần mềm, quản
trị hệ thống hoặc người xây dựng quy trình
đặt ra các nguyên tắc ràng buộc về mật khẩu.
Một vài nguyên tắc thông dụng thường được
sử dụng:
1. Mật khẩu không được quá ngắn
2. Mật khẩu không được quá dài (tránh
việc khai thác lỗi tràn bộ đệm)
3. Mật khẩu không chứa các thông tin cá
nhân thông dụng của người dùng như ngày
sinh, họ tên, tên lóng, địa chỉ nhà, số điện

thoại, số chứng minh thư,…
4. Mật khẩu không trùng với tên đăng nhập.
5. Mật khẩu bắt buộc phải chứa các chữ
hoa, chữ thường, chữ số, dấu ký hiệu
Trong thực tế những quy tắc đặt ra làm
cho mật khẩu khó đốn, nhưng khơng có
nghĩa đó là các mật khẩu mạnh. Vì thực tế
các hệ thống thường khơng lưu lại mật khẩu
người dùng mà kiểm tra chữ ký số (thường
MD5 hoặc SHA); vì vậy việc mật khẩu khó
nhớ hơn khơng có nghĩa là sẽ an tồn hơn.
Điều quan trọng là mật khẩu không nên nằm
trong từ điển mật khẩu của phần mềm
phá khóa.
Hầu hết các phương pháp thơng thường
khơng đánh giá đúng chất lượng mật khẩu do
người dùng tạo ra.
Chúng tôi sẽ sử dụng phương pháp học
mạng neural vào bài toán này.

168


Tuyển tập Hội nghị Khoa học thường niên năm 2019. ISBN: 978-604-82-2981-8

2.2. Xác định mục tiêu cần giải quyết
Chúng tôi xác định bài toán cụ thể cần giải
quyết trong báo cáo này như sau: Xây dựng
một phương pháp hiệu quả, đánh giá chất
lượng mật khẩu là một chuỗi văn bản ngắn,

mật khẩu càng khác biệt so với các mẫu đã có
thì càng tốt. Để lượng hóa phương pháp đánh
giá này, chúng tơi xây dựng thuật tốn đánh
giá dựa trên độ lệch giữa xác suất chọn kí tự
tiếp theo và dữ liệu thực tế [Bảng 2].
Có hai vấn đề trong bài tốn cần được tiếp
tục làm rõ:
1. Mẫu đã có cụ thể là những gì?
2. Khác biệt ở đây đo bằng đơn vị gì?
Với bài tốn bảo mật bằng mật khẩu, có
nhiều cách vượt qua hàng rào này, chẳng hạn:
- Tìm kiếm trực tiếp mật khẩu thông
qua những điểm yếu trong môi trường hoặc
giao thức.
- Vượt qua hàng rào bằng cách lợi dụng lỗi
bảo mật hoặc lỗi lập trình.
- Đốn mật khẩu bằng phương pháp
thử sai.
Việc đánh giá chất lượng mật khẩu chỉ
giúp tránh việc bị đoán mật khẩu quá nhanh,
như vậy có thể xác định mẫu mật khẩu là các
chuỗi mật khẩu thường dùng trong các cơ sở
dữ liệu mật khẩu thường được tin tặc khai
thác hoặc các chuỗi mật khẩu sinh bởi phần
mềm tấn công thử sai.
Vấn đề thứ hai phức tạp hơn, có nhiều căn
cứ để đưa ra tiêu chuẩn định lượng cho khái
niệm khác biệt, trong báo cáo này chúng tôi
đề nghị đo lường bằng xác suất trùng lặp
giữa một kí hiệu sinh từ tập mẫu và một kí

hiệu trên mật khẩu.
Như vậy về cơ bản cách xác định độ đo
của bài tốn sẽ khuyến khích việc tránh xa
những cách dùng từ thông dụng, chẳng hạn
như lặp lại ngày sinh, số điện thoại hoặc một
từ phổ biến nào đó.
2.3. Học từ dữ liệu bằng mạng neural
Mạng neural là một nhánh mạnh trong học
máy, có rất nhiều mơ hình khác nhau giúp
giải quyết nhiều vấn đề hóc búa của bài toán

học từ dữ liệu. Đặc biệt, nhiều loại mạng
neural có thể phối hợp với nhau để cùng giải
quyết các vấn đề phức tạp, việc các lớp mạng
phối hợp làm việc là cảm hứng cho ngành
học sâu (deep learning).
2.4. Mạng neural hồi quy
Các loại mạng neural hồi quy (Recurrent
Neural Networks) phù hợp với việc xử lý dữ
liệu văn bản vì có cơ chế giúp lưu giữ lại ngữ
cảnh của đoạn văn bản.
Trong báo cáo này, chúng tôi sử dụng một
cấu trúc dựa trên các LSTM (Long ShortTerm Memory), đây là các tế bào neural phù
hợp với việc xử lý dữ liệu ở mức kí tự.
3. KẾT QUẢ NGHIÊN CỨU

3.1. Tập dữ liệu huấn luyện
Chúng tôi sử dụng hai nguồn dữ liệu
chính.
Nguồn dữ liệu đầu tiên gồm 353 triệu mật

khẩu thông dụng của các mạng wifi [1]. Đây
là cơ sở dữ liệu được gom từ nhiều nguồn và
thống kê những mật khẩu thường dùng nhất.
Bộ dữ liệu này được nhiều hệ thống sử dụng
để nhận biết những mật khẩu yếu.
Nguồn dữ liệu thứ hai được tạo từ API của
trang , đây
là trang web cung cấp dịch vụ tạo những mật
khẩu mạnh. Chúng tôi sử dụng các mật khẩu
từ nguồn này để tạo các dữ liệu kiểm tra
thuộc nhóm mật khẩu mạnh.
3.2. Kiến trúc mạng neural đề xuất
Lời giải theo hướng tiếp cận mạng neural
là hồn tồn mới, vì vậy chúng tôi xây dựng
ban đầu một cấu trúc mạng neural đơn giản
nhất có thể, nếu phương pháp tỏ ra khả quan,
chúng tơi sẽ tiếp tục nâng cấp các mơ hình
mới theo hướng nhiều lớp hơn để có thể học
được nhiều hơn những quy luật nội tại của
tập dữ liệu mật khẩu.
Cấu trúc mạng đề xuất như sau:
- Đầu vào là một vector binary 96 phần tử,
là vector one-hot-encoding cho các ký tự
thông dụng cho mật khẩu
- Bốn lớp LSTM mỗi lớp có 96 phần tử.

169


Tuyển tập Hội nghị Khoa học thường niên năm 2019. ISBN: 978-604-82-2981-8


- Đầu ra softmax trả về xác suất dự báo
của các ký tự tiếp theo.
3.3. Đánh giá chất lượng mật khẩu
Sức mạnh của mật khẩu được thể hiện qua
sự khác biệt giữa vector one-hot-encoding
thực tế và vector dự báo do đầu ra softmax
trả về (trung bình độ lệch bình phương).
V là vector dự báo, T là vector thực tế,
công thức độ lệch:
95

D(T ,V ) = ∑ (Tk − Vk ) 2
k =0

3.5. Chương trình minh họa
Chương trình minh họa viết bằng Python
sử dụng framework Keras/ Python gồm
chương trình huấn luyện mơ hình đề xuất và
lưu ra file dữ liệu HDF5. Chương trình kiểm
tra cũng viết bằng cơng nghệ tương tự làm
nhiệm vụ nạp mơ hình từ file dữ liệu và đánh
giá các mật khẩu được đề xuất ở các mức độ
rất yếu, yếu, trung bình, mạnh và rất mạnh
tùy theo độ đo khác biệt do mạng neural đánh
giá. Do hạn chế của báo cáo nên chi tiết của
chương trình khơng được trình bày ở đây.

3.4. Một số thuật tốn cơ bản
4. KẾT LUẬN


Bảng 1. Thuật toán huấn luyện LSTM
1. Tạo model RNN: input = 96 one‐
hot, hidden 1 = LSTM x 96, 
hidden 2 = LSTM x 96, hidden 3 = 
LSTM x 96, hidden 4 = LSTM x 96, 
output = softmax x 96. 
2. Tham số huấn luyện: Batch size 
= 32, Sequence length: 32, 
Learning rate: 0.002, Decay 
rate: 0.97, Init = Adam. 
3. Huấn luyện model với iteration 
= 200000 
4. Lưu model thành file
password.hdf5 

Bảng 2. Thuật tốn đánh giá password
1. Mã hóa password thành danh sách 
các vector one‐hot. 
2. Nạp model từ file. 
3. Lần lượt input các vector từ
password vào model, tính độ 
lệch theo cơng thức. 
4. Tính trung bình của các độ 
lệch, đánh giá mức độ mạnh yếu 
của mật khẩu theo tiêu chuẩn: 
- Dưới 0.125: rất yếu 
  ‐ 0.125‐0.5: yếu 
  ‐ 0.5‐0.75: trung bình 
  ‐ 0.75‐0.9: mạnh 

  ‐ trên 0.9: rất mạnh. 

Trong báo cáo này, chúng tơi trình bày
một đề xuất lời giải cho bài toán đánh giá
chất lượng mật khẩu dựa trên mơ hình mạng
neural phù hợp với nhiệm vụ xử lý dữ liệu
văn bản. Tuy kết quả ban đầu rất sơ sài,
nhưng cho thấy phương pháp có thể áp dụng
thực tế và nhiều hướng cải tiến.
Đây là hướng tiếp cận khả quan, kết quả
ban đầu cho thấy có thể mở ra một hướng
mới cho việc sử dụng các phương pháp học
máy vào các vấn đề truyền thống.
Mơ hình có kích cỡ nhỏ, có thể đưa lên các
thiết bị di động hoặc nhúng vốn yêu cầu chặt
chẽ về bộ nhớ.
Mặt hạn chế của phương pháp này là tiêu
chuẩn không rõ ràng, trong trường hợp mật
khẩu bị đánh giá là yếu, người sử dụng không
được đề xuất phải sửa đổi như thế nào để
khắc phục vấn đề.
5. TÀI LIỆU THAM KHẢO
[1] Berzerk0, 2018, “Probable-Wordlists: Real
Password”.
/>[2] Andrej Karpathy, Justin Johnson, Li Fei-Fei,
2015, “Visualizing and Understanding
Recurrent Networks”.
/>
170




×