Skip to content

Commit

Permalink
getting started with the websitw
Browse files Browse the repository at this point in the history
  • Loading branch information
aayamrajshakya committed Sep 13, 2024
1 parent b5af9a7 commit 7a03859
Show file tree
Hide file tree
Showing 11 changed files with 217 additions and 9 deletions.
47 changes: 47 additions & 0 deletions docs/attacks/cqi_manipulation.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
CQI Manipulation attack
=====================================================

Implementation (UE Side):
--------------------------
- **Override CQI**: Implement code to consistently send high CQI values.

- **Monitoring Impact**:
- **Measure Throughput**: Track throughput and bandwidth allocated to the UE.
- **Assess Network Impact**: Evaluate the effects on other users and overall network performance.

Mitigation Components in srsRAN gNB under Test:
------------------------------------------------
1. **Proportional Fair Scheduling (PFS)**:
- **Balance Allocation**: Distributes resources considering both channel quality and historical throughput.
- **Limit Impact**: Adjusts allocation based on actual performance to mitigate exaggerated CQI effects.

2. **CQI Reporting and Filtering**:
- **Thresholds**: Applies thresholds to filter out unrealistic CQI values.
- **Configuration**: Configurable to detect and handle abnormal CQI reports.

3. **Quality of Service (QoS) Management**:
- **Prioritization**: Enforces QoS policies to ensure service needs are met, mitigating bandwidth hogging.
- **Resource Allocation**: Allocates resources based on QoS requirements.

4. **Resource Allocation Limits**:
- **Maximum Limits**: Configures resource limits to prevent excessive bandwidth use by any single UE.
- **Rate Limiting**: Implements rate limiting to ensure fair resource distribution.

Metrics to Assess the Attack:
------------------------------
1. **Bandwidth Utilization**:
- **Throughput Measurement**: Quantify throughput allocated to the modified UE.
- **Bandwidth Consumption**: Track the percentage of total network bandwidth used by the UE.

2. **Network Performance**:
- **Impact on Other Users**: Monitor changes in service quality (e.g., throughput, latency) for other UEs.
- **Error Rates**: Observe increases in error rates or retransmissions due to congestion.

3. **Network Load**:
- **Resource Allocation Metrics**: Measure resource usage by the attacking UE compared to others.
- **System Performance**: Assess the impact on network CPU and memory usage due to increased load.

Notes
-----
- **Development Branch**: `cqi_attack_development <https://github.com/oran-testing/soft-t-ue/tree/cqi_attack_development>`_

20 changes: 20 additions & 0 deletions docs/attacks/gnb_impersonation_attack.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
gNB Impersonation Attack
==========================================================

Implementation (gNB):
---------------------

- Broadcast preambles over a wide spectrum.
- Detect UEs attempting to connect.
- Establish a connection with the UE.
- Store all UP and CP messages.

Mitigation (UE and gNB):
---------------------------
- Implement unique identifiers for both gNB and UE.

Attack Metrics:
----------------
- Collection of sensitive UE data.
- IMSI capture.
- Disruption of normal connections.
20 changes: 20 additions & 0 deletions docs/attacks/imsi_capture.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
IMSI Catching Attack
==========================================================

Implementation (gNB):
--------------------------
Create a dummy gNB:

- configure the gNB to have a higher signal strength than the other
- configure the dummy gNB to send IMSI and other sensitive data to a server

Mitigation:
------------
- Verify gNB identity
- Use encryption

Attack Metrics:
----------------
- captured IMSIs
- disconnected UEs
- disrupted network function
34 changes: 34 additions & 0 deletions docs/attacks/preamble_collision.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
Preamble Collision attack
==========================================================

Introduction:
--------------
A Preamble Collision Attack targets the Random Access Procedure in LTE and 5G networks by deliberately causing preamble collisions during the Random Access Channel (RACH) process. In standard network operations, UEs (User Equipment) select a random preamble from a set of available options to initiate a connection with the base station. However, in a Preamble Collision Attack, an adversary repeatedly sends the same preamble as legitimate UEs, causing multiple devices to use the same preamble simultaneously. This leads to collisions, resulting in failed or delayed connection attempts, as the base station cannot differentiate between the colliding UEs. Such an attack can degrade network performance, particularly in high-load scenarios, and can be used to disrupt the normal operation of UEs within the coverage area.

**Summary:**

- Capture the preamble message of another UE.
- Send the captured preamble repeatedly to confuse the network.
- Repeat the process for every new UE connecting to the RAN.

