Ngàynay, nhờcó internet, cuộc sống con người được cải thiện rất nhiều,trao đổi
thông tin nhanh hơn và thuận tiện hơn. Thương mại điện tửtrên thếgiới đang có xu
hướng phát triển mạnh. Kỹthuật sốgiúp con người tiết kiệm đáng kểcác chi phí như
chi phí vận chuyển trung gian, chi phí giao dịch và đặc biệt là giúp tiết kiệm nguồn
nhân lực và thời gian đểcon người có thể đầu tưvào các hoạt động khác. Do đó, lợi
nhuận con người kiếm được gia tăng gấp bội. Không những thế, thương mại điện tửcòn
giúp con người có thểtìm kiếm tự động theo nhiều mục đích khác nhau, tự động cung
cấp thông tin theo nhu cầu và sởthích của con người Giờ đây, con người có thểngồi
tại nhà đểmua sắm mọi thứtheo ý muốn.
Khi Internet được phổbiến rộng răi, các tổchức, cá nhân đều có nhu cầu giới
thiệu thông tin của ḿình trên xa lộthông tin cũng nhưthực hiện các phiên giao dịch trực
tuyến. Vấn đềnảy sinh là khi phạm vi ứng dụng của các ứng dụng Web ngày càng mở
rộng thì khảnăng xuất hiện lỗi và bịtấn công càng cao, trởthành đối tượng cho nhiều
người tấn công với các mục đích khác nhau. Nhưphá hoại , đánh cắp thông tin mật , ăn
cắp tài khoản ,làm mất uy tín của công ty gây nhiều tổn hại nặng nề.Đôi khi, cũng
chỉ đơn giản là đểthửtài hoặc đùa bỡn với người khác nhưng không lường trước được
hậu quả.
114 trang |
Chia sẻ: tuandn | Lượt xem: 2481 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận văn Tìm hiểu các cơ chế để bảo mật hệ thống thương mại điện tử Web Security, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc
Bảo
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 1
Lời cảm ơn
Sau gần 3 tháng nỗ lực thực hiện, luận văn nghiên cứu “tìm hiểu các cơ chế để bảo
mật hệ thống thương mại điện tử - web security ” đã phần nào hoàn thành. Ngoài sự cố
gắng hết mình của bản thân, tôi đã nhận được sự khích lệ rất nhiều từ phía nhà trường,
thầy cô, gia đình và bạn bè.
Trước hết con xin cám ơn ba mẹ đã luôn động viên và tạo mọi điều kiện tốt để
con học tập và hoàn thành luận văn tốt nghiệp này.
Em xin cám ơn thầy cô trường Đại Học Kỷ Thuật Công Nghệ đã truyền đạt những
kiến thức quý báu cho em trong suốt quá trình học tập. Đặc biệt, em xin bày tỏ lòng
chân thành sâu sắc đến thầy Huỳnh Quốc Bảo, người đã tận tình hướng dẫn và giúp
đỡ em trong quá trình làm luận văn tốt nghiệp.
Xin cám ơn tất cả bạn bè đã và đang động viên, giúp đỡ tôi trong quá trình học tập
và hoàn thành tốt luận văn tốt nghiệp này.
Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc
Bảo
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 2
MỤC LỤC
TỔ CHỨC LUẬN VĂN.......................................................................................8
CHƯƠNG 1: TÌM HIỂU ỨNG DỤNG WEB ........................................................9
1.1. Kiến trúc cơ bản của ứng dụng web ............................................................9
1.2. Hoạt động của ứng dụng web...................................................................10
1.3. Kết nối với các cơ sở dữ liệu......................................................................12
CHƯƠNG 2 : TÌM HIỂU QUÁ TRÌNH TẤN CÔNG CỦA HACKER ..................14
2.1. Các quy trình : ..........................................................................................14
2.2. Kết luận.....................................................................................................19
CHƯƠNG 3 : TÌM HIỂU TẤN CÔNG CHÈN THAM SỐ ...................................20
3.1. HTML Form Field Manipulation – thao tác trên biến ẩn form ...................21
3.1.1 Khái niệm ........................................................................................................ 21
3.1.2. Kĩ thuật phòng chống ..................................................................................... 22
3.2. URL Manipulation – thao tác trên URL :...................................................23
3.2.1 Khái niệm ........................................................................................................ 23
3.2.2. Kĩ thuật phòng chống ..................................................................................... 24
3.3. HTTP Header Manipulation – thao tác trên HTTP header: ......................25
3.3.1 Khái niệm : ...................................................................................................... 25
3.3.2. Kĩ thuật phòng chống ..................................................................................... 29
3.4. Hidden Manipulation - Thao tác vùng ẩn..................................................29
3.4.1. Khái niệm ....................................................................................................... 29
3.4.2. Cách phòng chống .......................................................................................... 29
CHƯƠNG 4 : TẤN CÔNG TRÀN BỘ ĐỆM BUFFER OVERFLOW ATTACKS 31
4.1. Buffer Overflow Attacks ............................................................................31
4.2. Cách phòng chống...................................................................................32
Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc
Bảo
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 3
CHƯƠNG 5 : CHÈN MÃ THỰC THI TRÊN TRÌNH DUYỆT
CROSS SITE SCRIPTING ..............................................................................33
5.1. Khái niệm XSS..........................................................................................33
5.2. Phương thức hoạt động XSS ......................................................................33
5.3. Truy tìm lổ hổng XSS của ứng dụng web.................................................36
5.4. Các bước thực hiện tấn công XSS : ...........................................................37
5.5. Cách phòng chống....................................................................................38
CHƯƠNG 6 : TẤN CÔNG PHIÊN LÀM VIÊC...................................................40
6.1. Sự ra đời và khái niệm ..............................................................................40
6.1.1. Sự ra đời của session ...................................................................................... 40
6.1.2. Khái niệm : ..................................................................................................... 40
6.2. Cơ chế tấn công phiên làm việc .................................................................41
6.2.1. Ấn định phiên làm việc( session fixation) ..................................................... 41
6.2.2. Đánh cắp phiên làm việc( session hijacking) ................................................ 43
6.3. Cách phòng chống :..................................................................................46
CHƯƠNG 7: CHÈN CÂU TRUY VẤN - SQL INJECTION.................................48
7.1. Khái niệm SQL injection ...........................................................................48
7.2 Các cách tấn công .....................................................................................48
7.2.1. Dạng tấn công vượt qua kiểm tra đăng nhập.................................................. 48
7.2.2. Tấn công dưa vào câu lệnh SELECT............................................................. 52
7.2.3. Tấn công dựa vào câu lệnh kết hợp UNION.................................................. 53
7.2.4. Dạng tấn công sử dụng câu lệnh INSERT..................................................... 54
7.2.5. Dạng tấn công sử dụng stored-procedures ..................................................... 55
7.3. Cách phòng tránh .....................................................................................56
7.3.1. Kiểm soát chặt chẽ dữ liệu nhập vào.............................................................. 56
7.3.2. Thiết lập cấu hình an toàn cho hệ quản trị cơ sở dữ liệu ............................... 58
CHƯƠNG 8 : TẤN CÔNG TỪ CHỐI DỊCH VỤ - DENY of SERVICES............59
8.1. Khái niệm về Tcp bắt tay ba chiều: ..........................................................59
8.2. Tấn công kiểu SYN flood..........................................................................60
Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc
Bảo
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 4
8.3. Kiểu tấn công Land Attack........................................................................62
8.4. Kiểu tấn công UDP flood ..........................................................................62
8.5. Flood Attack..............................................................................................62
8.6. Tấn công kiểu DDoS (Distributed Denial of Service)................................63
8.7. Tấn công DRDoS (Distributed Reflection Denial of Service) – Tấn công từ
chối dịch vụ phản xạ nhiều vùng. ....................................................................65
8.8. Tấn công các nguồn tài nguyên khác.......................................................67
8.9. Các cách phòng chống.............................................................................68
CHƯƠNG 9 : NHỮNG KẾT LUẬN TRONG QUÁ TRÌNH PHÒNG CHỐNG....70
9.1. Nhiệm vụ nhà quản trị mạng.....................................................................70
9.2 .Nhiệm vụ người thiết kế ứng dụng web ....................................................71
9.3. Nhiệm vụ người sử dụng ứng dụng web...................................................72
CHƯƠNG 10: GIỚI THIỆU CÁC GIẢI PHÁP BẢO MẬT HỆ THỐNG MẠNG .73
10.1. Firewall (Bức tường lửa) .........................................................................73
10.1.1. Giới thiệu về firewall ................................................................................... 73
10.1.2. Phân loại Firewall......................................................................................... 73
10.1.3. Sản phầm của Firewall................................................................................ 74
10.1.4. Chức năng chính của Firewall ..................................................................... 76
10.1.5 Các kỹ thuật dùng trong Firewall.................................................................. 77
10.2 Intrusion detection system (Hệ thống phát hiện xâm nhập) ....................83
10.2.1 Khái niệm: ..................................................................................................... 83
10.2.2. Mô hình hoạt động. ...................................................................................... 84
10.2.2.1 Chi tiết về IDS ........................................................................................ 85
10.2.2.2 Đánh giá về mức độ an toàn của hệ thống:............................................. 86
10.2.2.3 Khả năng phát triển trong tương lai:....................................................... 86
10.3. Intrusion Prevension System ( Hệ thống ngăn chặn xâm nhập) .............87
10.3.1 Khái niệm: ..................................................................................................... 87
10.3.1.1 Chức năng:.............................................................................................. 87
10.3.1.2. Mô hình lý luận: .................................................................................... 88
Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc
Bảo
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 5
10.3.2 Mô hình hoạt động: ....................................................................................... 88
10.3.3. Các thành phần của IPS:............................................................................... 89
10.3.3.1. Phân tích sự hoạt động liên thành phần:................................................ 89
10.3.3.2. Đánh giá về mức độ an toàn của hệ thống: .......................................... 90
10.3.3.3 Khả năng phát triển trong tương lai:....................................................... 90
CHƯƠNG 11: DEMO THỰC TẾ CÀI ĐẶT VÀ CẤU HÌNH TƯỜNG LỬA
“IPCOP” ...........................................................................................................91
11.1. Giới thiệu ................................................................................................91
11.2.Triển khai IPCOP firewall/ IDS.................................................................94
11.3. Quản trị IPCOP firewall/IDS ................................................................103
KẾT LUẬN .....................................................................................................113
TÀI LIỆU THAM KHẢO..................................................................................114
Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc
Bảo
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 6
GIỚI THIỆU
Ngày nay, nhờ có internet, cuộc sống con người được cải thiện rất nhiều, trao đổi
thông tin nhanh hơn và thuận tiện hơn. Thương mại điện tử trên thế giới đang có xu
hướng phát triển mạnh. Kỹ thuật số giúp con người tiết kiệm đáng kể các chi phí như
chi phí vận chuyển trung gian, chi phí giao dịch… và đặc biệt là giúp tiết kiệm nguồn
nhân lực và thời gian để con người có thể đầu tư vào các hoạt động khác. Do đó, lợi
nhuận con người kiếm được gia tăng gấp bội. Không những thế, thương mại điện tử còn
giúp con người có thể tìm kiếm tự động theo nhiều mục đích khác nhau, tự động cung
cấp thông tin theo nhu cầu và sở thích của con người… Giờ đây, con người có thể ngồi
tại nhà để mua sắm mọi thứ theo ý muốn.
Khi Internet được phổ biến rộng răi, các tổ chức, cá nhân đều có nhu cầu giới
thiệu thông tin của ḿình trên xa lộ thông tin cũng như thực hiện các phiên giao dịch trực
tuyến. Vấn đề nảy sinh là khi phạm vi ứng dụng của các ứng dụng Web ngày càng mở
rộng thì khả năng xuất hiện lỗi và bị tấn công càng cao, trở thành đối tượng cho nhiều
người tấn công với các mục đích khác nhau. Như phá hoại , đánh cắp thông tin mật , ăn
cắp tài khoản ,làm mất uy tín của công ty … gây nhiều tổn hại nặng nề .Đôi khi, cũng
chỉ đơn giản là để thử tài hoặc đùa bỡn với người khác nhưng không lường trước được
hậu quả.
Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc
Bảo
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 7
Cùng với sự phát triển không ngừng của Internet và các dịch vụ trên Internet, số
lượng các vụ tấn công trên Internet cũng tăng theo cấp số nhân. Trong khi các phương
tiện thông tin đại chúng ngày càng nhắc nhiều đến những khả năng truy nhập thông tin
của Internet, thì các tài liệu chuyên môn bắt đầu đề cập nhiều đến vấn đề bảo đảm và an
toàn dữ liệu cho các máy tính được kết nối vào mạng Internet.
Công nghệ Web đang phát triển nhanh chóng , tuy nhiên theo thị hiếu, chỉ chủ
yếu chú trọng đến yếu tố thẩm mĩ, yếu tố tốc độ , sự tiện dụng … nên dẫn đến nhiều
khuyết điểm về sự bảo mật và độ an toàn . Sự tấn công không nằm trong khuôn khổ vài
kỹ thuật đă phát hiện, mà linh động và tăng lên tùy vào những sai sót của nhà quản trị hệ
thống cũng như của những người lập trình ứng dụng và cả đối với người sử dụng.
Luận văn được thực hịên với mục đích tìm hiểu, phân tích các lỗ hổng bảo mật
trong các ứng dụng web để qua đó đề xuất các phương án khắc phục. Song song đó,
luận văn sẽ DEMO bằng một chương trình mã nguồn mở dựa trên cơ chế của firewall
và IDS rất hữu ích cho những người quản trị bảo mật hệ thống.
Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc
Bảo
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 8
TỔ CHỨC LUẬN VĂN
Luận văn được chia thành 11 chương
Chương đầu tiên tìm hiểu và giới thiệu các ứng dụng web cơ bản, các vấn đề cơ bản
làm nền tảng cho các kiến thức tấn công các lổi bảo mật
Từ chương 2 đến chương 8 : Tìm hiểu quá trình và các phương pháp tấn công của
hacker, từ đó tìm ra các biện pháp phòng chống khắc phục .
Chương 9 đến chương 10: Rút ra kết luận quá trình bảo mật phòng chống chung và
giới thiệu các giải pháp, công nghệ bảo mật như firewall, IDS, IPS… cho những nhà
quản trị hệ thống
Chương cuối là thực hiện Demo triển khai và cấu hình firewall IPCOP trên hệ thống
mạng máy tính ảo. Thử nghiệm các phương pháp tấn công, sau đó dùng hệ thống IDS
tích hợp sẵn IPCOP để phát hiện tấn công đó.
Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc
Bảo
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 9
CHƯƠNG 1: TÌM HIỂU ỨNG DỤNG WEB
Web application là một ứng dụng, thường bao gồm một tập hợp các script cư
trú ở Web server và tương tác với database hay các nguồn nội dung động khác
(dynamic content). Ứng dụng này nhanh chóng được sử dụng rộng rãi vì nó cho phép
nhà cung cấp dịch vụ và khách hàng chia sẻ và vận dụng thông tin theo các độc lập
nền thông qua cơ sở hạ tầng của Internet. Một vài ví dụ về web application như: công
cụ search, Webmail, shopping cart và portal system.
1.1. Kiến trúc cơ bản của ứng dụng web
Về cơ bản, một ứng dụng web bao gồm vài thành phần, các thành phần này là
một web server, nội dung ứng dụng có trên 1 web server, và tiêu biểu là nơi lưu trử dử
liệu cuối cùng cho các giao diện và truy cập ứng dụng. Đây là mục tiêu rất cơ bản của
ứng dụng.
Kiến trúc ứng dụng web được tạo bởi các thành phần sau :
- Web server
- Nội dung ứng dụng (Application content)
- Lưu trữ dử liệu (datastore)
1.1.1. Web server
Web server là dịch vụ chạy trên máy tính phục vụ nội dung web. Dịch vụ này
tiểu biểu lắng nghe trên các cổng 80 cho giao thức http hoặc trên cổng 443 ( https).
Đôi khi các webserver cũng chạy trên các cổng không chuẩn. Microsoft’s Internet
Imformation Server(IIS) và Apache là ví dụ về các webserver hiên nay. Nó được chú
Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc
Bảo
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 10
Hầu hết việc truyền thông các web servers sử dụng Hyper Text Tranfer
Protocol (giao thức truyền siêu văn bản - HTTP) và các yêu cầu được tiền tố đặt trước
là “ http://”. Các thông tin của HTTP được tìm thấy trong RFC 2616 và RFC 1945
Ý tưởng ứng dụng web chạy trên giao thức SSL webserver sẽ được truy cập
bằng giao thức HTTPS( Hyper Text Transfer Protocol Secure) với tiếp đầu ngữ là “
https://”. Thông tin tìm thấy từ RFC 2818
1.1.2. Application Content ( nội dung ứng dụng )
Nội dung ứng dụng là một chương trình tác động để lấy các yêu cầu và sử dụng
các tham số được gởi bởi trình duyệt để thực hiện một chức năng nào đó. Nội dung
của ứng dụng tồn tai trên webserver. Nội dung ứng dụng là một nội dung không cố
định hay đúng hơn là nội dung lập trình logic hay nội dung mà thực hiện các hành
động khác nhau dựa trên tham số được gởi từ client. Theo cách này, các chương trình
sẽ được thực thi hoặc được biên dịch khác nhau rất lớn.
Ví du, PHP là một trình biên dịch được ghi vào trong hệ nhị phân máy chủ web
và sự tác động các kịch bản PHP là khi được biên dịch bởi máy chủ web của chính nó.
CGI là một chương trình lưu trú trong một thư mục đặ biệt của máy chủ web và khi
những yêu cầu được tạo ra trang đó, máy chủ web thực thi các lệnh.
Trong một số trường hợp, các chương trình trong thư mục CGI sẽ trở thành
kịch bản PERL. Những trường hợp này máy chủ web sẽ thực hiện phiên dịch PERL
mà nó sẽ xử lý từng đặc điểm các chức năng trong kịch bản đó.
1.1.3.The Data Store ( lưu trữ dử liệu)
Data Store là đặc trưng của cơ sở dử liệu, nhưng nó có thể là mọi thứ, flat files,
lệnh xuất dử liệu, về cơ bản mọi thứ mà ứng dụng truy cập để nhận hoặc lưu trử dử
liệu. Data store có thể lưu trú trên một máy tính hoàn toàn khác nhau so với web server
chỉ chạy trên nó. Web server và data store không cần thiết phải trên cùng một network,
chỉ cần tiếp cận nhau qua một kết nối mạng.
1.2. Hoạt động của ứng dụng web
Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc
Bảo
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Hình bên dưới minh họa mô hình ứng dụng Web ba tầng. Tầng đầu tiên thông
thường là trình duyệt Web hoặc giao diện người dùng. Tầng thứ hai là công nghệ kỹ
thuật tạo nội dung động như Java servlets (JSP) hay Active Server Pages (ASP). Còn
tầng thứ ba là cơ sở dữ liệu chứa nội dung và dữ liệu người dùng (như username,
password, mã số bảo mật xã hội, chi tiết thẻ tín dụng).
Hình 1-1: kiến trúc một ứng dụng web
Quá trình hoạt động bắt đầu với yêu cầu được tạo ra từ người dùng trên trình
duyệt, gửi qua Internet tới trình chủ Web ứng dụng (Web application Server). Web
ứng dụng truy cập máy chủ chứa cơ sở dữ liệu để thực hiện nhiệm vụ được yêu cầu:
cập nhật, truy vấn thông tin đang nằm trong cơ sở dữ liệu. Sau đó ứng dụng Web gửi
thông tin lại cho người dùng qua trình duyệt.
Trang 11
Đề tài: “Web-security” GVHD: ThS. Huỳnh Quốc
Bảo
SVTH: Lê Bá Quý – MSSV: 02DHCT078
Trang 12
1.3. Kết nối với các cơ sở dữ liệu
Một ứng dụng phải được viết trong một ngôn ngữ chủ được hổ trợ bởi hệ thống
đặc biệt.Mổi DBMS(Database Managerment System) có cách sở hữu những ứng dụng
được cho phép sử dụng nó. Ưu điểm của SQL làm dể dàng các nhà phát triển để chuẩn
hóa dử liệu định nghĩa và dử liệu thao tác và hầu hết các nhà quản trị cơ sở dử liệu
chon SQL là ngôn ngữ truy vấn của họ.
Tuy nhiên , ứng dụng và sự phân chia cơ sở dử liệu chỉ đạt được ưu điểm của
mô hình lập trình Client-Server. Giao diện ứng dụng với cơ sở dử liệu bằng phương
pháp kết nối cơ sỏ dử liệu APIs cung cấp với ngôn ngữ lập trình được sử dụng để phát
triển ứng dụng. Những bộ kết nối cơ sở dử liệu APIs là có thể lưu trữ những thông tin
kết nối cơ sở dử liệu và ủy nhiệm thư, và c