자격증 요약/정보처리기사

[23년 3회 5과목] 정보처리기사 필기 문제 풀이

문성 2026. 1. 23. 11:39

제5과목: 정보시스템 구축 관리 (81~100번)

정보처리기사 필기 기출문제
24년 3회 1과목 2과목 3과목 4과목 5과목
24년 2회 1과목 2과목 3과목 4과목 5과목
24년 1회 1과목 2과목 3과목 4과목 5과목
23년 3회 1과목 2과목 3과목 4과목 5과목
23년 2회 1과목 2과목 3과목 4과목 5과목
23년 1회 1과목 2과목 3과목 4과목 5과목

81. TCP/IP 기반 네트워크에서 동작하는 발행 구독 기반의 메시징 프로토콜로 최근 IoT 환경에서 자주 사용되고 있는 프로토콜은?

① MLFQ

② MQTT

③ Zigbee

④ MTSP

MQTT(Message Queuing Telemetry Transport)
 - 발행-구독(Publish-Subscribe) 기반: 클라이언트가 특정 주제(Topic)를 구독하거나 메시지를 발행하여 데이터를 주고받는 구조입니다.
 - IoT 최적화: 지연 시간이 길거나 네트워크 대역폭이 제한된 환경, 혹은 사양이 낮은 하드웨어에서도 동작할 수 있도록 설계되어 사물인터넷(IoT) 환경에서 널리 사용됩니다.
- TCP/IP 기반: TCP/IP 프로토콜 위에서 동작하여 신뢰성 있는 메시지 전달을 지원합니다.

① MLFQ (Multi-Level Feedback Queue): 운영체제의 CPU 스케줄링 알고리즘 중 하나입니다.
③ Zigbee: 저전력, 저속 데이터 전송을 위한 근거리 무선 개인 통신망(WPAN) 기술 표준입니다.
④ MTSP: 일반적인 네트워크 표준 프로토콜 용어와 거리가 멉니다.

답: 2번

 

82. COCOMO Model 중 기관 내부에서 개발된 중·소규모의 소프트웨어로 일괄 자료 처리나 과학기술 계산용, 비즈니스 자료 처리용으로 5만 라인 이하의 소프트웨어를 개발하는 유형은?

① Embeded

② Organic

③ Semi-Detached

④ Semi-Embeded

COCOMO의 소프트웨어 개발 유형 : 보헴(Boehm)이 제안, 원시 프로그램의 규모인 LOC에 의한 비용 산정 기법
조직형 (Organic Mode)
 - 기관 내부에서 개발된 중소규모의 소프트웨어로 일괄 자료 처리나 과학 기술 계산용, 비즈니스 자료 처리용으로 5만(50KDSI) 라인 이하의 소프트웨어를 개발하는 유형
 - 사무 처리용, 업무용, 과학용 응용 소프트웨어 개발에 적합

반분리형 (Semi - Detached Mode)
 - 조직형과 내장형의 중간형으로 트랜잭션 처리 시스템이나 운영체제, 데이터베이스 관리 시스템 등의 30만(300KDSI) 라인 이하의 소프트웨어를 개발하는 유형
 - 컴파일러, 인터프리터와 같은 유틸리티개발에 적합

내장형 (Embedded Mode)
 - 초대형 규모의 트랜잭션 처리 시스템이나 운영체제 등의 30만(300KDSI)라인 이상의 소프트웨어를 개발하는 유형
 - 신호기 제어 시스템, 미사일 유도 시스템, 실시간 처리 시스템 등의 시스템 프로그램 개발에 적합

COCOMO 분석 수준에 따른 3단계
기본(Basic)형 : LOC + 개발 유형, 가장 단순한 단계
중간(Intermediate)형 : 단순히 크기만 보는 게 아니라 15가지 요인(Cost Drivers)을 반영
발전(Advanced)형 : 중간형은 프로젝트 전체에 대해 요인을 적용하지만, 발전형은 단계별로 다르게 적용

답: 2번

 

83. IP 또는 ICMP의 특성을 악용하여 특정 사이트에 집중적으로 데이터를 보내 네트워크 또는 시스템의 상태를 불능으로 만드는 공격 방법은?

① TearDrop

② Smishing

③ Qshing

④ Smurfing

네트워크 침해 공격 관련 용어
Ping of Death (죽음의 핑)
 - Ping 명령을 전송할 때 패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송하여 공격 대상의 네트워크를 마비시키는 서비스 거부 공격 방법

SMURFING (스머핑)
 - IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크를 불능 상태로 만드는 공격 방법

SYN Flooding
 - 공격자가 가상의 클라이언트로 위장하여 3-way-handshake 과정을 의도적으로 중단시킴으로써 공격 대상지인 서버가 대기 상태에 놓여 정상적인 서비스를 수행하지 못하게 하는 공격 방법

