Luận văn Ứng dụng kỹ thuật bảo mật trong Microsoft .net vào hệ thống quản lý và luân chuyển văn bản nội bộ tại GPBank
Bạn đang xem 30 trang mẫu của tài liệu "Luận văn Ứng dụng kỹ thuật bảo mật trong Microsoft .net vào hệ thống quản lý và luân chuyển văn bản nội bộ tại GPBank", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
luan_van_ung_dung_ky_thuat_bao_mat_trong_microsoft_net_vao_h.pdf
Nội dung tài liệu: Luận văn Ứng dụng kỹ thuật bảo mật trong Microsoft .net vào hệ thống quản lý và luân chuyển văn bản nội bộ tại GPBank
- ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN MẠNH ỨNG DỤNG KỸ THUẬT BẢO MẬT TRONG MICROSOFT .NET VÀO HỆ THỐNG QUẢN LÝ VÀ LUÂN CHUYỂN VĂN BẢN NỘI BỘ TẠI GPBANK LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2019
- ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRẦN MẠNH ỨNG DỤNG KỸ THUẬT BẢO MẬT TRONG MICROSOFT .NET VÀO HỆ THỐNG QUẢN LÝ VÀ LUÂN CHUYỂN VĂN BẢN NỘI BỘ TẠI GPBANK Ngành: Công nghệ thông tin Chuyên ngành: Kỹ Thuật Phần Mềm Mã số: 8480103.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS TRƯƠNG NINH THUẬN Hà Nội – 2019
- 1 LỜI CẢM ƠN Đầu tiên, tôi xin bày tỏ lòng cảm ơn chân thành và sâu sắc nhất đến PGS.TS Trương Ninh Thuận vì sự hướng dẫn và chỉ bảo tận tình cùng với những định hướng, những lời khuyên, những kiến thức vô cùng quý giá của Thầy trong quá trình em theo học cũng như làm luận văn tốt nghiệp. Tôi xin được gửi lời cảm ơn tới các Thầy Cô trong khoa Công nghệ thông tin - trường Đại học Công Nghệ - Đại học Quốc gia Hà Nội nói chung cũng như các thầy cô trong bộ môn Công nghệ Phần mềm nói riêng đã tận tình giảng dạy, trang bị cho tôi những kiến thức quý báu trong suốt quá trình tôi học tập tại khoa. Đây cũng chính là tiền đề để tôi có được những kiến thức cần thiết để hoàn thiện luận văn này. Cuối cùng, tôi cũng xin được gửi lời cảm ơn chân thành đến các anh chị em đồng nghiệp cũng như gia đình, bạn bè, người thân đã giúp đỡ tôi cả về vật chất lẫn tinh thần để tôi hoàn thành được luận văn này. Mặc dù đã rất cố gắng nhưng luận văn chắc chắn không tránh khỏi những thiếu sót, tôi rất mong nhận được những ý kiến đánh giá và phê bình từ phía các Thầy Cô để luận văn được hoàn thiện hơn. Tôi xin chân thành cảm ơn! Hà nội, tháng 05 năm 2019 Học viên Trần Mạnh
- 2 LỜI CAM ĐOAN Tôi xin cam đoan luận văn tốt nghiệp với đề tài “Ứng dụng kỹ thuật bảo mật trong Microsoft .NET vào Hệ thống quản lý và luân chuyển văn bản nội bộ tại GPBank” này là công trình nghiên cứu của riêng tôi dưới sự hướng dẫn của PGS.TS Trương Ninh Thuận. Các kết quả tôi trình bày trong luận văn là hoàn toàn trung thực và chưa từng được được nộp như một khóa luận, luận văn hay luận án tại trường Đại học Công Nghệ - Đại học Quốc Gia Hà Nội hoặc bất kỳ trường đại học nào khác. Tôi đã trích dẫn đầy đủ các tài liệu tham khảo, các công trình nghiên cứu liên quan ở trong nước và quốc tế trong phần tài liệu tham khảo. Ngoại trừ các tài liệu tham khảo này, luận văn này hoàn toàn là công việc của riêng tôi. Nếu có bất cứ phát hiện nào về sự gian lận sao chép tài liệu, công trình nghiên cứu của tác giả khác mà không ghi rõ trong phần tài liệu tham khảo, tôi xin chịu hoàn toàn trách nhiệm về kết quả luận văn của mình. Hà nội, tháng 05 năm 2019 Học viên Trần Mạnh
- 3 MỤC LỤC LỜI CẢM ƠN .................................................................................................................. 1 LỜI CAM ĐOAN ............................................................................................................ 2 MỤC LỤC ....................................................................................................................... 3 DANH SÁCH KÝ HIỆU, CHỮ VIẾT TẮT ................................................................... 6 DANH SÁCH HÌNH VẼ ................................................................................................. 7 DANH SÁCH BẢNG ...................................................................................................... 9 Chương 1: Giới thiệu ..................................................................................................... 10 1.1. Tính cấp thiết của đề tài ...................................................................................... 10 1.2. Mục tiêu và phạm vi nghiên cứu ......................................................................... 11 1.3. Hướng nghiên cứu và cách giải quyết ................................................................. 11 1.4. Cấu trúc của luận văn .......................................................................................... 12 Chương 2: TỔNG QUAN VỀ BẢO MẬT HỆ THỐNG PHẦN MỀM ........................ 13 2.1. Sự cần thiết đối với bảo mật máy tính ................................................................ 13 2.2. Các khái niệm cơ bản .......................................................................................... 13 2.2.1. Lỗ hổng bảo mật ........................................................................................... 13 2.2.2. Khai thác lỗ hổng .......................................................................................... 14 2.2.3. Nguy cơ và rủi ro .......................................................................................... 14 2.2.4. Tấn công ....................................................................................................... 15 2.2.5. Hacker ........................................................................................................... 16 2.3. Các lỗ hổng phần mềm quan trọng ..................................................................... 16 2.3.1. SQL Injection ................................................................................................ 16 2.3.2. OS Command Injection ................................................................................ 17 2.3.3. Buffer overflow ............................................................................................ 17 2.4. Các kiểu tấn công ................................................................................................ 17 2.4.1. Tấn công Brute-Force ................................................................................... 17 2.4.2. Tấn công xác thực ......................................................................................... 18 2.4.3. Tấn công giả mạo .......................................................................................... 19 2.4.4. Tấn công từ chối dịch vụ .............................................................................. 20 2.4.5. Tấn công cuộc gọi thủ tục từ xa (Remote Procedure Call attack) ................ 20 2.4.6. Tấn công tiêm mã (Code injection) ............................................................. 20 2.5. Lập trình bảo mật ................................................................................................ 20 2.5.1. Các thuộc tính bảo mật ................................................................................. 20 2.5.2. Lập trình an toàn ........................................................................................... 22
- 4 2.6. Kết luận ............................................................................................................... 22 Chương 3: BẢO MẬT HỆ THỐNG PHẦN MỀM TRONG .NET .............................. 23 3.1. Tổng quan kiến trúc bảo mật hệ thống phần mềm .............................................. 23 3.1.1. Vòng đời phát triển ....................................................................................... 23 3.1.2. Phân tích yêu cầu bảo mật ............................................................................ 24 3.1.3. Thiết kế bảo mật ........................................................................................... 25 3.1.4. Đánh giá bảo mật .......................................................................................... 29 3.1.5. Kiểm thử bảo mật ......................................................................................... 30 3.2. Bảo mật trong .NET ............................................................................................ 32 3.2.1. .NET Framework .......................................................................................... 32 3.2.2. .NET Runtime security ................................................................................. 34 3.2.3. Kiến trúc bảo mật .NET ................................................................................ 34 3.2.4. Thư viện bảo mật trong .NET ....................................................................... 45 3.3. Một số kiểu tấn công ứng dụng Web .................................................................. 47 3.3.1. SQL Injection ................................................................................................ 48 3.3.2. Cross-site scripting (XSS) ............................................................................ 48 3.3.3. HTTP Harvesting .......................................................................................... 49 3.4. Kết luận ............................................................................................................... 49 Chương 4: MỘT MÔ HÌNH ỨNG DỤNG KỸ THUẬT BẢO MẬT TRONG MICROSOFT .NET TẠI GPBANK ............................................................................. 50 4.1. Mô tả bài toán ...................................................................................................... 50 4.1.1. Mục đích ....................................................................................................... 50 4.1.2. Phạm vi ......................................................................................................... 50 4.1.3. Yêu cầu cụ thể .............................................................................................. 51 4.1.4. Giải pháp ....................................................................................................... 52 4.2. Phân tích nghiệp vụ ............................................................................................. 52 4.2.1. Mô tả chức năng ........................................................................................... 52 4.2.2. Quy trình luân chuyển yêu cầu chuyển tiền ................................................. 53 4.2.3. Biểu đồ ca sử dụng ....................................................................................... 56 4.2.4. Biểu đồ lỗ hổng ca sử dụng .......................................................................... 60 4.2.5. Các Module chức năng hệ thống .................................................................. 60 4.3. Thiết kế hệ thống ................................................................................................. 61 4.3.1. Mô hình tổng thể hệ thống ............................................................................ 61 4.3.2. Mô hình chức năng ....................................................................................... 61 4.3.3. Kiến trúc hệ thống ........................................................................................ 62
- 5 4.4. Xây dựng hệ thống thử nghiệm ........................................................................... 62 4.4.1. Môi trường cài đặt, triển khai ....................................................................... 62 4.4.2. Màn hình giao diện ....................................................................................... 62 4.4.3. Đánh giá khả năng an toàn và bảo mật của hệ thống ................................... 64 4.4.4. Một số Test case về an toàn và bảo mật của hệ thống .................................. 72 4.5. Kết luận ............................................................................................................... 74 Chương 5: KẾT LUẬN ................................................................................................. 75 TÀI LIỆU THAM KHẢO ............................................................................................. 76
- 6 DANH SÁCH KÝ HIỆU, CHỮ VIẾT TẮT Ký hiệu Thuật ngữ Ý nghĩa CNTT Công nghệ thông tin Code Mã (trong phần mềm) Client Máy trạm CN/PGD Chi nhánh/Phòng giao dịch DDoS Distributed Denial of Service Tấn công từ chối dịch vụ DoS Denial of Service Từ chối dịch vụ GPBank Ngân hàng TM TNHH MTV Dầu Khí Toàn Cầu Hacker Tin tặc HĐH Hệ điều hành HTTP Hypertext Transfer Protocol Giao thức truyền siêu văn bản HTTPS Hypertext Transfer Protocol Bảo mật giao thức truyền siêu Secure văn bản NTFS Window NT File System Hệ thống file Window Server Máy chủ SSL Secure Socket Layer Bảo mật lớp cổng TSC Trụ sở chính TSL Transport Layer Securrity Bảo mật lớp vận chuyển TT 18/2018 Thông tư số 18/2018/TT- NHNN ngày 21/08/2018 Quy định về an toàn hệ thống thông tin trong hoạt động Ngân hàng
- 7 DANH SÁCH HÌNH VẼ Hình 2.1: Tấn công chủ động. ....................................................................................... 15 Hình 2.2: Tấn công thụ động. ........................................................................................ 16 Hình 3.1: Các bước xây dựng một hệ thống bảo mật. ................................................... 23 Hình 3.2: Xác định quyền dựa trên vai trò của người dùng. ......................................... 28 Hình 3.3: Bảo mật ứng dụng web .NET. ....................................................................... 35 Hình 3.4: Cơ chế degest gửi password. ......................................................................... 36 Hình 3.5: Ví dụ cài đặt file web.config. ........................................................................ 38 Hình 3.6: Ví dụ về cài đặt xác thực Forms. ................................................................... 39 Hình 3.7: Ví dụ về cài đặt chứng thực. .......................................................................... 40 Hình 3.8: Các dịch vụ bảo mật ASP.NET. .................................................................... 41 Hình 3.9: Cấu hình xác thực Token. .............................................................................. 43 Hình 3.10: Cấu hình xác thực PKI X.509 Certificate. .................................................. 43 Hình 3.11: Kiến trúc bảo mật SQL Server. ................................................................... 44 Hình 3.12: Mã hóa và giải mã với 1 khóa. .................................................................... 45 Hình 3.13a: Mã hóa với Public key và giải mã với Private key. ................................... 46 Hình 3.13b: Mã hóa với Private key và giải mã với Public key.................................... 47 Hình 4.1: Quy trình tạo yêu cầu chuyển tiền. ................................................................ 54 Hình 4.2: Quy trình kiểm tra, xác nhận yêu cầu. ........................................................... 55 Hình 4.3: Ca sử dụng các module trong hệ thống. ........................................................ 57 Hình 4.4: Ca sử dụng Quản lý phòng ban. .................................................................... 57 Hình 4.5: Ca sử dụng Quản lý khóa ký. ........................................................................ 58 Hình 4.6: Ca sử dụng Quản lý luân chuyển yêu cầu chuyển tiền. ................................. 58 Hình 4.7: Ca sử dụng Thống kê – báo cáo. ................................................................... 59 Hình 4.8: Ca sử dụng Quản lý người dùng. ................................................................... 59 Hình 4.9: Ca sử dụng Cấu hình hệ thống. ..................................................................... 60 Hình 4.10: Lỗ hổng ca sử dụng. .................................................................................... 60 Hình 4.11: Mô hình tổng thể hệ thống. ......................................................................... 61 Hình 4.12: Mô hình chức năng. ..................................................................................... 61 Hình 4.13: Kiến trúc hệ thống. ...................................................................................... 62 Hình 4.14: Giao diện đăng nhập hệ thống. .................................................................... 63 Hình 4.15: Giao diện nhập yêu cầu chuyển tiền. ........................................................... 63 Hình 4.16: Giao diện xác nhận yêu cầu chuyển tiền. .................................................... 64 Hình 4.17: Thiết kế bảng các tham số hệ thống cấu hình mật khẩu người sử dụng. .... 65 Hình 4.18: Thiết kế cấu hình thông tin User. ................................................................ 65
- 8 Hình 4.19: Mã hóa mật khẩu lưu vào Cơ sở dữ liệu. .................................................... 66 Hình 4.20: Sử dụng Store procedure xác thực người dùng. .......................................... 66 Hình 4.21: Sử dụng Validation control, giới hạn độ dài và hủy bỏ Autocomplete. ...... 67 Hình 4.22: Thiết lập phòng chống tấn công Cross-Site Scripting. ................................ 67 Hình 4.23: Mã hóa xâu kết nối Cơ sở dữ liệu trong file web.config. ............................ 68 Hình 4.24: Mã xâu kết nối Cơ sở dữ liệu lưu vào Registry........................................... 69 Hình 4.25: Cấu hình bảo mật trong file web.config. ..................................................... 69 Hình 4.26: Cấu hình ghi nhật ký. .................................................................................. 70 Hình 4.27: Tạo mã TestKey với độ dài 8 ký tự. ............................................................ 70 Hình 4.28a: Mã hóa file sử dụng thư viện Rfc2898DeriveBytes. ................................. 71 Hình 4.28b: Giải mã file sử dụng thư viện Rfc2898DeriveBytes. ................................ 71