PPTP

Bách khoa toàn thư mở Wikipedia
Bước tới điều hướng Bước tới tìm kiếm

Trong mạng máy tính, giao thức đường hầm PPP (PPTP) là một phương pháp lỗi thời để thực hiện các mạng riêng ảo. PPTP có nhiều vấn đề bảo mật nổi tiếng.

PPTP sử dụng kênh điều khiển TCP và đường hầm đóng gói định tuyến chung để đóng gói các gói PPP. Nhiều VPN hiện đại sử dụng các dạng UDP khác nhau cho cùng chức năng này.

Đặc tả PPTP không mô tả các tính năng mã hóa hoặc xác thực và dựa vào giao thức PPP được tạo đường hầm để triển khai bất kỳ và tất cả các chức năng bảo mật.

Việc triển khai PPTP đi kèm với các dòng sản phẩm Microsoft Windows thực hiện các cấp độ xác thực và mã hóa khác nhau như các tính năng tiêu chuẩn của ngăn xếp PPTP Windows. Mục đích sử dụng của giao thức này là cung cấp mức độ bảo mật và mức độ truy cập từ xa có thể so sánh được với các sản phẩm VPN điển hình.

Lịch sử[sửa | sửa mã nguồn]

Một thông số kỹ thuật cho PPTP được xuất bản vào tháng 7 năm 1999 với tên RFC 2637[1] và được phát triển bởi một tổ hợp nhà cung cấp được thành lập bởi Microsoft, Ascend Communications (ngày nay là một phần của Nokia), 3Com và những người khác.

PPTP chưa được đề xuất hoặc phê chuẩn như một tiêu chuẩn bởi Lực lượng Đặc nhiệm Kỹ thuật Internet.

Mô tả[sửa | sửa mã nguồn]

Một đường hầm PPTP được khởi tạo bằng cách giao tiếp với đồng đẳng trên cổng TCP 1723. Kết nối TCP này sau đó được sử dụng để khởi tạo và quản lý một đường hầm GRE đến cùng một đồng đẳng. Định dạng gói PPTP GRE không phải là tiêu chuẩn, bao gồm một trường số xác nhận mới thay thế trường định tuyến điển hình trong tiêu đề GRE. Tuy nhiên, như trong một kết nối GRE thông thường, các gói GRE đã sửa đổi đó được đóng gói trực tiếp thành các gói IP và được coi là giao thức IP số 47. Đường hầm GRE được sử dụng để mang các gói PPP được đóng gói, cho phép tạo đường hầm của bất kỳ giao thức nào có thể được thực hiện bên trong PPP, bao gồm IP, NetBEUIIPX.

Trong quá trình triển khai của Microsoft, lưu lượng PPP trong đường hầm có thể được xác thực bằng PAP, CHAP, MS-CHAP v1/v2.

Bảo mật[sửa | sửa mã nguồn]

PPTP đã là chủ đề của nhiều phân tích bảo mật và các lỗ hổng bảo mật nghiêm trọng đã được tìm thấy trong giao thức. Các lỗ hổng đã biết liên quan đến các giao thức xác thực PPP cơ bản được sử dụng, thiết kế của giao thức MPPE cũng như sự tích hợp giữa xác thực MPPEPPP để thiết lập khóa phiên[2][3][4][5].

