4 소프트웨어 개발 보안
CIA 3요소 · 암호화 분류 · 접근통제 · 공격 유형.
핵심 (CIA) 기밀성(Confidentiality) 인가된 자만 접근 · 무결성(Integrity) 인가된 자만 변경 · 가용성(Availability) 필요할 때 접근 가능.
암호화 알고리즘 분류
| 분류 | 알고리즘 | 특징 |
|---|---|---|
| 대칭키(비밀키) | DES · 3DES · AES · SEED · ARIA · IDEA | 암·복호화 키 동일. 빠름, 그러나 키 배분·관리 어려움. |
| 비대칭키(공개키) | RSA · ECC · DSA · ElGamal | 공개키/개인키 쌍. 느림, 그러나 키 배분 쉬움. |
| 해시(단방향) | MD5 · SHA-256 · HAS-160 | 복호화 불가(단방향), 무결성 검증용. |
접근통제 (Access Control)
| 모델 | 기준 |
|---|---|
| DAC(임의적 접근통제) | 소유자(신원)가 자율적으로 접근 권한 부여. |
| MAC(강제적 접근통제) | 보안 등급·규칙에 따라 시스템이 강제 통제. |
| RBAC(역할 기반 접근통제) | 사용자의 역할(Role)에 따라 권한 부여. |
주요 공격 유형
| 공격 | 설명 |
|---|---|
| DDoS | 다수의 좀비 PC로 동시 트래픽 폭주 → 서비스 마비. |
| SYN Flooding | TCP 연결의 SYN 요청만 대량 보내 대기 큐 고갈. |
| Smurf | 출발지를 위조한 ICMP 브로드캐스트로 응답 폭주 유발. |
| Ping of Death | 규격 초과 큰 ICMP 패킷으로 시스템 다운. |
| Land | 출발지·목적지 IP를 동일하게 위조해 무한 응답 루프. |
| Teardrop | Fragment offset을 조작해 재조합 오류 유발. |
| SQL Injection | 입력값에 악의적 SQL을 삽입해 DB 조작. |
| XSS | 웹에 악성 스크립트 삽입 → 타 사용자 브라우저에서 실행. |
| CSRF | 사용자 권한을 도용해 의도치 않은 요청을 서버에 전송. |
| 스니핑(Sniffing) | 네트워크 패킷을 몰래 도청·수집. |
| 스푸핑(Spoofing) | IP·MAC·DNS 등을 위장해 속임. |
| 세션 하이재킹 | 인증된 세션(토큰)을 가로채 권한 탈취. |
| 랜섬웨어(Ransomware) | 파일을 암호화하고 금전을 요구. |
| APT | 지속적·표적형으로 장기간 잠복 침투(지능형 지속 위협). |
| 제로데이(Zero-Day) | 패치 공개 전 취약점을 노린 공격. |
| 무차별 대입(Brute Force) | 가능한 모든 경우를 대입해 암호·키 탈취. |
| 사회공학(Social Engineering) | 기술이 아닌 인간 심리·신뢰를 이용해 정보 획득. |
기출포인트 실기는 위 공격·암호화 용어의 "설명 ↔ 용어" 매칭이 자주 출제된다. 각 용어의 한 줄 정의를 정확히 외울 것.
✅ 자가점검
Q1. 정보보안 3요소(CIA)를 쓰고 각각 설명하시오.
기밀성(Confidentiality) = 인가된 사용자만 정보 접근 / 무결성(Integrity) = 인가된 사용자만 정보 변경(정확·완전성 유지) / 가용성(Availability) = 필요할 때 자원에 접근·사용 가능.
Q2. 대칭키 암호화 vs 비대칭키 암호화의 특징 차이는? 대표 알고리즘도.
대칭키(비밀키): 암·복호화 키 동일 → 속도 빠름, 키 배분·관리 어려움. 예) DES·3DES·AES·SEED·ARIA·IDEA. 비대칭키(공개키): 공개키/개인키 쌍 → 속도 느림, 키 배분 쉬움. 예) RSA·ECC·DSA·ElGamal.