Skip to content

Latest commit

 

History

History
362 lines (297 loc) · 21.3 KB

readme.md

File metadata and controls

362 lines (297 loc) · 21.3 KB

🔗 Connectogram - 軍 사이버 보안의 미래

🎉 육군참모총장상 수상작 🏆


Logo

Connectogram

軍 사이버 보안의 미래

View Design Page | View Demo Page
DEMO ID : demo
DEMO PW : demo


Contributors Forks Stargazers Issues MIT License


🌐 Connectogram이란?

軍 사이버 보안의 미래, Connectogram

국방 기업 노리는 사이버 공격 행위, 점점 많아지고 사나워지고...
유엔 “북한, 제재회피 계속…사이버 공격으로 수억 달러 탈취”

사이버 보안의 중요성이 대두되는 가운데, 軍에서는 각 부대에 사이버 방호실을 설치하여 운용하고 있습니다.
지금 이 순간에도, 軍 사이버 자산을 지키기 위한 사이버 작전이 진행되고 있습니다.

늘어가는 사이버 자산, 그에 따라 증가하는 침해사고에 지금도 누군가는 빼곡하게 쌓인 로그를 지켜보며 어디에선가 발생할 수 있는 사이버 공격에 대비하고 있습니다.

커넥토그램은 사이버 작전에서 관제와 위협 분석을 지원하는 데에 집중합니다.

軍 네트워크를 사용하는 모든 자산의 통신 형태를 분석하여 위협에 노출된 자산과 위협의 종류를 알아낼 수 있도록 합니다.

커넥토그램을 사용하는 사이버 분석팀은, 특정 사이버 자산의 통신 기록과 각종 행위를 시각화한 자료를 제공받아 더욱 빈틈없는 사이버 보안을 구축할 수 있습니다.

왜 커넥토그램인가?

모래 속 바늘 찾기

위협이 감지되었을 때, 보안 전문가들은 공격자와 피해자의 행위에 집중합니다. 이때 행위란, 누구와 어떤 내용으로 통신을 주고받았는지를 뜻합니다.
행위 분석은 피곤한 작업입니다. 이러한 문제의 원인은 다음과 같습니다.

  • 수많은, 가독성 떨어지는 로그 목록
  • 기존 시스템에서, 특정한 개체의 행위에 주목한 시스템의 부재

이 때문에 문제를 콕 집어내기란 정말 어려운 일입니다.

행위 분석을 위한 도구의 필요성

軍 내외로는 엄청난 양의 데이터가 오갑니다. 시간 순으로 쌓여 있는 로그만 보고 무언가 알아내기는 정말 힘듭니다. 사이버 작전에 힘을 실어 주려면, 어떤 시스템이 필요할까요.

만약, 軍 내의 모든 통신을 한 눈에 볼 수 있다면 어떨까요? 위협에 처해 있는 단말을 바로 파악할 수 있다면? 게다가 이를 분석한 결과까지 제시해 준다면 얼마나 좋을까요?

그래서 커넥토그램이 제공합니다.

  • 모든 자산의 위협 노출 여부를 표시하는 대시보드
  • 특정 자산 대상, 행위 시각화 자료를 포함한 위협 여부 분석 보고서

(back to top)

🛠️ Built With (Used Open Source)

Front-end

React Cytoscape MaterialUI

  • Nivo : Chart, Treemap 등 데이터 시각화 라이브러리

Back-end

NodeJS MariaDB MySQL Nginx Axios

Client Application

Python

Communications

Notion figma Github Zoom

사용 조건

다음과 같은 조건 하에 사용할 수 있습니다.

  • ECMAScript 6 지원 브라우저 (Chrome 77버전 이상 권장)

(back to top)

⭐ 프로젝트 시작하기

개발 환경 조성을 위해 다음과 같은 사전 작업이 필요합니다.

  1. Repository Clone
git clone https://github.com/osamhack2022/WEB_Connectogram_ACOC.git

2.1. Front-End NPM 패키지 설치

cd frontend
npm install

2.2. Front-End 실행 (frontend 디렉토리 내에서)

npm start

3.1. Back-End NPM 패키지 설치

cd backend
npm install

3.2. Back-End 실행 (backend 디렉토리 내에서)

pm2 start server.js

(back to top)

💡 커넥토그램의 기능 소개

1. 회원가입, 회원가입 승인 및 로그인

