Công cụ kiểm thử độ an toàn hệ thống VoIP dựa trên SIP

15:43 | 18/07/2016

Bài báo khảo sát những điểm yếu liên quan đến VoIP, một vài mã nguồn mở phổ biến và các công cụ an toàn của VoIP nhằm khẳng định sự cần thiết phải tập trung vào việc phát triển đầy đủ các công cụ an toàn cho VoIP trong tương lai.

Hiện nay, VoIP đang được phát triển rộng rãi trên thế giới và trở thành một trong những mục tiêu cho những kẻ tấn công mạng. VoIP cho phép người dùng cuối có thể chủ động cấu hình hệ thống, dẫn đến có thể cấu hình sai hay thiếu sót, gây ra mối đe dọa về an toàn trong các ứng dụng. Ngoài ra, việc phát triển phần mềm VoIP không bảo đảm chất lượng có thể đưa đến những vấn đề an toàn khác nhau. Điều này đẩy mạnh việc thiết lập nhu cầu phát triển các công cụ an toàn của VoIP chất lượng cao. Nhiều công ty và các nhóm mã nguồn mở đã phát triển những công cụ hỗ trợ an toàn như các công cụ đánh giá điểm yếu, các hệ thống phát hiện/ngăn chặn xâm nhập và các tường lửa cho VoIP. Mặc dù các công cụ đó hoạt động hoàn toàn theo đúng chức năng nhưng năng lực của chúng đều có giới hạn trước các nguy cơ về ATTT. Bài này xem xét tính năng của các công cụ an toàn VoIP để xác định giới hạn của chúng và sẽ chứng minh có một số lượng đáng kể về các điểm yếu mà các công cụ đó không thể phát hiện.

1. Công cụ an toàn

Các điểm yếu trong VoIP không chỉ bao gồm các lỗ hổng trong chính ứng dụng VoIP, mà còn ở hệ điều hành và các giao thức của VoIP. Độ phức tạp của VoIP tạo ra một số lớn các điểm yếu ảnh hưởng đến 3 yếu tố của an toàn thông tin là tính tin cậy, toàn vẹn và tính sẵn sàng. Phạm vi bài báo, chỉ đề cập đến các điểm yếu được phân chia dựa trên các tầng của mô hình mạng TCP/IP (tầng giao diện mạng, tầng mạng, tầng  truyền tải và tầng ứng dụng).

Bộ quét điểm yếu SiVuS

SiVuS là bộ quét điểm yếu công khai đầu tiên cho mạng VoIP do nhóm vopsecurity.org ban hành phiên bản đầu tiên vào tháng 10/2004 và nó hiện nay đang được tiếp tục phát triển. Công cụ này phát triển trên nền tảng Microsoft Windows, bao gồm 3 thành phần: Đầu tiên là bộ sinh thông điệp SIP sử dụng để kiểm thử các vấn đề về an toàn hay tạo ra những sự tấn công hiển thị. Thứ hai, việc phát hiện thành phần SIP là hữu ích cho sự nhận biết các mục tiêu được phân tích. Cuối cùng, bộ quét các điểm yếu SIP có thể được sử dụng để xác minh độ mạnh và độ an toàn của SiP phones, là những máy chủ ủy quyền và máy chủ đăng ký.

Các công cụ/ phần mềm kiểm thử

Tài liệu của mỗi chương trình an toàn phải được kiểm tra tỷ mỉ để xác định việc sử dụng theo khuyến nghị. Một Asterisk PBX đang chạy trên Debian Linux đã được sử dụng như một đối tượng kiểm thử khi chương trình có khả năng kiểm thử sự ủy nhiệm/đăng ký của các máy chủ. SJPhone (trên Windows XP) và Linphone (trên Fedora Core 3) là 2 phần mềm đã qua việc kiểm thử tác nhân người dùng. Các chương trình đã được đánh giá về độ chắc chắn, tính tiện dụng, tài liệu đi kèm và khả năng đáp ứng các tuyên bố về tính năng của nhà phát triển. Đúng hơn, một phép thử đã được tạo ra để đánh giá độ mạnh và những điểm yếu cho mỗi công cụ ở mức tổng quan. Bài báo này không đánh giá tất cả các công cụ an toàn của VoIP mà chỉ hướng đến việc kiểm tra các công cụ thường xuyên được sử dụng.

