Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
T-Backdoor — स्पाइकिंग न्यूरल नेटवर्क्स पर रेट, लेटेंसी, और जिटर ट्रिगर्स का उपयोग करते हुए स्थानिक व्यवधान के बिना टेम्पोरल-ट्रिगर बैकडोर हमलों, T-Backdoor को लागू करने वाला शोध कोड। | Kitploit
उपकरण/GitHubGitHub/sisl-uri/t-backdoor
मशीन लर्निंगपेपर और शोधलर्निंग और शिक्षाAI सुरक्षाप्रतिकूल हमला
GitHubsisl-uri/t-backdoor

T-Backdoor

स्पाइकिंग न्यूरल नेटवर्क्स पर रेट, लेटेंसी, और जिटर ट्रिगर्स का उपयोग करते हुए स्थानिक व्यवधान के बिना टेम्पोरल-ट्रिगर बैकडोर हमलों, T-Backdoor को लागू करने वाला शोध कोड।

रिपॉजिटरी देखें
142 दिन पहलेअभी तक समीक्षित नहीं

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें

पेपर के लिए नमूना कोड: 'T-Backdoor: स्पाइक-प्रिज़र्विंग बैकडोर हमलों के लिए न्यूरोमॉर्फिक डेटा में टेम्पोरल रिडंडेंसी का दोहन'

सारांश

बैकडोर हमले डीप न्यूरल नेटवर्क (DNNs) के लिए एक गंभीर सुरक्षा खतरा हैं और स्पाइकिंग न्यूरल नेटवर्क (SNNs) के लिए अभी भी काफी हद तक अज्ञात हैं। मौजूदा हमले मुख्य रूप से स्पेटियोटेम्पोरल ट्रिगर्स पेश करते हैं जो जहर वाले नमूनों के स्पाइक वितरण में उनके स्वच्छ समकक्षों के सापेक्ष विचलन उत्पन्न करते हैं। इस सीमा को दूर करने के लिए, यह कार्य SNNs पर एक नए बैकडोर हमले का प्रस्ताव करता है, जिसे \textbf{T-Backdoor} कहा जाता है, जो विशुद्ध रूप से टेम्पोरल ट्रिगर्स जैसे \textit{Rate}, \textit{Latency}, और \textit{Jitter} का उपयोग करके संचालित होता है, बिना किसी स्थानिक गड़बड़ी के, जिससे स्पाइक वितरण में बदलाव का पता लगाना काफी कठिन हो जाता है। तीन बेंचमार्क न्यूरोमॉर्फिक डेटासेट: N-MNIST, CIFAR10-DVS, और N-Caltech101 पर व्यापक प्रयोगों और सात बेसलाइन बैकडोर रक्षा विधियों के खिलाफ मूल्यांकन के माध्यम से, हम प्रदर्शित करते हैं कि T-Backdoor केवल मामूली सटीकता गिरावट के साथ एकल लक्ष्य और बहु-लक्ष्य दोनों सेटिंग्स में लगभग-पूर्ण 100% हमला सफलता दर (ASR) प्राप्त करता है, जबकि मौजूदा बैकडोर डिटेक्शन और शमन तकनीकों के खिलाफ मजबूत बना रहता है।

रिपॉजिटरी लेआउट

root@kitploit:~
├── models.py                          # Architectures for all datasets (shared)
├── datasets.py                        # Neuromorphic dataset loading (shared)
│
├── main_single.py                     # 1. Single-target entry point
├── single_poisoned_dataset.py         #    Trigger implementations + loaders
├── single_utils.py                    #    Train/eval loop, saving, plots
├── single_target.sh                   #    Paper runs
│
├── main_multi_target.py               # 2. Multi-target entry point
├── multi_target_poisoned_dataset.py   #    Per-target parameter assignment
├── multi_target_utils.py              #    Per-target ASR tracking, saving
├── multi_target.sh                    #    Paper runs
│
├── main_mtmt.py                       # 3. Multi-trigger multi-target entry point
├── mtmt_poisoned_dataset.py           #    Per-target trigger-type config
├── mtmt_utils.py                      #    Per-target ASR tracking, saving
└── mtmt.sh                            #    Paper runs

आवश्यकताएँ

  • Python 3.11
  • CUDA-सक्षम GPU (CPU काम करता है लेकिन अव्यावहारिक रूप से धीमा है)
root@kitploit:~
python -m venv venv
source venv/bin/activate

pip install torch torchvision          # CUDA build matching your driver
pip install spikingjelly
pip install numpy scipy matplotlib seaborn tqdm

रिपोर्ट किए गए परिणामों के लिए उपयोग किया गया संदर्भ वातावरण:

डेटासेट सेटअप

कच्चे न्यूरोमॉर्फिक डेटासेट डाउनलोड करें और प्रत्येक को data/ की अपनी उपनिर्देशिका में रखें, जिसका नाम बिल्कुल --dataset मान के अनुसार हो:

root@kitploit:~
data/
├── mnist/       # N-MNIST
├── cifar10/     # CIFAR10-DVS
├── caltech/     # N-Caltech101
└── gesture/     # DVS128-Gesture

