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

bài giảng - 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 (639.66 KB, 16 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
ĐÀ NẴNG, 6/2006
1
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 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


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.ở ữ ườ ượ ề ủ
2
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 :ộ ố ơ ấ ệ ừ ả ă
- 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
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…
3
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ể 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 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.
4
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
Ả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 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
5
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.
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.
- 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
6
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 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ả 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
7
đã 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 :Đọ ở

/>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í 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.
8
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 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.
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
9
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,
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.
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.
10
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 :Để ề ơ ề ể ộ
/>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 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
11
tử). Các chương trình trojan có thể lây lan qua nhiều phương thức; 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 :Để ề ơ ề ươ

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
- Làm cho một đĩa khởi động trong trường hợp là máy tính của các bạn bị hư
hại hay thỏa hiệp
12
1.3. Các dịch vụ, cơ chế bảo mật và tấn công (Services, Mechanisms, Attacks)
• Cần có cách thức thực hiện để xác định các yêu cầu
• Có 3 quan điểm để tiếp cận về bảo mật thông tin :
– Tấn công bảo mật (security attack)
– Cơ chế bảo mật (security mechanism)
– Dịch vụ bảo mật (security service)
• Ngoài ra cũng có những quan điểm ngược lại
1.3.1. Dịch vụ bảo mật (Security Service)
- Là một họat động nhằm tăng cường khả năng bảo vệ của những hệ thống xử
lý dữ liệu và sự trao đổi thông tin của tổ chức.
- Dùng để đếm những tấn công bảo mật
- Thực hiện một hoặc nhiều cơ chế bảo mật để hỗ trợ cho dịch vụ
- Thông thường sử dụng các hàm sao chép kết hợp với những tài liệu vật lý
Ví dụ như : chữ ký, vân tay, niên hiệu v.v…cần sự bảo vệ một các công khai

nhằm tránh sự giả mạo (tampering), sự phá hoại (destruction) thông qua việc
chứng thực hoặc có người làm chứng mà nó được lưu lại hay đăng ký
1.3.2. Cơ chế bảo mật (Security Mechanism)
• Cơ chế bảo mật được thiết kế để phát hiện, ngăn chặn hoặc bảo vệ từ một
tấn công bảo mật
• Nó không hoạt động đơn lẻ mà thường được hỗ trợ với tất cả yêu cầu chức
năng khác của hệ thống
• Được xây dựng dựa trên nền tảng: kỹ thuật mật mã (cryptographic
techniques), đang được áp dụng cho nhiều chế bảo mật khác ( vấn đề này
sẽ thảo luận ở chương 2 và 3 )
1.3.3. Tấn công bảo mật (Security Attack)
• Là hành động thỏa thiệp việc bảo mật thông tin của chính mình thông qua
một tổ chức
• Bảo mật thông tin là làm thế nào để ngăn chặn các tấn công hoặc yếu điểm
qua việc phát hiện các tấn công trên hệ thống thông tin
• Có một giới hạn lớn của sự tấn công. Tuy nhiên có thể có đặc trưng chung
của các loại tấn công (threat/ attack)
Cấu trúc bảo mật OSI
• Cấu trúc bảo mật ITU-T X.800 được sử dụng cho mô hình OSI
• Nó được định nghĩa là một giải pháp có tính hệ thống, cung cấp các yêu cầu
bảo mật
• Đối với sinh viên nó cung cấp một mô hình tổng để có thể nghiên cứu mỏ
rộng
Các dịch vụ bảo mật
13
• X.800 được định nghĩa như là một dịch vụ cung cấp các một lớp về giao
tiếpgiao thức của hệ thống, nhằm đảm bảo một các đầy đủ bảo mật của hệ
thống hoặc của sự truyền dữ liệu.
• RFC 2828 : Là một tiến trình hoặc một dịch vụ giao tiếp cung cấp cho hệ
thống một hình thức bảo vệ đặt thù đến tài nguyên hệ thống

• X.800 gồm 5 thành phần chính sau :
+Xác thực(Authentication) : - Đảm bảo sự tồn tại của một giao tiếp
+Điều khiển truy cập (Access Control) : Ngăn chặn việc sự dụng trái phép
của tài nguyên
+Sự tin cậy dữ liệu (Data Confidentiality) : Bảo vệ dữ liệu từ việc truy cập
tái phép
+Tòan vẹn dữ liệu (Data Integrity) : Đảm bảo dữ liệu nhận và gởi là thực
thể hợp pháp ( authorized entity)
+Sự từ chối (Non-Repudiation) – Bảo vệ chống lại các từ chối thông qua
quy tắc trong giao tiếp
Cơ chế bảo mật (X.800)
• Đặt trưng của cơ chế bảo mật:
– Đọc bộ giải mã (encipherment), chữ ký số (digital signatures), điều
khiển truy cập(access controls), toàn vẹn dữ liệu (data integrity),
thay đổi truy cập hợp pháp (authentication exchange), điều khiển lộ
trình(routing control), chứng thực (notarization) v.v…
• Cơ chế bảo mật xâm nhập (pervasive security mechanisms)
– Ủy thác chức năng (trusted functionality), dán nhãn bảo mât,
(security labels), sự kiện phát hiện, kiểm tra vết bảo mật (security
audit trails), phục hồi bảo mật (security recovery)
Phân loại tấn công bảo mật
• Tấn công bị động (passive attacks): Nghe trộm (eavesdropping) hoặc kiểm
tra các luồng dịch chuyển để :
– Thu lượm nội dung các thông điệp
– giám sát luồng lưu thông
• Tấn công tích cực (active attacks) : Thay đổi các luồng dữ liệu qua việc:
– Giả mạo (masquerade) một thực thể như là một cái khác
– Thay thế thông điệp
– Sửa đổi thông điệp trong khi dịch chuyển
– Từ chối dịch vụ

Việc sử dụng mô hình này đòi hỏi chúng ta phải :
+Thiết kế một thuật tóan phù hợp cho phép biến đổi bảo mật
+Tạo một khóa thông tin bí mật (keys) bởi một thuật tóan
+Phát triển các phương pháp để phân phát và dùng chung thông tin bí mật
+Xác định một quyền thức giao hính chính để dùng phép biến đổi và bí mật
thông tin cho dịch vụ bảo mật
14
Mô hình bảo mật mạng (Model for Network Security)
Hình 1.1a. Mô hình cho bảo mật truy cập mạng
Hình 1.1b. Mô hình cho bảo mật truy cập mạng
• Để sử dụng mô hình này yêu cầu phải :
– Lựa chọn các hàm bảo vệ cộng thích hợp để nhận dạng (identify)
người dùng
– Bổ sung các dụng cụ điều khiển an toàn để đảm bảo chỉ người dùng
được quyền truy cập vào thông tin hoặc tài nguyên
• Ủy thác hệ thống máy tính có thể được dùng để cung cấp các công cụ mô
hình này.
15
Tóm tắt chương I :
16
Chúng ta đã có quan điểm tổng quan về :
Các định nghĩa về bảo mật computer, mạng và internet
Các dịch vụ bảo mật, cơ chế, tấn công
Chuẩn X.800
Các mô hình cho bảo mật mạng

×