Land
 - 패킷을 전송할 때 송신 IP주소와 수신 IP주소를 모두 공격 대상의 IP주소로 하여 공격 대상에게 전송하는 것

Smishing  (스미싱)
 - 문자 메시지(SMS)를 이용해 사용자의 개인 신용 정보를 빼내는 공격 방법

피싱 (Phishing)
 - 개인 정보(Private Data)와 낚시(Fishing)의 합성어로, 이메일이나 메신저 등을 통해 공기관이나 금융기관을 사칭하여 개인 정보를 빼내는 기법

Ping Flood
 - 특정 사이트에 매우 많은 ICMP 메시지를 보내 이에 대한 응답으로 시스템 자원을 모두 사용하게 해 시스템이 정상적으로 동작하지 못하도록 하는 공격 방법

Evil Twin Attack
 - 실제 존재하는 동일한 이름의 무선 WiFi 신호를 송출하여 로그온한 사람들의 계정 정보나 신용 정보 등을 빼가는 기법

스위치 재밍 (Switch Jamming)
 - 위조된 매체 접근 제어(MAC) 주소를 지속적으로 네트워크로 흘려보내, 스위치 MAC 주소 테이블의 저장 기능을 혼란시켜 더미 허브(Dummy Hub)처럼 작동하게 하는 공격 방법

답: 4번

 

84. 기능 점수(Functional Point) 모형에서 비용 산정에 이용되는 요소가 아닌 것은?

① 클래스 인터페이스

② 명령어(사용자 질의수)

③ 데이터 파일

④ 출력 보고서

기능 점수(FP; Function Point) 모형은 소프트웨어의 기능을 증명할 수 있는 수치로 환산하여 비용을 산정하는 방식

기능점수 5가지 주요 요소
사용자 입력(External Input): 데이터의 입력 기능
사용자 출력(External Output): 계산 결과나 데이터의 출력 기능 (출력 보고서) = ④
사용자 질의(External Inquiry): 온라인 질문에 대한 응답 기능, 명령어 = ②번 해당
내부 논리 파일(Internal Logical File): 시스템 내부의 데이터 파일 = ③
외부 인터페이스 파일(External Interface File): 타 시스템과의 데이터 공유

답: 1번

 

85. 다음 내용이 설명하는 스토리지 시스템은?

- 하드디스크와 같은 데이터 저장장치를 호스트버스 어댑터에 직접 연결하는 방식

- 저장장치와 호스트 기기 사이에 네트워크 디바이스가 있지 말아야 하고 직접 연결하는 방식으로 구성

 

① DAS

② N-SCREEN

③ NAS

④ NFC

DAS
 - 연결방식 : 전용 케이블 (직접 연결)
 - 특징 : 설치가 쉽고 저렴함
 - 내 컴퓨터의 외장하드

NAS
 - 연결방식 : 일반 LAN (이더넷)
 - 특징 : 파일 공유 용이 (NFS, SMB)
 - 거실에 둔 공유 폴더

SAN : 'DAS의 빠른 처리 + NAS의 파일 공유'의 장점 결합
 - 연결방식 : 전용 고속망 (광채널(FC, 파이버 채널))
 - 특징 : 고성능(처리 속도 빠름), 대규모 데이터
 - 데이터 센터의 거대 창고
 - 저장장치를 공유함으로써 여러개의 저장장치나 백업 장비를 단일화할 수 있다.
 - 초기 설치 시에는 별도의 네트워크를 구축해야 하므로 비용이 많이 듦

② N-SCREEN: 하나의 콘텐츠를 스마트폰, PC, TV 등 여러 개의 기기(화면)에서 끊김 없이 즐길 수 있는 서비스를 말합니다.
③ NAS (Network Attached Storage): 저장장치를 네트워크(이더넷)에 연결하여 여러 호스트가 공통으로 사용할 수 있는 방식입니다. 
④ NFC (Near Field Communication): 10cm 이내의 가까운 거리에서 데이터를 전송하는 근거리 무선 통신 기술입니다.

답: 1번

 

86. 다음 암호 알고리즘 중 성격이 다른 하나는?

① MD4

② MD5

③ SHA-1

④ AES

해시(Hash) 함수 (※해시는 단반향)
SHA 시리즈
MD5, MD4
N-NASH
SHEFRU

양방향 알고리즘
SEED
ARIA
DES
AES
RSA
ECC
Rabin

답: 4번

 

87. 다음 내용이 설명하는 접근 제어 모델은?

- 군대의 보안 레벨처럼 정보의 기밀성에 따라 상하 관계가 구분된 정보를 보호하기 위해 사용