⚠️ data/ आपकी कार्यशील निर्देशिका में एक शाब्दिक निर्देशिका होनी चाहिए

उपयोग

1. एकल-लक्ष्य (main_single.py)

एक ट्रिगर, एक लक्ष्य वर्ग।

root@kitploit:~
python main_single.py --dataset cifar10 --type latency --delay_frames 1 \
    --T 10 --epochs 100 --epsilon 0.1 --data_dir 'data/'

मुख्य तर्क

ट्रिगर-विशिष्ट तर्क

--epsilon 0.0 सेट करने पर एक स्वच्छ बेसलाइन मॉडल प्रशिक्षित होता है।


2. बहु-लक्ष्य (main_multi_target.py)

एक ट्रिगर प्रकार, N लक्ष्य वर्ग जो ट्रिगर के पैरामीटर मान द्वारा अलग किए गए हैं।

root@kitploit:~
# Latency: delay 1 -> class 0, delay 3 -> class 1, delay 5 -> class 2
python main_multi_target.py --dataset mnist --type latency --n_targets 3 \
    --trigger_labels 0 1 2 --delay_params 1 3 5 \
    --epsilon 0.2 --T 10 --epochs 10 --data_dir 'data/'

प्रति-लक्ष्य पैरामीटर। उन्हें स्पष्ट रूप से दें, या उन्हें एक श्रेणी पर np.linspace द्वारा स्वतः-निर्धारित होने दें। स्पष्ट सूचियों की लंबाई --n_targets होनी चाहिए और वे श्रेणी तर्कों को ओवरराइड करती हैं।

स्वतः-निर्धारित पूर्णांक पैरामीटर (latency, jitter_fixed) टकरावों को बढ़ाकर डी-डुप्लिकेट किए जाते हैं, इसलिए कोई भी दो लक्ष्य एक मान साझा नहीं करते।

static के लिए, लक्ष्यों को कौन से फ्रेम पैच ले जाते हैं द्वारा अलग किया जाता है — पैच की उपस्थिति के बजाय समय अक्ष उन्हें अलग करता है।

प्रति-लक्ष्य ASR हर युग में स्वच्छ सटीकता के साथ मुद्रित किया जाता है।


3. बहु-ट्रिगर बहु-लक्ष्य (main_mtmt.py)

प्रति लक्ष्य एक अलग ट्रिगर प्रकार।

root@kitploit:~
python main_mtmt.py --dataset mnist --T 10 --n_targets 5 \
    --target_types latency latency rate rate jitter_fixed \
    --trigger_labels 0 1 2 3 4 \
    --latency_delays 1 2 --rate_scales 0.5 2.0 --jitter_fixed_shifts 3 \
    --epsilon 0.3 --epochs 100 --data_dir 'data/'

प्रति-प्रकार पैरामीटर सूचियाँ। प्रत्येक सूची में उस प्रकार के प्रति लक्ष्य एक प्रविष्टि होती है — --target_types latency latency rate rate jitter_fixed के साथ आप दो विलंब, दो दरें और एक शिफ्ट पास करते हैं:

किसी सूची को छोड़ने पर मेल खाती *_min / *_max श्रेणी से स्वतः-निर्धारित होता है।

अंतर्निहित प्रीसेट (जब --target_types नहीं दिया जाता तो उपयोग किए जाते हैं):

  • --n_targets 3 — static (फ्रेम 0..T/3), latency (--delay), rate (--scale_factor)
  • --n_targets 5 — दो static (अलग फ्रेम समूह और स्थितियाँ), दो latency (--delay, --delay_2), एक rate

कोई भी अन्य --n_targets मान --target_types की आवश्यकता होती है।


आउटपुट

प्रत्येक रन एक साझा CSV में एक पंक्ति लिखता है साथ ही एक स्व-निहित प्रयोग निर्देशिका।

ट्रिगर पैरामीटर निर्देशिका नाम में एन्कोड किए जाते हैं (df1 = विलंब 1, sf0.1 = दर 0.1, ns3 = 3 स्वैप), इसलिए केवल ट्रिगर पैरामीटर में भिन्न रन एक-दूसरे को ओवरराइट नहीं करते।


आभार

इस कोडबेस के कुछ हिस्से Gorka Abad et al. द्वारा Sneaky Spikes रिपॉजिटरी से अनुकूलित हैं, जो पेपर "Sneaky Spikes: Uncovering Stealthy Backdoor Attacks in Spiking Neural Networks with Neuromorphic Data" (NDSS 2024) के साथ है। हम अपने कोड को सार्वजनिक रूप से उपलब्ध कराने के लिए लेखकों को धन्यवाद देते हैं।


उद्धरण

यदि आपको यह कार्य अपने शोध में उपयोगी लगता है, तो कृपया उद्धृत करने पर विचार करें:

