58 Trang 8 5 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮTViết tắtViết đầy đủÝ nghĩaDOS Denail of Service Tấn công từ chối dịch vụ DDOS Distributed Denial of Service Tấn công từ chối dịch vụ p
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trang 3Hà Nội – Năm 2013
Trang 44
LỜI CẢM ƠN
Trong thời gian thực hiện luận văn này, tôi luôn được sự quan tâm, góp ý kiến của thầy giáo PGS.TS Nguyễn Linh Giang Nhân dịp này tôi xin bày tỏ lời cảm ơn chân thành tới thầy giáo PGS TS Nguyễn Linh Giang, người đã trực tiếp hướng dẫn và dành nhiều thời gian để sửa chữa, bổ sung vào từng trang bản thảo của luận văn
Tôi xin chân thành cảm ơn các thầy cô giáo viện Công nghệ Thông tin - Trường ĐH Bách khoa Hà Nội, các giảng viên đã truyền đạt những kiến thức, kỹ năng, kinh nghiệm nghề nghiệp Tôi xin chân thành cảm ơn Ban giám hiệu, tập thể giáo viên khoa Công nghệ Thông tin trường Đại học Sư phạm Kỹ thuật Hưng Yên, gia đình cùng các bạn trong lớp ao học Công nghệ Thông tinc khoá 2011-
2013 đã tạo mọi điều kiện giúp đỡ, động viên, chia sẻ để tôi hoàn thành bản luận văn này
Bản luận văn chắc còn nhiều thiếu sót, rất mong được các thầy cô giáo trong hội đồng chấm luận văn xem xét, góp ý kiến để 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 3 năm 2013
Trang 53
LỜI CAM ĐOAN
Tôi xin cam đoan, những gì tôi viết trong luận văn này là do tìm hiểu và nghiên cứu của bản thân Mọi kết quả nghiên cứu cũng như ý tưởng của các tác giả khác nếu có đều được trích dẫn nguồn gốc cụ thể
Luận văn này cho đến nay chưa được bảo vệ tại bất kỳ một hội đồng bảo vệ luận văn thạc sĩ nào trên toàn quốc cũng như ở nước ngoài và cho đến nay chưa được công bố trên bất kỳ một phương tiện thông tin nào
Tôi xin hoàn toàn chịu trách nhiệm về những gì mà tôi đã cam đoan trên đây
Hà Nội, ngày 02 tháng 3 năm 2013
Tác giả
Đặng Vân Anh
Trang 6MỤC LỤC
LỜI CAM ĐOAN 3
LỜI CẢM ƠN 4
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT 5
DANH MỤC CÁC BẢNG, SƠ ĐỒ 6
MỞ ĐẦU 7
NỘI DUNG 10
CHƯƠNG I CÁC GIAO DỊCH TRONG TH ƯƠ NG MẠI ĐIỆN TỬ 10
1.1 Các hình thức hoạt động th ng mại điện tử ươ 10
1.1.1 Thư tín điệ ử n t : 10
1.1.2 Thanh toán điện tử 10
1.1.3 Trao đổi dữ liệu điện tử 11
1.1.4 Giao gửi số hóa của các dung liệu 11
1.1.5 Bán lẻ hàng hóa hữu hình 12
1.2 Giao dịch th ng mại điện tử ươ 13
1.3 Các bên tham gia th ương mại điện tử 13
CHƯƠNG II AN TOÀN B ẢO MẬT TRONG TH ƯƠ NG MẠI ĐIỆN TỬ 15
2.1 Các cách tấn công trong th ng mại điện tử ươ 15
2.1.1 Thăm dò 15
2.1.2 Truy cập 15
2.1.3 Kiểu tấn công từ chối dịch vụ DoS 16
2.2 Các biện pháp bảo vệ hệ thống th ng mại điện tử ươ 19
2.2.1 C ơ chế mã hóa 19
2.2.2 Chứng thực số hóa 20
2.2.3 Giao thức thỏa thuận mã khóa 22
2.2.4 Chữ ký điện tử 22
2.2.5 An ninh mạng và bức tường lửa 25
2.3 Một số giao thức bảo mật thông dụng trong ứng dụng Web 26
2.3.1 C ơ chế bảo mật SSL (Secure Socket Layer) 27
2.3.2 C ơ chế bảo mật SET 30
2.4 Một số kỹ thuật tấn công và bảo mật ứng dụng web 31
2.4.1 Kỹ thuật tấn công bằng SQL Injection và cách phòng chống 31
Trang 72
2.4.2 Chèn mã lệnh thực thi trên trình duyệt nạn nhân 36
2.4.3 Thao tác trên tham số truyền URL 38
CHƯƠNG III MÔ HÌNH THANH TOÁN TRONG TH ƯƠNG MẠI ĐIỆN TỬ 40
3.1 Thanh toán qua Planet Payment 40
3.2 Thanh toán thẻ tín dụng 41
3.3 Thanh toán thông qua Ngân L ượng 42
3.3.1 Giới thiệu chung về ví điện tử 42
3.3.2 Giới thiệu về Ngân Lượng 42
3.3.3 Đặc trưng của hình thức thanh toán bằng Ngân Lượng 44
3.4 Thanh toán qua Paypal 47
3.4.1 Giới thiệu về Paypal 47
3.4.2 Tại sao lại lựa chọn Paypal? 47
3.4.3 Đặc điểm của Paypal 47
3.4.3 Đăng ký tài khoản trên Paypal 50
3.4.4 Chi tiết các bước thanh toán trên PayPal 50
CHƯƠNG IV THỰC NGHIỆM BẢO MẬT THANH TOÁN TRÊN WEBSITE 51
4.1 Tổng quan hệ thống website 51
4.1.1 Chức năng của hệ thống 51
4.1.2 Ng ười sử dụng 51
4.1.3 Yêu cầu chức năng 52
4.1.4 Yêu cầu phi chức năng 52
4.2 Các rủi ro thường gặp trong giao dịch điện tử và biện pháp bảo vệ của website 54
4.2.1 Đăng nhập 56
4.2.2 Thông tin sản phẩm 57
4.2.3 Quá trình đặt hàng và thanh toán 58
4.3 Ưu điểm, hạn chế và các giải pháp thanh toán bằng Ngân Lượ ng 61
4.3.1 Ưu điểm 61
4.3.2 Khó khăn và hạn chế 64
4.3.3 Một số giải pháp 65
KẾT LUẬN 67
TÀI LIỆU THAM KHẢO 69
PHỤ LỤC 70
Trang 85
DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT
DOS Denail of Service Tấn công từ chối dịch vụ
DDOS Distributed Denial of Service Tấn công từ chối dịch vụ phân phối TMĐT Thương mại điện tử Thương mại điện tử
TCP/IP Transmission Control
Protocol/ Internet Protocol Bộ giao thức truyền thông
SSL Secure Sockets Layer Giao thức bảo mật lớp vận chuyển TLS Transport Layer Sercurity Giao thức bảo mật lớp vận chuyển.IANA Internet Assigned Number
Authority Tổ chức cấp phát số liệu Internet SET Secure Electronic Transaction Giao dịch điện tử an toàn
RSA RonRivest, AdiSHamir& Len
Adleman Thuật toán mã hóa công khai viết tắt tên của 2 nhà sáng lập) ( SHA-1 Sercure Hash Algorithm Giải thuật băm an toàn
SQL Structured Query Language Ngôn ngữ truy vấn mang tính cấu
trúc API Application Programming
Interface Giao diện lập trình ứng dụng
URL Uniform Resource Locator Siêu liên kết
SNAD Significautly №t As
Described Hàng đến nhưng khác so với mô tả
INR Item №t Received Hàng không nhận được
TTTT Thanh toán trực tuyến Thanh toán trực tuyến
EDI Electronic Data Interchange Trao đổi dữ liệu điện tử
CSS Cross- Site Scripting Kỹ thuật tấn công bằng thẻ HTML
hoăc các mã script
Trang 96
DANH MỤC CÁC BẢNG, SƠ ĐỒ
1 Hình 2.1 Sơ đồ mã hóa dùng khóa riêng 21
3 Hình 2.3 Các bước mã hóa bằng chữ ký số 24
4 Hình 2.4 Các bước kiểm tra thông điệp ký 24
5 Hình 2.5 Mô hình hoạt động của chữ ký điện tử 25
6 Hình 2.6 Vị trí cảu các phương tiện bảo mật trong cấu trúc
12 Hình 4.1 Sơ đồ quá trình mua hàng trực tuyến 55
13 Hình 4.2 Mô hình hoạt động thanh toán trực tuyến của NL 61
14 Hình 4.3 Sơ đồ các bước thanh toán qua NL 61
15 Hình 4.4 Sơ đồ tổng quan các bước xử lý khiếu nại 63
16 Bảng 4.1 Bảng phí các giao dịch hiện hành 64
Trang 107
MỞ ĐẦU
1. Lý do chọn đề tài
Với sự phát triển mang tính toàn cầu của mạng Internet và TMĐT con người
có thể mua bán hàng hóa và dịch vụ thông qua mạng máy tính một cách dễ dàng trong mọi lĩnh vực thương mại rộng lớn Tuy nhiên đối với các giao dịch mang tính nhạy cảm này cần phải có những cơ chế đảm bảo an toàn và bảo mật
Ngày nay chúng ta thấy việc xây dựng các website TMĐT không còn là mới
mẻ với người sử dụng Internet, đặc biệt là những nhà kinh doanh và khách hàng trong lĩnh vực TMĐT Trước thói quen và tâm lý mua hàng của khách hàng Việt Nam là thiếu niềm tin vào các giao dịch trên mạng, lo lắng vì sợ mất mát thông tin
về tài khoản, thông tin cá nhân, thanh toán trực tuyến Việc xây dựng một website bán hàng phong phú về chủng loại mặt hàng, đa dạng về mẫu mã sản phẩm, an toàn, nhanh chóng trong quá trình mua sắm và thanh toán là vấn đề cấp bách hiện nay
Đó là yếu tố quan trọng để phát triển TMĐT Việt Nam
Vấn đề an toàn và bảo mật thông tin trong TMĐT phải đảm bảo bốn yêu cầu sau đây:
- Đảm bảo tin cậy: Các nội dung thông tin không bị theo dõi hoặc sao chép bởi những thực thể không được ủy thác
- Đảm bảo toàn vẹn: Các nội dung thông tin không bị thay đổi bởi những thực thể không được ủy thác
- Sự chứng minh xác thực: Không ai có thể trá hình như là bên hợp pháp trong quá trình trao đổi thông tin
- Không thể thoái thác trách nhiệm: Người gửi tin không thể thoái thác về những nội dung thông tin thực tế đã gửi đi
Xuất phát từ những khả năng ứng dụng trong thực tế và những ứng dụng đã
có từ các kết quả của nghiên cứu trước đây về lĩnh vực An toàn và ảo mật trong BTMĐT Đề tài sẽ đi sâu nghiên cứu các kỹ thuật chính của lĩnh vực an toàn và bảo mật thông tin trong giao dịch thương mại điện tử thông qua mô hình của một website bán hàng
Trang 118
2. Mục đích nghiên cứu
- Nghiên cứu các mô hình thanh toán trong TMĐT để bảo mật thanh toán trên website bán hàng
- Sử dụng một số kỹ thuật bảo mật web để áp dụng vào website bán hàng
- Áp dụng các kết quả nghiên cứu để triển khai hệ thống an toàn và bảo mật quá trình thanh toán trong thương mại điện tử
3. Đối tượng và phạm vi nghiên cứu
3.1 Đối tượng nghiên cứu
- Các giao dịch trong thương mại điện tử
- Các kỹ thuật an toàn và bảo mật trong thương mại điện tử, đặc biệt các kỹ thuật bảo mật ứng dụng web
- Các mô hình thanh toán trong thương mại điện tử cụ thể: mô hình của Ngân Lượng và PayPal
3.2 Phạm vi nghiên cứu
Áp dụng mô hình thanh toán của Ngân Lượng và PayPal vào website bán hàng trên mạng
4. Nhiệm vụ nghiên cứu
- Nghiên cứu các giao dịch trong thương mại điện tử để tìm hiểu quá trình mua bán trên mạng
- Nghiên cứu các kỹ thuật tấn công, biện pháp bảo mật trong thương mại điện tử, đặc biệt các biện pháp bảo mật website
- Nghiên cứu các kỹ thuật để thực hiện thanh toán an toàn trong thương mại điện tử
- Nghiên cứu các mô hình thanh toán trong thương mại điện tử, chọn mô hình thanh toán tin cậy để tích hợp vào website bán hàng giúp quá trình thanh toán được bảo mật
5. Phương pháp nghiên cứu
- Về lý thuyết: Tìm hiểu các giao dịch trong TMĐT của một số Website trong và ngoài nước, thu thập các thông tin về bảo mật các giao dịch thương mại
Trang 126. Cấu trúc luận văn
Ngoài phần mở đầu, kết luận, kiến nghị và các danh mục tài liệu tham khảo, các phụ lục của luận văn, nội dung của luận văn bao gồm 4 chương:
- Chương 1: Giao dịch trong thương mại điện tử
- Chương 2: An toàn và bảo mật trong thương mại điện tử
- Chương 3: Một số mô hình thanh toán trong thương mại điện tử
- Chương 4: Thực nghiệm bảo mật thanh toán trên website
Trang 1310
NỘI DUNG CHƯƠNG I CÁC GIAO DỊCH TRONG THƯƠNG MẠI ĐIỆN TỬ 1.1 Các hình thức hoạt động thương mại điện tử
1.1.1 Thư tín điện tử:
Các đối tác (người tiêu thụ, doanh nghiệp, các cơ quan chính phủ) sử dụng hòm thư điện tử để gửi thư cho nhau một cách ―trực tuyến‖ thông qua mạng, gọi là thư tín điện tử (electronic mail, gọi tắt là e-mail) Đây là một thứ thông tin dưới dạng ―phi cấu trúc‖, nghĩa là thông tin phải tuân thủ một cấu trúc đã thỏa thuận (là điều khác với ―trao đổi dữ liệu điện tử‖ sẽ nói dưới đây)
1.1.2 Thanh toán điện tử
Thanh toán điện tử là việc thanh toán tiền thông qua thông điệp điện tử thay cho việc trao tay tiền mặt, việc trả lương bằng cách chuyển tiền trực tiếp vào tài khoản, trả tiền mua hàng bằng thẻ mua hàng, thẻ tín dụng v.v đã quen thuộc lâu nay thực chất đều là các dạng thanh toán điện tử
- Trao đổi dữ liệu điện tử tài chính (Finacial Electronic Data Interchange, gọi tắt là FEDI) chuyên phục vụ cho việc thanh toán điện tử giữa các công ty giao dịch với nhau bằng điện tử
- Tiền mặt Internet là tiền mặt được mua từ một nơi phát hành (ngân hàng hoặc tổ chức tín dụng), sau đó được chuyển đổi tự do sang các đồng tiền khác thông qua Internet, áp dụng trong phạm vi cả một nước cũng như các quốc gia Tất cả đều được thực hiện bằng kỹ thuật số hóa, vì thế tiền mặt này còn có tên gọi là ―tiền mặt
số hóa‖ Công nghệ đặc thù chuyên phục vụ mục đích này có tên gọi là ―mã hóa khóa công khai/ bí mật‖ (Public/Private Key Cryptography) Tiền mặt Internet được người mua hàng mua bằng nội tệ, rồi dùng Internet để chuyển cho người bán hàng
- Túi tiền điện tử (electronic purse; còn gọi tắt là ―ví điện tử‖) nói đơn giản
là nơi để tiền mặt Internet mà chủ yếu là thẻ thông minh Tiền được trả cho bất cứ ai đọc được thẻ đó Kỹ thuật của túi tiền về cơ bản là kỹ thuật ―mã hóa khóa công khai/ bí mật‖ tương tự như kỹ thuật áp dụng cho ―tiền mặt Internet‖
Trang 1411
- Thẻ thông minh nhìn bề ngoài tương tự như thẻ tín dụng, nhưng ở mặt sau của thẻ, thay vì cho dải từ, lại là một chip máy tính điện tử có một bộ nhớ nhỏ để lưu trữ tiền số hóa Tiền ấy chỉ được ―chi trả‖ khi người sử dụng và thông điệp (ví
dụ như xác nhận thanh toán hóa đơn) được xác thực là ―đúng‖
- Giao dịch ngân hàng số hóa và giao dịch chứng khoán số hóa Hệ thống thanh toán điện tử của ngân hàng là một đại hệ thống, gồm nhiều tiểu hệ thống: (1) thanh toán giữa ngân hàng với khách hàng (qua điện thoại, các điểm bán lẻ, các ki-
ốt, giao dịch cá nhân tại nhà, giao dịch tại trụ sở khách hàng, giao dịch qua Internet, chuyển tiền điện tử, thẻ tín dụng, vấn tin ), (2) thanh toán giữa ngân hàng với các đại lý thanh toán (nhà hàng, siêu thị ), (3) thanh toán trong nội bộ một hệ thống ngân hàng, (4) thanh toán giữa hệ thống ngân hàng này với hệ thống ngân hàng khác
1.1.3 Trao đổi dữ liệu điện tử
Trao đổi dữ liệu điện tử (electronic data interchange, gọi tắt là EDI) là việc trao đổi các dữ liệu dưới dạng ―có cấu trúc‖ (structured form) từ máy tính điện tử này sang máy tính điện tử khác, giữa các công ty hay tổ chức đã thỏa thuận buôn bán với nhau theo cách này một cách tự động mà không cần có sự can thiệp của con người (gọi là dữ liệu có cấu trúc, vì các bên đối tác phải thỏa thuận từ trước khuôn dạng cấu trúc của các thông tin)
Thương mại điện tử qua biên giới (Cross border electronic commerce) về - bản chất chính là trao đổi dữ liệu điện tử giữa các doanh nghiệp mà được thực hiện giữa các đối tác ở các quốc gia khác nhau, với các nội dung:
Trang 1512
Dung liệu (content) là các hàng hóa mà người ta cần đến nội dung của nó (chính nội dung là hàng hóa) Các ý kiến tư vấn, vé máy bay, vé xem phim, xem hát, hợp đồng bảo hiểm v.v nay cũng được đưa vào danh mục các dung liệu
Trước đây dung liệu cũng được trao đổi dưới dạng hiện vật (physical form) bằng cách đưa vào đĩa, vào băng, in thành sách báo, thành văn bản, đóng gói bao bì chuyển đến tay người sử dụng, hoặc đến điểm phân phối (như cửa hàng, quầy báo v.v ) để người sử dụng đến mua và nhận trực tiếp Ngày nay, dung liệu được số hóa và truyền gửi theo mạng, gọi là ―giao gửi số hóa‖ (digital delivery) Ở Mỹ hiện nay 90% dân số dùng Web/ Internet để thu nhận tin tức và thông tin, khoảng 80,5%
sử dụng Web/Internet làm công cụ phục vụ cho nghiên cứu
Các tờ báo, các tư liệu công ty, cataloge sản phẩm lần lượt được đưa lên Web (gọi chung là ―xuất bản điện tử‖) Các chương trình phát thanh, truyền hình, giáo dục, ca nhạc, kể truyện v.v được số hóa, truyền qua Internet để người tiêu thụ sử dụng thông qua màn hình và thiết bị âm thanh của máy tính điện tử (hoặc của ―sách điện tử‖ chuyên dụng) Các chương trình phần mềm được chuyển qua mạng, rồi được người sử dụng tải xuống (download) Đặt chỗ trên máy bay, rạp hát qua Internet (gọi là vé điện tử: electronic ticket) ở Mỹ đã chiếm tỷ trọng tới 70% Người tiêu thụ dùng Internet để liên lạc trực tuyến với các cơ quan tín dụng ngân hàng để biết các thông tin về bảo hiểm và số liệu phút chót về tài chính của mình (tiền tiết kiệm, tiền gửi, tiền sắp phải trả v.v )
Trên góc độ kinh tế thương mại, các loại thông tin kinh tế và kinh doanh trên Internet đều có mức phong phú, và một nhiệm vụ quan trọng của công tác thông tin ngày nay là khai thác Web và phân tích tổng hợp
1.1.5 Bán lẻ hàng hóa hữu hình
Cho tới năm 1994 1995, hình thức bán hàng này còn chưa phát triển, ngay -
ở Mỹ cũng chỉ có vài cửa hàng có mặt trên Internet, chủ yếu là các cửa hàng bán đồ chơi, thiết bị tin học, sách, rượu Ngày nay, danh sách các hàng hóa bán lẻ qua mạng đã mở rộng ra, từ hoa tới quần áo, ô tô và xuất hiện hẳn một loại hoạt động gọi là ―mua hàng điện tử‖ (electronic shopping), hay ―mua hàng trên mạng‖ Ở một
Trang 1613
số nước Internet đã bắt đầu trở thành công cụ để cạnh tranh bán lẻ hàng hóa hữu hình (Retail of tangible goods) Tận dụng tính đa phương tiện (multimedia) của môi trường Web và Java, người bán hàng xây dựng trên mạng các ―cửa hàng ảo‖ (virtual shop) để thực hiện việc bán hàng Người sử dụng Internet/Web tìm trang Web của cửa hàng, xem hàng hóa hiển thị trên màn hình, xác nhận mua hàng, và trả tiền bằng thanh toán điện tử
Vì là hàng hóa hữu hình, nên tất yếu sau đó các cửa hàng phải dùng tới các phương tiện gửi hàng truyền thống để đưa hàng tới tay khách Điều quan trọng nhất
là : khách hàng có thể mua hàng tại nhà (home shopping), mà không phải đích thân
đi tới cửa hàng
1.2. Giao dịch thương mại điện tử
Giao dịch thương mại điện tử (electronic commerce transaction), với chữ
―thương mại‖ được hiểu với đầy đủ các nội dung như đã ghi trong Đạo luật mẫu về thương mại điện tử của Liên hiệp quốc, bao gồm bốn kiểu:
- Người với người: qua điện thoại, máy Fax, và thư điện tử (electronic mai l)
- Người với máy tính điện tử: trực tiếp hoặc qua các mẫu biểu điện tử (electronic form), qua world wide web
- Máy tính điện tử với người (qua fax, thư điện tử)
- Máy tính điện tử với máy tính điện tử (qua trao đổi dữ liệu có cấu trúc, thẻ thông minh, mã vạch)
1.3. Các bên tham gia thương mại điện tử
Giao dịch thương mại điện tử (electronic commerce transaction) diễn ra bên trong và giữa ba nhóm tham gia chủ yếu: (1) doanh nghiệp; (2) chính phủ; và (3) người tiêu thụ Các giao dịch này được tiến hành ở nhiều cấp độ khác nhau, bao gồm:
- Giữa các doanh nghiệp với người tiêu thụ: mục đích cuối cùng là dẫn tới việc người tiêu thụ có thể mua hàng tại nhà mà không cần tới cửa hàng (home shopping)
Trang 1714
- Giữa các doanh nghiệp với nhau: trao đổi dữ liệu, mua bán, thanh toán hàng hóa và dịch vụ, mục đích cuối cùng là đạt được hiệu quả cao trong sản xuất và kinh doanh
- Giữa các doanh nghiệp với các cơ quan chính phủ: nhằm vào các mục đích: (1) mua sắm chính phủ theo kiểu trực tuyến (online goverment procurement), (2) các mục đích quản lý (thuế, hải quan v.v ), (3) thông tin
- Giữa người tiêu thụ với các cơ quan chính phủ: các vấn đề về (1) thuế, (2) dịch vụ hải quan, phòng dịch v.v ,(3) thông tin
- Giữa các chính phủ: trao đổi thông tin
Trong bốn cấp độ giao dịch nói trên, giao dịch giữa các doanh nghiệp với nhau là dạng chủ yếu của giao dịch thương mại điện tử, và giao dịch giữa các doanh nghiệp với nhau chủ yếu dùng phương thức trao đổi dữ liệu điện tử, tức EDI
Trang 1815
CHƯƠNG II AN TOÀN BẢO MẬT TRONG THƯƠNG MẠI ĐIỆN
TỬ
2.1 Các cách tấn công trong thương mại điện tử
Các cách tấn công có thể được chia thành 3 kiểu và 3 giai đoạn Có 3 kiểu tấn công là:
Thăm dò vừa là một giai đoạn, vừa là một kiểu tấn công
Thăm dò là việc thu thập dữ liệu trái phép về tài nguyên, các lổ hổng hoặc dịch vụ của hệ thống Các cách tấn công truy cập hay DoS thường được tiến hành bởi kiểu tấn công thăm dò Hiển nhiên, các hacker phải biết có thể tấn công cái gì trước khi xâm nhập Thăm dò giống như một kẻ trộm nhà băng muốn biết có bao nhiêu bảo vệ đang làm nhiệm vụ, bao nhiêu camera, vị trí của chúng và đường thoát hiểm Thăm dò là một kiểu tấn công, nó cũng là một giai đoạn tấn công.
2.1.2 T ruy cập
Truy cập là một thuật ngữ rộng miêu tả bất kỳ kiểu tấn công nào đòi hỏi người xâm nhập lấy được quyền truy cập trái phép của một hệ thống bảo mật với mục đích thao túng dữ liệu, nâng cao đặc quyền, hay đơn giản chỉ là truy cập ào hệ vthống
Tấn công truy cập hệ thống : truy cập hệ thống là hành động nhằm đạt được quyền truy cập bất hợp pháp đến một hệ thống mà ở đó hacker không có tài khoản
sử dụng Hacker thường tìm kiếm quyền truy cập đến một thiết bị bằng cách chạy một đoạn mã hay bằng những công cụ hack (hacking tool), hay là khai thác một yếu điểm của ứng dụng hoặc một dịch vụ đang chạy trên máy chủ
Tấn công truy cập thao túng dữ liệu: thao túng dữ liệu xuất hiện khi kẻ xâm nhập đọc, viết, xóa, sao chép hay thay đổi dữ liệu Nó có thể đơn giản như việc tìm
Trang 1916
phần mềm chia sẻ (share) trên máy tính Window 9x hay NT, hay khó hơn như việc
cố gắng xâm nhập một hệ thống tín dụng của cục thông tin (credit bureau‘s information)
Tấn công truy cập nâng cao đặc quyền : nâng cao đặc quyền là một dạng tấn công phổ biến Bằng cách nâng cao đặc quyền, kẻ xâm nhập có thể truy cập vào các files hay folder dữ liệu mà tài khoản người sử dụng ban đầu không được cho phép truy cập Khi hacker đạt được mức độ quyền truy cập đủ cao, họ có thể cài đặt phần mềm như là backdoors và Trojan horses, cũng như cho phép truy cập sâu hơn và thăm dò Mục đích chung của hacker là chiếm được quyền truy cập ở mức độ quản trị Khi đã đạt được mục đích đó, họ có toàn quyền điều khiển hệ thống mạng
2.1.3 Kiểu tấn công từ chối dịch vụ DoS
Kiểu tấn công DoS được thực hiện nhằm làm vô hiệu hóa, làm hư hỏng , hay gây tổn hại đến tài nguyên mạng với mục đích cản trở việc sử dụng những hệ thống này của người dùng Dạng phạm tội điện tử này là dạng tấn công tồi tệ nhất mà các công ty TMĐT phải đối mặt bởi vì mục đích duy nhất của hacker là ngăn chặn người dùng sử dụng các dịch vụ điện tử của các công ty Ý định của dạng tấn công này chỉ đơn giản nhằm gây tổn hại và chống lại một công ty trong việc buôn bán
Một hacker với một PC ở nhà phải mất một lượng lớn thời gian tạo ra đủ lưu lượng mạng để làm quá tải một nhóm máy chủ Internet Để tấn công DoS hiệu quả hacker sử dụng nhiều hệ thống máy tính khác nhau nhằm lấn át máy chủ (đích) Sử dụng nhiều hệ thống máy tính để tấn công máy chủ hay mạng được gọi là tấn công
từ chối dịch vụ phân phối (DDoS) Dạng tấn công này đã từng thành công khi tấn công web site của Yahoo!, ebay và CNN.com Một hacker liên quan sau đó bị bắt
và bị truy tố
Các giai đoạn tấn công:
Giai đoạn đầu tiên
Mục tiêu: Là giai đoạn định nghĩa đối tượng Điều đầu tiên cần làm rõ trong mọi hoạt động cũng như việc hacking là xác định được mục tiêu Kết quả của việc xác lập mục tiêu của kiểu tấn công dẫn đến việc hình thành, chọn lựa những công cụ
Trang 2017
và phương pháp phù hợp Mục tiêu đơn giản là toàn bộ mục đích của người xâm nhập Nếu kẻ xâm nhập có động cơ trả thù thì kiểu tấn công DoS phù hợp với nhu cầu đó Nếu kẻ tấn công là một đối thủ thì xâm nhập hệ thống và thao túng dữ liệu mới là mục tiêu Khi kẻ xâm nhập tiến hành những bước của một kiểu tấn công, thì mục tiêu có thể và thường thay đổi Một yếu tố quan trọng khác nữa trong việc xác định mục tiêu là động cơ đằng sau sự xâm nhập Hầu hết những script kiddies (hacker mới vào nghề) bị thúc đẩy bởi sự hồi hộp, gay cấn trong khi đó những hacker cao cấp bị thúc đẩy bởi những động cơ như thử thách trí tuệ, trả thù, kiếm tiền bất hợp pháp
Giai đoạn hai thăm dò
Giai đoạn thăm dò, như chính tựa đề của nó, là giai đoạn mà hacker sử dụng nhiều nguồn tài nguyên để thu thập thông tin về hệ thống đối tượng Thông thường những hacker có kinh nghiệm thường thu thập những thông tin về công ty đối tượng, như là vị trí của công ty, số điện thoại, tên của những nhân viên, địa chỉ e-mail, tất cả đều hữu dụng với người xâm nhập có kinh nghiệm
Thăm dò thông tin công cộng
Tên nhân viên, địa chỉ e_mail là điểm khởi đầu thuận lợi cho các hacker có thể đoán nhận user name của tài khoản nhân viên Thông thường họ sử dụng tên hay
họ của nhân viên để làm tài khoản máy tính trong mạng của họ Địa chỉ e_mail cũng
là một dạng user name thông thường cho tài khoản máy tính của họ Những công ty lớn thường ấn định số phone của họ trong công ty điên thoại cục bộ cũng như nhiều tập đoàn có tiếp đầu ngữ quay số cho riêng họ Những công cụ bẻ khóa mạnh thì luôn có sẵn trên Internet Khi đã đoán được username, thì vấn đề còn lại chỉ là thời gian để bẻ gãy những password yếu kém
Thăm dò điện tử: kẻ tấn công phải tiến hành thăm dò để tìm tài nguyên hay
hệ thống nào đó có trên mạng Nếu người tấn công không có những hiểu biết về mạng đối tượng, họ phải tìm nguồn tài nguyên của công ty được đặt ở đâu một cách logic Khi đã có được địa chỉ IP của công ty, người tấn công có thể bắt đầu dò tìm
Trang 21Những công cụ thăm dò:
Hầu hết những công cụ hack thông thường và phổ biến rộng rãi là công cụ thăm dò Mục đích chính của những công cụ này là giúp kỹ sư mạng trong xử lý lưu lượng hay bảo trì mạng, nhưng hacker lại sử dụng những công cụ này để tìm kiếm những nguồn tài nguyên mạng bất hợp pháp Rất nhiều những công cụ này được chế tạo cũng như cải tiến nhằm giúp hacker trong những hành động trái phép Nhiều công cụ được phát triển dưới cái mác của những công cụ hợp pháp của các kỹ sư mạng nhưng thực chất nó được xây dựng nhằm làm trợ thủ cho những hacker
Khi mà những công cụ phát hiện xâm nhập và bảo mật ngày càng trở nên phức tạp thì những công cụ hack cũng như vậy Hacker biết việc dò tìm cũng như quét sẽ gây nghi ngờ, báo động Chính vì điều này, các hacker bắt đầu phát triển những phần mềm mới nhằm giấu đi mục đích chính của hành động Những công cụ thăm dò được sử dụng nhiều ngày nay là MAP WHOIS, SATAN Ping, Portscanner Nslookup Strobe Trace
Trang 2219
Giai đoạn thứ ba: giai đoạn tấn công
Giai đoạn cuối cùng là giai đoạn tấn công Trong giai đoạn tấn công kẻ xâm nhập bắt đầu cố gắng xâm nhập mạng và tài nguyên hệ thống trên mạng Bằng cách
sử dụng các thông tin đã thu thập được, một vài hacker có thể thực hiện việc tấn công nhiều lần cho đến khi phát hiện được lỗi bảo mật để có thể khai thác.Một khi hacker có được quyền xâm nhập hệ thống máy chủ trên mạng, thì máy chủ
đó được mô tả như đang bị thỏa hiệp (compromised) Bất cứ hệ thống nào có mối liên hệ tin tưởng với máy chủ đã bị hại thì cũng có thể bị xem như đang bị hại
2.2 Các biện pháp bảo vệ hệ thống thương mại điện tử
2.2.1 Cơ chế mã hóa
Để đảm bảo an toàn bảo mật cho các giao dịch, người ta dùng hệ thống khoá
mã và kỹ thuật mã hoá cho các giao dịch TMĐT Mã hoá là quá trình trộn văn bản với khoá mã tạo thành văn bản không thể đọc được truyền trên mạng Khi nhận được bản mã, phải dùng khóa mã để giải thành bản rõ Mã hoá và giải mã gồm 4 thành phần cơ bản: 1> Văn bản rõ – plaintext 2> Văn bản đã mã – Ciphertext 3> Thuật toán mã hoá - Encryption algorithm 4> Khoá mã Key – — là khoá bí mật dùng nó để giải mã thông thường Mã hoá là tiền đề cho sự thiết lập các vấn đề liên quan đến bảo mật và an ninh trên mạng
Có hai phương pháp mã hóa phổ biến nhất: phương pháp mã đối xứng (khóa riêng): là mã hóa chỉ sử dụng một khóa cho cả quá trình mã hóa (được thực hiện bởi người gửi thông tin) và quá trình giải mã (được thực hiện bởi người nhận)
Các vấn đề đối với phương pháp mã hóa đối xứng:
- Phương pháp mã hóa đối xứng đòi hỏi người mã hóa và người giải mã phải cùng chung một chìa khóa Khi đó khóa phải được giữ bí mật tuyệt đối, do vậy
ta dễ dàng xác định một khóa nếu biết khóa kia
- Hệ mã hóa đối xứng không an toàn vì khóa bị lộ với xác suất cao Trong
hệ này, khóa phải được gửi đi trên kênh an toàn
- Vấn đề quản lý và phân phối khóa là khó khăn và phức tạp Người gửi và nhận phải luôn thống nhất với nhau về khóa Việc thay đổi khóa là khó và dễ bị lộ
Trang 2320
- Khuynh hướng cung cấp khóa dài và nó phải được thay đổi thường xuyên cho mọi người trong khi vẫn duy trì cả tính an toàn lẫn hiệu quả chi phí sẽ cản trở rất nhiều tới hệ mật mã này
Hình 2.1 : Mã hóa dùng khóa riêng
Mã không đối xứng (mã công cộng): sử dụng một cặp khoá là công cộng và riêng, khoá công cộng để mã hoá và khoá riêng để giải mã Khi mã hoá người ta dùng hai khoá mã hoá riêng rẽ được sử dụng Khoá đầu tiên được sử dụng để trộn các thông điệp sao cho nó không thể đọc được gọi là khoá công cộng Khi giải mã các thông điệp cần một mã khoá thứ hai, mã này chỉ có người có quyền giải mã giữ hoặc nó được sử dụng chỉ bởi người nhận bức thông điệp này, khoá này gọi là khoá riêng
Ðể thực hiện các công việc mã hoá và giải mã, cần một cơ quan trung gian giữ các khoá riêng, đề phòng trường hợp khoá này bị mất hoặc trong trường hợp cần xác định người gửi hoặc người nhận Các công ty đưa ra các khoá mã riêng sẽ quản lý và bảo vệ các khoá này và đóng vai trò như một cơ quan xác định thẩm quyền cho các mã khoá bảo mật
2.2.2 Chứng thực số hóa
Chứng thực số để xác nhận rằng người giữ các khoá công cộng và khoá riêng
là ai đã đăng ký Cần có cơ quan trung gian để làm công việc xác thực Chứng thực
có các cấp độ khác nhau
Trang 2421
Không phải tất cả các mã khoá riêng hay các chứng chỉ số hoá đều được xây dựng như nhau Loại đơn giản nhất của giấy chứng chỉ hoá được gọi là chứng nhận Class 1, loại này có thể dễ dàng nhận khi bất kỳ người mua nào truy nhập vào WEB site của VeriSign (www.verisign.com) Tất cả những cái mà doanh nghiệp phải làm
là cung cấp tên, địa chỉ và địa chỉ e mail, sau khi địa chỉ e mail được kiểm tra, sẽ - nhận được một giấy chứng nhận số hoá Về mặt nào đó nó cũng giống như một thẻ đọc thư viện
-Các chứng nhận Class 2 yêu cầu một sự kiểm chứng về địa chỉ vật lý của doanh nghiệp Ðể thực hiện điều này các công ty cung cấp chứng nhận sẽ tham khảo cơ sở dữ liệu của Equifax hoặc Experian trong trường hợp đó là một người dùng cuối và Dun&Bradstreet trong trường hợp đó là một doanh nghiệp Quá trình này giống như là một thẻ tín dụng Mức cao nhất của một giấy chứng nhận số hoá được gọi là chứng nhận Class 3 Có thể xem nó như là một giấy phép lái xe Ðể nhận được nó doanh nghiệp phải chứng minh chính xác mình là ai và phải là người chịu trách nhiệm Các giấy phép lái xe thật có ảnh của người sở hữu và được in với các công nghệ đặc biệt để tránh bị làm giả
Các giấy chứng nhận Class 3 hiện chưa được chào hàng, tuy nhiên các công ty hoạt động trong lĩnh vực an toàn và bảo mật đã mường tượng ra việc sử dụng nó trong tương lai gần cho các vấn đề quan trọng như việc đàm phán thuê bất động sản qua WEB hoặc vay vốn trực tuyến Nó cũng có thể được sử dụng như là các chứng nhận định danh hợp pháp hỗ trợ việc phân phát các bản ghi tín dụng hoặc chuyển các tài liệu của toà án Hiện tại các biểu mẫu thu nhận thông tin thanh toán trên WEB thường đạt chứng nhận an toàn và bảo mật Class 1, nhưng hiện tại một số cửa hàng trên WEB cũng đã đạt mức an toàn và bảo mật Class 2 và khách hàng cũng đã bắt đầu nhận được chúng thông qua một công nghệ được gọi là SET
Trang 2522
Hình 2.2 : Ví dụ về chứng thực số hóa
2.2 3 Giao thức thỏa thuận mã khóa
Một trong những hạn chế của mã hóa công cộng là không hiệu quả khi gửi số lượng lớn thông tin, dữ liệu vì nó đòi hỏi máy tính có tốc độ nhanh, khả năng xử lý mạnh Do vậy phương pháp mã hóa công cộng khó có thể coi là sự thay thế hoàn hảo cho mã hóa bí mật Thay vào đó, mã hóa công cộng có thể được sử dụng để hai bên tham gia giao dịch trao đổi mã khóa sử dụng trong mã khóa bí mật Giao thức thỏa thuận mã khóa là quá trình các bên tham gia giao dịch trao đổi mã khóa Giao thức đặt ra quy tắc cho thông tin: loại thuật toán nào sẽ được sử dụng trong liên lạc
Một trong những giao thức thỏa thuận mã khóa là phong bì số hóa (digital envelope) Theo phương pháp này, thông điệp được mã hóa bằng mã khóa bí mật và sau đó mã khóa bí mật được mã hóa sử dụng phương pháp mã hóa công cộng Người gửi sẽ kèm thông điệp đã được mã hóa (bằng khóa bí mật và khóa bí mật được mã hóa bằng khóa công cộng) và gửi toàn bộ cho người nhận
2 2.4 Chữ ký điện tử
Chữ ký điện tử là một phương pháp mã hóa công cộng được sử dụng phổ biến trong thương mại điện tử Các tài liệu và các văn bản gửi đi đều phải gắn liền với trách nhiệm của người phát hành tài liệu đó và đòi hỏi phải được đảm bảo an ninh (không bị xâm phạm, thay đổi…) Giống như trong thương mại truyền thống
Trang 26Chữ ký điện tử là bằng chứng hợp pháp dùng để và đủ để khẳng định trách nhiệm của người ký văn bản điện tử về nội dung của nó, tính nguyên gốc của văn bản điện tử sau khi được chuyển khỏi người ký nó.
- Cách thức hoạt động của chữ ký điện tử
Các văn bản được ―ký‖ bằng mã khóa bí mật của người tạo ra văn bản đó Để tăng nhanh quá trình, mã khóa bí mật được sử dụng cho một dạng ngắn hơn của văn bản (dữ liệu), gọi là ―hash‖ hay ―message digest‖ chứ không sử dụng cho toàn bộ dạng nguyên thủy của dữ liệu Từ đó tạo ra được chữ ký điện tử Chữ ký điện tử có thể được lưu trữ hay chuyển đi cùng với dữ liệu Chữ ký điện tử được các bên tham gia giao dịch kiểm tra khi sử dụng mã khóa công cộng của người ký Đặc điểm này rất quan trọng, ví dụ, truyền một tệp dữ liệu không mang virus, bất kỳ người nhận nào có thể kiểm tra liệu tệp đó vẫn ở dạng ban đầu, chưa bị thay đổi để ẩn chứa virus bằng cách kiểm tra chữ ký điện tử đi kèm Nếu chữ ký điện tử không bị thay đổi, người nhận có thể chắc chắn rằng dữ liệu không bị thay đổi sau khi được ký và người có mã khóa công cộng chính là người đã ký
- Chữ ký số (digital signature), là một dạng của chữ ký điện tử được tạo ra bằng cách áp dụng thuật toán băm một chiều trên văn bản gốc để tạo ra bản phân tích văn bản /văn bản tóm lược (message digest) hay còn gọi là fingerprint, sau đó
mã hóa bằng private key tạo ra chữ ký số đính kèm với văn bản gốc để gửi đi Khi nhận, văn bản được tách làm 2 phần, phần văn bản gốc được tính lại fingerprint để
so sánh với fingerprint cũ cũng được phục hồi từ việc giải mã chữ ký số
Trang 2724
- Các bước mã hóa:
Hình 2.3 : Các bước mã hóa bằng chữ ký số Cách tạo chữ ký số: Dùng giải thuật băm để thay đổi thông điệp cần truyền
đi Kết quả ta được một message digest Dùng giải thuật md5 (message digest 5) ta được digest có chiều dài 128 bit, dùng giải thuật sha (secure hash algorithm) ta có -chiều dài 16 bit Sử dụng khóa private key của người gửi để mã hóa message 0-digest thu được ở bước 1 hông thường ở bước này ta dùng giải thuậtT RSA Kết quả thu được gọi là digital signature của message ban đầu Gộp digital signature vào message ban đầu ông việc nà gọi là ―ký nhận‖ vào message Sau khi đã ký nhận C y vào message, mọi sự thay đổi trên message sẽ bị phát hiện trong giai đoạn kiểm tra
Ngoài ra, việc ký nhận đảm bảo người nhận tin tưởng message này của người gửi
- Các bước kiểm tra:
Hình 2.4 : Các bước kiểm tra thông điệp ký
Trang 2825
- Thẩm định chữ ký số: Dùng public key của người gửi (khóa này được thông báo đến mọi người) để giải mã chữ ký số của message Dùng giải thuật (md5 hoặc sha) băm message đính kèm So sánh kết quả thu được ở bước 1 và 2 ếu Ntrùng nhau, ta kết luận message này không bị thay đổi trong quá trình truyền và message này là của người gửi
- Mô hình hoạt động của chữ ký điện tử:
Hình 2.5: Mô hình hoạt động của chữ ký điện tử
2.2.5 An ninh mạng và bức tường lửa
Mục tiêu của an ninh mạng là chỉ cho phép người sử dụng được cấp phép truy cập thông tin và dịch vụ, đồng thời ngăn cản những người sử dụng không được cấp phép có thể truy cập vào hệ thống
Bức tường lửa: Đây là một phương pháp khá căn bản áp dụng trong an ninh
hệ thống Mục tiêu của bức tường lửa là bảo vệ mạng LAN (Local area network) khỏi những người xâm nhập từ bên ngoài Ví dụ hầu hết các công ty có hệ thống mạng nội bộ cho phép nhân viên chia sẻ các tệp thông tin và truy nhập các thông tin của công ty Mỗi mạng LAN có thể kết nối với internet qua một cổng và thông thường phải có tường lửa
Thông điệp gốc
Thông
điệp
gốc
Thông điệp
mã hóa
Thông điệp
mã hóa
Thông điệp gốc
Giải mã
Xác nhận chữ
ký
Khóa chung của người ký Thông
điệp gốc
Trang 2926
Bức tường lửa là một phần mềm hoặc một phần cứng cho phép người sử dụng mạng máy tính của một tổ chức có thể truy cập tài nguyên của các mạng khác (như mạng internet) nhưng đồng thời ngăn cấm những người sử dụng khác (không được phép) từ bên ngoài truy cập vào mạng máy tính của tổ chức Một bức tường lửa có những đặc điểm sau:
- Tất cả các giao thông từ bên trong mạng máy tính của tổ chức và ngược lại đều phải đi qua đó
- Chỉ các giao thông được phép, theo quy định về an ninh mạng của tổ chức, mới được phép đi qua
- Không được phép thâm nhập vào chính hệ thống này
Cần lưu ý là tường lửa không có tác dụng bảo vệ trong các trường hợp sau:
- Hành động phá hoại hoặc truy nhập trái phép xuất phát từ mạng bên trong (vùng mạng tin cậy)
- Bảo vệ mạng khỏi những truy nhập được phép nhưng là những truy nhập mang mục đích xấu Bởi vì những truy nhập này sau khi được xác thực thẩm quyền thì được phép làm mọi thứ trong thẩm quyền của nó
- Bảo vệ mạng khỏi tất cả các cuộc tấn công có hại Tin tặc có thể lợi dụng
lỗ hổng của các cổng dịch vụ mà truy nhập đến các cổng này được sự cho phép của tường lửa
2.3 Một số giao thức bảo mật thông dụng trong ứng dụng Web
Word Wide Web có cơ sở ứng dụng là client/server chạy trên Internet và các mạng Intranet với giao thức TCP/IP Những thách thức mới đối với bảo mật Web đã trở thành cần thiết hơn bao giờ hết nhất là trong cách mạng bối cảnh các mạng máy tính và các dịch vụ sử dụng Web ngày càng phát triển
Internet như con dao hai lưỡi Không giống những môi trường truyền thống như những hệ thống điện tín, đàm thoại, fax, các Web server luôn có nguy cơ phải hứng chịu các cuộc tấn công trên toàn bộ mạng Internet
Có nhiều giải pháp cho vấn đề bảo mật ứng dụng Web, các nhà nghiên cứu chủ yếu tập trung vào việc nghiên cứu và xem xét nhằm cải tiến các dịch vụ đã cung
Trang 30Hình 2.6: Vị trí của các phương tiện bảo mật trong cấu trúc của giao thức
TCP/IP Một giải pháp nữa là cải tiến cơ chế bảo mật trên giao thức TCP, một trong những ý tưởng dẫn dắt đến sự ra đời của giao thức Secure Sockets layer (SSL) và Transport layer Sercurity (TLS) Ở tầng này, có hai sự lựa chọn là SSL hoặc là TLS, SSL được cung cấp như là một giao thức hỗ trợ nên hoàn toàn có thể bảo mật bất kì giao thức ứng dụng nào được xếp trên lớp TCP một cách trong suốt Ngoài ra, SSL còn có thể được gắn vào các ứng dụng như một gói đặc biệt, ví dụ như các trình duyệt IE và Netscape đều được trang bị SSL, các Web server cũng đều đã được bổ sung giao thức này
2.3.1 Cơ chế bảo mật SSL (Secure Socket Layer)
Như đã đề cập ở trên, hai giao thức bảo mật quan trọng tại lớp vận chuyển (Layer Transport) ảnh hưởng lớn tới sự bảo mật của các ứng dụng web là SSL và TLS
Cho đến nay, đã có 3 phiên bản của SSL:
- SSL 1.0: Được sử dụng nội bộ bởi Netcape Communications 1.0 Nó có một số khuyết điểm và không bao giờ được tung ra bên ngoài
Trang 3128
- SSL 2.0: Được xát nhập vào Netscape Communications 1.0 đến 2.x Nó có một số điểm yếu liên quan đến các cuộc tấn công của đối tượng trung gian Microsoft cũng đã giới thiệu giao thức PCT (Private Communication Technology)cạnh tranh trong lần tung ra Internet Explorer đầu tiên của nó vào năm 1996
- SSL 3.0: Netscape Communications đã phản ứng lại sự thách thức PCT của Mícrosoft bằng cách giới thiệu SSL 3.0 Vốn giải quyết các vấn đề trong SSL 2.0 và thêm một số tính năng mới
Kiến trúc của SSL
2.7Hình : Kiến trúc của SSLTóm lại, giao thức SSL cung cấp sự bảo mật truyền thống vốn có 3 đặc tính cơ bản:
1 Các bên giao tiếp (nghĩa là Client và server) có thể xác thực nhau bằng cách sử dụng mật mã khóa chung
2 Sự bí mật của lưu lượng dữ liệu được bảo vệ vì kết nối được mã hóa trong suốt sau khi một sự thiết lập quan hệ ban đầu và có sự thương lượng khóa session
Trang 3229
3 Tính xác thực và tính toàn vẹn của lưu lượng dữ liệu cũng được bảo vệ vì các thông báo được xác thực và được kiểm tra tính toàn vẹn một cách trong suốt bằng cách sử dụng địa chỉ MAC
Tuy nhiên điều quan trọng cần lưu ý là SSL không ngăn các cuộc tấn công phân tích lưu lượng, ví dụ: bằng cách xem xét các địa chỉ IP nguồn và đích không được mã hóa và các cổng TCP, hoặc xem xét lượng dữ liệu được truyền, một người vẫn phân tích lưu lượng vẫn có thể xác định các bên nào đang tương tác, các loại dịch vụ nào đang được sử dụng, và đôi khi dành được thông tin về các mối quan hệ doanh nghiệp, cá nhân Hơn nữa SSL không ngăn các cuộc tấn công làm tràn ngập TCP Để sử dụng sự bảo vệ của SSL cả client và server phải biết rằng phía bên kia đang sử dụng SSL Nói chung có ba khả năng giải quyết vấn đề này:
1 Sử dụng các cổng chuyên dụng dành riêng bởi internet asigned number Authority (IANA)
2 Sử dụng số cổng chuẩn cho mọi giao thức ứng dụng và để thương lượng các tùy chọn bảo mật như là một phần của giao thức ứng dụng
3 Sử dụng một tùy chọn TCP để thương lượng việc sử dụng một giao thức bảo mật, như SSL trong suốt giai đoạn thiết lập kết nối TCP thông thường
Ldaps 636 LDAP trên TLS/SSL
Ftps 990 FTP (điều khiển) trên TLS/SSL
Telnet 992 TELNET trên TLS/SSL
Pop3s 995 POP3 trên TLS/SSL
Bảng 2.1: Các số cổng được gán cho các giao thức ứng dụng chạy trên TLS/SSL
Trang 3330
2.3.2 Cơ chế bảo mật SET
Tiêu chuẩn bảo mật mới nhất trong thương mại điện tử là SET viết tắt của Secure Electronic Transaction- Giao dịch điện tử an toàn, được phát triển bởi một tập đoàn các công ty thẻ tín dụng lớn như Visa, MasterCard và American Express, cũng như các nhà băng, các công ty bán hàng trên mạng và các công ty thương mại khác SET có liên quan với SSL do nó cũng sử dụng các khoá công cộng và khoá riêng với khoá riêng được giữ bởi một cơ quan chứng nhận thẩm quyền Không giống như SSL, SET đặt các khoá riêng trong tay của cả người mua và người bán trong một giao dịch Ðiều đó có nghĩa là một người sử dụng thông thường cần các khoá riêng của họ và cần phải đăng ký các khoá này cũng giống như các máy chủ phải làm Dưới đây là cách mà hệ thống này làm việc Khi một giao dịch SET được xác nhận quyền sử dụng, mã khoá riêng của người sử dụng sẽ thực hiện chức năng giống như một chữ ký số, để chứng minh cho người bán về tính xác thực của yêu cầu giao dịch từ phía người mua và các mạng thanh toán công cộng Trong thực tế
nó giống như là việc ký vào tờ giấy thanh toán trong nhà hàng Chữ ký số chứng minh là ta đã ăn thịt trong món chính và chấp nhận hoá đơn Do người mua không thể thoát ra khỏi một giao dịch SET, để khiếu nại về việc họ không mua hàng nên các giao dịch SET theo lý thuyết sẽ chạy qua các hệ thống thanh toán giống như ta mua hàng ở thiết bị đầu cuối tại các cửa hàng bách hóa thực
Các đặc trưng cơ bản của SET:
- Thông tin tin cậy: Thông tin tài khoản và các thông tin cho việc chi trả được bảo vệ khi nó được truyền đi trong mạng Một điều thú vị và quan trọng nhất ở đặc trưng này của SET là nó ngăn không cho nhà kinh doanh biết được số thẻ tín dụng của người sử dụng, mà điều này chỉ được cung cấp cho các ngân hàng phát hành Quy ước mã hóa này được SET dùng để cung cấp các tin cậy
- Toàn vẹn dữ liệu: Thông tin chi trả từ người sử dụng tới các nhà kinh doanh bao gồm các thông tin thanh toán, dữ liệu cá nhân và các dữ liệu cho việc chi trả SET đảm bảo việc các nội dung của thông điệp không bị biến đổi trong khi gửi đi
Trang 34Chú ý rằng SET không giống như IPSec và SSL/TLS, nó chỉ cung cấp một chọn lựa ứng với mỗi thuật toán mã hóa Đây là một sự khôn ngoan bởi SET là một ứng dụng đơn độc lập với một tập hợp các yêu cầu riêng, mà ở đó IPSec và SSL/TLS đóng vai trò hỗ trợ ở một phạm vi nào đó của các ứng dụng
2.4 Một số kỹ thuật tấn công và bảo mật ứng dụng web
2.4.1 Kỹ thuật tấn công bằng SQL Injection và cách phòng chống
2.4.1.1 Khái niệm SQL Injection
SQL injection là một kỹ thuật cho phép những kẻ tấn công lợi dụng lỗ hổng của việc kiểm tra dữ liệu đầu vào trong các ứng dụng web và các thông báo lỗi của
hệ quản trị cơ sở dữ liệu trả về để inject (tiêm vào) và thi hành các câu lệnh SQL bất hợp pháp, Sql injection có thể cho phép những kẻ tấn công thực hiện các thao tác, delete, insert, update,… trên cơ sỡ dữ liệu của ứng dụng, thậm chí là server mà ứng dụng đó đang chạy, lỗi này thường xảy ra trên các ứng dụng web có dữ liệu được quản lý bằng các hệ quản trị cơ sở dữ liệu như SQL Server, MySQL, Oracle, DB2
2.4.1 2 Một số dạng tấn công thường gặp với các ứng dụng web
Có bốn dạng tấn công thường gặp bao gồm: vượt qua kiểm tra lúc đăng nhập,
sử dụng câu lệnh SELECT, sử dụng câu lệnh INSERT, sử dụng các storedprocedures
-a/ Dạng tấn công vượt qua kiểm tra lúc đăng nhập
Với dạng tấn công này, tin tặc có thể dễ dàng vượt qua các trang đăng nhập nhờ vào lỗi khi dùng các câu lệnh SQL thao tác trên cơ sở dữ liệu của ứng dụng web Thông thường để cho phép người dùng truy cập vào các trang web được bảo mật, hệ thống thường xây dựng trang đăng nhập để yêu cầu người dùng nhập thông
Trang 3532
tin về tên đăng nhập và mật khẩu Sau khi người dùng nhập thông tin vào, hệ thống
sẽ kiểm tra tên đăng nhập và mật khẩu có hợp lệ hay không để quyết định cho phép hay từ chối thực hiện tiếp Ví dụ, trong trường hợp sử dụng ASP, người ta có thể dùng 2 trang : 1 trang HTML để hiển thị Form nhập liệu và 1 trang ASP để xử lý thông tin nhập vào từ phía người dùng như sau:
- Trang nhập liệu: login.htm
<form action="ExecLogin.asp" method="post">
Username input type="text" name="fUSRNAME" br :< >< />
Password input type="password" name="fPASSWORD" br :< >< />
strSQL ="SELECT * FROM T_USERS "& _
"WHERE USR_NAME=' "& vUsrName & _
" ' and USR_PASSWORD=' "& vPassword &" ' "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN= "
If(objRS.EOF) Then
Response.Write"Invalid login."
Trang 3633
Chỗ sơ hở trong đoạn mã xử lý nhập liệu trên nằm ở chỗ dữ liệu nhập vào từ người dùng được dùng để xây dựng trực tiếp câu lệnh SQL Chính điều này cho phép tin tặc có thể điều khiển câu truy vấn sẽ được thực hiện Ví dụ, nếu người dùng nhập chuỗi trong ngoặc sau vào trong cả 2 ô nhập liệu username/password của
trang login.htm là:('OR=') Lúc này, câu truy vấn sẽ được gọi thực hiện là:
SELECT*FROM T_USERS WHERE USR_NAME =''OR'' ''= AND USR_PASSWORD=''OR'' ''=
Câu truy vấn này là hợp lệ và sẽ trả về tất cả các bản ghi của T_USERS và đoạn mã tiếp theo xử lí người dùng đăng nhập bất hợp pháp này như là người dùng đăng nhập hợp lệ
b/ Dạng tấn công sử dụng câu lệnh SELECT
Dạng tấn công này phức tạp hơn Để thực hiện được kiểu tấn công này, kẻ tấn công phải có khả năng hiểu và lợi dụng các sơ hở trong các thông báo lỗi từ hệ thống để dò tìm các điểm yếu khởi đầu cho việc tấn công Ví dụ, trong các trang tìm kiếm Các trang này cho phép người dùng nhập vào các thông tin tìm kiếm như Họ, Tên … Đoạn mã thường gặp là:
<%
Dim vAuthorName, objRS, strSQL
vAuthorName = Request("fAUTHOR_NAME")
strSQL = "SELECT * FROM T_AUTHORS WHERE AUTHOR_NAME =' "
& _ vAuthorName & " ' "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN= "
…
Set objRS = №thing %>
Tương tự như trên, tin tặc có thể lợi dụng sơ hở trong câu truy vấn SQL để nhập vào trường tên tác giả bằng chuỗi giá trị:
Trang 37' DROP TABLE T_AUTHORS
Câu truy vấn sẽ thực hiện việc xóa bảng
c/ Dạng tấn công sử dụng câu lệnh INSERT
Thông thường các ứng dụng web cho phép người dùng đăng kí một tài khoản
để tham gia Chức năng không thể thiếu là sau khi đăng kí thành công, người dùng
có thể xem và hiệu chỉnh thông tin của mình SQL injection có thể được dùng khi
hệ thống không kiểm tra tính hợp lệ của thông tin nhập vào Ví dụ, một câu lệnh INSERT có thể có cú pháp dạng:
INSERT INTO TableName VALUES('Value One', 'Value Two', 'Value Three')
Nếu đoạn mã xây dựng câu lệnh SQL có dạng :
<%
strSQL = "INSERT INTO TableName VALUES(' " & strValueOne & " ', ' " _
& strValueTwo & " ', ' " & strValueThree & " ') "
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, "DSN= "
…
Set objRS = №thing %>
Thì chắc chắn sẽ bị lỗi SQL, bởi vì nếu ta nhập vào trường thứ nhất ví dụ như:
Trang 3835
' + (SELECT TOP 1 FieldName FROM TableName) + '
Lúc này câu truy vấn sẽ là :
INSERT INTO TableName VALUES(' ' + (SELECT TOP 1 FieldName FROM TableName) + ' ', 'abc', 'def')
Khi đó, lúc thực hiện lệnh xem thông tin, xem như bạn đã yêu cầu thực hiện thêm một lệnh nữa đó là:
SELECT TOP 1 FieldName FROM TableName
d/ Dạng tấn công sử dụng stored -procedures
Việc tấn công bằng stored-procedures sẽ gây tác hại rất lớn nếu ứng dụng được thực thi với quyền quản trị hệ thống 'sa' Ví dụ, nếu ta thay đoạn mã tiêm vào dạng: ' ; EXEC xp_cmdshell ‗cmdd.exe dir C: ' Lúc này hệ thống sẽ thực hiện lệnh liệt kê thư mục trên ổ đĩa C: cài đặt server Việc phá hoại kiểu nào tuỳ thuộc vào \ câu lệnh đằng sau cmd.exe
- Kiểm tra kĩ giá trị nhập vào của người dùng, thay thế những kí tự như ‗;v.v.‘
Hãy loại bỏ các kí tự meta như “',",/,\,;“ và các kí tự extend như NULL, CR,
LF…trong các string nhận được từ:
o Dữ liệu nhập do người dùng đệ trình
o Các tham số từ URL
Trang 3936
o Các giá trị từ cookie
- Đối với các giá trị numeric, hãy chuyển nó sang integer trước khi thực hiện câu truy vấn SQL, hoặc dùng ISNUMERIC để chắc chắn nó là một số integer
- Dùng thuật toán đểmã hoá dữ liệu
- Kiểm tra tính đúng đắn c aủ dữ liệu là 1 vấn đề phức tạp và thường chư ađượ quan tâm đúng mức trong các ứng dụng Khuynh hướng của việc kiểm tra tính c đúng đắn của dữ liệu không phải là chỉ cần thêm một số chức năng vào ứng dụng, mà phải kiểm tra một cách tổng quan nhanh chóng để đạt được mục đích
Có i ba giả pháp tiế ận vấn đề p c này:
1) Cố gắng m kiể tra và chỉnh ử s a đểlàm cho dữ liệu hợp l ệ
2) Loại bỏnhững dữ liệu t hợp ệbấ l
3) Chỉ chấp nhận những dữ liệu hợp lý
2.4.2 Chèn mã lệnh thực thi trên trình duyệt nạn nhân
Cross-Site Scripting hay còn được gọi tắt là XSS (thay vì gọi tắt là CSS để tránh nhầm lẫn với CSS Cascading Style Sheet của HTML) là một kĩ thuật tấn công -bằng cách chèn vào các website động (ASP, PHP, CGI, JSP .) những thẻ HTML hay những đoạn mã script nguy hiểm có thể gây nguy hại cho những người sử dụng khác Trong đó những đoạn mã nguy hiểm được chèn vào hầu hết được viết bằng Client-Site Script như javascript, Jscript, DHTML và cũng có thể là các thẻ HTML.XSS là một lỗi phổ biến, có rất nhiều trang web bị mắc phải lỗi này, chính vì thế ngày càng có nhiều người quan tâm đến lỗi này
2.4.2 1 Cách thức hoạt động
XSS hoạt động như thế nào? XSS cho phép attacker chèn các đoạn mã vào link của đường dẫn, để thực hiện trên trình duyệt của người dùng, dẫn đến việc mất cookies, mật khẩu, session hay chèn virus…Thường thì XSS có dạng như sau: http://www.xxx.vn//index.php?pg=news&cat=<script>alert(1)</script>
Và nội dung xuất hiện trên trình duyệt là một cái popup có thông tin là ‗1‘
TRUY TÌM LỖ HỔNG XSS CỦA ỨNG DỤNG WEB
Trang 4037
Cách 1: Sử dụng nhiều chương trình dò quét lỗi của ứng dụng web, ví dụ như
chương trình Web Vulnerability Scanner để dò quét lỗi XSS
Cách 2: Thực hiện 5 bước:
o Bước 1: Mở website cần kiểm tra
o Bước 2: Xác định các chỗ (phần) cần kiểm tra XSS 1 Site bất kỳ bao giờ cũng có các phần: Search, error message, web form Chủ yếu lỗi XSS nằm ở phần này, nói chung XSS có thể xảy ra ở chỗ nào mà người dùng có thể nhập dữ liệu vào
và sau đó nhận được một cái gì đó Ví dụ chúng ta nhập vào chuỗi ‗XSS‘
o Bước 3: Xác minh khả năng site có bị lỗi XSS hay không bằng cách xem các thông tin trả về Ví dụ chúng ta thấy thế này: ‗Không tìm thấy XSS…‘ , hay là ‗Tài khoản XSS không chính xác‘, ‗Đăng nhập với XSS không thành công‘… thì khi đó khả năng chỗ đó bị dính XSS là rất cao
o Bước 4: Khi đã xác định chỗ có khả năng bị dính lỗi XSS thì chúng ta sẽ chèn những đoạn code của chúng ta vào để thử tiếp, ví dụ như sau:
Chèn đoạn code này: < script>alert('XSS')< /script> vào ô bị lỗi và nhấn nút Login, nếu chúng ta nhận được một popup có chữ ‗XSS‘ thì 100% bị dính XSS Nhưng xin chú ý, thỉnh thoảng vẫn có trường hợp website đó bị dính XSS nhưng vẫn không xuất hiện cái popup thì buộc lòng bạn phải VIEW SOURCES (mổ bụng)
nó ra để xem Khi view sources nhớ kiếm dòng này < script>alert('XSS)< /script> , nếu có hì hết chạy, gọit http://websitebiloi.com/ là site bị dính lỗi XSS và ta tìm được nơi bị lỗi như thế này : http://websitebiloi.com/index.php?page=<script </ script>, nghĩa là ta có thể chèn code ngay trên thanh ADDRESS
o Bước 5: Lên kế hoạch kịch bản tấn công
2.4.2 2 Cách phòng chống
Như đã đề cập ở trên, một tấn công XSS chỉ thực hiện được khi gửi một trang web cho trình duyệt web của nạn nhân có kèm theo mã script độc của kẻ tấn công Vì vậy những người phát triển web có thể bảo vệ website của mình khỏi bị lợi dụng thông qua những tấn công XSS này, đảm bảo những trang phát sinh động không chứa các tag của script bằng cách lọc và xác nhận hợp lý các dữ liệu đầu vào