Chương I : TỔNG QUAN VỀ VoIP.
I. I. Giới Thiệu Về VoIP.
1.Lịch Sử Phát Triển và Nguyên Tắc Hoạt Động của VoIP
2. Những Thuận Lợi và Khó Khăn Của VoIP.
I. II. Tổng Quan Về Thiết Bị
1. Cấu Hình Mạng Điện Thoại IP.
2. Chức Năng Của Các Thiết Bị và Phần Tử Trong Mạng Điện Thoại IP
3. Các Kiểu Kết Nối Sử Dụng VoIP
I. Điều Khiển Dữ Liệu Trong VoIP.
I. Các ứng Dụng Của VoIP.
1. Fax over IP
2. Hội nghị trực tuyến.
3. Thoại thông minh.
Dịch vụ tính cước cho thuê bao bị gọi
1. Dịch vụ Callback Web.
Chương II: CÁC GIAO THỨC BÁO HIỆU CỦA VoIP
I. Giới Thiệu Mô Hình OSI và TCP/IP
1. Mô Hình OSI.
1. Mô Hình TCP/IP.
I. Giao Thức SIP.
1. Tổng Quan Về Giao Thức SIP.
1. Hoạt Động Của SIP
1. Các Thành Phần Trọng Một Mạng SIP.
1. Các Thông Điệp Của SIP.
II. Bộ Giao Thức H.323.
III. So sánh SIP với H.323
Chương III : VẤN ĐỀ BẢO MẬT TRONG VoIP
I. Lỗ Hổng Bảo Mật trong Hệ thống VoIP.
1. Lỗ Khổng Do Mạng Và Môi Trường
2. Lỗ Hổng Đối Với SIP.
3. Lỗ Hổng Về Bảo Mật Đối Với Hệ Thống H.323
II. Hỗ Trợ Bảo Mật Cho Các Giao Thức Báo Hiệu VoIP.
1. Hỗ Trợ Bảo Mật Cho Mạng H.323
2. Hỗ Trợ Bảo Mật Cho Giao Thức SIP.
III. Một Số Giải Pháp Bảo Mật Cho Hệ Thống VoIP.
1. VLAN
2. VPN
3. Firewalls
4. NAT (Network Address Translation)
5. Một số chú ý khi sử dụng NAT và firewall trong hệ thống VoIP.
6. IDS (Intrusion Detection System)
Chương IV : QoS TRONG MẠNG VoIP
I. Các Yếu Tố Ảnh Hưởng Đến Chất Lượng VoIP.
II. Qos Trong Mạng VoIP.
III. Đánh Giá chất lượng dịch Vụ VoIP.
IV. Xu Hướng Phát Triển Và Tổng Kết Đánh Giá
Kêt luận
34 trang |
Chia sẻ: lvcdongnoi | Lượt xem: 3985 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Nghiên cứu về VoIP, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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 toà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. Dưới đây là một vài ví dụ tấn công DoS đối với dịch vụ VoIP.
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ì hoã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. Ví dụ, nếu một người tấn công đổi thẻ 802.1Q VLAN hoặc bit To Strong trong gói IP, cũng giống như là người đứng giữa (man-in-the-middle) hay sự thỏa hiệp trong cấu hình thiết bị đầu cuối, người tấn công có thể sẽ phá vỡ chất lượng dịch vụ của mạng VoIP. Do lưu lượng thoại phụ thuộc vào lưu lượng dữ liệu nên về căn bản, kẻ tấn công có thể trì hoãn việc phân phát các gói 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. Ví dụ khi RTP được dùng mà không có sự xác thực của gói RTCP (và cả không có sự lấy mẫu của SSRC), kẻ tấn công có thể tiêm thêm các gói RTCP vào nhóm multicast với SSCR khác, mà điều này có thể làm tăng số lượng nhóm theo hàm mũ.
Tấn công DoS vào các dịch vụ bổ xung (DoS against supplementary services): khởi đầu tấn công DoS là chống lại các dịch vụ mạng khác mà dịch vụ VoIP có mối liên hệ ( ví dụ: DHCP, DNS, BOOTP). Ví dụ trong mạng mà đầu cuối VoIP dựa vào địa chỉ đăng ký DHCP, làm mất khả năng của DHCP server ngăn chặn điểm cuối lấy được địa chỉ và các thông tin định tuyến cần thiết dùng cho dịch vụ VoIP.
Thông điệp giả (Bogus 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 đầ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 (ví dụ trong H.323, các gói GRQ, RRQ, URQ sẽ được gửi đến UDP/1719). 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 mạng. Do đó không thể dung 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 lien quan có thể trở thành mục tiêu của kiểu tấn công DoS này.
Sự thực thi giao thức VoIP (VoIP Protocol Implementation) : gửi đến server VoIP hoặc đầu cuối những gói tin không hợp lệ để có thể khai thác những điểm yếu trong sự thực thi giao thức VoIP và tạo nên tấn công DoS. Ví dụ, CVE-2001-00546 đề cập đến việc sử dụng các gói H.323 “xấu” để khai thác lỗ hỏng bộ nhớ ISA của Window. CAN-2004-0056 sử dụng các gói H.323 như trên để khai thác điểm yếu của Nortel BCM. Nếu như không thường xuyên cập nhập phần mềm một cách hợp lý thì sẽ tăng rủi ro cho hệ thống
Gói tin không hợp lệ (Invalid Packet DoS): gửi đến VoIP server và đầu cuối những gói không hợp lệ để khai thác hệ điều hành thiết bị và TCP/IP để thực hiện từ chối dịch vụ CVEs. Theo sự mô tả của CAN-2002-0880, dùng jolt có thể bẻ gãy Cisco IP phone và sự phân đoạn thong thường dựa trên các phương thức DoS khác.
Một số cách tấn công chặn và cướp cuộc gọi.
Tấn công replay.
Tấn công replay là tấn công chủ động hướng về nghi thức. Đặc trưng của cách tấn công là này giành được gói dữ liệu gửi hoặc nhận đến host. Kẻ tấn công sửa đổi chúng và sử dụng lại để truy cập vào một số dịch vụ nào đó. Một ví dụ tương ứng với loại thoại IP là kẻ tấn công đạt được trong tay các gói dữ liệu gửi từ một user có quyền để thiết lập cuộc gọi và gửi lại chúng sau khi đã sửa đổi địa chỉ nguồn và IP. Nó có thể bị ngăn chặn bằng cách thực thi hai dịch vụ bảo mật nhận thực thực thể ngang hàng (peer entity authencation) và tính toàn vẹn dữ liệu.
Tấn công tràn bộ đệm.
Đây là phương thức tấn công phổ biến. Đây là kết quả chính của việc phát triển phần mềm không đúng lúc. Kỹ thuật này lợi dụng trên thực tế là có một vài lệnh không kiểm tra đầu vào dữ liệu. Chúng được ứng dụng đặc biệt để xâu chuỗi xử lý các lệnh. Quá trình gia nhập với nhiều đầu vào, các lệnh hay là các chương trình có khả năng làm cho bộ nhớ hệ thống bị viết đè lên. Nội dung của bộ nhớ này có thể bắt đầu hoặc quay trở lại địa chỉ của các chương trình subroutine. Trường hợp xấu nhất người tấn công có thể thêm vào đoạn code hiểm để cung cấp cho anh ta các quyền quản lí của hệ thống. Biện pháp đối phó là huỷ tất cả các code “yếu”, chính các lỗ hỗng nhận thức được chứa trong các hệ thống hoạt động và các chương trình ngôn ngữ.
Tấn công man in the middle.
Trong tấn công man in the middle người tấn công quản lý để cắt đứt kết nối giữa hai bên gọi. Cả hai bên tham gia kết nối này đều nghĩ rằng chúng truyền thông với nhau. Thực tế, tất cả các dữ liệu được định tuyến qua người tấn công. Hacker đã hoàn thành việc truy cập để thay thế các dữ liệu bên trong. Hacker có thể đọc chúng, thay đổi chúng hoặc và gửi chúng như là dữ liệu của anh ta. Thực tế hacker được xác định ở vị trí ở giữa của hai bên truyền thông mang lại cho người tấn công tên của hai bên truyền thông. Một ví dụ cho tấn công này là thiết lập của việc bảo đảm kết nối được sử dụng bởi bảo mật lớp dữ liệu. Điểm yếu của TLS là nguyên nhân của việc thiết lập phiên này. Ở đây hai bên truyền thông có thể trao đổi hai khóa. Khóa này được đổi có khả năng làm cho người tấn công có thể ở giữa hai bên truyền thông.
Hình 3.6 : Tấn Công man in the middle
Chặn và đánh cắp cuộc gọi.
Nghe trộm và đánh chặn cuộc gọi là vấn đề liên quan đến mạng VoIP, định nghĩa nghe lén có nghĩa là một người tấn công có thể giám sát toàn bộ báo hiệu hoặc dòng dữ liệu giữa hai hoặc nhiều đầu cuối VoIP, nhưng không thể biến đổi dữ liệu. Đánh cắp cuộc gọi thành công tương tự như việc nghe trộm trên dây nối, cuộc gọi của hai bên có thể bị đánh cắp, ghi lại, và nghe lại mà hai bên không hề biết. Rõ ràng người tấn công mà có thể đánh chặn và chứa dữ liệu này có thể sử dụng dữ liệu này cho mục đích khác phục vụ cho mục đích của anh ta.
Đánh lừa ARP (ARP Spoofing).
ARP là giao thức cơ sở Ethernet. Có lẽ do nguyên nhân này, thao tác vào các gói ARP là kỹ thuật tấn công thường thấy trong mạng VoIP. Một vài kỹ thuật hay công cụ hiện tại cho phép bất kỳ user nào có thể tìm ra lưu lượng mạng trên mạng bởi vì ARP không có điều khoản cho câu hỏi nhận thực và câu hỏi trả lời. Thêm vào đó, bởi vì ARP là một giao thức stateless, hầu hết các hệ thống hoạt động cập nhật cache của nó khi mà nhận một lời đáp ARP, bất chấp nó được gởi đi từ một yêu cầu thực tế hay không. Trong số những tấn công này, chuyển hướng ARP, đánh lừa ARP, đánh cắp ARP và đầu độc cache ARP là các phương pháp để phá hoại quá trình ARP bình thường. Trong các mạng VoIP đánh lừa ARP là cơ sở để kẻ tấn công có thể thực hiện các cách tấn công khác nhau nhằm mụch đích quấy dối người sử dụng hoặc gây thiệt hai cho các nhà cung cấp dịch vụ:
Tấn công đánh lừa đầu cuối VoIP (Rogue VoIP Endpoint Attack): giả mạo đầu cuối EP giao tiếp với các dịch vụ VoIP bằng cách dựa trên các đánh cắp hay ước đoán các nhận dạng, các uỷ nhiệm hoặc các truy cập mạng. Ví dụ, một đánh lừa đầu cuối EP có thể sử dụng các jack không được bảo vệ hay tự động đăng ký thoại VoIP để có thể vào mạng. Ước chừng mật mã có thể được sử dụng để giả dạng như là một đầu cuối hợp pháp. Việc quản lí các tài khoản không chặt chẽ có thể gia tăng nguy cơ của việc lợi dụng này.
Cướp đăng ký (Registration Hijacking): cướp đăng ký xảy ra khi một người tấn công mạo nhận là một UA có giá trị để giữ và thay thế đăng ký với địa chỉ của mình. Các tấn công này là nguyên nhân của việc tất cả các cuộc gọi đến được gởi đến người tấn công.
Giả mạo uỷ nhiệm: Giả mạo uỷ nhiệm xảy ra khi một người tấn công đánh lừa một uỷ nhiệm (proxy) trong việc truyền thông với một proxy giả.. Nếu một người tấn công thành công trong việc giả mạo uỷ nhiệm, anh ta có thể truy cập vào tất cả các thông điệp SIP.
Lừa tính phí: giả mạo đầu cuối VoIP sử dụng server VoIP để đặt việc tính phí bất hợp pháp của cuộc gọi qua PSTN. Ví dụ, các điều khiển truy cập không đầy đủ có thể cho phép các thiết bị giả đặt phí của các cuộc gọi bằng cách gởi yêu cầu VoIP đến các ứng dụng tiến hành cuộc gọi. Các server VoIP có thể bị hack trong các thủ tục để tiến hành cuộc gọi miễn phí đến đích bên ngoài.
Xáo trộn thông điệp: bắt giữ, sửa đổi, và sắp đặt để không xác thực các gói VoIP đến đầu cuối. Các tấn công này có thể xảy ra qua việc đánh cắp đăng nhập, giả mạo uỷ nhiệm, hay tấn công trên bất kỳ một thành phần VoIP thực nào mà tiến hành các thông điệp SIP hay H.323, như là server proxy, registration, media gateway, hay các bức tường lửa.
Các tấn công liên quan đến dịch vụ điện thoại.
Để đảm bảo thông suốt trong hệ thống VoIP thì các hệ thống điện thoại kết nối vào phải hoạt động một cách thông suốt. Đây cũng có thể là mục tiêu của attacker. Các dịch vụ liên quan đến dịch vụ này gồm có :
Voicemail.
Caller ID
International calling
Telephone number
Call waiting
Call transfer
Location
Confidentiality of signaling hoặc media streams
Lawful intercept
Emergency services
Ví dụ với :
Voicemail: Tấn công một cách đơn giản có thể là đoán mật khẩu hay brutefore nếu mật khẩu không đủ mạnh. Một số hành động của attacker là xóa tin nhắn, thay đổi thông tin cá nhân, chuyển cuộc gọi đến một số khác,…
Caller ID : Các tấn công phổ biến là dùng spoofing ID nhằm lấy các thông tin cá nhân.
Follow-me service : kẻ tấn công sử dụng phương pháp hijack để chen ngang vào cuộc gọi.
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.
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 3.7 : 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.
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 3.8 : 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.
Hỗ Trợ Bảo Mật Cho Các Giao Thức Báo Hiệu VoIP.
Hỗ Trợ Bảo Mật Cho Mạng 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 thuộc tính bảo mật sau:
Thuộc tính bảo mật cơ bản.
Endpoint và Gatekeeper dùng chung một khóa mật cho mã hóa, khóa này được lưu trong BES. Khi Endpoint đăng ký với Gatekeeper thì Gatekeeper 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ừ Endpoint và tính toán ra thẻ bài cho các bản tin mà Gatekeeper gửi đến Endpoint. 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. Endpoint sẽ xác thực bản tin từ Gatekeeper 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.
Bảng 3-1 : Các thuộc tính bảo mật cơ bản cho từng loại báo hiệu H.323
Đặ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-96Password
Điều khiển truy nhập
168bit 3DES
Quản lý khóa
Subscription-based password
Subscription-based password/Diffie Hellman
Intergrated H.235
Chữ ký điện tử.
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.
Bảng 3-2 : Thuộc tính bảo mật chữ ký điện tử cho các loại báo hiệu H.323
Đặ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
Thuộc tính bảo mật Hybird.
Thuộc tính này là kết hợp giữa thuộc tính bảo mật cơ bản và chữ ký điện tử. Chứng thực 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 Gatekeeper.
H.235 Annex G.
Thuộc tính 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 .
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 Endpoint tìm kiếm và đăng ký với Gatekeeper 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 Endpoint. Gatekeeper 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.235v3.
H.235v3 được phát triển để thay thế cho H.235v2 với đặc trưng là một thủ tục mã hóa cho tín hiệu DTMF, mục là sử dụng thuật toán mã hóa AES cho các lưu lượng truyền thông và phản hồi từ xa được nâng cao. Hơn nữa, xác thực làm tăng tính mềm dẻo cho dữ liệu khi đi qua NAT/firewall, thuộc tính này hỗ trợ rất tốt trong trường hợp các cuộc gọi định tuyến trực tiếp.
H.235v3 bao gồm các thuộc tính bảo mật sau :
1.2.1 Tăng cường thuộc tính bảo mật cơ bản.
Trong H.235v3 thuộc tính này sử dụng tính toàn vẹn và nhận thực bản tin một cách hợp lý thông qua việc tính toán một giá trị kiểm tra tính toàn vẹn trên bản tin. Hoặc sự nhận thực được xác định bởi tính toán một kiểm tra toàn vẹn trên một phần thông điệp. Với thuộc tính này thì phương pháp bảo mật sử dụng NAT và Firewall
Bảng 3-3 :thuộc tính bảo mật cơ bản của H.235v3
Đặc điểm
RAS
H225
H245
Chứng thực
Shared Secret
HMAC-SHA1-96
Shared Secret
HMAC-SHA1-96
Shared Secret
HMAC-SHA1-96
Toàn vẹn
Shared Secret
HMAC-SHA1-96
Shared Secret
HMAC-SHA1-96
Shared Secret
HMAC-SHA1-96
Quản lý khóa
Subscription-based password assignment
Subscription-based password assignment
Cách sử dụng SRTP và MIKEY.
Phương pháp này kết hợp quản lý khóa hỗ trợ cho giao thức truyền tải thời gian thực bảo mật SRTP. SRTP cung cấp sự tin cậy, chứng thực bản tin và bảo vệ việc chuyền lại cho các lưu lượng RTP và RTCP. SRTP có thể sử dụng với các phiên đa truyền thông để đảm bảo một trao đổi dữ liệu truyền thông bảo mật. SRTP có thể được sử dụng trong các giao thức báo hiệu H.323 và SIP. SRTP không định nghĩa việc quản lý khóa bởi chính nó mà nó sử dụng các thông số đàm phán từ các khóa phiên để mật mã, chứng thực và bảo vệ toàn vẹn các thông điệp do vậy các khóa này không cố định mà có thể thay đổi.
MIKEY hỗ trợ đàm phán khóa mật mã và các thông số bảo mật cho một hoặc nhiều giao thức bảo mật. MIKEY được đưa ra từ khái niệm cá gói phiên bí mật, mà mô tả như một tập hợp các phiên bí mật có khóa mật mã lưu lượng chung TEK (Traffic Encryption), khóa phát sinh lưu lượng TGK (Traffic Generation Key) và các thông số bảo mật phiên.
MIKEY định nghĩa ba lựa chọn cho việc xác thực người sử dụng và đàm phán khóa chủ :
Phân bổ khóa đối xứng
Phân bổ khóa không đối xứng
Sử dụng khóa Diffie Hellman để bảo vệ bởi chữ kí số
Quản lý khóa RAS
Ý tưởng chính trong phương pháp này là đàm phán quản lý khóa trong quá trình RAS Gatekeeper ở giai đoạn khám phá. Trong quá trình gatekeeper khám phá một Shared Secret được thiết lập giữa điểm đầu cuối và gatekeeper. Việc đàm phán Shared Secret có thể được bảo vệ bằng PIN hoặc Password trong quá trình khởi tạo phase của giao thức.
Hai giao thức cho trao đổi khóa bí mật sử dụng một Shared Secret như là trao đổi khóa Diffie-Hellman. Đầu tiên là trao đổi khóa Diffie-Hellman, ở đây Shared Secret được sử dụng để mật mã khóa công cộng dưới thuật toán đối xứng. Thứ hai là một password đơn để xác thực trao đổi khóa theo hàm mũ, ở đây Shared Secret hình thành một nhóm Diffie-Hellman. Cách sử dụng các giao thức này làm tăng hiệu quả cho việc trao đổi khóa Diffie Hellman.
PIN và password sử dụng để bảo vệ việc trao đổi thông số của hệ thống khóa công cộng bằng việc mật mã sử dụng thuật toán đối xứng trong chế độ CBC.
TLS sử dụng để bảo vệ phase báo hiệu cuộc gọi. Đàm phán RAS thay thế bởi giao thưc bắt tay TLS, cách này chỉ sử dụng trong trường hợp báo hiệu định tuyến qua Gatekeeper. Trong liên kết các gatekeeper việc chứng thực và báo hiệu sử dụng trao đổi LRQ/LCF.
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.
VoIP Application
RTP
SIP
SRTP
TLS Þ
UDP
TCP
IP
MAC
Þ : PKI certificate
Hình 3.9 : Các lớp bảo mật hỗ trợ cho các giao thức của SIP
Bảng 3-4 : Các hỗ trợ bảo mật cho 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
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.10 : 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 master key.
Client dùng master key tạo ra tạo ra MAC (Message Authentication Code) của toà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 toà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.
Cả client và server kiểm tra tính toàn vẹn của giá trị MAC với các bản tin chúng đã gửi. Nếu đúng thì cả hai có chung Khóa mật Master
Hình 3.11 : Dữ liệu lớp trên đóng gói bởi TLS/SSL
Bảo mật cho gói tin thoại/video SRTP
SRTP : là giao thức phát triển hỗ trợ cho RTP để mã hóa, chứng thực bản tin, chống nghe lén. Nó nằm giữa lớp ứng dụng RTP và lớp vận chuyển RTP. SRTP cũng có SRTCP, hỗ trợ các chức năng bảo mật cho RTCP. SRTP mã hóa các gói thoại dùng AES, thuật toán mã hóa dùng khóa đối xứng và có khả năng nén RTP header. Phần tải RTP được mã hóa sau đó đóng gói vào trong gói SRTP.
Nhược điểm: mất thời gian xử lý hơn nên có thể tăng trễ.
Điều quan trọng nhất trong SRTP là sự an toàn của khóa trao đổi giữa hai bên bao gồm: địa chỉ IP, số port UDP, SSRC. Cài đặt khóa cho tất cả các máy điện thoại thì quá phức tạp, vì vậy RTP và SRTP nên ở chung một lớp hơn là hai lớp tách biệt.
MIKEY
Là một giải pháp quản lý khóa. Nó có ba cách vận chuyển và thiết lập khóa mã hóa TEK: preshared key, public key và DH (Diffie Hellman). Với preshared key, public key thì khóa được đưa tới người nhận một cách an toàn, còn với DH thì khóa được sinh ra dựa trên các giá trị trao đổi giữa hai bên.
SDP Security Descriptions
SDP Security Descriptions là thuộc tính mới của SDP, dùng để báo hiệu và thương lượng các thông số mã hóa cho luồng SRTP, gồm: bộ mật mã, thông số khóa, thông số phiên cho luồng unicast.
a=crypto: []
Trong đó:
: số thập phân, nhận dạng thuộc tính crypto
thuật toán chứng thực và mã hóa
phương thức và thông tin khóa thực sự
thông số tùy chọn chỉ giao thức vận chuyển
Thuộc tính này chỉ hạn chế cho các luồng unicast, các dịch vụ bên dưới của giao thức vận chuyển (IPsec, TLS, S/MIME) bảo đảm cho thuộc tính này của SRTP.
Ngoài TLS và SRTP còn phải có các thuật toán khác hỗ trợ chứng thực user, xác thực chứng chỉ, trao đổi khóa mã hóa.
Bảo đảm sự tin cậy
Sự tin cậy được bảo đảm bằng cách mã hóa tải mà chỉ có người có khóa mới đọc được.
Hình 3.12 : Mã hóa trong SRTP
Giá trị khởi tạo ban đầu + khóa = 128 bit block Bi,j (giá trị khởi tạo ban đầu được tính bằng 48 bit chỉ số gói, 32 bit SSRC, 112 bit salting key dịch trái và XOR). Mỗi một block 128 bit này XOR với 1 block plaintext RTP để tạo ra 1 block cipher text.
Chứng thực bản tin
Toàn vẹn bản tin được đảm bảo nhờ hàm hash.
Hình 3.13 : Chứng thực gói SRTP
HMAC-SHA1 băm header và phần tải với khóa mật. Giá trị này là thẻ chứng thực của người gửi. Người nhận cũng tính toán tương tự và so sánh với thẻ, nếu không đúng thì chứng thực thất bại và gói bị bỏ.
Replay Protection
ROC và sliding window được dùng để chống ghi lén. 16 bit số thứ tự trong header và 32 bit ROC trong bảng mật mã tạo thành 48 bit, là chỉ số của gói. Chỉ số gói được mã hóa cùng với các thông số khác để tạo các chuỗi khóa.
Hình 3.14 : Chống ghi lại bằng Sliding Window
Chỉ số gói nhận được phải nằm trong phạm vi của sliding window và bit Received tương ứng phải là thứ tự gói xử lý tiếp theo, nếu không gói sẽ bị hủy. Nếu kẻ tấn công chọn một số ngẫu nhiên, kích thước cửa số là 64 thì 99% (1-64/216) gói bị hủy.
2.5 S/MIME: Chứng thực bản tin
S/MIME mã hóa bằng khóa công khai, đóng gói theo định dạng MIME. Cung cấp các dịch vụ bảo mật cho các ứng dụng bản tin (HTTP, SIP) như: chứng thực, toàn vẹn bản tin, không chối cãi (nếu dùng chữ ký số), an toàn dữ liệu (do được mã hóa).
SIP gồm có header và phần bản tin SDP. Phần bản tin SDP được mã hóa bằng S/MIME, tuy nhiên các trường trong header như To, From, Call-ID, Cseq và Contact là cần thiết đối với các thành phần trung gian như SIP proxy server, firewall, UAS để thiết lập một cuộc gọi được yêu cầu nên nó phải ở dạng plaintext.
Hình 3.15 : Quá trình gửi bản tin của S/MIME
Quá trình trao đổi khóa và bản tin giữa hai hệ thống:
Bản tin gốc được băm bằng một thuật toán băm, nếu không có quá trình này thì sẽ mất nhiều thời gian xử lý hơn khi ký số vì bản tin quá dài.
Alice ký bản tin được băm bằng thuật toán chữ ký số và đính chữ ký đó kèm theo bản tin gốc.
Một session key được sinh ra ngẫu nhiên để mã hóa bản tin, chứng chỉ và chữ ký bằng một thuật toán mã hóa.
Key session được mã hóa bằng public key của Bob dùng thuật toán mã hóa public key, rồi đính kèm bản tin đã được mã hóa.
Phía bên nhận, dùng private key của Bob và cùng thuật toán mã hóa để giải mã ra session key.
Dùng session key vừa giải mã được giải mac cho bản tin, chứng chỉ và chữ ký số.
Bob kiểm tra xem bản tin có phải gửi từ Alice không và nó có bị thay đổi khi truyền không bằng cách:
Dùng thuật toán băm như bước 1
Bob xác nhận chứng chỉ của Alice là hợp lệ
Dùng thuật toán trong bước 2, giá trị băm được ký bởi public key của Alice.
Chữ ký được so sánh với chữ ký nhận được, nếu không đúng thì bản tin đã bị can thiệp.
Một Số Giải Pháp Bảo Mật Cho Hệ Thống VoIP.
Ngoài các hỗ trợ cho bản thân các giao thức VoIP thì hệ thống VoIP còn có các hỗ trợ bảo mật của chính các công nghệ bảo mật cho mạng Internet. Các công nghệ này không phải là những giải pháp tối ưu nhưng nó góp phần giải quyết những vấn đề trong mạng VoIP.
VLAN
Sự tích hợp thoại, dữ liệu và video trên cùng một mạng làm cho sự bảo mật của hệ thống VoIP cũng bị ảnh hưởng bởi các dịch vụ khác. Để có thể giải quyết được vấn đề này ta tách biệt về luận lý giữa các dịch vụ bằng VLAN
Hình 3.16 : Voice VLAN
Hình 3.16 là một ví dụ về ứng dụng kỹ thuật VLAN vào việc chia lưu lượng thoại và lưu lượng dữ liệu. Trong đó VLAN 20 được cấu hình cho các PC truyền thông dữ liệu, còn VLAN 150 được cấu hình cho IP Phone truyền thông lưu lượng thoại. Trên hình PC5 được nối với IP Phone, IP Phone được nối với Switch S3, port F0/18 trong S3 được cấu hình cho chế độ thoại. Khi có lưu lượng thoại đi đến S3 thì các lưu lượng thoại sẽ được đánh dấu bởi chỉ số “tag” vào khung lớp hai sau đó sẽ được chuyển qua port F0/18 đến IP Phone. Còn trong trường hợp lưu lượng dữ liệu bình thường thì không cần đánh chỉ số “tag” vào khung lớp hai và lúc này IP Phone làm nhiệm vụ chuyển tiếp khung dữ liệu tới các PC.
Hình 3.17 : Chi tiết IP Phone
Lợi ích của VLAN:
Giảm lưu lượng broadcast và multicast vì chỉ có các máy trong cùng một VLAN mới có thể thông tin được với nhau. VLAN được cấu hình trên switch.
VLAN dễ dàng quản lý, giúp quản lý thiết bị một cách tập trung. VLAN có thể sắp xếp và quản lý các PC hay softphone dựa vào chức năng, lớp dịch vụ, tốc độ kết nối hoặc những tiêu chuẩn khác.
Giảm delay và jitter, do đó cải thiện QoS.
Hệ thống VoIP có thể bị ảnh hưởng bởi sự thiếu bảo mật của các dịch vụ khác của mạng dữ liệu.
Hình 3.17 : VLAN phân theo chức năng
VLAN góp phần trong bảo mật hệ thống VoIP. Lưu lượng giữa các VLAN được đảm bảo (trừ khi sử dụng router). Nó làm giảm các broadcast lưu lượng trên mạng mà điện thoại phải nhận.
Quản lý lưu lượng bằng VLAN giúp cho lưu lượng SNMP và syslog không bị nhiễu với dữ liệu, dễ dàng hơn trong việc quản lý mạng.
VLAN còn làm giảm nguy cơ DoS. Do muốn liên lạc giữa các VLAN thì phải đi qua lớp mạng, các lưu lượng này sẽ bị lọc bởi các ACL trên lớp mạng.
Để bảo đảm an toàn cho lưu lượng tại lớp 2 thì cần hạn chế quyền truy cập bằng cổng console của Switch bằng cách sử dụng những phương pháp chứng thực mạng như RADIUS hay AAA.
VPN
Công nghệ VPN cung cấp một phưong thức giao tiếp an toàn giữa các mạng riêng dựa trên hạ tầng mạng công cộng. VPN thường được dùng để kết nối các văn phòng, chi nhánh với nhau, các người dùng từ xa về văn phòng chính. Công nghệ này có thể triển khai dùng các giải pháp sau: Frame Relay, ATM hay Leased line.
Các giao thức và thuật toán được dùng trong VPN bao gồm DES (Data Encryption Standard), Triple Des (3DES), IP Security (IPSec) và IKE.
Có hai loại kết nốit VPN:
Client – to – LAN
LAN – to – LAN
Hình 3.18 : Client-to-LAN VPN
Công nghệ VPN dựa trên kỹ thuật đường hầm (tunneling). Kỹ thuật này bao gồm đóng gói, truyền đi, giải mã, định tuyến. VPN có ba loại: Point – to – Point Tunneling Protocol (PPTP), Layer 2 Tunneling Protocol (L2TP), IPsec.
Point – to – Point Tunneling Protocol
Đây là một giao thức phát triển bởi Microsoft, làm việc ở lớp 2 trong mô hình OSI. PPTP đóng gói frame PPP vào gói IP bằng cách sử dụng GRE (General Routing Encapsulation).Các hình thức đảm bảo sự bảo mật gồm: chứng thực, mã hóa dữ liệu, lọc gói PPTP. PPTP dùng các giao thức chứng thực PPP gồm: EAP, MS-CHAP, PAP, trong đó MS-CHAP ver2 và EAP-TLS được xem là bảo mật nhất vì cả VPN server và VPN client đều chứng thực lẫn nhau. Tải trong PPP frame được mã hóa bằng RSA, RC4.
Trong MS-CHAP ver1 giá trị băm của LAN và của Windows NT được sinh ra dựa trên cùng một password và được gửi song song từ client đến server. Vì giá trị LAN manager hash được bảo mật kém nên các chương trình bẻ password có thể tấn công được, khi đã biết được giá trị băm của LAN, có thể dùng nó để tìm ra giá trị của Windows NT. MS-CHAP ver 2 khắc phục được lỗi trên nhờ dùng cơ chế mã hóa.
RSA và RC4 cũng có các điểm yếu do khóa mã hóa dựa trên password của user và cả client và server đều dùng chung khóa mã hóa.
Layer 2 Tunneling Protocol
L2TP là giao thức chuẩn của IETF (RFC 2661). Khác với PPTP, L2TP có thể chạy trên nhiều chuyển mạch khác nhau như X.25, Frame Relay, ATM, nhưng thường thì L2TP đóng gói PPP frame trong L2TP frame và dùng UDP để truyền đi (không dùng GRE). Dùng UDP tốt hơn cho các dịch vụ thời gian thực.
Bản thân L2TP không đảm bảo bảo mật, nó cần các giao thức vận chuyển bên dưới làm điều này. Điều này được thực hiện qua việc bảo mật trong PPP hoặc dùng IPsec.
Hình 3.19 : Cấu trúc L2PT
IP Security
Với đặc điểm là dễ bị bắt gói trong mạng IP nên yêu cầu mã hóa là cần thiết cho hệ thống VoIP. IPsec có thể bảo mật thông tin của EP và luồng dữ liệu. IPsec là tập giao thức phát triển bởi IETF, bảo mật ở lớp IP.
IPSec bao gồm 4 thành phần: thành phần mã hóa (Encryption), trao đổi khóa (Security Association), đảm bảo toàn vẹn dữ liệu (Data Integrity) và kiểm tra nguồn gốc dữ liệu (Origin Authentication).
IPsec gồm hai giao thức: Authenticaion Header và Encapsulating Security Payload .
AH: chứng thực data và chống replay, dùng giao thức IP số 51
ESP: dùng giao thức IP số 50
ESP chỉ mã hóa và chứng thực trên gói ban đầu (không có header), còn AH thì chứng thực toàn bộ gói (có header) và không mã hóa.
Hình 3.20 : Chứng thực và mã hóa của AH và ASP
IPsec gồm 2 mode:
Tunnel mode: tạo thêm một IP header mới gồm một địa chỉ nguồn và một địa chỉ đích (có thể khác với địa chỉ nguồn và địa chỉ đích trong gói IP). ESP chứng thực và mã hóa trên gói IP, còn AH chứng thực thêm một phần của header mới.
Transport mode: ESP mã hóa và chứng thực gói IP (không có phần header), AH thì có chứng thực thêm một phần header mới.
Hình 3.21 : Cấu trúc gói IPsec ở transport mode
Hình 3.22 : Cấu trúc gói IPsec ở tunnel mode
Trong quá trình thiết lập kết nối, VPN client và VPN server sẽ thương lượng thuật toán mã hóa được sử dụng trong số các thuật toán sau: DES, MD5, SHA, DH
Security Association (SA) thường được quản lý bời IKE. SA thường có thể dùng pre-shared key, mã hóa RSA hoặc chữ ký số. IPsec chứng thực bằng shared secret và certificate, bảo mật hơn so với PPTP chứng thực bằng password của user.
Firewalls
Đóng vai trò rất quan trọng trong việc bảo mật mạng dữ liệu khỏi những tấn công từ bên ngoài. Một số loại firewall cơ bản sau có thể bảo vệ dữ liệu ở các lớp khác nhau trong mô hình OSI:
Packet filtering firewall
Circiut level gateway firewall
Personal firewall
Chức năng cơ bản của firewall được thiết kế không phải dành cho các ứng dụng thời gian thực như VoIP nên việc thiết lập firewall cho hệ thống VoIP sẽ làm cho hệ thống phức tạp hơn ở một số quá trình: port động trunking, thủ tục thiết lập cuộc gọi.
Ngoài ra, firewall còn có nhiệm vụ điều khiển luồng thoại và dữ liệu. Nếu không cài đặt firewall thì tất cả các lưu lượng đến và đi từ IP phone đều phải được cho phép vì RTP dùng port UDP động, và như vậy thì tất cả các port UDP đều phải mở, thiếu bảo mật. Vì vậy, IP phone thường đặt sau firewall để tất cả các lưu lượng đều được kiểm soát mà không cần phải mở tất cả các port UDP à firewall được sử dụng để cách ly về mặt luận lý giữa thoại và dữ liệu.
NAT (Network Address Translation)
Là kỹ thuật mà địa chỉ nguồn hay địa chỉ đích thay đổi khi đi qua thiết bị có chức năng NAT, cho phép nhiều host trong mạng nội bộ dùng chung một địa chỉ IP để đi ra mạng bên ngoài. Ngoài one-to-one mapping thì còn có many-to-one mapping hay còn gọi là NAPT.
Hình 3.23 : Quá trình thay đổi địa chỉ trong NAT
NAT có 4 chính sác
Full: tất cả các yêu cầu từ cùng các host bên trong (địa chỉ IP và port) được ánh xạ tới cùng một IP hay port đại diện bên ngoài, vì vậy bất kỳ một host bên ngoài có thể gửi gói tới 1 host bên trong nếu biết địa chỉ được ánh xạ đó.
Restricted: chỉ cho phép 1 host bên ngoài với IP X gửi gói cho host mạng bên trong nếu host của mạng bên trong đã gửi tới IP X một gói trước đó.
Port restricted: Giống Restricted one nhưng có thêm port. Chính sách này được sử dụng để có thể dùng chung một địa chỉ IP đại diện bên ngoài.
Symmetric: tất cả các request từ cùng 1 IP hay port đến 1 đích nào đó được ánh xạ đi bằng 1 IP đại diện, nếu đi tới 1 đích khác thì nó sẽ đi bằng IP đại diện khác à Chỉ có những host bên ngoài nhận được gói thì mới gửi gói ngược trở lại các host bên trong được.
Lợi ích của NAT:
Giảm bớt số IP cần dùng bằng cách sử dụng chung 1 IP đại diện để đi ra bên ngoài. Với việc sử dụng chung 1 IP đại diện để đi ra bên ngoài như vậy thì mọi lưu lượng muốn truy nhập vào mạng bên trong thì phải qua NAT, bảo mật hơn.
Một số chú ý khi sử dụng NAT và firewall trong hệ thống VoIP.
Ảnh hưởng đến QoS:
Việc thiết lập firewall và NAT gây ra trễvà jitter, làm giảm QoS. Về bản chất, muốn cải thiện QoS thì quá trình xử lý gói khi qua firewall phải nhanh, mà khả năng xử lý gói của firewall lại phụ thuộc vào năng lực của CPU. CPU xử lý gói chậm là do: header của gói thoại phức tạp hơn gói IP bình thường nên thời gian xử lý lâu hơn; số lượng gói RTP quá lớn có thể làm firewall CPU bị qua tải.
Cuộc gọi tới:
Khi một có một cuộc gọi tới thì các lưu lượng báo hiệu tới đi qua firewall, cần phải mở một số port, điều này có thể gây nguy hiểm.
Với NAT điều này càng khó khăn vì NAT dùng port động, mà một host bên ngoài chỉ có thể gọi cho 1 host nằm sau NAT nếu biết chính xác địa chỉ IP và port của nó.
Voice Stream:
RTP dùng port động (1024-65534), còn RTPC quản lý luồng thoại bằng một port ngẫu nhiên, khó mà đồng bộ port của RTP và RTPC. Nếu cả hai host đều nằm sau NAT thì càng khó khăn. NAT chỉ ánh xạ địa chỉ bên trong và địa chỉ đại diện đi ra bên ngoài trong 1 khoảng thời gian t(s). Nếu kết nối bị đứt hay không có lưu lượng đi qua NAT trong t(s) thì ánh xạ này sẽ biến mất.
Nếu dùng TCP thì khi kết nối TCP kết thúc thì cuộc gọi cũng kết thúc. Nếu dùng UDP thì không nhận biết được vì UDP là phi kết nối. Nếu sử dụng VAD thì có khả năng thông tin kết nối bị xóa trước khi cuộc gọi thật sự kết thúc.
Mã hóa:
Việc mã hóa giúp đảm bảo tính toàn vẹn dữ liệu nhưng ta cũng gặp một số vấn đề với nó khi sử dụng NAT và firewall:
Firewall sẽ chặn các gói có header được mã hóa.
NAT dấu đi IP bên trong với mạng bên ngoài nên phương pháp chứng thực ESP và AH của Ipsec là không hợp lệ.
Một số giải pháp cho vấn đề firewall.
DMZ (Demilitarized Zone)
DMZ là vùng trung gian giữa mạng tin cậy bên trong và mạng bên ngoài như Internet, là giải pháp ngăn ngừa sự tương tác trực tiếp giữa người bên trong và bên ngoài hệ thống, được xây dựng với mục đích làm cho hệ thống an toàn hơn. Có hai cấu hình thường thấy là DMZ một firewall và DMZ được đặt giữa hai firewall như hình vẽ.
Hình 3.24 : Kiến trúc DMZ và một firewall
Hình 3.25 : Vùng DMZ nằm giữa hai firewall
H.323 gatekeeper hay SIP proxy được đặt trong vùng DMZ có thể được giải quyết được vấn đề port động, chỉ cần cấu hình firewall sao cho đầu cuối có thể liên lạc được với gatekeper/proxy. Như vậy, vấn đề port động vẫn có thể khắc phục được bên ngoài firewall mà vẫn nằm trong vùng an toàn.
ALG (Application Level Gateway)
ALG là giải pháp cho vấn đề firewall/NAT trong mô hình doanh nghiệp. ALG là một phần mềm cài đặt trên firewall. Nó cho phép một ứng dụng được yêu cầu có được phép không, giúp cho những ứng dụng đuợc cho phép trong hệ thống được quản lý một cách dễ dàng.
Firewall có tích hợp ALG có khả năng phân tích và nhận biết các giao thức báo hiệu SIP/H.323 và đóng/mở các port một cách linh động bằng cách đọc các bản tin báo hiệu SIP/H.323.
Khi có cài đặt NAT thì ALG cần phải mở gói thoại và sửa lại thông tin header cho tương ứng với địa chỉ IP của mạng nội bộ hay IP bên ngoài đối với lưu lượng đi ra. Vấn đề của NAT được giải quyết khi ALG thay thế địa chỉ IP của mạng nội bộ bằng IP của chính ALG, không những thế nó còn ánh xạ lưu lượng RTP đến những port mà ALG có thể đọc và chuyển đến đúng các ứng dụng bên trong.
Hình 3.26 : Hoạt động của ALG
Giải pháp này đòi hỏi phải nâng cấp phần mềm hoặc thay thế hệ thống firewall/NAT cũ. Hơn nữa, tất cả các lưu lượng thoại đều được định tuyến qua ALG nên khi lưu lượng tăng lên thì nhu cầu các port cho RTP và RTPC không đủ. Vì vậy mặc dù đầu cuối có port thích hợp để thực hiện cuộc gọi nhưng cuộc gọi vẫn bị ALG từ chối.
Nhược điểm của ALG:
ALG tốn kém do phải nâng cấp khi chuẩn thay đổi.
ALG xử lý các gói thoại thì gây ra trễ và jitter, khi số lượng cuộc gọi tăng lên có thể gây nghẽn mạng.
ALG được cài đặt trên firewall nên có thể làm firewall mất ổn định.
Middlebox Communication (MIDCOM)
ALG được cài đặt trên firewall nên có thể gây trễ và nghẽn. MIDCOM là giải pháp giải quyết vấn đề của ALG bằng cách đưa các chức năng của ALG vào một thiết bị nằm ngoài firewall gọi là Midcom agent. Thường thiết bị này là H.323 gatekeeper/SIP proxy nằm trong vùng DMZ vì đây là thành phần đáng tin cậy và có tham gia vào quá trình điều khiển phiên kết nối. Các thiết bị này bây giờ có thể phân tích lưu lượng VoIP và ra lệnh cho firewall mở/đóng các port dựa trên yêu cầu báo hiệu thông qua giao thức MIDCOM.
Giải pháp này có thể tăng tính linh động và giảm chi phí nâng cấp mạng. Ngoài ra còn cải tiến hơn về mặt hoạt động vì tách rời việc phân tích và chặn gói.
Nhược điểm của MIDCOM:
Phải cấu hình cho firewall để Midcom agent điều khiển nó.
Midcom agent phải được bảo vệ an toàn vì nó có khả năng điều khiển firewall, nếu kẻ tấn công nắm được quyền điều khiển Midcom agent thì có thể mở bất cứ port nào trên firewall, nên phải đặt thêm một firewall thứ 2 để bảo vệ nó.
Hình 3.27 : Hệ thống dùng Middlebox Com
Session Border Controller
Ngoài giải pháp ALG và MIDCOM, giải pháp SBC (Session Border Controller) cũng được phát triển dành cho doanh nghiệp. SBC thường đặt trong vùng DMZ và cung cấp các chức năng sau:
Firewall/NAT: SBC có thể hoạt động như một thiết bị NAT hay firewall hay kết hợp với firewall trong cùng DMZ. SBC có thể mở các lỗ (pinhole) để cho lưu lượng báo hiệu và thoại đi qua. Cho phép lưu lượng báo hiệu và lưu lượng thoại nhận và chuyển tới các thiết bị nằm sau firewall và NAT tạo biên của mạng mà không cần phải nâng cấp firewall hay thiết bị.
Điều khiển chấp nhận cuộc gọi: SBC điều khiển các cuộc gọi báo hiệu qua mạng, có thể từ chối cuộc gọi khi cần thiết, vì vậy có thể bảo vệ mạng khỏi tấn công DoS. Điều khiển chấp nhận cuộc gọi có thể đảm bảo các thỏa thuận về mức độ dịch vụ, như vậy thuê bao có thể đảm bảo tốc độ kết nối trong giới hạn của mạng đường trục.
Ngoài ra, SBC còn có các chức năng khác:
QoS: đảm bảo tài nguyên mạng cho thiết lập cuộc gọi và các dịch vụ cuộc gọi khẩn.
Báo hiệu liên mạng: báo hiệu giữa H.323 và SIP.
Giải pháp cho NAT
STUN (Simple Traversal of UDP through NAT)
Cho phép các ứng dụng nhận biết sự có mặt và các loại NAT và firewall giữa nó và Internet. Có thể xác định địa chỉ IP đi ra bên ngoài do NAT tạo ra. Giải pháp này đòi hỏi client phải hỗ trợ STUN.
STUN nhận biết NAT bằng cách gửi các bản tin binding request đến STUN server yêu cầu địa chỉ và số cổng dùng để truyền và nhận lưu lượng. STUN server hồi đáp cho STUN client bằng bản tin binding response mang thông tin địa chỉ IP đi ra bên ngoài và số port của NAT. Các thông tin này sẽ dùng thiết lập bản tin thiết lập cuộc gọi. Thực tế thì rất ít sản phẩm hỗ trợ STUN nên giải pháp này không được phổ biến.
TURN (Traversal Using Relay NAT)
TURN là giao thức cho phép một thiết bị nằm sau NAT/firewall nhận dữ liệu qua TCP/UDP, bổ sung cho hạn chế của STUN là có thể sử dụng được NAT đối xứng vì TURN nằm trên đường báo hiệu. STUN không nằm trên đường báo hiệu cuộc gọi nên khi sử dụng NAT đối xứng, NAT sẽ ánh xạ cho lưu lượng đi ra một địa chỉ khác, đối với lưu lượng bên ngoài đi vào cũng tương tự.
ICE (Interactive Connectivity Establishment)
Các giải pháp STUN và TURN đều có những thuận lợi và hạn chế riêng. IETF đã phát triển một giải pháp khác là ICE. ICE không phải là một giao thức mà nó là một phần làm việc cùng với STUN hay TURN, cho phép client khảo sát tìm ra cách thông tin với bên ngoài. Các ICE client sẽ trao đổi thông tin (IP private và public kể cả khi có sự thay đổi) và thương lượng tìm ra các con đường có thể kết nối giữa chúng và chọn con đường có chất lượng tốt nhất (trễ và jitter thấp nhất).
Đường hầm
Giải pháp này giải quyết vấn đề firewall/NAT bằng cách tạo đường hầm cho báo hiệu và cả lưu lượng thoại đi qua firewall/NAT. Giải pháp này đòi hỏi một server trong mạng nội bộ và một ở mạng bên ngoài. Hai server này sẽ tạo ra một đường hầm mang tất cả lưu lượng SIP, đường hầm này thường không cần mã hóa. Giải pháp này có ưu điểm là thay đổi ít nhất chính sách bảo mật sẵn có. Tuy nhiên nó sẽ gây trễ trên lưu lượng thoại, làm giảm chất lượng cuộc gọi.
Hình 3.28 : Hoạt động của Tunneling
IDS (Intrusion Detection System)
IDS là hệ thống giám sát tất cả các lưu lượng trong mạng. IDS là thiết bị thụ động, lưu lượng không đi qua nó, mà nó chỉ lấy tất cả các gói trên mạng để phân tích. Nếu có lưu lượng không bình thường bản thân nó sẽ phát cảnh báo cho người quản trị mạng biết.
Hình 3.29 : Vị trí của IDS trong hệ thống
Hoạt động của IDS:
IDS theo dõi tất cả những trạng thái bình thường của hệ thống và do đó phát hiện ra những tấn công bất thường vào hệ thống. Kiến trúc của nó gồm Call State Fact Base, chứa các trạng thái điều khiển và các biến trạng thái, cho phép theo dõi tiến trình của cuộc gọi. Thông tin trạng thái được cập nhật từ Event Distributor. Attack Scenarino chứa những kiểu tấn công đã biết.
IDS quản lý sự thay đổi trạng thái của các gói được phân tích bằng chức năng Call basis. Tất cả gói của một cuộc gọi được phân thành một nhóm, rồi lại chia thành các nhóm nhỏ dựa trên loại giao thức, rồi đưa vào các bộ máy phân tích khác nhau, các bộ máy này được đồng bộ bằng các tham số chung và các sự kiện nội bộ. Event Destributor cũng phân loại các gói nhận được cho Attack Scenarino.
Các gói từ Event Destributor và thông tin trạng thái từ Attack Scenarino/ Call State Fact Base được đưa đến Analysis Engine. Khi có sự bất thường nào về giao thức hay trùng với một kiểu tấn công biết trước thì IDS sẽ bật cờ cảnh báo cho người quản trị phân tích thêm.
Hình 3.30 : Cấu trúc bên trong của thiết bị IDS