Viện Công Nghệ Thông Tin Và Truyền Thông
ĐẠI HỌC BÁCH KHOA HÀ NỘI
Luận Văn Thạc Sĩ
Nghiên Cứu Triển Khai Giải Pháp Bảo Vệ Thông
Tin Thoại Trên Nền Mạng IP Sử Dụng Asterisk Và
Linphone
Nguyen Thanh Long
Ha Noi, 2023
i
MỤC LỤC
MỤC LỤC ..................................................................................................... i
CÁC KÝ HIỆU, CHỮ VIẾT TẮT ............................................................. iv
LỜI MỞ ĐẦU ............................................................................................... 1
Chương 1 TỔNG QUAN VỀ HỆ THỐNG THÔNG TIN THOẠI TRÊN
NỀN MẠNG IP (VoIP) ................................................................................ 2
1.1. Hệ thống thông tin thoại trên nền mạng IP .............................................. 2
1.1.1. Tổng quan về mạng VoIP ........................................................... 2
1.1.1.1. Ưu điểm của mạng VoIP ......................................................... 2
1.1.1.2. Nhược điểm của mạng VoIP .................................................... 3
1.1.1.3. Các kiểu kết nối đầu cuối trong mạng VoIP ............................. 3
1.1.2. Mơ hình kiến trúc tổng quan của mạng VoIP .............................. 4
1.1.3. Quá trình thiết lập cuộc gọi......................................................... 5
1.1.4. Các nhân tố ảnh hưởng đến chất lượng của mạng VoIPLỗi! Thẻ
đánh dấu không được xác định.
1.2. Các giao thức báo hiệu (Signaling Protocol)Lỗi! Thẻ đánh dấu không
được xác định.
1.2.1. Giao thức báo hiệu SIP (Session Initiation Protocol)Lỗi!
đánh dấu không được xác định.
Thẻ
1.2.1.1. Các loại bản tin SIP Lỗi! Thẻ đánh dấu không được xác định.
1.2.1.2. Mô tả cuộc gọi SIP Lỗi! Thẻ đánh dấu không được xác định.
1.2.1.3. Các thành phần trong mạng SIPLỗi! Thẻ đánh dấu không
được xác định.
1.2.2. Giao thức báo hiệu H.323Lỗi! Thẻ đánh dấu khơng được xác
định.
1.2.2.1. Các thành phần chính trong mạng H.323Lỗi! Thẻ đánh dấu
không được xác định.
1.2.2.2. Giao thức H.225 .... Lỗi! Thẻ đánh dấu không được xác định.
1.2.2.3. Giao thức H.245 .... Lỗi! Thẻ đánh dấu không được xác định.
1.3. Các giao thức truyền tải (Media Protocols) .............................................. 6
1.3.1. RTP (Real-time Protocol) ........................................................... 6
1.3.2. RTCP (RTP Control Protocol) .................................................... 7
Chương 2 GIẢI PHÁP BẢO VỆ CHO HỆ THỐNG THÔNG TIN THOẠI
TRÊN NỀN MẠNG IP ............................................................................... 10
ii
2.1. Các nguy cơ mất an toàn và một số tấn công thường gặp....................... 10
2.1.1. Các nguy cơ mất an tồn từ mơi trường mạng Internet ............. 10
2.1.1.1. Tấn cơng nghe lén (Sniffing) ................................................. 10
2.1.1.2. ARP – Address Resolution Protocol ...................................... 11
2.1.1.3. Spam VoIP (SPIT) ................................................................. 12
2.1.1.4. DoS - Denial of Service ......................................................... 12
2.1.1.5. DDoS – Distribute DoS ......................................................... 14
2.1.2. Điểm yếu bảo mật trong giao thức SIP ..................................... 16
2.2. Giải pháp bảo vệ hệ thống thông tin thoại cho hệ thống VoIP ............... 17
2.2.1. Giải pháp bảo vệ giao thức báo hiệu SIP (SIPS) ....................... 18
2.2.2. Giải pháp bảo vệ giao thức truyền tải ....................................... 21
2.2.2.1 SRTP (Secure Real-time Transport Protocol) ......................... 22
2.2.2.2 SRTCP (Secure RTCP)........................................................... 24
2.2.3. Một số giải pháp nâng cao độ an toàn cho hệ thống VoIP ......... 25
2.2.3.1. Firewall ................................................................................. 25
2.2.3.2. DNSSEC (DNS Security Extensions) .................................... 26
2.2.3.3. IDS (Intrusion Detection System) .......................................... 27
2.3. Bảo vệ hệ thống thông tin thoại sử dụng Asterisk và Linphone ............. 28
2.3.1. Bộ phần mềm mã nguồn mở Asterisk ....................................... 28
2.3.1.1. Kiến trúc của Asterisk ........................................................... 30
2.3.1.2. Cơ chế bảo mật của Asterisk.................................................. 31
2.3.1.3. Các dịch vụ cơ bản của Asterisk ............................................ 33
2.3.2. Bộ phần mềm mã nguồn mở Linphone ..................................... 33
2.3.2.1. Kiến trúc hệ thống của Linphone ........................................... 34
2.3.2.2. Ưu điểm bảo mật của Linphone ............................................. 36
Chương 3 TRIỂN KHAI HỆ THỐNG THÔNG TIN THOẠI TRÊN NỀN
MẠNG IP SỬ DỤNG ASTERISK VÀ LINPHONE ................................ 39
3.1 Mơ hình hệ thống ................................................................................... 39
3.2 Quá trình cài đặt ..................................................................................... 39
3.3 Nhận xét độ an toàn ................................................................................ 44
KẾT LUẬN ................................................................................................. 45
TÀI LIỆU THAM KHẢO .......................................................................... 46
iii
CÁC KÝ HIỆU, CHỮ VIẾT TẮT
Viết tắt
Tiếng Anh
Ý nghĩa
AES
Advance Encryption Standard
Chuẩn mã hóa tiên tiến
ARP
Address Resolution Protocol
Giao thức phân giải địa chỉ
DOS
Denial of Service
Tấn công từ chối dịch vụ
DDOS
Distribute DOS
Tấn công DOS ở quy mô lớn
DNS
Domain Name System
Hệ thống phân giải tên miền
DSP
Digital Signal Processor
Cơng nghệ xử lý tín hiệu số
EP
End Point
Thiết bị cuối
HTTP
Hypertext Transfer Protocol
Giao thức trao đổi thông tin
của website
IETF
Internet Engineering Task Force Tổ chức quản lý kỹ thuật
IP
Internet Protocol
ITU-T
International
Telecommunication
Giao thức Internet
Union
Tiêu chuẩn viễn thông –
– Thuộc tổ chức viễn thông
quốc tế
Telecommunication
Standardization Sector
LAN
Local Area Network
Mạng cục bộ
MAC
Media Access Control
Điều khiển truy cập môi
trường
MCU
Multipoint Control Unit
Đơn vị điều khiển đa điểm
PBX
Private Branch Exchange
Tổng đài nhánh riêng
PSTN
Public
Switched
Telephone Mạng điện thoại chuyển mạch
Network
công cộng
RAS
Registration Admission Status
Trạng thái công nhận đăng ký
RTP
Real Time Protocol
Giao thức truyền tải thời gian
thực
iv
RTCP
Real Time Control Protocol
Giao thức điều khiển truyền
tải thời gian thực
SDP
Session Description Protocol
Giao thức mô tả phiên
SIP
Session Initiation Protocol
Giao thức khởi tạo phiên
SIPS
Secure
Protocol
SNMP
Simple Network Management Giao thức cơ bản quản lý
Session
Initiation Giao thức khởi tạo phiên an
toàn
Protocol
mạng TCP/IP
SPIT
Spam Over Internet Telephony
Hiện tượng nhiều cuộc gọi
không mong muốn trong hệ
thống VoIP
SRTP
Secure Real Time Protocol
Giao thức truyền tải thời gian
thực an toàn
TCP
Transmission Control Protocol
Giao thức điều khiển truyền
vận
TLS
Transport Layer Security
Bảo mật tầng giao vận
UA
User Agent
Thiết bị đầu cuối trong giao
thức SIP
UDP
User Datagram Protocol
Giao thức truyền dữ liệu
VoIP
Voice over Internet Protocol
Truyền giọng nói trên giao
thức IP
ZRTP
Zimmermann RTP
Giao thức thỏa thuận khóa
Zimmermann
v
LỜI MỞ ĐẦU
VoIP (Voice over Internet Protocol - truyền giọng nói trên giao thức IP)
là cơng nghệ truyền thơng tin thoại qua mạng Internet. Công nghệ này bản chất
là dựa trên chuyển mạch gói nhằm phát triển cơng nghệ truyền thoại cũ dùng
chuyển mạch kênh. Nó nén thơng tin thoại thành các gói IP và sau đó truyền
qua mạng Internet, vì thế nó có thể cung cấp các cuộc gọi miễn phí hoặc giúp
làm giảm chi phí cuộc gọi đến mức thấp nhất.
Giải pháp VoIP ngày càng được phổ biến bởi sự linh hoạt, tiện dụng và
chi phí quản lý cũng như bảo trì hệ thống rất thấp. Tuy nhiên, bên cạnh những
lợi ích mà VoIP mang lại, người dùng cũng phải đối mặt với rất nhiều nguy cơ
mất an tồn khi sử dụng hệ thống này. Điển hình là các tấn công từ mạng
Internet như đánh cắp dữ liệu, nghe lén, mạo danh,… Do đó, cần phải triển khai
các giải pháp bảo vệ thông tin thoại trên nền mạng IP (VoIP). Một trong những
giải pháp đó là dùng hệ thống VoIP sử dụng Asterisk và Linphone.
Asterisk và Linphone là hai bộ phần mềm mã nguồn mở được cung cấp
miễn phí và tương thích với khá nhiều thiết bị phần cứng. Trong đó, Asterisk
thực hiện chức năng là một tổng đài điện thoại (PBX) cung cấp đầy đủ tính
năng một tổng đài điện thoại thương mại, cũng như hỗ trợ rất nhiều giao thức
VoIP như SIP, H.323,… Đặc biệt, Asterisk cịn hỗ trợ thêm các giao thức an
tồn như SIPS, SRTP,... để nâng cao độ an toàn của hệ thống. Linphone là một
phần mềm mã nguồn mở và hỗ trợ nhiều giao thức bảo mật nên có độ an tồn
cao và tương thích với nhiều hệ thống VoIP. Hơn hết Linphone có thể triển khai
trên rất nhiều mơi trường như Windows, Linux, IOS, Android,…
1
Chương 1
TỔNG QUAN VỀ HỆ THỐNG THÔNG TIN THOẠI TRÊN
NỀN MẠNG IP (VoIP)
1.1. Hệ thống thông tin thoại trên nền mạng IP
1.1.1. Tổng quan về mạng VoIP
VoIP - Voice over Internet Protocol là một công nghệ cho phép truyền
thoại sử dụng giao thức mạng IP trên cơ sở hạ tầng sẵn có của mạng internet.
VoIP là một trong những cơng nghệ đang được quan tâm nhất hiện nay không
chỉ đối với nhà khai thác, các nhà sản xuất mà còn cả với người sử dụng dịch
vụ.
VoIP cho phép tạo cuộc gọi dùng kết nối băng thơng rộng thay vì dùng
đường dây điện thoại tương tự (analog). Nhiều dịch vụ VoIP có thể chỉ cho
phép bạn gọi người khác dùng cùng loại dịch vụ, tuy nhiên cũng có những dịch
vụ cho phép gọi những người khác dùng số điện thoại như số nội bộ, đường
dài, di động, quốc tế.
Nguyên tắc hoạt động của VoIP bao gồm việc số hố tín hiệu tiếng nói,
thực hiện việc nén tín hiệu số, chia nhỏ các gói nếu cần và truyền gói tin này
qua mạng. Khi tới nơi nhận các gói tin này được ráp lại theo đúng thứ tự của
bản tin, giải mã tín hiệu tương tự phục hồi lại tiếng nói ban đầu.
Chuyển đổi
Analog - Digital
Endpoint
Nén dữ liệu
thoại
RTP
UDP Packet
Chuyển đổi
Digital - Analog
Giải Nén dữ
liệu thoại
RTP
UDP Packet
Hình 1.1 Quá trình xử lý dữ liệu trong VoIP
1.1.1.1. Ưu điểm của mạng VoIP
Giảm chi phí dịch vụ đường dài: Đây là ưu điểm nổi bật của mạng
VoIP so với điện thoại thơng thường. Chi phí cuộc gọi sẽ chỉ bằng chi phí truy
cập Internet. Các kỹ thuật nén thoại tiên tiến giúp có thể sử dụng tối ưu băng
thông.
2
Khả năng mở rộng và nâng cao ứng dụng: Ngoài các ứng dụng thoại
và fax, mạng VoIP cịn có thể mở ra nhiều tính năng mới trong dịch vụ thoại
thơng qua các ứng dụng đa phương tiện như truyền hình ảnh, dữ liệu,… Ngồi
ra mạng có thể được mở rộng một cách dễ dàng.
Quản lý băng thông: Khi một cuộc gọi diễn ra, nếu lưu lượng của mạng
thấp thì băng thông dành cho cuộc gọi sẽ cho chất lượng tốt nhất, nhưng khi
lưu lượng của mạng cao thì băng thơng dành cho mỗi cuộc gọi sẽ duy trì ở mức
trung bình để có thể đáp ứng cho nhiều người nhất. Điều này làm tăng hiệu quả
sử dụng của điện thoại IP.
Tối ưu hệ thống: Vì truyền tin qua Internet nên khi có nhiều cuộc gọi
cũng khơng chiếm hết tồn bộ kênh truyền như cuộc gọi thơng thường. Từ đó
người dùng có thể sử dụng tối đa các tài nguyên của hệ thống, kết hợp việc
thoại với việc truyền file, mail, web,…
1.1.1.2. Nhược điểm của mạng VoIP
Kỹ thuật phức tạp: Truyền tín hiệu theo thời gian thức trên mạng
chuyển mạch gói là rất khó thực hiện nên có thể xảy ra các hiện tượng mất gói
và có độ trễ khi truyền tin trên mạng. Để có thể đạt được chất lượng dịch vụ ổn
định cần phải đạt những yêu cầu như: Tỉ số nén lớn, có khả năng suy đốn và
tạo lại thơng tin của các gói bị thất lạc, tốc độ xử lý của bộ Codec,…
Vấn đề bảo mật: Do sử dụng mạng Internet nên nguy cơ mất an toàn từ
các mã độc và hacker là rất cao. Các kẻ tấn cơng có thể ngăn chặn việc truyền
dữ liệu, nghe lén và thực hiện ăn cắp thông tin,…
1.1.1.3. Các kiểu kết nối đầu cuối trong mạng VoIP
Computer to Computer: 2 người dùng chỉ cần sử dụng chung một dịch
vụ VoIP, có các thiết bị hỗ trợ là có thể hội thoại khơng giới hạn. Mơ hình này
thường được cơng ty, tổ chức, cá nhân sử dụng đáp ứng nhu cầu liên lạc mà
không cần tổng đài nội bộ.
Computer to Phone: Cần phải có 1 tài khoản và 1 phần mềm của nhà
cung cấp. Với dịch vụ này máy PC có thể kết nối với điện thoại trong phạm vi
cho phép của nhà c ung cấp, người gọi sẽ bị tính cước phí dựa trên lưu lượng
cuộc gọi. Chất lượng cuộc gọi phụ thuộc vào kết nối Internet và dịch vụ của
nhà cung cấp.
Phone to Phone: Cần 2 IP Phone, cuộc thoại được truyền thông qua
mạng IP.
3
1.1.2. Mơ hình kiến trúc tổng quan của mạng VoIP
Mơ hình kiến trúc tổng quan của VoIP
Hình 1.2 Mơ hình kiến trúc tổng quan VoIP
Hình trên cho ta thấy mơ hình tổng quát với những yếu tố phổ biến nhất
trong mạng VoIP, cụ thể bao gồm:
‒ Telephone: Telephone có thể là các IP Phone, các softphone hoặc
các điện thoại truyền thống.
‒ Gateway: Liên kết mạng VoIP với mạng điện thoại thơng thường,
xử lý các gói tin và chuyển các gói tin cho điện thoại.
‒ MCU (Multipoint control units): Dùng để hội thoại nhiều bên, MCU
quản lý các thành phần tham gia cuộc gọi.
‒ Application Server: Cung cấp các dịch vụ cơ bản cho IP phone.
‒ Gatekeepers: Cung cấp chức năng đăng ký, định tuyến và quản lý
các thiết bị đầu cuối.
‒ Call Agents: Cung cấp chức năng điều khiển cuộc gọi, quản lý băng
thơng,…
‒ Video endpoint: Cung cấp tính năng video cho người sử dụng.
4
1.1.3. Quá trình thiết lập cuộc gọi
Hình 1.3 Quá trình thiết lập cuộc gọi của mạng VoIP
Trong mơ hình này có hai thành phần chính của mạng VoIP:
‒ IP Phone: Là thiết bị giao diện đầu cuối giữa người dùng với mạng
VoIP. Cấu tạo của một IP Phone gồm hai thành phần chính:
+ Thành phần báo hiệu mạng VoIP: Thường sử dụng giao thức SIP.
+ Thành phần truyền tải media: Sử dụng giao thức RTP để truyền tải
luồng media theo thời gian thực và được điều khiển bởi giao thức RTCP.
‒ VoIP Server: Là đầu não điều khiển mọi hoạt động trong mạng.
Chức năng chính của server tùy thuộc vào giao thức báo hiệu được sử dụng
nhưng thường có các chức năng chung như định tuyến, đăng kí và xác thực
người dùng, dịch địa chỉ,…
Quá trình xử lý dữ liệu: VoIP chuyển đổi tín hiệu giọng nói thơng qua
mơi trường Internet. Do vậy, trước hết giọng nói phải được chuyển thành các
dãy bit kỹ thuật số và được đóng gói để truyền tải qua mạng và cuối cùng được
chuyển lại thành tín hiệu âm thanh đến người sử dụng.
Tiến trình hoạt động của VoIP thông qua hai bước:
5
‒ Call setup: Trong quá trình này, người gửi phải xác định địa chỉ của
người nhận và yêu cầu một kết nối để liên lạc với người nhận. Khi địa chỉ của
người nhận xác định là tồn tại trên các proxy server thì giữa hai người sẽ thiết
lập một kết nối và bắt đầu quá trình trao đổi dữ liệu.
‒ Voice data processing: Tín hiệu giọng nói (analog) sẽ được chuyển
đổi sang tín hiệu số (digital), sau đó sẽ được nén lại và mã hóa trước khi gửi đi.
Các tín hiệu mẫu sẽ được chèn vào các gói dữ liệu để vận chuyển trên mạng
thông qua giao thức RTP. Các gói tin sau đó sẽ được truyền đi bởi giao thức
UDP. Ở thiết bị cuối, tiến trình sẽ được thực hiện ngược lại.
1.3. Các giao thức truyền tải (Media Protocols)
1.3.1. RTP (Real-time Protocol)
RTP là một giao thức chuẩn dùng cho việc truyền dữ liệu thời gian thực
như video, audio. Nó cung cấp các hàm phục vụ việc truyền dữ tải dữ liệu “end
to end” cho các ứng dụng thời gian thức thông qua các mạng. Giao thức RTP
được điều khiển bởi giao thức RTCP sẽ được trình bày trong phần tiếp theo.
Cấu trúc gói tin RTP được miêu tả như hình sau:
Hình 1.4 Cấu trúc gói tin RTP
Version: Gồm 2 bits. Dùng để xác định version của RTP. Hiện nay trong
truyền video và audio RTP đang sử dụng version 2.
Padding (P): 1 bit. Bit đệm này được đặt giá trị 1, báo rằng gói tin có
chứa một số byte điều kiện phụ ở phần cuối. Các bit này dùng để mã hóa hoặc
dùng trong trường hợp đóng gói nhiều gói RTP.
Extension (X): 1 bit. Khi bit này được gắn giá trị 1 tức là sau phần tiêu
đề cố định sẽ là phần tiêu đề mở rộng. Việc mở rộng tiêu đề nhằm tăng thêm
lượng thơng tin cho gói RTP khi cần thiết.
CSRC count (CC): 4 bits. Chứa số lượng các bộ nhận dạng CSRC sẽ
được thêm vào sau phần tiêu đề cố định.
Marker (M): 1 bit. Dùng để báo hiệu khung trong trường hợp truyền các
gói tin thành dịng, bit này có thể tùy ý sử dụng.
6
Payload Type (PT): 7 bits. Dùng để xác định định dạng dữ liệu để lựa
các ứng dụng phù hợp.
Sequence Number: 16 bits. Số thứ tự được đánh tăng dần theo số lượng
gói RTP được phát đi. Bên nhận sẽ dùng số thứ tự này để khôi phục lại hoặc
phát hiện số lượng gói bị mất.
Timestamp: 32 bits. Nhãn thời gian được tính theo thời điểm lấy mẫu
của byte đầu tiên trong gói RTP. Nhãn phải được lấy từ đồng hồ nhịp chuẩn,
có độ chính xác cao nhằm đảm bảo việc kiểm tra đồng bộ. Nhãn thời gian được
khởi tạo một cách ngẫu nhiên cho mỗi phiên.
SSRC: 32 bits. Trường này dùng để định danh một nguồn đồng bộ. Giá
trị trường này được chọn một cách ngẫu nhiên (có kiểm tra xung đột) để tránh
trường hợp trong một phiên RTP có nhiều nguồn đồng bộ sử dụng cùng một
giá trị SSRC.
CSRC: Gồm 15 phần tử, mỗi phần tử chiếm 32 bit. Nó được dùng để
xác định rõ xem thơng tin nào của nguồn nào gửi.
Mục đích lớn nhất của giao thức RTP là nhằm đảm bảo cho các ứng dụng
hội thảo đa phương tiện. Nó có thể điều chế và cung cấp nhiều dịch vụ khác
nhau có tính thời gian thực. Vì vậy mạng VoIP cũng sử dụng giao thức RTP để
đáp ứng nhu cầu truyền dữ liệu qua mạng Internet.
1.3.2. RTCP (RTP Control Protocol)
RTCP là giao thức hỗ trợ RTP để đảm bảo các gói tin có thể đến đích
theo đúng thứ tự, đúng thời gian. Hai giao thức này đi kèm với nhau được gọi
là bộ giao thức RTP.
7
Hình 1.5 Hoạt động của RTCP
Như hình trên ta có thể thấy, các gói mang thơng tin điều khiển RTCP
được truyền trên hai cổng UDP khác nhau. Thường thì các gói mang thơng tin
điều khiển sẽ đi qua cổng lẻ, các gói dữ liệu sẽ đi qua cổng chẵn.
Sự liên kết giữa giao thức RTP và RTCP được thể hiện như sau:
‒ RTP: Với chức năng truyền tải các dữ liệu có tính thời gian thực.
‒ RTCP: Với chức năng giám chất lượng dịch vụ và truyền các thông
tin về những phiên truyền. RTCP còn hỗ trợ cho việc điều khiển các phiên.
Hình 1.6 Mơ hình tổng qt về bộ giao thức RTP
Ngồi ra RTCP cũng cịn sử dụng với một số chức năng khác như:
‒ Cung cấp các thông tin phản hồi về chất lượng của đường truyền dữ
liệu: Chức năng này được thực hiện dựa trên các bản tin thơng báo từ phía
người gửi và phía người nhận. Thơng tin hồi đáp có thể sử dụng cho việc thay
đổi phương pháp mã hóa và chuẩn đốn các sự cố xảy ra trong q trình truyền.
Ngồi ra nó có thể giúp các người dùng quan sát lỗi và đánh giá lỗi. Giao thức
này đóng vai trị bên thứ 3, quan sát và phân tích các vấn đề xảy ra.
‒ Mang thông tin định danh (CNAME): Giúp định danh một nguồn
phát RTP. Nó có thể xác định thơng tin người dùng và phân loại tài liệu tương
8
ứng với từng người. Ngồi ra nó cịn dùng để duy trì kết nối giữa các thành
viên.
Cấu trúc gói tin RTCP được miêu tả như sau:
Hình 1.7 Cấu trúc gói tin RTCP
Version (2 bit): Version RTP hiện tại (version 2).
Padding (1 bit): Có chức năng như một bit cờ chỉ rõ xem trong gói có
các byte được chèn thêm hay khơng.
Report counter (5 bit): Số thơng báo chứa trong gói.
Packet type (8 bit): Xác định loại thơng báo của gói (SR hoặc RR hoặc
APP).
Length (16 bit): Chỉ rõ độ dài của gói tin.
Report (độ dài thay đổi): Chứa các thơng báo chi tiết.
Kết luận chương: Chương này đã trình bày tổng quan về hệ thống VoIP,
các thành phần trong một hệ thống và quá trình thiết lập cuộc gọi. Trong đó,
tập trung tìm hiểu về các giao thức báo hiệu và các giao thức truyền tải trong
hệ thống VoIP. Kiến thức tìm hiểu trong chương này sẽ là nền tảng để tìm hiểu
các phương thức bảo vệ cho hệ thống trong chương sau.
9
Chương 2
GIẢI PHÁP BẢO VỆ CHO HỆ THỐNG THÔNG TIN THOẠI
TRÊN NỀN MẠNG IP
2.1. Các nguy cơ mất an toàn và một số tấn công thường gặp
2.1.1. Các nguy cơ mất an tồn từ mơi trường mạng Internet
2.1.1.1. Tấn cơng nghe lén (Sniffing)
Nghe lén trên mạng là một loại tấn cơng phổ biến, nguy hiểm và khó
phịng chống nhất hiện nay. Kỹ thuật này không tấn công trực tiếp vào máy
khách hay máy chủ mà chỉ nhằm vào các dữ liệu được truyền qua tín hiệu vơ
tuyến giữa các máy. Kẻ tấn cơng sẽ tìm cách tiếp cận hệ thống và cài đặt một
chương trình nghe lén vào một máy nào đó để thực hiện nghe lén từ xa.
Hình 2.1 Tấn công nghe lén
Những giao dịch giữa các hệ thống mạng máy tính thường là những dữ
liệu ở dạng nhị phân. Bởi vậy để nghe lén và hiểu được những dữ liệu ở dạng
nhị phân này, các chương trình nghe lén phải có tính năng như là phân tích các
giao thức, cũng như tính năng giải các dữ liệu ở dạng nhị phân sang dạng khác
để hiểu được chúng. Các thông tin thường bị nghe lén bao gồm: Password, các
thông tin về thẻ tín dụng, email,…
Các chương trình nghe lén thường được sử dụng vào hai mục đích khác
biệt. Nó có thể là một cơng cụ để giúp cho các quản trị viên theo dõi và bảo trì
hệ thống mạng hoặc có mục đích xấu là ăn cắp các thơng tin trên mạng này.
Các chương trình này sẽ ghi lại thơng tin về các gói dữ liệu, các phiên truyền,
các hoạt động của mạng,… Một số chương trình nghe lén thường được sử dụng
hiện nay như: Wireshark, NetworkMiner, TCPDump,…
10
2.1.1.2. ARP – Address Resolution Protocol
ARP là giao thức Ethernet cơ bản. Do nó khơng có cơ chế chứng thực
các bản tin truy vấn (Request) và hồi đáp truy vấn (Reply) nên kẻ tấn cơng có
thể lợi dụng vào lỗ hổng này để tấn cơng mạng VoIP.
Máy tính thường dùng giao thức ARP để gửi bản tin cho một máy tính
nào đó mà mới chỉ có thơng tin về địa chỉ IP của máy đó, địa chỉ MAC chưa có
do đó chưa thể thực hiện việc gửi bản tin được, để có thể biết được địa chỉ MAC
của một máy tính khi đã biết địa chỉ IP thì giao thức ARP sẽ được sử dụng để
tìm MAC của một máy tính khi đã có địa chỉ IP. Máy tính (PC) gởi broadcast
ARP Request mà chứa địa chỉ IP của PC mà nó cần tìm địa chỉ MAC. Nếu có
bất kỳ PC nào dùng địa chỉ IP đó, nó sẽ trả lời địa chỉ MAC tương ứng. Tuy
nhiên một ARP Reply có thể được tạo ra mà khơng cần ARP Request, để cho
những PC khác trong mạng có thể cập nhật bảng ARP khi có sự thay đổi xảy
ra. Lợi dụng điều này kẻ tấn công thực hiện gởi ARP Reply với thơng tin giả,
nó sẽ thay thể địa chỉ MAC của nó với địa chỉ IP của máy đích (máy đích ở đây
chính là máy có địa chỉ MAC thật sự), điều này sẽ buộc máy nạn nhân thay đổi
lại bảng ARP với thông tin sai.
Do attacker đã thực hiện giả mạo địa chỉ MAC nên khi người gửi gửi bản
tin, lúc này bản tin sẽ được truyền đến máy của kẻ tấn cơng do phía máy gửi
căn cứ vào bảng địa chỉ MAC mà tiến hành gửi gói tin mà bảng địa chỉ MAC
đã bị làm giả do kẻ tấn công đã gửi thông tin giả mạo địa chỉ MAC dẫn đến
việc gói tin thay vì được gửi đến đúng đích sẽ bị gửi đến máy của kẻ tấn cơng.
Hình 2.2 ARP Spoofing
11
Khi A dùng ARP để tìm địa chỉ của C trên mạng, B sẽ hồi đáp là địa chỉ
IP 10.1.1.2 thuộc về nó và gửi địa chỉ MAC cho A. Như vậy, gói từ A tới C sẽ
được chuyển cho B. Kẻ tấn công đánh lừa ARP bằng cách gửi đến A bản tin
chứa địa chỉ của máy C và địa chỉ MAC của máy B. Khi A nhận được gói tin
sẽ so sánh đúng với địa chỉ IP của máy C nhưng địa chỉ MAC lại là của B. Như
vậy khi thực hiện truyền tin trong mạng thì các gói tin chuyển đến C sẽ được
chuyển đến B vì A đã lưu địa chỉ MAC của B trên mạng truyền tin.
2.1.1.3. Spam VoIP (SPIT)
SPIT là hiện tượng có nhiều cuộc gọi không mong muốn. Nguyên nhân
của hiện tượng này cũng giống như email-spam, hầu hết đều với mục đích
quảng cáo,… Phương pháp spam là dùng các đoạn mã tự động để thực hiện
cuộc gọi tới nhiều người. Nó cũng có thể thực hiện với mục đích giả dạng các
cơ quan tài chính hay thương mại điện tử để lấy thông tin cá nhân.
Các cuộc gọi SPIT sẽ được nhận hoặc chuyển sang hộp thư thoại. Tuy
nhiên nhận SPIT sẽ tốn rất nhiều thời gian và có thể gây ra tắc nghẽn mạng.
Chặn SPIT rất khó vì khơng thể phân biệt được với cuộc gọi bình thường và
thơng tin của người gọi chỉ được tiết lộ khi cuộc gọi đã được thiết lập và bắt
đầu gửi thư thoại.
Những thông điệp này nếu được gửi đến với số lượng lớn sẽ làm tràn hộp
mail làm cho hệ thống voicemail trong VoIP bị tắc nghẽn và quá tải. Lúc này
SPIT có thể trở thành một dạng tấn công DoS mới làm tràn ngập tài nguyên của
hệ thống mail trong doanh nghiệp. Những thơng điệp này chỉ có thể xóa bằng
tay và người dùng khơng thể làm thế nào để lọc bỏ nó.
Để ngăn chặn sự “tấn cơng” của những spammer thì rất là khó. Với một
PC và một kết nối thì bất cứ ai cũng có thể trở thành một Spammer. Mặt khác
giá thành phải trả cho một thông điệp là rất nhỏ, khơng giống như cước phí
voicemail ở điện thoại truyền thống. Chỉ với một số tiền nhỏ thơi thì spammer
có thể gởi đến hàng ngàn thơng điệp. Vì thế các spammer khơng gặp nhiều khó
khăn về cước phí.
2.1.1.4. DoS - Denial of Service
Tấn công DoS là dạng tấn công rất phổ biến và cũng rất khó ngăn chặn.
Kẻ tấn cơng DoS làm tràn ngập các gói, dẫn đến mất liên lạc giữa các phần
trong cấu trúc mạng liên quan đến thiết bị đó. Do đó các dịch vụ bị bẻ gãy và
làm giảm băng thông và tài nguyên CPU.
12
Cách thức tấn công dễ nhất của DoS là giới hạn nguồn tài nguyên, chẳng
hạn như băng thông dành cho dịch vụ Internet. Tác động của việc tấn công sẽ
lớn hơn nếu vị trí bị tấn cơng từ một vài host ở cùng một thời điểm. Các biến
thể của tấn công DoS được gọi là tấn công từ chối phân bổ của dịch vụ DDoS.
Tấn cơng DoS có thể ảnh hưởng đến tất cả các dịch vụ trong mạng IP. Hậu quả
của tấn cơng DoS có thể làm giảm chất lượng dịch vụ hoặc nặng hơn có thể
làm mất dịch vụ.
Hình 2.3 Tấn cơng DoS
Tấn cơng DoS có nhiều dạng khác nhau là do kẻ tấn công sử dụng những
phương pháp tấn công khác nhau như:
* Tấn công Ping of Death: Đây là kiểu tấn công DoS bằng cách kẻ tấn
công sẽ sử dụng lệnh Ping liên tục đến một địa chỉ cố định làm giảm băng
thông, tràn bộ đệm,… khiến cho mạng và thiết bị bị tấn công giảm tốc độ hoặc
ngưng hoạt động.
Hình 2.4 Ping of Death
* Tấn công SYN flood: Kẻ tấn công sử dụng phương pháp “bắt tay 3
bước” của kết nối TCP. Kẻ tấn công gửi liên tục các gói yêu cầu SYN tới một
13
địa chỉ cố định như là một VoIP server hoặc một Web server. Server này đáp
ứng lại cho các yêu cầu đó bằng SYN-ACK. Tuy nhiên khi nhận được đáp ứng
kẻ tấn công không gửi ACK báo nhận cho Server và khi đó các Server ở tình
trạng chờ báo nhận và từ chối bất kì yêu cầu nào từ người sử dụng. Hậu quả
của loại tấn công này khiến các Server ngừng hoạt động và người sử dụng
không sử dụng được dịch vụ.
Kẻ tấn cơng gửi nhiều
gói SYN u cầu tới
Web server
Web Server gửi
SYN-ACK trả lời
Web Server
Web Server chờ cho tới
khi hoàn thành bắt tay
3 bước
Người sử dụng hợp pháp
gửi yêu cầu đến Web
Server
Web Server
Web Server bị treo
Web Server
Hình 2.5 SYN Flood
* Tấn công Smurf: Kẻ tấn công sẽ giả danh địa chỉ của một host trong
một mạng nội bộ để gửi gói tin quảng bá ICMP yêu cầu đến tất cả các host nội
mạng hoặc ngoài mạng. Khi các host nhận được yêu cầu thì tiến hành trả lời về
đúng địa chỉ thật và khi đó Host bị giả dạng sẽ bị đầy bộ nhớ và CPU quá tải.
Hình 2.6 Smurf
2.1.1.5. DDoS – Distribute DoS
Đây là kiểu tấn công DoS ở quy mô lớn kẻ tấn công sẽ điều khiển các
host gần nó nhất cùng thực hiện một trong các kiểu tấn công DoS ở trên (tấn
14
công Ping of Death, SYN flood, Smurf) cùng tấn công đến một host cố định
làm tràn ngập và tê liệt mạng đích từ nhiều nguồn khác nhau bên ngồi.
Client/ Attacker
Handler
s
Agents/
Zombies
Victim
Hình 2.7 Tấn cơng DDoS
Đối với VoIP tấn cơng DoS có thể làm cho các dịch vụ VoIP mất đi một
phần hoặc tồn bộ giá trị thơng qua việc ngăn chặn thành công các cuộc gọi,
ngắt các cuộc gọi hoặc ngăn chặn các dịch vụ tương tự như là voice mail. Ngồi
các tấn cơng trên cịn có một số tấn cơng DoS thường gặp trên hệ thống VoIP
như:
‒ Tấn công chuyển tiếp các gói VoIP (VoIP packet relay Attack): Bắt
và gửi lại các gói VoIP đến điểm cuối, cộng thêm việc trì hỗn tiến trình cuộc
gọi sẽ làm giảm chất lượng cuộc gọi.
‒ Tấn công thay đổi chất lượng dịch vụ (QoS Modification Attack):
Thay đổi các trường thông tin điều khiển các giao thức VoIP riêng biệt trong
gói dữ liệu VoIP và từ điểm cuối làm giảm hoặc từ chối dịch vụ thoại.
‒ Tấn cơng bằng các gói VoIP giả mạo (VoIP packet Injection): Tức
là gửi các gói VoIP giả mạo đến điểm cuối, thêm vào đoạn thoại hay nhiễu hay
khoảng lặng vào hoạt động thoại.
‒ Thông điệp giả (Bonus Message DoS): Gửi đến VoIP server và các
điểm cuối các giao thức VoIP giả mạo nhằm hủy kết nối hoặc tình trạng bận ở
đầu cuối. Kiểu tấn công này làm cho các phone phải xử lý các message giả và
các thiết bị đầu cuối phải thiết lập những kết nối ảo hoặc làm cho người tham
gia cuộc gọi lầm rằng đường dây đang bận.
‒ Tràn ngập các gói điều khiển (Control Packet Flood): Làm tràn ngập
VoIP server hoặc đầu cuối với những gói điều khiển cuộc gọi khơng rõ nguồn
gốc. Mục đích của kẻ tấn cơng là làm suy yếu thiết bị hệ thống hoặc tài nguyên
15
mạng. Do đó khơng thể dùng các dịch vụ VoIP. Bất kể các port mở trong tiến
trình cuộc gọi và VoIP server liên quan có thể trở thành mục tiêu của kiểu tấn
công DoS này.
2.1.2. Điểm yếu bảo mật trong giao thức SIP
SIP là một giao thức mới lại không có tích hợp cơng cụ bảo mật nào
trong nó nên nó có một số vấn đề về bảo mật. Tuy nhiên, theo khuyến nghị nên
dùng các lớp dưới để bổ sung tính bảo mật cho SIP. Giao thức SIP thường gặp
một số tấn cơng như sau:
* Chiếm quyền đăng kí (Registration Hijacking)
Bản tin đăng ký thường được vận chuyển bằng giao thức UDP (không
được tin cậy), hơn nữa các yêu cầu đăng ký không cần phải được chứng thực
bởi SIP registrars hoặc nếu có chứng thực thì cũng chỉ bằng MD5 để mã hóa
user name và password.
Cách tấn cơng:
‒ Tìm một địa chỉ IP đã được đăng kí. (Đối với các user trong mạng
dễ dàng biết được cấu trúc địa chỉ trong mạng, cịn với những user ngồi mạng
thì dùng kĩ thuật social engineering hay tool để quét ra địa chỉ của tồn mạng).
Nếu có u cầu chứng thực thì có thể đốn password hoặc dùng kiểu từ điển.
Đối với tấn cơng kiểu từ điển thì mất thời gian do phải thử nhiều lần.
‒ Gửi một yêu cầu đăng kí đặc biệt có kí tự “*” để xóa hết ràng buộc
cho các địa chỉ SIP bị gọi.
‒ Gửi bản tin yêu cầu đăng kí thứ hai chứa địa chỉ SIP của kẻ tấn cơng.
Hình 2.8 Tấn cơng bằng bản tin đăng ký
16
* Giả dạng Proxy
Kẻ tấn công dùng một proxy để chặn cuộc gọi từ UA đến proxy bên phía
bị gọi. Cách tấn cơng này có thể lấy được tất cả bản tin SIP và do vậy có tồn
quyền điều khiển cuộc gọi.
Cách tấn công: Chèn proxy giả vào bằng DNS spoofing, ARP cache
spoofing hay đơn giản chỉ là thay đổi địa chỉ proxy cho SIP phone.
Hình 2.9 Giả dạng Proxy
* Message Tempering
Đây là kiểu tấn công chặn và thêm vào các gói mà các thành phần của
SIP trao đổi với nhau.
Có thể dùng các cách sau để chặn gói:
‒ Cướp quyền đăng kí
‒ Giả dạng proxy
‒ Tấn cơng một trong các thành phần tin cậy trong mạng
Kết thúc session
Quan sát các thông số trong 1 session như “To” và “From” sau đó chèn
bản tin “BYE” hay re-INVITE để kết thúc cuộc gọi. Cách tấn cơng này có thể
làm chuyển hướng cuộc gọi. Kiểu tấn cơng này rất khó phịng chống vì các
trường như địa chỉ đích cần gửi đi ở dạng bản rõ để cho phép định tuyến.
2.2. Giải pháp bảo vệ hệ thống thông tin thoại cho hệ thống VoIP
Để đảm bảo an ninh cho hệ thống VoIP cần phải đạt được các yêu cầu
sau:
‒ Đảm bảo người gọi chỉ kết nối với người mình cần gọi.
‒ Loại bỏ tối đa các cuộc gọi không mong muốn.
‒ Nội dung cuộc gọi phải được bí mật và tồn vẹn.
‒ Thơng tin về người gọi, người nghe được bảo mật.
17
Để đảm bảo yêu cầu thứ nhất và thứ hai, người gọi và người nghe phải
được xác thực trước khi cuộc gọi được thiết lập. Xác thực có thể được coi như
một phần của giao thức khóa được sử dụng để thiết lập bộ tham số an toàn SA
(Security Association) giữa người gọi và người nghe, tức là thỏa thuận bộ tham
số mật mã sẽ sử dụng (tạo khóa chủ của phiên liên lạc…). Những bộ tham số
đó được sử dụng trong giao thức an tồn để mã hóa, bảo đảm tính tồn vẹn dữ
liệu theo u cầu thứ ba. Đối với yêu cầu thứ tư, các thông tin báo hiệu phải
được bảo mật.
Giải pháp cho yêu cầu bảo mật cho thông tin báo hiệu là sử dụng SIPS
(giao thức SIP được mở rộng với TLS) để bảo mật tín hiệu báo hiệu từ nút này
tới nút kia.
Để bảo mật luồng dữ liệu thoại thì các tham số mật mã được sử dụng
giữa những người tham gia liên lạc cũng cần phải thỏa thuận trước khi nói
chuyện. Giao thức trao đổi khóa tùy thuộc vào phương thức bảo mật được lựa
chọn. Đối với mã thoại IP phương thức bảo mật phù hợp nhất (đảm bảo chất
lượng, thuận tiện, an toàn) là giao thức giao vận thời gian thực có bảo mật SRTP
(Secure Real-time Transport Protocol) và giao thức trao đổi khóa đi kèm.
2.2.1. Giải pháp bảo vệ giao thức báo hiệu SIP (SIPS)
SIPS là giao thức SIP được mở rộng với TLS (Transport Layer Security).
Do SIP khơng có tích hợp cơng cụ bảo mật nên nó được khuyến nghị dùng các
lớp dưới để bổ sung tính bảo mật.
TLS cung cấp một kênh bảo mật giữa hai đầu cuối, tức là dữ liệu đi qua
kênh này không bị thay đổi và nó cho phép các giao thức chạy được trên TCP
cũng có thể chạy được trên TLS. Vì vậy, TLS nằm ngay phía trên giao thức
TCP và dưới SIP, hay nói cách khác là SIP được mã hóa bởi TLS và truyền qua
kết nối TCP.
Hình 2.10 Lớp bảo mật TLS cho giao thức SIP
18
TLS cung cấp một vài chức năng bảo mật nhằm bảo mật cho các bản tin
báo hiệu và cịn có thể được sử dụng như là cơ chế trao đổi khóa cho RTP.
Ưu điểm:
‒ Hỗ trợ sử dụng cơ chế xác thực.
‒ Cung cấp sự bí mật và tồn vẹn cho gói tin, chống lại các cuộc tấn
cơng như nghe trộm, tin nhắn giả mạo, phát lại…
‒ Dễ triển khai và sử dụng.
‒ Tương thích với nhiều ứng dụng sử dụng Internet.
Nhược điểm:
‒ Yêu cầu cần có cơ sở hạ tầng khóa PKI để chứng thực trên lớp SSL.
‒ Khơng cung cấp cơ chế bảo mật trực tiếp đầu cuối.
‒ TLS có thể được sử dụng với giao thức TCP, nhưng không thể sử
dụng với giao thức UDP, bởi TLS sẽ ảnh hưởng đến sự thực thi của SIP nếu
dùng UDP.
‒ Dễ bị tấn công DoS như TCP floods (tấn cơng làm tràn các gói tin
TCP) và RSTs (tấn cơng làm reset lại kết nối). Một tấn công TCP flood sẽ có
mục tiêu khiến tiêu tốn tài nguyên của hệ thống làm RSA bị lộ mã. Ngồi ra,
kẻ tấn cơng có thể tạo ra các gói RST giả mạo hoặc những bản ghi TLS làm
chấm dứt sớm kết nối.
Nhìn chung, TLS bảo vệ các bản tin báo hiệu của SIP bằng cách mã hóa
trước khi truyền đi và giải mã trước khi chuyển lên lóp bên trên. Việc mã hóa
và giải mã đều phải có chứng chỉ hợp lệ do CA cấp cho quá trình bắt tay của
TLS.
Quá trình bắt tay của TLS có ba đặc tính cơ bản sau:
‒ Định danh của điểm kết nối có thể được xác thực bằng cách sử dụng
mã hóa bất đối xứng hoặc khóa cơng khai (RSA, Elgamal,…). Việc xác thực
có thể tùy chọn thực hiện, nhưng thường yêu cầu cho ít nhất một trong các điểm
kết nối.
‒ Q trình thỏa thuận khóa bí mật chia sẻ được an tồn: Các thỏa
thuận bí mật không để nghe trộm trong bất kỳ kết nối xác thực nào, khóa bí mật
khơng thể bị lấy trộm ngay cả khi một kẻ tấn cơng có thể xâm nhập vào giữa
kết nối.
‒ Quá trình thỏa thuận đáng tin cậy: Khơng kẻ tấn cơng nào có thể
thay đổi q trình thỏa thuận mà khơng bị phát hiện bởi các bên tham gia kết
nối.
19
Hình 2.11 Quá trình bắt tay của TLS
Quá trình bắt tay của TLS như sau:
‒ Bản tin Client Hello và Server Hello trao đổi danh sách các thuật
toán sẽ sử dụng.
‒ Chứng chỉ của Server và khóa cơng khai được chứa trong bản tin
chứng chỉ.
‒ Khi Client nhận được bản tin chứng chỉ, nó sẽ có khóa cơng khai và
dùng khóa này để mã hóa một khóa bí mật Pre-Master do nó tự tạo ra và gửi
kèm theo bản tin ClientKeyExchange tới Server. Trong khi đó, KDF (Key
Derivation Function) sẽ tạo ra một Master key từ khóa bí mật Pre-Master.
‒ Phía Server, bản tin ClientKeyExchange được giải mã bằng khóa
riêng của Server, có được khóa bí mật Pre-Master và dùng cùng KDF để tạo ra
Master key.
‒ Client dùng Master key tạo ra MAC (Message Authentication Code
– Mã xác thực thông điệp) của tồn bộ bản tin mà nó nhận được từ Server trước
đó rồi gửi kèm theo bản tin Finished tới Server.
‒ Server dùng Master key tạo ra một MAC của tồn bộ bản tin mà nó
nhận được từ Client trước đó rồi gửi kèm theo bản tin Finished tới Server.
20