Update README.md
Browse files
README.md
CHANGED
|
@@ -1,212 +1,73 @@
|
|
| 1 |
-
---
|
| 2 |
-
license: mit
|
| 3 |
-
language:
|
| 4 |
-
- en
|
| 5 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 6 |
|
| 7 |
-
#
|
| 8 |
|
| 9 |
-
|
| 10 |
-
**CyberAttackDetection** is a cutting-edge machine learning model designed to detect and classify a wide range of cyberattacks in real-time. Built using advanced algorithms and a comprehensive dataset of known attack signatures, the model can effectively identify abnormal behaviors, intrusion attempts, and potential threats in network traffic and system logs.
|
| 11 |
|
| 12 |
-
|
| 13 |
|
| 14 |
-
**
|
| 15 |
-
-
|
| 16 |
-
-
|
| 17 |
-
-
|
| 18 |
-
- High accuracy and low false-positive rates
|
| 19 |
-
- Scalable for deployment in diverse environments, from small businesses to large enterprises
|
| 20 |
|
| 21 |
-
|
| 22 |
|
| 23 |
-
|
| 24 |
-
- **Model type:** Cyberattack Detection
|
| 25 |
-
- **License:** MIT
|
| 26 |
-
- **Finetuned from model:** [WhiteRabbitNeo/Llama-3.1-WhiteRabbitNeo-2-70B](https://huggingface.co/WhiteRabbitNeo/Llama-3.1-WhiteRabbitNeo-2-70B)
|
| 27 |
|
| 28 |
-
##
|
| 29 |
-
The **CyberAttackDetection** model is built using **WhiteRabbitNeo**, and it adheres to the Llama-3.1 License, with an extended version specific to **WhiteRabbitNeo**. By using this model, you agree to the following usage restrictions:
|
| 30 |
|
| 31 |
-
|
| 32 |
-
- Violates any applicable national or international law or infringes upon third-party rights.
|
| 33 |
-
- Is intended for military use or harm to minors.
|
| 34 |
-
- Generates false information or disseminates inappropriate content.
|
| 35 |
-
- Exploits or harms individuals based on protected characteristics.
|
| 36 |
-
- Discriminates against individuals or groups based on personal characteristics or legal protections.
|
| 37 |
|
| 38 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 39 |
|
| 40 |
-
#
|
| 41 |
-
|
|
|
|
| 42 |
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
- **Default Credentials:** Risks posed by common factory-installed usernames and passwords.
|
| 46 |
-
- **Misconfigurations:** Insecure service configurations that can open up attack vectors.
|
| 47 |
-
- **Injection Flaws:** Common web vulnerabilities like SQL injection, XSS, and command injections.
|
| 48 |
-
- **Unencrypted Services:** Identifying services without encryption (e.g., HTTP vs HTTPS).
|
| 49 |
-
- **Known Software Vulnerabilities:** Checking for outdated software vulnerabilities using resources like the NVD or tools like Nessus and OpenVAS.
|
| 50 |
-
- **Cross-Site Request Forgery (CSRF):** Unauthorized command transmission in web apps.
|
| 51 |
-
- **API Vulnerabilities:** Detecting insecure API endpoints and data leakage.
|
| 52 |
-
- **Denial of Service (DoS):** Identifying DoS vulnerabilities that impact system availability.
|
| 53 |
-
- **Sensitive Data Exposure:** Identifying vulnerabilities that expose personal or financial data.
|
| 54 |
|
| 55 |
-
#
|
| 56 |
-
|
| 57 |
|
| 58 |
-
|
|
|
|
| 59 |
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
### Model Sources [optional]
|
| 67 |
-
|
| 68 |
-
- **Repository:** [More Information Needed]
|
| 69 |
-
- **Paper [optional]:** [More Information Needed]
|
| 70 |
-
- **Demo [optional]:** [More Information Needed]
|
| 71 |
-
|
| 72 |
-
## Uses
|
| 73 |
-
|
| 74 |
-
### Direct Use
|
| 75 |
-
|
| 76 |
-
This model can be used directly for detecting cyber attacks by analyzing network traffic or system logs. It is especially useful for network administrators and cybersecurity experts who need real-time or historical analysis of potentially malicious activities.
|
| 77 |
-
|
| 78 |
-
### Downstream Use [optional]
|
| 79 |
-
|
| 80 |
-
The model can be fine-tuned further for specific types of cyber attacks or to suit different environments (e.g., enterprise networks, small businesses). It can also be integrated into larger security ecosystems that perform continuous monitoring and threat analysis.
|
| 81 |
-
|
| 82 |
-
### Out-of-Scope Use
|
| 83 |
-
|
| 84 |
-
The model is not intended for detecting non-cyber attacks or for use outside cybersecurity applications. It may not perform well with highly specialized or obscure types of attacks that are not well-represented in the training data.
|
| 85 |
-
|
| 86 |
-
## Bias, Risks, and Limitations
|
| 87 |
-
|
| 88 |
-
The model’s performance is influenced by the quality and diversity of the training data. Misclassifications may occur, particularly when encountering novel attack patterns or environments not well-represented in the dataset. Furthermore, the model may generate false positives or miss complex attack vectors.
|
| 89 |
-
|
| 90 |
-
### Recommendations
|
| 91 |
-
|
| 92 |
-
Users should regularly update the model with new data and threat intelligence to keep it relevant. The model should be used in conjunction with human oversight and other detection mechanisms to minimize the risk of undetected threats.
|
| 93 |
-
|
| 94 |
-
## How to Get Started with the Model
|
| 95 |
-
|
| 96 |
-
To get started with the model, use the following code:
|
| 97 |
-
|
| 98 |
-
```python
|
| 99 |
-
from transformers import pipeline
|
| 100 |
-
|
| 101 |
-
model = pipeline("cyber_attack_detection", model="Canstralian/CyberAttackDetection")
|
| 102 |
-
# Example usage: Pass network traffic or system log data to the model
|
| 103 |
-
result = model("Example log data or network traffic")
|
| 104 |
-
print(result)
|
| 105 |
-
```
|
| 106 |
-
|
| 107 |
-
## Training Details
|
| 108 |
-
|
| 109 |
-
### Training Data
|
| 110 |
-
|
| 111 |
-
The model was trained using a combination of datasets related to penetration testing, shell commands, and wordlists, which are essential for recognizing attack vectors and behaviors in real-world environments.
|
| 112 |
-
|
| 113 |
-
- **Pentesting Dataset**: [Canstralian/pentesting_dataset](https://huggingface.co/datasets/Canstralian/pentesting_dataset)
|
| 114 |
-
- **Shell Commands Dataset**: [Canstralian/ShellCommands](https://huggingface.co/datasets/Canstralian/ShellCommands)
|
| 115 |
-
- **Wordlists Dataset**: [Canstralian/Wordlists](https://huggingface.co/datasets/Canstralian/Wordlists)
|
| 116 |
-
|
| 117 |
-
### Training Procedure
|
| 118 |
-
|
| 119 |
-
#### Preprocessing [optional]
|
| 120 |
-
|
| 121 |
-
[More Information Needed]
|
| 122 |
-
|
| 123 |
-
#### Training Hyperparameters
|
| 124 |
-
|
| 125 |
-
- **Training regime:** fp16 mixed precision
|
| 126 |
-
|
| 127 |
-
#### Speeds, Sizes, Times [optional]
|
| 128 |
-
|
| 129 |
-
[More Information Needed]
|
| 130 |
|
| 131 |
## Evaluation
|
|
|
|
|
|
|
|
|
|
|
|
|
| 132 |
|
| 133 |
-
##
|
| 134 |
-
|
| 135 |
-
#### Testing Data
|
| 136 |
-
|
| 137 |
-
- **Pentesting Dataset**: Used for testing the model’s ability to detect attack behaviors.
|
| 138 |
-
- **Shell Commands Dataset**: Assessed the model’s effectiveness in recognizing shell-related attack commands.
|
| 139 |
-
- **Wordlists Dataset**: Evaluated the model’s proficiency in detecting dictionary-based attacks.
|
| 140 |
-
|
| 141 |
-
#### Factors
|
| 142 |
-
|
| 143 |
-
The evaluation tests for the model’s ability to detect common attack vectors, unusual patterns, and malicious behaviors across different datasets.
|
| 144 |
-
|
| 145 |
-
#### Metrics
|
| 146 |
-
|
| 147 |
-
- **Accuracy**
|
| 148 |
-
- **Precision**
|
| 149 |
-
- **Recall**
|
| 150 |
-
- **F1-Score**
|
| 151 |
-
|
| 152 |
-
### Results
|
| 153 |
-
|
| 154 |
-
[More Information Needed]
|
| 155 |
-
|
| 156 |
-
#### Summary
|
| 157 |
-
|
| 158 |
-
The model performs well at detecting common types of cyber attacks but is subject to limitations in environments where the attack types differ significantly from those seen in the training datasets.
|
| 159 |
-
|
| 160 |
-
## Model Examination [optional]
|
| 161 |
-
|
| 162 |
-
[More Information Needed]
|
| 163 |
-
|
| 164 |
-
## Environmental Impact
|
| 165 |
-
|
| 166 |
-
- **Hardware Type:** [More Information Needed]
|
| 167 |
-
- **Hours used:** [More Information Needed]
|
| 168 |
-
- **Cloud Provider:** [More Information Needed]
|
| 169 |
-
- **Compute Region:** [More Information Needed]
|
| 170 |
-
- **Carbon Emitted:** [More Information Needed]
|
| 171 |
-
|
| 172 |
-
## Technical Specifications [optional]
|
| 173 |
-
|
| 174 |
-
### Model Architecture and Objective
|
| 175 |
-
|
| 176 |
-
The model uses deep learning techniques to classify and identify malicious patterns in system logs and network traffic.
|
| 177 |
-
|
| 178 |
-
### Compute Infrastructure
|
| 179 |
-
|
| 180 |
-
#### Hardware
|
| 181 |
-
|
| 182 |
-
[More Information Needed]
|
| 183 |
-
|
| 184 |
-
#### Software
|
| 185 |
-
|
| 186 |
-
[More Information Needed]
|
| 187 |
-
|
| 188 |
-
## Citation [optional]
|
| 189 |
-
|
| 190 |
-
**BibTeX:**
|
| 191 |
-
|
| 192 |
-
[More Information Needed]
|
| 193 |
-
|
| 194 |
-
**APA:**
|
| 195 |
-
|
| 196 |
-
[More Information Needed]
|
| 197 |
-
|
| 198 |
-
## Glossary [optional]
|
| 199 |
-
|
| 200 |
-
[More Information Needed]
|
| 201 |
-
|
| 202 |
-
## More Information [optional]
|
| 203 |
-
|
| 204 |
-
[More Information Needed]
|
| 205 |
-
|
| 206 |
-
## Model Card Authors [optional]
|
| 207 |
-
|
| 208 |
-
[More Information Needed]
|
| 209 |
-
|
| 210 |
-
## Model Card Contact
|
| 211 |
|
| 212 |
-
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
license: mit
|
| 3 |
+
language:
|
| 4 |
+
- en
|
| 5 |
+
datasets:
|
| 6 |
+
- Canstralian/pentesting_dataset
|
| 7 |
+
- Canstralian/Wordlists
|
| 8 |
+
- Canstralian/ShellCommands
|
| 9 |
+
- Canstralian/CyberExploitDB
|
| 10 |
+
- Chemically-motivated/CyberSecurityDataset
|
| 11 |
+
- Chemically-motivated/AI-Agent-Generating-Tool-Debugging-Prompt-Library
|
| 12 |
+
base_model:
|
| 13 |
+
- WhiteRabbitNeo/WhiteRabbitNeo-33B-v1.5
|
| 14 |
+
library_name: transformers
|
| 15 |
+
---
|
| 16 |
|
| 17 |
+
# CyberAttackDetection
|
| 18 |
|
| 19 |
+
This model is a fine-tuned BERT-based sequence classification model designed to detect cyberattacks in text. It classifies textual descriptions of cybersecurity events into two categories: **attack (1)** and **non-attack (0)**.
|
|
|
|
| 20 |
|
| 21 |
+
## Model Details
|
| 22 |
|
| 23 |
+
- **Model Type**: BERT-based sequence classification
|
| 24 |
+
- **Training Data**: Cybersecurity-related attack descriptions
|
| 25 |
+
- **Intended Use**: Detects potential cybersecurity threats in descriptive text data.
|
| 26 |
+
- **Fine-tuning Objective**: Classify descriptive text as either an attack or non-attack event.
|
|
|
|
|
|
|
| 27 |
|
| 28 |
+
## Model Usage
|
| 29 |
|
| 30 |
+
You can use this model to classify whether a given piece of text indicates a cyberattack. Below is an example of how to use the model in Python:
|
|
|
|
|
|
|
|
|
|
| 31 |
|
| 32 |
+
### Install Dependencies
|
|
|
|
| 33 |
|
| 34 |
+
Before using the model, make sure to install the necessary dependencies by running:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 35 |
|
| 36 |
+
```bash
|
| 37 |
+
pip install -r requirements.txt
|
| 38 |
+
```
|
| 39 |
+
### Example Usage
|
| 40 |
+
```python
|
| 41 |
+
from transformers import AutoModelForSequenceClassification, AutoTokenizer
|
| 42 |
|
| 43 |
+
# Load the fine-tuned model and tokenizer
|
| 44 |
+
model = AutoModelForSequenceClassification.from_pretrained("Canstralian/CyberAttackDetection")
|
| 45 |
+
tokenizer = AutoTokenizer.from_pretrained("Canstralian/CyberAttackDetection")
|
| 46 |
|
| 47 |
+
# Example input: Cyberattack description
|
| 48 |
+
text = "A vulnerability was discovered in the server software."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 49 |
|
| 50 |
+
# Tokenize the input
|
| 51 |
+
inputs = tokenizer(text, return_tensors="pt")
|
| 52 |
|
| 53 |
+
# Get model predictions
|
| 54 |
+
outputs = model(**inputs)
|
| 55 |
|
| 56 |
+
# Predict the label (1 = attack, 0 = non-attack)
|
| 57 |
+
prediction = outputs.logits.argmax(dim=-1)
|
| 58 |
+
print(f"Prediction: {'Attack' if prediction.item() == 1 else 'Non-attack'}")
|
| 59 |
+
```
|
| 60 |
+
## Model Training Details
|
| 61 |
+
This model was fine-tuned on a cybersecurity dataset containing attack descriptions. The model is trained to recognize patterns in textual descriptions of cybersecurity events and classify them accordingly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
|
| 63 |
## Evaluation
|
| 64 |
+
### Metrics: Accuracy, F1 Score, Precision, Recall.
|
| 65 |
+
The model was evaluated on a test set and achieved an accuracy of 85% in detecting cyberattacks from textual descriptions.
|
| 66 |
+
## License
|
| 67 |
+
This model is licensed under the MIT License.
|
| 68 |
|
| 69 |
+
## How to Contribute
|
| 70 |
+
Feel free to open issues or contribute to this repository. Pull requests are welcome.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 71 |
|
| 72 |
+
## Contact
|
| 73 |
+
For further information or inquiries, contact the author at: canstralian@cybersecurity.com
|