- 자신의 권한보다 낮은 보안 레벨 권한을 가진 경우에는 높은 보안 레벨의 문서를 읽을 수 없고 자신의 권한보다 낮은 수준의 문서만 읽을 수 있다.

- 자신의 권한보다 높은 보안 레벨의 문서에는 쓰기가 가능하지만 보안 레벨이 낮은 문서의 쓰기 권한은 제한한다.

① Clark-Wilson Integrity Model

② PDCA Model

③ Bell-Lapadula Model

④ Chinese Wall Model

강제 접근통제(MAC)의 보안 모델
벨 라파듈라 모델 (Bell-LaPadula Model)
 - 군대의 보안 레벨처럼 정보의 기밀성에 따라 상하 관계가 구분된 정보를 보호하기 위해 사용
 - 보안 취급자의 등급을 기준으로 읽기 권한과 쓰기 권한이 제한
 - 자신의 보안 레벨 이상의 문서를 작성할 수 있고, 자신의 보안 레벨 이하의 문서를 읽을 수 있다.

비바 무결성 모델 (Biba Integrity Model)
 - 벨 라파듈라 모델을 보완한 수학적 모델로, 무결성을 보장하는 최초의 모델
 - 비인가자에 의한 데이터 변형을 방지

클락-윌슨 무결성 모델 (Clark-Wilson Integrity Model)
 - 무결성 중심의 상업용 모델로, 사용자가 직접 객체에 접근할 수 없고 프로그램에 의해 접근이 가능한 보안 모델

만리장성 모델 (Chinese Wall Model)
 - 서로 이해 충돌 관계에 있는 객체 간의 정보 접근을 통제하는 모델

답: 3번

 

88. SQL Injection 공격과 관련한 설명으로 틀린 것은?

① SQL Injection은 임의로 작성한 SQL 구문을 애플리케이션에 삽입하는 공격 방식이다.

② SQL Injection 취약점이 발생하는 곳은 주로 웹 애플리케이션과 데이터베이스가 연동되는 부분이다.

③ DBMS의 종류와 관계없이 SQL Injection 공격 기법은 모두 동일하다.

④ 로그인과 같이 웹에서 사용자의 입력 값을 받아 데이터베이스 SQL문으로 데이터를 요청하는 경우 SQL Injection을 수행할 수 있다.

SQL 삽입 (SQL Injection)
 - 웹 응용 프로그램에 SQL을 삽입하여 내부 데이터베이스(DB) 서버의 데이터를 유출 및 변조하고, 관리자 인증을 우회하는 보안 약점
 - 동적 쿼리에 사용되는 입력 데이터에 예약어 및 특수문자가 입력되지 않게 필터링 되도록 설정하여 방지할 수 있음
 - 사용자의 입력 값 등 외부 입력 값이 SQL 쿼리에 삽입되어 공격

①: 공격자가 악의적인 SQL 구문을 입력 폼 등에 삽입하여 DB의 데이터를 유출하거나 조작하는 방식이 맞습니다.
②: 사용자로부터 입력받은 값이 필터링 없이 쿼리문에 그대로 포함되어 DB로 전달되는 연동 구간에서 취약점이 발생합니다.
④: 아이디/패스워드 입력창에 ' OR '1'='1 과 같은 구문을 넣어 인증을 우회하는 것이 가장 전형적인 사례입니다.

답: 3번
DBMS 종속성: SQL Injection의 기본적인 원리(쿼리 삽입)는 유사하지만, DBMS의 종류(MySQL, Oracle, MS-SQL 등)에 따라 SQL 문법, 내장 함수, 시스템 테이블 구조가 다르기 때문에 세부적인 공격 기법이나 페이로드(Payload)는 달라짐.
따라서 "공격 기법이 모두 동일하다"는 설명은 틀린 것

 

89. 다음 설명에 해당하는 시스템은?

- 1990년대 David Clock이 처음 제안하였다.

- 비정상적인 접근의 탐지를 위해 의도적으로 설치해 둔 시스템이다.

- 침입자를 속여 실제 공격당하는 것처럼 보여줌으로써 크래커를 추적 및 공격 기법의 정보를 수집하는 역할을 한다.

- 쉽게 공격자에게 노출되어야 하며 쉽게 공격이 가능한 것처럼 취약해 보여야 한다.

① Apache

② Hadoop

③ Honeypot

④ MapReduce

허니팟(Honeypot) : 이름 그대로 '꿀단지'라는 뜻으로, 해커를 유인하기 위해 의도적으로 취약하게 만든 시스템
 - 공격자가 실제 중요한 시스템에 접근하기 전에 가짜 시스템(허니팟)으로 유인하여 공격을 지연
 - 정보 수집: 공격자의 공격 수법, 도구, 경로 등을 분석하여 향후 보안 대책을 세우는 데 활용
 - 추적: 침입자를 역으로 추적하여 증거를 확보하는 역할도 수행