Dưới đây là tóm tắt về các lỗ hổng bảo mật này:

  • MS-CHAP-v1 về cơ bản là không an toàn. Các công cụ tồn tại để trích xuất một cách thủ công các băm mật khẩu NT từ một trao đổi MSCHAP-v1 đã chiếm được[6].
  • Khi sử dụng MS-CHAP-v1, MPPE sử dụng cùng một khóa phiên RC4 để mã hóa theo cả hai hướng của luồng giao tiếp. Điều này có thể được phân tích bằng các phương pháp tiêu chuẩn bằng cách XOR các luồng từ mỗi hướng lại với nhau[7].
  • MS-CHAP-v2 dễ bị tấn công từ điển vào các gói phản hồi thử thách đã bắt được. Có các công cụ để thực hiện quá trình này một cách nhanh chóng[8].
  • Vào năm 2012, người ta đã chứng minh rằng mức độ phức tạp của một cuộc tấn công brute-force trên một khóa MS-CHAP-v2 tương đương với một cuộc tấn công brute-force trên một khóa DES. Một dịch vụ trực tuyến cũng đã được chứng minh có khả năng giải mã cụm mật khẩu MS-CHAP-v2 MD4 trong 23 giờ[9][10].
  • MPPE sử dụng mật mã dòng RC4 để mã hóa. Không có phương pháp xác thực dòng bản mã và do đó bản mã dễ bị tấn công lật bit. Kẻ tấn công có thể sửa đổi luồng đang chuyển tiếp và điều chỉnh các bit đơn lẻ để thay đổi luồng đầu ra mà không có khả năng bị phát hiện. Các bit lộn xộn này có thể được phát hiện bởi chính các giao thức thông qua tổng kiểm tra hoặc các phương tiện khác[6].

EAP-TLS được coi là sự lựa chọn xác thực ưu việt cho PPTP[11], tuy nhiên, nó yêu cầu triển khai cơ sở hạ tầng khóa công khai cho cả chứng chỉ máy kháchmáy chủ. Do đó, nó có thể không phải là một tùy chọn xác thực khả thi đối với một số cài đặt truy cập từ xa. Hầu hết các mạng sử dụng PPTP đều phải áp dụng các biện pháp bảo mật bổ sung hoặc bị cho là hoàn toàn không phù hợp với môi trường internet hiện đại. Đồng thời, làm như vậy có nghĩa là phủ nhận những lợi ích nói trên của giao thức đến một thời điểm nào đó[12].

Xem thêm[sửa | sửa mã nguồn]

Tham khảo[sửa | sửa mã nguồn]

  1. ^ RFC 2637
  2. ^ “Malware FAQ: Microsoft PPTP VPN”. Truy cập ngày 29 tháng 6 năm 2017.
  3. ^ “Microsoft says don't use PPTP and MS-CHAP”. Truy cập ngày 3 tháng 11 năm 2012.
  4. ^ “A death blow for PPTP”. Truy cập ngày 3 tháng 11 năm 2012.
  5. ^ “Differences between PPTP and L2TP”. bestvpnrating. Truy cập ngày 7 tháng 8 năm 2016.
  6. ^ a b Bruce Schneier, Cryptanalysis of Microsoft's Point to Point Tunneling Protocol (PPTP) Lưu trữ 2011-06-04 tại Wayback Machine.
  7. ^ Bruce Schneier, Cryptanalysis of Microsoft's PPTP Authentication Extensions (MS-CHAPv2), ngày 19 tháng 10 năm 1999.
  8. ^ Joshua, Wright. “Asleap”. Truy cập ngày 1 tháng 11 năm 2017.
  9. ^ “Divide and Conquer: Cracking MS-CHAPv2 with a 100% success rate”. 29 tháng 7 năm 2012. Bản gốc lưu trữ ngày 16 tháng 3 năm 2016. Truy cập ngày 7 tháng 9 năm 2012.
  10. ^ “Marlinspike demos MS-CHAPv2 crack”. 31 tháng 7 năm 2012. Truy cập ngày 7 tháng 9 năm 2012.
  11. ^ Choosing EAP-TLS or MS-CHAP v2 for User-Level Authentication, Microsoft TechNet, ngày 28 tháng 3 năm 2003
  12. ^ “VPN Protocol Comparison: IKEv2 vs IKEv1 vs OpenVPN vs L2TP vs PPTP”. VPN Unlimited Blog. ngày 14 tháng 5 năm 2018. Truy cập ngày 19 tháng 6 năm 2018.

Liên kết ngoài[sửa | sửa mã nguồn]