🔥 1차 이론 공부법 꿀팁!
1차 이론 문제는 빠르게, 자주 반복하는 게 핵심이에요.
특히 60문제는 30분 안에 한 번 훑는 걸 목표로 해보세요.
처음엔 어렵더라도, 자꾸 보고 또 보면
문제 유형이 눈에 익고 감이 생깁니다 💪
“완벽하게 풀겠다”보다는
“빠르게 전체를 익히겠다”는 마음으로!
이 방법이 진짜 합격의 지름길이에요. 🚀
🧩 정보보안기사 모의고사 – 어플리케이션 보안 (60문항)
🔹 1~10 : 어플리케이션 보안 개요
-
어플리케이션 보안의 주요 목적이 아닌 것은?
① 데이터 무결성 확보
② 사용자 인터페이스 개선
③ 인증 및 접근 제어 강화
④ 입력값 검증
👉 정답: ② -
보안 개발 생명주기(SDLC)에서 가장 먼저 수행해야 할 단계는?
① 보안 요구사항 정의
② 취약점 점검
③ 테스트
④ 배포
👉 정답: ① -
입력값 검증(Input Validation)의 주된 목적은?
① 메모리 절약
② SQL 인젝션, XSS 방지
③ 코드 실행 속도 향상
④ 암호화 효율성 향상
👉 정답: ② -
안전한 코딩 원칙 중 “입력값은 항상 신뢰하지 않는다”는 어떤 원칙인가?
① 최소 권한의 원칙
② 신뢰 경계(Trust Boundary) 원칙
③ 데이터 은닉 원칙
④ 불변성 원칙
👉 정답: ② -
OWASP Top 10의 대표 항목이 아닌 것은?
① SQL Injection
② Broken Authentication
③ Sensitive Data Exposure
④ 패스워드 복잡도 정책
👉 정답: ④ -
보안 취약점 중 사용자 세션을 탈취하는 공격은?
① CSRF
② SQL Injection
③ Directory Traversal
④ Brute Force
👉 정답: ① -
웹 애플리케이션의 보안 취약점을 자동 진단하는 도구는?
① Nikto
② tcpdump
③ ping
④ nslookup
👉 정답: ① -
보안 코딩 가이드의 주된 목적은?
① 코드 일관성 유지
② 취약점 예방 및 안전한 개발 유도
③ 코드 리뷰 자동화
④ 실행속도 향상
👉 정답: ② -
소스코드 내 민감 정보(비밀번호, 키 등)를 하드코딩하면 발생하는 문제는?
① 메모리 누수
② 정보 노출
③ 세션 타임아웃
④ 포트 충돌
👉 정답: ② -
보안 테스트 중 화이트박스 테스트의 특징은?
① 내부 구조 미공개
② 코드와 로직 기반 검증
③ 무작위 데이터 입력
④ 네트워크 단위 검사
👉 정답: ②
🔹 11~20 : 웹 취약점 (OWASP 중심)
-
SQL Injection 방지 방법으로 옳은 것은?
① 입력값 필터링 및 Prepared Statement 사용
② SQL 권한 모두 허용
③ 쿼리 문자열 직접 연결
④ GET 방식만 사용
👉 정답: ① -
XSS(Cross-Site Scripting)의 주된 원인은?
① 클라이언트 입력값 검증 부재
② 네트워크 오류
③ DNS 설정
④ 쿠키 암호화
👉 정답: ① -
CSRF 공격 방지 대책은?
① 토큰 기반 요청 검증
② IP 고정
③ 브라우저 캐시 삭제
④ 비밀번호 복잡화
👉 정답: ① -
Directory Traversal 공격의 목적은?
① 허가되지 않은 파일 접근
② 암호화 우회
③ 네트워크 지연
④ 버퍼 오버플로
👉 정답: ① -
파일 업로드 취약점 방지 방안은?
① 확장자 검사 및 화이트리스트 사용
② 업로드 폴더에 실행권한 부여
③ 파일명 그대로 저장
④ 업로드 경로 외부 지정
👉 정답: ① -
입력값이 스택에 넘치면서 공격 코드가 실행되는 취약점은?
① 버퍼 오버플로
② SQL Injection
③ Race Condition
④ CSRF
👉 정답: ① -
세션 고정(Session Fixation) 공격 방지책은?
① 로그인 시 세션 ID 재발급
② 동일 세션 유지
③ 쿠키 수동 설정
④ 세션 무기한 유지
👉 정답: ① -
쿠키 탈취 방지를 위한 HTTP 설정은?
① HttpOnly
② KeepAlive
③ Cache-Control
④ Content-Type
👉 정답: ① -
에러 메시지 노출 방지를 위한 방법은?
① 상세 예외 메시지 출력
② 사용자 정의 에러 페이지
③ 로그 미생성
④ 콘솔 출력 허용
👉 정답: ② -
민감정보 전송 시 반드시 필요한 것은?
① HTTPS
② HTTP
③ FTP
④ TELNET
👉 정답: ①
🔹 21~30 : 인증, 세션, 암호화
-
비밀번호를 평문으로 저장하면 위반되는 보안 원칙은?
① 기밀성
② 무결성
③ 가용성
④ 인증성
👉 정답: ① -
비밀번호 해시 저장 시 권장되는 알고리즘은?
① MD5
② SHA-1
③ bcrypt / Argon2
④ Base64
👉 정답: ③ -
세션 하이재킹 방지를 위해 사용하는 보안 프로토콜은?
① HTTPS
② HTTP
③ FTP
④ SMTP
👉 정답: ① -
OTP(일회용 비밀번호)는 주로 어떤 공격을 방지하는가?
① 중간자 공격
② 재사용 공격(Replay Attack)
③ SQL Injection
④ Brute Force
👉 정답: ② -
인증 절차 중 서버가 클라이언트를 검증하는 단계는?
① 인증(Authentication)
② 인가(Authorization)
③ 식별(Identification)
④ 감사(Audit)
👉 정답: ① -
세션 타임아웃 설정의 주요 목적은?
① 인증 유지
② 비활동 사용자 세션 종료
③ 성능 향상
④ 트래픽 분산
👉 정답: ② -
웹 인증 시 쿠키 대신 토큰 기반 인증(JWT)을 사용하는 이유는?
① 확장성, 서버 무상태 유지
② 네트워크 속도 향상
③ 암호화 미사용
④ 세션 유지 필요
👉 정답: ① -
CAPTCHA의 주된 목적은?
① 자동화된 봇 접근 차단
② 트래픽 증가
③ 세션 관리
④ 데이터 암호화
👉 정답: ① -
인증 우회 공격(Brute Force) 대응책으로 적절하지 않은 것은?
① 로그인 실패 횟수 제한
② CAPTCHA 적용
③ 비밀번호 평문 저장
④ IP 차단
👉 정답: ③ -
세션 ID를 URL 파라미터로 전달할 때 문제점은?
① 세션 도용 가능성 증가
② 속도 저하
③ 쿠키 불필요
④ 보안 강화
👉 정답: ①
🔹 31~40 : 코드 보안 및 개발자 보안
-
안전한 코딩 표준으로 권장되는 것은?
① OWASP Secure Coding Guidelines
② RFC 2616
③ ISO 9001
④ PCI DSS
👉 정답: ① -
버퍼 오버플로 방지 기술이 아닌 것은?
① ASLR
② Stack Canary
③ DEP
④ Base64 Encoding
👉 정답: ④ -
포맷 스트링 공격의 원인은?
① printf() 사용 시 입력값 검증 부재
② 정적 변수 오버라이드
③ SQL 질의 오류
④ 쿠키 조작
👉 정답: ① -
안전한 함수로 대체할 수 있는 것은?
① gets() → fgets()
② strcpy() → strcpy_s()
③ sprintf() → snprintf()
④ 위 모두
👉 정답: ④ -
정적 분석 도구(Static Analysis Tool)의 역할은?
① 소스코드 내 취약점 자동 탐지
② 실행 중 메모리 분석
③ 네트워크 트래픽 분석
④ 로그 수집
👉 정답: ① -
코드 난독화(Obfuscation)의 목적은?
① 역공학 방지
② 코드 실행속도 향상
③ 보안로그 생성
④ 해시 생성
👉 정답: ① -
입력값 검증 실패 시 발생할 수 있는 대표적 공격은?
① XSS, SQL Injection
② DoS
③ 암호화 실패
④ 무결성 훼손
👉 정답: ① -
JSON 파싱 시 보안상 주의할 점은?
① 입력 데이터의 구조 검증 필요
② XML 전환
③ Base64 인코딩
④ 쿠키 저장
👉 정답: ① -
API 보안에서 가장 중요한 항목은?
① 인증(Authentication)
② 압축
③ 정렬
④ 로그 수집
👉 정답: ① -
REST API에서 민감정보 보호를 위해 사용하는 기술은?
① HTTPS + 토큰 인증
② 평문 HTTP
③ 쿠키 공유
④ FTP 업로드
👉 정답: ①
🔹 41~60 : 테스트, 운영, 프레임워크 보안
-
동적 분석(Dynamic Analysis)은?
① 실행 중 코드 취약점 탐지
② 정적 코드 리뷰
③ 소스코드 난독화
④ 암호화 검증
👉 정답: ① -
Fuzzing 테스트의 목적은?
① 비정상 입력으로 취약점 탐색
② 성능 측정
③ 트래픽 분석
④ 코드 난독화
👉 정답: ① -
웹 방화벽(WAF)의 역할은?
① 애플리케이션 계층 공격 차단
② 네트워크 트래픽 암호화
③ 포트 차단
④ 바이러스 백신
👉 정답: ① -
소프트웨어 업데이트 시 검증해야 할 항목은?
① 디지털 서명 및 해시 무결성
② 파일 크기
③ 다운로드 속도
④ IP 주소
👉 정답: ① -
API Key 관리 시 올바르지 않은 방법은?
① GitHub에 평문 업로드
② 환경변수 또는 Vault 사용
③ 접근제한 설정
④ 주기적 갱신
👉 정답: ① -
클라우드 환경에서 어플리케이션 보안을 강화하는 방안은?
① IAM 기반 접근제어
② 공개 저장소 사용
③ Root key 공유
④ 암호화 미적용
👉 정답: ① -
SAST는 무엇을 의미하는가?
① Static Application Security Testing
② Secure API System Test
③ Software Access System Tool
④ Security Audit Script Tool
👉 정답: ① -
DAST는 무엇을 의미하는가?
① Dynamic Application Security Testing
② Distributed Audit System Tool
③ Data Analysis Secure Test
④ Detection Access Secure Type
👉 정답: ① -
보안 로깅 시 주의할 점은?
① 민감정보(비밀번호 등)는 기록하지 않는다
② 모든 데이터 저장
③ 로그 무기한 보관
④ 평문 저장
👉 정답: ① -
암호키 관리 원칙은?
① 키 분리, 주기적 교체, 최소 노출
② 하드코딩
③ 평문 저장
④ 재사용
👉 정답: ① -
서명 검증을 통해 확인할 수 있는 것은?
① 데이터 무결성과 송신자 인증
② 압축률
③ 암호 알고리즘
④ 트래픽 속도
👉 정답: ① -
REST API 인증 표준 프로토콜은?
① OAuth 2.0
② IPSec
③ SSH
④ SNMP
👉 정답: ① -
XML 외부개체(XXE) 공격의 방지 방법은?
① 외부 개체 참조 비활성화
② HTTPS 사용
③ IP 차단
④ 쿠키 삭제
👉 정답: ① -
안전한 비밀번호 저장을 위한 방식은?
① 솔트(Salt) + 해시
② 평문
③ Base64
④ MD5만
👉 정답: ① -
JWT 서명 알고리즘으로 자주 사용되는 것은?
① HMAC-SHA256
② AES
③ RSA2048
④ MD5
👉 정답: ① -
쿠키 보안 속성 중 전송 시 암호화를 강제하는 것은?
① Secure
② HttpOnly
③ Max-Age
④ SameSite
👉 정답: ① -
브라우저 간 요청 위조 방지 속성은?
① SameSite
② Secure
③ HttpOnly
④ Max-Age
👉 정답: ① -
세션 만료 시간을 너무 길게 설정하면 발생 가능한 문제는?
① 세션 하이재킹 위험 증가
② 로그인 실패
③ 인증 누락
④ DNS 장애
👉 정답: ① -
코드 서명(Codesigning)의 목적은?
① 배포 파일 무결성 및 출처 인증
② 암호화
③ 로깅
④ 실행속도 향상
👉 정답: ① -
DevSecOps의 핵심 개념은?
① 개발 단계에 보안을 통합
② 배포 후 보안 점검
③ 수동 점검
④ 운영단계만 보안 적용
👉 정답: ①