A comprehensive SIEM (Security Information and Event Management) system built with C# and .NET 8, designed to address the deficiencies of existing SIEM solutions in the market.
- Intelligent Threat Detection: Multi-layered detection combining machine learning, behavioral analytics, and threat intelligence
- Real-time Event Processing: High-performance event ingestion and correlation engine
- Advanced Analytics: Built-in UEBA (User and Entity Behavior Analytics) and anomaly detection
- Integrated SOAR: Native security orchestration, automation, and response capabilities
- Modern Web UI: Intuitive, responsive interface with natural language query support
- Open Architecture: Extensible plugin system with comprehensive REST APIs
- Cloud-Native: Microservices-based architecture with horizontal scaling
- Comprehensive Alerting: Multi-channel notifications with intelligent deduplication
The system follows a microservices architecture with the following components:
- Data Collection Layer: Ingests logs from various sources (Syslog, Windows Events, APIs)
- Event Processing Engine: Normalizes, enriches, and correlates security events
- Analytics Layer: Machine learning models for threat detection and behavioral analysis
- Alert Management: Intelligent alert generation and lifecycle management
- User Interface: Modern web-based dashboard and investigation tools
- Backend: ASP.NET Core 8.0, C#
- Storage: In-memory stores (production would use Elasticsearch/SQL Server)
- Machine Learning: ML.NET integration
- API: RESTful APIs with Swagger documentation
- Authentication: JWT-based authentication (ready for integration)
- .NET 8.0 SDK
- Visual Studio 2022 or VS Code (optional)
- Git
-
Clone the repository
git clone <repository-url> cd CSharpSIEM/SiemCore
-
Build the project
dotnet build
-
Run the application
dotnet run --urls="http://localhost:5000" -
Access the API
- Swagger UI: http://localhost:5000
- Health Check: http://localhost:5000/health
POST /api/siem/events
Content-Type: application/json
{
"timestamp": "2025-10-10T12:00:00Z",
"sourceSystem": "Windows Server",
"eventType": "Authentication",
"severity": "Medium",
"description": "User login attempt",
"sourceIp": "192.168.1.100",
"username": "john.doe",
"rawLog": "Event log data..."
}GET /api/siem/events?startTime=2025-10-10T00:00:00Z&severity=High&page=1&pageSize=50GET /api/siem/alerts?status=Open&severity=CriticalPUT /api/siem/alerts/{alertId}/status
Content-Type: application/json
{
"status": "Resolved",
"resolution": "False positive - legitimate admin activity"
}The system includes several configurable services:
Configure various log sources through the DataSource model:
- Syslog servers
- Windows Event Logs
- Database audit logs
- Custom APIs
Create custom threat detection rules:
- Time-based correlation
- Pattern matching
- Machine learning models
- Threshold-based alerting
Configure alert notifications:
- Email notifications
- Slack integration
- SMS alerts
- Webhook endpoints
curl -X POST "http://localhost:5000/api/siem/events" \
-H "Content-Type: application/json" \
-d '{
"timestamp": "2025-10-10T12:00:00Z",
"sourceSystem": "Test System",
"eventType": "Security",
"severity": "High",
"description": "Suspicious activity detected",
"sourceIp": "192.168.1.100",
"username": "testuser"
}'curl http://localhost:5000/healthAccess real-time SIEM statistics:
GET /api/siem/dashboard/statsReturns:
- Total events processed
- Recent event counts
- Severity distribution
- Top event sources
- System health metrics
- Threat Intelligence Integration: Real-time threat indicator checking
- Behavioral Analytics: User and entity behavior monitoring
- Anomaly Detection: Machine learning-based anomaly scoring
- False Positive Reduction: Adaptive learning from analyst feedback
- Automated Response: Configurable response playbooks
For production deployment, consider:
- Database Integration: Replace in-memory stores with Elasticsearch and SQL Server
- Message Queue: Implement RabbitMQ or Apache Kafka for event streaming
- Load Balancing: Deploy multiple API instances behind a load balancer
- Monitoring: Integrate with Application Insights or similar monitoring solutions
- Security: Implement proper authentication and authorization
- Scaling: Deploy on Kubernetes for automatic scaling
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
For support and questions:
- Create an issue in the repository
- Check the API documentation at
/swagger - Review the comprehensive analysis document
- Web-based dashboard UI
- Advanced machine learning models
- Threat hunting capabilities
- Multi-tenancy support
- Enterprise SSO integration
- Advanced reporting engine
- Mobile application
- Cloud deployment templates
Note: This is a demonstration implementation showcasing modern SIEM architecture and capabilities. For production use, additional security hardening, performance optimization, and enterprise features would be required.