Awesome AppSec Interview 
애플리케이션 보안 엔지니어 면접 준비를 위한 리소스, 연습 문제, 학습 자료를 인터뷰 유형별로 정리한 큐레이션 목록입니다.
목차
인터뷰 개요
예상되는 내용
대부분의 AppSec 인터뷰 프로세스는 다음과 같은 요소를 포함합니다:
- 안전한 코드 리뷰 (Secure Code Review)
- 위협 모델링 (Threat Modeling)
- 코딩 또는 스크립팅 (Coding or Scripting)
- 시나리오 기반 질문 (Scenario-Based Questions)
- 기술 지식 (Technical Knowledge)
- 시스템 설계 (System Design, 시니어 이상)
- 행동 인터뷰 (Behavioral Interview)
일반적인 인터뷰 팁
- 명확한 질문을 하세요 - 질문은 의도적으로 모호하게 만들어져 당신의 사고 과정을 확인합니다.
- 생각을 소리 내어 말하세요 - 추론 과정을 말로 표현하세요.
- 노트를 작성하세요 - 요구사항과 제약 조건을 추적하세요.
- 접근 방식을 보여주세요 - 완벽한 답변보다 과정이 더 중요할 때가 많습니다.
- 해결책에 급급하지 마세요 - 먼저 문제 공간을 탐색하세요.
- 모든 것을 알지 못해도 괜찮습니다 - 답을 찾는 방법을 보여주세요.
안전한 코드 리뷰
평가 항목
- 코드에서 취약점 식별
- 데이터 흐름 추적 (소스 → 싱크)
- 악용 가능성 이해
- 실용적인 완화 조치 권장
핵심 개념
- OWASP Top 10 취약점 및 완화책
- 언어별 취약점 패턴
- 오염 분석(Taint analysis) 및 데이터 흐름
- 코드 이해
학습 자료
일반적인 인터뷰 질문
- 이 코드를 살펴보고 문제점을 식별하세요.
- 왜 이것이 취약합니까 (또는 취약하지 않습니까)?
- 어떻게 악용하시겠습니까?
- 어떻게 수정하시겠습니까?
위협 모델링
평가 항목
- 체계적인 사고
- 초기 위협 식별
- 우선순위 지정 및 트레이드오프
- 엔지니어와의 커뮤니케이션
핵심 개념
- STRIDE - Spoofing(스푸핑), Tampering(변조), Repudiation(부인), Information Disclosure(정보 노출), DoS(서비스 거부), Elevation of Privilege(권한 상승)
- 4가지 질문 프레임워크
- 데이터 흐름 다이어그램(DFD)
- 공격 트리
- 신뢰 경계
- 자산 식별 및 위협 우선순위 지정
- 항상 기본 사항을 다루세요 (예: 전송 중 데이터에 TLS 사용)
학습 자료
동영상
읽을거리
도서
- Threat Modeling: Designing for Security – Adam Shostack
일반적인 인터뷰 질문
- 로그인 흐름 / 결제 시스템 / API에 대한 위협 모델을 작성하세요.
- 위협 우선순위를 어떻게 정하나요?
- STRIDE를 설명하세요.
- 위협 모델링과 침투 테스트의 차이점은 무엇인가요?
- 신뢰 경계란 무엇인가요?
코딩 및 스크립팅
코딩 (알고리즘 및 자료구조)
평가 항목
핵심 개념
- 배열, 해시 맵, 스택, 큐
- 트리와 그래프 (기본)
- Big-O 분석
- 일반적인 패턴 (투 포인터, BFS/DFS)
학습 자료
권장 문제 수
- 최소: Easy/Medium 50~75문제
- 무난함: 모든 패턴을 포함한 100~150문제
- 완벽 대비: 200문제 이상
스크립팅 및 자동화
평가 항목
- 실용적인 자동화
- 로그 및 데이터 파싱
- 보안 도구 사용 능력
핵심 개념
- 로그 파싱 - IP, 도메인, 타임스탬프, 사용자 에이전트 추출
- API 연동 - 보안 API 질의, 데이터 제출
- 데이터 변환 - JSON/XML/CSV 파싱 및 조작
- 패턴 매칭 - 보안 지표를 위한 정규식
- 파일 작업 - 보안 데이터 읽기, 파싱, 처리
학습 자료
일반적인 인터뷰 질문
- 웹 서버 로그를 파싱하여 의심스러운 활동 찾기
- 스캐닝/열거를 나타내는 패턴 찾기
- Nmap XML 출력을 파싱하여 보고서 생성
- 여러 보안 도구의 결과를 통합
- 텍스트에서 모든 URL/IP/이메일 주소 찾기
- 기본 포트 스캐너
- HTTP 헤더 보안 검사기
- 간단한 취약점 스캐너
시나리오 기반 인터뷰
평가 항목
- 보안 판단력
- 커뮤니케이션
- 위험 평가
- 사고 대응
핵심 개념
- 취약점 트라이지
- CVSS 및 심각도
- 사고 대응 수명 주기
- 근본 원인 분석
학습 자료
- 공개 버그 바운티 보고서
- 공개 사후 분석 블로그 포스트
일반적인 인터뷰 질문
- 당신이 발견한 취약점을 설명해 보세요.
- 이 보고서를 어떻게 트라이징하시겠습니까?
- 최근 CVE를 설명해 보세요.
- SSTI / XSS / SSRF는 어떻게 동작하나요?
기술 지식
평가 항목
- 전반적인 보안 지식
- 일반적으로 시니어 보안 엔지니어가 진행
- 역할에 따라 다음 영역 중 하나를 깊이 다룹니다
핵심 개념
- 암호학
- 대칭 vs 비대칭 (각각 언제 사용할지)
- 해싱
- TLS/SSL (핸드셰이크 과정)
- PKI
- 암호화, 인코딩, 해싱의 차이점은?
- 인증 및 권한 부여
- MFA
- 프로토콜 (OAuth 2.0, SAML, JWT)
- 세션 관리 및 공격
- 권한 부여 모델 (RBAC, ABAC, ACL)
- 웹 보안
- 핵심 취약점 (OWASP Top 25)
- 각각에 대한 완화책 및 완화 요소
- HTTP 헤더
- CORS
- 동일 출처 정책
- 클라우드 및 컨테이너 보안
- IAM 모범 사례
- 공동 책임 모델
- 컨테이너 보안
- 서버리스의 보안 영향
- 안전한 아키텍처 원칙
- 심층 방어
- 제로 트러스트 아키텍처
- 최소 권한
- 안전한 실패
- 기본 보안
- 안전한 SDLC 통합
학습 자료
시스템 설계
평가 항목
- 안전한 설계 사고
- 확장성 + 보안 트레이드오프
- 실제 제약 조건
핵심 개념
- 대규모 인증
- 속도 제한 및 남용 방지
- 비밀 관리
- 감사 로깅
- 심층 방어
학습 자료
행동 인터뷰 (STAR)
평가 항목
핵심 개념
- STAR 프레임워크
- Situation (상황) - 맥락과 배경
- Task (과제) - 당신의 구체적인 책임
- Action (행동) - 당신이 한 일 (구체적으로)
- Result (결과) - 결과 및 배운 점
- 5~7개의 이야기를 준비하세요
- 영향을 수치화하세요
- 당신의 행동에 초점을 맞추세요
- 성장을 보여주세요
학습 자료
관련 리소스
인터뷰 준비
Awesome 목록
기여하기
기여는 언제나 환영합니다! PR을 제출해 주세요!
가이드라인
- AppSec 인터뷰와 관련된 리소스를 추가해 주세요.
- 기존 섹션 구조를 따르세요.
- 링크가 안정적이고 신뢰할 수 있는지 확인하세요.