Đề 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

