Password Cracker:

Một phần của tài liệu Bảo mật dịch vụ hệ thống mạng máy tính (Trang 58)

Định nghĩa

Một chƣơng trỡnh bẻ khoỏ password là chƣơng trỡnh cú khả năng giải mó một mật khẩu đó đƣợc mó hoỏ hoặc cú thể vụ hiệu hoỏ chức năng bảo vệ mật khẩu của một hệ thống.

Hoạt động của cỏc chương trỡnh bẻ khoỏ

Để hiểu cỏch thức hoạt động của cỏc chƣơng trỡnh bẻ khoỏ, chỳng ta cần hiểu cỏch thức mó hoỏ để tạo mật khẩu. Hầu hết việc mó hoỏ cỏc mật khẩu đƣợc tạo ra từ một phƣơng thức mó hoỏ. Cỏc chƣơng trỡnh mó hoỏ sử dụng cỏc thuật toỏn mó hoỏ để mó hoỏ mật khẩu.

Quỏ trỡnh hoạt động của cỏc chƣơng trỡnh bẻ khoỏ đƣợc minh hoạ trong hỡnh sau:

Hỡnh 15 - Hoạt động của cỏc chƣơng trỡnh bẻ khúa

Sau đõy sẽ giải thớch quỏ trỡnh này:

Yếu tố về thiết bị phần cứng: Trong hỡnh trờn mỏy tớnh thực hiện cỏc chƣơng trỡnh phỏ khúa là một mỏy PC 66MHz hoặc cấu hỡnh cao hơn. Trong thực tế yờu cầu cỏc thiết bị phần cứng rất mạnh đối với những kẻ phỏ khoỏ chuyờn nghiệp

Một phƣơng thức khỏc cú thể thay thế là thực hiện việc phỏ khoỏ trờn một hệ thống phõn tỏn; do vậy giảm bớt đƣợc cỏc yờu cầu về thiết bị so với phƣơng phỏp làm tại một mỏy.

Nhƣ trong hỡnh đó chỉ ra, cú một danh sỏch cỏc từ đƣợc tạo ra và thực hiện mó hoỏ từng từ. Sau mỗi lần mó hoỏ, sẽ so sỏnh với mật khẩu đó mó hoỏ cần phỏ. Nếu khụng thấy trựng hợp, quỏ trỡnh lại quay lại. Phƣơng thức bẻ khoỏ này gọi là bruce- force.

Nguyờn tắc của một số chƣơng trỡnh phỏ khoỏ cú thể khỏc nhau. Một vài chƣơng trỡnh tạo một một danh sỏch cỏc từ giới hạn, ỏp dụng một số thuật toỏn mó hoỏ, từ kết quả so sỏnh với password đó mó hoỏ cần bẻ khoỏ để tạo ra một danh sỏch khỏc theo một lụgic của chƣơng trỡnh, cỏch này tuy khụng chuẩn tắc nhƣng nú khỏ nhanh vỡ dựa vào nguyờn tắc khi đặt mật khẩu ngƣời sử dụng cũng thƣờng tuõn theo một số qui tắc để thuận tiện khi sử dụng.

Đến giai đoạn cuối cựng, nếu thấy phự hợp với mật khẩu đó đƣợc mó hoỏ, kẻ phỏ khoỏ sẽ cú đƣợc mật khẩu dạng text thụng thƣờng. Trong hỡnh trờn, mật khẩu dạng text thụng thƣờng đƣợc ghi vào một file.

Để đỏnh giỏ khả năng thành cụng của cỏc chƣơng trỡnh bẻ khoỏ ngƣời ta đƣa ra cụng thức nhƣ sau:

P = L x R /S Trong đú:

P: Là xỏc suất thành cụng

L: Thời gian sống của một mật khẩu R: Tốc độ thử

S: Khụng gian mật khẩu = Am (M là chiều dai mật khẩu)

Vớ dụ, trờn hệ thống UNIX ngƣời ta đó chứng minh đƣợc rằng nếu mật khẩu dài quỏ 8 ký tự thỡ xỏc suất phỏ khoỏ gần nhƣ = 0. Cụ thể nhƣ sau:

Nếu sử dụng khoảng 92 ký tự cú thể đặt mật khẩu, khụng gian mật khẩu cú thể cú là S = 928

Với tốc độ thử là 1000 mật khẩu trong một giõy cú R = 1000/s Thời gian sống của một mật khẩu là 1 năm

Ta cú xỏc suất thành cụng là:

P = 1x 365 x 86400 x 1000/928 = 1/1.000.000

Nhƣ vậy việc dũ mật khẩu là khụng thể vỡ sẽ mất khoảng 100 năm mới tỡm ra mật khẩu chớnh xỏc.

Thụng thƣờng cỏc chƣơng trỡnh phỏ khoỏ thƣờng kết hợp một số thụng tin khỏc trong quỏ trỡnh dũ mật khẩu nhƣ:

Cỏc thụng tin trong tập tin /etc/passwd Một số từ điển

Từ lặp và cỏc từ liệt kờ tuần tự, chuyển đổi cỏch phỏt õm của một từ...

Biện phỏp khắc phục là cần xõy dựng một chớnh sỏch bảo vệ mật khẩu đỳng đắn. Chi tiết sẽ đƣợc trỡnh bày ở phần 3 về chớnh sỏch bảo mật.

Giới thiệu một số chương trỡnh phỏ khoỏ trờn UNIX:

Nguồn gốc cỏc chƣơng trỡnh phỏ khoỏ đó cú từ lõu, thƣờng đƣợc ỏp dụng đối với cỏc hệ thống UNIX. Một số chƣơng trỡnh Crack đó trở thành chuẩn cụng nghiệp để giỳp ngƣời quản trị kiểm tra tớnh an toàn của hệ thống. Đú là:

Chƣơng trỡnh Crack của Alec Muffett; Chƣơng trỡnh này hoạt động đối với cỏc file /etc/password của UNIX. Hoạt động của chƣơng trỡnh này nhƣ sau:

$ Crack my_password_file (adsbygoogle = window.adsbygoogle || []).push({});

pwc: Jan 30 19:26:49 Crack v4.1f: The Password Cracker, (c) Alec D.E. Muffett, 1992

pwc: Jan 30 19:26:49 Loading Data, host=SamsHack pid=300 pwc: Jan 30 19:26:49 Loaded 2 password entries with 2 different (salts: 100%

pwc: Jan 30 19:26:49 Loaded 240 rules from `Scripts/dicts.rules'. pwc: Jan 30 19:26:49 Loaded 74 rules from `Scripts/gecos.rules'. pwc: Jan 30 19:26:49 Starting pass 1 - password information pwc: Jan 30 19:26:49 FeedBack: 0 users done, 2 users left to crack. pwc: Jan 30 19:26:49 Starting pass 2 - dictionary words

pwc: Jan 30 19:26:49 Applying rule `!?Al' to file `Dicts/bigdict' pwc: Jan 30 19:26:50 Rejected 12492 words on loading, 89160 words (left to sort

pwc: Jan 30 19:26:51 Sort discarded 947 words; FINAL DICTIONARY (SIZE: 88213

pwc: Jan 30 19:27:41 Guessed ROOT PASSWORD root (/bin/bash (in my_password_file) [laura] EYFu7c842Bcus pwc: Jan 30 19:27:41 Closing feedback file.

Nhƣ thấy trong kết quả , chƣơng trỡnh chỉ thực hiện trong khoảng 1 phỳt đó cú thể bẻ khoỏ đƣợc toàn bộ cỏc file passwd (tuy nhiờn trong trƣờng hợp này password là ngắn và số lƣợng ớt).

Hiện nay cũng xuất hiện một số chƣơng trỡnh crack hoạt động trờn mụi trƣờng Windows NT nhƣ L0pt, đõy là chƣơng trỡnh bẻ khoỏ khỏ thành cụng trờn Windows NT. Chi tiết hoạt động của chƣơng trỡnh này sẽ đƣợc trỡnh bày trong phần phụ lục

Một phần của tài liệu Bảo mật dịch vụ hệ thống mạng máy tính (Trang 58)