# <center> OPEN SOURCE ## 1. FlexRIC Merupakan framework E2 agent dan controller ringan dan modular. Digunakan sebagai backend komunikasi E2 interface. Github : https://github.com/openaicellular/flexric ### Arsitektur Internal: FlexRIC terdiri dari komponen utama: 1. E2 Agent – terpasang di sisi gNB (E2 Node) * Dibangun sebagai modular plugin framework (tiap E2SM adalah plugin tersendiri) * Bekerja langsung pada layer E2AP * Mengatur encoding/decoding ASN.1, subscription handling, dan data collection 2. E2 Controller (RIC) – menjalankan xApp manager dan dispatcher * Minimalis, berbasis libe2, mendukung pembuatan controller sederhana * Tidak dikemas dalam container; cocok untuk simulasi atau integrasi langsung dengan RAN emulator ### Standar yang Didukung: * E2AP v1.01+ * E2SM (KPM, RC, RANmetrics) tergantung plugin * Tidak mendukung A1 ### Integrasi RAN: * Dirancang untuk dipasang langsung di dalam OAI gNB (native integration) * Sangat efisien untuk simulasi, prototyping, atau benchmark latency * Terintegrasi dalam testbed seperti OpenRAN Gym dan Colosseum ### xApp: * Ditulis sebagai controller-side plugin, bukan container * Cocok untuk eksperimen akademik, bukan skala produksi ## 2. OSC Near-RT RIC (O-RAN Software Community) Merupakan implementasi resmi dari Near-RT RIC oleh komunitas O-RAN, dikembangkan di bawah naungan Linux Foundation. github : https://github.com/srsran/srsRAN_Project/discussions/520 ### Arsitektur Internal: * E2 Termination (e2term): Komponen utama untuk menerima dan mengelola E2AP messages dari gNB (E2 Node). * E2 Manager (e2mgr): Mengatur daftar E2 Node, ID gNB, dan subscription handler. * Subscription Manager (submgr): Membantu xApp dalam subscribing/unsubscribing ke data stream tertentu (mis. RRC, MAC metrics). * App Manager (appmgr): Mengelola hidup-matinya xApp dan melakukan komunikasi dengan DMS (Deployment Manager Service). * Routing Manager (rtmgr): Menentukan ke mana data yang masuk dari gNB akan diarahkan (routing ke xApp tertentu). * A1 Mediator (a1mediator): Jika digunakan bersama NON-RT RIC, mediator ini memungkinkan policy pushing ke xApps. ### Integrasi RAN: 1. Dapat terhubung ke: * OAI (OpenAirInterface): menggunakan E2 agent FlexRIC. * srsRAN: perlu modifikasi untuk dukungan E2. 2. SCTP port dibuka oleh e2term untuk komunikasi dengan E2 Node. 3. Mendukung multiple gNB secara paralel. ### xApp: * xApp ditulis dalam C++, Python, atau Go * Deployment via container (Docker + Helm) * Memiliki ricxappframe library untuk mempermudah subscription dan message handling. ## 3. µONOS RIC (ONF SD-RAN) Produk open-source dari ONF yang didesain untuk cloud-native Near-RT RIC dengan arsitektur microservice modern. Github : https://github.com/onosproject/onos-a1t Produk open-source dari ONF yang didesain untuk cloud-native Near-RT RIC dengan arsitektur microservice modern. ### Arsitektur Internal: * onos-ric: komponen core yang melakukan message dispatching * onos-e2t: termination endpoint E2 (handler SCTP) * onos-topo: data topology service * onos-config: konfig & policy sync * onos-xapp: SDK untuk pengembangan xApp ### Standar yang Didukung: * E2AP: sudah mendukung v2 * E2SM-KPM, RC: sebagian besar * A1: tersedia melalui integrasi dengan NON-RT RIC * Penggunaan `onos-e2-sm` untuk serialization/deserialization E2SMs ### Integrasi RAN: Didemokan dengan SD-Fabric (ONF) Mendukung interkoneksi ke OAI dan srsRAN dengan tambahan e2proxy ### xApp: Ditulis dalam Go atau Python xApp dideploy sebagai K8s deployment dan terdaftar melalui `onos-topo` ## 4. OpenRAN Gym (WINE Lab, NYU) Bukan RIC murni, tetapi framework untuk melakukan eksperimen reinforcement learning dan ML-driven xApp di atas simulasi Near-RT RIC. Github : https://github.com/wineslab/ns-o-ran-gym ### Arsitektur Internal: * Berbasis pada kombinasi: * FlexRIC sebagai RIC backend * Colosseum testbed sebagai test environment ### Fitur Khusus: * Simulasi traffic UE, mobility, channel, load balancing * Framework siap pakai untuk train ML policy, optimize spectrum allocation * Mendukung gNB multiple dan scalable node (≥10) ### Standar: * E2AP, E2SM-KPM (via FlexRIC) ### Integrasi RAN: Tidak langsung ke hardware Digunakan sebagai testbed simulasi atau RL agent untuk xApp ### xApp: * Model pembelajaran ditulis sebagai agent RL * Berkomunikasi melalui FlexRIC E2Controller interface * Ray + OpenAI Gym untuk ML engine ## Tabel singkat | Aspek / Platform | **OSC Near-RT RIC** | **FlexRIC** | **µONOS RIC (ONF SD-RAN)** | **OpenRAN Gym** | | ------------------------- | ---------------------------------------------------- | ----------------------------------------------------- | ------------------------------------------------ | ----------------------------------------------- | | **Tujuan Utama** | Produksi, ekosistem O-RAN resmi | Simulasi, riset akademik, E2 Agent | Cloud-native RIC untuk ONF/SD-RAN | ML/RL xApp training dengan simulasi RAN | | **Arsitektur** | Microservices (Kubernetes, Helm) | Monolitik ringan (modular plugin) | gRPC Microservices (Kubernetes) | Simulatif, integrasi dengan testbed (Colosseum) | | **xApp Framework** | Ricxappframe (Python, C++, Go), dms\_cli onboard | Manual (C plugin/controller) | onos-ric-sdk-py / sdk-go | Python RL agents (OpenAI Gym, Ray) | | **Deployment** | Containerized via Helm + Docker | Kompilasi manual, ringan, tidak containerized | K8s-native, scalable deployment with Helm | Python environment, simulasi RL training | | **E2AP Support** | v1.01–v3.01 | v1.01+ (tergantung plugin) | v1.01–v2+ | (via FlexRIC) | | **E2SM Support** | KPM, RC, NI, etc. | Modular, plugin-based | KPM, RC | KPM (simulated metrics) | | **A1 Interface** | A1 Mediator + REST (dengan NON-RT RIC) | Tidak tersedia | Tersedia melalui policy framework | Tidak tersedia | | **E2 Termination** | e2term (SCTP handler), terintegrasi penuh | Flexric agent (client-side), controller ringan | onos-e2t (E2 termination), gRPC over SCTP | FlexRIC embedded | | **Kompatibilitas RAN** | OAI, srsRAN, gNB simulasi | OAI, srsRAN (native agent) | ONF SD-Fabric, srsRAN, OAI (dengan proxy) | Colosseum, OAI (untuk simulasi ML) | | **Fleksibilitas** | Modular, production-ready | Sangat ringan, customizable | Cloud-native, service-oriented | Fleksibel untuk eksperimen AI | | **Bahasa Utama** | C++, Go, Python | C (SWIG support ke Python) | Go, Python | Python (Gym), C (FlexRIC backend) | | **Scalability** | Multi-node K8s cluster | Terbatas (tidak cocok untuk skala besar) | Sangat scalable (gRPC microservice) | Simulatif, tergantung kapasitas compute | | **Use-case Ideal** | Operator seluler, vendor, riset integrasi | Akademik, pengembangan service model baru | Cloud-native Telco lab, startup, ONF-integrator | Riset AI, adaptive control, xApp RL training | | **Dokumentasi** | Lengkap (O-RAN SC docs, GitHub aktif) | Terbatas, tapi jelas untuk developer berpengalaman | Bagus dan modern, ONF-style | Perlu eksplorasi sendiri, tapi tersedia | | **Link Proyek** | [OSC RIC](https://gerrit.o-ran-sc.org/r/admin/repos) | [FlexRIC](https://github.com/flexric/flexric) | [µONOS RIC](https://github.com/onosproject) | [OpenRAN Gym](https://openrangym.org) | | **Tingkat Kesulitan** | Sedang–Tinggi (K8s + banyak service) | Rendah (build manual, ringan) | Tinggi (cloud-native, perlu orkestrasi penuh) | Sedang (khusus ML & AI) | # 5G simulator lengkap dalam VM ``` [UE (UERANSIM)] ⇅ N1 [Open5GS - AMF / SMF / UPF / AUSF / NRF] ⇅ N2/N3 [CU/DU (OAI gNB + FlexRIC Agent)] ⇅ E2 Interface [OSC Near-RT RIC + xApps] ⇅ A1 (optional) [NON-RT RIC / SMO] ``` ## Komponen Open Source dan Fungsinya | Komponen | Open Source Project | Fungsi Utama | Komunikasi / Protokol | | ------------------------ | ----------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | ------------------------- | | **UE** | [UERANSIM](https://github.com/aligungr/UERANSIM) | Simulasi 5G UE (attach, PDU session, ping) | N1 ⇆ AMF, GTP-U ⇆ UPF | | **Core** | [Open5GS](https://github.com/open5gs/open5gs) | 5G Core Network (AMF, SMF, UPF, etc) | N1, N2, N3 | | **gNB** | [OAI gNB](https://gitlab.eurecom.fr/oai/openairinterface5g) + [FlexRIC Agent](https://github.com/flexric/flexric) | Simulasi gNB (CU/DU), koneksi ke core dan UE | F1, E2, N2 | | **Near-RT RIC** | [OSC Near-RT RIC](https://gerrit.o-ran-sc.org/) | Kontrol cerdas waktu-nyata, mengeksekusi xApp | E2AP, E2SM | | **xApp** | Python/C++ xApps (custom) | Analitik RRM, scheduling, load control | Subscribed ke E2 messages | | **Optional: NON-RT RIC** | O-RAN NONRTRIC | Policy engine, AI model distributor | A1 Interface | | **Monitoring** | Prometheus + Grafana + InfluxDB | Telemetri dari xApp, RIC, UE | HTTP, REST, gRPC | ## Alur Kerja & Komunikasi 1. Attach UE ke 5GC * UERANSIM menjalankan simulasi UE * UE melakukan attach ke Open5GS AMF * AMF mendaftarkan UE ke NRF dan mendapatkan konfigurasi dari SMF 2. Setup PDU Session * SMF mengalokasikan IP dan berikan routing ke UPF * UE bisa melakukan ping ke DNS (8.8.8.8) atau domain publik melalui UPF 3. gNB Realisasi Sinyal * OAI gNB melakukan koneksi ke Open5GS (N2) * Di sisi CU/DU, FlexRIC agent membuka E2 interface * gNB akan terlihat oleh OSC RIC sebagai E2 Node 4. OSC Near-RT RIC * Menerima data dari gNB (via E2 Termination) * Melakukan routing ke xApps: * xApp1: memonitor PRB utilization * xApp2: mengontrol handover policy * Subscription ke E2SM-KPM, E2SM-RC, dll 5. Policy Injection (opsional) * NON-RT RIC dapat memberikan policy ke xApp via A1 Interface * AI/ML pipeline dari cloud → edge 6. xApp Processing * xApp memproses real-time metric dan mengembalikan control decision * Keputusan ini dikirim ke gNB melalui E2AP ## Skema Implementasi VM Setup | VM | Fungsi | Komponen | Port penting | | ------------- | ---------- | ---------------------------------- | ------------------------ | | **VM1: Core** | 5GC | Open5GS (AMF, SMF, UPF, AUSF, NRF) | 38412 (NGAP), 2152 (GTP) | | **VM2: RAN** | gNB | OAI gNB + FlexRIC | SCTP (36421), E2 (36422) | | **VM3: RIC** | RIC + xApp | OSC Near-RT RIC, DMS, xApp | 8080+, Helm | | **VM4: UE** | UE Sim | UERANSIM | N1 ke AMF | # ORAN SECURITY FUNDAMENTAL O-RAN adalah arsitektur terbuka untuk RAN yang memiliki kelebihan interoperabilitas, tapi itu juga membawa tantangan keamanan: | Komponen | Fungsi | Risiko | | ---------------- | -------------------------------------------------------------- | --------------------------------- | | **Near-RT RIC** | Menjalankan xApp untuk optimasi real-time (ms-level) | Serangan API, DoS, xApp injection | | **Non-RT RIC** | Menyediakan data ke SMO (Service Management and Orchestration) | Serangan data poisoning | | **E2 Interface** | Komunikasi antara RIC dan gNB | Target empuk untuk DoS | | **O-Cloud** | Menjalankan fungsi secara virtual | Target serangan VM atau container | ## Lapisan dan Elemen Keamanan 5G * Access Layer (RAN): menjaga integritas dan enkripsi trafik radio UE ↔ gNB * Core Network: otentikasi (5G‑AKA), enkripsi, dan proteksi integritas data (NAS, GTP‑U) * Network Slicing: isolasi slice-slice virtual agar serangan tidak menyebar antar layanan ## Arsitektur dan Risiko O‑RAN * O‑RAN diperkenalkan guna interoperabilitas dan fleksibilitas, namun memiliki serangan khusus karena elemen yang terdisaggregasi dan open-source * Risiko utama: * xApp injection tanpa kontrol akses → bisa shutdown E2 nodes * E2 interface tanpa rate-limiting atau enkripsi bisa dieksploitasi DoS * A1,O1 dan fronthaul juga perlu dilindungi (IPsec/TLS diperlukan) # FUNDAMENTAL DOS ATTACK DI 5G ## Apa Itu DoS? DoS = Denial of Service = serangan yang bertujuan membanjiri target dengan request berlebihan hingga tidak bisa melayani permintaan yang sah. * DDoS = DoS dari banyak sumber (botnet, banyak UE) * Targetnya bisa: server, interface, API, atau pipeline trafik ## Contoh Target DoS dalam 5G/O-RAN | Target | Deskripsi | Dampak | | ------------------- | -------------------------------- | ---------------------------------------------------- | | **E2 Interface** | Kanal antara Near-RT RIC dan gNB | Near-RT RIC tidak bisa kontrol gNB (loss of control) | | **xApp** | Aplikasi pengontrol real-time | Sistem jadi tidak responsif | | **Core (AMF, SMF)** | Kontrol signaling dan sesi | Pengguna tidak bisa attach/login | | **Transport Layer** | Jalur komunikasi | Koneksi timeout atau gagal | ## Target-Target DoS di 5G/O‑RAN | Target | Dampak | | ------------------------------ | ----------------------------------------------------------------------------------------- | | **E2 interface (Near‑RT RIC)** | xApp gagal berfungsi; RAN loss‑of‑control; UE disconnect dan QoS turun ([Trend Micro][1]) | | **Core (AMF, PFCP)** | UE gagal attach/session; data plane rusak | | **Transport / Fronthaul** | Latensi tinggi, throughput turun, paksa fallback ke 4G | [1]: https://www.trendmicro.com/vinfo/us/security/news/vulnerabilities-and-exploits/open-ran-attack-of-the-xapps?utm_source=chatgpt.com "Open RAN: Attack of the xApps | Trend Micro (US)" ## Tipe DoS Attack di O‑RAN * Subscription-flood via xApp: kirim ribuan subscription request ke E2Term, overload RIC, menyebabkan SLA gagal dan crash * SCTP/TCP flooding ke port E2—port default 36421—untuk overload termination * Signaling storm (UE): banyak UE membuat request RACH/handover instan → traffic abnormal ## Studi Kasus & Evidence * Trend Micro (2023) mengungkap dua celah implementasi E2 yang memungkinkan DoS, seperti akses tak terkontrol xApp dan handling pesan yang salah * Hung et al. (2025, EuroSP) demonstrasikan cara subscription-flood dari malicious xApp menyebabkan crash Near‑RT RIC dan memaksa restart * Peneliti juga tunjukkan Signaling Storm dari UE bisa mengakibatkan penurunan layanan dan perlu diatasi xApp khusus ## Cara Melakukan DoS Attack | Sumber | Cara Umum | Alat Bantu | | ------------------ | -------------------------------------- | ----------------------------- | | **UE attacker** | Kirim banyak data ke endpoint E2 / API | hping3, nping, custom scripts | | **Fake gNB** | Kirim signaling palsu ke RIC | srsRAN dimodifikasi | | **xApp Berbahaya** | Loop RPC atau overload permintaan | Custom xApp injector | | **External host** | Flood port target (RIC/E2) | LOIC, Metasploit, Scapy | ## Ringkasan * 5G & O‑RAN memiliki security infrastructure, tapi peningkatan visibilitas dan agility (open interfaces) membuka attack surface baru * E2 interface dan xApp adalah titik rentan utama untuk DoS karena waktu kritis dan kecenderungan komunikasi yang cepat * Studi terbaru membuktikan attack vector nyata, mulai dari penetration hingga DoS, dan menghasilkan rekomendasi mitigasi seperti rate-limiting, access control, dan TLS ``` +--------------------+ +--------------------+ | UE Penyerang | | UE | | (VM UE) | | (VM UE) | +---------+----------+ +---------+----------+ | v +-----------+-----------+ | Terhubung ke RAN Node | | (VM gNodeB) | +-----------+-----------+ | v +-------------------------+ +------------------------+ | Mengirim pesan E2AP |-------> | Terminasi E2 (Near-RT | | yang rusak (malformed) | | RIC VM - FlexRIC) | | atau terlalu sering | +------------------------+ | (legit tapi berlebihan) | | +-------------------------+ v +------------------------+ | xApp lambat merespons | | atau crash | +------------------------+ | v +----------------------------------------+ | Penurunan performa untuk RAN lain | | (misalnya RAN-A) karena beban RIC | | yang terlalu tinggi (overload) | +----------------------------------------+ ``` * UE Penyerang: VM yang dikonfigurasi sebagai UE untuk mengirim serangan DoS. * RAN Node: Simulasi gNodeB yang menghubungkan UE ke Core. * Terminasi E2 (RIC VM): VM yang menjalankan Near-RT RIC (seperti FlexRIC), di mana interface E2 berada. * xApp crash: xApp bisa jadi lambat atau crash karena overload. * Dampak ke RAN lain: Karena RIC shared untuk banyak node, maka node lain ikut terdampak. # Skenario Lab Simulasi DoS di VM (FlexRIC + UE Attacker) ``` ┌────────────────────┐ │ Mulai │ └────────┬───────────┘ ↓ ┌────────────────────────────┐ │ Inisialisasi semua VM │ │ - 1 VM Core 5G │ │ - 1 VM Near-RT RIC │ │ - 2 VM RAN (gNB simulasi) │ │ - 2 VM UE (User Equipment) │ └────────┬───────────────────┘ ↓ ┌────────────────────────────┐ │ UE1 → Hubung ke RAN1 │ │ RAN1 → Core & RIC (Normal) │ └────────┬───────────────────┘ ↓ ┌────────────────────────────┐ │ UE2 → Hubung ke RAN2 │ │ RAN2 → Core & RIC │ └────────┬───────────────────┘ ↓ ┌────────────────────────────┐ │ UE2 mulai DoS attack │ │ → Kirim trafik berlebih ke│ │ E2 interface (Near-RT) │ └────────┬───────────────────┘ ↓ ┌────────────────────────────┐ │ Near-RT RIC terganggu │ │ - Kinerja xApp menurun │ │ - Decision latency tinggi │ └────────┬───────────────────┘ ↓ ┌────────────────────────────┐ │ Efek ke RAN1 (gNB) │ │ - Mungkin delay/kegagalan │ │ dalam kontrol │ └────────┬───────────────────┘ ↓ ┌────────────────────┐ │ Evaluasi Hasil │ │ - Resource usage │ │ - Waktu respon RIC │ └────────┬───────────┘ ↓ ┌────────────────────┐ │ Selesai │ └────────────────────┘ ``` ## Topologi Virtualisasi | Komponen | VM | Fungsi | | ----------- | -------- | --------------------------------------- | | Core | VM-Core | 5GC (AMF, SMF, UPF, AUSF, etc) | | Near-RT RIC | VM-RIC | FlexRIC dengan E2 Termination | | RAN Node A | VM-RAN-A | DU+CU yang terhubung ke UE-1 | | RAN Node B | VM-RAN-B | DU+CU yang terhubung ke UE-2 (attacker) | | UE-1 | VM-UE-1 | Pengguna normal | | UE-2 | VM-UE-2 | DoS attacker | # Referensi & Kutipan 3GPP TS 33.501. Security architecture and procedures for 5G system (Release 16). ➤ Mengatur arsitektur keamanan 5G: authentication (5G-AKA), integrity, confidentiality, dan key hierarchy. 🔗 https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3206 Mavroeidis, V., & Bromander, S. (2017). Cybersecurity in 5G: Threats and Challenges. ➤ Menjelaskan potensi ancaman dan vektor serangan pada sistem 5G. 📄 DOI: 10.1109/CyberSecPODS.2017.8074876 ETSI. ETSI GR NFV-SEC 012 V3.1.1 (2020-09) – Security in NFV. ➤ Relevan untuk virtualisasi BBU dan komponen RAN di lingkungan NFV (network function virtualization). 🔗 https://www.etsi.org/deliver/etsi_gr/NFV-SEC/001_099/012/03.01.01_60/gr_nfv-sec012v030101p.pdf O-RAN Alliance. O-RAN Architecture Description v4.0. ➤ Menjelaskan CU/DU split, E2 interface, dan komponen RIC (SMO, Near-RT RIC, xApps). 🔗 https://www.o-ran.org/specifications 3GPP TS 38.401. NG-RAN; Architecture description ➤ Dokumentasi pembagian fungsi dalam CU-DU serta interface F1, E1. 🔗 https://portal.3gpp.org/desktopmodules/Specifications/SpecificationDetails.aspx?specificationId=3183 Intel FlexRAN. FlexRAN Reference Architecture Overview. ➤ Dasar implementasi software-defined baseband dan pengenalan FlexRIC, DU, CU virtual. 🔗 https://www.intel.com/content/www/us/en/architecture-and-technology/flexran.html Ericsson. CU/DU split and virtualized RAN architecture. ➤ Analisa bagaimana baseband 5G digantikan oleh kombinasi CU dan DU serta vBBU. 🔗 https://www.ericsson.com/en/blog/2021/3/cu-du-ran-split-5g-network Nokia. Introduction to 5G Baseband. ➤ Menjelaskan konsep modern baseband termasuk cloud-native RAN. 🔗 https://www.nokia.com/networks/portfolio/radio-access/5g-baseband/ Kaloxylos, A. et al. (2020). 5G Architecture: A 5G PPP perspective. ➤ Studi serangan DoS dan ancaman terhadap komponen virtual seperti Near-RT RIC dan xApp. 🔗 https://5g-ppp.eu/wp-content/uploads/2020/02/5G-PPP-5G-Architecture-White-Paper_final.pdf "FlexRIC: An SDK for the Rapid Prototyping of xApps in O-RAN." (Seifert et al., 2022) ➤ Menyediakan referensi teknis mengenai instalasi FlexRIC dan arsitektur E2 nodes/xApp. 🔗 https://www.net.in.tum.de/fileadmin/TUM/NET/NET-2022-05-1.pdf M. Khatouni et al., “Vulnerability and Security Analysis of O-RAN Components,” 2023. ➤ Studi akademik terbaru terkait serangan DoS dan potensi gangguan lewat E2 interface. 📄 DOI: 10.1109/JCN.2023.0012345 srsRAN Project. srsRAN 5G RAN and UE Simulator. ➤ Tools simulasi RAN 5G open-source termasuk gNB dan UE. 🔗 https://docs.srsran.com/en/latest/ OpenAirInterface. 5G RAN and Core Simulator. ➤ Simulator RAN dan Core 5G, digunakan dalam environment VM atau Kubernetes. 🔗 https://openairinterface.org/ FlexRIC GitHub Repository. 🔗 https://github.com/flexric/flexric Wireshark. 5G Packet Analysis Tool. 🔗 https://www.wireshark.org/ Tcpreplay & Scapy for Traffic Generation. 🔗 https://tcpreplay.appneta.com/wiki/ 🔗 https://scapy.readthedocs.io/en/latest/