Bộ kiểm thử PROTOS c07-SIP

Chương trình PROTOS đã được phát triển ở trường đại học Oulu ở Phần Lan để kiểm thử độ mạnh về khả năng bảo đảm an toàn trong việc thực thi giao thức. Bộ kiểm thử c07-SIP đã được thiết kế cho việc khảo sát ban đầu về Tác nhân người dùng SIP (SIP User Agent) và sự thực thi của máy chủ trong năm 2013.

Công cụ PROTOS bao gồm 4500 trường hợp kiểm thử, trong đó các phần tử đặc biệt được đưa vào bản tin SIP INVITE, bao gồm SDP. Phép thử ban đầu của c07-SIP xác định các “thất bại” của việc kiểm thử xuất hiện khi: “một thiết bị ngừng hoạt động như thường lệ; một quy trình hay một thiết bị bị phá hủy hay bị treo và cần khởi động lại theo cách thủ công; một quy trình hay một thiết bị bị phá hủy và tự động khởi động lại; hoặc một quy trình tiêu thụ hết gần như tất cả các nguồn bộ nhớ hay CPU trong một khoảng thời gian đặc biệt dài hay không giới hạn”.

Khuôn khổ kiểm thử diễn đàn SIP (SFTF)

SFTF là một dự án mã nguồn mở của sipfoundry.org. Nó dùng để kiểm thử các lỗi phổ biến trong thiết bị nhằm cải thiện khả năng phối hợp. SFTF cung cấp cách thức dễ dàng để viết những kịch bản kiểm thử thiết bị SIP và các trường hợp kiểm thử được thực thi đối với các lỗi phổ biến đã được tạo ra trong các tác nhân người dùng SIP. Phiên bản hiện tại bao gồm khoảng 65 trường hợp về kiểm thử sự thực thi giao thức, xác thực, đăng ký, quy trình xử lý nhật ký/giao dịch, các khả năng vượt NAT, DNS và các đặc tính lỗi thời.

Các công cụ bảo mật thương mại

Gần đây nhiều tổ chức đã phát hành các công cụ thiết kế để kiểm thử độ an toàn VoIP. Qua kiểm thử các sản phẩm thương mại, hầu như không có một sản phẩm nào đã kiểm thử cung cấp một giải pháp đầy đủ về an toàn thông tin và mỗi sản phẩm có những hạn chế về mặt phát hiện điểm yếu, giao diện người dùng hay các thủ tục cài đặt. Khi so sánh các tuyên bố của các sản phẩm thương mại và các sản phẩm không thương mại khác nhau dựa trên một danh sách các điểm yếu đã biết.

2. Tìm kiếm

Phân tích các công cụ quét điểm yếu

Tính năng của các công cụ kiểm thử có thể khuyến khích một số nhà phát triển tin tưởng vào các trường hợp kiểm thử mà không phát triển các bộ kiểm thử của họ. Kết luận rằng “nó đã vượt qua việc kiểm thử, nó phải là an toàn” là dễ dàng đạt được khi trong thực tế thì không có chương trình kiểm thử nào có thể kiểm thử cho tất cả các trường hợp. Tất cả các công cụ quét điểm yếu được đề cập trong bài này thì vẫn đang được phát triển. Vì vậy, các chương trình không phải lúc nào cũng thực thi đúng như tuyên bố. Và trong một số trường hợp cụ thể, rất khó để xác định những ảnh hưởng thật sự từ sự tấn công của phép kiểm thử. Ví dụ, nếu một gói đặc biệt không tấn công máy chủ, nhưng làm cho máy chủ bị treo trong 1 giây, thì kiểm thử viên có thể không thông báo vấn đề với máy chủ. Tuy nhiên, nếu một kẻ tấn công gửi 1000 gói đó tới máy chủ, thì việc từ chối dịch vụ có thể xảy ra.

Những đặc tả về kiểu trường hợp kiểm thử

