Package: rov-collector
rov_collectorDescriptionUsageInstallationTestingCreditsHistoryDevelopment/ContributingLicencePackage DescriptionThis package downloads ROV data from a variety of sources and aggregates this information.
This is useful for simulations where you want to run mixed deployment scenarios
See the citations and explanations for all sources in theCreditsWhen the collectors are run, they output results into a JSON object.
This JSON is a dict where the key is ASN and the value is a list of ROVInfo objectsThe results of a run from Nov 30 2023 can be seen here. Additionally, from the "Friends" paper, it's important to note that category 4 and category 5 ASes are not considered as ROV adopting, but are included in the graph for clarity.Usagerov_collectorfrom a script:frompathlibimportPathfromrov_collectorimportrov_collector_classesdefmain():json_path:Path=Path.home()/"Desktop"/"rov_info.json"# Clear out old files, since by default the collectors appendjson_path.unlink(missing_ok=True)forCollectorClsinrov_collector_classes:# For some reason mypy is freaking out about the instantiation hereCollectorCls(json_path=json_path).run()# type: ignoreif__name__=="__main__":main()From the command line:rov_collectorInstallationrov_collectorInstall python and pip if you have not already.Then run:pip3installpip--upgrade
pip3installwheelFor production:pip3installrov_collectorThis will install the package and all of it's python dependencies.If you want to install the project for development:gitclonehttps://github.com/jfuruness/rov_collector.gitcdrov_collector
pip3install-e.[test]pre-commitinstallTo test the development package:TestingTestingrov_collectorTo test the package after installation:cd rov_collector
pytest rov_collector
ruff rov_collector
black rov_collector
mypy rov_collectorIf you want to run it across multiple environments, and have python 3.10 and 3.11 installed:cd rov_collector
toxCreditsrov_collectorRevisiting RPKI Route Origin Validation on the Data PlaneExplanation:We recieved the data source from this paper through email from from Mar 22, 2022 from Matthias Waehlischm.waehlisch@fu-berlin.deWhen the CSV says strong confidence, this indicates that it is 1 hop from PEERING.
When the CSV days weak confidence, that indicates that is 2+ hops from PEERINGPaper URL:URLPaper data sources:githubBibtex:@inproceedings{mixed_deployment_3,
  title = {Revisiting RPKI Route Origin Validation on the Data Plane},
  author = {Nils Rodday and Ítalo S. Cunha and Randy Bush and Ethan Katz-Bassett and Gabi Dreo Rodosek and Thomas C. Schmidt and Matthias Wählisch},
  year = {2021},
  url = {http://dl.ifip.org/db/conf/tma/tma2021/tma2021-paper11.pdf},
  researchr = {https://researchr.org/publication/RoddayCBKRSW21},
  cites = {0},
  citedby = {0},
  booktitle = {5th Network Traffic Measurement and Analysis Conference, TMA 2021, Virtual Event, September 14-15, 2021},
  editor = {Vaibhav Bajpai and Hamed Haddadi and Oliver Hohlfeld},
  publisher = {IFIP},
  isbn = {978-3-903176-40-9},
}Github links:Collectoremailed CSVCloudflare's isbgpsafeyet.comExplanation:This site by cloudflare allows you to test your ISP for ROV safety and stores this info.
They also defined whether it filters all ASes or only peersPaper URL:URLPaper data sources:githubBibtex:@misc{mixed_deployment_1,
  title = {Is BGP Safe Yet?},
  author = {Cloudflare},
  url = {https://isbgpsafeyet.com/},
  year = {2023},
}Github links:CollectorCSVMeasuring RPKI Route Origin Validation DeploymentExplanation:At the time of publication this was one of the largest data sources for ROV ASes.
They also had a nice website listing out all the ROV AS data.
The website was last updated in 2020, so I'm not worried about a live feed.
Instead I've just right clicked inspect on their page using google chrome,
then clicked on the network tab,
reloaded the page,
and clicked on the asn query,
and then clicked on response,
and copy pasted this locally.
I've checked that it's the same as the page.Paper URL:URLPaper data sources:github,websiteBibtex:@article{mixed_deployment_2,
title={Towards a rigorous methodology for measuring adoption of rpki route validation and filtering},
author={Reuter, Andreas and Bush, Randy and Cunha, It{^a}lo and Katz-Bassett, Ethan and Schmidt, Thomas C and W{"a}hlisch, Matthias},
journal={ACM SIGCOMM Computer Communication Review},
volume={48},
number={1},
pages={19--27},
year={2018},
publisher={ACM}
}Github links:Collectoremailed CSVKeep your friends close, but your routeservers closer: Insights into RPKI validation in the internetExplanation:This paper describes a new way to obtain ROV AS information and shows a drastic increase in ROV adoption, almost 27% adoptionPaper URL:URLPaper data sources:githubBibtex:@inproceedings{mixed_deployment_4,
author = {Hlavacek, Tomas and Shulman, Haya and Vogel, Niklas and Waidner, Michael},
title = {Keep Your Friends Close, but Your Routeservers Closer: Insights into RPKI Validation in the Internet},
year = {2023},
isbn = {978-1-939133-37-3},
publisher = {USENIX Association},
address = {USA},
booktitle = {Proceedings of the 32nd USENIX Conference on Security Symposium},
articleno = {271},
numpages = {18},
location = {Anaheim, CA, USA},
series = {SEC '23}
}Also adding another bibtex for a poster presentation about this topic by the same authors that seems to be a subset of this work:@inproceedings{mixed_deployment_5,
author = {Shulman, Haya and Vogel, Niklas and Waidner, Michael},
title = {Poster: Insights into Global Deployment of RPKI Validation},
year = {2022},
isbn = {9781450394505},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
url = {https://doi.org/10.1145/3548606.3563523},
doi = {10.1145/3548606.3563523},
booktitle = {Proceedings of the 2022 ACM SIGSAC Conference on Computer and Communications Security},
pages = {3467–3469},
numpages = {3},
keywords = {rpki, prefix hijacks, bgp},
location = {Los Angeles, CA, USA},
series = {CCS '22}
}And adding another bibtex here that cites this work as showing 37.8% adoption. I don't think that number is correct, but it does cite it:(I couldn't find the bibtex, but the paper is "The CURE to Vulnerabilities in RPKI Validation", led by Donika Mirdita, Haya Shulman, etc)Github links:Collector,dataIt's just a dropbox, and additionally, the README said that results and reproduction steps would be later published, not sure if they just forgot about this?I am able to run the code after some extra steps, which does take a long time to run. The resulting dataset is stored in the data/friends.json file. It's important to note that this was with 8.95% network errors (I believe their paper had some of these as well) and this took place Nov 30 2023.ROVISTAExplanation:This paper references a website with a list of ROV ASes, including an API! Super helpfulPaper URL:Not linked, will be published IMC 2023Paper data sources:github,websiteBibtex:@inproceedings{mixed_deployment_6,
  author = {Weitong Li and Zhexiao Lin and Mohammad Ishtiaq Ashiq Khan and Emile Aben and Romain Fontugne and Amreesh Phokeer and Taejoong Chung},
  title = {{RoVista: Measuring and Understanding the Route Origin Validation (ROV) in RPKI}},
  booktitle = {Proceedings of the ACM Internet Measurement Conference (IMC'23)},
  address = {Montreal, Canada},
  month = {October},
  year = {2023}
}Github links:Collectorhttps://stats.labs.apnic.net/rpkiExplanation:I don't think this even has a paper, it's just a website detailing ROV measurementsPaper URL:Doesn't appear to have a paperPaper data sources:doesn't appear to have a github,websiteBibtex:@misc{mixed_deployment_7,
title={RPKI},
url={https://stats.labs.apnic.net/rpki},
author={APNIC Labs},
year={2023}
}Github links:CollectorHistoryrov_collector1.1.3 Updated versions and dependenciesDevelopment/Contributingrov_collectorFork it!Create your feature branch:git checkout -b my-new-featureTest itRun toxCommit your changes:git commit -am 'Add some feature'Push to the branch:git push origin my-new-featureEnsure github actions are passing testsEmail me atjfuruness@gmail.comif it's been a while and I haven't seen itLicenserov_collectorBSD License (see license file)