Implementation:
---------------------

- Simulate multiple UEs in srsRAN to perform a Preamble Collision Attack.
- Modify the ue.conf file in srsUE to set a specific preamble index instead of selecting one randomly.
- Deploy multiple instances of srsUE, ensuring all transmit the same preamble simultaneously.
- Run srsGNB to act as the base station and monitor the RACH procedure.
- Observe the RACH request logs to monitor preamble collisions.
- Analyze the collision rate to assess the attack’s impact on the network's ability to handle connection requests.

This test helps us understand the network's vulnerability to preamble collisions and assess potential countermeasures, such as dynamic preamble allocation or collision resolution strategies.

Mitigation (gNB):
------------------
- Once a UE sends the preamble attach, invalidate that preamble as long as the UE remains connected.

Attack Metrics:
----------------
- Disconnected UEs
- Lowering of channel quality
- gNB crash / malfunction
14 changes: 14 additions & 0 deletions docs/attacks/rach_jamming.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
RACH Jamming Attack
==========================================================

Implementation (UE):
--------------------------

- Transmit a higher volume of RACH messages
- Configure UE to transmit at a higher gain

Attack Metrics:
----------------
- Inability of UEs to connect
- Low channel quality
- gNB overload /crash
18 changes: 18 additions & 0 deletions docs/attacks/rach_replay.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
RACH Replay Attack
==========================================================

Implementation (UE):
--------------------------

- Capture the RACH requests of other UEs
- Replay these requests later to confuse the RAN

Mitigation (UE and gNB):
--------------------------
- add identifiers to RACH requests like timestamps or identifiers

Attack Metrics:
----------------
- Disconnected UEs
- Channel quality reduction
- gNB crash / malfunction
20 changes: 20 additions & 0 deletions docs/attacks/rach_signal_flooding.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
RACH Signal Flooding attack
==========================================================

Implementation (T-UE):
--------------------------
Initiate flooding on the UE side by:

- overriding srsRAN Random Access Channel Request function to send a large number or concurrent requests
- develop an environment with multiple UEs over UHD, where the results of the experiment can be seen in real time
- create an attack option in the GUI

Mitigation (gNB):
--------------------------
- Blacklisting UEs with excessive RACH requests

Attack Metrics:
----------------
- Possible throughput reduction of clean UEs on the network
- Disconnect of clean UEs
- gNB crash
21 changes: 21 additions & 0 deletions docs/attacks/rohc_poisoning_attack.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
RoHC Poisoning Attack
==========================================================

Implementation (UE):
---------------------
- Generate messages with constantly changing and lengthy packet headers.
- Create high entropy in packet metadata.
- Send a high volume of corrupted packets to the RAN.


Mitigation (UE and gNB):
---------------------------
- Improve the RoHC algorithm or implement anomaly detection.


Attack Metrics:
----------------
- Disconnected UEs
- Reduced channel quality
- gNB crash/malfunction
- Increased packet latency
12 changes: 11 additions & 1 deletion docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -26,4 +26,14 @@
]

html_theme = 'sphinx_rtd_theme'
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
html_theme_options = {
"display_version": False,
"show_sourcelink": False,
"collapse_navigation" : False,
"sticky_navigation": False,
}

html_show_sphinx = False
html_show_sourcelink = False
html_favicon = 'images/favicon.png'
Binary file added docs/images/favicon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
20 changes: 12 additions & 8 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,19 @@
Soft-Tester UE documentation
============================

Add your content using ``reStructuredText`` syntax. See the
`reStructuredText <https://www.sphinx-doc.org/en/master/usage/restructuredtext/index.html>`_
documentation for details.
This documentation is a part of our project, `Soft-Tester UE <https://www.rantesterue.org/>`_.

This project aims to develop a **software-defined tester UE for 5G and open RANs, focusing on security testing**. The soft T-UE will be compatible with commercial off-the-shelf software radio hardware, supporting both standardized and custom test.

.. toctree::
:maxdepth: 2
:caption: Contents:
:maxdepth: 1
:caption: Attacks implemented

cqi_manipulation
gnb_impersonation_attack
imsi_capture
attacks/cqi_manipulation.rst
attacks/gnb_impersonation_attack.rst
attacks/imsi_capture.rst
attacks/preamble_collision.rst
attacks/rach_jamming.rst
attacks/rach_replay.rst
attacks/rach_signal_flooding.rst
attacks/rohc_poisoning_attack.rst

0 comments on commit 7a03859

Please sign in to comment.