ROA (Route Origin Authorization), bir IP bloğunu hangi otonom sistemin BGP ile duyurmaya yetkili olduğunu belirten imzalı kayıttır. BGP, otonom sistemler arasında ağlara ulaşma bilgisini paylaşan yönlendirme protokolüdür. ROA, IP adresi kaynakları üzerindeki yetkiyi sertifikalarla doğrulayan RPKI (Resource Public Key Infrastructure) altyapısında yayımlanır.

Yetkilendirme; prefix, kaynak ASN ve izin verilen prefix uzunluğunu kapsar. ROA, BGP yolunun tamamını veya duyurunun kötü niyetli olup olmadığını doğrulamaz.

Bir ROA Kaydındaki Üç Temel Alan

Ağ işletmecisi ROA içeriğini anlamak için üç alanı birlikte okumalıdır. Tek başına ASN veya prefix bilgisi, duyurunun yetkili sayılıp sayılmayacağını belirlemeye yetmez.

Prefix Alanının Kapsadığı Adres Bloğu

Prefix, IP adresi ile prefix uzunluğundan oluşur ve yetkinin kapsadığı ağ bloğunu tanımlar. Örneğin 198.51.100.0/24 ifadesi, ilk 24 bitin ağ bölümünü belirlediği ilgili IPv4 bloğunu temsil eder.

Bir BGP duyurusunun ROA ile karşılaştırılabilmesi için duyurulan ağın ROA prefixiyle aynı olması veya onun içinde yer alan daha özgül bir prefix olması gerekir. Daha özgül duyurunun izin verilen uzunluk aralığında olup olmadığını maxLength alanı belirler. Duyurunun kabul edilmesi ise ağın yönlendirme politikasına bağlıdır.

Kaynak ASN Alanındaki Yetkili Otonom Sistem

Kaynak ASN, yetkilendirilen otonom sistem numarasıdır. BGP duyurusunun kaynak ASN'si bu değerle eşleşmiyorsa, prefix kapsama girse bile ilgili ROA o duyuruyu geçerli kılmaz.

Bir ROA nesnesi tek bir kaynak ASN taşır ancak birden fazla prefix içerebilir. Aynı prefix farklı ASN'lerden meşru olarak duyurulacaksa ağ işletmecisi her ASN için ayrı yetkilendirme yayımlamalıdır.

maxLength Alanının İzin Verdiği Prefix Uzunluğu

maxLength isteğe bağlıdır. Alan bulunmuyorsa izin verilen en uzun prefix uzunluğu, ROA'da belirtilen prefix uzunluğuna eşittir; başka bir deyişle yalnız ROA'da belirtilen prefix yetkilendirilir.

Örneğin 198.51.100.0/24 için maxLength belirtilmemişse, aynı ASN'den gelen 198.51.100.0/24 duyurusu eşleşebilir ancak /25 duyuruları eşleşmez. maxLength değeri 25 olarak yazılırsa aynı blok içindeki /24 ve /25 duyuruları, kaynak ASN de eşleştiği sürece yetki kapsamına girebilir. Bu örnek yalnız alanın etkisini gösterir; geniş bir maxLength kullanmanın her ağ için doğru olduğu anlamına gelmez.

ROA Verisi Doğrulama Sonucuna Nasıl Dönüşür?

RPKI doğrulayıcıları, geçerli ROA nesnelerinden prefix, azami uzunluk ve ASN içeren VRP (Validated ROA Payload) kayıtları üretir. Bir BGP duyurusu geldiğinde duyurulan prefix ve kaynak ASN bu kayıtlarla karşılaştırılır.

Aynı duyuruyu kapsayan birden fazla VRP bulunabilir. Duyurunun Valid (geçerli) sayılması için bunlardan en az birinin hem kaynak ASN hem de prefix uzunluğu koşulunu karşılaması yeterlidir; diğer kayıtlarla eşleşmemesi tek başına Invalid (geçersiz) sonucu doğurmaz.

Sonuç, duyurunun tüm yönlendirme özelliklerine ilişkin bir güvenlik hükmü değildir. Yalnızca kaynak otonom sistemin o prefixi belirtilen uzunluk sınırında duyurmak için yayımlanmış bir yetkiye sahip olup olmadığını ifade eder.

Valid, Invalid ve NotFound Sonuçlarının Anlamı

Üç durum arasındaki fark, kapsayan bir ROA yetkisinin bulunup bulunmadığına ve duyurunun bu yetkiyle eşleşip eşleşmediğine dayanır.

DurumROA Açısından AnlamıYaygın Neden
ValidEn az bir yetki kaydı prefixi kapsar; kaynak ASN ve prefix uzunluğu izinle eşleşir.Duyuru, yayımlanmış ROA sınırları içindedir.
InvalidPrefixi kapsayan en az bir yetki vardır ancak hiçbir kayıt hem ASN hem uzunluk koşullarını karşılamaz.Yanlış kaynak ASN veya maxLength sınırından daha özgül duyuru.
NotFound (kayıt bulunamadı)Duyurulan prefixi kapsayan kullanılabilir bir yetki kaydı bulunmaz.Prefix için ROA yayımlanmamış veya doğrulayıcıya ulaşmamıştır.

Invalid Sonucu Neden Tek Başına Saldırı Kanıtı Değildir?

Invalid, duyurunun mevcut ROA verisiyle çeliştiğini gösterir; bunun nedeni her zaman yetkisiz rota duyurularıyla trafiği başka ağa yönlendirme girişimi, yani BGP hijacking değildir. Ağın kaynak ASN'si değişmiş olabilir, yeni bir daha özgül duyuru için ROA güncellenmemiş olabilir veya maxLength sınırı yeni duyuru planına göre ayarlanmamış olabilir.

Bu nedenle Invalid sonucu teknik inceleme gerektiren güçlü bir uyarıdır fakat niyet hakkında kesin hüküm vermez. Ağ işletmecisi duyurulan prefixin sahibini, planlanan kaynak ASN'yi, prefix uzunluğunu ve ROA'nın değiştirildiği zamanı birlikte kontrol etmelidir.

ROA Yetkisini Gerekli Prefix Uzunluklarıyla Sınırlama

Gereğinden geniş maxLength kullanımı, aynı kaynak ASN adına geçerli sayılabilecek daha özgül prefixlerin sayısını artırır. Bir saldırgan yetkili ASN'yi kaynak gibi gösterebildiğinde, geniş bırakılmış uzunluk aralığı daha fazla sahte alt prefixin doğrulamadan geçmesine yol açabilir.

Ağ işletmecisi bu nedenle mümkün olduğunda yalnız gerçekten BGP'de duyurulan prefixleri tam uzunluklarıyla yetkilendirmelidir. Daha özgül duyurular gerekiyorsa her duyurulan prefix ayrı ve dar kapsamlı biçimde yetkilendirilebilir; maxLength kullanılacaksa aradaki tüm uzunluk ve alt prefixlerin de kapsama gireceği hesaba katılmalıdır. Minimal ROA yaklaşımı, gelecekte kullanılabilecek her alt prefixe peşinen izin vermek yerine gerçek duyuru planını yansıtır.

ROA Kaynak Doğrulamasının Kapsamadığı Riskler

ROA verisine dayanan kaynak doğrulaması, BGP duyurusunda belirtilen kaynak ASN'nin ilgili prefix için yetkili olup olmadığını denetler. Duyurunun gerçekten o ASN'den çıktığını, yol üzerindeki bütün otonom sistemleri, ağ yolunun performansını veya trafiğin doğru hedefe ulaştığını doğrulamaz. Geçerli bir kaynak doğrulama sonucu, yolun her aşamasının güvenli olduğu anlamına gelmez.

ROA ayrıca bir duyuruyu otomatik olarak kabul veya reddetmez. Ağ işletmecileri Valid, Invalid ve NotFound durumlarını kendi yönlendirme politikalarına göre değerlendirir; bu nedenle aynı duyuru farklı ağlarda farklı işlem görebilir.

Mevcut ROA Durumu Nasıl İncelenir?

Ağ işletmecisi, yayımlanmış ROA verisinin belirli bir prefix ve kaynak ASN için ürettiği doğrulama sonucunu BGP RPKI Kontrolü aracıyla inceleyebilir. Araç, mevcut verinin Valid, Invalid veya NotFound olarak nasıl yorumlandığını görmeye yardımcı olur; ROA oluşturmaz ve tek başına güvenlik garantisi vermez.

Ağ işletmecisi, sonuç beklediğinden farklıysa önce duyurulan prefixin uzunluğunu, kaynak ASN'yi ve varsa maxLength sınırını karşılaştırmalıdır. ROA yeni değiştirildiyse doğrulayıcının son başarılı güncelleme zamanı da kontrol edilmelidir; yeni yetki bilgisi bütün doğrulayıcılara aynı anda ulaşmayabilir.