This project contains souce codes and installation guide for ASTRA-5G: Automated Over-the-Air Security Testing and Research Architecture for 5G SA Devices
prerequisite for testcase generator: Python 3.x tkinter subprocess32 platformdirs
Testcase generator
git clone https://github.com/your-username/5G-UE-test-suite-generator.git
cd 5G-UE-test-suite-generator
python3 GUI_dispatcher.py
More installation information are available at link
prerequisite for open5gs: apt install python3-pip python3-setuptools python3-wheel ninja-build build-essential flex bison git cmake libsctp-dev libgnutls28-dev libgcrypt-dev libssl-dev libidn11-dev libmongoc-dev libbson-dev libyaml-dev libnghttp2-dev libmicrohttpd-dev libcurl4-gnutls-dev libnghttp2-dev libtins-dev libtalloc-dev meson libjson0 libjson0-dev
prerequisite for srsRAN: sudo apt-get install build-essential cmake libfftw3-dev libmbedtls-dev libboost-program-options-dev libconfig++-dev libsctp-dev
git colne https://github.com/s21sm/5G-UE-SecurityTesting.git
It contains modified open5gs and srsRAN software. Which can be installed as follows:
open5gs
cd open5gs
meson build --prefix=`pwd`/install
ninja -C build
cd build
ninja install
More installation information are available at open5gs official site and link
srsRAN
cd srsRAN
mkdir build
cd build
cmake ../
make
sudo make install
More installation information are available at srsRAN offcial site and link
git colne https://github.com/s21sm/5G-UE-SecurityTesting.git
cd rule-based
python3 main.py
This repository contains the rule-based and ChatGPT based test case evaluation code. Which has been tested with Wireshark v4.0.6. A valid openai api key is required for ChatGPT based evaluation. In Wiresark, Eidt>>Preferences>>Protocols>>NAS-5GS check mark
Try to detect and decode 5G-EA0 ciphered message .
Step 1: Use Test case generator to produce test cases according to the preference.
Step 2: Place the test cases in the Test_nas folder.
Step 3: Run the test and collect the pcap files. More information on how to run the NAS test link
Step 4: Put the test case and pcap files in the Test_nas and pcap folder, repectively in the prefered evaluation method folder.
Step 5: Run main.py of any evaluation method to produce the evaluation report.
The ASTRA-5G project is open-source.
If you are using or referencing this project, please cite the following paper:
@inproceedings{khandker24astra5g,
title = {ASTRA-5G: Automated Over-the-Air Security Testing and Research Architecture for 5G SA Devices},
author = {Khandker, Syed and Guerra, Michele and Bitsikas, Evangelos and Piqueras Jover, Roger and Ranganathan, Aanjhan and Pöpper, Christina},
booktitle = {Proceedings of the 17th ACM Conference on Security and Privacy in Wireless and Mobile Networks},
year = {2023},
url = {https://doi.org/10.1145/3643833.3656141}
}