Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)Ứ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ĩ)
ĐẠ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 LỜI CẢM ƠN Đầu tiên, tơi xin bày tỏ lịng cảm ơn chân thành sâu sắc đến PGS.TS Trương Ninh Thuận hướng dẫn bảo tận tình với định hướng, lời khuyên, kiến thức vô quý giá Thầy trình em theo học làm luận văn tốt nghiệp Tôi xin gửi lời cảm ơn tới Thầy Cô 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 thầy mơn Cơng nghệ Phần mềm nói riêng tận tình giảng dạy, trang bị cho kiến thức quý báu suốt q trình tơi học tập khoa Đây tiền đề để tơi có kiến thức cần thiết để hoàn thiện luận văn Cuối cùng, xin gửi lời cảm ơn chân thành đến anh chị em đồng nghiệp gia đình, bạn bè, người thân giúp đỡ vật chất lẫn tinh thần để tơi hồn thành luận văn Mặc dù cố gắng luận văn chắn không tránh khỏi thiếu sót, tơi mong nhận ý kiến đánh giá phê bình từ phía Thầy Cơ để luận văn hồn thiệ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 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 Microsoft NET vào Hệ thống quản lý luân chuyển văn nội GPBank” cơng trình nghiên cứu riêng hướng dẫn PGS.TS Trương Ninh Thuận Các kết tơi trình bày luận văn hoàn toàn trung thực chưa được nộp khóa luận, luận văn hay luận án trường Đại học Công Nghệ - Đại học Quốc Gia Hà Nội trường đại học khác Tơi trích dẫn đầy đủ tài liệu tham khảo, cơng trình nghiên cứu liên quan nước quốc tế phần tài liệu tham khảo Ngoại trừ tài liệu tham khảo này, luận văn hồn tồn cơng việc riêng tơi Nếu có phát gian lận chép tài liệu, cơng trình nghiên cứu tác giả khác mà không ghi rõ phần tài liệu tham khảo, tơi xin chịu hồn tồn trách nhiệm kết luận văn Hà nội, tháng 05 năm 2019 Học viên Trần Mạnh MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC .3 DANH SÁCH KÝ HIỆU, CHỮ VIẾT TẮT DANH SÁCH HÌNH VẼ .7 DANH SÁCH BẢNG Chương 1: Giới thiệu .10 1.1 Tính cấp thiết đề tài 10 1.2 Mục tiêu phạm vi nghiên cứu 11 1.3 Hướng nghiên cứu cách giải 11 1.4 Cấu trúc 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 bảo mật máy tính 13 2.2 Các khái niệm 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 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 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 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 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 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 NET .45 3.3 Một số kiểu 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ả tố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 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 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 .61 4.3.3 Kiến trúc hệ thống 62 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ả an toàn bảo mật hệ thống 64 4.4.4 Một số Test case an toàn bảo mật 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 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 HTTPS Hypertext Transfer Protocol Secure Bảo mật giao thức truyền siêu văn NTFS Window NT File System Hệ thống file Window Máy chủ Server SSL Secure Socket Layer Trụ sở TSC TSL TT 18/2018 Bảo mật lớp cổng Transport Layer Securrity Bảo mật lớp vận chuyển Thông tư số 18/2018/TTNHNN ngày 21/08/2018 Quy định an toàn hệ thống thông tin hoạt động Ngân hàng 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 hệ thống bảo mật .23 Hình 3.2: Xác định quyền dựa vai trò 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ụ cài đặt xác thực Forms .39 Hình 3.7: Ví dụ 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 giải mã với khóa 45 Hình 3.13a: Mã hóa với Public key giải mã với Private key .46 Hình 3.13b: Mã hóa với Private key 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 module 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 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 tham số hệ thống cấu hình mật người sử dụng 65 Hình 4.18: Thiết kế cấu hình thơng tin User 65 Hình 4.19: Mã hóa mật lưu vào Cơ sở 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 hủy bỏ Autocomplete 67 Hình 4.22: Thiết lập phịng chống cơng Cross-Site Scripting 67 Hình 4.23: Mã hóa xâu kết nối Cơ sở liệu file web.config 68 Hình 4.24: Mã xâu kết nối Cơ sở liệu lưu vào Registry 69 Hình 4.25: Cấu hình bảo mật 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 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 62 4.3.3 Kiến trúc hệ thống Người sử dụng Web Application SQL Server Hình 4.13: Kiến trúc hệ thống Các thành phần hệ thống: Người sử dụng: Người sử dụng hệ thống Web Application: triển khai trang frontend hệ thống viết ASP.NET sử dụng web server IIS SQL Server: Lưu trữ sở liệu hệ thống 4.4 Xây dựng hệ thống thử nghiệm 4.4.1 Môi trường cài đặt, triển khai Hệ thống luân chuyển yêu cầu chuyển tiền quốc tế khách hàng xây dựng triển khai tảng công nghệ Microsoft NET, cụ thể công nghệ môi trường cài đặt sau: Hệ điều hành: Window Server 2012 Hệ quản trị sở liệu: MS SQL Server 2014 Cơng nghệ lập trình ứng dụng web: ASP.Net, Entity Framework, Bootrap Nền tảng công nghệ: NET Máy chủ web: IIS Cơng cụ lập trình: Visual Studio 2017 4.4.2 Màn hình giao diện a) Giao diện đăng nhập hệ thống (dành cho Quản trị viên người dùng) Để vào giao diện quản lý, giao diện thực nghiệp vụ người dùng phải thực đăng nhập vào hệ thống Việc đảm bảo người cấp quyền truy cập sử dụng tính hệ thống 63 Hình 4.14: Giao diện đăng nhập hệ thống b) Giao diện nhập yêu cầu chuyển tiền Giao diện hiển thị thông tin cần nhập cho yêu cầu chuyển tiền cho người dùng CN/PGD Hình 4.15: Giao diện nhập yêu cầu chuyển tiền c) Giao diện xác nhận yêu cầu chuyển tiền Giao diện hiển thị thông tin xác nhận yêu cầu chuyển tiền từ CN/PGD cho người dùng phịng Thanh tốn quốc tế 64 Hình 4.16: Giao diện xác nhận yêu cầu chuyển tiền 4.4.3 Đánh giá khả an toàn bảo mật hệ thống Đánh giá khả an toàn bảo mật nhiệm vụ vô quan trọng ứng dụng Hệ thống TMS ứng dụng cài đặt số kỹ thuật bảo mật Microsoft NET để đáp ứng số yêu cầu liên quan đến an toàn bảo mật hệ thống TT 18/2018 Quy định an toàn bảo mật hệ thống CNTT GPBank Dưới kết việc ứng dụng cài đặt: 4.4.3.1 Thiết kế sở liệu đảm bảo yêu cầu bảo mật người dùng a) Thiết kế bảng tham số hệ thống cấu hình mật cho User Bảng 4.1 mơ tả chi tiết tham số đáp ứng yêu cầu bảo mật liên quan đến mật người dùng Thiết kế đáp ứng yêu cầu tốn Hình 4.17 mơ tả thiết kế lưu trữ bảng tham số sở liệu Bảng 4.1: Mơ tả bảng tham số cấu hình mật cho User Tên tham số Giá trị Diễn giải USER_NUMBER_INPUT_INCORRECT_PASWORD Số lần nhập sai mật USER_NUMBER_DÁY_CHANGE_PASSWORD 45 Thời hạn sử dụng mật USER_PASSWORD_MIN_LENGTH Độ dài tối thiểu mật USER_PASSWORD_MAX_LENGTH 15 Độ dài tối đa mật USER_PASSWORD_VALID_POLICY True/False Áp dụng sách mật hay khống 65 Hình 4.17: Thiết kế bảng tham số hệ thống cấu hình mật người sử dụng b) Thiết kế bảng cấu hình thơng tin User Bảng 4.2 mô tả chi tiết thông tin đáp ứng yêu cầu bảo mật liên quan đến người dùng cho phép khai báo thời gian sử dụng ngày, khóa user đăng nhập sai mật khẩu, đăng nhập với phiên làm việc Thiết kế đáp ứng u cầu tốn Hình 4.18 minh họa lưu trữ thông tin User sở liệu Bảng 4.2: Mơ tả bảng tham số cấu hình cho User Tên tham số Kiểu giá trị Diễn giải USER_ID varchar Tên đăng nhập USER_NAME varchar Tên người dùng PASSWORD varchar Mật lưu dạng mã hóa IS_LOCK Bit User bị khóa/khơng khóa IS_LOGIN Bit User đăng nhập/chưa đăng nhập IS_USED Bit User có sử dung/khơng sử dụng Datetime Thời gian đổi mật cuối LAST_CHANGE_PASSWORD START_TIME Time Thời gian bắt đầu ngày làm việc END_TIME Time Thời gian kết thúc ngày làm việc Hình 4.18: Thiết kế cấu hình thơng tin User 66 Kết thực cho thấy thiết kế user thiết kế tham số cấu hình mật người dùng đáp ứng yêu cầu toán yêu cầu Quản lý truy cập TT 18/2018 Quy định an toàn bảo mật hệ thống CNTT GPBank 4.4.3.2 Các thiết lập đảm bảo an tồn cho ứng dụng a) Mã hóa mật người dùng Hình 4.19 mơ tả hàm thực cập nhật mật mã hóa sử dụng thuật toán SHA1 trước lưu vào sở liệu, tránh việc lộ mật lưu dạng cleartext Hình 4.19: Mã hóa mật lưu vào Cơ sở liệu b) Sử dụng Store Procedure Hình 4.20 mô tả hàm thực xác thực người dùng đăng nhập sử dụng Store Procedure, tránh kiểu công SQL Injection ứng dụng web Hình 4.20: Sử dụng Store procedure xác thực người dùng c) Sử dụng cấu hình đảm bảo an tồn Cấu hình trường liệu đầu vào Hình 4.21 mơ tả sử dụng cấu hình control nhập liệu đầu vào cho chức đăng nhập: sử dụng Validation control, đặt giới hạn độ dài liệu nhập vào, hủy tính Autocomplete tên đăng nhập mật đăng nhập 67 Hình 4.21: Sử dụng Validation control, giới hạn độ dài hủy bỏ Autocomplete Cấu hình chống cơng Cross-Site Scripting Hình 4.22 mơ tả cấu hình trang Master Page ASPX để đảm bảo hệ thống an tồn trước cơng Cross-Site Scripting Hình 4.22: Thiết lập phịng chống cơng Cross-Site Scripting Cấu hình thời gian tương tác với hệ thống Để thực ngắt kết nối người sử dụng không tương tác với ứng dụng khoảng thời gian định, sử dụng config sau: window.setTimeout("window.navigate('Logout.asp')", 900000); Kết thực cho thấy thiết lập đáp ứng yêu cầu toán chống công SQL Injection Cross-Site Scripting, mã hóa mật trước lưu vào sở liệu 4.4.3.3 Các thiết lập đảm bảo bảo mật cho ứng dụng a) Xây dựng hệ thống thành lớp riêng biệt TMS: Các lớp giao diện người dùng TMS.DataModel.dll: Thư viện chứa lớp thực truy suất liệu TMS.Security.dll: Thư viện chứa lớp thực tăng cường an ninh, bảo mật TMS.Common.dll: Thư viện chứa lớp tiện ích sử dụng chung 68 b) Mã hóa xâu kết nối sở liệu Sử dụng giải pháp mã hóa RSA để mã hóa xâu kết nối sở liệu trong file Web.config thuật tốn SHA1 mã hóa lưu Registry Trong Web.config: Hình 4.23 mơ tả sử dụng mã hóa RSA để mã hóa xâu kết nối sở liệu Hình 4.23: Mã hóa xâu kết nối Cơ sở liệu file web.config 69 Trong Registry: Mã hóa dựa thuật tốn mã hóa chiều SHA1 Sau mã hóa sử dụng thuật tốn encode Base64 để lưu dạng text Hình 4.24 mơ tả lưu mật mã hóa vào registry Hình 4.24: Mã xâu kết nối Cơ sở liệu lưu vào Registry c) Cấu hình bảo mật web.config Hình 4.25 mơ tả cấu hình bảo mật cho ứng dụng file web.config bao gồm: chế xác thực Form, thời gian timeout phiên làm việc Hình 4.25: Cấu hình bảo mật file web.config 70 d) Cấu hình ghi nhật ký hoạt động hệ thống Hình 4.26 mơ tả cấu hình sử dụng log4net file web.config để ghi lại hoạt động hệ thống file Hình 4.26: Cấu hình ghi nhật ký e) Tạo mã TestKey Hình 4.27 mơ tả hàm thực tạo mã TestKey ký tự từ việc sinh ngẫu nhiên key sử dụng thuật tốn mã hóa chiều SHA256 key sinh ngẫu nhiên liệu đầu vào Hàm sinh TeskKey đảm bảo không trùng với key có hệ thống Hình 4.27: Tạo mã TestKey với độ dài ký tự f) Mã hóa giải mã file PDF Hình 4.28a mơ tả hàm thực mã hóa file chứng từ PDF sử dụng thư viện Rfc2898DeriveBytes, đảm bảo không giải mã khơng thể đọc nội dung file 71 Hình 4.28b mơ tả hàm thực giải mã file chứng từ PDF sử dụng thư viện Rfc2898DeriveBytes, đảm bảo khơng khóa khơng thể giải mã thành cơng file mã hóa trước Hình 4.28a: Mã hóa file sử dụng thư viện Rfc2898DeriveBytes Hình 4.28b: Giải mã file sử dụng thư viện Rfc2898DeriveBytes Kết thực cho thấy thiết lập đáp ứng yêu cầu toán: mã hõa chuỗi kết nối sở liệu, tạo mã TestKey, mã hóa/giải mã file chứng từ PDF, ghi nhật ký hoạt động hệ thống 72 4.4.4 Một số Test case an toàn bảo mật hệ thống a) Các Test case SQL Injection với chức đăng nhập Bảng 4.3: Kết thực Test lỗ hổng SQL Injection Test Case ID Kịch kiểm thử Các bước kiểm thử Dữ liệu kiểm thử Kết dự kiến Kết thực tế Pass/ Fail TU01 Kiểm thử B1: Truy cập đăng nhập đường link với liệu B2: Nhập tên hợp lệ người dùng mật B3: Click vào nút “Đăng nhập” User: manhtr Pass: manh2019 Người Như dùng đăng mong nhập thành đợi công Pass TU02 Kiểm thử đăng nhập với liệu không hợp lệ B1: Truy cập đường link B2: Nhập tên người dùng mật B3: Click vào nút “Đăng nhập” User: 1' or '1' = '1 Pass: 1' or '1' = '1 Người Như dùng đăng mong nhập không đợi thành công Pass TU03 Kiểm thử đăng nhập với liệu không hợp lệ B1: Truy cập đường link B2: Nhập tên người dùng mật B3: Click vào nút “Đăng nhập” User: 1' or '1' = '1'))/* Pass: foo Người Như dùng đăng mong nhập không đợi thành công Pass TU04 Kiểm thử đăng nhập với liệu không hợp lệ B1: Truy cập đường link B2: Nhập tên người dùng mật B3: Click vào nút “Đăng nhập” User: 1' or '1' = '1'))/* Pass: foo Người Như dùng đăng mong nhập không đợi thành công Pass 73 b) Các Test case Cross-Site Cripting Bảng 4.4: Kết thực Test lỗ hổng Cross-Site Scripting Test Case ID Kịch kiểm thử Các bước kiểm thử TU01 Kiểm thử đăng nhập với liệu hợp lệ B1: Truy cập đường link B2: Nhập tên người dùng mật B3: Click vào nút “Đăng nhập” User: manhtr Pass: manh2019 Người Như dùng đăng mong nhập thành đợi công Pass TU02 Kiểm thử đăng nhập với liệu không hợp lệ B1: Truy cập đường link B2: Nhập tên người dùng mật B3: Click vào nút “Đăng nhập” User: alert("Hacked") Pass: manh2019 Người Như dùng đăng mong nhập đợi không thành công Pass TU03 Kiểm thử với thay đổi liệu không hợp lệ đường link B1; Đăng nhập hệ thống B2: Sửa liệu Link: http://localhost:20817/ Hệ thống Như DepartmentManagement không báo mong /ListDepartmanet? lỗi đợi Info=alert(‘HACK’) Pass Dữ liệu kiểm thử Kết dự kiến Kết thực tế Pass/ Fail 74 4.5 Kết luận Như chương giới thiệu toán luân chuyển yêu cầu chuyển tiền quốc tể khách hàng từ PGD/CN đến phòng Thanh toán quốc tế GPBank ứng dụng kỹ thuật bảo mật Microsoft Net trình triển khai ứng dụng môi trường Microsoft Net, thử nghiệm quy trình hệ thống với tính lập u cầu chuyển tiền, ký vào yêu cầu chuyển tiền, mã hóa file chứng từ PDF, kiểm tra xác nhận yêu cầu, giải mã file PDF mã hóa, thống kê khối lượng giao dịch theo đơn vị gửi, theo thời gian gửi theo loại tiền Hệ thống triển khai GPBank nhằm đáp ứng yêu cầu từ phịng Thanh tốn quốc tế thực nghiệp vụ chuyển tiền nước Chương thực thử nghiệm áp dụng kỹ thuật bảo mật NET nhằm đáp ứng phần yêu cầu bảo mật toán, yêu cầu bảo mật TT 18/2018 Quy định an toàn bảo mật hệ thống CNTT GPBank Các thử nghiệm thực bao gồm: thiết kế cài đặt cấu hình mật người dùng, thiết kế cài đặt thông tin người dùng để đáp ứng yêu cầu quản lý truy cập, thực thiết lập chống công SQL Injection Cross-Site Scripting, mã hóa mật trước lưu vào sở liệu, mã hóa chuỗi kết nối cở sở liệu file web.config, tạo mã TestKey, mã hóa/giải mã file chứng từ PDF, ghi nhật ký hoạt động hệ thống 75 Chương 5: KẾT LUẬN Việc triển khai ứng dụng kỹ thuật bảo mật Microsoft NET áp dụng nhiều nhằm đáp ứng yêu cầu ứng dụng CNTT sản xuất kinh doanh Microsoft NET cung cấp đầy đủ cơng cụ kỹ thuật có kỹ thuật bảo mật nhằm đáp ứng yêu cầu xây dựng hệ thống ứng dụng cho doanh nghiệp Sau thời gian tìm hiểu, nghiên cứu tài liệu, tơi hồn thành luận văn với đề tài “Ứng dụng kỹ thuật bảo mật Microsoft NET vào Hệ thống quản lý luân chuyển văn nội GPBank” Luận văn đạt kết sau: Tìm hiểu, nghiên cứu lý thuyết tổng quan bảo mật hệ thống phần mềm, lỗ hổng bảo mật phần mềm kiểu cơng bảo mật lập trình bảo mật Tìm hiểu kiến trúc bảo mật hệ thống phần mềm Tìm hiểu kiến trúc bảo mật kỹ thuật bảo mật Microsoft NET Áp dụng kỹ thuật bảo mật Microsoft NET để đặc tả xây dựng hệ thống “Quản lý luân chuyển văn nội GPBank” Kết nghiên cứu luận văn áp dụng cho việc triển khai ứng dụng sử dụng công nghệ bảo mật Microsoft NET GPBank Hướng phát triển tương lai đề tài: - Tích hợp với hệ thống Corebank để kiểm tra thơng tin khách hàng Tích hợp với hệ thống email nội để xác thực người dùng cán làm việc GPBank Phát triển thêm chức quản lý luân chuyển cho loại hồ sơ theo yêu cầu từ phòng ban nghiệp vụ TSC tuân thủ yêu cầu bảo mật theo TT 18/2018-TT-NHNN Quy định An toàn bảo mật hệ thống CNTT GPBank 76 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Cổng thơng tin điện tử phủ, Nội dung Thông tư 18/2018/TT-NHNN, http://congbao.chinhphu.vn/noi-dung-van-ban-so-18-2018-tt-nhnn-27195 Tiếng Anh [2] Asoke K.Talukder, Manish Chaitanya (2009), Architecting Secuce Software System, CRC, New York [3] Matt Bishop (2004), Introduction to Computer Security, Addison-Wesley, New York [4] Somesh Mohanty, Important Software Vulnerabilities, https://dzone.com/articles/5-important-software-vulnerability-and-attacks-tha [5] Net Guide, https://docs.microsoft.com/en-us/dotnet/standard/ [6] Net framework Guide, https://docs.microsoft.com/en-us/dotnet/framework/ [7] NET Framework Cryptography Model https://docs.microsoft.com/enus/dotnet/standard/security/cryptography-model [8] Difference Between Active and Passive Attacks, https://techdifferences.com/difference-between-active-and-passive-attacks.html [9] OS command injection, https://portswigger.net/web-security/os-commandinjection [10] Wikipedia - the Free Encyclopedia, http://www.wikipedia.org ... 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ỹ. .. trọng số kiểu cơng Trình bày bảo mật Microsoft NET, bảo mật ASP.NET, đồng thời ứng dụng kỹ thuật bảo mật ASP.NET vào ? ?Hệ thống Quản lý luân chuyển văn nội GPBank? ?? Luận văn trình bày chương: Chương... trúc bảo mật hệ thống phần mềm, tổng quan bảo mật Microsoft Net, bảo mật ASP.NET Chương 4: Một mơ hình ứng dụng kỹ thuật bảo mật ASP.NET Microsoft GPBank Chương 5: Tóm tắt kết thu qua luận văn