25.10.11 / JUN
강의개요
과정소개
바이브코딩과 LLM 보조 도구를 활용해 웹 및 모바일 보안의 기초(구조·APK·루팅·저장·네트워크)를 직접 만들고 스스로 해킹해보며 방어 기법을 체득하는 실습형 입문 과정입니다.
대상수강생
- 소프트웨어 개발 경험이 얕거나 초급(HTML/CSS/JS 기초 지식 보유자 권장)
- 모바일 앱의 보안 취약점을 실습으로 이해하고 싶은 기획자·개발자·보안 초심자
- 빠른 시제품(프로토타입)을 만들어 보면서 보안 개념을 체득하고 싶은 사람
- 노코드/로우코드 도구(바이브코딩)를 쓰려는 창업가·교수·교육 담당자
수강준비, 사전지식
- 바이브코딩 및 웹 개발(HTML/CSS/JS)에 대한 기본적인 이해
- 노트북(Windows/Mac/Linux) + Android 에뮬레이터 또는 테스트 디바이스(안드로이드)
- 사전 안내 문서에 따라 개발 계정/도구 설치(간단한 준비 가이드 제공)
준비물·실습도구
- 자신의 노트북(권장 RAM 8GB 이상), 구글 계정 및 GPT 계정
- Android Studio (AVD) 또는 Genymotion, 또는 실기기(Android)
- 브라우저(Chrome) + Node.js + npm 또는 pnpm 설치
- netlify-cli / Firebase CLI (간단 서버 프록시용)
- 추천 도구: adb, apktool, jadx, Burp Suite 또는 mitmproxy, Frida (옵션)
- LLM API 키(실습용 프록시 환경에서만 사용) — 강사가 제공 또는 학생별 임시 키
커리큘럼
Day 1: 기초 이해와 APK 실습
- 오리엔테이션 & 기대효과 설명 (30분)
- 과정 목표, 실습 안전수칙, 평가 방식, 사전환경 확인
- 모듈1: 안드로이드 구조 & 보안 경계 (이론, 60분)
- Linux 커널, ART, 앱 샌드박스, UID/GID, 권한모델, SELinux 개념
- 보안 위협 면(커널·IPC·네트워크·앱)
- 모듈2: APK 구조와 서명 원리 (이론 30분 + 데모 30분)
- AndroidManifest, classes.dex, 리소스, v1/v2/v3 서명 차이
- 데모: 간단 APK 열어보기(jadx, apktool)
- 실습1: APK 추출·디컴파일·취약점 찾기 (실습 120분)
- 실습 목표: 테스트 APK 추출 → apktool / jadx로 분석 → 하드코딩 키·민감정보 찾기
- 과제: 발견된 취약점 한 건 문서화(스크린샷 포함)
- 실습2: 취약 코드 생성(LLM 보조) + 빌드(실습 90분)
- ChatGPT / Gemini 프롬프트로 의도적 취약 코드(토큰 평문 저장 등) 생성
- Android Studio로 빌드 → APK 생성
- 데모 공유 및 Q&A (30분)
- 학생 작품 간단 리뷰, 안전성·윤리 토론
Day 2: 루팅·네트워크·방어·프로젝트
- Day2 시작 & 목표 정리 (30분)
- 모듈3: 루팅 원리와 방어 (이론 30분 + 데모 30분)
- 루트 권한 획득 방식, su/리커버리, 루트 탐지 기법, Frida 개념
- 실습3: 루트 환경에서의 공격 시연 & 방어 적용 (실습 120분)
- AVD 루트화 또는 루트 에뮬레이터(테스트 환경) 사용
- 실습: 평문 토큰 읽기(루트 상태) → 앱에 루트탐지 추가 → 무결성 체크 적용
- 실습4: 네트워크 보안(SSL Pinning 실습) (실습 90분)
- 앱에서 mitmproxy/Burp로 트래픽 가로채기 → SSL Pinning 적용 후 회피 차단 확인
- LLM에 캡처 로그 넣어 자동 분석 레포트 생성
- 미니 프로젝트: 보안 패치 적용 및 RAG 기반 보고서(60분)
- 각자 만든 취약 앱을 수정(EncryptedSharedPreferences, Pinning, Intent 보호 등)
- LLM을 이용해 “취약 근거·패치 내역·권장 조치” 요약 리포트 자동 생성
- 결과 발표·피드백·종합평가 (30분)
- 실습 보고서 제출, 동료 리뷰, 향후 학습 로드맵 제안
학습목표 / 주요산출물 / 기대효과
학습목표
- 안드로이드 OS 구조와 앱 샌드박스의 보안 경계를 설명할 수 있다.
- APK 내부 구조를 분석해 민감정보·취약 코드를 식별할 수 있다.
- 루팅 환경에서의 위협을 이해하고 간단한 루트탐지·무결성 체크를 구현할 수 있다.
- 네트워크 캡처(MITM) 원리를 이해하고 SSL Pinning을 적용·검증할 수 있다.
- LLM을 보조도구로 활용해 취약점 설명·권고를 자동 생성하고 실습 보고서를 작성할 수 있다.
주요산출물
- 제출물: 실습보고서(PDF) — 발견 취약점 1건, 적용한 패치·방법, 스크린샷(또는 녹화)
- 실습평가: 체크리스트(취약점 식별 정확성 / 패치 적용 여부 / 리포트 명료성)
- 수료조건: 실습보고서 제출 및 출석 80% 이상
기대효과
- 실무와 유사한 환경에서 직접 “공격→분석→보완”의 전 과정을 체험하면서 보안 실무 감각을 갖게 됨.
- 바이브코딩(빠른 웹/하이브리드 프로토타이핑)으로 보안 도구·데모를 신속히 구현하는 역량 획득.
- LLM을 보안 교육·리포트 자동화에 안전하게 적용하는 방법 습득.
- 향후 모바일 보안 실무(취약점 리포트 작성, 간단한 보안 툴 제작)로 바로 연결 가능한 실전 능력 확보.
로드맵
- 심화 트랙(선택): Frida 스크립트 작성, 자동화된 APK 스캐너(간단한 CLI) 만들기
첫 포스팅: 25.10.11 / 포스트 문의: JUN (naebon@naver.com)