Tải bản đầy đủ (.pdf) (280 trang)

Hướng dẫn cách phòng thủ và khắc phục sự cố khi máy vi tính bị tấn công

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (18.27 MB, 280 trang )

HƯỚNG DẪN CÁCH

PHÌM
Q
KHẮC PHỤC Sự CỐ
KHI MÁY VI TÍNH BI TẤN CÔNG

NHÀXUẦT BẢN HỐNG Đức


HƯỚNG DẪN CÁCH PHÒNG THỦ
VÀ KHẮC PHỤC S ự CỐ
KHI MÁY TÍNH BỊ TẤN CÔNG


HÀ THÀNH - TRÍ VIỆT
(Biên soạn)

HƯỚNG DẪN CÁCH PHÒNG THỦ
VÀ KHẮC PHỤC S ự CỐ
KHI MÁY TÍNH BI TẤN CÔNG

NHÀ XUẤT BÀN H ồN G ĐỨC


Phần 1

Tự HỌC CÁCH TẤN CÔNG VÀ PHÒNG THÙ
vởl tHAr VI TÍNH CHAY VVINDOVVS

1. KHÁI NIỆM VÉ “PHÒNG THỦ” TRÊN MÁY VI TÍNH



Phòng thủ ở đây là bạn có thể chống lại các tấn công
từ bên ngoài vào máy tính của bạn và một trong những
công việc quan trọng là bạn phải biết được khi nào bạn bị
tấn công thì mới có thể chống lại đưọc và ở đây chúng tôi
xin giới thiệu đến độc giả hệ thống phát hiện xâm nhập
(IDSs) cung cấp thêm cho việc bảo vệ an toàn thông tin
mạng một mức độ cao hơn. Nó được đánh giá giá trị không
giống như fĩrewall và VPN là ngăn ngừa các cuộc tấn công
mà IDSs cung cấp sự bảo vệ bằng cách trang bị cho bạn
thông tin về cuộc tấn công. Bởi vậy, một IDS có thể thoả
mãn nhu cầu về an toàn hệ thông của bạn bằng cách cảnh
báo cho bạn về khả năng các cuộc tấn công (và thỉnh
thoảng thì ngoài những thông báo chính xác thì chúng
cũng đưa ra một sô' cảnh báo chưa đúng. Nhìn chung, IDSs
không tự động cấm các cuộc tấn công hoặc là ngăn chặn
những kẻ khai thác một cách thành công, tuy nhiên, một
sự phát triển mới nhất của IDS đó là hệ thông ngăn chặn
xâm nhập (the intrusion prevention Systems) đã có để thực
hiện nhiều vai trò hơn và có thể ngăn chặn các cuộc tấn
công khi nó xảy ra. Định nghĩa một IDS khó hơn là chiáng


ta tưởng. Đầu tiên, IDS được nhìn nhận như là một cái
chuông báo trộm mà có thê thông báo cho bạn biết khi nào
thì bạn bị tấn công. Tuy nhiên, những hệ thống IDS hiện
đại thì phức tạp hơn nhiều và ít người có thể đồng ý rằng
nó có mức độ giông như một cái chuông báo trộm truyền
thống đáng tin cậy. Nếu sự giốhg nhau là cùng được sử
dụng, thì một hệ thống IDS trông giổng như những chiếc

camera chống trộm hơn là một cái chuông, những người có
trách nhiệm có thể quan sát chúng và đáp trả cho những
đe doạ xâm nhập. Thực tê thì dường như IDS chỉ nói cho
chúng ta biết rằng mạng đang bị nguy hiểm. Và điều quan
trọng để nhận ra đó là một vài cuộc tấn công vào mạng đã
thành công nếu hệ thống không có IDS. Và như chúng ta
đã thấy, một mạng có thể trở thành thiên đường cho các
hacker trong hàng năm mà chủ nhân của nó vẫn không hề
hay biết. Giá trị chính của một hệ thống phát hiện xâm
nhập theo quan điểm của chúng tôi đó là nó biết được
chuyện gì sẽ xảy ra. Phải, một hệ thống IDS có thể giúp
chúng ta ngăn ngừa các sự kiện khi nó chưa xảy ra, cung
cấp các giải pháp cho mạng và host, và thậm chí cũng có
thể hoạt động như một cái chuông báo động (với những
giới hạn tương ứng). Tuy nhiên, chức năng chính của nó là
thông báo cho bạn biết về các sự kiện có liên quan đến an
ninh hệ thống đang sắp sửa xảy ra bên trong mạng và hệ
thống mà bạn kiểm soát. Trong chương này sẽ cho chúng
ta cái nhìn tổng quan về IDS bao gồm cả những điểm
mạnh và điểm yếu của chúng. Chúng ta sẽ đề cập đến cả
network IDS (nhiều khi được đề cập đến như một sniffer)
và cả host IDS (phân tích log, kiểm tra tích hỢp và nhiều
thứ khác). Sự khác nhau chủ yếu giữa network IDS và
host IDS đó là dữ liệu mà nó tìm kiếm. NIDS nhìn vào
toàn cảnh các chuyển dịch trên mạng, trong khi host IDS
thì quan sát các host, hệ điều hành và các ứng dụng.
Trong thực tế, nó được chia cắt ra nhiều lĩnh vực khác


nhau, chẳng hạn như host IDS ngăn chặn các truy cập có

hại cho mạng, còn NIDS thì cố gắng đoán xem cái gì xảy ra
bên trong host. Có một vài giói hạn không rõ nét lắm như
công nghệ để phát triển tiếp theo. Vậy những thuận tiện
của Host-base IDS là gì? Sự khác nhau cơ bản giữa chúng
đó là trong khi NIDS phát hiện ra các cuộc tấn công tiềm
năng (những thứ sẽ được chuyển tới đích) thì host IDS lại
phát hiện ra những cuộc tấn công mà đã thành công, có
kết quả. Bởi vậy có thể nói rằng NIDS mang tính tiền
phong hơn. Tuy nhiên, một host IDS sẽ hiệu quả hơn đôi
với trong các môi trường có tốc độ chuyển dịch lớn, mã hoá
và có chuyển mạch - đây là những môi trường mà NIDS
rất khó hoạt động. HIDS được thử thách bởi rất nhiều
những hành động có mức độ phơi bày cao của kẻ tấn công
và đã thực sự nâng tầm xử lý của chúng. Mặt khác thì
NIDS lại là một phần rất tuyệt cho môi trường tổng hỢp
như toàn bộ mạng. Vì thế, NIDS có thể tạo nên một sự
quan sát có ý nghĩa đến các phần của vụ tấn công có liên
quan đến nhiều host. Nó được thử thách trong môi trường
mạng có chuyển mạch tốc độ cao, môi trường mã hoá và
các giao thức ứng dụng hiện đại phức tạp, bởi vậy nên các
kết quả báo sai cũng hất có khả năng xảy ra. Bởi vậy,
chúng tôi khuyên các bạn nên lựa chọn công nghệ IDS và
bởi vậy cung cấp cho chúng ta lựa chọn bổ sung chúng vào
mạng của bạn như phân tích Bayesian. Chúng tôi cũng
quan tâm đến việc những thay đổi tương lai trong công
nghệ IDS có thể mang lại. Cuối cùng chúng tôi sẽ miêu tả
một cách đầy đủ việc bô sung mã nguồn trên Linux.
Ví dụ vê' IDS

Phần này sẽ miêu tả một vài hệ thống IDS bao gồm

giám sát logíĩle, quét các dấu hiệu và phát hiện các dấu
hiệu bất thường.


Host IDSs

Host-based network IDSs có thế được phân chia lỏng
lẻo thành các kiểm soát log, kiểm tra độ tích hỢp và các
module nhân của hệ thống. Những phần sao sẽ miêu tả
từng phần của chúng với các ví dụ cụ thể.
Giám sát Logtile

Một IDS đơn giản nhất là thiết bị giám sát logíile
(logíile monitors), thiết bị này sẽ cô" gắng phát hiện những
sự xâm nhập bằng cách phân tích các log sự kiện của hệ
thống. Ví dụ như, một thiết bị giám sát logTile sẽ tìm kiếm
những logũle ghi nhận những truy cập Apache để truy cập
tới Apache để tìm ra đặc điểm của yêu cầu /cgi-bin/. Công
nghệ này bị giới hạn bởi vì nó chỉ tìm kiếm trong các sự
kiện đã được log - là những thứ mà kẻ tấn công rất dễ để
thay thế. Thêm vào đó, hệ thống có thể bỏ qua các sự kiện
hệ thống cấp thấp mà chỉ ghi lại các hoạt động cấp cao.Ví
dụ như, HIDS sẽ bỏ qua nếu kẻ tấn công chỉ đọc nội dung
file như file /etc/passwd chẳng hạn. Điều này sẽ xảy ra nếu
bạn không đặt fĩle vào chế độ bảo vệ của hệ thống. Giám
sát Logílle là một ví dụ chính cho các hệ thông IDS dựa
trên host bởi chúng thực hiện chức năng giám sát của
chúng trên chỉ 1 máy. Tuy nhiên, một hệ thốhg giám sát
host logfile hoàn toàn có thể giám sát trên nhiều host,
thậm chí trên 1 loggging server tích hỢp. Sự phát triển của

nền tảng host đưa lại một số thuận tiện cho việc giám sát
với các công cụ hệ thốhg được xây dựng, bởi vì host IDSs có
kênh chuyển dịch tổng hỢp an toàn tới 1 server trung tâm,
không giốhg như những syslog thông thường khác. Nó
cũng cho phép tích hỢp những logs mà không bình thường
để tích hỢp trong 1 máy đơn (chẳng hạn như log sự kiện
của Windows).


Mặt khác, NIDS thường quét toàn mạng trên mức độ
gói tin, trực tiếp từ đường truyền giốhg như những sniffer.
Bởi vậy NIDS có thể phối hỢp với rất nhiều host có dữ liệu
chuyển qua. Giốhg như những gì chúng ta thấy trong
chương này, mỗi một loại đều có tác dụng và thuận tiện
của chúng trong những trường hỢp khác nhau.
Thiết bị giám sát logíĩle nổi tiếng đó là swatch
( là nói tắt của "Simple
Watcher.". Trong khi hầu hết các phần mềm phân tích log chỉ
quét log theo định kỳ, thì swatch quét tất cả các đầu vào log
và tạo báo cáo cảnh báo theo thòi gian thực. Những công cụ
khác như logwatch (được tích hỢp cùng vói Red Hat Linux thì
rất tốt cho các thao tác ngoài). Tuy nhiên, mặc dù swatch đi
cùng với nhiều bước có liên quan thì nó vẫn đòi hỏi nhiều tính
năng động và cấu hình khác với những công cụ khác.
Sau đây chúng ta sẽ miêu tả việc cài đặt swatch. Công
cụ này khá là ổn định, do đó mà dường như không thay đổi
nhiều trong tương lai. Trước khi cài đặt swatch, bạn cần
download và cài đặt Perl modules cần thiết cho nó. Để cài
đặt những module này, đầu tiên hãy download phiên bản
mới nhất của swatch và chạy các bước sau:

perl Makeflle.PL
make
make test
make install
make realclean
swatch sử dụng diễn dịch thông thường để tìm đến
những dòng lệnh thích hỢp. Một khi mà nó tìm đúng phần
cần thiết, nó liền hành động, chẳng hạn như biểu diễn ra
màn hình, email 1 cảnh báo hoặc là làm theo hành động
đã được người sử dụng định ra từ trước.


Tiếp sau là một ví dụ script cấu hình swatch đơn giản:
watchfor /[dD]enied I/DEN.*ED/
echo bold
bell 3
mail
exec "/etc/call_pager 5551234 08"
Trong ví dụ này, swatch tìm đến dòng có chứa từ
“denied”, có thể là “Denied” hoặc bất cứ từ nào có bắt đầu
bằng “den” và kết thức với “ed”. Khi mà tìm thấy, nó bôi
đen dòng tìm thấy và chuyển tới thiết bị đầu cuối đồng
thời rung chuông 3 lần. Sau đó, swatch gửi mail tới người
sử dụng svvatch (là người có quyền truy cập tói các logíĩle
đưỢc giám sát - thông thường được giói hạn cho root) với 1
cảnh báo và thực thi chương trình /etc/call_pager với các
lựa chọn đã đựoc đưa ra .
Giám sát logíĩle có thể được coi như một hệ thốhg phát
hiện xâm nhập theo một cách đặc biệt. Logs cũng chứa rất
nhiều thông tin không trực tiếp lên quan đến sự xâm nhập

(chỉ là những thông tin mà NIDS nghe trộm được trên
đường truyền). Logs có thể được coi như một cái bể lớn
chứa thông tin, một sô" thông tin bình thường (như thông
tin về kết nổi của người chịu trách nhiệm, thông tin cấu
hình lại daemon...) và những thông tin đáng ngờ chẳng
hạn như thông tin về đăng nhập từ 1 IP động, truy cập
root một cách kỳ lạ... và râ"t nhiều những thông tin
(malicious) chang hạn như RPC buffer overflow được ghi
nhận từ rpc.statd. Xem xét và chọn lọc toàn bộ những
thông tin đó chỉ dễ hơn một chút so với lắng nghe trên
mạng và tìm kiếm những cuộc tấn công vào web hoặc là
các gói tin dị hình.
Nếu tất cả các ứng dụng đều có một hệ thổng log an
toàn mà tất cả các sự kiện xấu đều được ghi nhận và đóng


gói, những nguòi phân tích log có thể không cần đến một
hệ thông phát hiện xâm nhập. Trong thực tế, nếu một sự
kiện có thể được chỉ ra trong một file log hoàn chỉnh thì nó
có thê là một sự xâm nhập. Tuy nhiên, trong đời thực thì
việc tìm kiếm từng phần trong logs đôi khi cũng giá trị
như việc tìm kiếm từng phần trên đường dẫn.
Thực tê thì việc đi kèm phân tích log hệ thống với
NIDS log là một đặt điểm rất có ích đốì vói người phân tích
log. Người phân tích sẽ nhìn thấy được nhiều hơn là chỉ
nhìn trên đường dẫn và tạo ra các chức năng của meta
IDS. Ví dụ như, giải pháp quản lý như netPorensics cho
phép phân tích log qua các thiết bị, bình thường hóa và
liên kết chúng (bằng các phần dựa trên rule) sau đó phân
tích các sự kiện đã được tổng hỢp.

Giám sát tính toàn vẹn

Một công cụ giám sát tính toàn vẹn sẽ nhìn vào các
cấu trúc chủ yếu của hệ thống để tìm sự thay đổi. Ví dụ
như, một giám sát toàn vẹn đó sẽ sử dụng một file hệ
thống hoặc một khóa registry như "bait" để ghi lại các thay
đổi bởi một kẻ xâm nhập. Mặc dù chúng có giới hạn, giám
sát toàn vẹn có thể thêm vào các lớp bảo vệ cho một hệ
thống phát hiện xâm nhập.
Giám sát toàn vẹn phổ biến nhất đó là Tripwừe
(). Tripwữe có sẵn cho Windows và
Unix, và nó chỉ có thể giám sát một sô"các thuộc tính như:
• Việc thêm, xóa, sửa đổi File.
• Cò File (i.e., hidden, read-only, archive, etc.).
• Thòi gian truy cập cuốỉ cùng.
• Thời gian ghi cuối cùng.
• Thời gian thay đổi.
• Kích thước File.
11


• Kiểm tra Hash, khả năng của Tripwire là rất lớn
trên Unix và Windows bởi vì các thuộc tính khác nhau của
các hệ thống íĩle. Tripvvire có thể được thay đổi để phù hỢp
vói các đặc điểm riêng biệt của mạng của bạn, và nhiều
Tripwire agents có thể tập trung một cách an toàn các dữ
liệu. Trong thực tế, bạn có thể sử dụng Tripwire để giám
sát bất kì một thay đổi nào trên hệ thống của bạn. Bởi vậy,
nó là một công cụ rất mạnh trong IDS
arsenal của bạn. Rất nhiều những công cụ khác (tất cả

đều là miến phí và là các phần mềm mã nguồn mở) được viết
để đáp ứng những công việc tương tự như thế. AIDE là một ví
dụ. AIDE (.fí/~rammer/aide.html) là một
clone nổi tiếng của Tripwire.
Mấu chốt để sử dụng kiểm tra toàn vẹn hệ thổhg cho
một thiết bị phát hiện xâm nhập đó là xác định ranh giói
an toàn. Được thiết lập giống như một base line chỉ có thể
được thiết lập trước khi hệ thống được kết nốì với mạng.
Nếu không có trạng thái an toàn thì công cụ này sẽ bị giói
hạn rất nhiều, bởi vì những kẻ tấn công có thể đã giới
thiệu những thay đổi của họ vối hệ thống trước khi công cụ
kiểm tra trọn vẹn hoạt động lần đầu tiên. Trong khi hầu
như tất cả mọi công cụ đều yêu cầu một trạng thái
baseline trước khi bị tấn công thì một vài công cụ lại dựa
trên hiểu biết của chúng về các mối nguy hiểm. Một ví dụ
đó là công cụ chkrootkit (). Nó
tìm kiếm những dấu hiện xâm nhập phổ biến mà thuòng
hiển hiện trên các hệ thốhg bị tổn thương.
Kiểm tra toàn vẹn cung cấp một giá trị lớn nhất nếu
chúng có được một vài thông tin hưóng dẫn. Trước hết, nó
phải đưỢc phát triển trên một hệ thống hoàn toàn sạch sẽ
sao cho nó không phải ghi nhận các trạng thái dở dang
hoặc bị tổn thương như thông thường. Ví dụ, Tripwire nên
được cài đặt trên một hệ thống khi nó còn nguyên bản từ
19


nhà sản xuất vói những ứng dụng cần thiết nhất, trưóc khi
nó kết nổi tói mạng.
Bởi vậy, ý kiến về việc lưu trữ dữ liệu về trạng thái tốt

trên các bản ghi được đặt trên các thiết bị lưu trữ chỉ đọc
như CDROMs là một ý kiến rất hay. Chúng ta sẽ luôn có
một bản copy đầy đủ để so sánh khi cần phải giải quyết
vấn đề. Tuy nhiên, mặc dù có tất cả những biện pháp
phòng ngừa đó thì hacker vẫn có thể vượt qua được tất cả
hệ thống như thế.
Network IDSs

Netvvork IDSs có thể được phân chia thành 2 loại: hệ
thống dựa trên các dấu hiệu và hệ thống dựa trên những
sự việc bất thưòng. Không giống như hệ thống dựa trên
dấu hiệu, hệ thống sau là một sự pha lẫn giữa những công
nghệ khác nhau và gần như nhau. Thêm vào đó, những
NIDSs lai tạo đó đều nhắm tói việc làm cầu nôi cho những
thiếu sót bằng cách sử dụng những mánh lới được sử dụng
trong mỗi loại NIDSs. Trong thực tế, tất cả những hệ
thống NIDSs thưong mại hiện đại đều sử dụng loại NIDS
dựa trên những sự việc bất thường để phát triển NIDS
dựa trên dấu hiệu. Ví dụ như ISS RealSecure, Cisco IDS,
and Enterasys Dragon.
Signature matchers

Giốhg như những phần mềm quét virus truyền thống
dựa trên chữ ký hex, phần lớn các IDS đều cố gắng phát hiện
ra các cuộc tấn công dựa trên cơ sở dữ liệu về dấu hiệu của
tấn công. Khi một hacker tìm cách khai thác lỗ hổng đã biết
thì IDS cố gắng để đưa lỗi đó vào cơ sở dữ liệu của mình. Ví dụ
như Snort (), một IDS dựa trên dấu hiệu
miễn phí đưỢc phát triển trên cả Unix và Windows.
13



Bỏi vì nó là một phần mềm mã nguồn mở nên Snort có
tiềm năng phát triển cđ sở dữ liệu chữ ký nhanh hơn bất
kỳ một công cụ có sở hữu nào khác. Các dấu hiệu của
Snort được sử dụng trong tất cả mọi thứ từ các firewall
thương mại đến các phần mềm middleware như Hogvvash.
Snort bao gồm một bộ giải mã các gói tin, một thiết bị phát
hiện, và một hệ thông nhỏ logging và cảnh bá. Snort là
một IDS trạng thái, có nghĩa rằng nó có thể tập hỢp lại và
ghi nhận các tấn công dựa trên phân đoạn TCP.
Một vài bạn đọc có thể đã gặp nhiều khái niệm một
firewall đa trạng thái hoặc íĩrevvall không trạng thái nhiều
hơn là một hệ thống phát hiện xâm nhập. Tuy nhiên, cả hai
khái niệm đều như nhau. Firewalls không trạng thái (và
NIDSs) làm việc vói các gói tin riêng rẽ trong khi một firewall
trạng thái lại cân nhắc đến các trạng thái kết nốĩ. Ví dụ đơn
giản nhất như sau: Nếu một kẻ tấn công chia nhỏ các gói tin,
thì IDS không trạng thái sẽ bỏ lỡ nó (bởi vì một dấu hiệu
không bao giò xuất hiện trong một gói tin), tuy nhiên nó lại bị
thiết bị IDS trạng thái phát hiện được bởi vì nó thu thập các
phần đáng nghi không chỉ dựa trên một gói tin mà trên cả
dòng dữ liệu trong quá trình kết nôi.
Tuy nhiên, những NIDs trạng thái cũng không tránh
khỏi việc bỏ lỡ những dấu hiệu xâm nhập. Trong chương
này chúng tôi sẽ cung cấp một vài ví dụ. Ví dụ cơ bản nhất
cho dấu hiệu để phát hiện của IDS liên quan đến một cuộc
tấn công web đó là dựa trên lỗi CGI Scripts. Một công cụ
phát hiện lỗi của hacker thường xuyên bao gồm việc quét
lỗi CGI để phát hiện những web server có lỗi CGI . Ví dụ

như, một lỗi rất nổi tiếng phf cho phép một kẻ tấn công có
thể quay lại bao nhiêu file thay thế cho các tài liệu html.
Cuộc tấn công này chỉ đơn giản sử dụng một script CGI
nghèo nàn để truy cập đến các íĩle và các thư mục được cho
phép trên web server . Để phát hiện được tấn công dựa
1A


trên lỗi phf, công cụ quét NIDS phải tìm trên tất cả gói tin
nhũng phần của chuỗi sau: GET /cgi-bin/phf? Netvvork
IDSs sẽ tìm kiếm trong tất cả các dấu hiệu đã tồn tại để
tìm các chuỗi tìm kiếm trong các gói tin mạng. Ví dụ, dấu
hiệu Snort sau sẽ thích hỢp với chuỗi trên: alert tcp
$ẼXTERNAL_NET any -> $HTTP_SERVERS $HTTP_PORTS
(msg:"WEB-CGIphf
access";ílow:to_server,established;
uricontent:7phf;
nocase; reference:bugtraq,629;
reference:arachnids, 128;
reference:cve,CVE-19990067; classtype:web-applicationactivity; sid:886; rev:8;) và cảnh báo sẽ được gửi Chúng ta
sẽ đề cập đầy đủ đến sự phát triển của Snort NIDS sau.
Phát hiện những dấu hiệu bất thường

Phát hiện những dấu hiệu bất thường liên quan đến
việc thiết lập một nền móng cơ bản của những hoạt động
bình thường của hệ thống hoặc là các hành vi trên mạng,
và sau đó cảnh báo chúng ta khi những sự trệch hướng
xuất hiện. Lưu lượng trên mạng thay đổi một cách không
đáng kể, chẳng hạn như thay đổi trong thiết kế để hướng
IDS theo định dạng host - base nhiều hơn là NIDS, Tuy

nhiên, một số mạng lại có những cấu trúc thật khác
thường đặc biệt là những mạng quân đội hoặc những
mạng giao tiếp tình báo. Mặt khác, những hành động xảy
ra trong một server rất lốn có thể không thể kiểm soát hết
được, do đó mà mạng trở nên rất hỗn loạn. Nên lưu ý rằng,
thỉnh thoảng chúng ta muốh tách ròi những NIDS dựa
trên những sự kiện bất thường thành những sự kiện
chuyển động bất thường (bị trệch hưóng từ một miêu tả
chuyển động đã biết) và giao thức sự kiện bất thường
(trệch hướng từ các chuẩn giao thức mạng) .
15


Như chúng ta sẽ thấy sau đây trong chương này, phát
hiện những sự kiện bất thường cung cấp một độ nhạy cao
nhưng lại ít đặc trưng. Sau đây, chúng ta sẽ đê cập đến
những công cụ hữu ích nhất.
2. CÁC BIỆN PHÁP PHÁT HIỆN HỆ THỐNG BỊ TẤN CÔNG

Không có một hệ thống nào có thể đảm bảo an toàn
tuyệt đôi; bản thân mỗi dịch vụ đều có những lỗ hổng bảo
mật tiềm tàng. Đứng trên góc độ người quản trị hệ thông,
ngoài việc tìm hiểu phát hiện những lỗ hổng bảo mật còn
luôn phải thực hiện các biện pháp kiểm tra hệ thống xem
có dấu hiệu tấn công hay không. Các biện pháp đó là:
- Kiểm tra các dấu hiệu hệ thống bị tấn công: hệ thống
thường bị treo hoặc bị crash bằng những thông báo lỗi
không rõ ràng. Khó xác định nguyên nhân do thiếu thông
tin liên quan. Trước tiên, xác định các nguyên nhân về
phần cứng hay không, nếu không phải phần cứng hãy nghĩ

đến khả năng máy bị tấn công.
- Kiểm tra các tài khoản người dùng mới trên hệ thống:
một số tài khoản lạ, nhất là uid của tài khoản đó = 0.
- Kiểm tra xuất hiện các tập tin lạ. Thường phát hiện
thông qua cách đặt tên các tệp tin, mỗi người quản trị hệ
thống nên có thói quen đặt tên tập tin theo một mẫu nhất
định để dễ dàng phát hiện tập tin lạ. Dùng các lệnh Is -1 để
kiểm tra thuộc tính setuid và setgid đối với những tập tinh
đáng chú ý (đặc biệt là các tập tin Scripts).
- Kiểm tra thời gian thay đổi trên hệ thống, đặc biệt là
các chương trình login, sh hoặc các Scripts khởi động trong
/etc/init.d, /etc/rc.d...
- Kiểm tra hiệu năng của hệ thống. Sử dụng các tiện
ích theo dõi tài nguyên và các tiến trình đang hoạt động
trên hệ thốhg như ps hoặc top...


- Kiểm tra hoạt động của các dịch vụ mà hệ thống
cung cấp. Chúng ta đã biết rằng một trong các mục đích
tấn công là làm cho tê liệt hệ thống (Hình thức tấn công
DoS). Sử dụng các lệnh như: ps, pstat, các tiện ích về
mạng để phát hiện nguyên nhân trên hệ thổng.
- Kiểm tra truy nhập hệ thống bằng các account thông
thường, đề phòng trường hỢp các account này bị truy nhập
trái phép và thay đổi quyền hạn mà người sử dụng hỢp
pháp không kiểm sóat được.
- Kiểm tra các file liên quan đến cấu hình mạng và
dịch vụ như /etc/inetd.conf; bỏ các dịch vụ không cần thiết;
đối với những dịch vụ không cần thiết chạy dưới quyền
root thì không chạy bằng các quyền yếu hơn.

- Kiểm tra các phiên bản của sendmail, A)in/mail, ftp;
tham gia các nhóm tin về bảo mật để có thông tin về lỗ
hổng của dịch vụ sử dụng.
Các biện pháp này kết hỢp vói nhau tạo nên một chính
sách về bảo mật đổi với hệ thống.
3. BẢO MẬT CHO CÁC MÁY TÍNH CỦA MỘT Tổ CHỨC

Một trong những yếu tô" quan tâm hàng đầu trong việc
Thiết kê Security một hệ thống thông tin đó là kiểm soát
chặt chẽ tấ t cả Computer của tổ chức. Vì chúng là nơi cất
giữ tài sản thông tin có giá trị của tô chức. Attacker có thể
trực tiếp tấn công thang vào Computer và lấy đi những dữ
liệu quý báu.
Việc xác định những mối đe dọa và những lỗ hỗng ở
tất cả Computer trong tô chức là điều thiết yếu và cấp bách
(Quan tâm đến Security cho Computer kể từ lúc mua, cho
đến khi cất chúng vào kho - life Cycle).
Hầu hết các loại Computer nếu không có những kẽ hở
17


thiếu an toàn về vật lý, thì bản thân hệ điều hành cũng có
thể phơi bày những tử huyệt, những miếng mồi ngon cho
attacker. Security Admin phải đảm bảo an toàn và cập
nhật đầy đủ các miếng vá lỗi và thiết lập hệ thống phòng
thủ trong suốt quá trình “sống” của Computer.
4. XÁC ĐỊNH NHỮNG RỦI RO VÀ NHỬNG Mốl ĐE DỌA COMPUTER

Bảo mật suốt chu kỳ “sống” của một Computer;
Vòng đời của một Computer trải qua những giai đoạn sau:

• Tiến hành cài đặt: Trong suốt quá trình tiến hành
cài đặt hệ điều hành và ứng dụng, sự xâm nhập của virus,
và những lỗi cấu hình có thể là nguy cơ trực tiếp cho
Computer. Chú ý Setup password cho tài khỏan built-in
ADMINISTRATOR tại giai đoạn này theo đúng chính sách
đặt password của tổ chức, Chúng ta có thói quen không tốt
ở giai đoạn này là set passvvord null (không đặt pssword).
• Xác lập chính sách bảo mật chuẩn (baseline security)
theo quy định an toàn thông tin của tổ chức sau khi hoàn
thành cài đặt mỗi Computer.
• Bảo mật cho các Computer có vai trò đặc biệt. Ví dụ
VVeb server, Database Server. Căn cứ trên chính sách bảo
mật chuẩn, các security admin cần tăng cường hơn nữa các
xác lập bảo mật đối với các Computer đặc biệt này nhằm
tạo một hệ thống được bảo vệ tối đa có thể đương đầu với
các kiểu tấn công đa dạng và phức tạp từ phía attackers.
• Cập nhật security cho tất cả ứng dụng phát sinh lỗi
trên Computer (thông thường sẽ update các Service packs,
securiry updates...) Đây là điều bắt buộc để nâng cao hơn
nữa baseline security đã được thiết lập.
• Tạm biệt Computer: Kết thúc vòng đời, giò là lúc
đem chiếc Computer này vào kho làm kỉ niệm hoặc giải
18


phong một nó cho một ai đó cũng cần phải security,
attacker có thể lấy những thông tin còn sót lại trên HDD,
hoặc các thiết bị Media khác để khai thác những thông tin
còn sót lại này.
5. TẦM QUAN TRỌNG CỦA VIỆC BẢO MẬT CHO COMPUTER

Những cuộc tấn công từ bên ngoài

Khi một admin cài đặt software trên một Computer
mới, một Virus có thể lây nhiễm vào Computer trưóc khi
Admin này cài Service pack bảo vệ hệ thông. Virus này sẽ
khai thác lỗ hổng đã xác định, và cài tiếp vào hệ thông một
chú Trojan Horse (Ví dụ như Bo 2k). Admin hoàn thành
việc cài software và đưa vào sử dụng mà không hề biết
rằng Computer có thể đã nằm trong tầm kiểm soát của
một attacker ngoài hệ thống mạng của tô chức!
Hiểm họa từ bên trong

Admin chọn cách cài đặt cho các Computer của tổ chức
là cài đặt từ xa và không cần phải theo dõi trong suốt quá
trình cài đặt (unattended Installation), cách cài đặt này
nhanh chóng và tỏ ra rất “proíessional”. Trong suốt quá
trình cài đặt operating System qua mạng này, tài khỏan
Local administrator của các máy được cài đặt được chuyển
qua mạng dưới dạng Clear-text (không mã hóa). Một nhân
viên có chút trình độ về hệ thống và Network, thúc đẩy bởi
những động cơ bất hỢp pháp có thể cài các công cụ nghe
lén và thâu tóm thông tin chuyển đi trên mạng, đặc biệt là
các Local Administrator Password (nếu admin mạng đang
tiến hành cài đặt qua mạng cho Computer của sếp và
passvvord chuyển qua mạng dưới dạng cleart-text thì nguy
to... vì dữ liệu của các Manager rất important và hầu hết
19


có giá trị economic...). Đây là một trong rất, rất nhiều

những nguy cơ attack từ bên trong mạng nội bộ.
Những mối đe dọa phổ biến

Mặc dù những kĩ thuật bảo mật được trang bị trên các
Computer, thế nhưng rủi ro lại đến từ yếu tô" con người và
những kẽ hở trong quy trình làm việc với Computer.
Ví dụ như attacker có thể lấy thông tin từ đĩa cứng,
hoặc truy cập vào máy tính qua các ứng dụng (không cài
đặt các bản vá lỗi), mà nhân viên sử dụng, đặc biệt là
những ứng dụng connecting với Internet như Chat,
Internet Brovvser, E-mail...
6. THIẾT KẾSECURITY CHO CÁC COMPUTER
Nhũmg phương thức chung secure Computer

Tiến hành cài đặt an toàn ngav từ ban đầu cho hệ điều
hành và các ứng dụng theo hướng dẫn:
Thực thi các cấu hình bảo mật mặc định cho HDH và
ứng dụng.
Chỉ cài đặt những ứng dụng và dịch vụ cần thiết trên
các Server (Ví dụ: không cài lung tung các ứng dụng và
triển khai những dich vụ không cần thiết trên Mail, Web
server của tô chức...).
Xác lập bảo vệ cho tâ"t cả các tài khoản mặc định của
hệ thông (Ví dụ; tài khoản mặc định Administrator nên
được rename vì tên này ai cũng biết, và set password phức
hỢp, sẽ có tác dụng lớn để đôi phó vói attacker trong
những cuộc tấn công dạng Brute force passvvord).
Những file cài đặt cho HDH và application phải an
toàn, phải được xác nhận (digitally sign) từ nhà cung cấp,



có thể dùng nhiều utility để kiểm tra vấn đề này, ví dụ
Sign veriíĩcation...
Tiên hành cài đặt phải là những người có đủ độ tin cậy
trong tổ chức.
Nên cô lập Mạng trong quá trình cài đặt. Tạo một
Network riêng dành cho việc cài đặt nếu phải cài đặt HDH,
ứng dụng qua Mạng (ví dụ dùng dịch vụ RIS của Microsoft..),
điều này là thiết yếu và tăng sự an toàn, có thể chống được sự
lây nhiễm Virus từ bên ngoài hoặc các Built-in account như
Administrator được tạo ra qua Mạng từ các unattended
installation Scripts không bị thâu tóm... các CD cài đặt HDH,
ứng dụng nên tích hỢp đầy đủ các Service packs, security
updates (vá lỗi ngay trong quá trình cài đặt).
Làm thế nào để câu hỉnh các xác lập chuẩn bảo mật cho
một tổ chức (Security baseline)

Trước khi triển khai Computer cho tổ chức, cần xác định
các security baseline. Các security admin có thể triển khai
những security baseline này trong suốt quá trình cài đặt hoặc
sau đó. Trên Microsoít Windows 2000 và Microsoft Windows
XP, các admin có thể taọ và triển khai các security templates
để đạt được những yêu cầu bảo mật cần thiết.
Tạo security baselìne cho các Computer

1.
Tạo một chính sách security baseline cho các
Computer theo đúng những quy định của tổ chức về an
toàn thông tin phục vụ cho các quy trình nghiệp vụ. Chính
sách này phải đảm bảo an toàn cho Computer, HDH và

các ứng dụng nghiệp vụ...
Ví dụ: chính sách chỉ định rằng tất cả HDH trong tổ
chức phải chống được kiểu tấn công SYN-ACK
(synchronize acknovvledge) denial of Service (DoS) tấn công
21


từ chối dịch vụ. Một chính sách tốt cũng hình dung được
vai trò của Computer cần bảo vệ...
2.
Tạo sẵn các security templates mẫu, cho phép chỉnh
sửa. Ví dụ để bảo vệ HDH chông lại SYN-ACK attacks, có
thể đơn giản thêm vào Registry những giá trị mong muôn
nhằm thay đổi cách thức vận hành của TCP/IP stack trong
giao tiếp mạng với các Computer khác, như vậy có thế
chống đưỢc những cuộc tấn công kiểu này.
3. Vận hành thử và kiểm tra các security templates
này. Mỗi security template được triển khai sẽ không có các
yếu tố gây cản trỏ HĐH, các dich vụ khác, hoặc xung đột
vối các ứng dụng.
4. Triển khai các security templates cho Computer thông
qua những công cụ như command Secedit Group Policy, hoặc
tự động hóa triển khai cho hàng loạt Computer thông qua các
Group Policy của Active Directory Domain (GPO).
Security cho các Computer có vai trò đặc biệt như thế nào?

Admin sẽ cài đặt những ứng dụng và những dịch vụ
phụ thuộc vào vai trò của những Computer đó.
Như vậy những Computer đặc biệt này cần có những
Security baseline tương đốì khác nhau để phù hỢp với dịch

vụ đang vận hành.
Ví dụ: Web server chạy dịch vụ Internet Iníormation
Services (IIS) cho phép hàng ngàn truy cập mỗi ngày từ
Internet với những mốĩ nguy hiểm luôn rình rập. Ngược lại
thì một File server sẽ không chạy dịch vụ IIS và chỉ có thể
truy cập bởi những User trong mạng nội bộ. Thiết kê bảo mật
cho các Computer có vai trò đặc biệt đòi hỏi có kinh nghiệm và
am hiếu chi tiết về những ứng dụng và dịch vụ mà chúng
đang vận hành. Ví dụ một Windows 2000 administrator có
thể không có những kiến thức đề hiểu được cách hoạt động
99


của một database server như Microsoít SQL Server 2000, cho
dù nó được cài đặ trên một Windows 2000.
Phải đảm bảo những cá nhân chịu trách nhiệm thiết
kế bảo mật cho những Server này có những hiểu biết cần
thiết và kinh nghiệm đáp ứng được các yêu cầu bảo mật
cua tổ chức. Và cũng đảm bảo rằng tổ chức chúng ta có
những chính sách sẵn sàng, quản lý bảo mật cho các
server này khi chúng thay đổi vai trò hoạt động. Ví dụ File
Server được triển khai lại thành một Web server.
Phương pháp áp dụng Security Updates (cập nhật security)

Có thể dùng những phương pháp sau để tiến hành cập
nhật security cho các Computer trên mạng.
Dùng tính năng Windows Update: Để scan Computer,
đảm bảo rằng tất cả security updates mói nhất, các thành
phần liên quan đến Windows (Windows components), và các
driver cho thiết bị đã được cài đặt. Để sử dụng Windows

Update phải là thành viên của nhóm Administrators. Nếu
phải scan nhiều máy trên mạng từ một location, có thê sử
dụng tool: MBSA (Microsoft Baseline Security Analyzer) của
hãng Shavlik, một partner của Microsoít. Hoặc chuyên dụng
hơn và cung cấp giải pháp scan bảo mật toàn diện có thể dùng
GFI Languard netvvork security scanner của GFI, rất phổ
biến với Admin.
Office Update; Scan và cập nhật những secuirty mối
nhất cho bộ sản phẩm Microsoft Office. Vá lỗi cho các sản
phẩm này cũng là một việc rất quan trong mà các Security
admin cần chú ý. Chỉ thành viên nhóm Administrators
mới được dùng tính năng này
Dùng Group Policy: Nếu triển khai security updates
cho hàng loạt các Computer trong môi trường Active
directory domain, các admin sẽ sử dụng các chính sách của
23


Domain hoặc GPO cho các ou trong Domain. Khi dùng
Group Policy, User không cần phải làm bất cứ động tác
nào vì thông qua Active Directory Service, Group Policy có
thể thực hiện hoàn toàn 2 tự động.
Dùng dịch vụ Microsoft Windows Software Update
Services (WSUS/SUS): Server cài đặt dịch vụ này, được
xem là trung tâm phân phôi các security updateas cho các
Computer trên Mạng. Admin có thể cấu hình trên các
Computer để tự động download security updates hoặc lập
lịch biểu (scheduling) dovvnload từ wsus server này.
Dùng tính năng Peature Pack (Microsoft Systems
Management Server (SMS) Update Services Peature

Pack) có trong dịch vu SMS: Bao gồm Wizard hưống dẫn
đóng gói các Security updates và triển khai chúng đến các
Computer thông qua kho lưu trữ Software Inventory.
Chính sách an toàn Account cho Computer (Security
Account Policíes)

ở phần trước tôi đã giới thiệu những phương thức chung
để bảo vệ máy tính của một tổ chức. Phần tiếp theo này tôi sẽ
trình bày những phương thức cụ thể theo trình tự, từ quá
trình Setup hệ thôhg, vận hành hệ thôhg dựa trên những
chính sách an toàn từ basic cho đến những kĩ năng advance
mà các Security Admin cần quan tâm để áp dụng vào việc xây
dựng các quy trình an toàn thông tin cho tổ chức. Phần trình
bày này tôi xin đề cập đến vấn đề an ninh account (account
security) và cách thức tạo account an toàn nhằm đốĩ phó với
những kiểu tấn công rất phổ biến và hiệu quả dưối sự trỢ giúp
của những công cụ phù thủy...
Chính sách về account và cách thức tạo account nghèo
nàn là con đường dễ dàng nhất cho attacker, như vậy
những hình thức bảo mật khác được áp dụng vào hệ thống
24


như trang bị các công cụ chông maleware (prevent virus,
worm, spyware, ad-ware..), triển khai hệ thống phòng thủ
mạng (Firewall) cũng sẽ không có tác dụng nào đáng kể, vì
Admin quá thò ơ trong cách thức tạo account và đưa ra
chính sách tạo account chứa đựng nhiều rủi ro này.
Yêu cầu xác định các chính sách tạo password mạnh
và đưa ra được chiến lược an toàn account áp dụng vào an

toàn thông tin của tổ chức là vấn đề mang tính cấp bách.
Làm thé nào để tạo và quản lý Account an toàn
Những yếu tô" dưói đây sẽ cho chúng ta thấy cách thức
tạo và quản lý Account sao cho an toàn.
Account phải được bảo vệ bằng passvvord phức hỢp
(password length, password complexity). Chủ sở hữu
account chỉ được cung cấn quyền hạn truy cập thông tin và
dịch vụ cần thiết (không thiếu quyền hạn mà cũng không
thể để thừa).
Mã hóa account trong giao dịch trên Mạng (kể cả giao
dịch trong Mạng nội bộ).
Lưu trữ account an toàn (nhất định database lưu giữ tai
khoản phải được đặt trên những hệ thống an toàn và được mã
hóa). Huấn luyện nhân viên, những người trực tiếp sử dụng
Computer cách thức bảo mật account tránh rò rỉ (attacker có
thể lợi dụng mốĩ quan hệ với nhân viên hoặc giả danh bộ
phận kĩ thuật hỗ trỢ xử K sự cô" hệ thông từ xa để khai thác),
hướng dẫn cách thức thay đổi passvvord khi cần thiết và tránh
tuyệt đốĩ việc ghi lại account trên các stick-notes rồi gián bừa
bãi trên Monitorhoặc Keyboard..), khóa (lock) ngay Computer
khi không sử dụng, mặc định trên các máy tính thường cũng
có chính sách tự động lock Computer sau môt thời gian không
sử dụng, để giúp cho những nhân viên hay quên tránh được
lỗi bảo mật sơ đẳng (lỗi này giông như việc ra khỏi nhà mà
không khóa cửa).
25


Những người tạo và quản lý account (đặc biệt là
những account hệ thổhg - System accounts, và account

vận hành, kiểm soát các dịch vụ - Service accounts) cho
toàn bộ tô chức là những người được xem là an toàn tuyệt
đốỉ. Disable những account tạm thòi chưa sử dụng, delete
những account không còn sử dụng.
Tránh việc dùng chung Password cho nhiều account
Khóa (lock) account sau một số lần người sử dụng logon không thành công vào hệ thống.
Có thể không cho phép một sô" account quản trị hệ thống
và dịch vụ, không được log-on từ xa (remote location log-on),
vì những hệ thống và dịch vụ này rất quan trọng và thông
thường chỉ cho phép được kiểm soát từ bên trong (internal
Netxvork), nếu có nhu cầu quản trị và support từ xa Security
Admin vẫn dễ dàng thay đổi chính sách để đáp ứng nhu cầu.
Các Security admin khi log-on vào Server chỉ nên dùng
account có quyền hạn thấp, khi cần quản trị hay vận hành
các dịch vụ, mói nên dùng account System hoặc Service (Ví dụ
Microsoft Windows hỗ trỢ command run as thông qua run as
Service để cho phép độc lập quản trị các thành phần của hệ
thông, các dịch vụ mà không cần phải log-on vào máy ban đầu
bằng account admin). Điều này giúp chúng ta tránh đưọc các
chưởng trình nguy hiểm đã lọt vào máy tính chạy với quyền
admin, khi đó các admin thật sự của Computer sẽ gặp nhiều
rắc rốỉ. Và tất cả những lỗ hỗng hệ thông để ngăn chặn các
kiểu tấn công “đặc quyền leo thang” (bắt đầu lọt vào hệ thống
với account thông thường và sau đó leo thang đến quyền cao
nhất).
Trên đây là những phần trực quan nhất mà Admin
Security cần hình dung cụ thể khi thiết kê chính sách bảo
mật account (account security policies). Một trong những
chính sách bảo vệ hệ thông cần phải xem xet kĩ lưỡng nhất
26



×