NGHIÊN CỨU CÁC PHƯƠNG PHÁP BẢO MẬT ỨNG DỤNG WEB XÂY DỰNG TRÊN MÔI TRƯỜNG .NET FRAMEWORK - Pdf 34

1

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
---------------------------------------

Phạm Thị Thuý Quỳnh

NGHIÊN CỨU CÁC PHƯƠNG PHÁP BẢO MẬT ỨNG DỤNG WEB XÂY
DỰNG TRÊN MÔI TRƯỜNG .NET FRAMEWORK

Chuyên ngành: Truyền dữ liệu và mạng máy tính
Mã số: 60.48.15

TÓM TẮT LUẬN VĂN THẠC SĨ

HÀ NỘI - 2012


2

Luận văn được hoàn thành tại:
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

Người hướng dẫn khoa học: PGS.TS. Nguyễn Linh Giang

Phản biện 1: PGS.TS. Trịnh Nhật Tiến
Phản biện 2: PGS.TS. Đào Thanh Tĩnh

Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công
nghệ Bưu chính Viễn thông
Vào lúc:

- Đối tượng nghiên cứu: các ứng dụng web được xây dựng trên môi trường .NET
- Phạm vi nghiên cứu: chỉ nghiên cứu một cách tổng quát các lỗ hổng bảo mật web
hiện nay và các biện pháp khắc phục. Nghiên cứu các kỹ thuật bảo mật của Net.
Framework.
4. Phương pháp nghiên cứu:
- Khảo sát thực tế: tìm hiểu trên một số lượng người tham gia sử dụng các ứng dụng
web cụ thể.
- Các phương pháp phân tích, đánh giá.
- Dùng thực nghiệm để kiểm tra một số biện pháp bảo mật ứng dụng web thường dùng
hiện nay.
- Thiết kế trực tiếp một demo chương trình bảo mật cụ thể để rút ra nhận xét, kinh
nghiệm.


2

CHƯƠNG 1: TỔNG QUAN
1.1. Ứng dụng web
Là một ứng dụng chủ/ khách sử dụng giao thức HTTP để tương tác với người dùng
hay hệ thống khác.
Một ứng dụng web thường có kiến trúc gồm:
Lớp trình bày: lớp này có nhiệm vụ hiển thị dữ liệu cho người dùng, ngoài ra còn có
thêm các ứng dụng tạo bố cục cho trang web.
Lớp ứng dụng: là nơi xử lý của ứng dụng Web. Nó sẽ xử lý thông tin người dùng yêu
cầu, đưa ra quyết định, gửi kết quả đến “lớp trình bày”. Lớp này thường được cài đặt
bằng các kỹ thuật lập trình như CGI, Java, .NET, PHP hay ColdFusion, được triển khai
trên các trình chủ như IBM WebSphere, WebLogic, Apache, IIS…
Lớp dữ liệu: thường là các hệ quản trị dữ liệu (DBMS) chịu trách nhiệm quản lý các
file dữ liệu và quyền sử dụng.


 Khảo sát và đánh giá
 Khám phá và thâm nhập
 Vượt quyền
 Duy trì kết nối
 Từ chối dịch vụ.
Một số kỹ thuật tấn công và cách bảo vệ
 Kiểm soát truy cập web
 Chiếm hữu phiên làm việc
 Lợi dụng các thiếu sót trong nhập dữ liệu
 Để lộ thông tin
 Chiếm hữu dịch vụ

2.3. Bảo vệ ứng dụng web trên .Net Framework
Hiện nay các ứng dụng web xây dựng trên môi trường . Net Framework khá
nhiều và được sử dụng rộng rãi. Vì vậy việc bảo vệ an toàn cho các ứng dụng web này
là hết sức cần thiết. Microsoft .Net Framework cung cấp nhiều kỹ thuật và nhiều thư
viện giúp chúng ta xây dựng mã và tạo các ứng dụng Web được an toàn. Các kỹ thuật
chính được sử dụng là Role-based security và Code access security.


4

2.3.1. Role-based security
Bảo mật Role based trong .NET Framework cho phép một ứng dụng Web tạo
các quyết định bảo mật dựa theo đặc tính nhận dạng hoặc các vai thành viên của người
dùng giao tác với ứng dụng. Nếu ứng dụng của chúng ta sử dụng xác thực Windows
thì một vai là một nhóm Windows. Nếu ứng dụng của chúng ta sử dụng các dạng xác
thực khác thì một vai là một ứng dụng được định nghĩa và người dùng, chi tiết vai
được giữ trong SQL Server hay các nơi lưu trữ người dùng trong Active Directory.
Role-based security bao gồm các yếu tố sau:



System.Web.Security



System.Security.Cryptography



System.Security.Principal



System.Security.Policy



System.Security.Permissions


5

2.3.4. Xây dựng các gói assembly an toàn

