
सैटेलाइट कमांड सिस्टम में एक गंभीर CCSDS टेलीकमांड रीप्ले भेद्यता का PoC सिमुलेशन, जो अनुक्रम-संख्या सत्यापन की अनुपस्थिति और डुप्लिकेट कमांड निष्पादन को प्रदर्शित करता है।
# satellite_sim.py - Spacecraft that executes telecommands without checking sequence number
class Satellite:
def __init__(self):
self.executed = set()
def receive_tc(self, cmd_id, seq_num):
# Vulnerability: ignores seq_num, allowing replay of same command
self.execute(cmd_id)
def execute(cmd_id):
print(f"Executing command {cmd_id}")
sat = Satellite()
# Legitimate command
sat.receive_tc("ORBIT_CORRECTION", 1001)
# Attacker replays the same command
sat.receive_tc("ORBIT_CORRECTION", 1001)
एक सैटेलाइट कमांड सिस्टम CCSDS टेलीकमांड पैकेट स्वीकार करता है लेकिन रीप्ले को रोकने के लिए सीक्वेंस नंबर को मान्य नहीं करता है। एक हमलावर कमांड को इंटरसेप्ट करके उसे दोबारा भेज सकता है, जिससे डुप्लिकेट थ्रस्टर बर्न या अन्य हानिकारक संचालन हो सकते हैं।
सिमुलेशन चलाएँ:
python satellite_sim.py
समान कमांड दो बार निष्पादित की जाती है।