Spaces:
Sleeping
Sleeping
| name: pll-cyberattack-detection | |
| version: 1.0.0 | |
| description: > | |
| Real-world OpenEnv for cyberattack detection on SRF-based | |
| Phase-Locked Loops in grid-connected inverters. An agent monitors | |
| sensor streams and detects False Data Injection attacks before | |
| they cause loss of grid synchronization. | |
| tags: [power-systems, cybersecurity, control-systems, openenv, pll, fdi] | |
| reward_range: [-2.2, 1.15] | |
| observation_space: | |
| type: continuous | |
| shape: [83] | |
| fields: | |
| - name: vq_window | |
| shape: [20] | |
| description: q-axis voltage error signal (pu) | |
| - name: vd_window | |
| shape: [20] | |
| description: d-axis voltage (pu) | |
| - name: omega_window | |
| shape: [20] | |
| description: normalized frequency deviation from nominal | |
| - name: omega_deviation_window | |
| shape: [20] | |
| description: frequency deviation from nominal (rad/s) | |
| - name: raw_voltages | |
| shape: [3] | |
| description: raw three-phase voltages [va, vb, vc] (pu) | |
| action_space: | |
| type: mixed | |
| fields: | |
| - name: attack_detected | |
| type: bool | |
| - name: attack_type | |
| type: int | |
| range: [0, 4] | |
| - name: confidence | |
| type: float | |
| range: [0.0, 1.0] | |
| - name: protective_action | |
| type: int | |
| range: [0, 3] | |
| tasks: | |
| - id: sinusoidal_fdi | |
| difficulty: easy | |
| numeric_id: 0 | |
| grader: time_to_detection | |
| max_score: 1.0 | |
| episode_length: 500 | |
| description: Detect sinusoidal FDI attack within 100 steps of attack start | |
| - id: multi_attack_classification | |
| difficulty: medium | |
| numeric_id: 1 | |
| grader: classification_accuracy | |
| max_score: 1.0 | |
| episode_length: 500 | |
| description: Classify attack type from observation window | |
| - id: stealthy_attack_detection | |
| difficulty: hard | |
| numeric_id: 2 | |
| grader: pre_lock_loss_detection | |
| max_score: 1.0 | |
| episode_length: 500 | |
| description: Detect stealthy low-amplitude attack before PLL loss-of-lock | |
| episode_length: 500 | |