① Apache (아파치): 전 세계적으로 가장 많이 쓰이는 웹 서버 소프트웨어 중 하나입니다.
② Hadoop (하둡): 대량의 데이터를 분산 처리할 수 있는 자바 기반의 오픈 소스 프레임워크입니다.
④ MapReduce (맵리듀스): 대규모 데이터 세트를 병렬로 처리하기 위한 프로그래밍 모델로, 하둡의 핵심 구성 요소입니다.

답: 3번

 

90. 다음 설명에 해당하는 공격 기법은?

- 시스템 공격 기법 중 하나로 허용 범위 이상의 ICMP 패킷을 전송하여 대상 시스템의 네트워크를 마비시킨다.

① Ping of Death

② Session Hijacking

③ Piggyback Attack

④ XSS

네트워크 침해 공격 관련 용어
Ping of Death (죽음의 핑)
 - Ping 명령을 전송할 때 패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송하여 공격 대상의 네트워크를 마비시키는 서비스 거부 공격 방법

SMURFING (스머핑)
 - IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크를 불능 상태로 만드는 공격 방법

SYN Flooding
 - 공격자가 가상의 클라이언트로 위장하여 3-way-handshake 과정을 의도적으로 중단시킴으로써 공격 대상지인 서버가 대기 상태에 놓여 정상적인 서비스를 수행하지 못하게 하는 공격 방법

Land
 - 패킷을 전송할 때 송신 IP주소와 수신 IP주소를 모두 공격 대상의 IP주소로 하여 공격 대상에게 전송하는 것

Smishing  (스미싱)
 - 문자 메시지(SMS)를 이용해 사용자의 개인 신용 정보를 빼내는 공격 방법

피싱 (Phishing)
 - 개인 정보(Private Data)와 낚시(Fishing)의 합성어로, 이메일이나 메신저 등을 통해 공기관이나 금융기관을 사칭하여 개인 정보를 빼내는 기법

Ping Flood
 - 특정 사이트에 매우 많은 ICMP 메시지를 보내 이에 대한 응답으로 시스템 자원을 모두 사용하게 해 시스템이 정상적으로 동작하지 못하도록 하는 공격 방법

Evil Twin Attack
 - 실제 존재하는 동일한 이름의 무선 WiFi 신호를 송출하여 로그온한 사람들의 계정 정보나 신용 정보 등을 빼가는 기법

스위치 재밍 (Switch Jamming)
 - 위조된 매체 접근 제어(MAC) 주소를 지속적으로 네트워크로 흘려보내, 스위치 MAC 주소 테이블의 저장 기능을 혼란시켜 더미 허브(Dummy Hub)처럼 작동하게 하는 공격 방법

② Session Hijacking (세션 하이재킹): 사용자가 시스템에 로그인하여 활성화된 '세션'을 가로채서 사용자의 권한으로 시스템에 접근하는 공격입니다. (세션 가로채기)
③ Piggyback Attack (피기백 공격): 다른 사람의 통신 세션이나 물리적 보안을 이용해 몰래 뒤따라 들어가는 방식입니다. 무선 LAN의 경우 허가받지 않은 사용자가 타인의 AP를 몰래 이용하는 것을 뜻하기도 합니다.
④ XSS (Cross Site Scripting): 웹사이트에 악성 스크립트를 삽입하여 사용자의 브라우저에서 실행되게 함으로써 쿠키를 탈취하거나 악의적인 행위를 유도하는 웹 공격 기법입니다.

답: 1번

 

91. 네트워크 장비에 대한 설명으로 옳지 않은 것은?

① 브라우터는 전송되는 신호가 전송 선로의 특성 및 외부 충격 등의 요인으로 인해 원래의 형태와 다르게 왜곡되거나 약해질 경우 원래의 신호 형태로 재생하여 다시 전송하는 역할을 수행한다.

② 브리지는 LAN과 LAN을 연결하거나 LAN 안에서의 컴퓨터 그룹을 연결하는 기능을 수행하며, 데이터 링크 계층 중 MAC 계층에서 사용된다.

③ 스위치는 LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치로, OSI 7계층의 2계층에서 사용된다.

④ 라우터는 LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택할 수 있는 기능이 추가된 것으로, 서로 다른 LAN이나 LAN과 WAN의 연결도 수행하고, OSI 7계층의 네트워크 계층에서 동작한다.

네트워크 관련 장비
네트워크 인터페이스 카드 (NIC, Network Interface Card)
 - 컴퓨터와 컴퓨터 또는 컴퓨터와 네트워크를 연결하는 장치로, 정보 전송 시 정보가 케이블을 통해 전송될 수 있도록 정보 형태를 변경

