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

Ôn thi Viên Chức Ngành Y tế Tài liệu ôn thi môn Công nghệ thông tin Phần Tìm hiểu về bảo mật mạng máy tính

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 (324.95 KB, 16 trang )

CHƯƠNG I:

TỔNG QUAN VỀ BẢO MẬT MẠNG MÁY TÍNH
VÀ CÁC KỸ THUẬT TẤN CÔNG MẠNG
I.1. Vấn đề đặt ra với yêu cầu bảo mật thông tin trên mạng máy tính
Chúng ta xem xét vấn đề này thông qua một vài ví dụ thực tế (có thể xảy ra khi truyền
tải/trao đổi thông tin trên mạng) sau đây:
a. Người sử dụng A chuyển một tập tin đến người sử dụng B, tập tin này chứa những
thông tin cần được bảo vệ. Trong môi trường mạng (không an toàn), người sử dụng C –
người không được phép đọc tập tin này, có thể theo dõi sự di chuyển của tập tin. Người
sử dụng C cũng có thể bắt giữ (capture/copy) tập tin trong quá trình di chuyển của nó.
b. Người quản lý mạng tên D, chuyển một thông điệp đến máy tính thành viên của mạng,
máy tính E. Thông điệp này yêu cầu máy tính E cập nhật tập tin “cấp phép” – có thể bao
gồm các định danh của người sử dụng được phép truy cập máy tính đó. Trong môi trường
mạng (không an toàn), người sử dụng F có thể chặn thông điệp này, sửa đổi nó (theo ý đồ
riêng) và rồi chuyển tiếp đến máy tính E. Máy E thừa nhận thông điệp từ người quản lý D
và cập nhật vào tập tin “cấp phép” của nó. Điều đáng nói ở đây là máy E không hề biết
thông điệp được gửi đến từ F và nó đã bị thay đổi.
c. Trong môi trường mạng (không an toàn) của một một Công ty, khi nhân viên
Malconten bị sa thải, người quản lý nhân sự sẽ gửi một thông điệp đến máy Server của hệ
thống để yêu cầu làm mất hiệu lực của account user của anh ta. Trong trường hợp này,
Malconten có thể chặn thông điệp lại và làm trễ nó trong một khoảng thời gian đủ để anh
ta thực hiện một truy cập lần cuối cùng đến máy server và nhận một số thông tin “nhạy
cảm” nào đó. Rõ ràng thông điệp cũng được chuyển đến máy Server, nhưng nó đã “quá
trễ”.
d. Trong môi trường thương mại điện tử (không tin cậy), một thông điệp được gửi từ một
khách hàng mua vàng đến trung tâm mua bán vàng The Sun, với nội dung: thoả thuận
mua một lượng vàng 9999 với giá 10 triệu đồng. Nhưng trong khi việc giao nhận vàng
chưa diễn ra thì giá một lượng vàng trên thị trường giảm xuống còn 9 triệu đồng. Có thể
xảy ra tình huống: Người khách mua vàng nói rằng anh ta chưa bao giờ gửi thông điệp
thoả thuận mua vàng trước đó. Điều gì sẽ xảy ra? Làm thế nào để buộc khách hàng đó


phải thừa nhận rằng anh ta đã từng đồng ý mua vàng với giá 10 triệu đồng một lượng?
Từ các ví dụ trên, hãy liên hệ đến các mối đe dọa tìm ẩn trong việc truyền thông tin
(message/packet) trong môi trường mạng không an toàn/không tin cậy. Để từ đó có thể
đưa ra các giải pháp để phát hiện và ngăn chặn chúng. Đó là nhiệm vụ của công tác An
toàn mạng/Bảo mật mạng. Nên nhớ rằng, an toàn mạng là quá trình chứ không phải một
công cụ, các công cụ liên quan chỉ có tác dụng hỗ trợ cho quá trình bảo mật đạt hiệu quả
hơn.
I.2. Vấn đề bảo mật trên các mạng TCP/IP
Vấn đề bảo vệ mạng, chính xác hơn là bảo vệ thông tin được lưu trữ và di chuyển trên
mạng, để chống lại những người xâm phạm và kẻ phá hoại (gọi chung là hacker), kể cả
trong và ngoài hệ thống mạng, được những người quản trị mạng đặt lên hàng đầu trong
công tác quản trị mạng. Hacker không chỉ tấn công vào các mạng TCP/IP, nhưng mối đe


doạ tiềm ẩn đối với các mạng này là rất lớn, vì TCP/IP là một giao thức mở nên các
hacker có thể tìm thấy những lỗ hổng của nó một cách dễ dàng bằng cách thử nhiều kiểu
tấn công khác nhau.
I.2.1. Mục tiêu của hacker
Mục tiêu mà các hacker nhắm đến trước khi thực hiện tấn công các mạng TCP/IP thường
là:


Phải đạt được “Sự mạo danh (Impersonation)”: Để có thể thực hiện sự truy cập
không được phép (unauthorized) đến tài nguyên mạng (dữ liệu).



Phải làm cho mục tiêu bị tấn công rơi vào tình trạng “từ chối dịch vụ (gọi là tân
công DoS: Denial-of-Service)”: Để làm cho tài nguyên của mạng (các máy chủ dịch vụ:
Web server,…) trở nên không có tác dụng.




Phải thực hiện được việc “Phát lại thông điệp (Replay of messages)”: Để có thể truy
cập/nhận thông tin và thay đổi nó, khi thông tin đang di chuyển trên đường.