로그인
승인된 계정을 통해 로그인할 수 있습니다.
ADMIN
회원가입 회원가입 승인
아이디, 비밀번호, 전화번호, 이름, 이메일, 전화번호를 입력하고 회원가입을 신청할 수 있습니다. 관리자 계정을 통해 회원가입 요청을 확인 후 승인할 수 있습니다.

2. Client Application

CLIENT
클라이언트 로그 수집 소프트웨어
데이터를 수집하려는 클라이언트에서 해당 소프트웨어를 실행시키면, 클라이언트의 연결 데이터를 단위 시간마다 서버로 전송합니다.
데이터를 수신받은 서버는, 연결 데이터를 분석 및 구조화하여 DB에 저장합니다.

3. 메인 대시보드

MAIN
등록 자산 리스트, 주요 대외기관 동향
메인 대시보드에서는 현재 커넥토그램에 등록된 자산들을 한 눈에 관리하고, 상태를 확인할 수 있습니다. 특정 자산을 클릭하게 되면, 해당 자산의 상세 대시보드로 이동합니다.
또한, 새로고침 버튼 및 자동 새로고침 기능을 활용하여 실시간 관제도 가능합니다.
추가적으로, 우측에서는 오늘의 주요 대외기관 동향을 한 눈에 확인할 수 있습니다.

4. 특정 자산의 상세 대시보드 #1 - 시각화

DASHBOARD
연결 데이터를 통한 클라이언트 중심의 시각화
서버가 수신받은 자산의 연결 데이터를 활용하여 시각화한 결과를 확인할 수 있습니다.
좌측에서는 해당 자산의 연결 데이터를 확인할 수 있고, 우측에서는 해당 데이터를 기반으로 한 클라이언트 - 외부 IP 그래프를 확인할 수 있습니다.
좌측의 연결 로그를 클릭하시면, 해당 연결에 대한 상세한 정보를 우측 그래프에서 확인할 수 있습니다.
GREEN YELLOW RED
"양호" 로그를 클릭했을 때 "경고" 로그를 클릭했을 때 "위험" 로그를 클릭했을 때

5. 특정 자산의 상세 대시보드 #2 - 위협 분석

REPORT
클라이언트 위협 분석 보고서 생성
클라이언트의 연결 데이터와 자체 제작한 위협 분석 API 등을 활용하여 클라이언트에게 유해한 위협들을 분석하고 사용자에게 알려줍니다. 해당 과정에서 IP, 프로세스, 프로토콜별 연결 현황을 차트, 트리맵으로 시각화하여 제공하고, 국가별 연결 현황을 세계 지도를 통해 시각화 하였습니다. 악성 연결에 대해서는 하이라이트를 주어 한 눈에 파악하기 쉽도록 구성했습니다.
그리고, 커넥토그램만의 클라이언트 위험 척도를 계산하여 주의해야 할 IP, 프로세스와 함께 사용자가 한 눈에 알아볼 수 있도록 보여줍니다.
GREEN2 YELLOW2 RED2
클라이언트 분석 결과 "양호" 클라이언트 분석 결과 "주의" 클라이언트 분석 결과 "취약"

(back to top)

🏞 Roadmap

  • 인프라 구축
  • 기획 및 디자인
  • 기본 기능 개발
    • 로그인 구현
    • 회원가입 구현
    • 권한 설정 구현
  • 메인 페이지 개발
    • 연결된 디바이스 시각화 기능 구현
    • 자동 새로고침 기능 구현
    • 대외기관 동향 분석 및 시각화
  • 핵심 기능: Connecto-map 개발
    • 통신 시각화
    • 통신 데이터 표시
    • 그래프 활용한 부가적인 기능 구현
  • 핵심 기능: 위협 분석 보고서 개발
    • 보고서 템플릿 구성
    • 국가별 연결 시각화
    • IP, 프로세스, 프로토콜별 연결 시각화
    • 연결 데이터 기반 클라이언트 위험 척도 개발
  • 로그 수집 프로그램 개발
  • 로그 수신 기능 개발

(back to top)

📝 License

MIT License를 따릅니다. 자세한 사항은 LICENSE 파일을 참고해 주시기 바랍니다.

(back to top)

👥 About Team ACOC


📝 NAME 🚩 ROLE 🐱 GITHUB 📩 EMAIL
(팀장) 김종하 FE
김경환 FE
신현규 FE
박길선 BE

(back to top)