허브 (Hub)
 - 한 사무실이나 가까운 거리의 컴퓨터들을 연결하는 장치로, 각 회선을 통합적으로 관리하며, 신호 증폭 기능을 하는 리피터의 역할도 포함
 - 허브의 종류 : 더미 허브, 스위칭 허브 등

리피터 (Repeater)
 - 전송되는 신호가 전송 선로의 특성 및 외부 충격 등의 요인으로 인해 원래의 형태와 다르게 왜곡되거나 약해질 경우 원래의 신호 형태로 재생하여 다시 전송하는 역할을 수행

브리지 (Bridge)
 - LAN과 LAN을 연결하거나 LAN 안에서의 컴퓨터 그룹(세그먼트)을 연결하는 기능을 수행함
 - 네트워크를 분산적으로 구성할 수 있어 보안성을 높일 수 있음

스위치 (Switch)
 - 브리지와 같이 LAN과 LAN을 연결하여 훨씬 더 큰 LAN을 만드는 장치
 - 하드웨어를 기반으로 처리하므로 전송 속도가 빠름

라우터 (Router)
 - 브리지와 같이 LAN과 LAN의 연결 기능에 데이터 전송의 최적 경로를 선택할 수 있는 기능이 추가된 것으로, 서로 다른 LAN이나 LAN과 WAN의 연결도 수행

게이트웨이 (Gateway)
 - 전 계층(1~7계층)의 프로토콜 구조가 다른 네트워크의 연결을 수행
 - LAN에서 다른 네트워크에 데이터를 보내거나 다른 네트워크로부터 데이터를 받아들이는 출입구 역할을 함

답: 1번
브라우터는 브리지와 라우터의 기능을 결합한 장비
보기의 설명은 리피터

 

92. 다음 내용이 설명하는 것은?

- 개인과 기업, 국가적으로 큰 위협이 되고 있는 주요 사이버 범죄 중 하나로, Snake, Darkside 등 시스템을 잠그거나 데이터를 암호화해 사용할 수 없도록 하고 이를 인질로 금전을 요구하는 데 사용되는 악성 프로그램이다.

① Format String

② Ransomware

③ Buffer overflow

④ Adware

정보 보안 침해 공격 관련 용어
웜 (Worm)
 - 네트워크를 통해 연속적으로 자신을 복제하여 시스템의 부하를 높임으로써 결국 시스템을 다운시키는 바이러스의 일종으로, 분산 서비스 거부 공격, 버퍼 오버플로 공격, 슬래머 등이 웜 공격의 한 형태

파밍 (Pharming)
 - 해커가 악성코드에 감염됨 PC를 조작하여 이용자가 정상적인 사이트에 접속해도 중간에서 도메인을 탈취하여 가짜 사이트로 접속하게 한 다음 개인 정보나 금융정보를 몰래 빼내는 행위

키로거 공격 (Key Logger Attack)
 - 컴퓨터 사용자의 키보드 움직임을 탐지해 ID, 패스워드, 계좌번호, 카드번호 등과 같은 개인의 중요한 정보를 몰래 빼가는 해킹 공격

랜섬웨어 (Ransomware)
 - 인터넷 사용자의 컴퓨터에 잠입해 내부 문서나 파일 등을 암호화해 사용자가 열지 못하게 하는 프로그램으로, 암호 해독용 프로그램의 전달을 조건으로 사용자에게 돈을 요구하기도 함

백도어 (Back Door, Trap Door)
 - 시스템 설계자가 서비스 기술자나 유지 보수 프로그램 작성자의 액세스 편의를 위해 시스템 보안을 제거하여 만들어놓은 비밀통로로, 컴퓨터 범죄에 악용되기도 함.
 - 백도어 탐지 방법 : 무결성 검사, 열린 포트 확인, 로그 분석, SetUID 파일 검사 등

① Format String (포맷 스트링): printf()와 같은 포맷팅 함수를 잘못 사용하여 메모리의 내용을 취약하게 만들거나 조작하는 공격 기법입니다.
③ Buffer overflow (버퍼 오버플로우): 메모리에 할당된 버퍼의 크기를 초과하는 데이터를 입력하여 프로그램의 흐름을 바꾸거나 관리자 권한을 획득하는 공격입니다.
④ Adware (애드웨어): 소프트웨어 자체에 광고를 포함하거나, 실행 시 자동으로 광고가 뜨게 하는 프로그램입니다. (보통은 악의적이라기보다 광고 수익을 목적으로 합니다.)

답: 2번

 

93. 소인수 분해 문제를 이용한 공개키 암호화 기법에 널리 사용되는 암호 알고리즘 기법은?

① RSA

② ECC

③ PKI

④ PRM

공개키 암호화 기법 : 데이터를 암호화할 떄 사용하는 공개키는 데이터베이스 사용자에게 공개하고, 복호화할 때의 비밀키는 관리자가 비밀리에 관리
 - 비대칭 암호기법(RSA, Rivest Shamir Adleman) 기법

양방향 알고리즘
SEED
 - 1999년 한국인터넷진흥원(KISA)에서 개발한 블록 암호화 알고리즘
 - 블록 크기는 128비트이며, 키 길이에 따라 128, 256으로 분류됨

ARIA
 - 2004년 국가정보원과 산학연협회가 개발한 블록 암호화 알고리즘
 - ARIA는 학계, 연구기관, 정부의 영문 앞글자로 구성
 - 블록 크기는 128비트이며, 키 길이에 따라 128, 192, 256으로 분류됨

DES
 - 1975년 미국 NBS에서 발표한 개인키 암호화 알고리즘
 - DES를 3번 적용하여 보안ㅇ르 더욱 강화한 3DES도 있음
 - 블록 크기는 64비트이며, 키 길이는 56비트

AES
 - 2001년 미국 표준 기술 연구소(NIST)에서 발표한 개인키 암호화 알고리즘
 - DES의 한계를 느낀 NIST에서 공모한 후 발표함
 - 블록 크기는 128비트이며, 키 길이에 따라 128, 192, 256으로 분류됨

RSA
 - 1978년 MIT의 라이베스트(Rivest), 샤미르(Shamir), 애들먼(Adelman)에 의해 제안된 공개키 암호화 알고리즘
 - 큰 숫자를 소인수분해 하기 어렵다는 것에 기반하여 만들어짐
 - 공개키와 비밀키를 사용하는데, 여기서 키란 메시지를 열고 잠그는 상수를 의미

ECC
 - 1985년 RSA 암호 방식의 대안으로 제안
 - 이산대수 문제를 타원곡선으로 옮겨 기밀성과 효율성을 높인 암호화 알고리즘

Rabin
 - 1979년 미하엘 라빈이 제안
 - 소인수분해의 어려움에 안전성의 근거를 둔 암호화 알고리즘

답: 1번

 

94. 메모리 상에서 프로그램의 복귀 주소와 변수 사이에 특정 값을 저장해 두었다가 그 값이 변경되었을 경우 오버플로우 상태로 가정하여 프로그램 실행을 중단하는 기술은?

① 모드체크

② 리커버리 통제

③ 시스로그

④ 스택가드

스택가드 (Stack Guard):
 - 널 포인터 역참조와 같이 주소가 저장되는 스택에서 발생하는 보안 약점을 막는 기술 중 하나
 - 메모리상에서 프로그램의 복귀 주소와 변수 사이에 특정 값을 저장한 후 그 값이 변경되었을 경우 오버플로우 상태로 판단하여 프로그램 실행을 중단함으로써 잘못된 복귀 주소의 호출을 막는 기술

ASLR
 (Address Space Layout Randomization)
 - 실행 시마다 메모리 주소(스택, 힙, 라이브러리 등)를 랜덤하게 배치하여 공격자가 실행 코드의 주소를 예측하지 못하게 함.

DEP (Data Execution Prevention, 자료 실행 방지)
 - 메모리의 데이터 영역(스택 등)에 '실행 권한'을 제거하여, 공격자가 주입한 악성 코드가 실행되지 않도록 차단함

① 모드체크 (Mode Check): 일반적으로 하드웨어나 소프트웨어가 특정 운영 모드(사용자 모드/커널 모드 등)에 있는지 확인하는 절차를 말하며, 이 문제의 메모리 보호 기술과는 거리가 멉니다.
② 리커버리 통제 (Recovery Control): 장애가 발생했을 때 시스템을 이전의 정상적인 상태로 복구하기 위한 통제 수단(백업, 체크포인트 등)을 의미하는 일반적인 보안/운영 용어입니다.
③ 시스로그 (Syslog): 유닉스/리눅스 계열 시스템에서 로그 메시지를 기록하고 관리하는 표준 프로토콜입니다. 시스템의 활동 기록을 남기는 용도이지 실행 중단 기술이 아닙니다.

답: 4번

 

95. 소프트웨어 개발 모델 중 나선형 모델의 4가지 주요 활동이 순서대로 나열된 것은?

Ⓐ 계획 수립 Ⓑ 고객 평가 Ⓒ 개발 및 검증 Ⓓ 위험 분석

① A-B-D-C 순으로 반복

② A-D-C-B 순으로 반복

③ A-B-C-D 순으로 반복

④ A-C-B-D 순으로 반복

나선형 모델 (Spiral Model)
 - 보헴(Boehm)이 제안
 - 폭포수 모형과 프로토타입 모형의 장점에 위험 분서 기능을 추가한 모형
 - 나선을 따라 돌듯이 여러 번의 소프트웨어 개발 과정을 거쳐 점진적으로 완벽한 최종 소프트웨어를 개발하는 것으로 점진적 모형이라고도 한다. → 비교적 대규모 시스템에 적합
 - 소프트웨어를 개발하면서 발생할 수 있는 위험을 관리하고 최소화하는 것을 목적으로 한다.
 - 점진적으로 개발 과정이 반복되므로 누락되거나 추가된 요구사항을 첨가할 수 있고, 정밀하며, 유지보수 과정이 필요없다.
 - 계획 수립 → 위험 분석 → 개발 및 검증 → 고객 평가

답: 2번

 

96. 소프트웨어 정의 데이터센터(SDDC: Software Defined Data Center)에 대한 설명으로 틀린 것은?

① 컴퓨팅, 네트워킹, 스토리지, 관리 등을 모두 소프트웨어로 정의한다.

② 인력 개입 없이 소프트웨어 조작만으로 자동 제어 관리한다.

③ 데이터센터 내 모든 자원을 가상화하여 서비스한다.

④ 특정 하드웨어에 종속되어 특화된 업무를 서비스하기에 적합하다.

소프트웨어 정의 데이터센터(SDDC)
 - 데이터센터의 모든 구성 요소를 가상화하고, 이를 소프트웨어로 제어 및 관리하는 지능형 데이터센터를 의미
 - 서버(컴퓨팅), 네트워크, 스토리지 등 물리적 자원을 추상화하여 소프트웨어로 정의하는 것이 맞습니다.
 - 중앙 집중화된 소프트웨어 제어판을 통해 사람이 일일이 장비를 건드리지 않아도 자동화된 관리가 가능합니다.
 - 가상화 기술(VM, 컨테이너 등)을 기반으로 모든 자원을 풀(Pool)로 만들어 서비스합니다.

답: 4번
SDDC의 핵심은 하드웨어 종속성에서 벗어나는 것.
특정 제조사의 하드웨어에 얽매이지 않고 표준화된 서버 자원 위에 소프트웨어를 얹어 유연하게 사용
따라서 "특정 하드웨어에 종속된다"는 설명은 SDDC의 취지와 정반대되는 내용

 

97. 스트림 암호화 방식의 설명으로 옳지 않은 것은?

① 비트/바이트/단어들을 순차적으로 암호화한다.

② 해쉬 함수를 이용한 해쉬 암호화 방식을 사용한다.

③ RC4는 스트림 암호화 방식에 해당한다.

④ 대칭키 암호화 방식이다.

개인키 암호화 기법 : 동일한 키로 데이터를 암호화하고 복호화
 - 대칭키(암호화키 = 복호화 키 동일) 암호기법
종류
 - 블록 암호화 방식 : DES, SEED, AES, ARIA
 - 스트림 암호화 방식 : LFSR, RC4

스트림 암호화
 - 데이터 비트나 바이트 흐름을 순차적으로 암호화하는 방식
 - 대칭키 암호화, 양방향 암호화

공개키 암호화 기법 : 데이터를 암호화할 떄 사용하는 공개키는 데이터베이스 사용자에게 공개하고, 복호화할 때의 비밀키는 관리자가 비밀리에 관리
 - 비대칭 암호기법(RSA, Rivest Shamir Adleman) 기법
 - ECC, DSA

※해시(Hash)는 단방향 암호화

답: 2번

 

98. 하둡(Hadoop)과 관계형 데이터베이스 간에 데이터를 전송할 수 있도록 설계된 도구는?

① Apnic

② Topology

③ Sqoop

④ SDB

DB 관련 신기술
하둡 (Hadoop)
 - 오픈 소스를 기반으로 한 분산 컴퓨팅 플랫폼
 - 일반 PC급 컴퓨터들로 가상화된 대형 스토리지를 형성하고 그 안에 보관된 거대한 데이터 세트를 병렬로 처리할 수 있도록 개발된 자바 소프트웨어 프레임워크로, 구글, 야후 등에 적용

Sqoop은 "SQL to Hadoop"의 약자
 - 데이터 이동: Oracle, MySQL 등과 같은 관계형 데이터베이스(RDBMS)의 데이터를 하둡(HDFS, Hive, HBase)으로 가져오거나(Import), 반대로 하둡의 데이터를 RDBMS로 내보낼(Export) 때 사용
 - 효율성: 모든 데이터 전송 과정을 자동화하여 사용자가 일일이 코드를 작성하지 않아도 효율적으로 데이터를 연동할 수 있게 해줌

① Apnic: 아시아 태평양 지역의 IP 주소를 관리하는 인터넷 등록 기관 이름입니다.
② Topology (토폴로지): 컴퓨터 네트워크의 물리적 또는 논리적인 연결 형태(구성 방식)를 의미합니다.
④ SDB: SimpleDB의 약자로 쓰이기도 하지만, 빅데이터 전송 도구와는 관련이 먼 일반적인 약어입니다.

답: 3번

 

99. S/W 각 기능의 원시 코드 라인수의 비관치, 낙관치, 기대치를 측정하여 예측치를 구하고 이를 이용하여 비용을 산정하는 기법은?

① Effort Per Task 기법

② 전문가 감정 기법

③ 델파이 기법

④ LOC 기법

LOC(원시 코드 라인 수) 기법
 - 소프트웨어 비용 산정 기법 중 하향식(Bottom-up) 산정 방식의 대표적인 모델
 - 산정 방식: 각 기능의 원시 코드 라인 수(줄 수)를 예측하여 비용을 산정

LOC 예측치 산출: 단순히 한 수치만 정하는 것이 아니라, 다음 세 가지 수치를 측정하여 신뢰도를 높임.
 - 낙관치: 가장 적게 산정된 코드 라인 수
 - 비관치: 가장 많이 산정된 코드 라인 수
 - 기대치(중간치): 보통일 때 산정된 코드 라인 수산출
 - 공식: [낙관치 + (4 x 기대치) + 비관치 / 6

① Effort Per Task 기법: 각 태스크별로 필요한 노력(M/M)을 직접 산정하는 방식입니다.
② 전문가 감정 기법: 조직 내의 경험 많은 전문가들에게 비용 산정을 의뢰하는 기법입니다. (주관적일 수 있음)
③ 델파이 기법 (Delphi Method): 전문가 감정 기법의 주관성을 보완하기 위해 여러 전문가의 의견을 익명으로 종합하고 조정하는 기법입니다.

답: 4번

 

100. 소프트웨어 개발 방법론의 테일러링(Tailoring)과 관련한 설명으로 틀린 것은?

① 프로젝트 수행 시 예상되는 변화를 배제하고 신속히 진행하여야 한다.

② 프로젝트에 최적화된 개발 방법론을 적용하기 위해 절차, 산출물 등을 적절히 변경하는 활동이다.

③ 관리 측면에서의 목적 중 하나는 최단기간에 안정적인 프로젝트 진행을 위한 사전 위험을 식별하고 제거하는 것이다.

④ 기술적 측면에서의 목적 중 하나는 프로젝트에 최적화된 기술 요소를 도입하여 프로젝트 특성에 맞는 최적의 기법과 도구를 사용하는 것이다.

테일러링 : 프로젝트 상황 및 특성에 맞도록 정의된 소프트웨어 개발 방법론의 절차, 사용기법 등을 수정 및 보완하는 작업

테일러링 작업 시 고려해야할 사항
내부적 기준
 - 목표 환경 : 시스템의 개발 환경과 유형이 서로 다른 경우 테일러링이 필요
 - 요구 사항 : 프로젝트의 생명 주기 활동에서 개발, 운영, 유지보수 등 프로젝트에서 우선적으로 고려할 요구사항이 서로 다른 경우 테일러링이 필요
 - 프로젝트 규모 : 비용, 인력, 기간 등 프로젝트의 규모가 서로 다른 경우 테일러링이 필요
 - 보유 기술 : 프로세스, 개발 방법론, 산출물, 구성원의 능력 등이 서로 다른 경우 테일러링이 필요

외부적 기준
 - 법적 제약사항 : 프로젝트별로 적용될 IT Compliance 가 서로 다른 경우 테일러링이 필요
 - 표준 품질 기준 : 금융, 제도 등 분야별 표준 품질 기준이 서로 다른 경우 테일러링이 필요

답: 1번
변화를 배제(X)
 - 테일러링(Tailoring)은 '재단사(Tailor)가 옷을 몸에 맞게 맞추는 것'처럼, 표준적인 소프트웨어 개발 방법론을 특정 프로젝트의 상황에 맞게 최적화하는 과정
 - 테일러링의 핵심은 프로젝트의 규모, 성격, 기술적 난이도 등 예상되는 변화와 특성을 적극적으로 반영하여 방법론

정보처리기사 필기 기출문제
24년 3회 1과목 2과목 3과목 4과목 5과목
24년 2회 1과목 2과목 3과목 4과목 5과목
24년 1회 1과목 2과목 3과목 4과목 5과목
23년 3회 1과목 2과목 3과목 4과목 5과목
23년 2회 1과목 2과목 3과목 4과목 5과목
23년 1회 1과목 2과목 3과목 4과목 5과목