root@kitploit:~
@article{miah2026tbackdoor,
  title   = {T-Backdoor: Exploiting Temporal Redundancy in Neuromorphic Data for Spike-preserving Backdoor Attacks on SNNs},
  author  = {Miah, Abdullah Arafat and Vu, Kevin and Bi, Yu},
  journal = {arXiv},
  year    = {2026}
}

संपर्क

कोड के संबंध में प्रश्नों या समस्याओं के लिए, कृपया एक GitHub issue खोलें या संपर्क करें:

  • Abdullah Arafat Miah — [email protected]
  • Yu Bi — [email protected]
टूल डाउनलोड करें
पैकेजसंस्करण
Python3.11.10
torch2.11.0+cu128
torchvision0.26.0+cu128
numpy2.2.6
scipy1.16.0
matplotlib3.8.4
seaborn0.13.2
spikingjellylatest from source
तर्कडिफ़ॉल्टविवरण
--datasetgesturemnist, cifar10, caltech, gesture
--typestaticstatic, moving, smart, latency, rate, jitter, jitter_fixed
--epsilon0.1जहर देने के लिए प्रशिक्षण सेट का अंश
--trigger_label0लक्ष्य वर्ग
--T10सिमुलेशन समय-चरण
--epochs10प्रशिक्षण युग
--batch_size16बैच आकार
--lr0.001सीखने की दर
--lossmsemse या cross
--optimadamadam या sgd
--ampबंदस्वचालित मिश्रित परिशुद्धता सक्षम करें
--seed42यादृच्छिक बीज
--data_dirdata/डेटासेट रूट
--save_pathexperiments_singleआउटपुट रूट
--model_pathNoneपूर्व-प्रशिक्षित चेकपॉइंट से प्रारंभ करें
तर्कडिफ़ॉल्टलागू होता है
--delay_frames2latency — विलंब के फ्रेम
--scale_factor0.5rate — <1 धीमा, >1 तेज़
--n_shift3jitter_fixed — स्वैप किए गए फ्रेम जोड़ों की संख्या
--trigger_size0.1static/moving/smart — चौड़ाई के अंश के रूप में पैच आकार
--postop-leftstatic — top-left, top-right, bottom-left, bottom-right, middle, random
--polarity3static/moving/smart — 0=काला, 1=गहरा नीला, 2=हरा, 3=हल्का नीला
--n_masks2smart — उम्मीदवार क्षेत्रों की संख्या
--leastबंदsmart — सबसे अधिक के बजाय सबसे कम सक्रिय क्षेत्र को लक्षित करें
--most_polarityबंदsmart — क्षेत्र में सबसे सक्रिय ध्रुवता का उपयोग करें
तर्कडिफ़ॉल्टविवरण
--typeratestatic, latency, rate, jitter, jitter_fixed
--n_targets3लक्ष्य वर्गों की संख्या
--trigger_labels[0..n-1]स्पष्ट लक्ष्य लेबल; लंबाई --n_targets के बराबर होनी चाहिए
--epsilon0.1कुल बजट, लक्ष्यों में समान रूप से विभाजित
ट्रिगरस्पष्टऑटो श्रेणीऑटो डिफ़ॉल्ट
latency--delay_params 1 3 5--delay_min, --delay_max1 … T//2
rate--rate_params 0.3 0.6 0.9--rate_min, --rate_max0.1 … 6.0
jitter--jitter_params 0.05 0.15 0.25--jitter_std_min, --jitter_std_max0.05 … 0.3
jitter_fixed--nshift_params 1 3 5--n_shift_min, --n_shift_max1 … max(n_shift_min+1, T//4)
static——T को n_targets फ्रेम समूहों में विभाजित किया गया
तर्कडिफ़ॉल्टविवरण
--n_targets3लक्ष्यों की संख्या; 3 और 5 में अंतर्निहित प्रीसेट हैं
--target_typesNoneप्रति लक्ष्य ट्रिगर प्रकार — static, latency, rate, jitter, jitter_fixed। लंबाई --n_targets के बराबर होनी चाहिए। प्रीसेट को ओवरराइड करता है
--trigger_labels[0..n-1]लक्ष्य लेबल
--epsilon0.2कुल बजट, लक्ष्यों में समान रूप से विभाजित
तर्कलागू होता है
--latency_delays 1 2प्रत्येक latency लक्ष्य
--rate_scales 0.5 2.0प्रत्येक rate लक्ष्य
--jitter_fixed_shifts 3प्रत्येक jitter_fixed लक्ष्य
--jitter_stds 0.1 0.3प्रत्येक jitter लक्ष्य
--static_positions top-left bottom-rightप्रत्येक static लक्ष्य
--static_polarities 3 1प्रत्येक static लक्ष्य
सेटिंगसारांश CSVप्रयोग निर्देशिका
एकल<save_path>/results.csv<dataset>_<type>_<eps>_<size>_<param>_<seed>/
बहु-लक्ष्य<save_path>/multi_target_results.csvmulti_<type>_<dataset>_<n>targets_<labels>_eps<eps>_<params>_seed<seed>/
MTMT<save_path>/mtmt_results.csvmtmt_<dataset>_<n>t_<params>_eps<eps>_seed<seed>/