Phải đoán được mật khẩu (Guessing of password): Để từ đó có thể truy cập đến
thông tin/dịch vụ mà đúng ra nó bị từ chối (gọi là tấn công tự điển: dictionary
attack).



Phải đoán được khóa (Guessing of key): Để có thể truy cập đến mật khẩu và dữ liệu đã
được mã hoá (gọi là tấn công “thô bạo”: brute-force attack).

I.2.2. Chính sách an toàn cho các mạng TCP/IP
Người quản trị an toàn của hệ thống mạng, nhất là các mạng TCP/IP, phải thực hiện kết
hợp các chính sách bảo mật sau đây để bảo vệ mạng và dữ liệu truyền đi trên mạng của
họ, sự bảo vệ mạng không chỉ giới hạn trong một LAN/WAN mà có thể trên cả Intranet
và Internet:


Thực hiện mã hoá (encryption) thông tin trước khi tuyền/gửi đi trên mạng: Để bảo
vệ dữ liệu và mật khẩu.



Thực hiện cơ chế xác thực (authentication) – có thể sử dụng chữ ký điện tử

(digital signature) và/hoặc thẻ chứng thực (certificates): Để kiểm tra ai là người
gửi (nguồn gốc) dữ liệu trên mạng.



Thực hiện cơ chế cho phép/cấp phép (authorization): Để ngăn chặn các truy cập
không thích hợp/không hợp lệ (improper).



Kiểm tra tính toàn vẹn (integrity) dữ liệu và Mã xác thực thông điệp (message
authentication code ): Để bảo vệ chống lại (against) những sự thay đổi/sử đổi
(alteration) thông điệp.



Thực hiện quy trình công nhận (Non-repudiation): Để đảm bảo rằng một hành
động là không thể bị phủ nhận/từ chối bởi người thực hiện nó.



Thực hiện chính sách mật khẩu một lần (One-time password) và Số bắt tay ngẫu nhiên
hai chiều (Two-way random number handshakes: mutually conversation): Để cho phép các cặp tuyền thông
có thể xác thực lẫn nhau.



Thực hiện chính sách cập nhật/làm tươi khoá thường xuyên (Frequent key
refresh); Sử dụng các khoá “mạnh” (strong key); Ngăn ngừa hiện tượng “giả”
khoá trong tương lai;… : Để bảo vệ mạng chống lại các tấn công theo cách “bẻ”

khóa: Tấn công “tự điển”, Tấn công “thô bạo”.




Thực hiện chính sách che giấu/che đậy địa chỉ (Address concealment) – sử dụng
kỹ thuật NAT/PAT: Để bảo vệ mạng chống lại các tấn công theo kiểu từ chối dịch
vụ (DoS).

Vì giao thức TCP/IP không được thiết kế gắn liền với bảo mật, nên nhiều hệ
thống bảo mật khác nhau được phát triển cho các ứng dụng và lưu lượng chạy trên
Intranet/Internet. Các phần mềm này có nhiệm vụ chuẩn bị dữ liệu cho việc truyền trên
một mạng, trong đó có chú ý đến các khả năng có thể áp dụng xác thực và mã hoá. Trong
mạng TCP/IP, các ứng dụng nói trên có thể được xây dựng ở 1 trong 3 lớp: Ứng dụng;
Giao vận/Mạng; Vật lý/Liên kết dữ liệu.
I.2.3. Đối phó với các ý đồ (kiểu) tấn công của Hacker
·
Để ngăn chặn việc đọc lén các thông điệp (message) truyền đi trên mạng:
Thông điệp phải được mã hóa trước khi truyền đi và sẽ được giải mã ở bên nhận. Trong
trường hợp này bên gửi và bên nhận phải chia sẻ một khóa bí mật để phục vụ cho việc mã
hóa/giải mã thông điệp. Với giải pháp này, khóa cũng phải được truyền đi/phân phối trên
mạng, nên vấn đề đặt ra tiếp theo là làm thế nào để phânphối khóa một cách an toàn, ở
đây có thể sử dụng các kỹ thuật mã hoá khác nhau, mã hóa khoá bí mật và/hoặc mã hóa
khoá công cộng.
·
Không thể sử dụng một khóa trong khoảng thời gian dài và để ngăn chăn việc
đoán khóa (có thể đoán khoá trong tương lai nếu biết được khóa hiện tại) của hacker. Để
đối phó, phải “làm tươi khoá” thường xuyên và không nên sử dụng chính sách “dựa vào
các khoá cũ để tính ra khóa mới”, điều này đảm bảo khóa được truyền đi/phân phối một
cách an toàn (bí mật).

·
Để để ngăn chặn việc “phát lại” thông điệp bởi một kẻ mạo danh (replay
attack): Sử dụng chỉ số tuần tự trong các gói tin IP (thông số timestamp thường là không
đảm bảo độ tin cậy cho mục tiêu an toàn này).
·
Để đảm bảo rằng thông điệp không bị thay đổi/sửa đổi (alltered) trong khi
truyền từ người gửi đến người nhận: Sử dụng các thông điệp rút gọn (message digest), có
thể sử dụng các hàm băm (hash) hoặc các hàm on-way.
·
Để đảm bảo rằng một “thông điệp rút gọn” là không bị thỏa hiệp hoặc không bị
thay đổi trên đường truyền: Sử dụng chữ ký điện tử bằng cách mã hoá thông điệp rút gọn
với một khoá bí mật hoặc khoá riêng (đó là chính sách xác thực (authentication), cơ chế
không công nhận (non-repudiation)).
·
Làm thế nào để đảm bảo rằng một message hoặc một chữ ký số là được xuất
phát/bắt nguồn (originated) từ một đối tác tin cậy/đối tác mong muốn (desried): Sử dụng
cơ chế bắt tay two-way bao gồm các số ngẫu nhiên được mã hoá (còn gọi là xác thực lẫn
nhau (mutual authentication)).
·
Làm thế nào để đảm bảo rằng một “cái bắt tay” là đã được trao đổi với một đối
tác tin cậy (từ các tấn công theo kiểu main-in-the-middle): Sử dụng các thẻ chứng thực số
(một sự kết hợp giữa khoá công cộng với các thông tin nhận dạng của đối tác).
·
Làm thế nào để ngăn chặn việc sử dụng không hợp lệ các dịch vụ bởi những
người sử dụng không được xác thực một cách thích hợp: Sử dụng mô hình điều khiển
truy cập nhiều tầng.


