Welcome to the NetworkSentinel repository, a project focused on building a robust Network Intrusion Detection System. This initiative is driven by a passion for cybersecurity and a desire to gain practical experience in this dynamic field. Expect regular updates as we delve deeper into the intricacies of network security. Your patience is appreciated if there are occasional delays in updates.
A recent Computer Science graduate with a strong passion for Cybersecurity.
- 🔭 Currently working on: NetworkSentinel (github.com/romn6/NetworkSentinel)
- 🌱 Currently learning: Penetration Testing, Intrusion Detection Systems (IDS), Red Teaming, and more.
- 📫 Reach me on: linkedin.com/in/roman-najera-jr
- ✨ Fun fact: I'm a big fan of cats! <3
-
Prerequisites: Ensure you have a C compiler (like GCC) and
libpcap
development libraries installed on your system.- Linux:
sudo apt-get update && sudo apt-get install gcc libpcap-dev
- macOS: If you have Xcode Command Line Tools installed, GCC should be available. You might need to install
libpcap
using Homebrew:brew install libpcap
- Linux:
-
Compilation: Navigate to the project directory in your terminal and compile the C source files. The exact command will depend on your project structure and source file names. [Compilation command to be determined]
-
Running: After successful compilation, you can run the executable. The exact command and any required arguments (like the network interface) will depend on how you design your NIDS. [Running command and arguments to be determined]
Note: These instructions will be updated as the project development progresses and the build process is finalized.
While the specific implementation details are still in development, this project aims to leverage the strengths of the C to create a insightful Network Intrusion Detection System. By choosing C, I intend to explore and potentially optimize for:
- High-Performance Packet Processing: C's low-level memory management and direct access to system resources can enable efficient capture and analysis of network traffic, which is critical for a real-time NIDS.
- Fine-Grained Network Control: C allows for detailed manipulation of network packets and protocols, providing a deeper understanding of network behavior and potential anomalies.
- System-Level Integration: A C-based NIDS could potentially be more easily integrated into various operating systems or embedded security appliances.
Key Cybersecurity Topics to be Explored:
This project will delve into several important cybersecurity concepts, including:
- Network Protocol Analysis: Implementing the parsing and understanding of common network protocols (e.g., TCP, UDP, IP, Ethernet).
- Signature-Based Intrusion Detection: Developing and implementing rule-based detection 604A mechanisms to identify known attack patterns.
- Raw Socket Programming: Utilizing raw sockets in C to capture and analyze network traffic at a fundamental level.
- Memory Management for Security: Paying close attention to secure memory handling practices to avoid vulnerabilities.
- Basic Anomaly Detection Concepts (Potential Future Expansion): While the initial focus might be on signature-based detection, the architecture could be designed to accommodate future exploration of statistical or behavioral anomaly detection techniques.
- Alerting and Logging Mechanisms: Implementing ways to report detected intrusions and log relevant network activity.