Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368
Điển hình cho kiểu tấn công này là tấn công từ chối dịch vụ DoS (Denial of
Service). Đây là hành động mà kẻ tấn công lợi dụng đặc điểm hoặc lỗi an toàn thông
tin của một hệ thống dịch vụ nhằm làm ngưng trệ hoặc ngăn cản người dùng truy
nhập dịch vụ đó.
Cuộc tấn công này không lấy mất thông tin của hệ thống, nó thường chỉ gây cho
chương trình hoặc hệ thống bị đổ vỡ hoặc bị treo, tê liệt từng phần hoặc toàn bộ, buộc
người quản trị dịch vụ đó phải tạm ngừng cung cấp dịch vụ và khởi động lại 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 dịch vụ gây ra
những thiệt hại đáng kể.
Có hai kiểu tấn công từ chối dịch vụ dựa theo đặc điểm của hệ thống bị tấn
công, thứ nhất là gây quá tải khiến cho hệ thống mất khả năng phục vụ cho người
dùng thực sự, thứ hai là dựa vào lỗi an toàn thông tin của hệ thống để từ đó gây cho
hệ thống bị treo, tê liệt.
Với loại thứ nhất, việc gây quá tải được thực hiện bằng cách gửi rất nhiều yêu
cầu dịch vụ giả. Để giải quyết một yêu cầu dịch vụ, hệ thống phải tốn một lượng tài
nguyên nhất định (CPU, bộ nhớ, đường truyền…). Lượng tài nguyên là giới hạn, khi
nhận được quá nhiều yêu cầu dịch vụ giả, hệ thống sẽ sử dụng toàn bộ tài nguyên để
đáp ứng các yêu cầu đó và không còn tài nguyên để đáp ứng yêu cầu thực sự khác của
người dùng, người dùng sẽ không thể truy nhập được vào hệ thống dịch vụ.
Với loại tấn công từ chối dịch vụ thứ hai, kẻ tấn công lợi dụng kẽ hở an toàn
thông tin của hệ thống, cố ý gửi các yêu cầu hoặc các gói tin không hợp lệ khiến cho
hệ thống bị tấn công khi nhận được yêu cầu hay gói tin này. Việc 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 các kẽ hở này xuất phát từ lỗi phần mềm. Khi kẻ tấn công gửi những thứ
không nằm trong các khả năng đã dự tính, thì phần mềm dễ dàng bị lỗi, gây đổ vỡ hệ
thống. Ví dụ điển hình cho lỗi này là kiểu tấn công Ping of Death vào năm 1995, gây
treo hoặc đổ vỡ cho rất nhiều hệ thống. Ngoài ra, một số ít các kẽ hở lại xuất phát từ
chính nguyên lý hoạt động của hệ thống, đặc biệt là nguyên lý của bộ giao thức mạng
TCP/IP. Ví dụ điển hình của kiểu tấn công này là SYN flooding, gây cho hệ thống
dịch vụ mất khả năng tiếp nhận kết nối TCP.
Hiện tại chưa có biện pháp hữu hiệu nào để phòng chống tấn công từ chối dịch
vụ, nhất là kiểu tấn công gây quá tải. Nhà cung cấp dịch vụ chỉ có thể hạn chế chứ
khó có thể giữ cho dịch vụ của mình luôn sẵn sàng trước mọi cuộc tấn công từ chối
dịch vụ.
Biện pháp tốt nhất hiện nay để chống lại các cuộc tấn công từ chối dịch vụ, nhất
là kiểu tấn công dựa vào lỗi an toàn thông tin của hệ thống, là các nhà cung cấp dịch
vụ phải liên tục cập nhật phiên bản sửa lỗi phần mềm mới nhất cho hệ thống của
mình. Đồng thời các nhà cung cấp dịch vụ phải xây dựng và quản trị hệ thống sao cho
chúng ít có khả năng bị lợi dụng để phát động tấn công từ chối dịch vụ.
Tấn công DoS thực hiện đồng thời từ nhiều địa chỉ khác nhau được gọi là tấn
công DDoS (Distributed-DoS).
Tấn công ngăn chặn (Interception Attack)
5
Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368
Kiểu tấn công này sử dụng các bộ nghe trộm để bắt giữ password và các thông
tin nhạy cảm khác được truyền qua lại trên mạng. Nhờ nghe trộm password kẻ tấn
công có thể lấy được mật khẩu của người sử dụng, sau đó chúng truy nhập một cách
chính quy vào hệ thống.
Để hạn chế kiểu tấn công này, chúng ta thực hiện phân đoạn hệ thống mạng và
sử dụng các Hub chuyển đổi.
Tấn công làm thay đổi (Modification Attack)
Kiểu tấn công này thực hiện sửa đổi, thay đổi thông tin/chương trình, ví dụ như
sử dụng các đoạn mã nguy hiểm, Virus, Trojan gắn vào email hoặc các Web site,
Biện pháp bảo vệ trong trường hợp tấn công này đó là sử dụng các phần mềm
chống virus, thực hiện lọc tại mail server, kiểm tra tính toàn vẹn dữ liệu.
Tấn công giả mạo (Fabrication Attack)
Tấn công giả mạo IP là kẻ tấn công tự đặt địa chỉ IP của mình trùng với một địa
chỉ nào đó ở mạng bên trong. Khi đó, nó sẽ được đối xử như một máy bên trong tức
là được làm mọi thứ để từ đó tấn công, lấy trộm, phá huỷ thông tin.
1.3 Các phương pháp bảo vệ
Với các kiểu tấn công đa dạng như đã trình bày ở trên, các phương pháp bảo vệ
an ninh mạng cũng không ngừng được tạo ra, sửa đổi và phát triển cho phù hợp với
từng hệ thống. Đó có thể là những phần mềm tích hợp trên hệ thống, những công cụ
phần cứng hoặc kết hợp cả hai (phần cứng lẫn phần mềm), đó cũng có thể là những
chính sách an ninh.
Các phương pháp thông thường hiện nay bao gồm:
• Firewall
• Intrusion Detection System
• Policy
Chúng ta xem xét tổng quan từng phương pháp:
Firewall
Firewall là sản phẩm cung cấp sự an toàn kết nối giữa mạng nội bộ với các
mạng bên ngoài.
Firewall giống như một hàng rào quanh hệ thống mạng, với một cặp các cổng
được lựa chọn. Hàng rào này không có khả năng phát hiện một ai đó đang cố gắng
xâm nhập vào hệ thống (như tìm ra một lỗ hổng ở bên dưới nó), hay phát hiện ai đó
vào qua một cổng được phép. Mà nó chỉ đơn giản hạn chế việc truy cập đến các
điểm được đại diện.
Intrusion Detection System (IDS)
6
Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368
IDS (hệ thống phát hiện xâm nhập trái phép) được tạo thành từ các thành phần
phần cứng và phần mềm cùng hoạt động để tìm ra các sự kiện không mong muốn,
từ đó có thể chỉ ra một cuộc tấn công sẽ xảy ra, đang xảy ra hoặc đã xảy ra.
Policy
Đưa ra tính riêng tư, các luật điều khiển, những việc phải làm nếu bị tấn công.
7
Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368
CHƯƠNG 2: HỆ THỐNG PHÁT HIỆN XÂM NHẬP TRÁI PHÉP TRÊN
MẠNG (NIDS)
2.1 Xâm nhập (Instrusion)
Trong phần này sẽ trình bày những khái niệm liên quan như xâm nhập
(intrusion), kịch bản xâm nhập (intrusion scenario), sẽ tìm hiểu về bản chất, nguyên
nhân, những dấu hiệu của việc xâm nhập vào hệ thống, trước khi đi sâu nghiên cứu
và triển khai một hệ thống phát hiện xâm nhập.
Một xâm nhập là một vài người (“hacker” hay “cracker”) cố gắng phá vỡ hay
lạm dụng hệ thống. Hacker và cracker là hai từ dùng để chỉ những kẻ xâm nhập.
Kẻ xâm nhập được chia thành hai loại:
• Outsiders: những kẻ xâm nhập từ bên ngoài hệ thống (xóa Web servers,
chuyển tiếp các spam qua e-mail servers). Chúng có thể vượt qua firewall để
tấn công các máy trong nội bộ mạng. Những kẻ xâm nhập có thể đến từ
Internet, qua đường dây điện thoại, đột nhập vật lý hoặc từ các mạng thành
viên được liên kết đến tổ chức mạng (nhà sản xuất, khách hàng,…).
• Insiders: những kẻ xâm nhập mà được sử dụng hợp pháp đến bên trong hệ
thống (những người sử dụng được ủy quyền, hoặc giả mạo người dùng được
ủy quyền ở mức cao hơn… ). Loại xâm nhập này chiếm 80%.
2.1.1 Cách thức xâm nhập vào hệ thống
Các cách thức chính mà những kẻ xâm nhập có thể đi vào hệ thống:
• Physical Intrusion (xâm nhập vật lý): nếu một kẻ xâm nhập truy cập vật lý
vào một máy (chẳng hạn chúng có thể dùng bàn phím,…) chúng sẽ có thể
xâm nhập vào cả hệ thống.
• System Intrusion (xâm nhập hệ thống): đây là một kiểu hacking. Giả sử rằng
kẻ xâm nhập đã có một account người dùng được ủy quyền mức thấp trong
hệ thống. Nếu hệ thống không có các biện pháp an toàn mới nhất, thì sẽ tạo
cơ hội tốt cho kẻ xâm nhập lợi dụng để có được ủy quyền cao hơn (quyền
người quản trị).
• Remote Intrusion (xâm nhập từ xa): đây là kiểu hacking liên quan đến kẻ
xâm nhập cố gắng thâm nhập vào một hệ thống từ xa qua mạng. Kẻ xâm
nhập đầu tiên không có một ủy quyền đặc biệt nào cả. Có một số dạng
hacking này.
Hệ thống NIDS nghiên cứu trong phạm vi đề tài này liên quan chính đến kiểu
xâm nhập từ xa (Remote Intrusion).
8
Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368
2.1.2 Những lỗ hổng an ninh có thể xâm nhập
Phần mềm luôn luôn có lỗi (bug). Nhà quản trị hệ thống và người lập trình
không bao giờ có thể xóa vết và khử mọi lỗ hổng có thể. Những kẻ xâm nhập chỉ
cần tìm ra một lỗ hổng và xâm nhập vào hệ thống.
Chi tiết về các lỗi hệ thống mà những kẻ xâm nhập có thể lợi dụng để thực hiện
các mục đích của chúng như sau:
Các lỗi phần mềm (Software bugs):
Các lỗi phần mềm được khai thác trong các trình tiện ích trên server, trong các
ứng dụng tại client, trong hệ điều hành và các ngăn xếp mạng. Các lỗi phần mềm có
thể được chia thành các loại sau :
• Buffer overflows (tràn bộ nhớ) : hầu hết các lỗ hổng an ninh được biết đến
đều do lỗi này. Ví dụ điển hình, một lập trình viên thiết lập 256 kí tự để lưu
trữ một username đăng nhập. Người lập trình viên nghĩ rằng không ai có thể
có tên dài hơn thế, nhưng một hacker thì sẽ nghĩ rằng điều gì xảy ra nếu
mình gõ vào một username vượt quá số kí tự đó, những kí tự thừa ra sẽ đi
đâu. Nếu hacker thử luôn, họ nhập vào 300 kí tự bao gồm cả code mà sẽ
được thực hiện bởi server và như vậy là họ đã xâm nhập được vào hệ thống.
Các hacker sẽ phát hiện những lỗi này theo một số cách. Một là source code
cho rất nhiều các dịch vụ trên mạng. Hacker sẽ xem các code này để tìm ra
các đoạn chương trình có lỗi tràn bộ nhớ. Hai là, hacker có thể nhìn vào
chương trình để xem có lỗi đó tồn tại hay không, tuy vậy việc đọc mã
assembly ở đầu ra là rất khó. Ba là hacker sẽ kiểm tra mọi nơi chương trình
có đầu vào và cố gắng làm tràn nó với một dữ liệu ngẫu nhiên. Nếu chương
trình bị lỗi thì đây là một cơ hội tốt để hacker thâm nhập vào. Lưu ý là vấn
đề này phổ biến đối với những chương trình viết bằng C/C++, nhưng hiếm
trong những chương trình viết bằng JAVA.
• Unexpected combinations (các kết hợp không được mong đợi) : các
chương trình thường được xây dựng sử dụng nhiều lớp code bao gồm lớp
dưới hệ điều hành như là lớp dưới cùng của các lớp. Kẻ xâm nhập có thể
thường xuyên gửi đầu vào vô nghĩa đối với một lớp nhưng có ý nghĩa đối
với nhiều lớp khác. Ngôn ngữ thông dụng nhất để xử lý đầu vào người dùng
là PERL. Các chương trình viết bằng PERL sẽ thường xuyên gửi các đầu vào
này đến các chương trình khác để ước lượng. Một kỹ thuật hacker phổ biến
có thể đi vào như "| mail < /etc/passwd". Điều này được thực hiện bởi vì PERL
yêu cầu hệ điều hành khởi động một chương trình thêm vào với đầu ra đó.
Tuy nhiên, hệ điều hành chặn kí tự đường ống “|”, và khởi động chương
trình mail, điều này có thể dẫn đến việc file password được gửi cho kẻ xâm
nhập.
• Unhandled input (đầu vào không được xử lý): hầu hết các chương trình
được viết để xử lý đầu vào hợp lệ. Đa số lập trình viên không xem xét đến
9
Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368
trường hợp là điều gì sẽ xảy ra khi đầu vào được nhập không đúng theo đặc
tả.
• Race condition : hầu hết các hệ thống ngày nay là đa nhiệm/đa luồng
(multitasking/ multỉTheaded). điều này có nghĩa là chúng có thể thực hiện
hơn một chương trình tại một thời điểm. Sẽ là nguy hiểm nếu hai chương
trình cùng phải truy cập đến một cơ sở dữ liệu tại cùng một thời điểm. Giả
sử hai chương trình A và B cùng muốn sửa đổi cùng một file. Muốn sửa đổi
một file, chương trình trước tiên phải đọc file vào bộ nhớ, thay đổi nội dung
trong bộ nhớ sau đó copy từ bộ nhớ ngược trở lại file. Race condition xảy ra
khi chương trình A đọc file vào bộ nhớ sau đó thay đổi, và trước khi A thực
hiện ghi lên file, chương trình B can thiệp vào và thực hiện đầy đủ đọc/ sửa
đổi/ ghi lên file. Bây giờ chương trình A ghi bản copy của nó ngược trở ra
file. Vì chương trình A bắt đầu với bản copy trước khi B tiến hành thay đổi
nó nên mọi thay đổi của B lên file sẽ bị mất. Vì bạn cần phải thực hiện một
chuỗi các sự kiện theo đúng một trật tự nào đó nên race condition là hiếm.
Những kẻ xâm nhập thường xuyên phải cố gắng hàng ngàn lần trước khi
thành công và hack vào hệ thống.
Lỗi cấu hình hệ thống (System configuration bugs):
Lỗi cấu hình hệ thống có thể chia thành các loại sau :
• Default configurations : đa số các hệ thống được gửi tới các khách hàng ở
chế độ mặc định (cấu hình dễ sử dụng_easy to use). Thật không may mắn,
easy-to-use cũng đồng nghĩa với easy-to-break-in. Hầu hết các máy UNIX
hoặc WINNT được chuyển cho ban đều có thể bị hack dễ dàng.
• Lazy administrators: Một số lượng đáng ngạc nhiên các máy được cấu
hình với password root/administrator rỗng. Đó là vì người quản trị quá lazy
để cấu hình nó và muốn bật máy, chạy máy thật nhanh với việc làm phiền ít
nhất. Không may là họ không bao giờ quay lại và điền password sau đó, nên
kẻ xâm nhập sẽ dễ dàng truy cập vào hệ thống. Một điều đầu tiên mà kẻ xâm
nhập sẽ làm trên một mạng là dò tìm tất cả các máy có password rỗng.
• Hole creation (việc tạo lỗ hổng) : hầu hết các chương trình có thể được
định cấu hình để chạy trong chế độ không an toàn. Đôi khi một số nhà quản
trị vô tình mở một lỗ hổng. Hầu hết các hướng dẫn về việc quản trị gợi ý
rằng các nhà quản trị nên tắt mọi thứ mà hoàn toàn không cần thiết chạy trên
máy để tránh các lỗ hổng bất ngờ.
• Trust relationships : kẻ xâm nhập thường lợi dụng các quan hệ tin cậy trên
mạng. Một hệ thống mạng bao gồm các máy tin cậy lẫn nhau sẽ chỉ an toàn
khi nó có kết nối yếu.
10
Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368
Phá password (Password cracking):
• Really weak passwords: hầu hết mọi người dùng tên của họ, tên của bọn
trẻ, con vật, hoặc nhãn hiệu xe làm password. Còn có những người không
dùng password. Điều này dẫn đến một danh sách nhỏ hơn 30 khả năng cho
kẻ xâm nhập có thể tự mình nhập đúng thông tin.
• Dictionary attacks (tấn công từ điển): không áp dụng được các biện pháp
tấn công ở trên, kẻ xâm nhập có thể thực hiện bước tiếp theo là cố gắng
“dictionary attack”. Trong kiểu tấn công này, kẻ xâm nhập sẽ dùng một
chương trình để thử mọi từ có khả năng trong từ điển. Bằng cách lặp đi lặp
lại việc log in vào hệ thống bằng tập hợp các password được mã hoá và cố
gắng tìm ra. Những kẻ tấn công sẽ có một bản copy các từ điển tiếng Anh
như là cơ sở dữ liệu (bao gồm tên và danh sách các password thông dụng).
• Brute force attacks : giống như dictionary attack, kẻ xâm nhập cố gắng
thử tất cả các khả năng có thể gồm tập hợp các kí tự. Một password ngắn 4 kí
tự gồm các chữ thường thì có thể dễ dàng bị phá chỉ trong vài phút.
Password dài 7 kí tự, bao gồm cả chữ hoa chữ thường thì phải mất hàng
tháng để phá.
Những kẻ xâm nhập có thể lấy password theo các cách sau đây :
• Nghe trộm văn bản rõ (clear-text sniffing): một số giao thức (Telnet, FTP,
HTTP) sử dụng password clear-text, có nghĩa là chúng không được mã hoá
khi truyền trên đường dây giữa client và server. Một kẻ xâm nhập với một bộ
phân tích giao thức sẽ giám sát đường dây và tìm kiếm những password như
vậy. Không cần nhiều nỗ lực, kẻ xâm nhập đã có thể ngay lập tức sử dụng
các password đó để log in vào hệ thống.
• Nghe trộm password được mã hoá: hầu hết các giao thức sử dụng một số
loại mã hoá trên password, trong trường hợp này, kẻ xâm nhập sẽ phải sử
dụng phép tấn công từ điển (dictionary) trên password để giải mã. Chú ý
rằng bạn vẫn không được biết về sự hiện diện của kẻ xâm nhập vì chúng
hoàn toàn chủ động và không truyền bất cứ tín hiệu nào trên đường dây.
Việc phá password không đòi hỏi tín hiệu nào được gửi trên đường dây khi
máy của kẻ xâm nhập đang được dùng để xác thực password của bạn.
• Tấn công nghe lại (Replay attack): trong một số trường hợp, những kẻ tấn
công không cần thiết phải giải mã password, chúng có thể dùng dạng mã hóa
để tấn công vào hệ thống. Điều này đòi hỏi chúng phải lập trình lại các phần
mềm client để cho phép dùng password được mã hoá.
• Lấy trộm file password: toàn bộ cơ sở dữ liệu người dùng được lưu trữ ở
một file trên đĩa. Một khi kẻ xâm nhập đã lấy được file này, chúng có thể
chạy những chương trình crack để tìm ra những password yếu trong file.
• Quan sát (Observation): một trong những vấn đề truyền thống trong an
toàn password là password cần phải dài và khó phát hiện (sao cho biện pháp
11
Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368
tấn công sử dụng từ điển là khó có thể thực hiện). Tuy nhiên, những
password như vậy rất khó nhớ và người dùng có thể viết chúng ra đâu đó.
Những kẻ xâm nhập thường xuyên tìm kiếm trang làm việc của người dùng
để tìm password hoặc đứng sau người dùng để xem họ gõ password.
• Social Engineering: một kỹ thuật phổ biến là gọi đến người dùng và nói
rằng “Xin chào, tôi là Bob tại MIS. Chúng tôi đang cố gắng theo dõi một số
vấn đề trên mạng và chúng xuất hiện tại máy của bạn. Password mà bạn sử
dụng là gì ?”. Nhiều user sẽ đưa password trong tình huống này.
Nghe trộm giao thông mạng (Sniffing unsecured traffic):
• Shared medium (phương tiện chia sẻ): với mạng Ethernet truyền thống, tất
cả bạn phải làm là đặt một sniffer lên đường dây để xem xét tất cả giao thông
mạng trên một đoạn. Bây giờ, điều này trở nên khó khăn hơn vì tất cả các tổ
chức đang chuyển sang mạng Ethernet chuyển mạch.
• Server sniffing (nghe trộm trên server): tuy nhiên, trên một mạng chuyển
mạch, nếu bạn có thể cài đặt một chương trình sniffing trên một server (đặc
biệt nó hoạt động như một router), thì bạn có thể dùng các thông tin đó để
đột nhập vào các máy client. Ví dụ, bạn không biết password của một user
nhưng sniffing một phiên Telnet khi họ log in vào sẽ cho bạn password.
• Remote sniffing (nghe trộm từ xa): một lượng lớn các box đến cùng với
RMON và các xâu thực thể. Trong khi băng thông rất thấp (bạn không thể
sniff trên tất cả các giao thông mạng).
Lỗi thiết kế (Design flaws):
Thậm chí nếu việc thực hiện một phần mềm hoàn toàn đúng theo thiết kế, vẫn
có các lỗi trong bản thân thiết kế cho phép kẻ xâm nhập có thể lợi dụng.
• TCP/IP Protocol flaws : giao thức TCP/IP được thiết kế trước khi chúng ta
có nhiều kinh nghiệm về hacking phạm vi rộng mà chúng ta gặp phải ngày
nay, kết quả là một số lỗi thiết kế sẽ dẫn đến vấn đề không an toàn.
2.1.3 Những dấu hiệu xâm nhập thông thường
Có 3 cách thức chính để thực hiện hành vi xâm nhập:
• Do thám (Reconnaissance): bao gồm việc quét các địa chỉ, DNS, quét các
cổng TCP, UDP,…và các Web server để tìm ra các lỗ hổng CGI.
• Lợi dụng (Exploits): lợi dụng các đặc tính ẩn hoặc lỗi để truy cập vào hệ
thống.
• Từ chối dịch vụ (Denial of Service-DoS): kẻ xâm nhập sẽ cố gắng phá vỡ
một dịch vụ, quá tải kết nối mạng, quá tải CPU, hoặc làm đầy đĩa. Chúng sẽ
12
Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368
không lấy các thông tin mà chỉ đơn giản đóng vai trò như một kẻ phá hoại để
ngăn cản bạn sử dụng trên máy của bạn.
Exploits:
CGI Scripts
Web server attacks
Web browser attacks
SMTP (SendMail) attacks
Access
IMAP
IP Spoofing (giả mạo IP)
Buffer Overflows (tràn bộ nhớ)
DNS attacks
Reconnaissance:
Ping sweeps
TCP scans
UDP scans
OS identification
Account scans
DoS attacks:
Ping-of-Death
SYN Flood
Land/Latierra
WinNuke
2.1.4 Một kịch bản xâm nhập điển hình
Chúng ta sử dụng thuật ngữ kịch bản xâm nhập (intrusion scenario) như là sự
mô tả một kiểu xâm nhập đã được biết đến một cách chính xác, rõ ràng. Nó được
định nghĩa là một chuỗi các hành động, mà khi thực hiện thì kết quả là một xâm
nhập trừ khi có sự can thiệp ngăn cản quá trình hoàn thành chuỗi hành động đó.
Mô hình hay sự miêu tả của kịch bản xâm nhập sẽ quyết định khả năng kiểm
soát hệ thống. Một kịch bản điển hình có thể là :
Bước 1 : do thám bên ngoài (outside reconnaissance).
Bước 2 : do thám bên trong (inside reconnaissance).
Bước 3 : khai thác các lỗ hổng (exploit).
Bước 4 : theo dấu vết (foot hold).
Bước 5 : lợi dụng các sơ hở (profit).
13
Website: http://www.docs.vn Email : lienhe@docs.vn Tel : 0918.775.368
2.2 Hệ thống phát hiện xâm nhập (IDS)
2.2.1 Định nghĩa, chức năng, nguyên lý làm việc
Định nghĩa: Hệ thống phát hiện xâm nhập là hệ thống có nhiệm vụ theo dõi, ghi
lại, và (có thể) ngăn cản sự xâm nhập cũng như các hành vi khai thác trái phép tài
nguyên của hệ thống được bảo vệ. Có thể dẫn đến làm tổn hại đến tính mật, tính
toàn vẹn và tính sẵn sàng của hệ thống.
Chức năng của hệ thống: là bảo vệ tính mật, tính toàn vẹn, và tính sẵn sàng của
thông tin. Hệ thống IDS sẽ thu thập thông tin từ rất nhiều nguồn trong hệ thống
được bảo vệ sau đó tiến hành phân tích những thông tin đó theo các cách khác nhau
để phát hiện những xâm nhập trái phép.
Có hai cách tiếp cận cơ bản đối với quá trình phát hiện xâm nhập, đó là phát
hiện sự không bình thường (anomaly detection) và phát hiện sự lạm dụng (misuse
detection). Hai cách thức phát hiện này cũng chính là những nguyên lý làm việc của
các hệ thống IDS từ trước đến nay, do đó đi sâu tìm hiểu hai cách thức đó đồng
nghĩa với việc tìm hiểu về cơ chế hoạt động của các hệ thống IDS.
Nguyên lý làm việc
• Phát hiện sự không bình thường (anomaly detetion):
Dựa trên việc định nghĩa và mô tả đặc điểm các dạng thức (form) cố định mong
muốn và/hoặc với các hành vi (behavior) động có thể chấp nhận của hệ thống. Sau
đó, phân biệt chúng với các hành vi không mong muốn hoặc bất thường để tìm ra
các thay đổi hay các hành vi bất hợp pháp.
Như vậy, bộ phát hiện sự không bình thường phải có khả năng phân biệt giữa
những hiện tượng thông thường và hiện tượng bất thường.
Ranh giới giữa dạng thức chấp nhận được và dạng thức bất thường của đoạn mã
và dữ liệu lưu trữ được định nghĩa rõ ràng (chỉ cần một bit khác nhau), còn ranh
giới giữa hành vi hợp lệ và hành vi bất thường thì khó xác định hơn.
Phát hiện sự không bình thường được chia thành hai loại tĩnh và động.
o Phát hiện tĩnh:
Dựa trên giả thiết ban đầu là phần hệ thống được kiểm soát phải luôn luôn
không đổi. Ở đây, chúng ta chỉ quan tâm đến phần mềm của vùng hệ thống đó (với
giả sử là phần cứng không cần phải kiểm tra). Phần tĩnh của một hệ thống bao gồm
2 phần con: mã hệ thống và dữ liệu của phần hệ thống đó. Có thể được biểu diễn
dưới dạng một xâu bit nhị phân hoặc một tập các xâu (các file). Nếu biểu diễn này
có sự sai khác so với dạng thức gốc thì hoặc có lỗi xảy ra hoặc một kẻ xâm nhập
nào đó đã thay đổi nó. Lúc này, bộ phát hiện tĩnh sẽ được thông báo để kiểm tra tính
toàn vẹn dữ liệu.
Cụ thể là: bộ phát hiện tĩnh đưa ra một hoặc một vài xâu bit cố định để định
nghĩa trạng thái mong muốn của hệ thống. Chúng thu được một biểu diễn về trạng
14
Không có nhận xét nào:
Đăng nhận xét