| Title | Author | Created | Published | Tags |
| --------------------------- | ---------------------------- | -------------- | -------------- | ------------------------ |
| POC Technical Demonstration | <ul><li>Jon Marien</li></ul> | March 25, 2025 | March 25, 2025 | [[#capstone\|#capstone]] |
1. **Core Technology Stack**:
- **Hardware**:
- HackRF One: Software-defined radio for RF signal monitoring
- OpenXC Vehicle Interface: For vehicle data collection
- **Software**:
- Python-based with key libraries:
- pyrtlsdr: For RTL-SDR support
- numpy/scipy: For signal processing
- matplotlib/plotly/dash: For visualization
- pandas: For data handling
2. **System Architecture**:
- **RF Signal Detection Module**: Monitors automotive frequency ranges (315MHz and 433MHz)
- **Vehicle Integration Module**: Uses OpenXC to collect real-time vehicle data
- **Monitoring & Alerting System**: Provides dashboard visualization and alert generation
3. **Key Features**:
- Real-time RF signal monitoring
- Detection of suspicious activities (key fob relay attacks, cloning attempts)
- Historical logging and analysis
- Mobile companion app support
- Comprehensive visualization dashboard
4. **Logging System**:
- Maintains logs in `src/logs/dashboard` and `src/logs/integrated`
- Tracks RF signal data and vehicle information
- Stores detection history and alerts
5. **Simulation Environment**:
- Supports both physical hardware and simulation modes
- Can use OpenXC Vehicle Interface simulator
- Allows testing without physical vehicle connection1. **Core Technology Stack**:
- **Hardware**:
- HackRF One: Software-defined radio for RF signal monitoring
- OpenXC Vehicle Interface: For vehicle data collection
- **Software**:
- Python-based with key libraries:
- pyrtlsdr: For RTL-SDR support
- numpy/scipy: For signal processing
- matplotlib/plotly/dash: For visualization
- pandas: For data handling
6. **System Architecture**:
- **RF Signal Detection Module**: Monitors automotive frequency ranges (315MHz and 433MHz)
- **Vehicle Integration Module**: Uses OpenXC to collect real-time vehicle data
- **Monitoring & Alerting System**: Provides dashboard visualization and alert generation
7. **Key Features**:
- Real-time RF signal monitoring
- Detection of suspicious activities (key fob relay attacks, cloning attempts)
- Historical logging and analysis
- Mobile companion app support
- Comprehensive visualization dashboard
8. **Logging System**:
- Maintains logs in `src/logs/dashboard` and `src/logs/integrated`
- Tracks RF signal data and vehicle information
- Stores detection history and alerts
9. **Simulation Environment**:
- Supports both physical hardware and simulation modes
- Can use OpenXC Vehicle Interface simulator
- Allows testing without physical vehicle connection
10. `main_application.py`:
- **Purpose**: Main entry point and application controller
- **Key Components**:
- `AutoSecurityPOC` class:
- Manages the application's main interface
- Handles user input through a command-line menu
- Integrates with the RF detector and dashboard
- Main menu options:
1. Run Integrated RF Detector
2. Show Dashboard (Simulation)
3. View Documentation
4. Exit
- Uses rich library for styled console output
- Implements a simple CLI interface with user prompts
2. `dashboard.py`:
- **Purpose**: Implements the visualization dashboard for RF signal monitoring
- **Key Components**:
- `RFDashboard` class:
- Manages real-time visualization of RF signals
- Tracks vehicle data and alerts
- Implements logging functionality
- Features:
- Signal strength monitoring
- Vehicle status tracking
- Alert generation
- System status monitoring
- Simulation features:
- Generates simulated RF signals
- Creates realistic vehicle data
- Maintains alert history
- Logs all activities
- Uses rich library for advanced console visualization
- Tables for data display
- Panels for organized information
- Live updates for real-time monitoring
3. `**init**.py`:
- **Purpose**: Package initialization file
- **Functionality**:
- Makes the src directory a Python package
- Allows importing modules from other locations
- Typically empty or contains package-level imports
**Technical Integration**:
- The files work together in a layered architecture:
1. `main_application.py` serves as the application's controller
2. `dashboard.py` provides visualization and data processing
3. The package structure allows for modular development and easy extension
**Key Technical Features**:
- Real-time data processing and visualization
- Logging system with timestamped entries
- Configurable parameters (duration, attack probability, thresholds)
- Integration with external systems (HackRF, OpenXC)
- Simulation capabilities for testing and demonstration
1. **Integration Directory**:
- `integrated_detector.py`:
- **Purpose**: Core integration layer that combines HackRF and OpenXC functionality
- **Key Features**:
- Implements `IntegratedRFDetector` class
- Manages both hardware (HackRF) and simulation (OpenXC) components
- Provides real-time visualization of both systems
- Implements logging with timestamps
- Configurable parameters:
- Duration
- Signal strength threshold
- Attack probability
- **Architecture**:
- Uses threading for concurrent operations
- Implements rich console interface with layouts and panels
- Maintains separate tables for simulator and detector data
- Provides synchronized updates through table locks
2. **HackRF Directory**:
- `rf_detector.py`:
- **Purpose**: Implements the HackRF One hardware interface
- **Key Features**:
- Implements `RFDetector` class
- Monitors specific frequency ranges (315-433 MHz)
- Detects and analyzes RF signals
- Implements threshold-based alerting
- **Technical Details**:
- Uses numpy for signal processing
- Implements real-time signal detection
- Provides configurable parameters:
- Frequency range
- Signal strength threshold
- Detection duration
- Includes logging functionality
- `keyfob_detector.grc`:
- **Purpose**: GNU Radio Companion configuration file
- **Functionality**:
- Defines the signal processing flow for key fob detection
- Configures HackRF One parameters
- Implements signal processing blocks
3. **OpenXC Directory**:
- `rf_simulator.py`:
- **Purpose**: Implements the OpenXC simulation environment
- **Key Features**:
- Implements `RFDetector` class
- Provides simulation of RF signals
- Generates realistic vehicle data
- Implements signal strength variations
- **Technical Details**:
- Simulates both normal and suspicious signals
- Maintains configurable parameters:
- Frequency range
- Signal strength thresholds
- Detection duration
- Implements logging for simulation data
- Uses numpy for signal generation
# Summary
1. **main_application.py**: This file serves as the application's entry point and controller. It features the `AutoSecurityPOC` class, which manages the command-line interface and user interactions. The main menu offers four key options:
- Run Integrated RF Detector
- Show Dashboard (Simulation)
- View Documentation
- Exit
The application uses rich library for styled console output, providing a professional interface with prompts and choices.
2. **dashboard.py**: This file implements the visualization dashboard through the `RFDashboard` class. It offers comprehensive monitoring features:
- Real-time RF signal visualization
- Vehicle status tracking2
-
- Alert generation and logging
- System status monitoring
3. **Hardware Interface (HackRF)**: The system uses HackRF One for real-time RF signal detection, focusing on automotive frequencies (315-433 MHz). The `rf_detector.py` manages hardware communication and signal processing, while `keyfob_detector.grc` configures GNU Radio for key fob detection.
4. **Simulation Environment (OpenXC)**: The `rf_simulator.py` provides a realistic simulation environment for testing and development. It generates both normal and suspicious signals, allowing developers to test the system without physical hardware.
5. **Integration Layer**: The `integrated_detector.py` combines both hardware and simulation components. It manages real-time visualization, logging, and alert generation. The system uses rich console interfaces for professional-looking output and implements configurable parameters for threshold-based alerting.