AN TOÀN ĐỊNH TUYẾN INTERNET VỚI RPKI: CÂU CHUYỆN KHÔNG CỦA RIÊNG AI
Dù bạn hay công ty của bạn chi hàng ngàn, chục hoặc vài trăm ngàn USD để trang bị các thiết bị tường lửa (Firewall), phòng chống tấn công (IPS/IDS), chống phần mềm độc hại (Anti Malware, Mail Gateway) ... để bảo mật cho hệ thống mạng nhưng điều gì sẽ xảy ra khi bạn kết nối và trao đổi thông tin với bên ngoài thông qua môi trường Internet?
Câu chuyện của một công ty
Vào đầu năm nay, ngày 03/02/2022, sàn giao dịch tiền ảo KLAYswap của Hàn Quốc đã bị những kẻ tấn công mạng đánh cắp khoảng 2 triệu USD. Điều đáng nói là những kẻ tấn công không hề xâm nhập hay khai thác bất kỳ lỗ hổng bảo mật nào đối với hệ thống mạng của KLAYswap. Vậy cuộc tấn công đã được thực hiện như thế nào? Hình dưới đây minh họa cách thức của cuộc tấn công này.
Hình 1: Mô tả cách thức tấn công KLAYswap (theo Kentik.com)
KLAYswap cho phép người dùng không chỉ giao dịch qua ứng dụng mà còn cả trên nền Web. Khi người dùng truy cập qua Web thì một Java Script được tải tự động từ Server của công ty Kakao, là đối tác kỹ thuật của KLAYswap. Lợi dụng cơ chế hoạt động này, kẻ tấn công đã giả mạo vùng địa chỉ IP chứa trang developers.kakao.com và hướng khách hàng đến Server có Java Script bị sửa đổi. Java Script mới này chứa tài khoản của kẻ tấn công nên mọi giao dịch tiền ảo đều chuyển về tài khoản này. Hậu quả công ty KLAYswap phải đền bù toàn bộ số tiền cho khách hàng bị tấn công giả mạo.
Như vậy cuộc tấn công này không xâm nhập trực tiếp vào hệ thống của KLAYswap hay Kakao. Cách thức tấn công ở đây là tiến hành chiếm dụng và quảng bá trái phép vùng địa chỉ mạng (IP Network Address) của công ty Kakao với độ ưu tiên lớn hơn để làm thay đổi hướng dữ liệu của khách hàng. Việc này cũng giống như có kẻ giả mạo bảng hiệu chỉ đường để yêu cầu chuyển hướng giao thông nhằm thực hiện ý đồ xấu.
Hình 2: Giả mạo bảng hiệu để điều hướng giao thông
Kiểu tấn công giả mạo một vùng địa chỉ IP và quảng bá (nhằm điều hướng dữ liệu) thông qua giao thức định tuyến BGP được gọi là BGP Hijacking.
Câu chuyện của nhiều công ty
Ngày 01/04/2020 có lẽ là ngày cá tháng tư đáng nhớ nhất đối với cộng đồng an toàn không gian mạng. Công ty viễn thông của Nga Rostelecom đã thực hiện cuộc tấn công theo kiểu BGP Hijacking để chiếm dụng 8.877 địa chỉ mạng (IP Route) của hơn 200 hệ thống mạng (Autonomous System) trong đó gồm cả những công ty rất lớn như: Google, Amazon, Facebook, Akamai, Cloudflare, GoDaddy, Digital Ocean, Joyent, LeaseWeb, Hetzner, Linode ... Như vậy, chỉ cần tác động của một nhà mạng là có thể làm thay đổi hướng dữ liệu Internet của rất nhiều công ty khác ở khắp các nơi.
Hình 3: Mô tả sự cố do Rostelecom gây ra
Các chuyên gia bảo mật đặt nghi vấn đối với động cơ hành động của nhà mạng này vì đây không phải là sự việc xảy ra lần đầu mà họ còn để xảy ra một số vụ khác, điển hình như:
- Tháng 4/2017 toàn bộ luồng dữ liệu Internet của MasterCard, Visa, HSBC và hơn 20 công ty dịch vụ tài chính khác đã bị định hướng qua nhà mạng này.
- Mới đây, cuộc tấn công kéo dài 12 tiếng vào ngày 26/07/2022 khiến một phần lưu lượng Internet của hãng Apple bị điều hướng sang Nga được thực hiện bởi Rostelecom.
Câu chuyện của một quốc gia
Câu chuyện điều khiển lưu lượng này có thể xảy ra đối với lưu lượng có đích đến là một quốc gia khác. Như tháng 2/2016, China Telecom đã tác động làm cho luồng dữ liệu từ Canada truy cập các trang Web của chính phủ Hàn Quốc phải đi vòng qua Trung Quốc. Sự kiện này kéo dài trong 6 tháng.
Hình 4: Lưu lượng từ Canada về Hàn Quốc bị can thiệp (theo cyberdefensemagazine.com)
Một sự kiện tương tự cũng xảy ra vào tháng 10/2016, luồng dữ liệu Internet từ một số nơi trên lãnh thổ Mỹ đến trụ sở chính của ngân hàng Anglo-American đặt tại Milan, Ý cũng đã bị điều hướng về Trung Quốc bởi China Telecom.
Như vậy từ một đất nước có thể tấn công điều hướng luồng dữ liệu đi đến một đất nước khác mà không cần có sự hiện diện tại đất nước bị tấn công. Điều này có thể xảy ra với bất kỳ quốc gia nào.
Những sự cố liên quan đến BGP Hijacking thường được phân tích và công bố rộng rãi để mọi người có ý thức và biện pháp phòng chống nhưng việc này lại vô tình khiến nhiều kẻ bắt chước nên cách thức tấn công thường lặp lại. Chính vì thế ai cũng có thể là nạn nhân tiếp theo của kiểu tấn công BGP Hijacking, bất kể không gian, bất kể thời gian, bất kể là người dùng cuối, doanh nghiệp hay một quốc gia.
Câu chuyện về BGP
BGP là giao thức định tuyến chính và duy nhất của mạng Internet giúp trao đổi thông tin địa chỉ IP của những hệ thống mạng có kết nối Internet. Mỗi hệ thống có một số hiệu mạng (Autonomous Sytem Number-ASN) duy nhất để đại diện. Tất cả vùng địa chỉ IP của mỗi hệ thống đều có chung số hiệu mạng và đây là thuộc tính để BGP chọn đường đi ngắn nhất giữa hai vị trí thông qua số lượng ASN giữa nguồn và đích.
Hình 5: AS Number đại diện cho mỗi hệ thống mạng kết nối Internet
Ban đầu mạng Internet chỉ gồm những cơ quan nghiên cứu và các trường đại học kết nối, người sử dụng là các chuyên gia và nhà khoa học, phạm vi của Internet lúc đó còn nhỏ nên không ai nghĩ đến các hình thức tấn công qua mạng Internet như sau này. Vì thế BGP được thiết kế mà không yêu cầu tính bảo mật cao và việc trao đổi thông tin giữa các hệ thống được tin cậy lẫn nhau. Chính sự “tin cậy trong sáng” này đã bị khai thác thông qua kiểu tấn công BGP Hijacking. Khi kẻ gian quảng bá một vùng IP không phải của chính mình với độ ưu tiên cao hơn thì BGP không có cơ chế nào để xác định vùng IP đó có tương ứng với ASN của kẻ giả mạo hay không.
Hình 6: Cách thức tấn công BGP Hijacking
Bất kỳ một kẻ gian nào từ ASN của mình cũng có thể giả mạo các vùng địa chỉ IP thuộc ASN khác rồi quảng bá qua BGP để điều hướng dữ liệu. Vì thế cần có cơ chế hỗ trợ xác thực cho BGP, hiện nay có 2 cơ chế cho việc xác thực này:
- RPKI ((Resource Public Key Infrastructure): Là cơ chế mã hóa và xác thực thông tin định tuyến BGP thông qua vùng địa chỉ mạng, độ dài tiền tố mạng (Prefix Length) và số hiệu mạng ASN tương ứng.
- BGPSec (BGP Security Protocol): Là cơ chế bổ sung thuộc tính mới BGPSec_Path thay vì AS_Path. Thuộc tính BGPSec_Path có cơ chế mã hóa riêng giúp các Router khác có thể kiểm tra một tuyến đường BGP (BGP Route) có bị giả mạo hay chèn thông tin ASN bất hợp pháp hay không.
RPKI sử dụng một hệ thống bên ngoài hỗ trợ xác thực cho BGP còn BGPSec yêu cầu thay đổi thuộc tính của BGP nên sẽ khó triển khai hơn và hiện nay BGPSec vẫn còn đang được nghiên cứu và phát triển, chưa áp dụng trong thực tế.
Nền tảng hỗ trợ xác thực cho cơ chế RPKI chính là hạ tầng mã hóa với khóa công khai (Public Key Infrastructure-PKI). Đây là nền tảng mã hóa và xác thực được tin tưởng và sử dụng phổ biến nhất hiện nay. Dưới đây là sơ đồ mô tả hoạt động của PKI.
Hình 7: Mô hình của hạ tầng mã hóa với khóa công khai
Với PKI, khi hai bên cần trao đổi dữ liệu với nhau sẽ sử dụng cặp khóa công khai (Public Key) và khóa kín (Private Key) để mã hóa và giải mã dữ liệu. Đơn vị chứng thực (Certificate Authority – CA) là bên thứ 3 có nhiệm vụ cung cấp và xác thực chứng nhận số cho các bên tham gia.
Câu chuyện về RPKI
RPKI (Resource Public Key Infrastructure) là hạ tầng mã hóa với khóa công khai nhằm chứng thực tài nguyên Internet hay còn gọi là công nghệ ký số tài nguyên. RPKI ứng dụng PKI để xác thực tài nguyên thông qua cặp khóa Pulic Key và Private Key nhưng mục tiêu của RPKI là ký số (Digitally Sign) để xác nhận những vùng địa chỉ IP nào thuộc quyền sở hữu của một ASN. Từ đó phòng tránh được sự giả mạo địa chỉ IP để tiến hành tấn công BGP Hijacking.
Hình 8: Thành phần và hoạt động của công nghệ RPKI (theo APNIC)
Hệ thống RPKI sẽ gồm có hai quá trình chính đó là ký số ROA (Route Origin Authorization) và xác thực ROV (Route Origin Validation) có chức năng tương ứng như sau:
- ROA: Tạo chứng nhận số (Digital Certificate) để xác nhận những vùng địa chỉ IP nào do một ASN quản lý.
- ROV: Xác thực vùng địa chỉ IP có thuộc sở hữu của các ASN (đã hoặc chưa được khai báo ROA) và những địa chỉ IP nào đang bị giả mạo (sai với thông tin đã khai báo ROA).
ROA là các tập tin dạng văn bản được mã hóa bằng Private Key của đơn vị cấp phát tài nguyên cấp vùng RIR (Regional Internet Registry), trừ một số rất ít từ quốc gia có vai trò CA. Trên thế giới có 5 RIR và vực châu Á-Thái Bình Dương do RIR có tên là APNIC quản lý. Các RIR tập hợp thông tin ROA thuộc phạm vi quản lý thành 5 cơ sở dữ liệu (Repository).
Hình 9: Danh sách 5 RIR quản lý tài nguyên Internet và cơ sở dữ liệu RPKI ROA
ROV là những máy chủ cài đặt phần mềm chuyên dụng nhằm tải dữ liệu từ các ROA Reposity, sau đó sử dụng Public Key của RIR để giải mã và liệt kê danh sách những vùng địa chỉ IP thuộc quyền quản lý của mỗi ASN. Các thông tin xác thực này được thông báo cho các BGP Router để đánh giá những địa chỉ IP do BGP nhận được có những vùng nào đang bị giả mạo. Kết quả các BGP Router sẽ loại bỏ các thông tin giả mạo và chặn đứng cuộc tấn công BGP Hijacking.
RPKI là một hệ thống độc lập hỗ trợ xác thực cho BGP trong đó ROA là điều kiện cần và ROV là điều kiện đủ để ngăn chặn cuộc tấn công BGP Hijacking. Chính vì thế các tổ chức, đơn vị đang sở hữu địa chỉ IP và ASN cần phải khai báo sớm ROA để tránh bị giả mạo địa chỉ. Trong khi việc triển khai ROV giúp loại bỏ các địa chỉ giả mạo để không trở thành nạn nhân của các cuộc tấn công BGP Hijacking.
Cuối năm 2022, trên thế giới số lượng địa chỉ IPv4 đã khai báo ROA (Valid) chiếm 38,04% còn tỉ lệ chưa khai (Not found) chiếm đến 60,84%. Số lượng địa chỉ IP bị giả mạo (Invalid) chiếm 1,12% tương ứng với 11.297 vùng địa chỉ, đây là số lượng không nhỏ.
Hình 10: Tỉ lệ khai báo ROA toàn thế giới
Tại Việt Nam, các nhà mạng và các đơn vị có địa chỉ IP độc lập đã chủ động triển khai áp dụng RPKI trong những năm qua. Hiện tại, số lượng và tỉ lệ địa chỉ khai báo ROA của nước ta khá cao so với thế giới. Nhiều đơn vị trong nước đã triển khai rất tốt việc khai báo này. Với sự truyền thông, chia sẻ và hỗ trợ từ Trung tâm Internet Việt Nam (VNNIC) trong thời gian sắp tới việc triển khai RPKI sẽ được đẩy mạnh và triệt để hơn.
Hình 11: Tình hình triển khai ROA của Việt Nam
Khép lại các câu chuyện
Như đã trình bày ở trên, những cuộc tấn công BGP Hijacking có thể diễn ra bất kỳ ở đâu, thời gian nào hay quy mô của mục tiêu và giải pháp là công nghệ RPKI. Trong giải pháp này, ROA là sự chủ động mà mỗi đơn vị cần thực hiện nhằm bảo vệ tài nguyên IP của mình tránh trở thành mục tiêu bị tấn công còn ROV giúp phát hiện địa chỉ giả mạo để không trở thành nạn nhân của các cuộc tấn công. Việc phòng tránh này không chỉ ở quy mô trong nước mà cả ở phạm vi toàn cầu.
Tại Việt Nam, VNNIC là đơn vị chủ trì hỗ trợ triển khai RPKI cho các thành viên. Các đơn vị trong nước cần triển khai ROA có thể tìm hiểu thông tin và trình tự thực hiện khai báo tại địa chỉ vnnic.vn/diachiip/quytrinh.
Đối với việc triển khai hệ thống ROV thì đòi hỏi nhiều hành động hơn. Các đơn vị cần có kiến thức về RPKI, đầu tư thiết bị Server, tích hợp với hệ thống hiện tại, quy hoạch ... Những nội dung này cũng đã được VNNIC hỗ trợ thông qua các chương trình đào tạo và hội thảo về RPKI. Trang Web VNNIC Internet Academy: academy.vnnic.vn hiện là nơi cung cấp nhiều bài giảng lý thuyết cũng như thực hành về RPKI.
Những cuộc tấn công BGP Hijacking thường gây ra những hậu quả lớn, phạm vi ảnh hưởng rộng và có thể nghiêm trọng nên triển khai RPKI là xu hướng và điều cần làm cho một môi trường Internet an toàn. Vì thế cần có sự chung tay, quyết tâm và đặc biệt triển khai sớm của các tổ chức, đơn vị trong nước nhằm xây dựng một không gian mạng an toàn hơn ở quy mô quốc gia.
TÀI LIỆU THAM KHẢO:
https://www.catchpoint.com/blog/bgp-hijack-april-fools
https://commsrisk.com/china-telecom-misdirected-net-traffic-through-china/
https://rpki-monitor.antd.nist.gov/ROV
Nguyễn Văn Bình
Bài viết cùng danh mục
-
AN TOÀN ĐỊNH TUYẾN INTERNET - THÁCH THỨC ĐỐI VỚI HOẠT ĐỘNG INTERNET VIỆT NAM
-
SỰ CỐ BGP ROUTE LEAK VÀ GIẢI PHÁP TỐI ƯU TỪ RFC-9234
-
MUD (Manufacturer Usage Descriptions) trong bảo mật IoT
-
Thiết bị IoT- Các rủi ro ATTT và các giải pháp khắc phục