Đề tài Các lỗ hỏng thường gặp trên hệ thống Website
A. Lỗ hổng bảo mật Trên Hệ Thống Website:
1.Khái Niệm:
Các lỗ hổng bảo mật trên một hệ thống là các điểm yếu có thể tạo ra sự
ngưng trệ của dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép
các truy nhập không hợp pháp vào hệ thống. Các lỗ hổng cũng có thể nằm
ngay các dịch vụ cung cấp như sendmail, web, ftp . Ngoài ra các lỗ hổng
còn tồn tại ngay chính tại hệ điều hành như trong Windows NT, Windows
95, UNIX; hoặc trong các ứng dụng mà người sử dụng thương xuyên sử
dụng như Word processing, Các hệ databases.
2.Phân loại lỗ hổng bảo mật :
Có nhiều tổ chức khác nhau tiến hành phân loại các dạng lỗ hổng đặc biêt.
Theo cách phân loại của Bộ quốc phòng Mỹ, các loại lỗ hổng bảo mật trên
một hệ thống được chia như sau:
- Lỗ hổng loại C: các lỗ hổng loại này cho phép thực hiện các phương
thức tấn công theo DoS (Dinal of Services - Từ chối dịch vụ). Mức độ
nguy hiểm thấp, chỉ ảnh hưởng tới chất lượng dịch vụ, có thể làm ngưng
trệ, gián đoạn hệ thống; không làm phá hỏng dữ liệu hoặc đạt được quyền
truy nhập bất hợp pháp
- Lổ hổng loại B: Các lỗ hổng cho phép người sử dụng có thêm các quyền
trên hệ thống mà không cần thực hiện kiểm tra tính hợp lệ. Mức độ nguy
hiểm trung bình; Những lỗ hổng này thường có trong các ứng dụng trên
hệ thống; có thể dẫn đến mất hoặc lộ thông tin yêu cầu bảo mật.
- Lỗ hổng loại A: Các lỗ hổng này cho phép người sử dụng ở ngoài có thể
truy nhập vào hệ thống bất hợp pháp. Lỗ hổng rất nguy hiểm, có thể làm
phá hủy toàn bộ hệ thống.
Sau đây sẽ phân tích một số lỗ hổng bảo mật thường xuất hiện trên mạng
và hệ thống
Tóm tắt nội dung tài liệu: Đề tài Các lỗ hỏng thường gặp trên hệ thống Website
2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 1 Đề Tài: Các Lỗ Hỏng Thường Gặp Trên Hệ Thống Website 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 2 A. Lỗ hổng bảo mật Trên Hệ Thống Website: 1.Khái Niệm: Các lỗ hổng bảo mật trên một hệ thống là các điểm yếu có thể tạo ra sự ngưng trệ của dịch vụ, thêm quyền đối với người sử dụng hoặc cho phép các truy nhập không hợp pháp vào hệ thống. Các lỗ hổng cũng có thể nằm ngay các dịch vụ cung cấp như sendmail, web, ftp ... Ngoài ra các lỗ hổng còn tồn tại ngay chính tại hệ điều hành như trong Windows NT, Windows 95, UNIX; hoặc trong các ứng dụng mà người sử dụng thương xuyên sử dụng như Word processing, Các hệ databases... 2.Phân loại lỗ hổng bảo mật : Có nhiều tổ chức khác nhau tiến hành phân loại các dạng lỗ hổng đặc biêt. Theo cách phân loại của Bộ quốc phòng Mỹ, các loại lỗ hổng bảo mật trên một hệ thống được chia như sau: - Lỗ hổng loại C: các lỗ hổng loại này cho phép thực hiện các phương thức tấn công theo DoS (Dinal of Services - Từ chối dịch vụ). Mức độ nguy hiểm thấp, chỉ ảnh hưởng tới chất lượng dịch vụ, có thể làm ngưng trệ, gián đoạn hệ thống; không làm phá hỏng dữ liệu hoặc đạt được quyền truy nhập bất hợp pháp - Lổ hổng loại B: Các lỗ hổng cho phép người sử dụng có thêm các quyền trên hệ thống mà không cần thực hiện kiểm tra tính hợp lệ. Mức độ nguy hiểm trung bình; Những lỗ hổng này thường có trong các ứng dụng trên hệ thống; có thể dẫn đến mất hoặc lộ thông tin yêu cầu bảo mật. - Lỗ hổng loại A: Các lỗ hổng này cho phép người sử dụng ở ngoài có thể truy nhập vào hệ thống bất hợp pháp. Lỗ hổng rất nguy hiểm, có thể làm phá hủy toàn bộ hệ thống. Sau đây sẽ phân tích một số lỗ hổng bảo mật thường xuất hiện trên mạng và hệ thống 3.Các kiểu tấn công thường gặp: 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 3 -SQL Injection. - Cross site scripting (XSS): non-persistent -Local Attack -Google Hack B. Các Kiểu Tấn Công Thường Gặp Và Cách Phòng Chống: I/SQL ịnjection: 1. SQL Injection là gì? Khi triển khai các ứng dụng web trên Internet, nhiều người vẫn nghĩ rằng việc đảm bảo an toàn, bảo mật nhằm giảm thiểu tối đa khả năng bị tấn công từ các tin tặc chỉ đơn thuần tập trung vào các vấn đề như chọn hệ điều hành, hệ quản trị cơ sở dữ liệu, webserver sẽ chạy ứng dụng, ... mà quên mất rằng ngay cả bản thân ứng dụng chạy trên đó cũng tiềm ẩn một lỗ hổng bảo mật rất lớn. Một trong số các lỗ hổng này đó là 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 trong việc kiểm tra dữ liệu nhập 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 để "tiêm vào" (inject) và thi hành các câu lệnh SQL bất hợp pháp (không được người phát triển ứng dụng lường trước). Hậu quả của nó rất tai hại vì nó cho phép những kẻ tấn công có thể thực hiện các thao tác xóa, hiệu chỉnh, do có toàn quyền 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, Sysbase. 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 4 2. Các dạng tấn công bằng SQL Injection Có bốn dạng thông thường bao gồm: vượt qua kiểm tra lúc đăng nhập (authorization bypass), sử dụng câu lện SELECT, sử dụng câu lệnh INSERT, sử dụng các stored-procedures a. Dạng tấn công vượt qua kiểm tra đă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. Một ví dụ điển hình, thông thường để cho phép người dùng truy cập 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 5 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 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. Trong trường hợp này, người ta có thể dùng hai trang, một trang HTML để hiển thị form nhập liệu và một trang ASP dùng để xử lí thông tin nhập từ phía người dùng. Ví dụ: CODE Username: Password: CODE <% Dim vUsrName, vPassword, objRS, strSQL vUsrName = Request.Form("fUSRNAME") vPassword = Request.Form("fPASSWORD") 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." Else Response.Write "You are logged in as " & objRS("USR_NAME") End If Set objRS = Nothing %> 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 6 Thoạt nhìn, đoạn mã dường như không chứa bất cứ một lỗ hổng về an toàn nào. Người dùng không thể đăng nhập mà không có tên đăng nhập và mật khẩu hợp lệ. Tuy nhiên, đoạn mã này thực sự không an toàn và là tiền đề cho một lỗi SQL injection. Đặc biệt, sơ hở 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 những kẻ tấn công 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 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. Xét một ví dụ rất thường gặp trong các website về tin tức. Thông thường, sẽ có một trang nhận ID của tin cần hiển thị rồi sau đó truy vấn nội dung của tin có ID này. Mã nguồn cho chức năng này thường được viết khá đơn giản theo dạng CODE <% Dim vNewsID, objRS, strSQL vNewsID = Request("ID") strSQL = "SELECT * FROM T_NEWS WHERE NEWS_ID =" & vNewsID 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 7 3 Set objRS = Server.CreateObject("ADODB.Recordset") objRS.Open strSQL, "DSN=..." Set objRS = Nothing %> Trong các tình huống thông thường, đoạn mã này hiển thị nội dung của tin có ID trùng với ID đã chỉ định và hầu như không thấy có lỗi. Tuy nhiên, giống như ví dụ đăng nhập ở trước, đoạn mã này để lộ sơ hở cho một lỗi SQL injection khác. Kẻ tấn công có thể thay thế một ID hợp lệ bằng cách gán ID cho một giá trị khác, và từ đó, khởi đầu cho một cuộc tấn công bất hợp pháp, ví dụ như: 0 OR 1=1 Câu truy vấn SQL lúc này sẽ trả về tất cả các article từ bảng dữ liệu vì nó sẽ thực hiện câu lệnh: SELECT * FROM T_NEWS WHERE NEWS_ID=0 or 1=1 Một trường hợp khác, ví dụ như trang tìm kiếm. 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à: CODE <% 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 = Nothing %> 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 8 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 bằng chuỗi giá trị: ' UNION SELECT ALL SELECT OtherField FROM OtherTable WHERE ' '=' (*) Lúc này, ngoài câu truy vấn đầu không thành công, chương trình sẽ thực hiện thêm lệnh tiếp theo sau từ khóa UNION nữa. Tất nhiên các ví dụ nói trên, dường như không có gì nguy hiểm, nhưng kẻ tấn công có thể xóa toàn bộ cơ sở dữ liệu bằng cách chèn vào các đoạn lệnh nguy hiểm như lệnh DROP TABLE. Ví dụ như: ' DROP TABLE T_AUTHORS -- Nhập vào chuỗi (*) như trên, nếu hệ thống báo lỗi về cú pháp dạng: Invalid object name “OtherTable”; ta có thể biết chắc là hệ thống đã thực hiện câu SELECT sau từ khóa UNION, vì như vậy mới có thể trả về lỗi mà ta đã cố tình tạo ra trong câu lệnh SELECT. Cũng sẽ có thắc mắc là làm thế nào có thể biết được tên của các bảng dữ liệu mà thực hiện các thao tác phá hoại khi ứng dụng web bị lỗi SQL injection. Cũng rất đơn giản, bởi vì trong SQL Server, có hai đối tượng là sysobjects và syscolumns cho phép liệt kê tất cả các tên bảng và cột có trong hệ thống. Ta chỉ cần chỉnh lại câu lệnh SELECT, ví dụ: ' UNION SELECT name FROM sysobjects WHERE xtype = 'U' là có thể liệt kê được tên tất cả các bảng dữ liệu. 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 : CODE 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 9 <% strSQL = "INSERT INTO TableName VALUES(' " & strValueOne & " ', ' " _ & strValueTwo & " ', ' " & strValueThree & " ') " Set objRS = Server.CreateObject("ADODB.Recordset") objRS.Open strSQL, "DSN=..." Set objRS = Nothing %> Thì sẽ bị lỗi SQL injection, bởi vì nếu ta nhập vào trường thứ nhất ví dụ như: ' + (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 t ... lưu hành nội bộ 44 hiểm nhất. Công ty này đã đưa ra một nghệ mới trong Veritas, VxMS (Dịch vụ bản đồ hóa Veritas – Veritas Mapping Service), đưa ra bộ quét chống virus bỏ qua Windows File System API, thành phần được điều khiển bởi hệ điều hành có thể gây ra lỗ hổng bởi một rootkit. VxMS truy cập trực tiếp vào các file thô của hệ thống Windows NT File System. Bên cạnh đó các hãng phần mềm chống virus khác cũng đang cố gắng trong việc chống lại rootkit này gồm có McAfee và FSecure. B.Dos : 1.Khái Niệm: -Tấn công DoS là kiểu tấn công vô cùng nguy hiểm, để hiểu được nó ta cần phải lắm rõ định nghĩa của tấn công DoS và các dạng tấn công DoS. - Tấn công DoS là một kiểu tấn công mà một người làm cho một hệ thống không thể sử dụng, hoặc làm cho hệ thống đó chậm đi một cách đáng kể với người dùng bình thường, bằng cách làm quá tải tài nguyên của hệ thống. - Nếu kẻ tấn công không có khả năng thâm nhập được vào hệ thống, thì chúng cố gắng tìm cách làm cho hệ thống đó sụp đổ và không có khả năng phục vụ người dùng bình thường đó là tấn công Denial of Service (DoS). Mặc dù tấn công DoS không có khả năng truy cập vào dữ liệu thực của hệ thống nhưng nó có thể làm gián đoạn các dịch vụ mà hệ thống đó cung cấp. Như định nghĩa trên DoS khi tấn công vào một hệ thống sẽ khai thác những cái yếu nhất của hệ thống để tấn công, những mục đích của tấn công DoS. 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 45 2. Mục Đích: - Cố gắng chiếm băng thông mạng và làm hệ thống mạng bị ngập (flood), khi đó hệ thống mạng sẽ không có khả năng đáp ứng những dịch vụ khác cho người dùng bình thường. - Cố gắng làm ngắt kết nối giữa hai máy, và ngăn chặn quá trình truy cập vào dịch vụ. - Cố gắng ngăn chặn những người dùng cụ thể vào một dịch vụ nào đó - Cố gắng ngăn chặn các dịch vụ không cho người khác có khả năng truy cập vào. - Khi tấn công DoS xảy ra người dùng có cảm giác khi truy cập vào dịch vụ đó như bị: + Disable Network - Tắt mạng + Disable Organization - Tổ chức không hoạt động + Financial Loss – Tài chính bị mất 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 46 3. Mục Tiêu Tấn Công: Như chúng ta biết ở bên trên tấn công DoS xảy ra khi kẻ tấn công sử dụng hết tài nguyên của hệ thống và hệ thống không thể đáp ứng cho người dùng bình thường được vậy các tài nguyên chúng thường sử dụng để tấn công là gì: - Tạo ra sự khan hiếm, những giới hạn và không đổi mới tài nguyên - Băng thông của hệ thống mạng (Network Bandwidth), bộ nhớ, ổ đĩa, và CPU Time hay cấu trúc dữ liệu đều là mục tiêu của tấn công DoS. - Tấn công vào hệ thống khác phục vụ cho mạng máy tính như: hệ thống điều hoà, hệ thống điện, hệt hống làm mát và nhiều tài nguyên khác của doanh nghiệp. Bạn thử tưởng tượng khi nguồn điện vào máy chủ web bị ngắt thì người dùng có thể truy cập vào máy chủ đó không. - Phá hoại hoặc thay đổi các thông tin cấu hình. - Phá hoại tầng vật lý hoặc các thiết bị mạng như nguồn điện, điều hoà 4. Các kiểu tấn công : Tấn công Denial of Service chia ra làm hai loại tấn công - Tấn công DoS: Tấn công từ một cá thể, hay tập hợp các cá thể. - Tấn công DDoS: Đây là sự tấn công từ một mạng máy tính được thiết kế để tấn công tới một đích cụ thể nào đó. Các dạng tấn công DoS - Smurf - Buffer Overflow Attack 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 47 - Ping of Death - Teardrop - SYN Attack a. Tấn công Smurf - Là thủ phạm sinh ra cực nhiều giao tiếp ICMP (ping) tới địa chỉ Broadcast của nhiều mạng với địa chỉ nguồn là mục tiêu cần tấn công. * Chúng ta cần lưu ý là: Khi ping tới một địa chỉ là quá trình hai chiều – Khi máy A ping tới máy B máy B reply lại hoàn tất quá trình. Khi tôi ping tới địa chỉ Broadcast của mạng nào đó thì toàn bộ các máy tính trong mạng đó sẽ Reply lại tôi. Nhưng giờ tôi thay đổi địa chỉ nguồn, thay địa chỉ nguồn là máy C và tôi ping tới địa chỉ Broadcast của một mạng nào đó, thì toàn bộ các máy tính trong mạng đó sẽ reply lại vào máy C chứ không phải tôi và đó là tấn công Smurf. - Kết quả đích tấn công sẽ phải chịu nhận một đợt Reply gói ICMP cực lớn và làm cho mạng bị dớt hoặc bị chậm lại không có khả năng đáp ứng các dịch vụ khác. - Quá trình này được khuyếch đại khi có luồng ping reply từ một mạng được kết nối với nhau (mạng BOT). 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 48 - tấn công Fraggle, chúng sử dụng UDP echo và tương tự như tấn công Smurf. b.Tấn công Buffer overflow - Buffer Overflow xảy ra tại bất kỳ thời điểm nào có chương trình ghi lượng thông tin lớn hơn dung lượng của bộ nhớ đệm trong bộ nhớ. - Kẻ tấn công có thể ghi đè lên dữ liệu và điều khiển chạy các chương trình và đánh cắp quyền điều khiển của một số chương trình nhằm thực thi các đoạn mã nguy hiểm. - Tấn công Buffer Overflow tôi đã trình bày cách khai thác lỗi này trong bài viết trước về hacking windows cũng trên trang www.vnexperts.net. 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 49 - Quá trình gửi một bức thư điện tử mà file đính kèm dài quá 256 ký tự có thể sẽ xảy ra quá trình tràn bộ nhớ đệm. c. Tấn công Ping of Death - Kẻ tấn công gửi những gói tin IP lớn hơn số lương bytes cho phép của tin IP là 65.536 bytes. - Quá trình chia nhỏ gói tin IP thành những phần nhỏ được thực hiện ở layer II. - Quá trình chia nhỏ có thể thực hiện với gói IP lớn hơn 65.536 bytes. Nhưng hệ điều hành không thể nhận biết được độ lớn của gói tin này và sẽ bị khởi động lại, hay đơn giản là sẽ bị gián đoạn giao tiếp. 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 50 - Để nhận biết kẻ tấn công gửi gói tin lớn hơn gói tin cho phép thì tương đối dễ dàng. d.Tấn công Teardrop - Gói tin IP rất lớn khi đến Router sẽ bị chia nhỏ làm nhiều phần nhỏ. - Kẻ tấn công sử dụng sử dụng gói IP với các thông số rất khó hiểu để chia ra các phần nhỏ (fragment). - Nếu hệ điều hành nhận được các gói tin đã được chia nhỏ và không hiểu được, hệ thống cố gắng build lại gói tin và điều đó chiếm một phần tài nguyên hệ thống, nếu quá trình đó liên tục xảy ra hệ thống không còn tài nguyên cho các ứng dụng khác, phục vụ các user khác. e. Tấn công SYN 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 51 - Kẻ tấn công gửi các yêu cầu (request ảo) TCP SYN tới máy chủ bị tấn công. Để xử lý lượng gói tin SYN này hệ thống cần tốn một lượng bộ nhớ cho kết nối. - Khi có rất nhiều gói SYN ảo tới máy chủ và chiếm hết các yêu cầu xử lý của máy chủ. Một người dùng bình thường kết nối tới máy chủ ban đầu thực hiện Request TCP SYN và lúc này máy chủ không còn khả năng đáp lại - kết nối không được thực hiện. - Đây là kiểu tấn công mà kẻ tấn công lợi dụng quá trình giao tiếp của TCP theo – Three-way. 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 52 - Các đoạn mã nguy hiểm có khả năng sinh ra một số lượng cực lớn các gói TCP SYN tới máy chủ bị tấn công, địa chỉ IP nguồn của gói tin đã bị thay đổi và đó chính là tấn công DoS. - Hình bên trên thể hiện các giao tiếp bình thường với máy chủ và bên dưới thế hiện khi máy chủ bị tấn công gói SYN đến sẽ rất nhiều trong khi đó khả năng trả lời của máy chủ lại có hạn và khi đó máy chủ sẽ từ chối các truy cập hợp pháp. - Quá trình TCP Three-way handshake được thực hiện: Khi máy A muốn giao tiếp với máy B. (1) máy A bắn ra một gói TCP SYN tới máy B – (2) máy B khi nhận được gói SYN từ A sẽ gửi lại máy A gói ACK đồng ý kết nối – (3) máy A gửi lại máy B gói ACK và bắt đầu các giao tiếp dữ liệu. - Máy A và máy B sẽ dữ kết nối ít nhất là 75 giây, sau đó lại thực hiện một quá trình TCP Three-way handshake lần nữa để thực hiện phiên kết nối tiếp theo để trao đổi dữ liệu. - Thật không may kẻ tấn công đã lợi dụng kẽ hở này để thực hiện hành vi tấn công nhằm sử dụng hết tài nguyên của hệ thống bằng cách giảm thời gian yêu cầu Three-way handshake xuống rất nhỏ và không gửi lại gói ACK, cứ bắn gói SYN ra liên tục trong một thời gian nhất định và không bao giờ trả lời lại gói SYN&ACK từ máy bị tấn công. - Với nguyên tắc chỉ chấp nhận gói SYN từ một máy tới hệ thống sau mỗi 75 giây nếu địa chỉ IP nào vi phạm sẽ chuyển vào Rule deny access sẽ ngăn cản tấn công này. 5. Công cụ dung để tấn công: - Jolt2 - Bubonic.c - Land and LaTierra 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 53 - Targa - Blast20 - Nemesy - Panther2 - Crazy Pinger - Some Trouble - UDP Flood - FSMax C.Kết Luận: Phần trình bày ở trên đã phân tích một số trường hợp có những lỗ hổng bảo mật, những người tấn công có thể lợi dụng những lỗ hổng này để tạo ra những lỗ hổng khác tạo thành một chuỗi mắt xích những lỗ hổng. Ví dụ, một người muốn xâm nhập vào hệ thống mà anh ta không có tài khoản truy nhập hợp lệ trên hệ thống đó. Trong trường hợp này, trước tiên anh ta sẽ tìm ra các điểm yếu trên hệ thống, hoặc từ các chính sách bảo mật, hoặc sử dụng các công cụ dò sét thông tin trên hệ thống đó để đạt được quyền truy nhập vào hệ thống. Sau khi mục tiêu như nhất đã đạt được, anh ta có thể tiếp tục tìm hiểu các dịch vụ trên hệ thống, nắm bắt được các điểm yếu và thực hiện các hành động tấn công tinh vi hơn. Từ các hoạt động kiểm tra, đánh giá nêu trên, các nhà quản trị hệ thống có thể rút ra được những kinh nghiệm để có thể cải thiện chính sách bảo mật hữu hiệu hơn. Cải thiện chính sách có thể là những hành động nhằm đơn giản công việc người sử dụng, giảm nhẹ tính cồng kềnh, phức tạp trên hệ thống, hoặc kiểm soát hệ thống chặt chẽ hơn nữa... Những hoạt đổng cải thiện chính sách bảo mật có thể diễn ra trong suốt 2 BIS ĐINH TIÊN HOÀNG,DAKAO, QUẬN 1, TPHCM TEL : 38244041– 090 78 79 477 WEBSITE : WWW.ATHENA.EDU.VN Tài liệu nghiên cứu an ninh web – lưu hành nội bộ 54 thời gian tồn tại của hệ thống đó, nó gắn liền với các công việc quản trị, duy trì hệ thống. Đây cũng chính là một yêu cầu trong khi xây dựng một chính sách bảo mật, cần phải luôn luôn mềm dẻo, có những thay đổi phù hợp tùy theo điều kiện thực tế.
File đính kèm:
- de_tai_cac_lo_hong_thuong_gap_tren_he_thong_website.pdf