·
Để bảo vệ chống lại các mã phá hại (malicious code) hoặc các thông điệp không

mong muốn (từ tấn công DoS): Giới hạn việc truy cập vào mạng bên trong, bằng các sử
dụng: Filter, Firewall, Proxy, Packet Authentication, Conceal internal address anh name
structure (che giấu địa chỉ và cấu trúc tên của mạng bên trong),…
I.2.4. Các dịch vụ bảo mật (Security Services)
·
Authentication Service (dịch vụ xác thực): Dịch vụ này đảm bảo một sự truyền
thông tin cậy. Nếu chỉ quan tâm đến truyền thông điệp, thì nhiệm vụ của xác thực chỉ đơn
giản là đảm bảo với bên nhận rằng thông điệp mà nó nhận được là đến từ một nguồn
được xác nhận. Nếu quan tâm đến cả quá trình tương tác của hai đối tác truyền thông, ví
dụ sự kết nối giữ Terminal và Host, thì phải quan tâm đến hai khía cạnh. Thứ nhất, tại
thời điểm khởi tạo kết nối, dịch vụ đảm bảo rằng hai đối tác truyền thông này là đáng tin
cậy. Thứ hai, dịch vụ đảm bảo rằng kết nối là không bị can thiệp bởi thành phần thứ ba –
hacker có thể giả mạo một trong hai đối tác hợp pháp, cho mục đích trao đổi hoặc tiếp
nhận thông điệp “không được phép”. Do đó, thực tế yêu cầu hai loại dịch vụ xác thực:
Peer entity authentication và Data origin authentication:
Peer entity authentication: Cung cấp một sự chứng thực về định danh của các
thực thể ngang hàng trong một liên kết. Nó được cung cấp để sử dụng tại thời điểm thiết
lập kết nối hoặc trong suốt quá trình trao đổi dữ liệu của kết nối. Nó cố gắng cung cấp
một sự tin cậy mà một trong hai đối tác truyền thông không thể thực hiện sự giả mạo
hoặc một sự replay không được phép của kết nối trước đó.
Data origin authentication. Cung cấp sự chứng thực về nguồn gốc của đơn vị dữ
liệu, nó không cung cấp sự bảo vệ để chống lại các loại tấn công theo kiểu nhân bản
(duplication) hoặc làm thay đổi (modification) đơn vị dữ liệu. Loại này thường dùng để
hỗ trợ xác thực cho các ứng dụng e-mail.
·
Access ControlService (dịch vụ điều khiển truy cập): Trong lĩnh vực an toàn
mạng, điều khiển truy cập là khả năng giới hạn và điều khiển truy cập đến các host và các
ứng dụng qua liên kết truyền thông. Nhiệm vụ của dịch vụ điều khiển truy cập là: mỗi
thực thể truyền thông khi cố gắng truy cập vào hệ thống thì trước hết nó phải được nhận
dạng hoặc được xác thực, sau đó mới có thể nhận được quyền truy cập phù hợp với riêng

nó. Cụ thể là: Ai được phép truy cập tài nguyên; Điều kiện để truy cập tài nguyên là gì;
Được phép truy cập tài nguyên ở mức độ nào (thực hiện những thao tác nào trên tài
nguyên); vv. Một cách tổng quát, dịch vụ này thực hiện nhiệm vụ ngăn chặn việc sử dụng
“không được cấp phép” đến tài nguyên.
·
Data Confidentiality Service(dịch vụ tin cậy dữ liệu): Dịch vụ này cung cấp sự
bảo vệ cho các dữ liệu được truyền đi, trước các tấn công loại passive (thụ động). Nếu
chú ý đến nội dung của dữ liệu truyền tải, thì có thể thiết lập nhiều cấp khác nhau của sự
bảo vệ, để có thể được nhận dạng chúng. Tức là, có thể định nghĩa để dịch vụ này bảo vệ
một thông điệp đơn hoặc các trường (field) cụ thể của một thông điệp. Một khía cạnh
khác của sự tin cậy là sự bảo vệ dòng traffic trước các tấn công theo kiểu phân tích thông
điệp. Nó làm cho kẻ tấn công không thể nhận được địa chỉ nguồn, địa chỉ đích, tầng số
xuất hiện, độ dài hoặc các đặc tính khác của traffic khi nó được di chuyển trên các hệ
thống, các phương tiện truyền thông.
·
Data Integrity Service(dịch vụ toàn vẹn dữ liệu): Cũng như sự tin cậy, sự toàn vẹn
có thể áp dụng với một dòng thông điệp, một thông điệp đơn hoặc các trường được chỉ ra


trong phạm vi một thông điệp. Dịch vụ này đảm bảo thông điệp mà bên nhận nhận được
là hoàn toàn trung thực với thông điệp được gửi đi từ bên gửi, tức là thông điệp không bị
nhân bản, không bị thay đổi, không bị sắp xếp lại, không bị phát lại khi nó di chuyển trên
đường truyền. Sự phá hoại dữ liệu cũng bị che chắn (covered) bởi dịch vụ này. Vì thế
dịch vụ này hỗ trợ bảo vệ mạng trước hai kiểu tấn công chủ động (active) phổ biến là
thay đổi dòng thông điệp và DoS. Khi một sự vi phạm về tính toàn vẹn của dữ liệu được
phát hiện thì dịch vụ này sẽ lập báo cáo về sự vi phạm đó, chuyển báo cáo này đến hệ
thống để yêu cầu khôi phục lại dữ liệu.
·
Non-repudiation Service (dịch vụ “sự công nhận”): Sự công nhận ngăn chặn hiện
tượng người gửi hoặc người nhận từ chối một thông điệp đã được (họ) chuyển đi. Vì thế

khi một thông điệp được gửi, người nhận phải chứng tỏ - viện ra chứng cứ – được rằng
thông điệp là được nhận từ người gửi. Tương tự, khi một thông điệp được nhận, người
gửi phải chứng tỏ - viện ra chứng cứ – được rằng thông điệp là đã được gửi đến người
nhận.
·
Availability Service (Dịch vụ “sẵn dùng”): Dịch vụ này có nhiệm vụ làm cho tài
nguyên của hệ thống trở thành có thể truy cập và có thể được dùng bởi các thực thể được
phép (authorized), trong một giới hạn nào đó. Tức là, một hệ thống được gọi là sẵn dùng
nếu nó cung cấp các dịch vụ – theo thiết kế hệ thống – bất cứ khi nào người sử dụng yêu
cầu chúng. Sự đa dạng của các loại tấn công hiện nay có thể làm cho các hệ thống sẵn
dùng trở nên kém tác dụng hoặc mất ý nghĩa.
Quan hệ giữa: Tấn công mạng và Dịch vụ bảo mật:
ATTACKS (Tấn công)
SERVICES
(dịch vụ)

Read of
message
content

Traffic
analysis

Masquerade

Peer entity
Authentication

Y


Data origin
Authentication

Y

Access Control

Y

Confidentiality
Traffic flow
Confidentiality
Data integrity

Replay

Modification

Y

Y

Y
Y

Nonrepudiation
I.2.5. Cài đặt các giải pháp bảo mật cho các mạng TCP/IP

DoS



Các hệ thống và các giao thức sau đây được sử dụng phổ biến để cung cấp nhiều cấp độ
khác nhau của các dịch vụ bảo mật trên mạng máy tính (TCP/IP): IP Filtering; Network
Address Translation (NAT); IP Security Architecture (IPSec); SOCKS; Secure Shell
(SSH); Secure Sockets Layer (SSL); Application proxies; Firewalls; Kerberos; các hệ
thống xác thực từ xa (AAA server);…
Hình vẽ sau cho thấy các dịch vụ/giải pháp bảo mật ở trên được cài đặt tại các tầng tương
ứng nào trên mô hình mạng TCP/IP.

Trong đó:

·

IP Filtering (Lọc IP)

·

NAT: Network Address Translation (Chuyển đổi địa chỉ mạng)

·

IPSec: IP Security Architecture (Kiến trúc IP an toàn)

·

Application proxies (Các Proxy ứng dụng)

·

Firewalls (Các Bức tường lửa)


·

Tunnel protocols (Các giao thức đường hầm: L2TP)

·

CHAP; PAP; MS-CHAP (Các giao thức xác thực)

·
S-MIME: Secure Multipurpose Internet Mail Extension: Là một cấu trúc bảo mật
cấp ứng dụng (Application-level), nó chỉ dùng để bảo vệ e-mail, thông qua mã hoá và
chữ ký điện tử. Nó dựa trên kỹ thuật mã hóa khóa công cộng và sử dụng thẻ chứng thực
X.509 để xác minh định danh của các đối tác truyền thông. S-MIME có thể được cài đặt
trên các hệ thống đầu cuối, nó không được sử dụng bởi các Router và Firewall.
·
SOCKS: Là một chuẩn cho các gateway circuit-level. Nó không cần proxy nhưng
người sử dụng có thể thực hiện kết nối đến Firewall trước, sau đó yêu cầu một kết nối thứ
hai đến server đích. Người sử dụng khởi tạo một ứng dụng client với địa chỉ IP của server
đích. Thay vì khởi tạo một session trực tiếp với server đích, client khởi tạo một session
đến SOCKS server trên Firewall. Sau đó SOCKS sẽ xác nhận tính hợp lệ của địa chỉ
nguồn và user ID, nếu hợp lệ sẽ cho phép user thiết lập kết nối hướng đến mạng không an
toàn (non-secure)/bên ngoài, và rồi tạo một session thứ hai.
·
SSH: Secure Shell: Có thể được sử dụng để kết nối an toàn giữa các hệ thống. Nó
cho phép mã hoá và nén các traffic được sinh ra bởi TELNET, FTP, POP3,… SSH


thường sử dụng nén trên các liên kết modem tốc độ chậm. SSH cũng cho phép người sử
dụng chọn lựa phương pháp mã hoá khi cài đặt nó. Các phần mềm client thường hỗ trợ cả

