본문 바로가기

정보처리기사/VI. 정보처리기사필기 예상문제(수제비 카페)

정보처리기사 기출정리 (2)

1. CMMI (Capability Maturity Model Integration) 구성 요소 중 통합 제품 개발 능력 성숙도 모델을 가르키는 것

- IPD-CMM

 

- CMMi 개념 : 제품 및 서비스의 개발과 유지보수, 획득 능력을 향상하기 위해 업무 절차들을 체계화 하는 평가 모델

- 두가지 유형 : 단계적 표현 모형, 연속적 표현 모형

- CMMi 단계적 표현 모형의 성숙도 레벨 : 초기, 관리, 정의, 정량적 관리, 최적화

=>초관정량최 

 

2. IP 패킷의 재조합 과정에서 잘못된 fragment offset 정보로 인해 수신시스템이 문제를 발생하도록 만든 DoS 공격은?

- TearDrop

 

- Smishing (SMS phishing, 스미싱)

- 문자메세지를 이용하여 신뢰할 수 있는 사람 또는 기업이 보낸 것 처럼 가장하여 개인정보, 소액결제 유도 공격

 

- Qshing (큐싱)

- QR코드와 Phishing의 합성어

- 스마트폰을 이용하여 금융 업무를 하는 것 처럼 속여 피싱 공격

- 제로페이 확산에 따라 피해 증가

 

- Smurfing

- 송신자 주소를 희생자의 주소로 스푸핑 한 후 이를 증폭 네트워크에 직접 브로드캐스트 발생시켜 희생자에게 대량의 트래픽을 발생

 

3. 교착상태 해결방안 중 발견(Detection) 기법에 해당 되는 것

- 자원할당 그래프

 

- 교착상태 정의 : 다중 프로세싱 환경에서 두 개 이상의 프로세스가 특정 자원 할당을 무한정 대기하는 상태

 

* 교착상태의 발생 조건

- 상호 배제 (Mutual Exclusive) : 프로세스가 자원을 배타적으로 점유하여 다른 프로세스가 그 자원을 사용할 수 없음

- 점유와 대기 (Block & Wait) : 한 프로세스가 자원을 점유하고 있으면서 또 다른 자원을 요청하여 대기하고 있는 상태

- 비선점 (Non Preemption) :  한 프로세스가 점유한 자원에 대해 다른 프로세스가 선점할 수 없고 오직 점유한 프로세스만이 해제 가능

- 환형대기 (Circular wait) : 두 개이상의 프로세스간 자원의 점유와 대기가 하나의 원형을 구성한 상태

 

* 교착상태 해결방안

- 예방 (Prevention) : 상호배제를 제외한 나머지 교착 상태 발생조건을 부정하는 방안 - 점유 자원 해제 후 새 자원 요청

- 회피 (Avoidance) : 안전한 상태를 유지할 수 있는 요구만 수락 - Banker's Algorithm, Wait-die, wound-wait

- 발견 (Detection) : 시스템의 상태를 감시 알고리즘 통해 교착상태 검사 - 자원할당 그래프, Wait for Graph

- 회복 (Recovery) :  Deadlock이 없어 질 때까지 프로세스를 순차적으로 Kill하여 제거 - 프로세스 Kill, 자원 섬점

 

* 은행가 알고리즘 : 사용자 프로세스는 사전에 자기작업에 필요한 자원의 수를 제시하고 운영체제가 자원의 상태를 감시, 안정상태일때만                                  자원을 할당하는 교착상태 회피기법

 

4. 커널에 관한 설명

- 운영체제의 핵심 부분으로 응용 프로그램이 동작하기 위한 기본 환경을 제공, 응용프로그램 수행에 필요한 서비스 제공하는 소프트웨어

- 프로세스관리, 메모리관리, 프로세스간 통신

- 마이크로커널과 모놀리딕 커널

=> 사용자의 명령어를 해석한다 => 쉘(Shell)에 대한 설명

 

* 마이크로 커널: 장치 드라이버, 프로토콜 스택, 파일 시스템과 같은 전통적인 OS의 기능들을 사용자 영역에 놓고 하드웨어 추상화                                       를 최소화한 커널

 

* 모놀리딕 커널 : 하드웨어 위에 높은 수준의 가상 계층을 제공하는 커널, 프로세스, 동시성, 메모리 관리, 다수의 애플리케이션 동적 수행

 

* 쉘의 개념

- 사용자가 내린 명령을 운영체제가 수행할 수 있도록 명령을 해석하는 명령어 해석기

- 사용자와 운영체제 사이에 위치하는 프로그램

 

* 쉘의 역할 및 특

- 대화식 사용 : 사용자의 요청을 기다려서 요청 즉시 결과 값을 출력해주는 대화형 구조

- 프로그래밍 : 복합적인 작업을 수행할 수 있도록 일련의 명령어들을 묶어서 사용 (Script)

 

* 쉘의 종류

- LINUX, UNIX : bash/ sh / ksh / csh

- Windows : Explorer.exe / cmd.exe

 

* 운영체제의 개념

- 컴퓨터에서 하드웨어 장치와 소프트웨어 장치 중간에 위치하여 H/W를 직접 제어하고 관리한느 시스템 소프트웨어

 

