
ptrace का उपयोग करके फ़ाइल, प्रोसेस, नेटवर्क और मेमोरी गतिविधि को ट्रेस करने वाला लिनक्स सिस्टम-कॉल मॉनिटर, जिसमें नेमस्पेस आइसोलेशन और व्यवहार संबंधी सुरक्षा विश्लेषण के लिए मशीन लर्निंग वर्गीकरण शामिल है।
Linux सिस्टम-कॉल मॉनिटरिंग और व्यवहारिक सुरक्षा विश्लेषण उपकरण जो ptrace-आधारित ट्रेसिंग, हल्का नेमस्पेस अलगाव और मशीन लर्निंग वर्गीकरण को जोड़ता है।
SysTrace सिस्टम-कॉल स्तर पर लक्ष्य प्रोग्राम के रनटाइम व्यवहार का अवलोकन करता है, व्यवहारिक विशेषताओं (features) को निकालता है, और एक प्रशिक्षित Random Forest मॉडल का उपयोग करके देखी गई गतिविधि को हानिरहित या दुर्भावनापूर्ण के रूप में वर्गीकृत करता है। यह मुख्य रूप से C में निम्न-स्तरीय ट्रेसिंग और अलगाव के लिए बनाया गया है, जिसमें वर्गीकरण और रिपोर्टिंग के लिए Python/scikit-learn घटक शामिल है।
SysTrace ptrace का उपयोग करके लक्ष्य प्रक्रिया को ट्रेस करता है, और फ़ाइल एक्सेस, प्रक्रिया निर्माण, नेटवर्क गतिविधि और मेमोरी ऑपरेशन से संबंधित सिस्टम कॉल्स को कैप्चर करता है। कैप्चर किया गया व्यवहार syscall आँकड़ों और एक feature vector में एकत्रित किया जाता है, जिसे एक प्रशिक्षित Random Forest क्लासिफायर को भेजा जाता है ताकि हानिरहित/दुर्भावनापूर्ण भविष्यवाणी उत्पन्न की जा सके। परिणाम एक संरचित HTML सुरक्षा रिपोर्ट में संकलित किए जाते हैं।
इस परियोजना में Linux नेमस्पेस पर निर्मित एक हल्की सैंडबॉक्सिंग परत भी शामिल है, जिसका उपयोग ट्रेसिंग के दौरान लक्ष्य प्रक्रिया को अलग करने के लिए किया जाता है।

ptrace पर आधारित है, जिसमें syscall तर्क और रजिस्टर शामिल हैं।open/openat, read, close, chmodexecve, fork, clone, killsocket, connectmmap, mprotectह्यूरिस्टिक नियम संदिग्ध व्यवहारिक पैटर्न को फ़्लैग करते हैं, जिनमें शामिल हैं:
mmap/mprotect उपयोग)Linux नेमस्पेस प्रिमिटिव पर सीधे निर्मित एक अलगाव परत:
CLONE_NEWUSER, CLONE_NEWPID, CLONE_NEWNS के साथ clone()MS_PRIVATE के माध्यम से mount नेमस्पेस कॉन्फ़िगरेशनpivot_root और umount2 के साथ रूट फाइलसिस्टम स्विचिंग/tmp/systrace-root के अंतर्गत रनटाइम पर निर्मित tmpfs-आधारित न्यूनतम रूट फाइलसिस्टमयह ट्रेस किए गए लक्ष्य के लिए बुनियादी प्रक्रिया, PID और mount अलगाव प्रदान करता है — यह कंटेनर रनटाइम का प्रतिस्थापन नहीं है।
file, process, network, fork, connect, execve, read, open, close, memory, chmod, kill, labelRandomForestClassifier (scikit-learn) को हानिरहित और दुर्भावनापूर्ण व्यवहार के बीच अंतर करने के लिए प्रशिक्षित किया जाता है।ml/syscall_model.pkl में serialized किया जाता है।DATASETfeatures.json (कच्चा फ़ीचर डेटा) और report.html (मानव-पठनीय रिपोर्ट) के रूप में।[file, process, network, fork, connect, execve, read, open, close, memory, chmod, kill]
[15, 2, 0, 0, 0, 2, 1, 10, 4, 14, 6, 0]
linux-syscall-monitor/
├── include/
├── src/
│ ├── tracer.c # Core ptrace-based syscall tracer
│ ├── syscall.c # Syscall interception/handling
│ ├── namespace.c # Namespace/clone setup
│ ├── set_root.c # pivot_root / minimal rootfs setup
│ ├── file_monitor.c # File operation monitoring
│ ├── process_monitor.c # Process creation/execution monitoring
│ ├── network_monitor.c # Network activity monitoring
│ ├── memory_monitor.c # Memory-related activity monitoring
│ ├── fd_tables.c # File descriptor tracking
│ ├── rules.c # Rule-based detection logic
│ ├── alert.c # Security alert generation
│ ├── stat.c # Syscall statistics aggregation
│ └── dataset.c # Feature vector / dataset generation
├── ml/
│ ├── train.py # Random Forest training script
│ ├── predict.py # Classification / inference script
│ └── syscall_model.pkl # Trained model
├── dashboard/ # Report/dashboard assets
├── tests/
├── Makefile
├── dataset.csv
└── README.md
ptrace-आधारित ट्रेसिंग दृश्यमान ओवरहेड उत्पन्न करती है और पर्याप्त रूप से परिष्कृत मैलवेयर द्वारा इसका पता लगाया जा सकता है / इसे evaded किया जा सकता है।SysTrace एक शोध और सीखने की परियोजना है जो Linux आंतरिक तंत्र, सिस्टम-कॉल ट्रेसिंग, नेमस्पेस-आधारित अलगाव और मशीन लर्निंग का उपयोग करके व्यवहारिक मैलवेयर डिटेक्शन का अन्वेषण करती है। यह कोई प्रमाणित या प्रोडक्शन-तैयार सुरक्षा उपकरण नहीं है और दुर्भावनापूर्ण सॉफ़्टवेयर के विरुद्ध इसे एकमात्र सुरक्षा के रूप में निर्भर नहीं किया जाना चाहिए। केवल अलग, नियंत्रित वातावरण में उपयोग करें।
यह परियोजना निम्नलिखित का अन्वेषण और प्रदर्शन करने के लिए बनाई गई थी:
ptrace के साथ सिस्टम-कॉल ट्रेसिंगclone, pivot_root, mount namespaces) का उपयोग करके फाइलसिस्टम अलगाव| श्रेणी | स्टैक |
|---|
| कोर ट्रेसर | C, Linux ptrace |
| अलगाव | Linux namespaces, clone, mount namespaces, pivot_root, tmpfs |
| मशीन लर्निंग | Python, scikit-learn, Random Forest |
| डेटा / आउटपुट | JSON, HTML |
| बिल्ड | Make |