2 SSH là SSH1 (DES, 3DES, RC4), SSH2 (3DES, RC4). Người sử dụng và các hệ thống
ở xa được xác thực bởi password hoặc khoá public/private. SSH thiết lập một kết nối đơn
từ client đến server, tất cả traffic gửi qua kết nối này đều được mã hoá, và có thể được
nén.
·
SSL: Secure Sockets Layer: Là một giao thức an toàn được phát triển bởi tập đoàn
Netscap Communications và RSA Data Security. Mục tiêu chính của giao thức SSL là
cung cấp một kênh riêng giữa các ứng dụng truyền thông cần có sự xác thực các đối tác
truyền thông và đảm bảo tính toàn vẹn và riêng tư của dữ liệu. SSL cung cấp một sự thay
thế cho các socket API chuẩn TCP/IP, trong đó có cài đặt các tính năng an toàn. Do đó,
về lý thuyết nó có thể chạy bất kỳ ứng dụng TCP/IP nào trong một môi trường an toàn
mà không cần thay đổi ứng dụng. SSL thường được cài đặt để hỗ trợ các traffic như
HTTP, NNTP, Telnet, …
·
Kerberos: Dịch vụ xác thực mạng Kerberos v5 được đề nghị như là một giao thức
chuẩn và được mô tả trong RFC 1510. Dịch vụ Kerberos thường chạy trên các hệ thống
riêng của nó, trong một phạm vi an toàn. Người sử dụng cần sự xác nhận tính hợp lệ của
chính họ bởi Kerberos trước khi họ được phép kết nối đến các server khác trên mạng. Các
nhận dạng của server cũng được kiểm tra ngược lại bởi Kerberos. Hệ thống cho phép và
xác thực Kerberos là một hệ thống an toàn dựa trên mã hoá, nó cung cấp sự xác thực lẫn
nhau giữa các user và server trên môi trường mạng. Nhiệm vụ mà các hệ thống này đảm
trách là:


Authentication(xác thực): Để ngăn chặn các yêu cầu/hồi đáp
(request/responses) không trung thực (fraudulent)/giả mạo giữa các user và
server cần có độ tin cậy cao.




Authorization(cấp phép): Có thể được cài đặt bổ sung dựa vào xác thực,
cho các dịch vụ mà nó muốn cung cấp một hệ thống cấp phép riêng của nó.
Hệ thống cấp phép có thể đảm trách việc xác thực tin cậy cho các
user/client.



Permits(cho phép): là sự bổ sung cho các hệ thống tính toán, nó kết hợp cả
an toàn và tin cậy.

Hệ thống Kerberos được sử dụng cho mục đích xác thực là chính, nhưng nó cũng cung
cấp một sự mềm dẻo để thực hiện sự cấp phép.
Trong các hệ thống Kerberos, một client khi muốn kết nối với server dịch vụ của nó, thì
trước hết nó phải hỏi một “ticket” từ một thành phần thứ 3 - được tin cậy lẫn nhau, đó là
KAS (Kerberos Authentication Server). Ticket này có thể là một khoá riêng mà chỉ được
hiểu bởi dịch vụ và KAS, vì thế mà dịch vụ có thể tin chắc rằng thông tin trong Ticket là
được sinh ra bởi Kerberos. Client biết KAS như là người ủy nhiệm (danh nghĩa). Khóa
riêng là được xác thực và khóa chỉ được biết đến bởi user và KAS. Khi có được Ticket
hợp lệ thì client mới có thể truy cập vào server dịch vụ của nó.
·
Các giao thức xác thực truy cập từ xa (thường gọi là bộ ba chữ A - AAA:
Authentication: Xác thực – Authorization: Cấp phép – Accounting: Kiểm toán): Mô hình
an toàn 3 chữ A này được phát triển để giải quyết vấn đề an toàn truy cập từ xa.
Authentication, Authorization, Accounting trả lời lần lượt 3 câu hỏi: who, người sử dụng


đó là ai; what, người sử dụng đó được phép làm gì; when, ghi lại thời gian và các thông
tin liên quan khác khi người sử dụng thực hiện việc gì đó, và/hoặc khi họ đã hoàn thành
(sau khi đã qua xác thực và cấp phép). Hai dịch vụ/hệ thống xác thực từ xa được sử dụng
hiện nay là RADIUS (Remote Access Dial In User Service) và TACACS (Terminal

Access Controller Access Control System).
I.3.

Các kỹ thuật tấn công mạng TCP/IP

I.3.1. Phân loại tấn công:
Alice truyền thông điệp sang cho Bob. Darth là kẻ tấn công.
Ø Tấn công thụ động (passive attack): Loại tấn công này cố gắng nhận thông tin khi
thông tin đang được truyền từ người gửi sang người nhận. Nó không làm ảnh hưởng đến
tài nguyên của hệ thống.
·
Read of message contents (đọc nội dung của thông điệp): Darth đọc nội dung
thông điệp mà Alice gửi cho Bob.

Traffic analysis (phân tích lưu lượng): Darth quan sát các mẫu thông điệp từ Alice gửi
sang cho Bob.


Loại tấn công thụ động này khó phát hiện vì người gửi và người nhận không hề biết rằng
có một thành phần thứ 3 đang quan sát traffic của họ, và nó không làm thay đổi nội dung
của message. Vì thế nên tìm cách ngăn chặn (mã hoá trước khi truyền) hơn là phát hiện
chúng.
Ø Tấn công chủ động (active attack): Loại này cố gắng tạo ra một vài thay đổi của
dòng dữ liệu hoặc làm ảnh hướng đến hoạt động của tài nguyên hệ thống (các server dịch
vụ).
·
Masquerade (giả mạo): Thông điệp được gửi từ Darth gửi tới Bob. Bob nhận
thông điệp như cách mà Alice gửi đến anh ta.

