
Boa 0.94.14rc21 में CVE-2009-4496 का रक्षात्मक विश्लेषण, जिसमें स्रोत-कोड समीक्षा, पैच विश्लेषण, गंभीरता आकलन और नैतिक दायरा शामिल हैं।
यह रिपॉजिटरी CVE-2009-4496 का एक रक्षात्मक विश्लेषण प्रलेखित करती है, जो Boa वेब सर्वर से संबंधित एक ऐतिहासिक भेद्यता है।
इस परियोजना का उद्देश्य भेद्यता की जाँच एक रक्षात्मक सुरक्षा परिप्रेक्ष्य से निम्नलिखित माध्यमों से करना है:
सार्वजनिक रूप से उपलब्ध जानकारी का निष्क्रिय अवलोकन;
भेद्यता प्रलेखन की समीक्षा;
ऐतिहासिक स्रोत कोड की स्थानीय परीक्षा;
भेद्य और सुधारित कोड की तुलना;
भेद्यता के तकनीकी कारण का आकलन;
उपचारात्मक उपायों का विश्लेषण;
उपलब्ध साक्ष्य की सीमाओं का मूल्यांकन।
कोई सक्रिय परीक्षण, शोषण, प्रमाणीकरण प्रयास, स्कैनिंग, या तृतीय-पक्ष प्रणालियों का संशोधन नहीं किया गया।
CVE: CVE-2009-4496
CVE रिकॉर्ड द्वारा पहचाना गया प्रभावित सॉफ़्टवेयर: Boa 0.94.14rc21
NVD द्वारा रिपोर्ट किया गया दोष वर्गीकरण: CWE-20 — अनुचित इनपुट सत्यापन (Improper Input Validation)
आधिकारिक NVD गंभीरता: CVSS v2.0 5.0 — मध्यम
CVSS v2.0 वेक्टर: AV:N/AC:L/Au:N/C:P/I:N/A:N
यह भेद्यता Boa द्वारा एक त्रुटि लॉग में लिखे गए डेटा में गैर-मुद्रणीय वर्णों के संचालन से संबंधित है।
CVE विवरण के अनुसार, टर्मिनल एस्केप अनुक्रम युक्त विशेष रूप से तैयार किए गए HTTP अनुरोध ऐसे वर्णों को पर्याप्त स्वच्छता (sanitization) के बिना लॉग में लिखे जाने का कारण बन सकते थे।
परिणामी प्रभाव इस बात पर निर्भर करता है कि लॉग को बाद में कैसे प्रदर्शित किया जाता है और, विशेष रूप से, इसे देखने के लिए उपयोग किए जाने वाले टर्मिनल एम्युलेटर के व्यवहार पर।
निष्क्रिय जानकारी ने एक HTTP सेवा का संकेत दिया जो निम्नलिखित सॉफ़्टवेयर बैनर रिपोर्ट करती है:
Server: Boa/0.94.14rc21
यह संस्करण CVE-2009-4496 से संबद्ध है।
हालाँकि, अकेले एक संस्करण बैनर यह स्थापित करने के लिए पर्याप्त नहीं है कि कोई विशिष्ट प्रणाली भेद्य बनी हुई है।
संभावित कारणों में शामिल हैं:
वितरण या विक्रेता द्वारा बैकपोर्ट किए गए सुरक्षा पैच;
संशोधित स्रोत कोड;
कॉन्फ़िगरेशन में अंतर;
ऑपरेटिंग वातावरण में अंतर;
सुरक्षा सुधारों के बाद अपरिवर्तित संस्करण स्ट्रिंग्स।
इस कारण से, अवलोकित प्रणाली को केवल एक संभावित संस्करण मिलान के रूप में माना गया।
उस प्रणाली के विरुद्ध भेद्यता को मान्य करने का कोई प्रयास नहीं किया गया।
ऐतिहासिक Boa स्रोत कोड की स्थानीय रूप से समीक्षा की गई।
विश्लेषण ने त्रुटि-लॉगिंग तर्क की पहचान की जिसमें त्रुटि आउटपुट का निर्माण करते समय अनुरोध पाथनेम का उपयोग किया गया था।
अवधारणात्मक रूप से, ऐतिहासिक व्यवहार को इस प्रकार दर्शाया जा सकता है:
HTTP request
↓
request pathname
↓
error logging
बाद में सुधारित कोड एक मध्यवर्ती एस्केपिंग संक्रिया प्रस्तुत करता है:
HTTP request
↓
request pathname
↓
escape_pathname()
↓
escaped pathname
↓
error logging
प्रासंगिक सुधारित तर्क त्रुटि लॉग में उपयोग करने से पहले पाथनेम का एक स्वच्छ (sanitized) प्रतिनिधित्व बनाता है।
यह विशेष उपचार की आवश्यकता वाले वर्णों को उनके मूल रूप में सीधे लिखे जाने से रोकता है।
सुधारित कार्यान्वयन लॉग में लिखे जाने से पहले पाथनेम वर्णों का मूल्यांकन करता है।
सुरक्षित माने जाने वाले वर्ण अपरिवर्तित रहते हैं।
एस्केपिंग की आवश्यकता वाले वर्णों को निम्न रूप के पाठ्य हेक्साडेसिमल प्रतिनिधित्व में परिवर्तित किया जाता है:
\\xNN
इस रूपांतरण का सुरक्षा उद्देश्य किसी नियंत्रण वर्ण को उसके मूल रूप में आउटपुट संदर्भ तक पहुँचने से रोकना है।
उदाहरण के लिए, अंतर अवधारणात्मक रूप से इस प्रकार है:
Raw control character
↓
terminal may interpret it
बनाम:
Textual representation such as \\xNN
↓
displayed as text
इसलिए प्रासंगिक रक्षात्मक सिद्धांत है अविश्वसनीय डेटा का आउटपुट न्यूट्रलाइज़ेशन, इससे पहले कि वह संभावित रूप से संवेदनशील आउटपुट संदर्भ तक पहुँचे।
सुधारित कार्यान्वयन पाथनेम को प्रासंगिक त्रुटि आउटपुट में लिखे जाने से पहले एक एस्केपिंग चरण प्रस्तुत करता है।
केंद्रीय परिवर्तन को इस प्रकार संक्षेपित किया जा सकता है:
Before:
request pathname
↓
error log
After:
request pathname
↓
escaping
↓
escaped pathname
↓
error log
इसलिए विश्लेषण इस निष्कर्ष का समर्थन करता है कि सुधारात्मक उपाय लॉगिंग से पहले संभावित रूप से असुरक्षित वर्णों के संचालन को संबोधित करता है।
Debian इस मुद्दे को Boa पैकेज संस्करण में सुधारित के रूप में दर्ज करता है:
0.94.14rc21-4
नेशनल वल्नरेबिलिटी डेटाबेस रिपोर्ट करता है:
CVSS v2.0: 5.0 — Medium
Vector: AV:N/AC:L/Au:N/C:P/I:N/A:N
NVD वर्तमान में CVE-2009-4496 के लिए NVD CVSS v3.x या CVSS v4.0 स्कोर प्रदान नहीं करता है।
इस कारण से, यह परियोजना स्व-गणना किए गए CVSS v3.x या v4.0 स्कोर को आधिकारिक गंभीरता रेटिंग के रूप में प्रस्तुत नहीं करती है।
व्यावहारिक प्रभाव सशर्त है।
अकेले HTTP अनुरोध आवश्यक रूप से अंतिम हानिकारक प्रभाव उत्पन्न नहीं करता है।
भेद्यता द्वारा वर्णित आक्रमण अनुक्रम के लिए अतिरिक्त परिस्थितियों की आवश्यकता होती है:
remote request
↓
unsafe data written to log
↓
log subsequently viewed
↓
terminal emulator interprets the relevant sequence
↓
potential impact
इसलिए टर्मिनल एम्युलेटर का व्यवहार शोषण परिदृश्य के लिए महत्वपूर्ण है।
Debian का सुरक्षा ट्रैकर इस मुद्दे को निम्नलिखित urgency के साथ वर्गीकृत करता है:
unimportant
और नोट करता है कि अंतर्निहित सुरक्षा प्रभाव उन टर्मिनल एम्युलेटरों से संबंधित है जो प्रासंगिक एस्केप अनुक्रमों को गलत तरीके से संसाधित करते हैं।
यह लॉग में लिखे जाने से पहले बाह्य रूप से प्रभावित डेटा को स्वच्छ करने की आवश्यकता को अमान्य नहीं करता है। हालाँकि, यह संकेत देता है कि व्यावहारिक जोखिम का आकलन केवल Boa संस्करण या लॉगिंग व्यवहार की उपस्थिति से नहीं किया जा सकता।
तदनुसार, यह परियोजना निम्न के बीच अंतर करती है:
प्रलेखित ऐतिहासिक गंभीरता
NVD CVSS v2.0: 5.0 — Medium
और:
पर्यावरण-विशिष्ट व्यावहारिक जोखिम
Dependent on additional conditions, including the terminal or log-viewing environment.
इस परियोजना द्वारा कोई स्वतंत्र संख्यात्मक CVSS स्कोर निर्धारित नहीं किया गया है।
Boa 0.94.14rc21 की पहचान CVE प्रलेखन में की गई है।
NVD CVE-2009-4496 को लॉग में गैर-मुद्रणीय वर्णों के अनुचित संचालन से संबद्ध करता है।
ऐतिहासिक स्रोत कोड की स्थानीय रूप से जाँच की गई।
सुधारित कोड प्रासंगिक लॉगिंग संक्रिया से पहले पाथनेम एस्केपिंग प्रस्तुत करता है।
Debian 0.94.14rc21-4 को सुधारित पैकेज संस्करण के रूप में पहचानता है।
NVD CVSS v2.0 5.0 — मध्यम रिपोर्ट करता है।
यह परियोजना यह स्थापित नहीं करती है कि कोई विशिष्ट इंटरनेट-मुखी प्रणाली:
भेद्य कोड रखती है;
बैकपोर्ट किए गए पैच की कमी रखती है;
भेद्य टर्मिनल एम्युलेटर का उपयोग करती है;
शोषण योग्य है;
पर हमला किया गया है;
से समझौता किया गया है।
इसलिए मेल खाते सॉफ़्टवेयर बैनर की उपस्थिति को एक संकेतक के रूप में माना जाता है जिसके लिए आगे अधिकृत सत्यापन की आवश्यकता होती है, न कि भेद्यता के प्रमाण के रूप में।
अधिकृत प्रशासन के अधीन प्रणालियों के लिए, रक्षात्मक उपायों में शामिल हैं:
अप्रचलित Boa स्थापनाओं को बदलना या अद्यतन करना;
यह पुष्टि करना कि विक्रेता या वितरण सुरक्षा पैच मौजूद हैं या नहीं;
भेद्यता स्थिति का आकलन करते समय अकेले संस्करण बैनरों पर निर्भरता से बचना;
लॉगिंग से पहले बाह्य रूप से प्रभावित डेटा को स्वच्छ या तटस्थ करना;
असामान्य या अप्रत्याशित अनुरोध सामग्री के लिए HTTP लॉग की समीक्षा करना;
टर्मिनल एम्युलेटरों और लॉग-देखने वाले उपकरणों का रखरखाव करना;
लॉग तक प्रशासनिक पहुँच प्रतिबंधित करना;
असामान्य अनुरोधों की उनके परिचालन संदर्भ में जाँच करना।
एक असामान्य अनुरोध या लॉग प्रविष्टि को, अपने आप में, सफल शोषण के साक्ष्य के रूप में वर्गीकृत नहीं किया जाना चाहिए।
परियोजना ने निम्नलिखित प्रक्रिया का पालन किया:
Passive observation
↓
Version identification
↓
CVE verification
↓
Source-code review
↓
Identification of relevant logging behavior
↓
Patch comparison
↓
Analysis of character escaping
↓
Severity and environmental assessment
↓
Defensive conclusions
जाँच जानबूझकर सक्रिय शोषण से पहले रोक दी गई।
सार्वजनिक रूप से उपलब्ध भेद्यता जानकारी;
निष्क्रिय OSINT;
ऐतिहासिक स्रोत कोड का स्थानीय विश्लेषण;
स्थानीय पैच तुलना;
भेद्यता वर्गीकरण;
गंभीरता विश्लेषण;
रक्षात्मक अनुशंसाएँ।
तृतीय-पक्ष नेटवर्क स्कैनिंग;
सक्रिय भेद्यता जाँच;
शोषण वितरण;
प्रमाणीकरण प्रयास;
पासवर्ड आक्रमण;
अनधिकृत पहुँच;
स्थिरता;
डेटा संशोधन;
डेटा निष्कर्षण या अपवहन।
इस परियोजना के भाग के रूप में किसी तृतीय-पक्ष प्रणाली का सक्रिय रूप से परीक्षण नहीं किया गया।
boa-cve-2009-4496-analysis/
│
├── README.md
├── SCOPE.md
│
└── analysis/
├── CVE-2009-4496.md
└── PATCH-ANALYSIS.md
SCOPE.mdअनुसंधान की तकनीकी और नैतिक सीमाओं को परिभाषित करता है।
analysis/CVE-2009-4496.mdप्रारंभिक भेद्यता आकलन और संस्करण मिलान तथा पुष्ट भेद्यता के बीच अंतर को प्रलेखित करता है।
analysis/PATCH-ANALYSIS.mdऐतिहासिक और सुधारित लॉगिंग व्यवहार के बीच देखे गए अंतरों को प्रलेखित करता है।
विश्लेषण मुख्य रूप से निम्नलिखित स्रोतों पर आधारित था:
जहाँ किसी स्रोत की जानकारी और विश्लेषक की व्याख्या भिन्न होती है, यह रिपॉजिटरी अंतर की पहचान करती है और विश्लेषणात्मक निष्कर्षों को आधिकारिक विक्रेता या NVD आकलन के रूप में प्रस्तुत करने से बचती है।
यह रिपॉजिटरी केवल निम्नलिखित उद्देश्यों के लिए है:
साइबर सुरक्षा शिक्षा;
रक्षात्मक भेद्यता विश्लेषण;
स्रोत-कोड समीक्षा;
नियंत्रित वातावरण में सुरक्षा अनुसंधान।
परियोजना किसी तृतीय-पक्ष प्रणाली के सफल शोषण का दावा नहीं करती है और यह साक्ष्य प्रदान नहीं करती है कि कोई विशिष्ट अवलोकित होस्ट भेद्य है।
प्रारंभिक भेद्यता विश्लेषण: पूर्ण
स्रोत-कोड समीक्षा: पूर्ण
पैच विश्लेषण: पूर्ण
गंभीरता समीक्षा: पूर्ण
सक्रिय शोषण: नहीं किया गया
तृतीय-पक्ष सक्रिय परीक्षण: नहीं किया गया
CVE-2009-4496 Boa 0.94.14rc21 में लॉगिंग से पहले गैर-मुद्रणीय वर्णों के अपर्याप्त स्वच्छता (sanitization) को प्रलेखित करता है।
ऐतिहासिक भेद्यता NVD से एक आधिकारिक CVSS v2.0 स्कोर 5.0 (मध्यम) रखती है।
व्यावहारिक प्रभाव अतिरिक्त पर्यावरणीय शर्तों पर निर्भर है, विशेष रूप से टर्मिनल एम्युलेटर या लॉग-देखने वाले वातावरण के व्यवहार पर।
तदनुसार, मेल खाते Boa संस्करण बैनर का अस्तित्व आगे के अधिकृत सत्यापन के बिना भेद्यता या शोषण-क्षमता स्थापित करने के लिए अपर्याप्त है।