
BlockGuard एक विंडोज डेटा हानि निवारण (DLP) एजेंट है जो प्रक्रिया स्तर पर फ़ाइल पहुंच को इंटरसेप्ट और नियंत्रित करता है। यह सुनिश्चित करता है कि केवल अधिकृत प्रक्रियाएं — जो निष्पादन योग्य पथ, क्रिप्टोग्राफिक हैश, Authenticode हस्ताक्षर और अखंडता स्तर द्वारा पहचानी जाती हैं — संरक्षित फ़ाइलों को पढ़ सकें।
BlockGuard एक विंडोज डेटा हानि रोकथाम (DLP) एजेंट है जो प्रक्रिया स्तर पर फ़ाइल एक्सेस को इंटरसेप्ट और नियंत्रित करता है। यह सुनिश्चित करता है कि केवल अधिकृत प्रक्रियाएँ — निष्पादन योग्य पथ, क्रिप्टोग्राफिक हैश, ऑथेंटिकोड हस्ताक्षर और अखंडता स्तर द्वारा पहचानी गई — सुरक्षित फ़ाइलों को पढ़ सकें। अन्य सभी प्रक्रियाओं को डिफ़ॉल्ट रूप से OS कर्नेल स्तर पर NTFS ACL के माध्यम से अस्वीकार कर दिया जाता है।
| विशेषता | विवरण |
|---|---|
| Deny-by-Default ACLs | सुरक्षित फ़ाइलें एजेंट स्टार्टअप पर लॉक कर दी जाती हैं — केवल SYSTEM और प्रशासकों के पास ही पहुँच रहती है |
| Real-Time ETW Monitoring | विंडोज के लिए इवेंट ट्रेसिंग (ETW) के माध्यम से कर्नेल-स्तरीय फ़ाइल I/O घटनाएँ कैप्चर की जाती हैं |
| 6-Layer Process Validation | निष्पादन योग्य पथ, SHA-256 हैश, ऑथेंटिकोड हस्ताक्षर, स्वामी SID, अखंडता स्तर, पैरेंट प्रक्रिया श्रृंखला |
| DPAPI File Encryption | सुरक्षित फ़ाइलें विंडोज डेटा प्रोटेक्शन API का उपयोग करके रेस्ट पर एन्क्रिप्ट की जाती हैं |
| Auto-Revoking Temporary Access | अधिकृत प्रक्रियाओं को समय-सीमित ACL अनुदान प्राप्त होते हैं जो स्वतः समाप्त हो जाते हैं |
| Tamper Detection | समय-समय पर अखंडता जाँच ACL संशोधनों का पता लगाती है और स्वतः सुधार करती है |
| Structured Audit Logging | सभी एक्सेस प्रयासों का JSON ऑडिट ट्रेल (SIEM-तैयार) |
| Windows Service | एक पृष्ठभूमि विंडोज सेवा के रूप में NT AUTHORITY\SYSTEM के अंतर्गत चलता है |
BlockGuard एक तीन-स्तरीय मॉड्यूलर आर्किटेक्चर का उपयोग करता है:``` ┌─────────────────────────────────────────────────────────────────┐ │ BlockGuard.Agent (Windows Service) │ │ Orchestrates all layers │ ├───────────────────┬─────────────────────┬───────────────────────┤ │ Layer 1 │ Layer 2 │ Layer 3 │ │ MONITORING │ POLICY & IDENTITY │ PROTECTION │ │ │ │ │ │ • ETW Kernel │ • Process Identity │ • DPAPI Encryption │ │ File Trace │ Validator (6 │ • Structured Audit │ │ • ACL Enforcer │ checks) │ Logger (JSON) │ │ (deny-by- │ • Policy Evaluator │ │ │ default) │ (AND-logic │ │ │ │ rules) │ │ │ │ • Identity Cache │ │ │ │ (LRU + TTL) │ │ └───────────────────┴─────────────────────┴───────────────────────┘
---
## 🖥️ UI प्रबंधन इंटरफ़ेस
BlockGuard में एक **WPF डेस्कटॉप एप्लिकेशन** शामिल है जो संरक्षित फ़ाइलों और फ़ोल्डरों को एक दृश्य इंटरफ़ेस के माध्यम से प्रबंधित करने के लिए है — मैन्युअल रूप से `appsettings.json` संपादित करने की आवश्यकता नहीं है।
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/12349/51a9b7894117382666d869cee59860a33698f666133bd23c6b6cd48b225d942c.png" alt="BlockGuard UI" width="640" />
</p>
### विशेषताएँ
- **डैशबोर्ड** — सुरक्षा स्थिति का अवलोकन (कुल फ़ाइलें, फ़ोल्डर, एन्क्रिप्शन स्थिति)
- **संरक्षित फ़ाइलें** — फ़ाइल ब्राउज़र डायलॉग के माध्यम से AI पहुंच से बचाने के लिए फ़ाइलें और फ़ोल्डर जोड़ें/हटाएं
- **गतिविधि लॉग** — सभी कॉन्फ़िगरेशन परिवर्तनों का रीयल-टाइम लॉग
- **सेटिंग्स** — कॉन्फ़िगरेशन फ़ाइल पथ और एजेंट जानकारी देखें
- **एजेंट स्थिति** — लाइव संकेतक जो दिखाता है कि BlockGuard एजेंट सेवा चल रही है या नहीं
### UI कैसे लॉन्च करें```powershell
# From the project root
dotnet run --project src/BlockGuard.UI
नोट: UI, Agent प्रोजेक्ट से
appsettings.jsonको पढ़ता और लिखता है। परिवर्तन सहेजने के बाद, उन्हें प्रभावी करने के लिए BlockGuard Agent सेवा को पुनरारंभ करें।
BlockGuard चलाने से पहले, सुनिश्चित करें कि निम्नलिखित आपके Windows मशीन पर स्थापित हैं:
| आवश्यकता | न्यूनतम संस्करण | जाँच कमांड |
|---|---|---|
| Windows OS | Windows 10 / Server 2019 | winver |
| .NET SDK | 9.0 | dotnet --version |
| प्रशासक विशेषाधिकार | आवश्यक | टर्मिनल को व्यवस्थापक के रूप में चलाएँ |
winget install Microsoft.DotNet.SDK.9
---
## 🚀 त्वरित प्रारंभ
### 1. रिपॉजिटरी क्लोन करें```powershell
git clone [email protected]:m2l33k/BlockGuard.git
cd BlockGuard
dotnet restore BlockGuard.sln
### 3. समाधान बनाएँ```powershell
dotnet build BlockGuard.sln --configuration Release
आपको देखना चाहिए:``` Build succeeded. 0 Warning(s) 0 Error(s)
### 4. सुरक्षित पथ और नियम कॉन्फ़िगर करें
`src/BlockGuard.Agent/appsettings.json` को संपादित करें **कौन सी फ़ाइलें सुरक्षित करनी हैं** और **कौन सी प्रक्रियाएँ अधिकृत हैं** परिभाषित करने के लिए:```json
{
"BlockGuard": {
"ProtectedPaths": [
"C:\\Secrets\\ai-model-keys",
"C:\\Secrets\\api-credentials.json"
],
"AuthorizedProcesses": [
{
"RuleName": "AI-Model-Inference-Engine",
"ExecutablePath": "C:\\Program Files\\MyAI\\inference.exe",
"MinimumIntegrityLevel": "Medium",
"RequireSignature": false
}
]
}
}
dotnet run --project src/BlockGuard.Agent
## ⚙️ कॉन्फ़िगरेशन
सभी कॉन्फ़िगरेशन `src/BlockGuard.Agent/appsettings.json` में `"BlockGuard"` अनुभाग के अंतर्गत रहता है।
### संरक्षित पथ
गार्ड करने के लिए फ़ाइलों या निर्देशिकाओं की एक सूची। निर्देशिकाएँ सभी फ़ाइलों को पुनरावर्ती रूप से सुरक्षित करती हैं।```json
"ProtectedPaths": [
"C:\\Secrets\\ai-model-keys",
"C:\\Secrets\\api-credentials.json",
"D:\\Confidential\\reports"
]
प्रत्येक नियम उन मानदंडों को परिभाषित करता है जिनसे एक प्रक्रिया को पहुँच प्रदान करने के लिए मेल खाना चाहिए। सभी गैर-शून्य फ़ील्ड मेल खानी चाहिए (AND-तर्क):
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
RuleName | string | इस नियम के लिए मानव-पठनीय नाम (ऑडिट लॉग में उपयोग किया जाता है) |
ExecutablePath | string? | अधिकृत निष्पादन योग्य का पूर्ण पथ (केस-असंवेदनशील) |
ExpectedFileHash | string? | निष्पादन योग्य का SHA-256 हैश (छेड़छाड़ का पता लगाना) |
ExpectedSignerSubject | string? | Authenticode प्रमाणपत्र विषय (उदा., "CN=Contoso") |
MinimumIntegrityLevel | string | न्यूनतम Windows अखंडता स्तर: Untrusted, Low, Medium, High, System |
RequireSignature | bool | यदि true है, तो निष्पादन योग्य के पास एक वैध Authenticode हस्ताक्षर होना चाहिए |