DEF CON 34
CTF FINALIST
DEF CON CTF Qualifier 2026에서 The Seoul Sauna Shogunate 팀으로 세계 7위(8,641점)를 기록했습니다. 2026년 8월 라스베이거스에서 열리는 DEF CON 34 본선에 출전합니다.
정보보안 분야에서 4년간의 실무 경험과 지속적인 학습을 통해 화이트해킹, 웹 보안, 시스템 보안 전문성을 쌓아왔습니다. CTF 운영과 실무 프로젝트를 통해 실제 환경에서의 문제 해결 능력을 검증받았습니다.
| 회사/군 | 보안장비 |
|---|---|
| Genian | NAC |
| Ahnlab | TrusGuard(UTM) |
| SGA | RedCastle |
| 국군 | TACS(전군보안진단체계) |
| IGLOO | SPiDERTM(SIEM) |
| SoosanSM | eWalker SWG, DLP |
| SECUI | SECUI MF2(UTM) |
| Saferzone | Saferzone |
| Waterwallsystem | waterwall |
| 파수(FASOO) | FASOO DRM |
| HAURI | VIROBOT MANAGER 1.0 |
DEF CON CTF Qualifier 2026에서 The Seoul Sauna Shogunate 팀으로 세계 7위(8,641점)를 기록했습니다. 2026년 8월 라스베이거스에서 열리는 DEF CON 34 본선에 출전합니다.
XSS, CSRF, SQL Injection 등 다수 취약점 식별 및 신속 보고로 보안 강화.
특히 나모 웹 에디터에서 확장자 검증 미흡으로 인한 파일 업로드 우회와 파일명 기반 Stored XSS가 가능했고, form action 필터링 미흡으로 CSRF가 발생 가능한 상태였습니다.
내부망 보안 강화 아이디어를 도구 + 정책으로 실현하여 우수상 수상. (DevTools 차단 자동화, NAC 정책 적용)
HSPACE 주최 CTF에서 참가자 116명 중 Web 부문 1위 달성.
문제 의도 파악과 풀이 전략 수립에 집중하고, 핵심 원리를 정리한 write-up을 작성·공유했습니다.
10:00–22:00 진행, 총 26문제 출제, 3개 대학 동아리 65명 참가.
사전 부하 테스트로 서버 안정성 검증, 대회 중 디스코드 봇으로 공지/이슈 즉시 대응해 무중단 운영.
보안 실력이 부족해 대회 참가를 주저하는 부원들을 위해 신입 부원도 부담 없이 참여할 수 있는
입문자 친화 대회로 기획했습니다. 정보보안 인재 양성과 보안 역량 강화, 그리고
대학 간 교류·협력 증진을 목표로 했습니다.
- 25년 11월 8일에 해당 대회를 리뉴얼하고 HSPACE 후원을 받아 오프라인 대회로 개최할 예정입니다.
secret–guess 중복이 생기면 압축률이 증가하고 on-disk 크기(Δsize)가 감소합니다. 이 길이 신호만 반복 관찰해 비밀을 단계적으로 추론하는 DBREACH 공격을 MariaDB(InnoDB)에서 재현 가능한 Docker 환경과 함께 구현·평가했습니다.
암호화 전에 이뤄지는 압축 단계가 데이터 중복도에 따라 출력 길이(크기)를 바꾸는 성질을 이용해, 길이만 관찰해도 비밀 일부를 추론하는 부채널입니다.
compression-side) 및 노션에 실험 절차/결과 정리.
방문하기 →
Web Semantic Gap 취약점의 Root Cause 기반 분류체계 플랫폼
Reagan은 URL Detection AI, Packet Analysis AI, Break_Captcha_AI로 구성된 3단계 파이프라인을 통해 악성 URL을 자동 식별하는 크롬 익스텐션 프로그램
CTFd를 사용하지 않고 웹, 디스코드봇을 자체 개발한 MSG CTF 대회 플랫폼.
방문하기 →
React + Vite 기반 프런트. Ubuntu 서버 포트포워딩 + Nginx 리버스 프록시, GitHub Actions로 자동 빌드·배포.
Solved.ac API를 활용한 백준 코딩대회 플랫폼. GCP E2 + Docker/Compose, Nginx + Gunicorn, Django 기반.
Windows에서 브라우저 개발자도구(DevTools)를 레지스트리로 차단/해제하는 로컬 유틸리티. PyInstaller로 단일 exe 배포.
Semantic Gap 기반 Root Cause 분류 체계 + 절차별 페이로드 위키. 프런트=React, 운영=GCP N2·Nginx, CI/CD=GitHub Actions+Docker Compose.
Semantic Gap은 동일한 데이터/요청이 컴포넌트별로 다르게 해석되어 생기는 의미적 불일치를 악용하는 취약점 군입니다. 기존 CWE/CAPEC/OWASP의 결과·기법 중심 한계를 보완하기 위해, Root Cause 중심 분류와 공격 절차별 페이로드를 한 플랫폼에서 정리해 퍼플팀(방어·공격) 활용성을 높혔습니다.
Chrome 확장 → 백엔드(DRF) → reCAPTCHA v2 자동 처리 → 콘텐츠/트래픽 분석 파이프라인. 내 역할: DevOps · BreakCAPTCHA AI.
검색 노출을 악용하는 SEO Poisoning과, 공개된 취약 도메인 사례(예: 360xss)를 조사하면서 “봇과 실제 사용자를 구분해 정상/악성 경로를 갈라치기”하는 공격 트렌드에 대응하기 위해 브라우저 확장·CAPTCHA 자동처리·패킷 분석을 결합한 실시간 방어 체계를 설계했습니다.
site → captcha → packet 태스크를 분리해 확장/교체 용이.ialleejy/reagan-backend)에 빌드·푸시, 서버는 docker-compose로 배포.AnalysisRequest 생성 시 세 가지 태스크 자동 파생·상태관리, CORS/BasicAuth, Gunicorn.GCP N2(Ubuntu) · Nginx · Docker Compose · GitHub Actions. Front=React+Vite, Back=Spring Boot, Discord Bot=Python.
CTFd를 사용하지 않고 프론트/백엔드/디스코드봇을 자체 개발한 MSG CTF 플랫폼입니다.
운영 자동화(공지/힌트/FirstBlood), 실시간 스코어보드, 문제·팀 관리 기능을 포함합니다.
자세한 설계·코드는 Back 저장소에 정리되어 있습니다.
저는 PM을 맡았고 Admin API, Sys Arch 담당했으며, FirstBlood 디스코드봇을 개발하였습니다.
React + Vite. Ubuntu 서버 포트포워딩 · Nginx 리버스 프록시 · GitHub Actions 자동 배포.
MJSEC HOMEPAGE를 제작했고, 현재 LMS 사이트도 연계 개발 중입니다.
프런트는 React + Vite, 배포는 Nginx 리버스 프록시와 GitHub Actions 기반 CI/CD로 자동화했습니다.
저는 PM을 맡았고 DevOps로서 CI/CD 파이프라인을 구축하여 배포 자동화를 진행하였습니다.
pull_request, feature/** 브랜치 pushdocker compose -f docker-compose.ci.yml up -d로 컨테이너 기동(로컬 8080 → 컨테이너 80)curl --head http://localhost:8080 HTTP 200 확인docker compose ... down -v로 종료/볼륨 정리(깨끗한 프리뷰 보장)main 브랜치 pushbuildx로 프런트 이미지를 빌드해 GHCR(ghcr.io/owner/repo)에 latest/sha 태그로 푸시.env 구성 → GHCR 로그인docker compose로 nginx/app 우선 기동 → HTTP 헬스체크webroot로 인증서 발급/갱신 → TLS 헬퍼 파일 확보nginx -s reload → 최신 이미지 pull 후 전체 스택 무중단 재기동prune·성공/실패 알림Solved.ac API 기반 백준 대회 플랫폼. 서버=GCP E2, Docker/Compose, Nginx + Gunicorn, Django.
MJSEC 백준 프로그래밍 대회를 위한 웹사이트입니다. 참가자 제출을 solved.ac API로 검증하고 결과를 실시간 리더보드에 반영하도록 설계했습니다. 페이지 새로고침 없이 순위가 갱신되며, 운영 측면에서는 단순하고 신뢰성 높은 점수 집계가 핵심입니다.
fetch 기반 폴링/갱신으로 새로고침 없이 순위 업데이트requests로 solved.ac 조회, 정답/오답 기록 및 점수 부여python manage.py update_solved_problems --user_id <handle> --problem_id <pid>
Participant·ContestProblem 매칭 (없으면 종료)GET https://solved.ac/api/v3/search/problem 에
query=solved_by:{handle} id:{pid}로 해당 참가자의 해당 문제 해결 여부 확인
problem.points)Windows 로컬 유틸. 브라우저 DevTools 차단/해제(레지스트리·설정) 및 PyInstaller 기반 단일 실행파일 배포.
군 시절 제작한 Chrome / Edge / Internet Explorer / Firefox 개발자 도구 차단 유틸리티입니다.
disable.py는 정책 레지스트리·사용자 설정을 추가해 DevTools를 비활성화하고,
enable.py는 해당 값을 삭제해 활성화합니다. PyInstaller로 단일 EXE 배포(관리자 권한 필요).
재부팅을 하면 레지스트리 정책이 적용됩니다.
| 브라우저 | 경로/설정 | 값 |
|---|---|---|
| Chrome | HKLM\SOFTWARE\Policies\Google\Chrome |
DeveloperToolsDisabled=1 |
| Edge | HKLM\SOFTWARE\Policies\Microsoft\Edge |
DeveloperToolsAvailability=22=완전 비활성화 |
| IE |
...\IEDevTools, ...\Restrictions (HKLM/HKCU, 32/64비트)WOW6432Node 포함 |
Disabled=1 |
| Firefox | %APPDATA%\Mozilla\Firefox\Profiles\<profile>\prefs.js |
user_pref("devtools.policy.disabled", true)조직 배포: distribution\policies.json |
reg query "HKLM\SOFTWARE\Policies\Google\Chrome" /v DeveloperToolsDisabledreg query "HKLM\SOFTWARE\Policies\Microsoft\Edge" /v DeveloperToolsAvailabilityreg query "HKLM\SOFTWARE\Policies\Microsoft\Internet Explorer\IEDevTools" /v Disabledprefs.js 문자열 또는 policies.json 정책 파일 검사policies.json 전환 권장.pyinstaller --onefile --noconsole disable.py (관리자 권한 필요)enable.py가 추가 키/설정 삭제