
इंटरनेट RFCs के संबंध में विभिन्न विश्लेषणों और अनुमानों के माध्यम से संभावित सुरक्षा भेद्यता अभिव्यक्ति की जाँच से संबंधित पेपर, डेटा और कोड
इंटरनेट RFCs के सुरक्षा पहलुओं का विश्लेषण करने में मदद करने के लिए मूल शोधपत्र और सहायक स्क्रिप्ट्स।
यह रिपॉज़िटरी RFC सुरक्षा की एक समीक्षा (RFC की शैली में लिखी गई) और साथ ही कई पायथन सहायक स्क्रिप्ट्स होस्ट करता है जो अंतर्निहित विश्लेषण के लिए आवश्यक डेटा प्राप्त करने, और आवश्यक Cypher (neo4j ग्राफ डेटाबेस) कोड उत्पन्न करने के लिए उपयोग की गई थीं ताकि RFC कॉर्पस के ग्राफ डेटाबेस विश्लेषण का समर्थन किया जा सके।
इस रिपॉज़िटरी की स्क्रिप्ट्स केवल त्वरित स्क्रिप्ट्स हैं जो श्वेतपत्र के लिए आवश्यक जानकारी निकालती हैं, और उन्हें CSV प्रारूप में रखती हैं जिसे (इस उदाहरण में) neo4j ग्राफ डेटाबेस में आयात करने के लिए उपयोग किया जा सकता है। निकाले गए डेटा के संदर्भ में स्क्रिप्ट्स किसी भी तरह से संपूर्ण नहीं हैं, इसलिए वे केवल उदाहरण/टेम्पलेट के रूप में कार्य करती हैं।
RFCs के बीच ईमेल और अप्रचलन (obsolescence) संबंधों को निकालने के लिए, RFC कॉर्पस पर निम्नलिखित स्क्रिप्ट्स चलाएँ, जो संबंधों की CSV फ़ाइलें उत्पन्न करेंगी:
https://github.com/m4ttl/RFC-Security-Research/blob/main/RFC%20Email%20Processing/email-Cypher.py https://github.com/m4ttl/RFC-Security-Research/blob/main/RFC%20Precedent%20Processing/parsejsoncypher.py
फिर CSV फ़ाइलों को neo4j में इस प्रकार आयात करें:
MERGE (rfc:RFC {name: csvLine.rfc})
MERGE (email:Email {name: csvLine.email})
CREATE (email)-[:CONTRIBUTED_TO]->(rfc)
obsolescence संबंधों के लिए, उन्हें neo4j में इस प्रकार आयात करें:
LOAD CSV WITH HEADERS FROM 'file:///standalone.csv' AS csvLine
MERGE (rfc:RFC {name: csvLine.rfc, title: csvLine.title})
LOAD CSV WITH HEADERS FROM 'file:///updated_by.csv' AS csvLine
MERGE (rfc:RFC {name: csvLine.rfc, title: csvLine.title})
MERGE (updaterfc:Updaterfc {name: csvLine.updatedby})
CREATE (rfc)-[:UPDATED_BY]->(updaterfc)
LOAD CSV WITH HEADERS FROM 'file:///updates.csv' AS csvLine
MERGE (rfc:RFC {name: csvLine.rfc, title: csvLine.title})
MERGE (updatesrfc:Updatesrfc {name: csvLine.updates})
CREATE (rfc)-[:UPDATES]->(updatesrfc)
LOAD CSV WITH HEADERS FROM 'file:///obsoleted_by.csv' AS csvLine
MERGE (rfc:RFC {name: csvLine.rfc, title: csvLine.title})
MERGE (obsoletedbyrfc:Obsoletedbyrfc {name: csvLine.obsoletedby})
CREATE (rfc)-[:OBSOLETED_BY]->(obsoletedbyrfc)
LOAD CSV WITH HEADERS FROM 'file:///obsoletes.csv' AS csvLine
MERGE (rfc:RFC {name: csvLine.rfc, title: csvLine.title})
MERGE (obsoletesrfc:Obsoletesrfc {name: csvLine.obsoletes})
CREATE (rfc)-[:OBSOLETES]->(obsoletesrfc)
इसके बाद कोई व्यक्ति श्वेतपत्र में वर्णित विभिन्न क्वेरीज़ का उपयोग करके आवश्यक जानकारी प्राप्त कर सकता है और संबंधों के वांछित जुड़े हुए ग्राफ़ बना सकता है।
संबंधित सारांश ब्लॉग पोस्ट: https://research.nccgroup.com/?p=6870