1. 소프트웨어 개발 방법론 및 비용 산정
1) 비용 산정 모형 (계산/개념 문제)
소프트웨어 개발에 돈과 시간이 얼마나 들지 예측하는 기법입니다.
COCOMO 모형 (Bohem): 코드 라인 수(LOC) 기반.Organic (조직형): 5만 라인 이하 (소규모)Semi-detached (반분리형): 30만 라인 이하 (중규모)Embedded (내장형): 30만 라인 이상 (대규모, 미사일 유도 시스템 등) Putnam 모형: 시간에 따른 함수(Rayleigh-Norden 곡선) 이용. [SLIM]이라는 자동화 도구 사용.기능 점수 (FP, Function Point): 사용자 관점의 기능 양을 정량적으로 산정. (입력, 출력, 조회, 파일 등)2) 일정 관리 모델
PERT: 낙관치, 비관치, 기대치를 사용하여 예측. (3점 추정)CPM (임계 경로 기법): 가장 긴 경로(Critical Path)가 전체 프로젝트의 최소 소요 기간이 됨.
2. 정보 보안 (Information Security) [가장 중요]
1) 보안의 3대 요소 (CIA)
두음암기: [기.무.가]기밀성 (Confidentiality): 인가된 사용자만 접근 가능 (암호화로 달성)무결성 (Integrity): 데이터가 위/변조되지 않음 (해시로 달성)가용성 (Availability): 필요할 때 언제든 시스템 사용 가능 2) 주요 네트워크 공격 기법 (설명 보고 이름 맞추기)
DoS / DDoS (서비스 거부 공격): 서버를 마비시키는 공격SYN Flooding: 3-way handshaking의 취약점 악용 (연결 요청만 계속 보냄)Smurfing: ICMP Echo 요청을 변조하여 브로드캐스트 (남의 IP로 도발하여 다구리 맞게 함)LAND Attack: 출발지 IP와 목적지 IP를 똑같이 만들어서 자신에게 무한 루프 돎Ping of Death: 허용 범위 이상의 큰 패킷을 보내 서버 다운TearDrop: 패킷 조립 순서(Offset)를 꼬아서 오류 발생 기타 공격Ransomware: 파일을 암호화하고 돈 요구Phishing: 가짜 웹사이트로 유인 (낚시)Farmming: 정상 사이트 주소를 쳐도 가짜 사이트로 이동 (DNS 변조 등)Sniffing: 네트워크상 데이터를 엿보기 (도청)Spoofing: 승인받은 사용자인 척 위장 (속임수)SQL Injection: 입력창에 악의적인 SQL문을 넣어 DB 조작XSS (Cross Site Scripting): 게시판 등에 스크립트를 심어 쿠키 등을 탈취 3) 암호화 알고리즘 (구분 문제 필출)
대칭키 (비공개키): 암호화키 == 복호화키.장점: 속도 빠름 / 단점: 키 개수가 많아 관리 어려움종류: DES, AES, ARIA(한국), SEED(한국), IDEA 비대칭키 (공개키): 암호화키(공개) != 복호화키(비밀).장점: 키 관리 쉬움 / 단점: 속도 느림 (1000배 느림)종류: RSA, ECC, ElGamal 해시 (Hash): 비밀번호 저장, 무결성 검증용.
3. 시스템 보안 및 접근 통제
1) 접근 통제 모델
DAC (임의적): [신분] 기반. 주인이 권한 부여 (리눅스 파일 권한 생각)MAC (강제적): [보안 등급] 기반. 군대식 기밀 등급 (Top Secret 등)RBAC (역할 기반): [직책/역할] 기반. 인사팀장, 개발팀원 등 역할에 따라 권한 부여2) 보안 솔루션
방화벽 (Firewall): 트래픽을 허용하거나 차단 (내부/외부 경계)IDS (침입 탐지): 들어왔는지 감시만 함 (경보)IPS (침입 방지): 감시 + 능동적 차단VPN (가상 사설망): 공중망을 사설망처럼 전용선처럼 사용 (터널링 기술)NAC (네트워크 접근 제어): 단말기가 백신이 깔려 있는지 등을 검사해 접속 허용
4. 신기술 용어 및 IT 트렌드 (빈출 위주)
매회 새로운 용어가 나오지만, 기출에 자주 등장하는 녀석들입니다.
1) 네트워크/클라우드
SDN (Software Defined Network): 소프트웨어로 네트워크를 제어NFV: 네트워크 장비를 가상화도커 (Docker): 컨테이너 기반의 가상화 플랫폼쿠버네티스 (Kubernetes): 컨테이너 관리(오케스트레이션) 시스템메시업 (Mashup): 여러 콘텐츠를 조합해 새로운 서비스 창출 (구글지도 + 부동산정보)2) 스토리지 기술 (RAID)
RAID 0: 스트라이핑 (빠름, 복구 불가)RAID 1: 미러링 (거울처럼 복제, 안전하지만 용량 절반 낭비)RAID 5: 패리티(오류 검출)를 분산 저장 (가장 많이 씀)RAID 6: 패리티를 2개 사용 (더 안전)3) 기타 용어
블록체인: 분산 원장 기술디지털 트윈: 현실의 사물을 컴퓨터 속에 쌍둥이처럼 구현딥러닝: 인공 신경망 기반의 기계 학습그레이웨어 (Grayware): 악성인지 정상인지 모호한 프로그램
[5과목 합격 전략]
5과목은 [보안 용어]를 얼마나 많이 아느냐가 점수를 결정합니다.
[공격 기법] 이름과 설명을 매칭하는 문제는 무조건 맞혀야 합니다. (Smurfing, LAND 등)암호화에서 [대칭키 vs 공개키]의 장단점과 종류 구분은 단골 문제입니다.처음 보는 신기술 용어 문제는 당황하지 말고 상식선에서 풀거나, 아는 단어(영어 약어)를 유추해서 찍으세요. (신기술은 어차피 모두가 모릅니다)