Biện pháp ngăn chặn tấn công từ chối dịch vụ vào các kết nối giữa các SIP Proxy
Diễn đàn - Ngày đăng : 21:58, 03/11/2015
Về cơ bản kiểu tấn công này làm cho dịch vụ trở nên quá tải, người dùng gặp khó khăn trong việc gọi tới các thuê bao cần gọi. Thông qua việc giới thiệu một cách thức tấn công trong giao thức SIP để đưa ra những biện pháp, những khuyến nghị an ninh nhằm tăng cường bảo mật cho các nhà cung cấp dịch vụ VoIP.
1. Nguyên lý hoạt động của SIP giữa các SIP Proxy
Giao thức khởi tạo phiên SIP (Secssion Initiation Protocol) là giao thức điều khiển báo hiệu thuộc lớp ứng dụng được sử dụng để thiết lập, duy trì và kết thúc các phiên multimedia hay các cuộc gọi qua mạng nền IP. Các phiên làm việc cũng có thể là hội nghị đa phương tiện, cuộc gọi điện thoại điểm – điểm,… Trong đó, SIP Proxy (hay Proxy Server) có thể được coi như các router thiết bị đầu cuối SIP làm nhiệm vụ chuyển tiếp các yêu cầu và trả lời. Như vậy một trong những chức năng của Proxy Server đó là chức năng định tuyến.
Nguyên lý hoạt động: Các nhà cung cấp mạng thế hệ tiếp theo (NGN) cung cấp dịch vụ SIP tới khách hàng. Khách hàng có thể gọi khách hàng của nhà cung cấp mạng khác qua SIP Services và các SIP Gateways. Các SIP Gateways sử dụng SIP Trunks cho khởi tạo cuộc gọi đã được xác thực và tính cước. Luồng cuộc gọi SIP (SIP Call Flow) được mô tả như Hình 1.
Trong nhiều trường hợp, SIP trunk có thể được đại diện là một địa chỉ IP hoặc một “specific FROM number”. Việc đáp ứng hoặc xác nhận chúng dựa trên sự xác thực là chậm đối với yêu cầu trong trường hợp này là đếm số cuộc gọi lớn. Bởi thế các SIP trunk không có Password hoặc không ứng dụng bộ lọc cơ sở IP cho sự xác nhận đường trunk. Các SIP trunk này sử dụng các “specific FROM numbers” hoặc Proxy Fields để khởi tạo 1 cuộc gọi. Bên cạnh đó hầu hết các đường SIP trunk có đặc quyền INVITE trực tiếp mà không cần REGISTER.
Khi môt bản tin INVITE được gửi để thiết lập cuộc gọi thì Proxy sẽ chuyển tiếp bản tin đó đồng thời duy trì kết nối cho sự thiết lập này cho đến khi kết nối bị hủy hoặc hết thời gian time out. Lợi dụng điều này Attacker có thể thực hiện tấn công bằng cách gửi nhiều bản tin INVITE giả mạo. Đích đến của các cuộc tấn công này là Proxy Server.
Khi kẻ tấn công gửi quá nhiều gói tin giả mạo khiến cho Proxy quá tải dẫn đến làm giảm hiệu năng của các Proxy, trong nhiều trường hợp có thể gây treo và phải khởi động lại hệ thống.
2. Cách thức tiến hành tấn công trên phân đoạn SIP TRUNK
Cách thức tiến hành có thể tổng kết lại như sau [1]:
- Nhận 1 tài khoản (Account) hoặc cuộc gọi của khách
- Nhận 1 yêu cầu INVITE có sẵn.
- Kiểm tra cổng SIP đích cho INVITE Spoofing với tài khoản đã được biết.
- Gửi IP Spoofed INVITE Requests.
4.1. Tạo mẫu INVITE Spoofing.
4.2. Địa chỉ IP cho vòng lặp (IP Addresses For Loop)
4.3. Số Port cho vòng lặp (Port Numbers For Loop)
4.4. Thay đổi biến INVITE (INVITE Variables) cho Spoofed IP Address and Port( địa chỉ IP và Port ảo)
4.5. Thiết lập trường FROM như IP:Port
Hậu quả của việc tấn công từ chối dịch vụ SIP trên phân đoạn SIP trunk làm cho SIP Proxy bị từ chối dịch vụ, không thể đáp ứng được các cuộc gọi của khách hàng. Các cuộc tấn công từ chối dịch vụ này với mục đích phá hoại hay mục đích cạnh tranh thương mại đều làm suy giảm nghiêm trọng uy tín của nhà cung cấp dịch vụ đối với khách hàng.
3. Biện pháp ngăn chặn tấn công
3.1. Anti - Spoofing
· Anti – Spoofing: Bằng cách tạo ra danh sách các User hợp lệ có quyền truy cập. Mỗi User này được gán một giá trị Priority dựa vào địa chỉ IP nguồn. Ở đây sẽ có 2 hình thức để lựa chọn:
ü Block tất cả các User không có giá trị Priority này truy cập vào, muốn truy cập thì các User phải đăng ký.
ü Không Block các User này mà thực hiện xử lý theo cách sau: Ưu tiên chuyển tiếp các bản tin của các User có gán giá trị Priority.
· Yêu cầu xác thực: Lỗ hổng ở đây là các đường SIP trunks gửi bản tin INVITE trực tiếp mà không cần REGISTER. Chính vì vậy giải pháp được đưa ra là yêu cầu các đường này gửi bản tin INVITE đi kèm với việc xác thức User.
Sau khi nhận được bản tin INVITE, thay vì chuyển tiếp bản tin đó thì SIP Proxy gửi lại cho bên gửi bản tin 407 (Proxy Authentication Required) trong đó có mã xác thực trong trường Proxy-Authorization. Bản tin INVITE này chỉ được chuyển tiếp khi SIP Proxy khi chúng nhận được đúng mã xác thực tương ứng với địa chỉ IP nguồn.
Ưu điểm: Đơn giản, tiết kiệm chi phí vì không phải sử dụng thiết bị của hãng thứ 3, việc xác thực đã có trong chuẩn.
Nhược điểm: SIP Proxy ngoài chức năng định tuyến còn phải giải quyết vấn đề xác thực, vì vậy hiệu năng của thiết bị giảm ngay khi không bị tấn công.
3.2. Sử dụng các bộ lọc ( firewall, IDS)
Đề xuất được đưa ra ở đây là dùng các thiết bị chuyên dụng của hãng thứ 3. Các thiết bị này hoạt động trên nguyên lý chung là dùng các bộ lọc. Thường chúng ta sẽ dùng 2 bộ lọc lần lượt là lọc bản tin SIP rồi sau đó lọc các bản tin SIP hợp lệ
Các thiết bị lọc này thông thường là firewall, IDS với các lựa chọn là dùng riêng rẽ hay kết hợp cả hai. Firewall và IDS dùng các luật (rules) làm cơ sở cho các bộ lọc của chúng. Các biện pháp cụ thể được đưa ra là:
· Thực hiện các chính sách về giám sát và lọc các bản tin SIP dùng IDS: duy trì các danh sách người dùng đáng ngờ làm cơ sở cho các quy tắc lọc. Các yếu tố mà có thể quyết định là xâm nhập trái phép dựa trên nguyên nhân gia tăng đột ngột lưu lượng đến Proxy hoặc các cuộc gọi xuất phát từ 1 User mà xác suất lỗi (fail) cao hoặc nội dung bản tin bị thay đổi đến máy chủ.
· Triển khai bảo vệ theo nhiều lớp bằng cách đặt 1 firewall trước IDS. Mô hình sau có thể tham khảo:
Ưu điểm: Việc kết hợp giữa Firewall và IDS giúp phát hiện sớm các tấn công DOS vào miền SIP Trunk, đồng thời ngăn chặn đáng kể các tấn công này từ những tài khoản không được xác thực hay từ 1 người dùng có ý đồ xấu.
Nhược điểm: Việc đưa ra các luật cho các hình thức tấn công mới cần có sự nghiên cứu và phân tích kỹ về hành vi tấn công. Đồng thời cần triển khai các thiết bị giám sát, phát hiện, ngăn ngừa một cách hợp lý để không làm ảnh hưởng tới hiệu năng mạng.
4. Kết luận
Thực tế chỉ ra rằng mặc dù tấn công DoS chỉ diễn ra trong thời gian ngắn nhưng hậu quả gây ra của nó rất nghiêm trọng. Bài báo đã giới thiệu một nguy cơ tấn công vào miền SIP trunk gây ra dạng tấn công DOS ATTACK và đưa ra một số biện pháp phòng ngừa. Đồng thời đưa ra một vài kết quả thử nghiệm để chứng minh điều này.
Tài liệu tham khảo
[1]. FATIH ÖZAVCL, Hacking Trust Relationships of SIP Gateways.
[2]. XIANGLIN DENG, Advanced Flooding Attack on a SIP Server.
[3]. FELIPE HUICI, SAVERIO NICCOLINI, NICO D’HEUREUSE, Protecting SIP against Very Large Flooding DoS Attacks.
[4]. ERIC REEVES, SIP INVITE Flood: Testing an Asterisk VoIP Server against a DDoS Attack, October 17, 2011
[5]. GASTON ORMAZABAL, SARVESH NAGPAL, EDILON YARDENI and HENNING SCHULZRINNE, Secure SIP: A Scalable Prevention Mechanism for DoS Attack on SIP Based VoIP Systems.
[6]. SVEN EHLERT, GE ZHANG, DIMITRIS GENEIATAKIS, GEORGIOS KAMBOURAKIS, TASOS DAGIUKLAS, JIRI MAFKL, DORGHAM SISALEM,Two layer Denial of Service prevention on SIP VoIP Infrastructures.