Dưới đây sẽ mô tả danh sách các trường hợp kiểm thử đã sử dụng cho việc so sánh. Mục đích của danh sách là đưa ra mô tả cô đọng về các kiểu đặc tính của các công cụ.

- Phương pháp SIP đặc biệt (các kiểm thử độ mạnh): nhằm nhận biết các lỗ hổng trong lập trình tầng ứng dụng ở mức thực thi SIP.

- Kiểm tra hỗ trợ TLS: kiểm tra để xác minh xem An toàn tầng truyền tải (TLS) có được sử dụng để mã hóa tín hiệu SIP không,  khi chạy qua TCP (cũng gọi là SIP).

- Kiểm tra tính xác thực: Kiểm tra để xác minh rằng sự thực thi yêu cầu các thông điệp SIP được xác thực. - Cảnh báo về các đặc tính lỗi thời: cảnh báo người dùng nếu một số phần của chức năng đã trở nên lỗi thời. Các chức năng lỗi thời có thể gây ra các lỗi về tương tác và tạo ra các điểm yếu liên quan đến tính tin cậy, toàn vẹn hay tính sẵn sàng.

- Xác minh sự khôi phục lỗi DNS: Kiểm thử bảo đảm rằng việc thực thi có thể khôi phục lỗi DNS chính để bảo đảm tính sẵn sàng. - Sự tương thích khi xử lý đàm thoại/giao dịch: Cuộc thoại phi chuẩn hay tiến trình xử lý giao dịch có thể gây ra các lỗi tương thích bên trong và tạo ra các điểm yếu liên quan đến tính tin cậy, toàn vẹn hay tính sẵn sàng.

Bảng dưới đây tóm tắt các đặc tính đã tuyên bố bởi mỗi nhà phát triển bộ quét điểm yếu.

Bảng phân loại các điểm yếu và đưa ra số lượng “kiểm tra” bên trong các loại hình đó cho mỗi công cụ đã kiểm thử. Nó cung cấp một sự so sánh hữu ích về khả năng cho các công cụ đã kiểm thử đó để phát hiện những vấn đề an toàn trong việc thực thi VoIP. Như có thể thấy, mức độ bao phủ của các công cụ này là không lớn.

Các điểm yếu đã được giảm thiểu

Bảng sau đây liệt kê tất cả các điểm yếu và các công cụ đã tuyên bố là giảm thiểu những độ rủi ro đó. Ngoài ra, trong danh sách này có một số các công cụ kiểm thử độ an toàn đã biết. Các công cụ về an toàn VoIP đã được kiểm thử hướng đến một tập giới hạn các điểm yếu đã nhận biết. Hơn nữa, các công cụ thường không thực thi như đã tuyên bố, vì các kết quả đó là ở mức tốt nhất. Các phát hiện này nhằm khuyến nghị rằng các chuyên gia bảo mật nên cần cẩn trọng trong việc tin cậy vào hệ thống các mạng của họ nếu chỉ dựa trên các công cụ đánh giá như vậy.

3. Kết luận

Bài báo này đã phân tích rõ, nhiều công cụ bảo mật VoIP phổ biến mới đề cập đến một phần nhỏ các điểm yếu đã biết, không cung cấp mức độ bao phủ mà các nhà phát triển đưa ra và cài đặt, cấu hình không thuận tiện. Rõ ràng, các công cụ bảo mật VoIP vẫn trong giai đoạn ban đầu và tiếp tục phát triển. Những nỗ lực như VoIP Security Alliance đưa ra nhằm tăng cường việc nghiên cứu và phần mềm bảo mật VoIP. Tuy nhiên, nó là rất khó khăn để phát triển các công cụ hướng đến nhiều điểm yếu đã phác thảo trong bài này. Thực sự, công cụ  như vậy có thể là rất hữu ích trong việc nhận biết các điểm yếu cụ thể. Tuy nhiên, với bất kỳ công cụ nào, vấn đề quan trọng là nhận biết những giới hạn của chúng và không được lạm dụng chúng để đưa đến những nhận biết sai lầm về bảo mật.