Replay (“lặp lại”/”phát lại”): Darth bắt giữ (capture) thông điệp Alice gửi đến Bob, sau

đó Darth phát lại thông điệp – có thể đã bị sửa đổi – đến Bob.


Modification of message (thay đổi thông điệp): Darth thay đổi thông điệp gửi từ Alice
sang Bob.

·
Denail of service (DoS: Từ chối dịch vụ): Darth “phá vỡ” dịch vụ mà Server
cung cấp cho người sử dụng trên mạng.


Loại tấn công chủ động này có các đặc tính hầu như đối ngược với loại passive attack.
Phát hiện để ngăn chặn nó không phải là quá khó để thực hiện.
I.3.2. Các kỹ thuật tấn công cổ điển
Trong thực tế có nhiều kỹ thuật tấn công cổ điển như: Chia sẻ mở; Mật khẩu yếu; Thiếu
sót trong lập trình; Kỹ năng xã hội; Tràn Bộ đệm; Từ chối dịch vụ;… Trong phần này
chúng tôi chỉ trình bày một kỹ thuật mà đến nay hacker vẫn sử dụng để tấn công vào các
mạng TCP/IP.
Ø Tấn công từ chối dịch vụ
Loại tấn công từ chối dịch vụ đơn giản chỉ là những hành động nhằm ngăn chặn khả năng
truy cập vào một hệ thống hoặc một ứng dụng của một người sử dụng hợp pháp (bị chính
hệ thống hoặc ứng dụng từ chối). Tấn công DoS có nhiều dạng khác nhau và có thể được
phát động từ một hoặc nhiều hệ thống. Khó có thể ngăn chặn hoặc khống chế hoàn toàn
các tấn công DoS nếu như không xác định được nguồn của nó.
Phần lớn các cuộc tấn công DoS thường có đặc điểm là, kẻ tấn công không cố gắng truy
cập đến hệ thống đích từ các địa chỉ giả mạo, nó thường điều chỉnh địa chỉ nguồn của gói
tin để che dấu vị trí thực của nó (giao thức IP có một sai sót trong lược đồ đánh địa chỉ
của nó là không kiểm tra địa chỉ nguồn khi một gói tin được tạo ra).
Tấn công DoS từ một hệ thống:
Loại tấn công DoS đầu tiên mà chúng ta đề cập là loại tấn công chỉ thực hiện từ một hệ

thống, tấn công vào một hệ thống khác và gây hỏng một thứ gì đó trên hệ thống đó.


Hình: SYN flood DoS attack
Kiểu tấn công DoS được áp dụng phổ biến nhất hiện nay là SYN flood (được gọi là tràn
SYN). Trong kiểu tấn công DoS này, hệ thống nguồn (hệ thống khởi tạo tấn công) sẽ gửi
một số lượng lớn các gói tin TCP “SYN” đến hệ thống đích (hệ thống bị tấn công) - các
gói tin SYN được sử dụng để khởi tạo một kết nối TCP. Khi phía đích nhận được gói
“SYN”, nó sẽ trả lời bằng một gói tin TCP “SYN ACK”, gói tin này cho biết đã chấp
nhận tín hiệu SYN và gửi lại thông tin thiết lập kết nối trở lại cho hệ thống gửi tín hiệu
SYN. Hệ thống đích cũng lưu thông tin kết nối vào “bộ đệm kết nối” để chờ giải quyết.
Đối với một kết nối TCP thông thường, hệ thống nguồn sẽ gửi trả gói tin TCP “ACK”
sau khi nhận được gói tin “SYN ACK”. Nhưng đối với tấn công DoS loại này, hệ thống
nguồn sẽ bỏ qua gói tin “SYN ACK” mà nó nhận được và tiếp tục gửi các gói tin “SYN”
khác đến hệ thống đích. Do đó “bộ đệm kết nối” của đích sẽ bị lấp đầy (bị tràn) và hệ
thống đích không thể nào giải quyết cho các yêu cầu từ các kết nối khác, buộc nó phải từ
chối các kết nối này. Đây chính là lý do mà ta gọi nó là tấn công từ chối dịch vụ.
Rõ ràng nếu có hàng loạt gói tin “SYN” được gửi đến từ một địa chỉ IP xác định được, thì
có thể dễ dàng xác định được hệ thống nguồn và dừng được cuộc tấn công. Nhưng nếu
địa chỉ nguồn là một địa chỉ không thể định tuyến đuợc, thì sẽ khó khăn hơn rất nhiều địa chỉ nguồn là địa chỉ bị che dấu.
Đã có một số giải pháp được đề xuất để bảo vệ các hệ thống trước các cuộc tấn công
“SYN”. Cách đơn giản nhất là đặt một “bộ định thời (timer)” cho tất cả các kết nối chờ
giải quyết, bộ định thời sẽ đi đến quyết định kết thúc các kết nối và giải phóng “bộ đệm
kết nối” sau một khoảng thời gian nhất định nào đó. Một số thiết bị mạng có khả năng


nhận diện được các “cơn lũ” tín hiệu SYN và vô hiệu hóa chúng. Nếu như cuộc tấn công
được tổ chức từ nhiều địa chỉ nguồn khác nhau thì khó có thể phán đoán được cuộc tấn
công.
Tấn công DoS phân tán:

Các cuộc tấn công Dos phân tán (DDoS) là các cuộc tấn công DoS được thực hiện từ
nhiều hệ thống khác nhau. Các cuộc tấn công DDoS thường được điều khiển từ một hệ
thống chính duy nhất bởi một hacker duy nhất. Các cuộc tấn công này được thực hiện
một cách khá đơn giản: hacker gửi một gói tin “Ping” đến một địa chỉ quảng bá của một
mạng lớn đồng thời đổi địa chỉ nguồn để hướng tất cả các gói tin trả lời vào mục tiêu cần
đánh phá. Cách tấn công như vậy còn được gọi là Smurf. Nếu như mạng trung gian đó có
nhiều host thì số lượng các gói tin trả lời hướng đến hệ thống đích sẽ rất lớn và có thể
làm cho hệ thống đích bị vô hiệu hóa do quá tải.
Tấn công DDoS càng ngày càng tinh vi hơn. Các công cụ dùng để tấn công như là
Trinoo, Tribal Flood Network, Mstream và Stachedraht cho phép hacker có thể phối hợp
nhiều cuộc tấn công DoS từ các hệ thống khác nhau đến một hệ thống đích.

Hình: Minh họa tấn công smurf
I.3.3. Các kỹ thuật tấn công hiện nay
I.3.2.1. Nghe lén các mạng chuyển mạch (Sniffing Switch Networks)


Các bộ nghe lén (sniffer) được sử dụng bởi hacker để thu thập mật khẩu và thông tin hệ
thống liên quan của một host hoặc một network nào đó. Thường việc này chỉ thành công
khi có một host của mạng bên trong “hợp tác” với hacker.
Sniffer sẽ thu thập mật khẩu và các thông tin khác bằng cách đặt một card giao tiếp mạng
(network interface card – NIC) vào chế độ ngẫu nhiên (promiseuous mode). Nghĩa là
NIC sẽ thu thập tất cả các gói tin trên mạng chứ không chỉ là các gói tin có địa chỉ gửi
đến NIC (địa chỉ của hệ thống cài đặt sniffer). Các sniffer thường làm việc tốt với các
mạng chuyển mạch phục vụ chia sẻ thông tin.
Để nghe lén lưu lượng trong một môi trường chuyển mạch, hacker cần phải thực hiện
một trong 2 việc sau đây: Điều khiển switch sao cho thông tin qua switch bị hướng đến
các sniffer. Và buộc switch phải gửi tất cả các gói tin đi đến tất cả các cổng. Nếu như một
trong hai điều này được đáp ứng, sniffer sẽ “nghe” được lưu lượng mà nó quan tâm, và
cung cấp cho hacker những thông tin mà hacker muốn.

Ø Định hướng lại traffic (Redirecting traffic)
Thiết bị chuyển mạch (Switch) quy định đường đi cho thông tin đến các cổng dựa trên
địa chỉ MAC (Media Access Control) của khung tin (frame) Ethernet. Mỗi NIC có một
địa chỉ MAC duy nhất, và Switch hiểu được địa chỉ đó đại diện cho cổng nào. Do đó, khi
một frame được truyền đi với một địa chỉ đích MAC, Switch sẽ gửi frame đó đến cổng
mà địa chỉ MAC đó đại diện. Sau đây là một số phương pháp có thể được sử dụng để yêu
cầu các thiết bị chuyển mạch gửi lưu lượng đến Sniffer:
·
Đánh lừa ARP (ARP spoofing): ARP (Adress Resolution Protocol) là giao
thức phân giải địa chỉ, giao thức này được dùng để lấy địa chỉ MAC tương ứng với một
địa chỉ IP nào đó. Khi một hệ thống (nguồn) muốn giao dịch để trao đổi thông tin với hệ
thống khác (đích), trước hết nó phải gửi một thông điệp yêu cầu đến ARP để tìm MAC
tương ứng với địa chỉ IP đích. Hệ thống đích sẽ đáp trả địa chỉ MAC, tương ứng với địa
chỉ IP, cho yêu cầu ARP đó.Sau đó hệ thống nguồn (bên gửi tin) sẽ sử dụng địa chỉ MAC
này để gửi thông tin đến đích.
Nếu như thông điệp yêu cầu tìm MAC bị bắt giữ bởi sniffer, sniffer sẽ đáp trả cho yêu
cầu ARP trước hệ thống đích (mà nguồn mong muốn) với địa chỉ MAC của nó (của
sniffer). Tất nhiên sau đó hệ thống gửi tin sau đó sẽ gửi trao đổi thông tin vớisniffer (chứ
không phải đích mà nó mong muốn).
Để đánh lừa ARP thành công, sniffer phải có khả năng chuyển tiếp thông tin đến địa chỉ
mà hệ thống gửi cần gửi đến (đích mà nguồn mong muốn). Nếu không làm được điều này
thì sniffer phải thực hiện một cuộc tấn công DoS.
·
Tạo bản sao địa chỉ MAC: Một cách nữa để thuyết phục Switch gửi thông tin
qua nó đến sniffer là: hacker phải thay đổi địa chỉ MAC của sniffer cho giống với địa chỉ
MAC của hệ thống khác trong hệ thống mạng con cục bộ (local subnet).
·
Đánh lừa DNS (DNS spoofing): Một cách tương tự với hai cách trên, để buộc
switch phải chuyển tất cả các gói tin đến sniffer là: đánh lừa hệ thống gửi tin để hệ thống
đó gửi tin đến sniffer bằng cách sử dụng địa chỉ MAC thật của sniffer. Để thực hiện được

điều này, sniffer phải “thuyết phục” hệ thống gửi tin sao cho nó phải gửi ARP đến địa chỉ
IP của sniffer. Cách làm này có thể thành công dựa vào việc đánh lừa DNS.


