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

https://github.com/naveen-526/federated-learning-based-ids

This repository features a federated learning system designed for intrusion detection in IoT networks, ensuring data privacy while maintaining high accuracy. The project utilizes the Flower framework and includes essential components like data processing, server-client architecture, and SSL certificates for secure communication. πŸ™πŸŒ
https://github.com/naveen-526/federated-learning-based-ids

blockchain client-server data-processing deep-learning edge-computing edge-device federated-learning flower-framework ids iot iot-device machine-learning membership privacy-preserving privacy-preserving-machine-learning sensors ssl-certificate tensorflow

Last synced: 3 months ago
JSON representation

This repository features a federated learning system designed for intrusion detection in IoT networks, ensuring data privacy while maintaining high accuracy. The project utilizes the Flower framework and includes essential components like data processing, server-client architecture, and SSL certificates for secure communication. πŸ™πŸŒ

Awesome Lists containing this project

README

          

# Federated Learning-based Intrusion Detection System (FL-IDS) πŸš€

![GitHub Repo Stars](https://img.shields.io/github/stars/Naveen-526/Federated-Learning-based-IDS?style=social)
![GitHub Release](https://img.shields.io/github/release/Naveen-526/Federated-Learning-based-IDS.svg)
![License](https://img.shields.io/badge/license-MIT-blue.svg)

Welcome to the **Federated Learning-based Intrusion Detection System (FL-IDS)** repository! This project focuses on enhancing the security of edge IoT networks through decentralized anomaly detection and privacy-preserving intelligence sharing.

You can find the latest releases of this project [here](https://github.com/Naveen-526/Federated-Learning-based-IDS/releases). Please download and execute the necessary files to get started.

## Table of Contents

- [Introduction](#introduction)
- [Features](#features)
- [Technologies Used](#technologies-used)
- [Installation](#installation)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)
- [Contact](#contact)

## Introduction

As IoT devices proliferate, the need for robust security measures becomes critical. Traditional intrusion detection systems (IDS) often struggle to scale and adapt to the dynamic nature of edge networks. FL-IDS addresses these challenges by leveraging federated learning, allowing devices to learn from local data without sharing sensitive information.

## Features

- **Decentralized Learning**: Each device learns from its own data, reducing the risk of data breaches.
- **Anomaly Detection**: The system can identify unusual patterns in network traffic, alerting administrators to potential threats.
- **Privacy-Preserving**: Sensitive data remains on the device, ensuring user privacy.
- **Scalable Architecture**: Easily integrates with various edge devices and IoT networks.
- **Real-Time Monitoring**: Continuous analysis of network traffic for immediate threat detection.

## Technologies Used

This project employs a variety of technologies to ensure efficiency and security:

- **Client-Server Architecture**: Facilitates communication between edge devices and the central server.
- **Data Processing**: Utilizes advanced algorithms for analyzing network traffic.
- **Federated Learning**: Implements federated learning principles to enhance model training.
- **Flower Framework**: A robust framework for federated learning.
- **LeNet-5**: A convolutional neural network model used for anomaly detection.
- **IoT Device Integration**: Supports various sensors and IoT devices.
- **SSL Certificates**: Ensures secure communication between devices.
- **TensorFlow**: A powerful library for building and training machine learning models.

## Installation

To set up the FL-IDS on your local machine, follow these steps:

1. **Clone the Repository**:
```bash
git clone https://github.com/Naveen-526/Federated-Learning-based-IDS.git
cd Federated-Learning-based-IDS
```

2. **Install Dependencies**:
Ensure you have Python 3.x installed. Then, install the required packages:
```bash
pip install -r requirements.txt
```

3. **Set Up SSL Certificates**:
For secure communication, generate SSL certificates. Follow the instructions in the `docs/SSL_Setup.md` file.

4. **Run the Application**:
Start the server and client applications:
```bash
python server.py
python client.py
```

5. **Access the Dashboard**:
Open your web browser and navigate to `http://localhost:5000` to view the monitoring dashboard.

## Usage

After setting up the FL-IDS, you can use it to monitor your IoT network. Here’s how:

1. **Configure Devices**: Ensure all IoT devices are configured to communicate with the server.
2. **Monitor Traffic**: The dashboard will display real-time network traffic and alerts for any detected anomalies.
3. **Review Logs**: Access logs to analyze past incidents and improve security measures.

## Contributing

We welcome contributions to improve the FL-IDS project. To contribute:

1. Fork the repository.
2. Create a new branch for your feature or bug fix.
3. Commit your changes.
4. Push your branch and create a pull request.

Please ensure your code adheres to the project's coding standards and includes appropriate tests.

## License

This project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.

## Contact

For any inquiries or support, please contact:

- **Naveen**: [naveen@example.com](mailto:naveen@example.com)

Feel free to reach out if you have questions or need assistance with the FL-IDS.

---

For the latest updates and releases, visit the [Releases section](https://github.com/Naveen-526/Federated-Learning-based-IDS/releases). Download and execute the necessary files to enhance your IoT security with FL-IDS.