📄 2026.01.05 (Day 48) - 발표 자료 완성 및 최종 점검
1. 핵심 활동 정리
주요 작업 내용
| # | 활동 | 담당자 | 산출물 | 완성도 |
|---|---|---|---|---|
| 1 | 발표 PPT 완성 | 호짱 (팀장) | 16슬라이드 프레젠테이션 | 100% |
| 2 | 발표 스크립트 작성 | 호짱 | 대본 문서 (5페이지) | 100% |
| 3 | 프로젝트 한계점 정리 | 전체 | 개선 필요 영역 문서화 | 완료 |
| 4 | 최종 리허설 | 전체 | 타이밍 조정, 데모 확인 | 완료 |
| 5 | 발표 자료 백업 | 호짱 | USB, 클라우드, 로컬 3중 백업 | 완료 |
오늘의 역할별 작업
| 역할 | 주요 업무 | 세부 활동 | 시간 배분 |
|---|---|---|---|
| 호짱 (팀장/발표자) | PPT 완성 + 스크립트 작성 | 슬라이드 최종 디자인, 발표 대본 작성, 리허설 | 10시간 |
| 백엔드 (신동원) | 코드 점검 | 취약점 재확인, 데모 환경 점검 | 4시간 |
| 프론트엔드 (이진주) | UI 최종 확인 | 스크린샷 재촬영, 반응형 테스트 | 3시간 |
| 보안 분석 (김기남) | 문서 보완 | 기술 문서 오타 수정, 한계점 정리 | 4시간 |
2. 발표 자료 최종 구성
PPT 슬라이드 구조 (총 16장)
| 슬라이드 | 제목 | 핵심 내용 | 소요 시간 |
|---|---|---|---|
| 1 | 표지 | DNA Lab - 3조 Helix | 30초 |
| 2 | 목차 | 6개 섹션 안내 | 30초 |
| 3 | Why DNA Lab? | 4가지 배경 설명 | 2분 |
| 4 | 주요 데이터 유출 사례 | 23andMe 사건 (690만 명, 3천만 달러) | 3분 |
| 5 | 사이트 구축 | Rookies DNA 소개 | 1분 |
| 6 | 웹사이트 구축 상세 | 내재 취약점, 환경, 서비스 특징 | 2분 |
| 7 | 실제 웹사이트 화면 | 메인 페이지 캡처 | 1분 |
| 8 | 자동화 취약점 진단 | 4단계 프로세스 | 2분 |
| 9 | 웹사이트 + 대시보드 | 실제 화면 조합 | 1분 |
| 10 | AWS 환경 화면 | 인프라 구축 실제 화면 | 1분 |
| 11 | 스캐너 실행 화면 | Python 스크립트 실행 장면 | 2분 |
| 12 | 진단 결과 (차트) | 총 43.9%, Web 93.8%, OS 28.0% | 2분 |
| 13 | 진단 결과 예시 (Web) | 4개 웹 취약점 상세 | 2분 |
| 14 | 진단 결과 예시 (OS) | 4개 OS 취약점 상세 | 2분 |
| 15 | 프로젝트 한계점 | 4가지 개선 필요 영역 | 2분 |
| 16 | Q&A | 질의응답 | - |
총 발표 시간: 약 22분 (질의응답 제외)
발표 스크립트 핵심 멘트
오프닝: “안녕하십니까, 3조 Helix입니다. 저희는 유전자 검사 서비스의 보안 취약점을 자동으로 진단하는 ‘DNA Lab’ 프로젝트를 진행했습니다.”
23andMe 사건 강조: “2023년 10월, 23andMe에서 690만 명의 유전정보가 유출되었습니다. 비밀번호는 변경할 수 있지만, 유전정보는 평생 바꿀 수 없습니다. 이 사건은 유전자 정보 보안의 중요성을 극명하게 보여줍니다.”
Rookies DNA 소개: “저희는 실제 운영 환경과 유사한 테스트베드 ‘Rookies DNA’를 구축했습니다. 이 사이트에는 의도적으로 SQL Injection, XSS, 파일 업로드 취약점 등을 삽입하여 실제 보안 위협을 재현했습니다.”
자동화 진단 설명: “웹 크롤러가 사이트 구조를 분석하고, Python 스크립트가 다양한 공격 시나리오를 자동 실행하며, 탐지된 취약점을 분석해 상세 보고서를 생성합니다.”
진단 결과 발표: “전체 66개 항목 중 29개 취약점을 발견했습니다. 웹 취약점은 16개 중 15개가 탐지되어 93.8%의 탐지율을 보였고, OS 취약점은 50개 중 14개가 탐지되어 28.0%의 탐지율을 보였습니다.”
클로징: “저희 프로젝트는 유전자 검사 서비스의 보안 취약점을 사전에 발견하고 대응할 수 있는 자동화 시스템을 제공합니다. 경청해 주셔서 감사합니다.”
3. 진단 결과 데이터
통계 요약
전체 진단 결과:
- Total Result: 43.9% (29/66)
- Web Scan: 93.8% (15/16)
- OS Scan: 28.0% (14/50)
웹 취약점 상세 (4개 주요)
| 취약점 | 심각도 | 설명 | 영향 |
|---|---|---|---|
| SQL Injection | 90점 | DB 탈취, 서버 장악 가능 | 치명적 |
| 불충분한 접근제어 | 85점 | 타인의 유전자 검사 결과 조회 가능 | 높음 |
| XSS 취약점 | 70점 | 관리자 세션 탈취, 악성 스크립트 실행 | 높음 |
| 세션 관리 | 55점 | 세션 하이재킹, 계정 도용 위험 | 중간 |
OS 취약점 상세 (4개 주요)
| 취약점 | 심각도 | 설명 | 영향 |
|---|---|---|---|
| FTP 서비스 활성화 | 85점 | 유전자 데이터 평문 전송, 도청 위험 | 높음 |
| 비밀번호 정책 미흡 | 70점 | 단순 비밀번호 허용, 무차별 대입 공격 | 중간 |
| 계정 잠금 미설정 | 65점 | 무제한 로그인 시도 가능 | 중간 |
| SNMP 서비스 활성화 | 60점 | 시스템 정보 유출 가능 | 중간 |
4. 프로젝트 한계점 정리
4가지 개선 필요 영역
1. 인프라 의존성
문제: Docker 환경에서 DB와 App 실행 시, DB가 먼저 실행되어야 하는데 예기치 못한 상황으로 DB 에러 발생 시 App도 실행 불가
개선 방안:
- Health Check 로직 추가
- Wait-for-it 스크립트 활용
- Docker Compose depends_on 설정 개선
2. 취약점 진단 범위의 제한
현재 범위: 웹 취약점 중 로그인, 게시판, 파일, 권한 중심
제한 사항:
- 역직렬화 취약점 미포함
- OAuth/JWT 토큰 보안 미포함
- 공급망 공격 시나리오 미포함
이유: 교육 과정 범위를 벗어나며, 구현 복잡도가 높음
3. OS 의존성 및 재현 일관성 부족
문제: 많은 OS 취약점이 특정 환경(Ubuntu 24.04)에 의존, 테스트 환경의 OS 변화 시 재현 일관성 저하
예시:
- Windows에서는 Linux 기반 취약점 재현 불가
- 커널 버전에 따라 결과 상이
개선 필요:
- OS별 분리된 테스트 환경 구축
- 가상화 환경 표준화
4. 접근 제어 모델의 단순성
현재 구현: 쿠키/세션 기반 단순 접근 제어
한계:
- RBAC (역할 기반 접근 제어) 미구현
- ABAC (속성 기반 접근 제어) 미구현
- 세밀한 권한 관리 불가
개선 방향:
- Spring Security ACL 도입
- 역할별 권한 매트릭스 구현
5. 발표 준비 과정
발표자로서의 준비
PPT 제작 (6시간):
- 09:00~12:00: 슬라이드 디자인 완성 - 색상 통일(보라/파랑 계열), 애니메이션 최소화, 폰트 크기 조정(최소 24pt)
- 13:00~15:00: 스크린샷 정리 및 삽입 - 웹사이트 메인 페이지, AWS 콘솔 화면, 스캐너 실행 화면, 진단 결과 차트
- 15:00~17:00: 데이터 시각화 - 진단 결과 도넛 차트 제작, 취약점 심각도 표 작성, 한계점 레이아웃 구성
발표 스크립트 작성 (4시간):
- 17:00~19:00: 대본 초안 작성 - 슬라이드별 멘트 정리, 시간 배분 계산, 강조 포인트 표시
- 19:00~21:00: 대본 정제 및 암기 - 불필요한 표현 제거, 자연스러운 어조로 수정, 핵심 멘트 암기
팀 리허설 (2시간)
리허설 체크리스트:
- 발표 시간 측정
- 1차: 25분 (3분 초과)
- 2차: 23분 (1분 초과)
- 3차: 22분 (적정)
- 데모 시연 확인
- 웹사이트 접속 확인
- 스캐너 실행 확인
- 리포트 생성 확인
- 예상 질문 대비 (팀원들이 질문자 역할, 답변 연습)
- 슬라이드 전환 타이밍 (자연스러운 흐름 확인, 클릭 포인트 암기)
6. 예상 질문 및 답변 준비
Q&A 시나리오
Q1: 왜 DNA 검사 서비스를 주제로 선택했나요?
A: 2023년 10월 23andMe 사건이 최신 이슈이고, 유전정보는 평생 변경 불가능하여 보안이 특히 중요합니다. 다른 팀과 차별화하면서도 실제 사회적 의미가 있는 주제를 선택했습니다.
Q2: 스캐너를 직접 개발했나요?
A: 네, Python으로 처음부터 개발했습니다. 15개 웹 취약점 스캐너와 50개 OS 취약점 체크 항목을 구현했고, Whitebox(정적 코드 분석)와 Blackbox(동적 테스트)를 혼합하여 정확도를 높였습니다.
Q3: 웹 93.8%, OS 28.0% 차이가 왜 이렇게 크나요?
A: 웹 취약점은 16개 항목으로 집중도가 높고, 애플리케이션 코드를 직접 분석할 수 있어 정확도가 높습니다. 반면 OS 취약점은 50개로 범위가 넓고, 시스템 설정 환경에 따라 변동이 크며, 일부는 특정 OS 버전에만 존재하여 탐지율이 상대적으로 낮습니다.
Q4: 실제 서비스에 적용 가능한가요?
A: 교육 목적으로 개발했지만, 몇 가지 보완하면 가능합니다. 필요한 보완 사항으로는 오탐률 추가 감소(현재 ~20% -> 목표 10% 이하), 진단 범위 확대(OAuth, JWT, 역직렬화 등), 리포팅 고도화(PDF 자동 생성, 대응 방안 상세화), CI/CD 통합(Jenkins, GitHub Actions 연동)이 있습니다.
Q5: 가장 어려웠던 점은?
A: 크게 3가지였습니다.
- 웹 해킹 지식 부족 -> OWASP, PortSwigger 학습하며 극복
- 오탐 최소화 -> 2차 검증 로직 추가, 응답 종합 분석
- Docker 환경 의존성 -> Health Check와 순차 실행 로직 추가
Q6: 23andMe 사건과 어떻게 연관되나요?
A: 23andMe는 Credential Stuffing 공격으로 해킹당했는데, 이는 약한 비밀번호 정책이 원인이었습니다. 저희 프로젝트에서도 약한 비밀번호 정책 스캐너 구현, Brute Force 방어 체크, 세션 관리 취약점 진단으로 유사한 공격을 사전 차단할 수 있습니다.
7. 팀장으로서의 소회
발표 준비 과정의 고민
책임감의 무게:
- 생각 1: “2주간 팀원들이 열심히 만든 결과물을 잘 전달해야 해” -> 슬라이드 하나하나에 신경 쓰며 제작, 팀원들의 기여도가 잘 드러나도록 구성
- 생각 2: “발표 망치면 팀 전체 평가에 영향” -> 리허설 3회 진행하며 완벽 추구, 예상 질문 20개 준비
- 생각 3: “청중이 이해하기 쉽게 설명해야 해” -> 전문 용어 최소화, 비유와 실제 사례 활용
PPT 제작 중 깨달음
스토리텔링의 중요성:
- 초안 방식: “저희는 웹 취약점 진단 도구를 만들었습니다” -> 기술 중심, 지루함
- 최종 방식: “690만 명의 유전정보가 유출되었습니다. 이를 막기 위해 저희가 나섰습니다” -> 문제 중심, 공감 유도
시각 자료의 힘:
- Before: 텍스트 위주 슬라이드, 글자 많음, 지루한 구성
- After: 이미지와 차트 위주, 핵심 키워드만, 눈에 띄는 숫자 강조 (690만 명, 93.8% 등)
발표 스크립트 작성 노하우
자연스러운 대본:
- 나쁜 예: “본 프로젝트의 목적은 유전자 검사 서비스 시스템의 보안 취약점을 자동화된 방식으로 진단하는 것입니다” -> 딱딱하고 읽는 느낌
- 좋은 예: “23andMe에서 690만 명이 해킹당했습니다. 저희는 이런 사고를 막고 싶었습니다” -> 대화하는 느낌
강조 포인트 표시:
- 크게: 숫자 강조 (690만 명, 93.8%)
- 천천히: 중요 개념 (유전정보는 평생 불변)
- 잠깐 멈춤: 청중 이해 시간 확보
- 제스처: 손동작 표시
8. 배운 점 및 인사이트
발표 자료 제작 역량
디자인 원칙:
- 일관된 색상 팔레트 (보라/파랑 DNA 테마)
- 슬라이드당 1개 핵심 메시지
- 텍스트 최소화, 시각 자료 최대화
- 애니메이션은 필요한 곳에만 (과도한 효과 지양)
데이터 시각화:
- 도넛 차트로 비율 직관적 표현
- 색상으로 심각도 구분 (빨강=치명적, 노랑=중간)
- 숫자 크게 표시하여 임팩트 강화
팀 프로젝트 마무리
문서화의 중요성:
- PPT뿐 아니라 발표 스크립트도 필수
- 한계점을 솔직하게 인정하는 것이 오히려 신뢰감
- 백업 자료 준비 (예상 질문, 추가 슬라이드)
팀 협업:
- 각자 맡은 부분 완벽히 마무리
- 리허설로 최종 점검
- 서로 피드백 주고받으며 개선
9. Quick Reference
발표 핵심 숫자
23andMe 사건:
- 690만 명 유출
- 3천만 달러 합의금
- 2023년 10월 발생
Rookies DNA:
- 총 16개 슬라이드
- 22분 발표 시간
- 3조 Helix (4명)
진단 결과:
- 전체: 43.9% (29/66)
- 웹: 93.8% (15/16)
- OS: 28.0% (14/50)
개발 환경:
- Ubuntu 24.04 LTS
- Java Spring + Python
- AWS EC2 + Docker
반드시 전달할 메시지
- 유전정보는 평생 불변 (23andMe 임팩트)
- 자동화 진단 시스템 (기술적 우수성)
- 93.8% 웹 탐지율 (높은 정확도)
- 실제 운영 환경 재현 (현실성)
- 4가지 솔직한 한계점 (정직함)
Today’s Insight:
발표 자료를 완성하며 2주간의 프로젝트가 하나의 스토리로 정리되었다. 690만 명의 유전정보가 유출된 23andMe 사건으로 시작해, Rookies DNA 테스트베드 구축, 자동화 진단 시스템 개발, 그리고 93.8%의 웹 취약점 탐지율이라는 성과로 이어지는 흐름을 16장의 슬라이드에 담았다. 발표 스크립트를 작성하며 “기술 나열"이 아닌 “문제 해결 스토리"로 구성하는 것이 중요함을 깨달았다. 팀원들과 3차례 리허설을 진행하며 22분이라는 적정 시간을 맞췄고, 20개의 예상 질문에 대한 답변을 준비했다. 솔직하게 4가지 한계점을 인정한 것이 오히려 프로젝트의 진정성을 높여줄 것이라 믿는다. 팀장이자 발표자로서의 부담감은 크지만, 팀원들의 2주간 노력을 최선을 다해 전달하겠다는 책임감이 더 크다. 내일 발표장에서 자신 있게, 그리고 즐기면서 우리 팀의 이야기를 들려줄 것이다.