
인터넷 RFC에 관한 다양한 분석 및 추론을 통한 잠재적 보안 취약점 발현 조사의 논문, 데이터 및 코드
인터넷 RFC의 보안 측면을 분석하는 데 도움이 되는 원본 논문과 헬퍼 스크립트입니다.
이 저장소에는 RFC 스타일로 작성된 RFC 보안 검토(review)와 함께, 기본 분석에 필요한 데이터를 수집하고 RFC 말뭉치에 대한 그래프 데이터베이스 분석을 지원하는 데 필요한 Cypher(neo4j 그래프 데이터베이스) 코드를 생성하는 데 사용된 다양한 Python 헬퍼 스크립트가 포함되어 있습니다.
이 저장소의 스크립트는 백서에 필요한 정보를 추출하고 이를 (이 경우) neo4j 그래프 데이터베이스로 가져오는 데 사용할 수 있는 CSV 형식으로 변환하는 간단한 스크립트입니다. 추출되는 데이터 측면에서 이 스크립트는 결코 완전하지 않으므로 예제/템플릿으로만 사용됩니다.
RFC 전반에 걸쳐 이메일 및 폐기(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)
폐기 관계의 경우 다음과 같이 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