github: none
1. 도구 개요¶
모의해킹을 수행하면서 "만약 내가 담당자라면 발견된 취약점들을 어떻게 관리할 수 있을까?"라는 생각을 하게되었는데, 이유는 다음과 같습니다.
- 다수의 서브도메인에서 발견된 취약점을 어떻게 관리하는지?
- 발견된 취약점 현황 및 이행조치 수행/결과는 어떻게 관리하는지?
- 취약점 발견 및 조치 내용들을 개발/보안팀 등 각 담당자에게 어떻게 효율적으로 공유할 수 있을지?
- 외부 업체에 모의해킹을 의뢰했을 때, 어떤 방식으로 관리하면 효율적인지? > 외부 업체와의 공유 여부 및 보안 리스크 확인 필요
취약점 점검 수행 및 이행점검 과정에서 불편했던 부분들을 효율화할 방법을 찾는 과정이 없을까 생각한 부분입니다.
2. 설계 및 구현¶
설계할 때 모의해킹(컨설팅) 수행자의 기준과 보안 담당자(내부자) 중에서 어떤 기준으로 구현할지 고민 필요
[Idea1] 자산의 API를 기준으로 관리하는 방식 (담당자 기준)
- 자산 1개에서 사용되는 API가 어느정도 인지 가늠할 수 없기 때문에, 전체 식별 및 적용할 수 있는지?
| 자산명 | Method | API | Parameter | 취약점 유형 | 관리 담당자 |
|---|---|---|---|---|---|
| WEB1 | GET | /api/index | - | 대상명-XSS-01 | 담당자A |
| WEB2 | POST | /api/index | test | 대상명-XSS-01 | 담당자A |
[Idea2] 모의해킹 관점에서 아래와 같이 수행하는 방식 (컨설팅 기준)
자산을 기준으로 발견된 취약점의 API와 Payload를 입력하고 대상명-XSS-01로 구분
- 서비스 관리 담당자와 매핑하여, 이행조치계획 수립 및 조치완료 시 표기하도록 설정
- 관리 도구의 대시보드에는 사용자별 권한을 별도로 부여하여, 데이터를 입력할 수 있도록 설정
- 취약점 유형을 선택하거나 "상세설명" 탭을 만들어서 자세한 내용을 열람할 수 있는 페이지로 이동하도록 구현
| 취약점 유형 | 관리 담당자 | 취약점 조치일정 | 조치여부 |
|---|---|---|---|
| 대상명-XSS-01 | 담당자A | 26.04.22 | 완료 |
데이터 관리 방식의 경우, 데이터베이스를 구축해서 사용하는 것은 관리대상에 추가되고 자산 관련 인증심사 등에 있어서 문제가 될 수 있고 무엇보다 내부망에서의 보안 리스크로 이어질 수 있기 때문에 JSON 또는 .MD로 파일 형식으로 관리가 필요할 것 같다.
취약점에 대한 이행점검 수행을 자동화를 한다면, .json 방식이라면 세션정보만 변경해주면 바로 결과를 볼 수 있게끔 할 수 있으며 취약점별 관리에도 용이할 것으로 판단
3. 개발현황¶
3.1. 설계 및 구조¶
개발언어: Python Flask
- 환경: docker? Local?
- docker를 사용하는 경우, 내/외부망에서 편리하게 활용할 수 있을 것 같은데 내부망에서 docker?
운영한다면 어디에 해당 도구를 두고 사용할지가 중요할 것 같음