Tải bản đầy đủ (.doc) (31 trang)

bài giảng về mã hóa và an toàn mạ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 (200.95 KB, 31 trang )

TRƯỜNG ĐẠI HỌC DUY TÂN
KHOA CÔNG NGHỆ THÔNG TIN
BÀI GIẢNG
MÃ HÓA VÀ AN
TOÀN MẠNG
Biên Soạn NGUYỄN MINH
NHẬT
1
ĐÀ NẴNG, 6/2006
Chương 1 TỔNG QUAN VỀ AN
TÒAN MẠNG
1.1 Mở đầu
• Nhu cầu bảo mật thông tin có những thay đổi lớn
trong thời gian gần đây
“We use computers for everything from banking and investing
to shopping and communicating with others through email or
chat programs. Although you may not consider your
2
communications "top secret," you probably do not want
strangers reading your email, using your computer to attack
other systems, sending forged email from your computer, or
examining personal information stored on your computer (such
as financial statements).” - by CERT
• Biện pháp truyền thống là sử dụng các máy móc
quản lý và các trang thiết bị hỗ trợ
• Máy tính được sử dụng như một công cụ tự động
hoá để bảo vệ dữ liệu và những những thông tin
lưu trữ khác.
• Việc sử dụng mạng và các kết nối giao tiếp đòi
hỏi giải pháp để bảo vệ dữ liệu trong suốt quá
trình truyền


