An open API service indexing awesome lists of open source software.

https://github.com/edoardottt/offensive-onos

My experiments in weaponizing ONOS applications (https://github.com/opennetworkinglab/onos)
https://github.com/edoardottt/offensive-onos

anomalies-detection anomaly-detection anomalydetection hacking java network network-attacks network-security networking offensive-security offensivesecurity onos onos-app poisoning-attack sdn sdn-controller security software-defined-network software-defined-networking

Last synced: 3 months ago
JSON representation

My experiments in weaponizing ONOS applications (https://github.com/opennetworkinglab/onos)

Awesome Lists containing this project

README

        

# Offensive ONOS

My experiments in weaponizing [ONOS](https://github.com/opennetworkinglab/onos) applications.
This is a part of research activity for my Cybersecurity M.Sc. Thesis ([link](https://github.com/edoardottt/master-degree-thesis/)), focused on detection of Cross App Poisoning Attacks in Software Defined Networks.

**This research also led to discovery of [CVE-2023-24279](https://nvd.nist.gov/vuln/detail/CVE-2023-24279) and [CVE-2023-30093](https://nvd.nist.gov/vuln/detail/CVE-2023-30093)**.

Useful papers to get context:

- [Cross-App Poisoning in Software-Defined Networking](https://dl.acm.org/doi/10.1145/3243734.3243759)
- [My Master's Degree Thesis](https://www.researchgate.net/publication/371491370_Proposal_and_Investigation_of_a_framework_for_Cross_App_Poisoning_attacks_detection_in_Software_Defined_Networks)
- [Protecting Virtual Programmable Switches from Cross-App Poisoning (CAP) Attacks](https://ieeexplore.ieee.org/document/9789775)
- [Classifying Poisoning Attacks in Software Defined Networking](https://ieeexplore.ieee.org/abstract/document/8920310)
- [A Survey on Software Defined Networking: Architecture for Next Generation Network](https://arxiv.org/abs/2001.10165)

## Requirements

- JVM 11+ ()
- Maven ()
- ONOS 2.7.0 ()

In order to test the applications I've used Mininet to virtualize the data-plane, but it's optional ().

## Get Started

Compile an ONOS application ready to be installed and activated

```console
make -C apps/APP-NAME compile
```

Search for .oar (ONOS archive) files

```console
make oar
```

See [this GitHub Gist](https://gist.github.com/edoardottt/a8717c7601a552a5deb832f598d6d288) to understand how to connect ONOS and a Mininet VM.

## Links

- [ONOS Wiki](https://wiki.onosproject.org/display/ONOS/ONOS)
- [ONOS 2.7.0 API Documentation](https://api.onosproject.org/2.7.0/apidocs/)
- [Thomas Vachuska - Creating and deploying ONOS app (Youtube)](https://www.youtube.com/watch?v=mzQubYhJhro&ab_channel=ThomasVachuska)
- [Introduction to Mininet](https://github.com/mininet/mininet/wiki/Introduction-to-Mininet)

## Changelog

Detailed changes for each release are documented in the [release notes](https://github.com/edoardottt/offensive-onos-apps/releases).

## Contributing

Just open an [issue](https://github.com/edoardottt/offensive-onos-apps/issues) / [pull request](https://github.com/edoardottt/offensive-onos-apps/pulls).

-------

[edoardottt.com](https://edoardottt.com/) to contact me.