* 운영체제의 특징

- 프로세스 관리, 주기억장치 관리, 입출력 장치 등 디바이스 관리, 파일 관리, 네트워크 관리

 

5. 링크 스테이트 라우팅 기반 메트릭정보를 한 지역 내 모든 라우터에 변경이 발생했을 때만 보내고, 라우팅 테이블을 구성/계산하는데 다익스트라 알고리즘 사용하는 내부 라우팅 프로토콜은?

- OSPF

 

* 라우팅 프로토콜 : 최종 목적지까지 패킷을 최소 비용 또는 최소 흡수를 알고리즘을 통해 적절한 경로를 설정해주는 프로토콜

 

* RIP (Routing Information Protocol)

- 개념 : AS(Autonomous System) 내에서 사용하는 거리벡터 알고리즘에 기초하여 개발된 내부 라이팅 프로토콜

- 방식 : Bellman-Ford 알고리즘을 사용하는 내부 라우팅 프로토콜

- 특징 : 최대 홉 수 15개로 제한, UDP사용

 

* OSPF (Open Shortest Path First)

- 개념 : RIP의 단점을 개선하기 위해 자신을 기준으로 링크상태 알고리즘 기반으로 최단 경로를 찾는 라우팅 프로토콜

- 방식 : 다익스트라(Dijkstra) 알고리즘 사용하는 내부 라우팅 프로토콜

- 특징 : 최소지연, 최대 처리량, AS를 지역으로 나누어 라우팅을 효과적으로 관리

 

6. 스파게티코드에 대한 설명

- 프로그램의 로직이 복잡하여 이해하기 어려운 프로그램

 

* 외계인 코드 : 아주 오래되거나 참고문서 또는 개발자가 없어 유지보수 작업이 아주 어려운 프로그램

* 클린 코드 : 잘 작성되어 가독성이 높고, 단순하며, 의존성을 주 ㄹ이고, 중복을 최소화 하여 깔끔하게 잘 정리된 코드

* 원시 프로그램 : 사용자가 직접 작성한 프로그램

 

7. 하나의 레코드를 나타내는 행을 의미하는 것은?

- 튜플

 

* 도메인 : 하나의 애트리뷰트가 취할 수 있는 같은 타입의 모든 원자 값 들의 집합

* 애트리뷰트 : 테이블의 열

* 튜플 : 테이블의 행

* 엔티티 : 데이터의 집합, 테이블을 의미

 

8. 네트워크 인터페이스를 거치는 패킷의 내용을 출력해주는 스니핑 도구, 자신의 컴퓨터로 들어오는 모든 패킷의 내용을 도청할 수 있으며 공격자에 대한 추적 및 공격 유형 분석을 위한 패킷 분석 시 활용할 수 있는 도구

- tcpdump

 

* Tripwire : 크래커가 침입하여 시스템에 백도어를 만들어 놓거나 설정 파일을 변경해 놓았을 때 이러한 사실을 알 수 있게 해 주는 도구

* Ping : Ping 명령은 인터넷으로 접속하려는 원격 호스트가 정상적으로 운영되고 있는지를 확인하는 진단 목적으로 사용하는 명령어

* tracert :목적지까지 데이터 도달 여부를 확인하는 도구

* Cron : 특정 시간에 또는 특정 시간 마다 어떤 작업을 자동으로 수행하게 해주고 싶을 때 사용하는 명령어

 

9. 튜플을 유일하게 식별할 수 있는 하나 또는 그 이상의 Attribute 집합, 튜플에 대한 유일성은 만족하나 최소성을 만족하지 못하는 키

- 슈퍼키

 

* 키 : 릴레이션 내에서 튜플을 유일하게 식별할 수 있는 애트리뷰트 집합

* 기본키 : 유일성과 최소성을 만족하는 후보키 중에서 대표성을 지닌 키

* 외래키 : 연관관계가 있는 다른 테이블의 기본키를 참조하는 키

* 슈퍼키 : 튜플에 대한 유일성은 만족하나 최소성을 만족하지 못하는 키

* 대체키 : 후보키 중에서 기본키를 제외한 나머지 후보키

 

10. 일반 프로그램에 악의적인 루틴을 추가하여 그 프로그램을 사용할 때 본래의 기능 이외에 원격 조정, 패스워드 가로채기 등의 악의적인 기능까지 은밀히 수행하는 공격 방식

- Trojan Attack

 

* 웜 (Warm) : 네트워크 연결을 통하여 자신의 복제품을 전파하는 바이러스

* 악성 봇 (Malicious Bot) : 해커의 명령에 의해 원격에서 제어 또는 실행이 가능한 프로그램 , DDoS에 악용되며 좀비 PC 생성

* 트로이 목마 (Trojan) : 정상 파일을 가장, 사용자의 설치를 유도한 후 정보를 해커에게 유출

* 랜섬웨어 (Ransomware) :  컴퓨터의 시스템을 감염시켜 접근을 제한하고 일종의 몸값을 요구하는 악성 소프트웨어

* 키로그 공격 (Key Logger Attack) : 키보드의 움직임을 탐지해 ID나 패스워드, 계좌 번호, 카드 번호 등의 정보를 빼가는 공격