2.3.4.1. Hiểm hoạ và biện pháp phòng chống:
Hiểu các mối đe doạ và các kiểu tấn công chung giúp chúng ta nhận ra các
phương án phòng chống tương ứng và cho phép chúng ta xây dựng các gói assemblies
an toàn và vững chắc hơn. Các mối đe doạ chính:
 Truy cập không được chứng thực hoặc sự vượt quyền, hoặc cả hai.

được quản lý. Các ứng dụng Enterprise Services bao gồm một hay nhiều các thành
phần dịch vụ, đó là các lớp được quản lý dẫn xuất từ System. EnterpriseServices.
Serviced Component.
2.4.1. Các mối hiểm hoạ và biện pháp phòng chống
Các mối hiểm hoạ bao gồm:
 Truy cập trái phép
 Sự uỷ quyền không được ràng buộc
 Phơi bày dữ liệu cấu hình.


Sự từ chối.

2.4.2. Các lưu ý khi thiết kế
Bao gồm:
 Chứng thực dựa vào vai


Bảo vệ các dữ liệu nhạy cảm



Kiểm tra các yêu cầu



Kiểu kích hoạt ứng dụng



Các giao tác


2.5.2. Các lưu ý khi thiết kế
Bao gồm:
 Yêu cầu xác thực
 Yêu cầu tính riêng tư và toàn vẹn
 Các đặc tính truy nhập tài nguyên
 An toàn truy nhập mã
2.5.3. Một số vấn đề quan trọng trong kỹ thuật
Kiểm tra giá trị đầu vào
Xác thực
Chứng thực
Chứng thực phương thức Web


8

CHƯƠNG 3: BẢO MẬT TRÊN ỨNG DỤNG ASP.NET.
3.1. Các công nghệ thực thi trong ASP.NET
ASP.NET
ASP.NET được sử dụng để thực thi các dịch vụ người dùng. ASP.NET cung cấp một
kiến trúc có thể bổ xung mà có thể được dùng để xây dựng các trang Web.
Enterprise Services
Cung cấp các dịch vụ mức hạ tầng để thực thi các ứng dụng. Các dịch vụ này bao gồm
các giao dịch phân tán và các dịch vụ quản lý tài nguyên.
Web Services
Cho phép trao đổi dữ liệu và sự triệu gọi từ xa của ứng dụng bằng cách sử dụng các
trao đổi thông báo SOAP để truyền dữ liệu qua Firewall và giữa các hệ thống hỗn hợp.
.NET Remoting
Cung cấp khung làm việc cho việc truy cập các đối tượng phân tán.
ADO.NET and Microsoft® SQL Server™ 2000

 Bảo vệ các thông tin đăng nhập và các thẻ xác thực
 Lỗi bảo mật
 Xem xét về chứng thực tập trung
 Đặt các điều khiển Web và các điều khiển người dùng trong các gói assemblies
riêng biệt

3.3. Một số kỹ thuật và hiểm hoạ điển hình
3.3.1. Kiểm tra giá trị đầu vào
3.3.2. Cross-Site Scripting
Các tấn công XSS khám phá các lỗ hổng trong kiểm tra trang Web bằng cách
nhúng đoạn mã từ phía client. Đoạn mã này sau đó được gửi trở về một người dùng mà
không nghi ngờ gì và được thực thi bởi trình duyệt.


10

3.3.3. Xác thực
Xác thực yếu nảy sinh nguy cơ giả dạng đặc tính nhận dạng. Nếu các thông tin
đăng nhập của người dùng rơi vào tay kẻ xấu, kẻ tấn công có thể giả dạng đặc tính nhận
dạng của người dùng và đạt được truy cập tới ứng dụng.
3.3.4. Chứng thực
Sử dụng authorization để điều khiển truy cập tới các thư mục, các trang Web
riêng, các lớp trang và các phương thức.

3.4. Mô phỏng ứng dụng web sử dụng các biện pháp bảo mật của .Net
Framework.
3.4.1. Bài toán
website bán sách( thanh toán qua mạng) có các kỹ thuật bảo mật.

3.4.1.1.Mô hình hoá chức năng

}
Trong Registry:
//Ghi xâu mã hoá vào Registry.
private void btnWriteRegistryData_Click(object sender, System.EventArgs e)
{
// tao registry key va values
RegistryKey rk = Registry.LocalMachine.OpenSubKey("Software",true);
rk = rk.CreateSubKey("WebUI");
rk.SetValue("connectionString",txtEncryptedString.Text.Trim().ToString());
MessageBox.Show("The data has been successfully written to the registry");
}
//Giai ma xau ket noi lay tu Registry
public static string GetConnectionString()
{
RegistryKey rk = Registry.LocalMachine.OpenSubKey(
@"Software\TestApplication",false);
string EncryptedString = (string)rk.GetValue("connectionString");
return Decrypt(EncryptedString);}


12

3.4.4. Đánh giá
Chương trình mô phỏng đã thực hiện được các yêu cầu về bảo mật mà bài toán đã đặt
ra sử dụng các công cụ hỗ trợ của Asp.Net.
-

Tự xác định được các hành động tấn công XSS

-


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status