Có một số các định nghĩa cần nắm rõ:
• An toàn máy tính (Computer Security) – Là
một tiến trình ngăn chặn và phát hiện sử dụng
không hợp pháp vào máy tính của bạn bằng cách
lựa chọn các công cụ thiết kế để bảo vệ dữ liệu
và tấn công của hackers ( hầu hết là các
• An toàn mạng (Network Security) – Là các
phương pháp để bảo vệ dữ liệu trong suốt quá
trình chuyển động của chúng.
• An toàn Internet (Internet Security) – Là các
phương pháp để bảo vệ dữ liệu trong suốt quá
trình vận chuyển của chúng ra ngoài đến kết nối
internet
3
Các tiêu điểm chính
• Trọng tâm của bài giảng này về bảo mật mạng
(Internet Security)
• Bao gồm các giải pháp để ngăn chặn, phòng
ngừa, phát hiện và hiệu chỉnh các vi phạm bảo
mật mà có liên quan đến trao đổi thông tin.
1.2 Nguy cơ ảnh hưởng đến an toàn mạng
1.2.1. Nguy cơ và lỗ hổng
S an toàn thông tin đ c liên quan v i 3 v n đ chính :ự ượ ớ ấ ề
Thông tin - bí m tậ : Thông tin ch cung c p t i nh ngỉ ấ ớ ữ
ng i m t cách chính đáng khi có s truy nh p h p pháp t i nó.ườ ộ ự ậ ợ ớ
Thông tin - Toàn v n ẹ : Thông tin ch đ c đi u khi n (s aỉ ượ ể ể ử
đ i, thay th v.v…) b i nh ng ng i đ c quy n y thác.ổ ế ở ữ ườ ượ ề ủ
Thông tin - s n sàng ẵ : Thông tin có th ti p c n đ i v iể ế ậ ố ớ
nh ng ng i mà c n nó khi có yêu c u.ữ ườ ầ ầ
Nh ng khái ni m này ng d ng cho nh ng ng i s d ngữ ệ ứ ụ ữ ườ ử ụ

Internet t i nhà hay b t k t p đoàn m ng hay chính ph nào.ạ ở ấ ỳ ậ ạ ủ
Thông th ng, chúng ta không cho phép m t ng i l m tườ ộ ườ ạ ặ
xuyên qua nh ng tài li u quan tr ng c a mình, mu n giữ ệ ọ ủ ố ữ
nh ng công vi c c a mình th c hi n trên máy tính m t cách bíữ ệ ủ ự ệ ộ
m t. ng th i, c n ph i có b o đ m r ng các thông tin trênậ Đồ ờ ầ ả ả ả ằ
máy tính c a mình không b s t m … và s n sàng khi b n c nủ ị ứ ẻ ẵ ạ ầ
nó.
M t s nguy c an ninh xu t hi n t kh n ng :ộ ố ơ ấ ệ ừ ả ă
4
- S l m d ng c a máy tính c a các b n b i nh ngự ạ ụ ủ ủ ạ ở ữ
ng i làm phi n qua Internet. ườ ề
- i m t th ng xuyên khi làm vi c trên InternetĐố ặ ườ ệ
- S ng u nhiên do khi cài đ t các ph n m m hay sự ẫ ặ ầ ề ử
d ng các d ch v không chính th ng v.v… ụ ị ụ ố
Chính các nguy c này làm b c l nh ng đi m trong các hơ ộ ỗ ữ ể ệ
th ng máy tính ( ch ng h n nh các l h ng) mà k x u có thố ẳ ạ ư ỗ ỗ ẻ ấ ể
l i d ng đ truy c p b t h p pháp ho c h p pháp vào máy tínhợ ụ ể ậ ấ ợ ặ ợ
c a b n. ủ ạ Các lỗ hỗng này trên mạng là các yếu điểm
quan trọng mà người dùng, hacker dựa đó để tấn
công vào mạng. Các hiện tượng sinh ra trên mạng do
các lỗ hổng này mang lại thường là : sự ngưng trệ của
dịch vụ, cấp thêm quyền đối với các user hoặc cho
phép truy nhập không hợp pháp vào hệ thống.
Hiện nay trên thế giới có nhiều cách phân lọai khác
nhau về lỗ hổng của hệ thống mạng. Dưới đây là cách
phân loại sau đây được sử dụng phổ biến theo mức
độ tác hại hệ thống, do Bộ quốc phòng Mỹ công bố
năm 1994.
a. 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

phương thức tấn công theo DoS (Denial 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
5
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.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.google.com, www.ebay.com,
www.yahoo.com v.v…
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.
b. Các 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ệ. Đối với dạng lỗ hổng này, mức độ nguy
hiểm ở mức độ 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.
Các lỗ hổng loại B 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ể
6
chiếm được quyền cao hơn hoặc truy nhập không hợp
pháp. 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 cục bộ
đượ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.
Một số lỗ hổng loại B thường xuất hiện trong các
ứng dụng như lỗ hổng của trình SendMail trong hệ
điều hành Unix, Linux hay lỗi tràn bộ đệm trong
các chương trình viết bằng C. Những chương trình
viết bằng C thường sử dụng một vùng đệm, 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
7
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ác 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
này rất nguy hiểm, có thể làm phá hủy toàn bộ hệ
thống. 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.
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
8
Ảnh hưởng của các lỗ hổng bảo mật trên mạng
Internet
Phần trên chúng ta đã phân tích một số trường hợp
có những lỗ hổng bảo mật, những kẻ 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 kẻ phá hoạ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 kẻ phá
hoại 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ò xét
thông tin (như SATAN, ISS) trên hệ thống đó để đạt
được quyền truy nhập vào hệ thống. Sau khi mục tiêu
thứ nhất đã đạt được; kẻ phá hoại 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 phá hoại tinh vi
hơn.
Tuy nhiên, không phải bất kỳ lỗ hổng bảo mật nào
cùng nguy hiểm đến hệ thống. Có rất nhiều thông báo
liên quan đến lỗ hổng bảo mật trên mạng Internet,
hầu hết trong số đó là các lỗ hổng loại C, và không
đặc biệt nguy hiểm đối với hệ thống. Ví dụ, khi
những lỗ hổng về sendmail được thông báo trên
mạng, không phải ngay lập tức ảnh hưởng trên toàn
bộ hệ thống. Khi những thông báo về lỗ hổng được
9
khẳng định chắc chắn, các nhóm tin sẽ đưa ra một số
phương pháp để khắc phục hệ thống.
Dựa vào kẻ hở của các lỗ hỗng này, kẻ xấu sẽ xây
dựng các hình thức tấn công khác nhau nhằm không
chế và nắm quyền kiểm soát trên mạng. Cho đến nay,
các hacker đã nghĩ ra không biết bao nhiêu kiểu tấn
công từ xa qua mạng khác nhau. Mỗi cuộc tấn công
thường mở đầu bằng việc trực tiếp hoặc gián tiếp

chui vào một hoặc nhiều máy tính đang nối mạng của
người khác. Sau khi đã vào được hệ thống mạng,
hacker có thể đi đến các bước khác như xem trộm,
lấy cắp, thay đổi và thậm chí phá huỷ dữ liệu hoặc
làm treo các hoạt động của một hệ thống thông tin
điện tử.Các hacker cũng có thể gài bẫy những người
sử dụng thiếu cảnh giác hoặc đánh lừa những hệ
thống thông tin kém phòng bị. Chẳng hạn, chúng sưu
tầm các địa chỉ email và gửi thư kèm virus đến đó
hoặc làm nghẽn tắc mạng bằng cách gửi thật nhiều
các bức thư điện tử đến cùng một địa chỉ. Đôi khi các
hacker xâm nhập vào một mạng máy tính nào mà nó
phát hiện ra lỗi và để lại thông báo cho người quản trị
mạng, tệ hơn nữa là chúng cài virus hoặc phần mềm
nào đó để theo dõi và lấy đi những thông tin nội bộ.
Dưới đây là một số kỹ thuật tấn công mạng chủ yếu
đã được sử dụng nhiều trên thực tế.
1.2.2. Các kỹ thuật tấn công trên mạng
10
a.Virus
Virus tin học là một phần mềm máy tính mang tính
lây lan (ký sinh) và có thể phá hoại dữ liệu. Tính lây
lan của Virus là khả năng tự sao chép của Virus từ
đối tượng bị nhiễm sang đối tượng khác và làm cho
nó nhân bản nhanh chóng. Đối tượng bị nhiễm là các
tệp ( như chương trình, dữ liệu, thư điện tử, văn bản,
macro…) và môi trường lan truyền bao gồm mạng,
đường truyền và các loại bộ nhớ (RAM, đĩa cứng, đĩa
mềm, băng từ, đĩa CD, đĩa ZIP, đĩa ĐV, đĩa
Flash…).Virus có nhiều cách lây lan và tất nhiên

cũng có nhiều cách phá hoại khác nhau. Virus máy
tính có nhiều chủng họ, chẳng hạn như Boot, File,
Macro, Trojan, Worm, Polymorphic, Hoaxes.
Tấn công mạng sử dụng Virus là một phương pháp
tấn công khá phổ biến hiện nay. Mọi loại hệ điều
hành đều thường xuyên bị tấn công bởi virus và tác
hại gây ra bởi virus là rất lớn và thật khó lường.
b.Treo cứng hệ thống
Kỹ thuật này làm treo cứng hệ thống của nạn nhân
bằng cách tấn công qua những giao thức tiêu chuẩn,
chẳng hạn "dội bom thư" (mail bombing) qua giao
thức SMTP, hoặc tấn công "ngập lụt" (flooding) qua
giao thức TCP. Trong đó, tấn công "ngập lụt" là kiểu
tấn công phổ biến.
11
Kiểu tấn công "ngập lụt " (flooding) hay còn gọi là
ngăn cản đồng bộ kết nối (SYN Defender) có thể
được mô tả như sau. Hai máy tính nối mạng IP muốn
làm việc với nhau theo giao thức TCP thì thủ tục đầu
tiên là phải "bắt tay" (handshaking). Giả sử A là máy
nói trước, nó sẽ đưa ra yêu cầu đồng bộ tới B (SYN).
B nhận được yêu cầu thì sẽ đáp ứng lại bằng câu trả
lời "SYN/ACK" và cấp phát tài nguyên để đối thoại
với A. Đến lượt A khi thấy B đáp lại thì phải khẳng
định một lần nữa là thực sự muốn làm việc (trả lời
đồng ý bằng "ACK"). Chỉ sau khi A đồng ý như vậy
thì phiên làm việc mới bắt đầu.
Các Hacker đã tìm ra kẻ hở bên trong thủ tục "bắt
tay" trên và lợi dụng để tấn công "ngập lụt". Một
cuộc tấn công "ngập lụt" được tiến hành như sau:

- Máy tính của tin tặc sẽ đóng vai trò của A, còn
máy tính bị tấn công là B. A sẽ gửi yêu cầu "SYN"
muốn đối thoại với B, nhưng nó sẽ tự xưng là A' chứ
không phải là A, trong đó, A' là một địa chỉ giả
không tồn tại trong thực tế.
- B nhận được yêu cầu thì đáp lại bằng câu trả lời
"SYN/ACK". Tuy nhiên, câu trả lời này sẽ dẫn đến
địa chỉ A' chứ không phải A ( do B hoàn toàn không
biết địa chỉ A đã bị tin tặc mạo danh là A' ở trên". Vì
A' lại là một địa chỉ không tồn tại trong thực tế nên sẽ
không có thể có "ACK" như lẽ ra phải trả lời theo qui
định từ A' đến B.
12
- Không có trả lời, nhưng theo thủ tục thì máy B
vẫn phải chờ đợi, đó chính là một kẻ hở của hệ thống.
Nếu A cứ gửi liên tiếp những yêu cầu giả mạo như
vậy thì B sẽ phải dành hết tài nguyên này đến tài
nguyên khác của mình ra để đối thoại, cuối cùng, B
sẽ hết sạch tài nguyên và không thể đáp ứng được các
yêu cầu khác nữa, nghĩa là B bị "ngập lụt" bởi các
yêu cầu đồng bộ và phải "từ chối phục vụ" chỉ vì bận
"bắt tay".
c. Từ chối phục vụ (Denial of Service-DoS)
Kỹ thuật "từ chối phục vụ" làm cho hệ thống máy
chủ bị nhận quá nhiều yêu cầu giả và không thể đáp
ứng được nữa. Kỹ thuật này còn được cải tiến thành
"từ chối phục vụ phân tán" ( Distributed DoS- DDoS)
khi các cuộc tấn công đồng loạt xuất phát từ nhiều
nơi trên mạng và được hứa hẹn trước vào cùng một
thời điểm nên rất khó chống đỡ.

Đặc điểm lớn nhất của tấn công kiểu DoS là nó
không lấy cắp thông tin, mà thường chỉ làm cho hệ
thống dịch vụ của nơi bị tấn công không thể hoạt
động được nữa, thậm chí còn gây sai lệch hoặc phá
huỷ thông tin có trên hệ thống. Việc ngừng hoạt động
trong một thời gian nhất định của các hệ thống đó
thường gây thiệt hại không thể tính chính xác ( tiền
bạc, uy tín của nhà cung cấp dịch vụ và thiệt hại gián
tiếp đối với khách hàng sử dụng dịch vụ). Đôi khi tấn
công DoS không làm tê liệt hệ thống nhưng làm
13
chậm hoặc giảm khả năng phục vụ của hệ thống và
do đó, cũng dẫn đến thiệt hại đáng kể.
Có hai thủ thuật tấn công DoS phổ biến dựa trên
nguyên lý hoạt động hoặc các kẽ hở của những hệ
thống Web. Thứ nhất là gây quá tải Web, khiến cho
hệ thống mất khả năng phục vụ người dùng. Thứ hai
là dựa vào một vài kẻ hở riêng của phần mềm hoặc
sai sót về an ninh dữ liệu để từ đó làm cho hệ thống
bị tê liệt.
Với thủ thuật thứ nhất, việc gây quá tải Web có thể
thực hiện được nếu như tin tặc gửi nhiều yêu cầu
giống như có quá đông người sử dụng đang yêu cầu
những dịch vụ thực sự của hệ thống. Để giải quyết
một yêu cầu dịch vụ, hệ thống phải tốn một phần tài
nguyên của mình (CPU, bộ nhớ, đường truyền…).
Mỗi hệ thống dịch vụ được thiết kế với một số lượng
tài nguyên có giới hạn. Khi nhận được quá nhiều yêu
cầu của tin tặc, hệ thống sẽ sử dụng hết toàn bộ tài
nguyên của mình để đáp ứng những yêu cầu đó và

không còn gì để đáp ứng yêu cầu của người dùng thật
sự, làm cho họ không thể truy cập tiếp. Hình thức
phổ biến nhất của thủ thuật gây quá tải gọi là phân
tán tấn công; nó tạo ra các yêu cầu dịch vụ từ nhiều
địa chỉ máy tính khác nhau, sao cho nhà quản trị hệ
thống không phân biệt được đó có phải là một cuộc
tấn công kiểu DoS hay không. Tuy nhiên, để thực
hiện được vụ tấn công kiểu này, tin tặc phải có khả
14
năng đầy đủ về tài nguyên riêng, đặc biệt khi muốn
tấn công các hệ thống dịch vụ có tài nguyên mạnh và
được thiết kế để chịu tải lớn.
Thủ thuật tấn cộng kiểu DoS thứ hai khác với kiểu
thứ nhất. Tin tặc sẽ lợi dụng một số kẻ hở an ninh dữ
liệu của hệ thống, gửi các yêu cầu hoặc gói tin bất
hợp lệ (không đúng theo qui định) một cách có chủ ý
khiến cho hệ thống bị tấn công khi nhận được những
yêu cầu hay gói tin đó sẽ xử lý không đúng hoặc
không theo trình tự đã được thiết kế, dẫn đến sự sụp
đổ cho chính hệ thống đó. Phần lớn những kẻ hở này
xuất phát từ các sai sót của phần mềm, nhà sản xuất
phần mềm đã không thể lường trước được hết các
tình huống sẽ xảy ra. Do đó, khi tin tặc gửi những thứ
nằm ngoài các trường hợp đã dự tính, phần mềm dễ
bị lúng túng và gây tắc. Ngoài ra, còn có các kẻ hở
trong các giao thức hoạt động của hệ thống, đặc biệt
là giao thức TCP/IP. Điển hình của kiểu lợi dụng này
là tấn công "gây lụt".
c thêm :Đọ ở


15
/>d. Lợi dụng chương trình
Kỹ thuật "lợi dụng" (exploit) khai thác các điểm
yếu hoặc các lỗi có sẵn trong trong một số phần mềm
quen biết trên máy của nạn nhân hoặc máy chủ. Phần
lớn các phiên bản hệ điều hành đều có nhiều kẻ hở và
thường bị lợi dụng.
e. Giả mạo IP
Kỹ thuật "giả dạng" ( masquerade) hay còn gọi là
"giả mạo IP" (IP spoofing) cho phép hacker gửi vào
một máy tính những gói dữ liệu có vẻ đi đến từ một
địa chỉ IP khác với địa chỉ của hacker nhằm che đậy
dấu vết. Kỹ thuật này kết hợp với các kiểu tấn công
chủ động khác như lặp lại hoặc thay đổi các thông
điệp.
f. Bẫy cửa sập (trapdoor)
Kỹ thuật " bẫy cửa sập" là gài mới một cửa hậu
(backdoor) hoặc lợi dụng kẽ hở có sẵn trong hệ thống
của nạn nhân mà chui vào, đợi thời cơ để khai
thác.Backdoor trong một phần mềm là "cổng hậu" để
đi tắt không qua cổng chính, nơi có thể kiểm tra hay
xác thực nhân thân của người muốn truy cập vào hệ
thống. Trong thực tiễn, nó có thể là một chương trình
máy tính được gài lén lút vào hệ thống hoặc là một
chương trình hợp lệ nhưng bị sửa đổi lại. Thậm chí
16
tin tặc có thể thay đổi một chương trình biên dịch
(compiler) để gài backdoor khi người lập trình trót sử
dụng phải compiler này.
g. Lặp lại thông điệp (message replay)

Kỹ thuật "lặp lại thông điệp" sử dụng việc tái lập
một phần hoặc toàn bộ một thông điệp nhằm gây ra
hiệu ứng khác với ý định của chính chủ nhân.
h. Thay đổi thông điệp (message modification)
Kỹ thuật "thay đổi thông điệp" là chỉnh sửa một
phần hoặc thay đổi hoàn toàn nội dụng của một thông
điệp sao cho việc này không bị phát hiện.
i. Scanner
Scanner là một chương trình tự động rà soát và
phát hiện những điểm yếu về bảo mật trên một trạm
làm việc tại cục bộ hoặc trên một trạm ở xa. Với chức
năng này, một kẻ phá hoại sử dụng chương trình
Scanner có thể phát hiện ra những lỗ hổng về bảo mật
trên một server ở xa.
Các chương trình scanner thường có một cơ chế
chung là rà soát và phát hiện những cổng TCP/UDP
được sử dụng trên một hệ thống cần tấn công; từ đó
phát hiện những dịch vụ sử dụng trên hệ thống đó;
sau đó các chương trình scanner ghi lại những đáp
ứng trên hệ thống ở xa tương ứng với các dịch vụ mà
nó phát hiện ra. Dựa vào những thông tin này, những
17
kẻ tấn công có thể tìm ra những điểm yếu trên hệ
thống.
Những yếu tố để một chương trình Scanner có thể
hoạt động
- Yêu cầu về thiết bị và hệ thống: Một chương
trình Scanner có thể hoạt động được nếu môi trường
đó có hỗ trợ TCP/IP (bất kể hệ thống là UNIX, máy
tính tương thích với IBM, hoặc dòng máy Macintosh)

- Hệ thống đó phải kết nối vào mạng Internet.
- Tuy nhiên không phải đơn giản để xây dựng một
chương trình Scanner, những kẻ phá hoại cần có kiến
thức sâu về TCP/IP, những kiến thức về lập trình C,
PERL và một số ngôn ngữ lập trình Shell. Ngoài ra
người lập trình (hoặc người sử dụng) cần có kiến
thức là lập trình socket, phương thức hoạt động của
các ứng dụng client/server.
- Hiện nay có nhiều chương trình Scanner (cả
miễn phí và thương phẩm) có giá trị trên thị trường.
Một số địa chỉ Web site hướng dẫn tạo các chương
trình scannner:
Các chương trình Scanner có vai trò quan trọng
trong một hệ thống bảo mật, vì chúng có khả năng
phát hiện ra những điểm yếu kém trên một hệ thống
mạng. Đối với người quản trị mạng những thông tin
này là hết sức hữu ích và cần thiết; đối với những kẻ
phá hoại những thông tin này sẽ hết sức nguy hiểm.
18
k. Password Cracker
Một chương trinh bẻ khoá password là chương
trình có khả năng giải mã một mật khẩu đã được mã
hoá hoặc có thể vô hiệu hoá chức năng bảo vệ mật
khẩu của một hệ thống.
Hầu hết việc mã hoá các mật khẩu được tạo ra từ
một phương thức mã hoá. Các chương trình mã hoá
sử dụng các thuật toán mã hoá để mã hoá mật khẩu.
l. Đánh hơi gói tin (Packet Sniffer)
Sniffer theo nghĩa đen là đánh hơi, ngửi. Đối với
bảo mật hệ thống sniffer được hiểu là các công cụ (có

thể là phần cứng hoặc phần mềm) "bắt" các thông tin
lưu chuyển trên mạng; từ các thông tin "bắt" được đó
để "đánh hơi" lấy được những thông tin có giá trị trao
đổi trên mạng. Hoạt động của sniffer cũng giống như
các chương trình "bắt" các thông tin gõ từ bàn phím
(key capture). Tuy nhiên các tiện ích key capture chỉ
thực hiện trên một trạm làm việc cụ thể; đối với
sniffer có thể bắt được các thông tin trao đổi giữa
nhiều trạm làm việc với nhau.
Các chương trình sniffer (sniffer mềm) hoặc các
thiết bị sniffer (sniffer cứng) đều thực hiện bắt các
gói tin ở tầng IP trở xuống (gồm IP datagram và
Ethernet Packet). Do đó, có thể thực hiện sniffer đối
với các giao thức khác nhau ở tầng mạng như TCP,
UDP, IPX,
19
Mặt khác, giao thức ở tầng IP được định nghĩa
công khai, và cấu trúc các trường header rõ ràng, nên
việc giải mã các gói tin này không khó khăn.
Mục đích của các chương trình sniffer đó là thiết
lập chế độ promiscuous (mode dùng chung) trên các
card mạng ethernet - nơi các gói tin trao đổi trong
mạng - từ đó "bắt" được thông tin.
Các thiết bị sniffer có thể bắt được toàn bộ thông
tin trao đổi trên mạng là dựa vào nguyên tắc
broadcast (quảng bá) các gói tin trong mạng Ethernet.
Trên hệ thống mạng không dùng hub, dữ liệu không
chuyển đến một hướng mà được lưu chuyển theo mọi
hướng. Ví dụ khi một trạm làm việc cần được gửi
một thông báo đến một trạm làm việc khác trên cùng

một segment mạng, một yêu cầu từ trạm đích được
gửi tới tất cả các trạm làm việc trên mạng để xác định
trạm nào là trạm cần nhận thông tin (trạm đích). Cho
tới khi trạm nguồn nhận được thông báo chấp nhận từ
trạm đích thì luồng dữ liệu sẽ được gửi đi. Theo đúng
nguyên tắc, những trạm khác trên segment mạng sẽ
bỏ qua các thông tin trao đổi giữa hai trạm nguồn và
trạm đích xác định. Tuy nhiên, các trạm khác cũng
không bị bắt buộc phải bỏ qua những thông tin này,
do đó chúng vẫn có thể "nghe" được bằng cách thiết
lập chế độ promiscous mode trên các card mạng của
trạm đó. Sniffer sẽ thực hiện công việc này.
20
Một hệ thống sniffer có thể kết hợp cả các thiết bị
phần cứng và phần mềm, trong đó hệ thống phần
mềm với các chế độ debug thực hiện phân tích các
gói tin "bắt" được trên mạng.
Hệ thống sniffer phải được đặt trong cùng một
segment mạng (network block) cần nghe lén. Phương
thức tấn công mạng dựa vào các hệ thống sniffer là
rất nguy hiểm, vì nó được thực hiện ở các tầng rất
thấp trong hệ thống mạng. Với việc thiết lập hệ thống
sniffer cho phép lấy được toàn bộ các thông tin trao
đổi trên mạng. Các thông tin đó có thể là:
- Các tài khoản và mật khẩu truy nhập
- Các thông tin nội bộ hoặc có giá trị cao
Tuy nhiên việc thiết lập một hệ thống sniffer không
phải đơn giản vì cần phải xâm nhập được vào hệ
thống mạng đó và cài đặt các phần mềm sniffer.
Đồng thời các chương trình sniffer cũng yêu cầu

người sử dụng phải hiểu sâu về kiến trúc, các giao
thức mạng.
Mặc khác, số lượng các thông tin trao đổi trên
mạng rất lớn nên các dữ liệu do các chương trình
sniffer sinh ra cũng khá lớn. Thông thường, các
chương trình sniffer có thể cấu hình để chỉ thu nhập
từ 200 - 300 bytes trong một gói tin, vì thường những
thông tin quan trọng như tên người dùng, mật khẩu
nằm ở phần đầu gói tin.
21
Trong một số trường hợp quản trị mạng, để phân
tích các thông tin lưu chuyển trên mạng, người quản
trị cũng cần chủ động thiết lập các chương trình
sniffer, với vai trò này sniffer có tác dụng tốt.
m. Mã di động (Mobile code -Java, JavaScript, and
ActiveX)
G n đây, trên các di n đàn v b o m t xu t hi n các báo cáo vầ ễ ề ả ậ ấ ệ ề
các v n đ v i " mã di đ ng " ( ch ng h n. ấ ề ớ ộ ẳ ạ Java, JavaScript, Và
ActiveX). ây là nh ng ngôn ng l p trình đ cho nh ngĐ ữ ữ ậ ể ữ
ng i phát tri n m ng vi t mã mà đ c th c hi n b i trìnhườ ể ạ ế ượ ự ệ ở
duy t m ng (c a) các b n. Dù mã này, nói chung h u ích, songệ ạ ủ ạ ữ
nó c ng là c h i cho nh ng k t n công s d ng đ thu nh tũ ơ ộ ữ ẻ ấ ử ụ ể ặ
nh ng thông tin (nh trang web nào mà b n đ n th m) hay đữ ư ạ ế ă ể
ch y nh ng mã hi m đ c trên máy tính c a b n. Kh d vôạ ữ ể ộ ủ ạ ả ĩ
hi u hóa Java, JavaScript, và ActiveX trong b duy t m ngệ ộ ệ ạ
c a các b n. Do đó, m t khuy n cáo khi s d ng trình duy tủ ạ ộ ế ử ụ ệ
cho nh ng trang web mà b n không quen thu c, không tinữ ạ ộ
t ng thì không nên m các công ngh đ c h tr b iưở ở ệ ượ ỗ ợ ở
ActiveX v.v…
có thêm nhi u thông tin h n v mã hi m đ c xem :Để ề ơ ề ể ộ

/>tml
n. Trojans
Trojan Horse được lấy tên từ một câu chuyện thần
thoại cổ “ Con ngựa thành Trojan“. Người ta định
22
nghĩa :”Trojan horse là một chương trình không
chính thức chứa trong khoảng thời gian một chương
trình hợp pháp”. Như vậy, Trojans có thể chạy được
là do các chương trình hợp pháp đã bị thay đổi mã
của nó bằng những mã bất hợp pháp.
Những chương trình virus là một loại điển hình của
các chương trình Trojans. Vì những chương trình
virus che dấu các đoạn mã trong những chương trình
sử dụng hợp pháp. Khi những chương trình này hoạt
động thì những đoạn mã ẩn dấu thực thi để thực hiện
một số chức năng mà người sử dụng không biết (ăn
cắp mật khẩu hay sao chép files v.v…).
Xét về khía cạnh bảo mật và giám sát trên Internet
thì một chương trình Trojan sẽ thực hiện các vấn đề
sau:
- Giúp người lập trình phát hiện ra các lỗi hoặc
thông tin cá nhân của máy người dùng trên hệ thống
mạng.
- Giúp người lập trình phát hiện kiểm soát và
khống chế các hoạt động trên máy được kết nối vào
mạng
Một vài chương trình trojan có thể thực hiện cả 2
chức năng này; ngoài ra, một số chương trình trojans
còn có thể phá hủy hệ thống bằng cách phá hoại các
thông tin trên ổ cứng (ví dụ các trường hợp là virus

Melisa lây lan qua đường thư điện tử). Các chương
trình trojan có thể lây lan qua nhiều phương thức;
23
hoạt động trên nhiều môi trường hệ điều hành khác
nhau (từ Unix tới Windows, DOS); đặc biệt thường
lây lan qua một số dịch vụ phổ biến như Mail, FTP
hoặc qua các tiện ích, chương trình miễn phí trên
mạng Internet.
Việc đánh giá mức độ ảnh hưởng của các chương
trình trojans hết sức khó khăn. Trong một vài trường
hợp, nó chỉ đơn giản là ảnh hưởng đến các truy nhập
của khách hàng; ví dụ như các chương trình trojans
lấy được nội dung của file password và gửi mail tới
kẻ phá hoại; cách thức sửa đơn giản nhất là thay thế
toàn bộ nội dung của các chương trình đã bị ảnh
hưởng bởi các đoạn mã trojans và thay thế các
passwords của người sử dụng hệ thống.
Tuy nhiên với những trường hợp nghiêm trọng
hơn, là những kẻ tấn công tạo ra những lỗ hổng bảo
mật thông qua các chương trình trojans; ví dụ những
kẻ tấn công lấy được quyền root trên hệ thống, lợi
dụng nó để phá huỷ toàn bộ hoặc một phần của hệ
thống; chúng dùng các quyền root để thay đổi logfile;
cài đặt các chương trình trojans khác mà người quản
trị không thể phát hiện. Trong trường hợp này, mức
độ ảnh hưởng là nghiêm trọng và người quản trị hệ
thống đó chỉ còn cách là cài đặt lại toàn bộ hệ thống.
có thêm nhi u thông tin h n v ch ng tình trojan xemĐể ề ơ ề ươ
:


24
Ngoài những nguy cơ được liên quan đến khi nối
máy tính (của) các bạn tới Internet, ở đó là một số
nguy cơ mà áp dụng dù máy tính không có những kết
nối mạng chút nào. Đó là những nguy cơ khá điển
hình như : Lỗi đĩa cứng (Disk failure), Gián đoạn
trong việc cấp năng lượng và sóng (Power failure and
surges), ăn trộm vật lý (Physical Theft) v.v…
Tổ chức CERT khuyến cáo những hoạt động an
toàn sau đây tới những người sử dụng tại nhà :
- Tham khảo nhân sự hỗ trợ hệ thống của các bạn
nếu bạn làm việc từ nhà
- Sử phần mềm bảo vệ virus
- Sử dụng Firewall
- Đừng mở email không biết rõ nguồn gốc
- Đừng mở chương trình không biết nguồn gốc
- Vô hiệu hóa những phần mở rộng tên tập tin ẩn
- Lưu giữ tất cả các ứng dụng được vá (bao gồm hệ
điều hành của bạn)
- Tắt máy tính (của) các bạn hay ngắt ra khỏi mạng
khi không phải đang sử dụng
- Vô hiệu hóa Java, JavaScript, Và ActiveX nếu
khả dĩ
- Vô hiệu hóa những đặc tính scripting trong những
chương trình email
- Thực hiện sao lưu bình thường đối với số liệu tới
hạn
25

×