Skip to main content

Project Overview

c2z - Github Repo

  • title : c2z(CVE to ZERO): 제로데이/원데이 취약점 기반 침해 시뮬레이션 및 침해 기법 연구
  • 이택우 (lead), 정민욱, 조영운, 윤서원, 최민재

2. 개요 (Executive Summary)

목표 Goals

  • 0-day 취약점 발견
    • 1-day 취약점 분석 및 0-day 취약점으로 우회 가능성 검토
    • 오픈소스 프로젝트 분석 후 유효한 취약점 제보, KVE 번호 획득
    • s2n을 활용하여 0-day, 1-day 웹 해킹 취약점 분석
  • 0-day 취약점을 발견하지 못했거나 진척이 없을 경우
    • 1-day 취약점 패치 미적용 자동 식별 도구 작성
      • s2n 기능 추가 (1-day 취약점 패치 적용 여부를 확인하는 기능 적용)
    • 공격 테스트 자동화 , 취약점 분석 및 문서화, 취약점 환경 구현
    • 취약점 구현을 위한 재현 환경 자동화 구현
    • 툴 숙련도 및 개발 능력 향상
      • 실무 도구들을 활용하여 취약점 수동 진단
    • 개인정보 유출 가능성(ISMS-P 기반 / 추가 목표)

성과

취약점 발견 (성공 / 실패 케이스)

  1. 0-day 취약점 발견했을 경우
  • 오픈소스 프로젝트에 취약점 제보
  • KVE 번호 발급

  1. 0-day 취약점을 발견 실패
  • 초기 계획 설계서, 취약점 조사 보고서, 결과 보고서 : 문서
    • 과정에서 학습
  • 1-day 취약점 분석 보고서

개발 관점

  • 오픈소스 프로젝트 기여 (s2n)
  • 취약점 분석과 공격 시나리오 설계에 따른 스크립트 개발
  • 재현환경 구축 자동화 코드

학습 관점

보안:

  • 공격 유형, 기법 및 시나리오 설계
  • 방어 대책 및 예방법

개발:

  • 파이썬
  • 리눅스 (nmap)
  • 쉘 스크립트
  • docker / k8s / 오픈스택
  • REST / GraphQL API

3. 수행 계획 (Execution Plan)

역할 분담

각 팀원의 역할과 책임

  1. Sprint 1
    1. 설계팀
    2. 개발팀
  2. Sprint 2
    1. 레드팀
    2. 블루팀

주요 단계

공동 목표를 스프린트 1, 2 목표로 나누어 진행합니다.

  • 2주 단위 스프린트로 나누어 프로젝트 진행
  • 각 스프린트의 목표를 정한 뒤 회고

Sprint 1:

목표: 취약점 조사 및 취약점 스캔 기능 + 재현환경 개발

  • 제로데이, 원데이 등등 공격 시나리오 최대한 수집.
  • 설계팀
    • 제로데이/원데이 취약점 타겟 산정 후 리스트 산출

      • 공격 기법
      • 대상 유형
    • 공격 기법 시나리오 분석

      • 핵티비스트 그룹 공격 방식 수집 및 분석 진행
        • 공급망 공격(npm/…) 패키지 취약점 조사 후 가능성 있는 것으로 선정
      • 해당 취약점 발생 원인 코드, 패치 전/후 코드 비교
      • 선정된 1-day 취약점 조사 후 보고서 작성
      • 1-day 취약점 우회 방법 조사

      선정된 npm 패키지 분석 후 보고서 작성 (코드가 어떤 역할을 하는지, 취약한 코드 or 방어 코드 확인)

    • cve / kve 기반 타겟 취약점 분석 보고서 작성

    • 공격 시나리오 작성

    • 공격 스크립트 개발

    • isms-p, 개인 정보 관련 취약성 조사

      • s2n 개인정보 유출 모듈 설계
  • 개발팀
    • 모의/재현 환경 설계 및 구축
      • Linux OS 별로 자동화 환경 구축 작성
      • 도커 컨테이너 활용 코드 짜기
    • s2n 활용을 위한 코드 분석 및 개선
      • 필요시 침해 사고 분석팀에서 작성한 내용 바탕으로 스캐너 기능 개발

Sprint 2:

  • 팀 전원:
    • 설계 보고서 - 중간 보고서 - 결과 보고서
    • 각 팀 내부에서 문서화 진행한 뒤 스프린트 끝날 때마다 결산
    • 각자 맡았던 파트에 대해 PPT 자료 작성 후 취합

목표: 모의해킹 시뮬레이션 + 보고서 작성

  • 레드팀 :
    • 스프린트 1에서 작성한 모의환경에 공격 시나리오 수행 (취약점을 찾았다는 가정)
      • 취약점을 찾지 못한 경우: 최신 공격 - ai (llm) , npm (최신 공격), 보안 이슈 → 그 취약점 공격 시나리오 구성해서 그걸로 스프린트 1에서 작성한 모의환경
      • 1-day 취약점 우회 방법 탐색
  • 블루팀:
    • 스프린트 1에서 작성한 모의환경에서 레드팀의 방어 스크립트 개발
      • 시큐어 코딩 연습
      • 개인정보 유출 여부 분석하는 모듈 개발

사용 기술 및 도구

사용 예정인 기술, 툴, 프레임워크 등

  • 기술 스텍
    • Linux
    • Python
    • Docker
    • Shell
    • Kubernetes
  • 사용 도구
    • S2N
    • Nmap
    • Burp Suite
    • SQLmap
    • Fiddler
    • Metasploit
    • TruffleHog (+ OpenDLP)

성과물

예상되는 프로젝트의 최종 결과물과 산출물을 설명

코드, 문서, 발표자료

  1. 코드 - 깃헙 레포에 공개로 올릴 수 있는 결과물
    1. s2n PR 링크 및 작업 코드
    2. 모의해킹 재현환경 자동 구축 스크립트
      • 오픈 소스로 만들 수도 있습니다.
  2. 보고서/설계서
    1. 취약점 가정
    2. 공격 시나리오 설계서 (최대한 다양하게)
    3. 공격 수행
    4. 발견 or 미발견 보고서
  3. 발표자료
    • 포트폴리오로 활용할 프로젝트 소개 문서 (pdf)

참고 문헌 및 자료

자세한 문서 링크 또는 도서 목록을 기입