Khi đưa ra những nhu cầu bảo mật cho những thiết bị VoIP, phần này mô tả một số công nghệ có sẵn để đảm bảo tính toàn vẹn, tính bí mật, và tính chứng thực. 2.2.2.1. Bảo vệ tín hiệu qua SIP
Cách thức tấn công hệ thống VoiIP phổ biến nhất hiện nay là:
+ Chiếm quyền điều khiển VoiIP Subscription của người dùng và các hoạt động truyền thông tiếp sau.
+ Khả năng nghe trộm các cuộc gọi VoiIP.
Hai hình thức tấn công trên chắc chắn sẽ nguy hiểm hơn nhiều với sự phát triển ngày càng rộng của VoiIP. Phần này chúng ta tìm hiểu nội dung ngắn gọn về giao thức SIP, dùng để cài đặt và phân tách các session Internet đa phương tiện và tập trung chủ yếu vào hoạt động đăng ký người dùng và chiếm quyền điều khiển session
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
27
Hình 2.3 - Cài đặt và phân tách cuộc gọi SIP
Trong bước 1, thiết bị của người dùng (trong thuật ngữ của SIP gọi là một User Agent) đăng ký với tổ chức cấp phát và quản lý tên miền. Các tổ chức này có trách nhiệm duy trì cơ sở dữ liệu của thông tin đăng ký tương ứng của từng domain. Phần đăng ký người dùng trong VoiIP là cần thiết vì nó cung cấp phương tiện định vị và liên hệ với nhóm từ xa. Chẳng hạn khi A muốn liên lạc với B anh ta sẽ gửi yêu cầu INVITE tới một proxy server. Proxy server này có trách nhiệm định hướng cho các tin nhắn SIP và cấp phát các đăng ký. Khi proxy server nhận một yêu cầu INVITE, nó cố gắng xác định vị trí nhóm gọi và sắp đặt chương trình cho người gọi. Nó sẽ thực hiện một số bước như tìm kiếm tên miền DNS và định hướng các tin SIP khác nhau (tạm thời và mang tính chất thông tin). Đây là bước sẽ bị khai thác bởi kiểu tấn công chiếm quyền điều khiển đăng ký, như chúng ta đã nhìn thấy sơ lược trong phần đăng ký thiết bị ở bước một của hình minh hoạ.
Chiếm quyền điều khiển đăng ký.
Hình dưới đây mô tả thông tin đăng ký hợp lệ và trả lời từ nhà quản lý SIP, được dùng để thông báo trong một điểm liên hệ của người dùng. Điều này chỉ ra rằng thiết bị của người dùng đã chấp nhận cuộc gọi.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
28
Hình 2.4 - Yêu cầu REGISTER (đăng ký)
Yêu cầu REGISTER (đăng ký) bao gồm các Contact: header với điạ chỉ IP của thiết bị người dùng (hoặc một tệp VoiIP hay điện thoại khác). Khi proxy nhận yêu cầu thực hiện một lời gọi đến (một INVITE), nó sẽ tra tìm để xác định từng người dùng có thể liên hệ được. Trong trường hợp trên, người dùng có số điện thoại 201-853-0102 có thể liên hệ với điạ chỉ IP 192.168.94.70. Proxy sẽ gửi yêu cầu INVITE cho điạ chỉ IP đó. Chúng ta cũng nên chú ý đến cổng được thông báo là 5061. Cổng này dự trữ cho các SIPS, và thường nó vi phạm tiêu chuẩn RFC 3261.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
29
Hình 2.5 - Yêu cầu REGISTER đã bị chỉnh sửa bởi Hacker
Trong yêu cầu này tất cả header và tham số của tin nhắn đều giống nhau, ngoại trừ tham số trong header Contact. Thông tin đã được thay đổi trong header Contact có điạ chỉ IP (192.168.1.3), trỏ tới thiết bị của kẻ tấn công. Yêu cầu REGISTER được gửi tới hãng cung cấp và quản lý SIP tại điạ chỉ 192.168.1.2. Công cụ dùng để sinh ra yêu cầu này là SiVuS, được mô tả trong hình dưới đây
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
30
Hình 2.6 - Lừa đảo đăng ký SIP sử dụng bộ sinh tin nhắn SiVuS
Các bước tấn công chiếm quyền điều khiển diễn ra như sau:
- Vô hiệu hoá đăng ký hợp pháp của người dùng. Điều này thực hiện bằng cách: Sử dụng một cuộc tấn công DoS lên thiết bị người dùng
Đăng ký lại thông tin người dùng (không đưa ra các kiểu tấn công khác) Tạo một đăng ký race-condition trong đó kẻ tấn công gửi các yêu cầu
REGISTER lặp đi lặp lại trong khung thời gian ngắn hơn (như 15 giây/lần) để ghi đè lên yêu cầu đăng ký hợp pháp của người dùng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
31
Hình 2.7 - Tổng quan của một cuộc tấn công chiếm quyền đăng ký Kiểu tấn công này có thể thành công bởi:
1. Các tin nhắn đơn được gửi rõ ràng, cho phép kẻ tấn công tập hợp, chỉnh sửa và viết lại nội dung như chúng muốn.
2. Sự thực thi hiện thời của các tin nhắn SIP Signaling không hỗ trợ tính toàn vẹn nội dung, và do đó không thể dò ra được các cuộc tấn công chỉnh sửa và viết lại.
Kiểu tấn công này có thể thành công ngay cả khi proxy server SIP từ xa đòi hỏi thẩm định đăng ký người dùng. Vì các tin nhắn SIP được truyền rõ ràng và có thể đóng gói, chỉnh sửa hoặc viết lại. Kiểu tấn công này có thể nhắm vào cả doanh nghiệp và người dùng tại nhà. Một mạng gia đình sử dụng điểm truy cập không dây được cấu hình nghèo nàn rất dễ bị phá hoại bởi hacker. Chúng sẽ chặn và viết lại yêu cầu đăng ký. Các cấu hình đó có thể gồm cả WEP (Wired Equivalent Privacy) hoặc WPA (Wi-Fi protected access). Nhiều lỗ hổng đã được phát hiện, cho phép kẻ tấn công có được quyền truy cập không bị thẩm định. Chúng có nhiều thức triển khai khác nhau như thực hiện các cuộc gọi lừa đảo hay đổi điạ chỉ của các hoạt động truyền thông. Trong môi trường doanh nghiệp kẻ tấn công có thể làm trệch
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
32
hướng cuộc gọi sang các nhóm trái phép. Ví dụ các cuộc gọi từ cổ đông có thể bị chuyển sang một đại lý trái phép để điều khiển giao dịch thương mại với khách hàng. Trong một số trường hợp kiểu tấn công này còn được xem như là một “bộ phận” cho các nhân viên không thích bị làm phiền.
Có thể ngăn chặn chúng bằng cách thực thi SIPS (SIP trên TLS), thẩm định yêu cầu SIP và thẩm định các trả lời (có thể gồm cả việc bảo vệ tính toàn vẹn). Thực tế sử dụng SIPS và chế độ thẩm định trả lời còn ngăn chặn được nhiều kiểu tấn công kết hợp khác, gồm cả nghe lén và mạo danh người dùng, mạo danh tin nhắn.
Nghe lén
Nghe lén trong VoiIP hơi khác so với các kiểu nghe lén truyền thống trong mạng dữ liệu nhưng khái niệm chung thì giống nhau. Nghe lén trong VoiIP đòi hỏi phải chặn các dòng phương tiện tín hiệu, phương tiện kết hợp của cuộc hội thoại. Các tin nhắn sử dụng giao thức mạng phân tách (như UDP hay TCP) và cổng của chính các phương tiện truyền thông. Các dòng phương tiện chủ yếu được chuyển qua UDP, sử dụng giao thức RTP (Real Time Protocol).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
33
Các bước đóng gói và giải mã gói âm thanh bao gồm:
• Capture and Decode RTP packets: đóng gói gói tin và sử dụng tuỳ chọn Analyze - > RTP-> Show all streams từ giao diện ethereal.
• Analyze Session: chọn một dòng để phân tích và tập hợp lại.
• Publish: mở một file để ghi các audio chứa phần âm thanh đã đóng gói. Có nhiều tranh cãi cho rằng kiểu tấn công nghe lén có thể được ngăn chặn trong các mạng IP cơ sở bằng cách dùng switch Ethernet; giới hạn việc quảng bá lưu lượng cho toàn bộ mạng, và do đó giới hạn cả người truy cập lưu lượng.
Các tranh cãi này chấm dứt khi kiểu lừa đảo ARP được giới thiệu. Đó là cơ chế cho hình thức tấn công man-in-the-middle (sử dụng con người làm trung gian). Hiện chúng tôi chưa đề cập đến kiểu lừa đảo ARP trong bài này. Nhưng các bạn có thể hiểu về cơ bản là kẻ tấn công sẽ quảng bá các quảng cáo lừa đảo của địa chỉ MAC, ép các gói IP tiếp sau tràn qua host của chúng. Bằng cách đó, nó cho phép nghe lén cuộc hội thoại giữa hai người dùng.
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
34
2.2.2.2. Bảo vệ tín hiệu TLS/SSL
Được phát triển bởi Netscape, ngày nay giao thức Secure Socket Layer (SSL) đã được sử dụng rộng rãi trên World Wide Web trong việc xác thực và mã hoá thông tin giữa client và server. Tổ chức IETF (Internet Engineering Task Force) đã chuẩn hoá SSL và đặt lại tên là TLS (Transport Layer Security). Mặc dù là có sự thay đổi về tên nhưng TSL chỉ là một phiên bản mới của SSL. SSL được thiết kế như là một giao thức riêng cho vấn đề bảo mật có thể hỗ trợ cho rất nhiều ứng dụng. Giao thức SSL hoạt động bên trên TCP/IP và bên dưới các giao thức ứng dụng tầng cao hơn như là HTTP (Hyper Text Transport Protocol), IMAP (Internet Messaging Access Protocol) và FTP (File Transport Protocol). Trong khi SSL có thể sử dụng để hỗ trợ các giao dịch an toàn cho rất nhiều ứng dụng khác nhau trên Internet, thì hiện nay SSL được sử dụng chính cho các giao dịch trên Web.
Hình 2.10 - Cấu trúc và giao thức của SSL
SSL không phải là một giao thức đơn lẻ, mà là một tập các thủ tục đã được chuẩn hoá để thực hiện các nhiệm vụ bảo mật sau:
• Xác thực server: Cho phép người sử dụng xác thực được server muốn kết nối. Lúc
này, phía browser sử dụng các kỹ thuật mã hoá công khai để chắc chắn rằng certificate và public ID của server là có giá trị và được cấp phát bởi một CA (certificate authority) trong danh sách các CA đáng tin cậy của client. Điều này rất
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
35
quan trọng đối với người dùng. Ví dụ như khi gửi mã số credit card qua mạng thì người dùng thực sự muốn kiểm tra liệu server sẽ nhận thông tin này có đúng là server mà họ định gửi đến không.
• Xác thực Client: Cho phép phía server xác thực được người sử dụng muốn kết nối. Phía server cũng sử dụng các kỹ thuật mã hoá công khai để kiểm tra xem certificate và public ID của server có giá trị hay không và được cấp phát bởi một CA (certificate authority) trong danh sách các CA đáng tin cậy của server không. Điều này rất quan trọng đối với các nhà cung cấp. Ví dụ như khi một ngân hàng định gửi các thông tin tài chính mang tính bảo mật tới khách hàng thì họ rất muốn kiểm tra định danh của người nhận.
• Mã hoá kết nối: Tất cả các thông tin trao đổi giữa client và server được mã hoá
trên đường truyền nhằm nâng cao khả năng bảo mật. Điều này rất quan trọng đối với cả hai bên khi có các giao dịch mang tính riêng tư. Ngoài ra, tất cả các dữ liệu được gửi đi trên một kết nối SSL đã được mã hoá còn được bảo vệ nhờ cơ chế tự động phát hiện các xáo trộn, thay đổi trong dữ liệu (đó là các thuật toán băm – hash algorithm).
Giao thức SSL bao gồm 2 giao thức con: giao thức SSL record và giao thức SSL handshake. Giao thức SSL record xác định các định dạng dùng để truyền dữ liệu. Giao thức SSL handshake (gọi là giao thức bắt tay) sẽ sử dụng SSL record protocol để trao đổi một số thông tin giữa server và client vào lấn đầu tiên thiết lập kết nối SSL.
+ Các thuật toán mã hoá dùng trong SSL
Các thuật toán mã hoá (cryptographic algorithm hay còn gọi là cipher) là các hàm toán học được sử dụng để mã hoá và giải mã thông tin. Giao thức SSL hỗ trợ rất nhiều các thuật toán mã hoá, được sử dụng để thực hiện các công việc trong quá trình xác thực server và client, truyền tải các certificates và thiết lập các khoá của từng phiên giao dịch (sesion key). Client và server có thể hỗ trợ các bộ mật mã (cipher suite) khác nhau tuỳ thuộc vào nhiều yếu tố như phiên bản SSL đang dùng,
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
36
chính sách của công ty về độ dài khoá mà họ cảm thấy chấp nhận được - điều này liên quan đến mức độ bảo mật của thông tin, ….
Các bộ mật mã được trình bày ở phần sau sẽ đề cập đến các thuật toán sau:
• DES (Data Encryption Standard) là một thuật toán mã hoá có chiều dài khoá là 56 bit.
• 3-DES (Triple-DES): là thuật toán mã hoá có độ dài khoá gấp 3 lần độ dài khoá
trong mã hoá DES
• DSA (Digital Signature Algorithm): là một phần trong chuẩn về xác thực số
• KEA (Key Exchange Algorithm) là một thuật toán trao đổi khoá
• MD5 (Message Digest algorithm) được phát triển bởi Rivest.
• RSA: là thuật toán mã hoá công khai dùng cho cả quá trình xác thực và mã hoá dữ
liệu được Rivest, Shamir, and Adleman phát triển.
• RSA key exchange: là thuật toán trao đổi khoá dùng trong SSL dựa trên thuật toán RSA.
• RC2 and RC4: là các thuật toán mã hoá được phát triển bởi Rivest dùng cho RSA
Data Security.
• SHA-1 (Secure Hash Algorithm): là một thuật toán băm
Các thuật toán trao đổi khoá như KEA, RSA key exchange được sử dụng để 2 bên client và server xác lập khoá đối xứng mà họ sẽ sử dụng trong suốt phiên giao dịch SSL. Và thuật toán được sử dụng phổ biến là RSA key exchange.
TLS bao gồm hai lớp:
Giao thức record: Lớp mức thấp hơn mà cung cấp sự an toàn kết nối và là workhorse. Nó cung cấp sự riêng tư và sự toàn vẹn.
Giao thức record sử dụng những giải thuật mật mã cân đối như những tiêu chuẩn mã hóa dữ liệu và RC4 cho sự mã hóa dữ liệu. Lớp khác mà đặt ở trên của lớp giao thức record đàm phán những chìa khóa và giải thuật sẽ được sử dụng cho một kết nối đặc biệt. Bạn có thể sử dụng lớp giao thức record mà không cần sự mã hóa.
Để toàn vẹn, mỗi thông điệp sẽ bao gồm một sự kiểm tra toàn vẹn thông điệp bằng cách sử dụng một keyed MAC. Sự sử dụng những tính toán MAC bảo mật cho những chức năng hash như MD5 và Giải thuật secure hash (SHA).
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
37
Client layer: Lớp mức độ cao mà đăt ở trên lớp giao thức record. Nhiều giao thức như giao thức bắt tay TLS được định nghĩa tại lớp client. Giao thức bắt tay TLS chủ yếu được hứa hẹn tại sự bắt đầu của phiên họp truyền dữ liệu. Giao thức bắt tay TLS có hai chức năng sơ cấp:
Xác nhận sự tương đương bằng cách sử dụng kỹ thuật mật mã cân đối hay chìa khóa - công cộng.
Đàm phán một cách mở rộng trên một cơ sở kết nối, một giải thuật mã hóa bí mật dùng chung và cân đối. Giao thức bắt tay TLS sau đó chuyển xuống tới lớp giao thức record bí mật dùng chung và đàm phán giải thuật mã hóa. Lớp giao thức record làm sự mã hóa trọng tải tối đa thực tế.
Hình 2.11 – Giao thức SSL và TLS
Những giao thức lớp client khác bao gồm giao thức báo động, sự thay đổi viết mã số giao thức thuyết minh, và giao thức dữ liệu ứng dụng.
Bạn có thể sử dụng TLS trong kiểu server-auth hay kiểu chứng thực lẫn nhau. Trong kiểu server-auth, client xác nhận lai lịch của server theo đường TLS. Server sử dụng một vài yếu tố khác ở ngoài để xác nhận client. Trong kiểu chứng thực lẫn nhau, mỗi thực thể xác nhận sự tương đương của nó bằng việc xác minh chứng chỉ của nó
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn
38
2.2.3. Bảo vệ dữ liệu thoại
2.2.3.1. Giao thức SRTP (Secure Real-time Transport Protocol)
Giao thức vận chuyển thời gian thực an toàn (SRTP), được định nghĩa ở RFC3711, là một profile của giao thức vận chuyển thời gian thực (RTP). SRTP cung cấp sự toàn vẹn, tính xác thực, và sự bảo vệ riêng tư tới lưu thông RTP và tới