Trong kiểu tấn công đánh lừa DNS, sniffer gửi các tin trả lời cho các yêu cầu DNS của hệ
thống gửi tin. Các tin đáp trả này cung cấp địa chỉ IP của sniffer thay vì địa chỉ IP của hệ
thống mà hệ thống gửi tin yêu cầu. Và sau đó, hệ thống gửi tin sẽ gửi tất cả tin đến
sniffer. Sau đó sniffer sẽ phải chuyển tiếp các gói tin này đến hệ thống đích thực sự. Kiểu
tấn công này còn được gọi là theo kiểu “đánh chặn”.
Để tấn công kiểu này thành công, sniffer phải có khả năng nhận biết tất cả các yêu cầu
DNS và trả lời cho chúng trước khi máy chủ DNS trả lời. Như vậy sniffer phải nằm trên
tuyến mạng giữa hệ thống gửi tin và máy chủ DNS nếu như sniffer không nằm trên mạng
con cục bộ của hệ thống gửi tin.
Ø Gửi mọi thông tin đến tất cả các cổng
Thay vì đánh lừa ARP, đánh lừa DNS hay là nhân bản địa chỉ MAC, hacker có thể làm
cho switch hoạt động như một hub. Biết rằng, mỗi Switch sử dụng một lượng bộ nhớ cho
việc lưu giữ các ánh xạ giữa địa chỉ MAC và các cổng vật lý. Bộ nhớ này có dung lượng
giới hạn, nên nếu nó bị đầy thì Switch sẽ không “mở” được. Tức là, Switch sẽ dừng lại
việc gửi thông tin đến các địa chỉ MAC nào đó tương ứng với các cổng cụ thể nào đó,
thay vào đó nó sẽ gửi đến tất cả các cổng.
Lúc này switch hoạt động như một thiết bị chia sẻ đường truyền, tức là nó như một Hub.
Nhờ đó mà sniffer có thể thực hiện chức năng của nó. Để khởi phát cuộc tấn công dạng
này, hacker phải trực tiếp tác động tới Switch.
Chú ý: Với các cuộc tấn công đánh lừa ARP; Nhân bản địa chỉ MAC; Đánh lừa DNS:
Hacker phải kết nối trực tiếp với Switch mà nó tấn công. Điều này có nghĩa là, kiểu tấn
công đánh cắp thông tin cầu hacker phải ở trên Switch cục bộ. Đầu tiên hacker thâm nhập
vào hệ thống bằng cách phá vỡ một điểm dễ bị tấn công và sau đó cài đặt phần mềm
sniffing để thực hiện việc “ngửi” thông tin. Trong trường hợp này nếu hacker là người
trong tổ chức cần hack, một nhân viện của tổ chức chẳng hạn, hacker sẽ sử dụng quyền
truy cập thực của nó để có thể truy cập đến Switch.

I.3.2.2. Đánh lừa địa chỉ IP (IP spoofing)
Như đã biết, địa chỉ IP trong các gói tin IP là không được xác thực. Do đó hacker có thể
thay đổi địa chỉ nguồn của gói tin và làm cho gói tin có vẻ như được gửi đến từ một địa
chỉ nào đó khác. Vấn đề ở đây chính là những gói tin phản hồi (chẳng hạn như gói tin
SYN ACK trong một kết nối TCP) sẽ không được gửi về cho hệ thống gửi tin. Do đó việc
cố gắng đánh lừa địa chỉ IP để thiếp lập một kết nối TCP sẽ rất khó khăn. Thêm nữa,
header của TCP còn chứa một chỉ số được dùng để nhận biết các gói tin. Chuỗi số tuần tự
khởi tạo (Initial sequence number – ISN) dành cho mỗi kết nối được chọn (giải mã) một
cách ngẫu nhiên.
Chi tiết về tấn công đánh lừa địa chỉ IP (xem hình 1.6): Đầu tiên hacker xác định mục
tiêu tấn công. Khi đã xác định được mục tiêu, nó sẽ xác định số INS tiếp theo sẽ được
dùng, bằng cách thực hiện một chuỗi các kết nối thực đến mục tiêu và ghi nhận các số
ISN được trả về. Tuy nhiên, sẽ có một số bất lợi cho hacker vì các kết nối thực này sẽ làm
lộ địa chỉ IP thực của nó.
Một khi ISN tiếp theo đã được xác lập, hacker sẽ gửi gói tin TCP “SYN” đến hệ thống
đích với một địa chỉ nguồn IP giả mạo. Hệ thống đích sẽ trả lời bằng gói tin TCP “SYN
ACK” đến địa chỉ IP nguồn giả mạo đó. Như vậy hacker sẽ không thấy được gói tin đáp


trả. Gói tin TCP “SYN ACK” có chứa số ISN từ hệ thống đích. Để hoàn thành việc thiết
lập một kết nối thì hacker phải xác định được số ISN ở gói tin TCP SYN cuối cùng. Nó
đoán số ISN dựa trên tính tăng dần của chuỗi số ISN và gửi đi một gói tin TCP ACK giả
từ địa chỉ IP giả mạo trong đó có cả số ISN mà nó biết.

Hình: Mô tả tấn công đánh lừa IP
Sau khi tất cả những việc đó được thực hiện, hacker sẽ ngừng kết nối thực đến
hệ thống đích. Lúc này nó có khả năng gửi lệnh và thông tin đến hệ thống đích nhưng hắn
ta không thể biết được hệ thống đích đáp trả các lệnh và thông tin đó như thế nào.




×