Phần 1 :
Giới thiệu :
Như các bạn đã biết trong việc bảo vệ một hệ thống, việc bảo vệ password luôn được coi trọng, chính vì vậy tài liệu này được soạn thảo nhằm giúp cho các bạn biết cách mà một chương trình bẻ khóa password làm việc.
Có rất nhiều cách để bảo mật một password trong một hệ thống vì vậy trong một tài liệu ít ỏi như thế này tôi không thể kể ra hết được tuy nhiên tôi sẽ hướng dẫn các bạn phương cách đơn giản nhất, đó là sự kết hợp giữa 3 yếu tố:
· Something you know
· Something you are
· Something you have
Thế nào là một chương trình bẻ khóa (password cracker) ???? Và một hacker đoán password như thế nào ????
Password cracker là một chương trình mà như tên gọi của nó tức là nó có khả năng giải mã hoặc vô hiệu hóa password. Hầu hết các password cracker làm công việc là xem xét các bước mã hóa password để phá vỡ nó (crack) hay dịch ngược nó lại. Kỹ thuật này sẽ được mô tả kỹ hơn sau này.
Không phải người nào cũng quan tâm đến việc lựa chọn một password an toàn . Nếu một password có trong một từ điển (hay nó có một nghĩa nào đó), thì chắc chắn password đó dễ dàng bị bẻ gãy (crack). Chỉ có những người đã có kinh nghiệm và rất cẩn thận mớitquan tâm đến điều đó, tuy nhiên họ lại không ngờ rằng password của họ nằm trong một thư mục nào đó, thật dễ dàng .Lại cũng có những người nói rằng họ không cần chọn một password phức tạp bởi vì họ không có những tập tin quan trọng. Chỉ những sai lầm như vậy họ cũng có thể tự làm hại mình bởi những hacker và những cỗ máy crack siêu hạng
Một vài hệ thống cho phép chúng ta đột nhập với những user như “demo” hay “guest” mà không cần biết password màta gọi đó là một default passwork. Vì sao có default password??? Không lẽ admin lại tự muốn cheat hay sao ??? Lý do là ở đây:
-Nhân viên của một cơ quan(hay thành viên của một tổ chức) được phép quản lý một số tài nguyên nhất định mà người chủ(admin) cho phép bằng cách dùng default password.
Và trong trường hợp admin là một người bận biụ với công việc hay là một lão già lẩm cẩm, hay quên thì họ luôn đặt password sao cho dễ nhớ (“love”,”money”,…) hoặc đơn giản password chỉ là một khoảng trắng . Nhiều hacker thường thử các default password, đoán password trước khi nghĩ các kế sách tinh vi hơn. Các acc của user thường bị hacker tấn công trước để lấy password và đột nhập vào một hệ thống với user “chùa” đó. Chỉ khi đã an toàn trong hệ thống, người tấn công sẽ tiến hành việc getadmin, ăn cắp file chứa password để giải mã... và ... chắc các bạn cũng đoán được phải không??????
Phần 2 :
Password có được hệ thống bảo vệ tốt không?????
Đầu tiên tôi xin nói đến công cụ tạo password (password generator), nó sẽ giúp mã hóa password mà bạn nhập vào. Hầu hết các công cụ này sử dụng vài quy tắc mã hóa nào đó. Các bạn có thể tìm được trên Internet một trang web trình bày rất chi tiết các cách mã hóa khác nhau, nhưng đó là việc của bạn, còn trong tài liệu này tôi sẽ chỉ nêu lên một định nghĩa nhỏ và chung nhất cho tất cả các cách mã hóa :
Mã hóa (Cryptography) được định nghĩa là: "một kiểu viết chữ đặc biệt dựa trên khoa học và trí tuệ (the science and study of secret writing)" , hay nói một cách bình dân, đó là cách dữ liệu được bảo vệ (encode) tránh khỏi bàn tay của những người cố ý muốn xem trộm hay phá phách ..., có thể dùng ký tự, chữ số, hay bất cứ phương thức nào, sao cho chỉ có những người thực sự (chứ không phải là hacker) biết cách mới có thể xem được nội dung thực sự của nó.
Có hai loại hệ thống mã hóa: đối xứng và không đối xứng. Hệ thống mã hóa đối xứng dùng những từ khóa giống nhau( từ khóa đặc biệt) để mã hóa cũng như giải mã một thông điệp (được xác nhận trong window), không đối xứng sử dụng một từ khóa(từ khóa chung, công khai) để mã hóa và một từ khóa khác (từ khóa riêng, bí mật) để giải mã. Hệ thống mã hóa không đối xứng còn được gọi với một cái tên khác là “Hệ thống mật mã sử dụng từ khóa chung (Public key cryptosytems) (PKC).
Chúng ta hãy lấy một ví dụ về thuật toán chuẩn mã hóa dữ liệu (Data Encryption Standard_DES ) và xem nó hoạt động như thế nào.
Password của bạn được lấy từ một vùng văn bản. Thật không may trong ví dụ này chúng ta lại sử dụng một password mà nhiều người ưa chuộng : Password.
Password này sử dụng một từ khóa để mã hóa một chuỗi giá trị 0 (series of zeros) (64 in all) và sau khi thi hành giá trị sẽ thay đổi . Kết quả sau khi đã được chuyển sang mật mã được ghi vào một văn bản trống . Trong cuộc kiểm tra của chúng tôi trên hệ thống win2000 kết quả cho ra 8846F7EAEE8FB117AD06BDD830B7586C
Cơ bản đó là một cách mã hóa của hệ thống mã hóa đối xứng. Thật thú vị, các thao tác và đoạn encode kia trông có vẻ rất đơn giản nhưng để giải mã chúng lại không đơn giản chút nào. Đây là vài số liệu sẽ giúp các bạn hiểu rõ được quá trình mã hóa trên :
Thuật toán mã hóa (DES) biến đổi một giá trị nhị phân 64 bit thành một giá trị nhị phân 64 bit độc nhất vô nhị dựa trên nền tảng là một biến 56 bit (biến 56-bit này chính là từ khóa) . Nếu việc xử lý thông tin đầu vào hoàn thành(nghĩa là đã được ghi vào bộ nhớ) và nếu cái biến 56 bit được chọn một cách ngẫu nhiên (random) thì không có một kỹ thuật nào tốt hơn là là thử tất cả các từ khóa có thể dùng để nhập và xuất trong DES nghĩa là các giá trị mà biến 56 bit kia có thể có (nếu tôi không nhầm thì có 70.000.000.000.000.000 trường hợp) , chắc chắn bạn sẽ tìm ra. Tính khả thi chỉ có nếu đó là một từ khóa mặc định, nhưng điều này rất khó sảy ra trong một thế giới đầy rẫy cạm bẫy ngày nay.
70 triệu tỷ có thể là một con số quá lớn và tưởng chừng như không thể nào crack được, nhiều hệ thống bảo mật còn sử dụng từ khóa lên đến 128 bit . Nhưng kết luận này chỉ có thể đúng trong chừng mực nào đó thôi bởi vì dù có khó khăn đến đâu, không có gì có thể cản trở chúng ta phải không các bạn
Phần 3 :
Sự phân tích so sánh là một kỹ thuật đã giải quyết hầu hết các vấn đề khi crack một password. Vì từ khóa mã hóa chỉ có một, cách dễ nhất và đơn giản nhất để crack từ khoá mà chúng ta chưa biết đó là tự mã hóa những ký tự khác nhau với những từ khóa có thể rồi so sánh chúng với kết quả tìm được, ở ví dụ phần 2 kết quả là :
8846F7EAEE8FB117AD06BDD830B7586C
Và đây là tất cả công việc chúng ta phải làm, lấy một từ điển mà nội dung của nó là một danh sách khổng lồ các từ, có lẽ nó ở đây:
ftp://ftp.cerias.purdue.edu/pub/dict/
Từ điển này muốn sử dụng phải có một chương trình dùng để crack một loại password nào đó (theo một loại mã hóa nhất định) mà ta gọi là password cracker.
Password cracker sẽ chạy từ đầu đến cuối từ điển, lấy từng từ, mã hóa so sánh với mớ lằng nhằng trên. Nếu có một từ nào khớp thì bạn có đến 90% thành công. Trông thì có vẻ rất lâu nhưng chắc các bạn cũng biết là máy móc làm việc nhanh hơn con người đến mức nào rồi chứ ?!?
Tôi xin giới thiệu với các bạn một chương trình crack password nổi tiếng L0pht crack. Đây là chương trình số một dùng để crack password của WindowsNT/2000
Bài viết của Windak
0 nhận xét:
Đăng nhận xét