MỤC LỤC
MỤC LỤC 5
Chương 1: CÁC GIAO THỨC TRONG HỆ THỐNG VOIP 1
A - GIAO THỨC H.323
1.1. Tổng quan về giao thức H.323 1
1.2. Các thành phần chính trong mạng H.323 1
1.2.1. H.323 Terminal: 1
1.2.2. Gateway 2
1.2.3. GateKeeper (GK) 2
1.2.4. Mutipoint Control Unit (MCU) 4
1.2.5. H.323 Zone 4
1.2.6. Bản tin của H.323 4
1.3. H.225 5
1.3.1. RAS (Registration, Admission, Status) 5
1.3.2. Q.931 5
1.4. H.245 6
1.5. Các thủ tục báo hiệu trong mạng H.323 6
1.5.1. Thiết lập cuộc gọi 6
1.5.1.a. Cả hai thuê bao đều đăng ký tới một GK 7
1.5.1.b. Hai thuê bao đăng ký với hai GK khác nhau. 7
1.5.2. Thiết lập kênh điều khiển 9
1.5.3. Thiết lập kênh truyền thông 10
1.5.4. Dịch vụ cuộc gọi 10
1.5.5. Kết thúc cuộc gọi 10
B- GIAO THỨC SIP
1.6. Kiến trúc của giao thức SIP 12
1.7. SDP (Session Description Protocol) 14
1.8. Sự trao đổi bản tin cơ bản của SIP 15
1.8.1. Sự trao đổi bản tin SIP giữa hai đầu cuối SIP 16
1.8.2. SIP call có sự tham gia của Proxy server 19
1.8.3. SIP registration 23
1.8.4. SIP presence and instant messaging 24
1.9. Các giao thức vận chuyển SIP 28
1.9.1. UDP 28
1.9.2. TCP 29
C- SO SÁNH H.323 VÀ SIP
D- CÁC GIAO THỨC VẬN CHUYỂN VOIP
1.10. RTP 32
1.11. RTCP 33
Chương 2: LỖ HỔNG TRONG HỆ THỐNG VOIP 36
2.1. Lỗ hổng đối với SIP 36
2.1.1. Chiếm quyền đăng kí (Registration Hijacking) 36
2.1.2. Giả dạng proxy 37
2.1.3. Message Tempering 38
2.1.4. Kết thúc session 38
2.2. Lỗ hổng về bảo mật đối với hệ thống H.323 38
2.2.1. Can thiệp vào thông tin tính cước: 38
2.2.2. Cuộc gọi trực tiếp 38
2.2.3. Giả dạng đầu cuối 39
2.2.4. Giả dạng GK 39
2.2.5. Giả dạng BES 39
2.3. Lỗ hổng do mạng và môi trường 40
2.3.1. DNS (Domain Name System) 40
2.3.2. ARP 40
2.4. DoS (Denial of Service) 42
2.5. Lỗ hổng với IP phone và Soft phone 42
2.6. Spam trong VoIP 42
Chương 3: HỖ TRỢ BẢO MẬT TRONG H.323 VÀ SIP 44
3.1. Hỗ trợ bảo mật cho H.323 44
3.1.1. H.235 ver 2 44
3.1.2. Base-line security profile 44
3.1.3. Signature profile: 45
3.1.4. Hybird Security Profile (H.235 Annex F) 46
3.1.5. H.235 Annex G 46
3.1.6. H.235 Annex H 46
3.1.7. H.235 Annex I 46
3.2. Hỗ trợ bảo mật cho giao thức SIP 46
3.2.1. TLS: Trao đổi khóa và bảo mật cho các gói tin báo hiệu 47
3.2.2. SRTP (Secure Real-time Transport Protocol): Bảo mật cho gói tin thoại/video 49
3.2.3. Bảo đảm sự tin cậy 50
3.2.4. Chứng thực bản tin 51
3.2.5. Replay Protection 51
3.2.6. S/MIME: Chứng thực bản tin 52
Chương 4: MỘT SỐ KỸ THUẬT HỖ TRỢ BẢO MẬT CHO VOIP 54
4.1. VLAN 54
4.2. VPN 55
4.2.1. Point – to – Point Tunneling Protocol 56
4.2.2. Layer 2 Tunneling Protocol 56
4.2.3. IP Security 57
4.3. Firewalls 58
4.4. NAT (Network Address Translation) 59
4.5. Một số chú ý khi sử dụng NAT và firewall trong hệ thống VoIP 60
4.6. Một số giải pháp cho vấn đề firewall 61
4.6.1 DMZ (Demilitarized Zone) 61
4.6.2 ALG (Application Level Gateway) 62
4.6.3 Middlebox Communication (MIDCOM) 63
4.6.4 Session Border Controller 63
4.7 Giải pháp cho NAT 64
4.7.1 STUN (Simple Traversal of UDP through NAT) 64
4.7.2 TURN (Traversal Using Relay NAT) 64
4.7.3 ICE (Interactive Connectivity Establishment) 64
4.7.4 Đường hầm 65
4.8 IDS (Intrusion Detection) 65
CHƯƠNG 5: BẢO MẬT CHO Vo802.11 68
5.1. SSID 68
5.2. WEP 68
5.3. Lọc địa chỉ MAC 69
5.4. Mô hình bảo mật WLAN 69
5.5. Đánh giá độ bảo mật của WEP 71
5.6. 802.1x và EAP 72
5.7. VPN và 802.11 72
91 trang |
Chia sẻ: netpro | Lượt xem: 3269 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Voice over IP Security (VoIP), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ế H.323. SIP cũng được các hãng di động sử dụng như giao thức báo hiệu cuộc gọi.
Tính cước: SIP muốn có thông tin tính cước phải ở trong quá trình báo hiệu cuộc gọi để phát hiện ra thời điểm kết thúc cuộc gọi. Còn với H.323, tại thời điểm khởi tạo và kết thúc cuộc gọi, các thông tin tính cước nằm trong các bản tin ARQ/DRQ. Với trường hợp cuộc gọi báo hiệu trực tiếp, EP thông báo cho GK thời điểm bắt đầu và kết thúc cuộc gọi bằng bản tin RAS.
Về mức độ bảo mật: SIP có nhiều hỗ trợ bảo mật đảm bảo mã hóa, chứng thực dùng certificate, toàn vẹn bản tin end-to-end. Bản thân SIP không phát triển những hỗ trợ này mà nó thừa hưởng từ các giao thức hỗ trợ bảo mật của Internet như TLS và S/MIME. Còn H.323 thì xây dựng H.235 cho chứng thực và mã hóa.
Các thiết bị SIP còn hạn chế về việc trao đổi khả năng. Còn các thiết bị trong mạng H.323 có khả năng trao đổi khả năng và thương lượng mở kênh nào (audio, thoại, video hay dữ liệu).
H.323 và SIP cùng tồn tại và có chức năng tương tự như nhau. SIP được hỗ trợ DNS và URL ngay từ đầu còn H.323 thì không. Tương tự như vậy H.323 hỗ trợ hội nghị truyền hình với khái niệm MCU ngay từ đầu thì với SIP tính năng đó được phát triển sau gọi là “focus”.
SIP ban đầu dùng UDP, sau đó dùng TCP. Còn với H.323 thì ban đầu không dùng UDP nhưng bây giờ đã có hỗ trợ thêm UDP.
Ưu điểm của từng giao thức:
H.323 dùng thay thế một phần trong hệ thống PSTN và chiếm lĩnh thị trường hội nghị truyền hình. Đối với những bộ phận chỉ dùng tính năng báo hiệu (thiết lập và kết thúc) cuộc gọi, không dùng hết những ưu điểm nổi trội của SIP thì không cần thay thế H.323 bằng SIP.
SIP hiện tại vẫn chưa hỗ trợ hội nghị truyền hình. Điểm mạnh của nó hiện tại vẫn là một giao thức đơn giản, dựa trên kiến trúc Internet.
D. GIAO THỨC VẬN CHUYỂN VOIP
Giao thức thời gian thực Real-time Protocol (RTP) được ra đời do tổ chức IETF đề xuất, nó đảm bảo cơ chế vận chuyển và giám sát phương thức truyền thông thời gian thực trên mạng IP. RTP có hai thành phần:
- Bản thân RTP mang chức năng vận chuyển, cung cấp các thông tin về các gói tin thoại.
- Giao thức điều khiển thời gian thực RTCP (Real-time Control Protocol) mang chức năng giám sát và đánh giá chất lượng truyền tin.
RTP
Một cuộc thoại thông thường được chia thành các phiên báo hiệu cuộc gọi, điều khiển cuộc gọi, thỏa thuận phương thức truyền thông và phiên hội thoại. Vị trí của RTP nằm trong phiên hội thoại.
Cách thức truyền tiếng nói qua mạng IP: Qua phiên thoả thuận phương thức truyền thông, các bên tham gia hội thoại tiến hành mở hai cổng UDP kề nhau, cổng chẵn cho truyền tiếng nói (RTP), cổng lẻ cho truyền các thông tin trạng thái để giám sát (RTCP). Thông thường, hai cổng được chọn mặc định là 5004 và 5005.
Tại phía phát, tiếng nói được điều chế thành dạng số hoá, qua bộ CODEC được nén thành các gói tin để truyền đi. Khi đi xuống tầng UDP/IP, mỗi gói tin được gắn với một header tương ứng. Header này có kích thước 40 byte, cho biết địa chỉ IP nguồn, địa chỉ IP đích, cổng tương ứng, header RTP và các thông tin khác:
Hình 1-19: Gói RTP
Chẳng hạn như ta sử dụng G.723.1 thì mỗi payload có kích thước 24 byte, như vậy phần dữ liệu cho mỗi gói tin chỉ chiếm 37,5%.
Header RTP cho biết phương thức mã hóa được sử dụng cho gói tin này, chỉ mục gói, nhãn thời gian của nó và các thông tin quan trọng khác. Từ các thông tin này ta có thể xác định ràng buộc giữa gói tin với thời gian.
Header RTP gồm 2 phần :
Phần cố định dài 12 byte.
Phần mở rộng để người sử dụng có thể đưa thêm các thông tin khác.
Header RTP cho mỗi gói tin có dạng :
Hình 120: Cấu trúc header của RTP
Các gói được sắp xếp lại theo đúng thứ tự thời gian thực ở bên nhận rồi được giải mã và phát lại.
RTP hỗ trợ hình thức hội thoại đa điểm một cách rất linh hoạt. Điều này hết sức quan trọng, đặc biệt trong trường hợp số thành viên tham gia hội thoại là nhỏ để tiết kiệm tài nguyên mạng. Đa phần hội thoại diễn ra dưới hình thức phát đa điểm. Nếu có yêu cầu phúc đáp giữa hai thành viên thì ta lựa chọn cách thức hội thoại đơn phát đáp.
Hình 121: Hội thoại đa điểm
RTP cho phép sử dụng các bộ trộn và bộ chuyển đổi. Bộ trộn là thiết bị nhận các luồng thông tin từ vài nguồn có tốc độ truyền khác nhau, trộn chúng lại với nhau và chuyển tiếp theo một tốc độ xác định ở đầu ra. Bộ chuyển đổi nhận một luồng thông tin ở đầu vào, chuyển đổi nó thành một khuôn dạng khác ở đầu ra. Các bộ chuyển đổi có ích cho sự thu nhỏ băng thông theo yêu cầu của dòng số liệu trước khi gửi vào kết nối băng thông hẹp hơn mà không cần yêu cầu nguồn phát RTP thu nhỏ tốc độ truyền tin của nó. Điều này cho phép các bên kết nối theo một liên kết nhanh mà vẫn đảm bảo truyền thông chất lượng cao. Các bộ trộn cho phép giới hạn băng thông theo yêu cầu hội thoại.
RTCP
Từ các thông tin cung cấp trong RTP cho mỗi gói tin, ta có thể giám sát chất lượng truyền tiếng nói trong quá trình diễn ra hội thoại. RTCP phân tích và xử lý các thông tin này để tổng hợp thành các thông tin trạng thái rồi đưa ra các bản tin phản hồi đến tất cả các thành viên. Ta có thể để điều chỉnh tốc độ truyền số liệu nếu cần, trong khi các bên nhận khác có thể xác định xem vấn đề chất lượng dịch vụ là cục bộ hay toàn
mạng. Đồng thời, nhà quản lý mạng có thể sử dụng các thông tin tổng hợp cho việc đánh giá và quản lý chất lượng dịch vụ trong mạng đó.
Ngoài ra, các bên tham gia có thể trao đổi các mục mô tả thành viên như tên, e-mail, số điện thoại và các thông tin khác.
Giao thức điều khiển thời gian thực Real-time Control Protocol (RTCP) có nhiệm vụ giám sát và đánh giá quá trình truyền tin dựa trên việc truyền một cách định kỳ các gói tin điều khiển tới các thành viên tham gia hội thoại với cùng cơ chế truyền dữ liệu. RTCP thi hành 4 chức năng chính :
Cung cấp cơ chế phản hồi chất lượng truyền dữ liệu. Bên gửi thống kê quá trình gửi dữ liệu qua bản tin người gửi cho các thành viên. Bên nhận cũng tiến hành gửi lại bản thống kê các thông tin nhận được qua bản tin người nhận. Từ việc giám sát quá trình gửi và nhận giữa các bên, ta có thể điều chỉnh lại các thông số cần thiết để tăng chất lượng cho cuộc gọi. Đây là chức năng quan trọng nhất của RTCP.
Mỗi nguồn cung cấp gói tin RTP được định danh bởi một tên CNAME (Canonical end-point identifer SDES item). RTCP có nhiệm vụ cho các thành viên biết tên này. Khi có thành viên mới tham gia hội thoại thì anh ta phải được gán với một trường CNAME trong gói tin SDES.
Quan sát số thành viên tham gia hội thoại thông qua sự thống kê ở các bản tin.
Mang các thông tin thiết lập cuộc gọi, các thông tin về người dùng. Đây là chức năng tùy chọn. Nó đặc biệt hữu ích với việc điều khiển các phiên lỏng, cho phép dễ dàng thêm bớt số thành viên tham gia hội thoại mà không cần có ràng buộc nào.
RTCP định nghĩa 5 loại gói tin :
SR
Sender Report, bản tin người gửi
RR
Receiver Report, bản tin người nhận
SDES
Source Description items, các mục mô tả nguồn
BYE
Thông báo kết thúc hội thoại
APP
Cung cấp các chức năng riêng biệt của từng ứng dụng
Hình 122: Các loại gói tin RCTP
Các thông tin được cung cấp gói tin RTCP cho phép mỗi thành viên tham gia hội thoại giám sát được chất lượng truyền tin, số gói tin đã gửi đi, số gói tin nhận được, tỷ lệ gói tin bị mất, trễ là bao nhiêu…Vì vậy, các thông tin này thường được cập nhật một cách định kỳ và chiếm không quá 5% giải thông cuộc gọi.
Như vậy không những RTP đáp ứng được yêu cầu thời gian thực cho việc truyền tiếng nói qua mạng IP mà còn cho phép ta giám sát và đánh giá chất lượng truyền tin cho VoIP. Có rất nhiều yếu tố ảnh hưởng tới chất lượng dịch vụ (Quality of Service-
QoS) cho VoIP nhưng chủ yếu là do 3 nguyên nhân trễ, tỷ lệ gói tin mất và Jitter. Tại mỗi thời điểm diễn ra hội thoại ta đều có thể quan sát và đánh giá các tham số này.
Tuy nhiên, bản thân RTP hoạt động trên tầng IP mà bản chất mạng IP là chuyển mạch gói, do vậy RTP không can thiệp được tới các nguyên nhân trên. Ta không thể điều khiển được chất lượng dịch vụ qua thoại trên IP mà chỉ giám sát và đánh giá qua việc sử dụng RTP. Biện pháp khắc phục hiện nay là sử dụng giao thức giữ trước tài nguyên Resource Reservation Protocol (RSVP) cho VoIP.
Chương 2: LỖ HỔNG TRONG HỆ THỐNG VOIP
Không chỉ bản thân các giao thức trong hệ thống VoIP có những điểm yếu về bảo mật mà các giao thức Internet khác cũng có khả năng là mục tiêu của kẻ tấn công. Chương này đề cập đến những lỗ hổng bảo mật đó và các kẻ tấn công lợi dụng điểm yếu để tấn công mạng
Lỗ hổng đối với 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ị khuyên nên dùng các lớp dưới để bổ sung tính bảo mật cho SIP. Mặt khác là giao thức text-based nên cần dùng TLS để mã hóa.
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 (MD5 là một thuật toán mã hóa yếu).
- 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 ngoài mạng thì dùng kĩ thuật social engineering hay tool để quét ra địa chỉ của toàn mạng). Nếu có yêu cầu chứng thực thì có thể đoá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- 1: Tấn công bằng bản tin đăng ký
Một kiểu cướp quyền đăng kí khác là dùng tool chặn và thêm vào yêu cầu đăng kí khi nó được gửi từ một UA và server đăng ký. Kiểu tấn công này ít phổ biến hơn.
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ó toàn quyền điều khiển cuộc gọi.
Kiểu 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- 2: 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
Có thể dùng S/MIME (chứng thực và mã hóa văn bản) nhưng nếu như văn bản ở dạng plaintext thì kẻ tấn công vẫn có thể lấy được thông tin định tuyến.
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 plaintext để cho phép định tuyến.
Lỗ hổng về bảo mật đối với hệ thống H.323
Do H.323 sử dụng phương thức chứng thực tương đối chắc chắn giữa các thành phần H.323 và là giao thức có hỗ trợ bảo mật (H.235) nên luồng dữ liệu rất bảo mật. Tuy vậy cũng có một vài lỗ hổng, nghiêm trọng nhất là tràn bộ đệm do nó dùng định dạng bản tin ASN.1, dễ dàng bị DoS.
Can thiệp vào thông tin tính cước:
GK là nơi quản lý cuộc gọi, nó có chức năng tập trung thông tin tính cước và gửi về cho BES, BES lưu giữ thông tin này và gọi là CDR (Call Detail Record), thông tin này tối thiểu phải gồm có:
- Thời gian cuộc gọi: thời gian bắt đầu và kết thúc cuộc gọi, do GK theo dõi.
- CallID: mỗi cuộc gọi có 1 giá trị duy nhất khác nhau do GK tạo ra.
- UserID: duy nhất cho mỗi user được cấp quyền, giá trị này xác định tại thời điểm đăng ký.
CDR được gửi từ GK tới BES, do đó có thể chặn các gói này, sửa thông tin thời gian cuộc gọi. Để khắc phục phải chứng thực giữa GK và BES đồng thời phải đảm bảo toàn vẹn dữ liệu.
Cuộc gọi trực tiếp
Tính cước dựa trên việc cuộc gọi được định tuyến thông qua GK. Tuy nhiên, đầu cuối trong mạng H.323 có khả năng gọi trực tiếp mà không thông qua GK miễn là nó biết được địa chỉ IP của người bị gọi.
Traffic RTP luôn được gửi trực tiếp giữa các đầu cuối, do đó chỉ cần 1 cuộc gọi là có thể xác định được địa chỉ IP của bên bị gọi. Để khắc phục thì gateway chỉ cho phép thông tin báo hiệu từ GK đi qua.
Giả dạng đầu cuối
Để khởi tạo cuộc gọi, EP phải tiến hành 3 bước: đăng ký, xin chấp nhận cuộc gọi (Call Admission) và Q.931 thiết lập cuộc gọi. Quá trình đăng ký và xin chấp nhận cuộc gọi sử dụng bản tin RAS truyền qua UDP. Do đó, không có một phiên thực sự nào dành cho bản tin RAS, kẻ tấn công có thể chèn các bản tin này vào. Thông tin báo hiệu thực sự dùng bản tin Q.931 và được vận chuyển thông qua TCP.
Giả dạng EP trong giai đoạn đăng ký, sau đó kẻ giả dạng có thể thực hiện tất cả các dịch vụ mà một user được phân quyền có. Kiểu giả dạng này thành công nếu user bị giả dạng không đăng ký vào thời điểm giả dạng và nếu UserID là một IP thì chỉ có user trong cùng mạng mới có thể giả dạng được.
Tấn công trong giai đoạn xin chấp nhận cuộc gọi, cũng phải cùng mạng mới tấn công được vì phải biết được UserID của user muốn giả dạng.
Tấn công bằng các bản tin Q.931. Các bản tin Q.931 được xác định bằng trường CallID nên giá trị này phải hợp lệ. CallID được sinh ra trong quá trình xin chấp nhận cuộc gọi vì vậy kẻ tấn công hoàn toàn có được vì cuộc gọi đã được cho phép. Nhưng nếu giá trị CallID đã được dùng thì tấn công không thành công.
Bỏ qua giai đoạn xin chấp nhận cuộc gọi, dùng preGranted ARQ cho một nhóm user, GK không thể phát hiện ra và sẽ thiết lập cuộc gọi bình thường. Chứng thực có thể ngăn chặn được kiểu tấn công này.
Các kiểu tấn công trên chỉ có thể thực hiện khi không có các biện pháp bảo mật. Nếu chứng thực được dùng thì độ bảo mật phụ thuộc vào độ phức tạp của password.
Giả dạng GK
Giả dạng một bằng một GK khác: GK giả mạo chấp nhận yêu cầu thiết lập cuộc gọi do không có hỗ trợ bảo mật cho Q.931. Có thể ngăn chặn bằng cách thông tin cho GK về toàn bộ GK có trong mạng. Thông thường thì các GK đăng ký với BES nên 1 GK có thể lấy thông tin và địa chỉ IP khi đăng ký với BES.
Giả dạng BES
BES chỉ giao tiếp với GK bằng 1 giao thức client-server riêng. Có thể tấn công bằng cách chặn 1 bản tin từ GK tới BES, sau đó thay đổi một số trường như password của EP.
Lỗ hổng do mạng và môi trường
VoIP được truyền qua cùng môi trường vậy lý (router, Switch và firewall) với các dịch vụ IP khác nên có thể bị ảnh hưởng. VD như: khi gửi nhiều yêu cầu báo hiệu hay yêu cầu thiết lập cuộc gọi tới IP PBX, gateway, hay IP phone, các thiết bị này sẽ không thể xử lý tất cả các bản tin, gây ra DoS. DoS rất nguy hiểm vì nó gần như làm nghẽn mạng và có thể chặn dịch vụ VoIP.
Khi xem xét bảo mật ta thường chú ý đầu tiên tới các giao thức như SIP, H.323 nhưng có 1 số giao thức khác cũng cần phải xem xét:
DNS (Domain Name System)
DNS là dịch vụ hỗ trợ việc dịch từ host name sang địa chỉ IP để có thể tìm thấy đường đi trên mạng. Trong hệ thống VoIP, DNS có chức năng phân giải địa chỉ đích của đầu cuối hay cho phép gateway đăng kí với server hay GK bằng host name.
Do là một giao thức thành phần của mạng Internet nên DNS không có sự bảo mật nào (như chứng thực, mã hóa,…) vì vậy có một số cách tấn công vào DNS:
DNS footprint (truy tìm host name, subdomain và subnet)
DoS (dùng SYN flooding DNS server hay truyền đi bảng DNS trống)
DNS cache poisoning.
ARP
ARP là giao thức Ethernet cơ bản. Do nó không có cơ chế chứng thực các truy vấn và hồi đáp truy vấn nên có thể lợi dụng nó để tấn công mạng VoIP. Những kiểu tấn công thường gặp là: ARP spoofing, ARP redirection.
ARP spoofing
Hình 2- 3: ARP spoofing
Khi A quảng bá truy vấn 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ó (MAC: AB:AC:AD:AE:AF:FF). Như vậy, gói từ A tới C sẽ được chuyển tới B.
Địa chỉ IP
Địa chỉ vật lý
10.1.1.1
AA:BB:CC:DD:EE:FF
10.1.1.2
AB:AC:AD:AE:AF:FF
Bảng 2- 1: ARP cache của A
ARP redirection.
Hình 2- 4: ARP redirection
Với kiểu tấn công như trên thì tất cả traffic trao đổi giữa A và C đều đi qua B. Những thông tin không được mã hóa sẽ bị nghe trộm. Trong trường hợp này kẻ tấn công cũng ít khi bị phát hiện nếu không cài phần mềm theo dõi bảng ánh xạ giữa địa chỉ IP và MAC.
Hậu quả của kiểu tấn công này là sự quá tải của Switch do bảng CAM (Content – Addressable Memory), bảng có kích thước cố định, bị tràn.
Hãng Cisco có phát triển DAI (Dynamic ARP Inspection) trên dòng Switch Catalyst 6500 để phòng chống các nguy cơ tấn công spoofing lớp 2 và lớp 3, trong đó có ARP spoofing.
Hãng Avaya sử dụng giải pháp Media Encryption, mã hóa bằng AES, để tránh việc thông tin bị giải mã khi bị nghe trộm.
DoS (Denial of Service)
Kiểu tấn công từ chối dịch vụ là kiểu tấn công nhằm vào hệ thống máy chủ, làm chúng không còn khả năng đáp ứng yêu cầu của client do có quá nhiều yêu cầu, và vì vậy làm đứng máy chủ hoặc mất kết nối.
Về bản chất, kẻ tấn công chiếm dụng tài nguyên như băng thông, bộ nhớ, CPU,… của máy chủ làm chúng không có khả năng xử lý dịch vụ.
Một số cách tấn công gây ra DoS:
SYN Flood
UDP Flood
Spam
DDoS (Distributed DoS): kẻ tấn công xâm nhập vào hệ thống kém bảo mật và cài chươngtrình điều khiển từ xa hay các virus lây nhiễm vào các máy con và các máy con này trở thành các zombie. Như vậy, kẻ tấn công có thể huy động từ xa nhiều máy tấn công vào cùng một đích tại một thời điểm. Kiểu tấn công này rất nguy hiểm, nó có thể đánh sập một hệ thống lơn trong một thời gian ngắn.
Lỗ hổng với IP phone và Soft phone
Tấn công Ip phone/softphone xảy ra rất thường xuyên do giá cả rẻ và dễ dàng mua một IP phone và thiết lập nhiều kiểu tấn công. Những lỗ hổng chính:
DoS: nhiều IP phone của Cisco bị khởi động lại do bị DoS. Các HTTP request cũng có thể kết thúc một cuộc gọi.
Truy nhập bất hợp pháp: có thể cấu hình phone như là man-in-the-middle-attack proxy để lấy quyền truy nhập tới tất cả luồng báo hiệu và luồng dữ liệu.
Tấn công vào giao thức IP phone cài đặt: Khi sử dụng SIP cho IP phone, có thể gửi yêu cầu CANCEL hay BYE để DoS một trong hai IP phone.
Worm, virus, và các đoạn mã độc: các softphone thường bị virus từ môi trường IP. Có thể khắc phục bằng cách tách mạng thoại và mạng dữ liệu một cách luận lý ra riêng. Nhưng dùng hệ thống soft phone không phù hợp với mục đích chia tách này.
Nâng cấp: Do IP phone có thể cài đặt được thông qua TFTP không bảo mật có thể bị lây nhiễm Trojan.
Spam trong VoIP
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 giống các như e-mail spam, hầu hết đều với mục đích bán sản phẩm, quảng cáo,…. Phương pháp Spam là dùng các đoạn script tự động để thực hiện các 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.
Khác với email-spam, các cuộc gọi SPIT sẽ được nhận hoặc chuyển sang hộp thư thoại. Nhận SPIT tốn thời gian và có thể gây nghẽn. Cũng như email-spam, ta cần chặn voice spam. Tuy nhiên, chặn SPIT khó khăn hơn rất nhiều vì rất khó phân biệt được cuộc gọi bình thường và cuộc gọi SPIT vì thông tin về người gọi chỉ được tiết lộ một khi cuộc gọi đã được thiết lập và bắt đầu gửi thư thoại.
Chương 3: HỖ TRỢ BẢO MẬT TRONG H.323 VÀ SIP
Do các điểm yếu bảo mật tồn tại trong bản thân của H.323 và SIP, người ta đưa ra các hỗ trợ bảo mật cho các giao thức này. Tùy vào yêu cầu khả năng của mạng mà áp dụng các hỗ trợ bảo mật này.
Hỗ trợ bảo mật cho H.323
H.235 ver 2
H.235v2 là một khuyến nghị của ITU-T, hỗ trợ tính năng bảo mật cho H.323 về chứng thực và đảm bảo tính riêng tư.
Chứng thực: Quá trình chứng thực là xác định các bên tham gia cuộc gọi là ai. Có hai phương thức chứng thực là khóa chia sẻ và khóa công khai dựa vào chứng chỉ. Chứng thực có thể là đơn hướng hay song hướng. Quá trình này thường diễn ra giữa EP và Gateway hoặc GK.
H.235 cũng sử dụng các giao thức khác hỗ trợ bảo mật như IPsec và TLS. Để chứng thực cuộc gọi, kênh điều khiển cuộc gọi (H.245) phải được bảo mật vì những thông tin truyền trên kênh này bao gồm các bản tin thỏa thuận các thuật toán mã hóa và khóa mã hóa.
H.235v2 gồm có các profile:
Base-line security profile
EP và GK dùng chung một khóa mật cho mã hóa, khóa này được lưu trong BES. Khi EP đăng ký với GK thì GK yêu cầu khóa mật từ BES, dùng nó để xác định các bản tin được gửi từ EP và tính toán ra thẻ bài cho các bản tin mà GK gửi đến EP. Các thẻ bài này là các giá trị được tính toán bởi thuật toán đi cùng bản tin kết hợp với khóa mật. Thẻ bài sau khi được tính toán sẽ đính vào bản tin. EP sẽ xác thực bản tin từ GK bằng khóa mật.
Phương thức chứng thực này hoạt động hop-by-hop. Tại mỗi hop, thông tin chứng thực được xác nhận và tính lại.
Chức năng của dạng profile này chia làm 2 phần:
+ Phần cho báo hiệu cuộc gọi (H.225 và H.245): đây là chức năng chính, đảm bảo chứng thực và toàn vẹn dữ liệu.
+ Phần mã hóa thoại: đây là chức năng tùy chọn.
Đặc điểm
RAS
H225
H245
RTP
Chứng thực
HMAC-SHA1-96
Password
HMAC-SHA1-96
Password
HMAC-SHA1-96
Password
Toàn vẹn
HMAC-SHA1-96
Password
HMAC-SHA1-96
Password
HMAC-SHA1-96
Password
Điều khiển truy nhập
168 bit 3DES
Quản lý khóa
Subscription-based password
Subscription-based password/Diffie Hellman
Intergrated H.235
Bảng 3- 1: H.235 Annex D Baseline security profile
Signature profile:
Profile này dùng chữ ký số và không cần chỗ lưu khóa mật nên giải pháp này linh động và thích hợp hơn. Phương pháp chứng thực cho user là bằng chứng chỉ, quá trình xác thực certificate giúp tránh bị tấn công theo kiểu man-in-the-middle-attack. Phương thức này còn đảm bảo tính chất không thể chối cãi.
Đặc điểm
RAS
H225
H245
Chứng thực
SHA1/MD5
Digital signature
SHA1/MD5
Digital signature
SHA1/MD5
Digital signature
Toàn vẹn
SHA1/MD5
Digital signature
SHA1/MD5
Digital signature
SHA1/MD5
Digital signature
Quản lý khóa
Certificate allocation
Certificate allocation
Bảng 3- 2: H.235 Annex E: Signature profile
Hybird Security Profile (H.235 Annex F)
Profile này là kết hợp giữa H.325 Annex D và H.235 Annex E. Chứng chỉ và chữ ký số dùng để chứng thực, đảm bảo toàn vẹn và chống chối bỏ trong quá trình bắt tay giữa các thành phần trong H.323. Cuộc gọi trong giải pháp này phải được định tuyến qua GK.
H.235 Annex G
Profile này hỗ trợ SRTP và MIKEY.
SRTP: là phương thức hỗ trợ bảo mật cho RTP, nó cung cấp khả năng chứng thực, sự tin cậy và chống replay attack.
MIKEY: do SRTP không có một cơ chế quản lý khóa nên phải dùng MIKEY, một cơ chế quản lý khóa độc lập, để hỗ trợ.
H.235 Annex H
Khi EP tìm kiếm và đăng ký với GK trên kênh RAS, khóa thỏa thuận sẽ được quản lý và bảo mật bằng giải thuật DH trong các bản tin GRQ, GCF.
H.235 Annex I
Áp dụng cho kiểu định tuyến trực tiếp giữa hai EP. GK lúc này đóng vai trò phân phối khóa bằng thẻ bài. Có một thẻ bài chứa khóa mã hóa cho người gọi và một thẻ cho người bị gọi, ngoài ra còn có một thẻ mang khóa phiên, xác định phiên kết nối.
Hỗ trợ bảo mật cho giao thức SIP
Để bảo mật các dịch vụ SIP, IETF phát triển ba giao thức TLS, S/MIME và SRTP là những lớp hỗ trợ bảo mật thêm vào cho các giao thức của SIP chứ không phải hoàn toàn là 1 giao thức bảo mật.
Hình 3- 1: Các lớp bảo mật hỗ trợ cho các giao thức của SIP
Công cụ bảo mật
Phương thức chứng thực
Tính tin cậy
Toàn vẹn
S/MIME
PKI
Có
Có
TLS
PKI
Có
Có
HTTP Digest
Pre-shared key
Không
Không
Bảng 3- 3: Các hỗ trợ bảo mật cho SIP
TLS: Trao đổi khóa và bảo mật cho các gói tin báo hiệu
TLS dựa trên SSL ver 3, chuẩn hóa bởi IETF. TLS cung cấp một kênh bảo mật, trong suốt giữa hai đầu cuối. “Trong suốt” ở đây có nghĩa 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 trên TCP cũng có thể chạy 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.
Nhìn chung, TLS được chọn để bảo mật các bản tin báo hiệu của SIP. SDU (Service Data Unit) từ lớp trên được mã hóa trước khi truyền đi, còn phía bên kia PDU (Protocol Data Unit) được giải mã và chuyển lên lớp bên trên. Hai phía đều phải có chứng chỉ hợp lệ do CA (Certificate Authority) cấp cho quá trình bắt tay của TLS.
Chứng chỉ và trao đổi khóa
Quá trình bắt tay giữa client và server nhằm thương lượng các thuật toán bảo vệ dữ liệu và tạo một số khóa mật mã dùng bởi các thuật toán này.
Hình 3- 2: Quá trình bắt tay giữa client và server trong SSL
Bản tin ClientHello và ServerHello 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 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 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 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 mật Pre-Master và dùng cùng KDF để tạo ra ma
Các file đính kèm theo tài liệu này:
- Bao mat VoIP.doc
- thongtintacgia.doc