« Home « Kết quả tìm kiếm

Khôi phục mật khẩu người dùng của hệ thống quản trị nội dung Dotnetnuke


Tóm tắt Xem thử

- 0 MỤC LỤC CHƢƠNG MỞ ĐẦU CHƢƠNG 1: HỆ QUẢN TRỊ NỘI DUNG DOTNETNUKE .
- Giới thiệu hệ quản trị nội dung DotNetNuke .
- Cơ chế bảo vệ mật khẩu ngƣời dùng trong DotNetNuke .
- Sơ lƣợc về ASP .NET Membership.
- Phƣơng thức lƣu trữ mật khẩu của ASP.NET Membership.
- Các hàm băm thƣờng dùng.
- Hàm băm MD5.
- 19 CHƢƠNG 2: HỒI PHỤC MẬT KHẨU DOTNETNUKE .
- Sơ lƣợc về phƣơng pháp hồi phục mật khẩu cho DNN .
- Phân tích yêu cầu cho hệ thống hồi phục mật khẩu .
- Kiến trúc hệ thống hồi phục mật khẩu .
- Thiết kế các thành phần của hệ thống hồi phục mật khẩu .
- Tìm kiếm mật khẩu tƣơng ứng mã băm MD5, SHA1 trên CPU.
- Tìm kiếm mật khẩu tƣơng ứng mã băm MD5, SHA1 trên GPU.
- Một số giao diện hệ thống.
- Đăng nhập hệ thống.
- Giao diện chính.
- Giao diện theo dõi tài nguyên hệ thống.
- Danh sách các tác vụ đã thực hiện giải mã SHA1.
- Thực hiện tác vụ mới.
- Thông tin ngƣời dùng.
- Qui trình làm việc của thao tác Khởi tạo tác vụ.
- Qui trình làm việc của thao tác Theo dõi tác vụ.
- Qui trình làm việc của thao tác Hủy tác vụ.
- Lưu trữ thông tin người dùng trên DNN.
- Một thao tác MD5—MD5 bao gồm 64 tác vụ thế này, nhóm trong 4 vòng, mỗi vòng 16 tác vụ.
- Kiến trúc hệ thống hồi phục mật khẩu.
- Giao diện đăng nhập hệ thống.
- Giao diện quản lý tài nguyên.
- Giao diện quản lý tác vụ.
- Giao diện tạo lập tác vụ mới.
- Giao diện thay đổi thông tin người dùng.
- Giao diện quản lý tài khoản.
- Hình 19: Mật khẩu 6,8,10 ký tự của hàm băm SHA1 cho việc thử nghiệm.
- CHƢƠNG MỞ ĐẦU DotNetNuke (DNN) là hệ quản trị nội dung mã nguồn mở viết bằng ngôn ngữ lập trình VB.NET trên nền tảng ASP.NET.
- DNN đƣợc đánh giá là một trong những hệ thống quản trị nội dung mã nguồn mở .NET phát triển mạnh nhất hiện nay với số lƣợng thành viên đông đảo và phát triển rất nhanh trên khắp thế giới, trong đó có cả Việt Nam (ví dụ cộng đồng NukeViet).
- DNN hiện đƣợc nhiều tổ chức sử dụng nhƣ công cụ để quảng bá, trao đổi thông tin.
- Cũng giống nhƣ nhiều hệ thống quản trị nội dung khác, các thông tin trong hệ thống có thể dễ dàng thu thập nếu nhƣ ngƣời tấn công thu đƣợc thông tin mật khẩu của ngƣời dùng.
- Để bảo vệ, DNN mã hóa mật khẩu ngƣời dùng bằng một mã băm, lƣu trữ chúng trên cơ sở dữ liệu và dùng các mã băm này làm cơ sở để đối sánh chúng với mã băm của các mật khẩu đƣợc nhập vào khi ngƣời dùng đăng nhập.
- Bằng cách đó, kể cả khi ngƣời tấn công thâm nhập đƣợc vào hệ thống, thu đƣợc các mã băm mật khẩu, cũng khó có thể dùng chúng để lấy đƣợc các nội dung thông tin cần thiết.
- Khi đó, chỉ có một khả năng để làm đƣợc việc này là dựa trên mã băm, dò ngƣợc lại để tìm ra mật khẩu đúng của ngƣời dùng.
- Mục tiêu chính của luận văn là việc nghiên cứu khả năng bảo mật của DNN thông qua việc thử nghiệm hồi phục mật khẩu ngƣời dùng của DNN dựa trên các mã băm đã thu thập.
- Công cụ chính để thực hiện việc này là các hệ thống tính toán hiệu năng cao, có sử dụng các bộ xử lý đồ họa đa dụng có năng lực tính toán lớn.
- Việc nghiên cứu khả năng bảo mật của các hệ thống quản trị nội dung nhƣ DNN đóng vai trò quan trọng trong việc quyết định ứng dụng công cụ này cho việc quảng bá và trao đổi thông tin.
- Các nhiệm vụ chính của đề tài bao gồm: 4  Thiết kế, xây dựng, và thử nghiệm hệ thống hồi phục mật khẩu của hệ quản trị nội dung DNN sử dụng các hệ thống tính toán hiệu năng cao có trang bị bộ xử lý đồ họa đa dụng.
- CHƢƠNG 1: Giới thiệu Hệ quản trị nội dung DotNetNuke  CHƢƠNG 2: Trình bày thiết kế của hệ thống hồi phục mật khẩu cho DotNetNuke  CHƢƠNG 3: Thử nghiệm và đánh giá 5 CHƢƠNG 1: HỆ QUẢN TRỊ NỘI DUNG DOTNETNUKE Chƣơng này tập trung giới thiệu hệ quản trị nội dung DotNetNuke (DNN), đặc biệt là cơ chế lƣu trữ và bảo vệ mật khẩu ngƣời dùng của DNN.
- Giới thiệu hệ quản trị nội dung DotNetNuke 1.1.
- Khái niệm DotNetNuke là một hệ thống quản lý nội dung mã nguồn mở viết bằng ngôn ngữ lập trình VB.NET trên nền tảng ASP.NET, hệ quản trị cơ sở dữ liệu có thể là MS SQL server hoặc Oracle, tùy biến dựa trên Skin và Module.
- DNN đƣợc đánh giá là một trong những hệ thống quản trị nội dung mã nguồn mở .NET phát triển mạnh nhất hiện nay với số lƣợng thành viên đông đảo và phát triển rất nhanh trên khắp thế giới.
- Các tính năng cơ bản của DotNetNuke  Hệ thống quản lý nội dung trực quan.
- DNN quản lý nội dung theo menu tình huống, mỗi module sẽ có một menu tƣơng ứng xuất hiện ngay tại một biểu tƣợng bên trái tiêu đề của Module.
- Ngƣời sử dụng sẽ dễ dàng tìm ra các chức năng điều khiển hay quản trị của module này một cách nhanh chóng tƣơng ứng với quyền quản trị của mình.
- Các module đƣợc hiển thị và phân bố trên giao diện dễ dàng nhờ vào các từ khoá định trƣớc trên các vùng khác nhau của giao diện.
- Chúng ta có thể di chuyển một module từ khu vực này sang khu vực khác bằng một lệnh trên menu tình huống hoặc dùng cách kéo thả.
- Nội dung thông tin đƣợc soạn thảo trên công cụ đƣợc hỗ trợ với các công cụ thuận tiện và hiện đại nhất: với khả năng chèn Flash file, Movie.
- Cấu trúc site (Site Map) đƣợc quản lý một cách dễ dàng.
- Ngƣời sử dụng có thể thêm một trang mới vào hệ thống và cho phép hoặc không cho phép chúng xuất hiện trên Menu.
- Quản lý giao diện độc lập, linh hoạt 6 - Giao diện đƣợc phát triển riêng độc lập với chƣơng trình, một nhà thiết kế giao diện cho Website có thể làm việc độc lập, chỉ cần một số tiêu chuẩn về giao diện phải tuân thủ, các nhà thiết kế không phải quan tâm nhiều đến vấn đề kỹ thuật của hệ thống, giao diện sau khi làm xong sẽ đƣợc tích hợp nhanh chóng vào hệ thống.
- Hệ thống quản lý giao diện của DNN là một trong những ƣu điểm nổi bật so với các hệ quản trị nội dung khác.
- Do vậy DNN phù hợp cho các Website có yêu cầu giao diện cao và phục vụ công tác đối ngoại cho các doanh nghiệp, tổ chức.
- Quản trị hệ thống với đầy đủ chức năng - Quản lý phân quyền là một trong những chức năng quan trọng của DNN.
- Hệ thống phân quyền của DNN đƣợc cung cấp rất chặt chẽ, cho phép nhà quản trị có thể tạo ra nhiều nhóm quyền (role) khác nhau và sau đó phân công cho ngƣời dùng (user.
- Hệ thống phân quyền của các module có thể tích hợp và phân công thông qua các quyền đã tạo ra của hệ thống.
- do vậy việc phân quyền có thể thực hiện đến từng chức năng nhỏ của module.
- Hệ thống cũng cung cấp sẵn công cụ quản lý thành viên.
- DNN cung cấp công cụ quản lý File/ Folder qua giao diện Admin web với đầy đủ các chức năng nhƣ tạo thƣ mục, Upload, Download, Zip/Unzip cũng nhƣ việc phân quyền truy xuất vào hệ thống.
- Đối với việc quản lý các trang thông tin, hệ thống cũng cho phép khôi phục dữ liệu đã xoá (recylce bin).
- Việc này làm giảm rủi ro trong quản lý nội dung.
- Ngoài ra trong việc quản trị hệ thống, giải pháp này còn cung cấp nhiều chức năng khác nhƣ: thống kê truy cập, quản lý nhật ký truy xuất, quản lý bộ nhớ đệm, thời khoá biểu vận hành của ứng dụng trên DNN, cơ chế cài đặt Module mới thuận tiện và khả năng quản lý nhiều Website thành viên.
- An toàn và bảo mật - Mức ngƣời dùng: Hệ thống đƣợc quản lý phân quyền tập trung và chủ động tạo các quyền, nhóm quyền riêng cho từng phân hệ hoặc toàn bộ website, do 7 đó những thành viên phụ trách phần nào sẽ chỉ có quyền truy xuất thông tin vào phần đó.
- Mức dữ liệu:Mã hoá dữ liệu (Password đƣợc mã hóa theo chuẩn SHA1), Sử dụng SSL(Security Socket Layer) dành cho hệ thống thành viên, đăng nhập.
- Tầng giao diện (Presentation Layer): là những gì có thể nhìn thấy và tác động đƣợc trên bề mặt của trang Web.
- Tầng truy cập dữ liệu (Data Access Layer - DAL): là tầng tƣơng tác trực tiếp đến cơ sở dữ liệu, thực hiện một mục đích cụ thể lên dữ liệu mà tầng BLL đƣa ra nhƣ xử lý các hàm, các yêu cầu liên quan đến việc trích dẫn, cập nhật và xóa nội dung trong cơ sở dữ liệu.
- Cơ chế bảo vệ mật khẩu ngƣời dùng trong DotNetNuke Cũng nhƣ đa số hệ quản trị nội dung (và cả các ứng dụng web) khác, DNN bảo mật theo cơ chế sử dụng tên truy nhập/mật khẩu.
- Ngƣời dùng đƣợc cấp quyền chỉnh sửa nội dung của một hệ thống DNN có thể thông qua tên truy nhập và mật khẩu để đăng nhập và sau đó thực hiện các thao tác theo quyền hạn đƣợc giao.
- Là một hệ thống quản trị nội dung xây dựng trên nền tảng .NET, DNN kế thừa, sử dụng hệ thống quản lý tài khoản và quyền hạn truy nhập có sẵn của .NET (ASP.NET Membership) 2.1.
- Sơ lược về ASP .NET Membership ASP.NET cung cấp một phƣơng thức sẵn có để lƣu trữ tài khoản và chứng thực ngƣời dùng cho mọi ứng dụng trên nền tảng .NET.
- Tạo tài khoản ngƣời dùng và mật khẩu  Lƣu trữ thông tin tài khoản ngƣời dùng và mật khẩu trong một cơ sở dữ liệu Microsoft SQL Server, Active Directory hoặc một cơ sở dữ liệu khác.
- Thực hiện chứng thực bằng giao diện lập trình hoặc thông qua login control.
- Quản lý mật khẩu, bao gồm việc tạo mật khẩu, thay đổi mật khẩu, khởi tạo lại (reset) mật khẩu  Có tính mở - ngƣời dùng có thể bổ sung, thay thế các phƣơng thức quản lý tài khoản có sẵn của ngƣời dùng.
- Phương thức lưu trữ mật khẩu của ASP.NET Membership Thông tin ngƣời dùng và mật khẩu của DNN nói riêng hay các ứng dụng ASP.NET nói chung đƣợc lƣu trữ trên cơ sở dữ liệu theo lƣợc đồ quan hệ sau: Hình 2.
- Lưu trữ thông tin người dùng trên DNN Trong cơ sở dữ liệu này, thông tin ngƣời dùng đƣợc lƣu trữ ở bảng aspnet_Users.
- Do cơ sở dữ liệu ngƣời dùng này có thể phục vụ cho nhiều ứng dụng đồng thời, mỗi bản ghi ngƣời dùng sẽ có một khóa ApplicationID đại diện cho ứng dụng.
- Thông tin cụ thể về ứng dụng đƣợc lƣu trữ trong bảng aspnet_Application.
- Chi tiết thông tin ngƣời dùng đƣợc lƣu trữ trong bảng aspnet_Profile.
- Các vai trò (role) của ngƣời dùng, sử dụng cho hệ thống xác quyền (authorization) đƣợc lƣu trữ ở bảng aspnet_Roles và bảng quan hệ aspnet_UserInRoles.
- 10 Mật khẩu ngƣời dùng cùng với một số thông tin bảo vệ mật khẩu cũng nhƣ một số thông tin hỗ trợ cho việc hồi phục mật khẩu đƣợc lƣu trữ trong bảng aspnet_Membership.
- Một số trƣờng quan trọng trong bảng này bao gồm: Tên trƣờng Ý nghĩa Password Lƣu trữ mật khẩu ngƣời dùng dƣới dạng mã hóa hoặc mã băm PasswordFormat Cách thức lƣu trữ mật khẩu.
- Clear: lƣu trữ nguyên dạng - Encrypted: Mã hóa mật khẩu - Hashed: Băm mật khẩu PasswordSalt Muối của mật khẩu – sử dụng để mã hóa hoặc băm mật khẩu Mật khẩu trong DNN có thể đƣợc lƣu trữ theo ba cách.
- Lƣu trữ nguyên dạng - Mã hóa - Mã băm Tuy nhiên, để bảo vệ an toàn cho mật khẩu, phƣơng pháp lƣu trữ mật khẩu đƣợc khuyến cáo sử dụng là lƣu trữ mã băm của mật khẩu.
- Dễ dàng sinh mã băm từ mật khẩu: từ đó có thể nhanh chóng tạo lập hoặc chúng thực ngƣời dùng - Cực kỳ khó khăn để xác định mật khẩu từ mã băm: để bảo vệ mật khẩu kể cả khi cơ sở dữ liệu bị rò rỉ.
- Các hàm băm thường dùng Về nguyên tắc, ASP.NET Membership cho phép lựa chọn bất kỳ hàm băm nào bằng cách thay thế hoặc ghi đè lên một số phƣơng thức do thƣ viện cung cấp.
- Tuy nhiên các hàm băm thƣờng dùng nhất trong việc lƣu trữ mật khẩu là MD5 và SHA1 (trong đó SHA1 là hàm băm mặc định của ASP.NET Membership).
- Nội dung trong mục này giới thiệu hai hàm băm thƣờng dùng này.
- MD5 chuyển một đoạn thông tin chiều dài thay đổi thành một kết quả chiều dài không đổi 128 bit.
- mỗi vòng gồm có 16 tác vụ giống nhau dựa trên: hàm phi tuyến F, cộng mô đun, và dịch trái.
- Hình 3 mô tả một tác vụ trong một vòng.
- s thay dổi tùy theo từng tác vụ.
- Một thao tác MD5-MD5 bao gồm 64 tác vụ thế này, nhóm trong 4 vòng, mỗi vòng 16 tác vụ Giải thuật MD5 đƣợc thiết kế đạt tốc độ nhanh nhất ở trên các máy tính 32 bit.
- Một chuỗi các bit có thể đƣợc hiểu theo nghĩa nhƣ là một chuỗi các byte, và mỗi nhóm 8 bit đƣợc xem nhƣ một byte với bit MSB (bit cao) đƣợc viết trƣớc

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt