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

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

문성 2026. 1. 22. 18:52

제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. 소프트웨어 개발에서 정보보안 3요소에 해당하지 않는 설명은?

① 기밀성 : 인가된 사용자에 대해서만 자원 접근이 가능하다.

② 무결성 : 인가된 사용자에 대해서만 자원 수정이 가능하며 전송 중인 정보는 수정되지 않는다.

③ 가용성 : 인가된 사용자는 가지고 있는 권한 범위 내에서 언제든 자원 접근이 가능하다.

④ 휘발성 : 인가된 사용자가 수행한 데이터는 처리 완료 즉시 폐기되어야 한다.

정보보안의 3요소
기밀성 : 오직 인가된 사용자만이 정보에 접근할 수 있도록 제한하는 것
무결성 : 정보가 인가된 사용자에 의해서만 수정될 수 있으며, 전송 중 내용이 임의로 변조되지 않았음을 보장하는 것
가용성 : 인가된 사용자가 정보 시스템을 필요로 할 때 언제든지 지체 없이 사용할 수 있는 상태를 유지하는 것

휘발성 (Volatility): 이는 보안의 요소가 아니라, 전원이 꺼지면 데이터가 사라지는 메모리(RAM 등)의 물리적 특성을 말합니다. 보안 3요소와는 전혀 무관한 용어입니다.

답: 4번
 

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. 다음 중 소프트웨어 비용 산정에 대한 설명으로 옳지 않은 것은?

① 소프트웨어의 규모, 인력 등의 요소를 기반으로 개발에 필요한 비용을 예측하는 것이다.

② 소프트웨어 비용 산정 기법에는 상향식, 하향식, 혼합식 기법이 있다.

③ 소프트웨어 비용을 높게 산정할 경우 예산 낭비와 일의 효율성 저하를 초래할 수 있다.

④ 소프트웨어 비용 결정 요소에는 프로젝트 요소, 자원 요소, 생산성 요소가 있다.

비용 산정시 고려해야할 3대 요소
 - 프로젝트 요소 : 제품의 복잡도, 시스템 크기, 요구되는 신뢰도
 - 자원 요소 : 인적 자원(개발자 능력), 하드웨어 자원, 소프트웨어 자원
 - 생산성 요소 : 개발자의 능력, 개발 기간

비용 산정 기법
하향식 산정 기법 (Top-Down) : 과거의 경험을 바탕으로 전체 비용을 먼저 정하고 세부적으로 나누는 방식
 - 전문가 감정 기법 : 경험 많은 전문가가 주관적으로 결정
 - 델파이 (Delphi) 기법 : 전무나들의 주관적 편견을 보완하기 위해 중재자를 두어 합의를 도출하는 방식

상향식 산정 기법 (Bottom-Up) : 세부 작업 단위별 비용을 산정한 후 합계하여 전체 비용을 결정하는 방식
 - LOC 기법 : 코드 라인 수를 예측하여 산정 (계산 문제 : 총 라인 수 / 프로그래머의 월간 생산성)
 - 개발 단계별 인원수 기법 : 각 단계(분석, 설계, 구현 등)에 필요한 인력과 시간을 합산
 - 수학적 산정 모델 : 공식에 숫자를 대입하여 계산하는 방식

답: 2번
혼합식은 없다.
 

84. 취약점 관리를 위한 응용 프로그램의 보안 설정과 가장 거리가 먼 것은?

① 서버 관리실 출입 통제

② 실행 프로세스 권한 설정

③ 운영체제의 접근 제한

④ 운영체제의 정보 수집 제한

효율적인 취약점 관리
관리적 보안 : 정보보호 정책, 정보보호 조직, 정보자산 분류, 정보 보호 교육 및 훈련, 인적 보안, 업무 연속성 관리 등의 정의
물리적 보안 : 건물 및 사무실 출입 통제 지침, 전산실 관리 지침, 정보 시스템 보호 설치 및 관리 지침, 재해 복구 센터 운영 등의 정의
기술적 보안 : 사용자 인증, 접근 제어, PC, 서버, 네트워크, 응용 프로그램, 데이터(DB) 등의 보안 지침 정의, 운영체제의 정보 수집 제한

답: 1번
물리적 보안에 해당한다.
 

85. Python을 기반으로 컴포넌트의 재사용과 플러그인화를 강조하여 신속한 개발이 가능하도록 지원하는 프레임워크는?

① Spring

② Node.js

③ Django

④ Codeigniter

언어별 프레임워크
Java : Spring, Struts
Python : Django, Flask
JavaScript : Node.js(런타임), React, Vue.js, Angular
PHP : Codeigniter, Laravel
Ruby : Ruby on Rails

프레임워크 특징
 - 재사용성 : 공통 기능을 재사용 가능한 컴포넌트로 제공
 - 확장성 : 다형성을 통해 사용자 정의 인터페이스 확장 가능
 - 모듈화 : 기능별로 쪼개어 관리하므로 유지보수 용이
 - 제어의 역흐름 : 개발자가 코드를 호출하는 게 아니라, 프레임워크가 개발자의 코드를 제어

프레임워크 기대 효과
 - 품질 보증: 이미 검증된 코드를 재사용하므로 소프트웨어의 품질이 안정적입니다.
 - 개발 용이성: 반복적인 코드(DB 연결, 보안 등)를 프레임워크가 처리해주어 개발이 쉬워집니다.
 - 변경 용이성(유지보수성): 표준화된 구조를 따르므로 코드를 수정하거나 관리하기 좋습니다.
 - 재사용성: 공통 기능을 모듈화하여 여러 프로젝트에서 다시 쓸 수 있습니다.
 - 상호 운용성: 표준 프레임워크(예: 전자정부 표준 프레임워크)를 쓰면 시스템 간 연동이 쉬워집니다.

답: 3번
 

86. LOC 기법에 의하여 예측된 총 라인수가 36,000라인, 개발에 참여할 프로그래머가 6명, 프로그래머들의 평균 생산성이 월간 300라인일 때 개발에 소요되는 기간은?

① 5개월

② 10개월

③ 15개월

④ 20개월

LOC 기법 산정 공식
1단계 : 총 노력(Man-Month, 인월) 구하기공식
 - 총 라인수 / 프로그래머 1인의 월간 생산성
 - 계산 : 36,000라인 / 300라인/월 = 120(인월)
 → 이 프로젝트를 혼자서 하면 120개월이 걸린다는 뜻

2단계 : 개발 소요 기간 구하기
 - 총노력(인월) / 투입인원
 - 계산 : 120(인월) / 6명 = 20개월
 → 개발에 소요되는 기간 20개월

※변형 공식
 - 노력 : 전체 투입되는 총 인원수
 - 개발 기간 : 프로젝트가 끝날 때까지 걸리는 시간
 - 생산성 : 총라인수 / 총노력(인월)

답: 4번
 

87. 무선 랜에서 데이터 전송 시 매체가 비어있음을 확인한 뒤 충돌을 피하기 위해 일정한 시간을 기다린 후 데이터를 전송하는 방법은?

① VLAN

② STP

③ L2AN

④ CSMA/CA

CSMA/CA
 - 무선 랜에서 데이터 전송 시 매체가 비어있음을 확인한 뒤 충돌을 피하기 위해 일정한 시간을 기다린 후 데이터를 전송하는 방법
 - 회선을 사용하지 않는 경우에도 확인 신호를 전송하여 동시 전송에 의한 충돌을 예방

CSMA/CD
 - 유선 랜 방식, 충돌이 발생하면 이를 검출해서 알려주고 다시 보내는 방식

① VLAN (Virtual LAN): 물리적 위치와 상관없이 논리적으로 네트워크를 분할하는 기술
② STP (Spanning Tree Protocol): 네트워크 안에 루프(회전 고리)가 발생하는 것을 방지하는 프로토콜
③ L2AN: 일반적으로 쓰이지 않는 오답용 용어

답: 4번
 

88. 물리적 위협으로 인한 문제에 해당하지 않는 것은?

① 화재, 홍수 등 천재지변으로 인한 위협

② 하드웨어 파손, 고장으로 인한 장애

③ 방화, 테러로 인한 하드웨어와 기록장치를 물리적으로 파괴하는 행위

④ 방화벽 설정의 잘못된 조작으로 인한 네트워크, 서버 보안 위협

효율적인 취약점 관리
관리적 보안 : 정보보호 정책, 정보보호 조직, 정보자산 분류, 정보 보호 교육 및 훈련, 인적 보안, 업무 연속성 관리 등의 정의
물리적 보안 : 건물 및 사무실 출입 통제 지침, 전산실 관리 지침, 정보 시스템 보호 설치 및 관리 지침, 재해 복구 센터 운영 등의 정의
기술적 보안 : 사용자 인증, 접근 제어, PC, 서버, 네트워크, 응용 프로그램, 데이터(DB) 등의 보안 지침 정의, 운영체제의 정보 수집 제한

답: 4번
 

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

(A) 계획 수립 (B) 고객 평가 (C) 개발 및 검증 (D) 위험 분석

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

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

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

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

나선형 모형 : 보헴(Boehm)이 제안한 것으로, 폭포수 모형과 프로토타입 모형의 장점에 위험 분석 기능을 추가한 모형
 - '계획 수립위험 분석개발 및 검증고객평가' 으로 진행

답: 2번
 

90. 다음이 설명하는 IT 기술은?

- 컨테이너 응용프로그램의 배포를 자동화하는 오픈소스 엔진이다.
- 소프트웨어 컨테이너 안에 응용 프로그램들을 배치시키는 일을 자동화해 주는 오픈 소스 프로젝트이자 소프트웨어로 볼 수 있다.

 

① Stack Guard

② Docker

③ Cipher Container

④ Scytale

SW 관련 용어
매시업 (Mashup)
 - 웹에서 제공하는 정보 및 서비스를 이용하여 새로운 소프트웨어나 서비스, 데이터베이스 등을 만드는 기술이다. 즉 다수의 정보원이 제공하는 콘텐츠를 조합하여 하나의 서비스로 제공하는 웹 사이트 또는 애플리케이션을 말함

서비스 지향 아키텍처 (SOA)
 - 기업의 소프트웨어 인프라인 정보시스템을 공유와 재사용이 가능한 서비스 단위나 컴포넌트 중심으로 구축하는 정보기술 아키텍처
 - SOA 기반 애플리케이션 구성 계층 : 표현 계층, 업무 프로세스 계층, 서비스 중간 계층, 애플리케이션 계층, 데이터 저장 계층

디지털 트윈 (Digital Twin)
 - 현실속의 사물을 소프트웨어로 가상한후 모델로, 자동차, 항공, 에너지, 국방, 헬스케어 등 여러 분야에서 주목 받음
 - 실제 물리적인 자산을 소프트웨어로 가상화함으로써 실제 자산의 특성에 대한 정확한 정볼르 얻을 수 있고, 자산 최적화, 돌발사고 최소화, 생산성 증가 등 설계부터 제조, 서비스에 이르는 모든 과정의 효율성을 향상시킬 수 있음

텐서플로 (TensorFlow)
 - 구글의 구글 브레인(google Brain) 팀이 만든, 다양한 작업에 대해 데이터 흐름 프로그래밍을 위한 오픈소스 소프트웨어 라이브러리
 - C++언어로 제작되었고, 구글 검색, 음성 인식, 번역 등의 구글 서비스 전반에서 다양하게 사용되고 있음

도커 (Docker)
 - 컨테이너 기술을 자동화하여 쉽게 사용할 수 있게 하는 오픈소스 프로젝트
 - 소프트웨어 컨테이너 안에 응용 프로그램들을 배치시키는 일

스크래피 (Scrapy)
 - Python 기반의 웹 크롤링 프레임워크로, 코드 재사용성을 높이는 데 도움이 되며, 대규모의 크롤링 프로젝트에 적합함

증발품 (Vaporware)
 - 판매 계획 또는 배포 계획은 발표되었으나 실제로 고객에게 판매되거나 배포되지 않고 있는 소프트웨어

① Stack Guard (스택 가드): 메모리 상에서 버퍼 오버플로우를 방지하기 위해 복귀 주소 앞에 특정 값(Canary)을 삽입하는 보안 기술
③ Cipher Container (사이퍼 컨테이너): 암호화된 저장 영역 등을 의미할 때 쓰일 수 있는 용어이나, 이 문제에서 설명하는 표준적인 IT 기술 명칭은 아닙니다.
④ Scytale (스카이테일): 고대 그리스에서 사용하던 암호화 도구로, 막대에 종이를 감아 글자를 적는 방식입니다. 보안 역사에서 언급되는 용어입니다.

답: 2번

 

91. 구조적 방법론에 대한 설명으로 옳은 것은?

① 자료(Data) 중심의 방법론이다.

② 구성 요소에는 객체, 클래스, 메시지 등이 있다.

③ 새로운 기능을 추가하는 것이 간단하여 확장성이 보장된다.

④ 분할과 정복(Divide and Conquer) 원리를 적용한다.

방법론
구조적 방법론 : 정형화된 분석 절차에 따라 사용자 요구사항을 파악하여 문서화하는 처리(Precess) 중심의 방법론
 - 1960년대까지 가장 많이 적용되었던 소프트웨어 개발 방법론
 - 쉬운 이해 및 검증이 가능한 프로그램 코드를 생성하는 것이 목적
 - 복잡한 문제를 다루기 위해 분할과 정복 원리(Divide and Conquer)를 적용

정보공학 방법론 : 정보 시스템의 개발을 위해 계획, 분석, 설계, 구축에 정형화된 기법들을 상호 연관성 있게 통합 및 적용하는 자료(Data) 중심의 방법론
 - 정보 시스템 개발 주기를 이용하여 대규모 정보 시스템을 구축하는데 적합

컴포넌트 기반 방법론 : 기존의 시스템이나 소프트웨어를 구성하는 컴포넌트를 조합하여 하나의 새로운 애플리케이션을 만드는 방법론
 - 컴포넌트의 재사용이 가능하여 시간과 노력을 절감할 수 있다.
 - 새로운 기능을 추가하는 것이 간단하여 확장성이 보장된다.
 - 유지 보수 비용을 최소화하고 생산성 및 품질을 향상시킬 수 있다.
 - 개발 준비 단계 → 분석 단계 → 설계 단계 → 구현 단계 → 테스트 단계 → 전개 단계 → 인도 단계

※객체지향 방법론: 객체 중심, 상속, 캡슐화, 다형성, 추상화, 재사용성 높음.

답: 4번
 

92. 다음에서 설명하는 IT 기술은?

- 네트워크를 제어부, 데이터 전달부로 분리하여 네트워크 관리자가 보다 효율적으로 네트워크를 제어, 관리할 수 있는 기술
- 기존의 라우터, 스위치 등과 같이 하드웨어에 의존하는 네트워크 체계에서 안정성, 속도, 보안 등을 소프트웨어로 제어, 관리하기 위해 개발됨

 

① SDN(Software Defined Networking)

② NFS(Network File System)

③ Network Mapper

④ AOE Network

SDN : "제어부와 데이터 전달부의 분리", "소프트웨어로 제어"
 - 기존의 네트워크 장비(라우터, 스위치 등)는 하드웨어 안에 '두뇌(제어부)'와 '손발(전달부)'이 함께 들어 있었습니다.
 - SDN은 이 제어부(Control Plane)를 중앙 서버로 옮기고, 실제 장비는 데이터 전송(Data Plane)만 담당하게 합니다.
 - 이렇게 하면 네트워크 관리자가 중앙에서 소프트웨어 코딩만으로 전 세계의 네트워크 경로를 한꺼번에 조절할 수 있습니다.

② NFS (Network File System): 네트워크를 통해 다른 컴퓨터에 있는 파일을 마치 내 컴퓨터에 있는 파일처럼 사용할 수 있게 해주는 파일 공유 시스템입니다.
Network Mapper (Nmap): 네트워크의 보안 취약점을 찾기 위해 어떤 포트가 열려 있는지, 어떤 호스트가 활성화되어 있는지 스캔하는 보안 도구입니다.
AOE Network (Activity On Edge): 프로젝트 일정을 관리할 때 작업(Activity)을 간선(Edge)으로 표시하는 네트워크 그래프입니다. (데이터 구조 및 프로젝트 관리 용어)

답: 1번

 

93. Secure 코딩에서 입력 데이터의 보안 약점과 관련한 설명으로 틀린 것은?

① SQL 삽입 : 사용자의 입력 값 등 외부 입력 값이 SQL 쿼리에 삽입되어 공격

② 크로스사이트 스크립트 : 검증되지 않은 외부 입력 값에 의해 브라우저에서 악의적인 코드가 실행

③ 운영체제 명령어 삽입 : 운영체제 명령어 파라미터 입력 값이 적절한 사전검증을 거치지 않고 사용되어 공격자가 운영체제 명령어를 조작

④ 자원 삽입 : 사용자가 내부 입력 값을 통해 시스템 내에 사용이 불가능한 자원을 지속적으로 입력함으로써 시스템에 과부하 발생

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

경로 조작 및 자원 삽입
 - 데이터 입출력 경로를 조작하여 서버 자원을 수정, 삭제할 수 있는 보안 약점
 - 사용자 입력값을 식별자로 사용하는 경우, 경로 순회 공격을 막는 필터를 사용하여 방지할 수 있음

크로스사이트 스크립트(XSS)
 - 웹페이지에 악의적인 스크립트를 삽입하여 방문자들의 정보를 탈취하거나, 비정상적인 기능 수행을 유발하는 보안 약점
 - HTML 태그의 사용을 제한하거나 스크립트에 삽입되지 않도록 '<', '>', '&' 등의 문자를 다른 문자로 치환함으로써 방지할 수 있음
 - 검증되지 않은 외부 입력 값에 의해 브라우저에서 악의적인 코드가 실행

운영체제 명령어 삽입
 - 외부 입력값을 통해 시스템 명령어의 실행을 유도함으로써 권한을 탈취하거나 시스템 장애를 유발하는 보안 약점
 - 웹 인터페이스를 통해 시스템 명령어가 전달되지 않도록 하고, 외부 입력값을 검증 없이 내부 명령어로 사용하지 않음으로써 방지할 수 있음
 - 운영체제 명령어 파라미터 입력 값이 적절한 사전검증을 거치지 않고 사용되어 공격자가 운영체제 명령어를 조작

위험한 형식 파일 업로드
 - 악의적인 명령어가 포함된 스크립트 파일을 업로드함으로써 시스템에 손상을 주거나, 시스템을 제어할 수 있는 보안 약점
 - 업로드 되는 파일의 확장자 제한, 파일명의 암호화, 웹사이트와 파일 서버의 경로 분리, 실행 속성을 제거하는 등의 방법으로 방지할 수 있음

신뢰되지 않는 URL 주소로 자동접속 연결
 - 입력 값으로 사이트 주소를 받는 경우 이를 조작하여 방문자를 피싱 사이트로 유도하는 보안 약점
 - 연결되는 외부 사이트의 주소를 화이트 리스트로 관리함으로써 방지할 수 있음

메모리 버퍼 오버플로
 - 연속된 메모리 공간을 사용하는 프로그램에서 할당된 메모리의 범위를 넘어선 위치에서 자료를 읽거나 쓰려고 할 때 발생하는 보안 약점
 - 프로그램의 오동작을 유발시키거나, 악의적인 코드를 실행시켜 공격자가 프로그램을 통제할 수 있는 권한을 획득하게 함.
 - 메모리 버퍼를 사용할 경우 적절한 버퍼의 크기를 설정하고, 설정된 범위의 메모리 내에서 올바르게 읽거나 쓸 수 있도록 함으로써 방지할 수 있음

※자원삽입 : 외부 입력값을 제어문이나 자원(파일, 소켓 등)의 식별자로 사용하여, 공격자가 의도하지 않은 자원에 접근하거나 시스템 자원을 수정/삭제하는 보안 약점
※자원고갈 또는 서비스 거부(Dos)공격 : 사용자가 내부 입력 값을 통해 시스템 내에 사용이 불가능한 자원을 지속적으로 입력함으로써 시스템에 과부하 발생

답: 4번
 

94. DDoS 공격과 연관이 있는 공격 방법은?

① Secure shell

② Tribe Flood Network

③ Nimda

④ Deadlock

DDos (Distributed Denial of Service, 분산 서비스 거부) 공격
여러 곳에 분산된 공격 지점에서 한 곳의 서버에 대해 분산 서비스 공격을 수행하는 것

분산 서비스 공격용 툴
 - Trin00
 - TFN (Tribe Flooding Network)
 - TFN2K
 - Stacheldraht

① Secure shell (SSH): 원격 컴퓨터에 안전하게 접속하기 위한 보안 프로토콜입니다. 기본 포트는 22번을 사용하며, 전송되는 모든 데이터를 암호화
③ Nimda (님다): 2001년에 발생한 대규모 컴퓨터 웜(Worm)의 이름입니다. 이메일, 공유 폴더 등을 통해 급속도로 전파되었던 악성코드
④ Deadlock (교착 상태): 운영체제(OS)에서 프로세스들이 서로 상대방이 가진 자원을 무한히 기다리느라 아무것도 못 하고 멈춰있는 상태. 보안 공격과는 거리가 먼 시스템 운영 용어입니다.

답: 2번
 

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

① 모드체크

② 리커버리 통제

③ 시스로그

④ 스택가드

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

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

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

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

답: 4번
 

96. OSI 7 Layer 전 계층의 프로토콜과 패킷 내부의 콘텐츠를 파악하여 침입 시도, 해킹 등을 탐지하고 트래픽을 조정하기 위한 패킷 분석 기술은?

① PLCP(Packet Level Control Processor)

② Traffic Distributor

③ Packet Tree

④ DPI(Deep Packet Inspection)

보안 관련 용어
서비스형 볼록체인 (BaaS, Blockchain as a Service)
 - 블록체인 앱의 개발 환경을 클라우드 기반으로 제공하는 서비스
 - 블록체인 네트워크에 노드의 추가 및 제거가 용이하고, 블록체인 플랫폼마다 다른 블록체인 기술을 보다 편리하게 사용할수 있게 함

OWASP (the Open Web Application Security Project)
 - 웹 정보 노출이나 악성 코드, 스크립트, 보안이 취약한 부분을 연구하는 비영리 단체
 - 보안 취약점 중 보안에 미치는 영향이 큰 것을 기준으로 선정한 10대 웹 애플리케이션 취약점을 3~4년에 한 번씩 발표하고 있음

TCP 래퍼 (TCP Wrapper)
 - 외부 컴퓨터의 접속 인가 여부를 점검하여 접속을 허용 및 거부하는 보안용 도구
 - 네트워크에 접속하면 로그인한 다른 컴퓨터 사용자의 ID 및 로그를 조회하여 악용이 가능한 데, 이것을 방지하기 위한 방화벽 역할을 수행함

허니팟 (Honeypot)
 - 비정상적인 접근을 탐지하기 위해 설치해 둔 시스템
 - 침입자를 속여 실제 공격을 당하는 것처럼 보여줌으로써 추적 및 공격기법에 대한 정보를 수집함

DPI (Deep Packet Inspection)
OSI 7 Layer 전 계층의 프로토콜과 패킷 내부의 콘텐츠를 파악하여 침입 시도, 해킹 등을 탐지하고, 트래픽을 조정하기 위한 패킷 분석 기술

① PLCP (Physical Layer Convergence Procedure): 무선 랜(IEEE 802.11)의 물리 계층에서 상위 매체 접근 제어(MAC) 계층과 연결하기 위해 사용하는 프로토콜입니다. 패킷 분석 기술이 아님.
② Traffic Distributor: 네트워크 트래픽을 여러 경로로 분산시켜 주는 장치나 기능을 통칭하는 일반적인 용어
③ Packet Tree: 데이터 구조에서 패킷이나 데이터를 트리 형태로 관리하는 개념적인 용어일 뿐, 표준적인 패킷 분석 기술 명칭은 아님

답: 4번
 

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

- 네트워크상에 광채널 스위치의 이점인 고속 전송과 장거리 연결 및 멀티 프로토콜 기능을 활용
- 각기 다른 운영체제를 가진 여러 기종들이 네트워크상에서 동일 저장장치의 데이터를 공유하게 함으로써, 여러 개의 저장장치나 백업 장비를 단일화시킨 시스템

① SAN

② MBR

③ NAC

④ NIC

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

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

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

② MBR (Master Boot Record): 저장장치의 첫 번째 섹터에 위치하며, 운영체제가 어디에 있는지 알려주는 부팅 정보 영역
③ NAC (Network Access Control): 네트워크에 접속하는 기기의 보안 상태를 검사하여 접속 권한을 통제하는 보안 솔루션 (예: 백신 안 깔리면 인터넷 차단)
④ NIC (Network Interface Card): 컴퓨터를 네트워크에 연결하기 위한 하드웨어, 흔히 말하는 '랜카드'

답: 1번

 

98. Public 메소드로부터 Private 배열이 반환될 경우 발생하는 문제점으로 가장 옳은 것은?

① 메소드로의 접근이 불가능해진다.

② 배열의 주소가 외부로 공개되어 외부에서 접근할 수 있게 된다.

③ 시스템의 내부 정보가 노출된다.

④ 동기화 오류가 발생한다.

참조 값 (Reference)
 - 배열의 특징: 프로그래밍(Java 등)에서 배열은 객체이며, 배열 변수는 실제 데이터가 담긴 메모리 위치를 가리키는 '주소(참조 값)'를 가지고 있습니다.
 - 문제 상황: 클래스 내부에서 private으로 꽁꽁 숨겨둔 배열이라 할지라도, public 메소드가 이 배열의 주소를 그대로 리턴해버리면 어떻게 될까요?
 - 결과: 외부에서 이 주소를 받아버리는 순간, private 키워드는 무의미해집니다. 외부 코드가 해당 주소에 직접 접근하여 배열의 내용을 마음대로 수정(조작)할 수 있게 됩니다. 이를 "객체의 무결성이 깨졌다"고 표현합니다.

① 메소드로의 접근이 불가능해진다: public 메소드이므로 접근은 아주 잘 됩니다. 그게 문제입니다.
③ 시스템의 내부 정보가 노출된다: 배열 내용이 보일 순 있지만, 이 문제의 가장 핵심적인 '보안 약점'은 정보 노출보다는 데이터의 직접적인 조작 가능성입니다. (3번은 주로 '오류 메시지 노출' 등에서 정답으로 쓰입니다.)
④ 동기화 오류가 발생한다: 동기화(Synchronization)는 여러 스레드가 동시에 접근할 때 발생하는 문제로, 이 문제의 본질인 접근 제어 위반과는 결이 다릅니다.

답: 2번
 

99. SSH(Secure Shell)에 대한 설명으로 틀린 것은?

① SSH의 기본 네트워크 포트는 25번을 사용한다.

② 전송되는 데이터는 암호화 된다.

③ 키를 통한 인증은 클라이언트의 공개키를 서버에 등록해야 한다.

④ 서로 연결되어 있는 컴퓨터 간 원격 명령 실행이나 셀 서비스 등을 수행한다.

SSH (Secure SHell, 시큐어 셀)
SSH는 다른 컴퓨터에 로그인, 원격 명령 실행, 파일 복사 등을 수행할 수 있도록 다양한 기능을 지원하는 프로토콜 또는 이를 이용한 응용 프로그램
 - 데이터 암호화와 강력한 인증 방법으로 보안성이 낮은 네트워크에서도 안전하게 통신할 수 있다.
 - 키(key)를 통한 인증 방법을 사용하려면 사전에 클라이언트의 공개키를 서버에 등록해야 한다.
 - 기본적으로 22번 포트를 사용한다.

답: 1번
 

100. 프로젝트의 각 작업들이 언제 시작하고 언제 종료되는지에 대한 작업 일정을 막대 도표를 이용하여 표시하는 프로젝트 일정표는?

① 간트 차트

② 임계 경로 기법

③ PERT

④ WBS

간트 차트 (Gantt Chart)
 - 프로젝트의 각 작업(Task)을 시간축에 따라 막대 모양으로 그린 도표입니다.
 - 어느 작업이 언제 시작해서 언제 끝나는지, 작업 간에 기간이 어떻게 겹치는지 한눈에 보기 편합니다.
 - 수평 막대의 길이는 각 작업의 소요 기간을 나타냅니다.

임계 경로 기법 (CPM, Critical Path Method):
 - 프로젝트를 끝내기 위해 필요한 최장 경로를 찾는 기법입니다.
 - 이 경로에 있는 작업이 지연되면 전체 프로젝트가 늦어지므로 집중 관리가 필요합니다.

PERT (Program Evaluation and Review Technique):
 - 낙관치, 기대치, 비관치라는 3점 추정 방식을 사용하여 프로젝트 완료 시간을 예측하는 네트워크 모델입니다. (불확실성이 높은 프로젝트에 사용)

WBS (Work Breakdown Structure, 작업 분할 구조도):
 - 프로젝트 전체를 작은 작업 단위로 계층적으로 분할한 계층 구조도입니다. (막대 도표가 아니라 트리 형태에 가깝습니다.)

답: 1번
"막대 도표" → 간트 차트
"3점 추정(낙관, 비관, 기대)" → PERT
"최장 경로(지연 방지)" → CPM (임계 경로 기법)
"계층적 분할" → WBS

정보처리기사 필기 기출문제
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과목