
ज़ीरो-ट्रस्ट एंटी-फॉरेंसिक HTTP क्लाइंट। गुप्त जानकारी मिटाता है। निशान काटता है। स्टील्थ टैंक में CPR। 👻
ज़ीरो-ट्रस्ट, एंटी-फोरेंसिक HTTP क्लाइंट। गुप्त जानकारी मिटाएं। निशान काटें। एक स्टील्थ टैंक में CPR। 👻
BurnerNet एक C++20 एंटी-फोरेंसिक HTTP क्लाइंट है। यह उन ऐप्स के लिए एक सहज, CPR-जैसा API प्रदान करता है जो स्थानीय मशीन पर पूरी तरह भरोसा नहीं कर सकते—भौतिक रूप से RAM से गुप्त जानकारी मिटाना और स्कैनर व डीबगर से आपके तर्क को छिपाने के लिए निष्पादन निशान काटना।
यह सामान्य HTTP के लिए परिचित होस्ट-संगत डिफ़ॉल्ट और शत्रुतापूर्ण वातावरण के लिए एक स्पष्ट Hardened प्रोफ़ाइल प्रदान करता है। दोनों पथ अल्पकालिक क्लाइंट का पक्ष लेते हैं; उन्नत विश्वास ऐप के स्वामित्व में रहता है।
BurnerNet द्वारा डाउनलोड किए गए पेलोड को सुरक्षित रखना चाहते हैं? इन-मेमोरी एसेट डिस्क्रैम्बलिंग के लिए RipStop Codec देखें।
सिद्धांत • शुरुआत करना • एकीकरण पथ • सुरक्षा वास्तविकता
| क्षेत्र | BurnerNet |
|---|---|
| भाषा | C++20 |
| प्लेटफ़ॉर्म | Windows x64/x86 (प्रथम श्रेणी), Linux (सत्यापित) |
| परिवहन | libcurl-समर्थित HTTP(S) |
| मेमोरी स्वच्छता | सुरक्षित मिटाने वाली उपयोगिताएँ और मिटाने वाले आवंटक |
| फोरेंसिक स्वच्छता | BurnerNet-प्रबंधित परिवहन स्थिति में स्वचालित हीप/स्टैक स्क्रबिंग |
| गतिशील विश्लेषण | कॉल स्टैक अलगाव उपभोक्ता और परिवहन के बीच की कड़ी को तोड़ सकता है |
| बिल्ड हार्डनिंग | वैकल्पिक डायग्नोस्टिक-स्ट्रिंग हटाना, अस्पष्ट शाब्दिक, हार्डन बिल्ड में कम C++ रनटाइम मेटाडेटा |
| रनटाइम हार्डनिंग | DoH समर्थन, प्रदाता-आधारित रहस्य, और कड़े विश्वास नियंत्रण |
| एकीकरण | CMake या Visual Studio स्रोत-ड्रॉप |
BurnerNet का उपयोग तब करें जब सामान्य HTTP क्लाइंट आपके वातावरण के लिए बहुत अधिक भरोसेमंद हो।
यह आपकी मदद करता है जब आप चाहते हैं:
BurnerNet ऐसी परियोजनाओं में फिट बैठता है जैसे:
| चिंता | सामान्य HTTP स्टैक | BurnerNet |
|---|---|---|
| क्लाइंट जीवनकाल | अक्सर साझा और लंबे समय तक चलने वाला | डिस्पोजेबल क्लाइंट और बर्स्ट-स्कोप उपयोग के लिए डिज़ाइन किया गया |
| संवेदनशील मान | रहस्य अक्सर कॉन्फ़िग या मेमोरी में आवश्यकता से अधिक समय तक रहते हैं | प्रदाता कॉलबैक उन्हें उपयोग के करीब लाते हैं |
| DNS और विश्वास | आमतौर पर स्थानीय रिज़ॉल्वर और होस्ट डिफ़ॉल्ट प्राप्त करता है | DoH फ़ॉलबैक और पिन कुंजियों सहित कड़े विश्वास नियंत्रणों का समर्थन करता है |
| सत्यापन | ऐप-विशिष्ट अखंडता जाँच अक्सर बाद में जोड़ी जाती हैं | प्री-फ़्लाइट, परिवहन, और प्रतिक्रिया सत्यापन हुक के साथ काम करने के लिए बनाया गया |
libcurl और OpenSSL-समर्थित प्रवाहों के आंतरिक मेमोरी आवंटन पथों को हुक करने के लिए एक कस्टम Prefix-Size Scrubber का उपयोग करता है। संवेदनशील परिवहन बफ़र BurnerNet-प्रबंधित जीवनकाल छोड़ने पर मिटा दिए जाते हैं। यह स्वच्छता दस्तावेज़ों में वर्णित ऑडिट किए गए कॉन्फ़िगरेशन के भीतर Windows और Linux दोनों पर सत्यापित है।WithResponseVerifier(...) के माध्यम से आपके कोड में रहता है, बजाय एक साझा लाइब्रेरी में हार्डकोड किए जाने के।BURNERNET_DIAGNOSTIC_STRINGS=0 सेट कर सकते हैं ताकि ErrorCodeToString(...) प्रतीकात्मक त्रुटि नामों को एम्बेड किए बिना स्थिर E<number> मान लौटाए।BURNERNET_HARDEN_IMPORTS=1 रनटाइम निर्भरताओं को सीधे आयात तालिका में विज्ञापित करने के बजाय गतिशील रूप से हल कर सकता है, Windows पर BurnerNet के KernelResolver पथ का उपयोग करके।.WithStackIsolation(true) के माध्यम से सक्षम होने पर, लाइब्रेरी परिवहन जीवनचक्र को एक अलग वर्कर थ्रेड पर निष्पादित करती है। यह कॉलर के कॉल स्टैक को भौतिक रूप से तोड़ सकता है और एप्लिकेशन तर्क की सीधी ऊपर-से-नीचे ट्रेसिंग को कम कर सकता है।BurnerNet केवल आयात-लाइट हार्डन मोड का दावा नहीं करता; यह विशिष्ट परीक्षण किए गए कॉन्फ़िगरेशन के लिए ऑडिट नोट्स के साथ आता है। BURNERNET_HARDEN_IMPORTS=ON के साथ Windows x64 Release ऑडिट में:
libcurl.dll, ws2_32.dll, bcrypt.dll, या crypt32.dll के लिए कोई प्रविष्टि नहीं देखी गई।ऑडिट विवरण और पद्धति:
सबसे तेज़ पथ:
<burner/net.h> शामिल करें।न्यूनतम उदाहरण:
#include <iostream>
#include <burner/net.h>
int main() {
burner::net::Client client;
if (!client.IsReady()) {
std::cerr << burner::net::ErrorCodeToString(client.InitError()) << '\n';
return 1;
}
const auto response = client
.Get("https://example.com")
.WithHeader("Accept", "text/html")
.WithTimeoutSeconds(10)
.Send();
if (!response.TransportOk()) {
std::cerr << burner::net::ErrorCodeToString(response.transport_error) << '\n';
return 1;
}
std::cout << "HTTP " << response.status_code << '\n';
return 0;
}
Client मानक डिफ़ॉल्ट का उपयोग करता है: सिस्टम CA, DNS, और प्रॉक्सी जिसमें TLS पीयर और होस्टनाम सत्यापन सक्षम है। WithCasualDefaults() मानक संगतता उपनाम के रूप में उपलब्ध रहता है।
सुरक्षा-महत्वपूर्ण ट्रैफ़िक के लिए, Hardened प्रोफ़ाइल का उपयोग करें। Build() किसी भी अनुरोध से पहले लापता नियंत्रणों को अस्वीकार करता है: