1. 소프트웨어 설계

19. 입력되는 데이터를 컴퓨터의 프로세서가 처리하기 전에 미리 처리하여 프로세서가 처리하는 시간을 줄여주는 프로그램이나 하드웨어를 말하는 것은?

  •  
  • EAI(Enterprise Architecture Integration)
  •  FEP(Front End Processor)
  •  GPL
  •  Duplexing

5. 상향식 설계: 인터페이스의 구조를 먼저 결정하지 않아 기능 추가가 하향식 설계에 비해 어려움

6. 자료흐름도(DFD): Data Store - 평행선

9. 다음 내용이 설명하는 UI설계 도구: 목업(Mockup)

- 디자인, 사용방법설명, 평가 등을 위해 실제 화면과 유사하게 만든 정적인 형태의 모형
- 시각적으로만 구성 요소를 배치하는 것으로 일반적으로 실제로 구현되지는 않음

 

15. 아키텍처 설계과정: ㉮ → ㉯ → ㉰ → ㉱ → ㉲

㉮ 설계 목표 설정
㉯ 시스템 타입 결정
㉰ 스타일 적용 및 커스터마이즈
㉱ 서브시스템의 기능, 인터페이스 동작 작성
㉲ 아키텍처 설계 검토

2. 소프트웨어 개발

22. 단위 테스트에서 테스트의 대상이 되는 하위 모듈을 호출하고, 파라미터를 전달하는 가상의 모듈로 상향식 테스트에 필요한 것은?

  •  테스트 스텁(Test Stub)
  •  테스트 드라이버(Test Driver)
  •  테스트 슈트(Test Suites)
  •  테스트 케이스(Test Case)
    • 하향식: 스텁 / 상향식: 드라이버

27. 소프트웨어 재공학의 주요 활동 중 기존 소프트웨어 시스템을 새로운 기술 또는 하드웨어 환경에서 사용할 수 있도록 변환하는 작업을 의미하는 것은?

  •  Analysis
  •  Migration
  •  Restructuring
  •  Reverse Engineering
    • - Analysis: 기존 소프트웨어를 분석하여 재공학 대상을 선정
    • - Migration: 기존 소프트웨어를 다른 운영체제나 하드웨어 환경에서 사용할 수 있도록 변환
    • - Restructuring: 기존 소프트웨어를 향상시키기 위하여 코드를 재구성하는 작업
    • - Reverse Enginnering: 기존 소프트웨어를 분석하여 소스코드를 얻어내는 작업

36. 분할 정복(Divide and Conquer)에 기반한 알고리즘으로 피벗(pivot)을 사용하며 최악의 경우 n(n-1)/2 회의 비교를 수행해야 하는 정렬(Sort)은?

  •  
  •  Selection Sort
  •  Bubble Sort
  •  Insert Sort
  •  Quick Sort
    • - 선택정렬: 제일 작은 것 찾아 앞으로 배열, n^2
    • - 버블정렬: 앞의 데이터와 뒤의 데이터 비교해 순서 맞을때까지 정렬, n(n-1)/2
    • - 삽입정렬: 원래 배치된 순서대로 앞의 것과 비교해 하나씩 정렬
    • - 퀵정렬: 피벗값 기준 양쪽으로 잘라 배열, 완성될때까지 반복

37. 화이트 박스 검사 기법에 해당하는 것으로만 짝지어진 것은?

㉠ 데이터 흐름 검사
㉡ 루프 검사
㉢ 동등 분할 검사
㉣ 경계값 분석
㉤ 원인 결과 그래프 기법
㉥ 오류 예측 기법
    •  ㉠, ㉡
    •  ㉠, ㉣
    •  ㉡, ㉤
    •  ㉢, ㉥
      • 화이트박스 테스트 종류(조루흐기): 건 검사 / 프 검사 / 데이터 름 검사 / 초 경로 검사
  •  

29. 소프트웨어 패키징: 사용자 중심으로 진행

38. ISO/IEC 25000: 250[0, 1, 2, 3, 4]n - [리, 델, 정, 구, 가]

39. 코드 인스펙션: 정적 테스트 기법


3. 데이터베이스 구축

46. 관계해석에서 '모든 것에 대하여'의 의미를 나타내는 논리 기호는?

  •  ∃
  •  ∈
  •  
    •  : 어떤 튜플 하나로도 존재
    • ∀: 모든 것에 대하여(for all)

51. CREATE TABLE문에 포함되지 않는 기능은?

  •  속성 타입 변경
  •  속성의 NOT NULL 여부 지정
  •  기본키를 구성하는 속성 지정
  •  CHECK 제약조건의 정의

58. 분산 데이터베이스 시스템(Distributed Database System)에 대한 설명으로 틀린 것은?

  •  분산 데이터베이스는 논리적으로는 하나의 시스템에 속하지만 물리적으로는 여러 개의 컴퓨터 사이트에 분산되어 있다.
  •  위치 투명성, 중복 투명성, 병행 투명성, 장애 투명성을 목표로 한다.
  •  데이터베이스의 설계가 비교적 어렵고, 개발 비용과 처리 비용이 증가한다는 단점이 있다.
  • 분산 데이터베이스 시스템의 주요 구성 요소는 분산 처리기, P2P 시스템, 단일 데이터베이스 등이 있다.
    • - 분산 데이터베이스의 구성요소: 분산 처리기, 분산 데이터베이스, 통신 네트워크
    • - 단일 데이터베이스의 구성요소: P2P 시스템, 단일 데이터베이스

4. 프로그래밍 언어 활용

62. 다음 C언어 프로그램이 실행되었을 때, 실행 결과는?

#include<stdio.h>
#include<stdlib.h>
int main(int argc, char *argv[]) {
    int arr[2][3]={1,2,3,4,5,6};
    int (*p)[3]=NULL;
    p=arr;
    printf("%d, ", *(p[0]+1)+*(p[1]+2));
    printf("%d", *(*(p+1)+0)+*(*(p+1)+1));
    return 0;
}
  •  7, 5
  •  8, 5
  •  8, 9
  •  7, 9
    • - printf("%d, ", *(p[0]+1)+*(p[1]+2))  arr[0][1] + arr[1][2]  
    • - printf("%d", *(*(p+1)+0)+*(*(p+1)+1)) → arr[1][0] + arr[1][1]  

69. 다음과 같은 형태로 임계 구역의 접근을 제어하는 상호배제 기법은?

P(S) : while S<=0 do skip;
S :=S-1V(S) : S :=S+1
  •  Dekker Algorithm
  •  Lamport Algorithm
  •  Peterson Algorithm
  •  Semaphore
    • - 데커의 알고리즘: 2개의 프로세스간 상호 배제를 보장하는 최초의 알고리즘, flag, turn 변수 사용  
    • - 램퍼드 알고리즘: n개의 프로세스간 상호 배제 문제를 해결, 프로세스에게 고유한 번호를 부여하고 번호를 기준으로 우선순위를 정함, 우선순위가 높은 프로세스가 먼저 임계 구역에 진입하도록 구현
    • - 피터슨 알고리즘: 2개의 프로세스간의 상호 배제를 보장, 상대방에게 진입 기회를 양보하고 더 간단하게 구현
    • - 세마포어: 공유된 자원의 데이터 혹은 임계영역 등에 따라 여러 Process 혹은 Thread가 접근하는 것을 막아줌  

63. 데이터링크 계층 프로토콜: HDLC, PPP, LLC

      응용 계층 프로토콜: HTTP

74. 개발 환경 구성을 위한 빌드(Build) 도구 : Ant, Maven, Gradle

      대칭키 암호화 방식: Kerberos


5. 정보시스템 구축관리

82. 정보시스템과 관련한 다음 설명에 해당하는 것은?

- 각 시스템 간에 공유 디스크를 중심으로 클러스터링으로 엮여 다수의 시스템을 동시에 연결할 수 있다.
- 조직, 기업의 기간 업무 서버 등의 안정성을 높이기 위해 사용될 수 있다.
- 여러 가지 방식으로 구현되며 2개의 서버를 연결하는 것으로 2개의 시스템이 각각 업무를 수행하도록 구현하는 방식이 널리 사용된다.
  •  고가용성 솔루션(HACMP)
  •  점대점 연결 방식(Point-to-Point Mode)
  •  스턱스넷(Stuxnet)
  •  루팅(Rooting)

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

  •  Parsing
  •  LAN Tapping
  •  Switch Jamming
  •  FTP Flooding
네트워크 보안 해킹 기법 참고 용어 (스니스푸스머 / 파도디도 / 재밍 SQ 무작위)
스니핑
sniffing
'코를 킁킁거리다', '냄새를 맡다' 등의 뜻이 있는 단어.
네트워크 상에서 자신이 아닌 다른 상대의 패킷 교환을 엿듣는 것을 의미한다. 
스푸핑
spoofing
승인받은 사용자인 것처럼 시스템에 접근
→ 네트워크 상에서 허가된 주소로 가장, 접근 제어를 우회하는 공격 행위.
이는 의도적인 행위를 위해 타인의 신분으로 위장하는 것
→매체 접근 제어 주소, 인터넷 프로토콜 주소, 전자우편 주소 등을 이용한다
스머핑
smurfing
고성능 컴퓨터를 이용하여 초당 엄청난 양의 접속 신호를 한 사이트에 집중적으로 보냄
→(여기에 당한) 상대 컴퓨터의 서버를 접속 불가능으로 만들어버리는 해킹 수법
파밍
pharming
합법적으로 소유하고 있던 사용자의 도메인을 탈취
DNS 또는 프록시 서버의 주소를 변조
→ 사용자들로 하여금 진짜 사이트로 오인하여 접속하도록 유도한 뒤 '개인정보 훔치기' (신종 컴퓨터 범죄 수법)
도스
Dos,
Denial of Service attack
서비스 거부 공격
시스템을 악의적으로 공격
→(이를 통해) 해당 시스템의 자원을 고갈
→ 해당 시스템의 자원을 고갈, 원래 의도된 용도로 사용하지 못하게 하는 공격이다. 
 
디도스
DDos, 
Distributed Dos
DDos, Distributed Dos
도스의 또 다른 형태
여러 대의 공격자를 분산 배치, 동시에 동작하게 함
→ 특정 사이트의 정상적인 기능을 방해하는 것 / 특정 사이트를 공격하는 기법
 
네트워크 보안 관련 용어
PET         개인정보 위험관리 기술을 가리키는 용어. 
개인정보 침해위험을 관리하기 위한 핵심 기술.
암호화, 익명화 등 개인정보를 보호하는 기술~사용자가 직접 개인정보를 통제하기 위한 기술까지 
다양한 사용자 프라이버시 보호기술을 통칭함

 

84. 다음 내용이 설명하는 스토리지 시스템은?
- 하드디스크와 같은 데이터 저장장치를 호스트 버스 어댑터에 직접 연결하는 방식
- 저장장치와 호스트 기기 사이에 네트워크 디바이스 없이 직접 연결하는 방식으로 구성
  •  DAS
  •  NAS
  •  BSA
  •  NFC

87. 블루투스(Bluetooth) 공격과 해당 공격에 대한 설명이 올바르게 연결된 것은?

  •  블루버그(BlueBug) - 블루투스의 취약점을 활용하여 장비의 파일에 접근하는 공격으로 OPP를 사용하여 정보를 열람
  •  블루스나프(BlueSnarf) - 블루투스를 이용해 스팸처럼 명함을 익명으로 퍼뜨리는 것
  •  블루프린팅(BluePrinting) - 블루투스 공격 장치의 검색 활동을 의미
  •  블루재킹(BlueJacking) - 블루투스 장비사이의 취약한 연결 관리를 악용한 공격
    • - 블루버그: 블루투스 장비사이의 취약한 연결 관리를 악용한 공격
    • - 블루스나프(블루스나핑): 블루투스의 취약점을 활용하여 장비의 파일에 접근하는 공격으로 OPP를 사용하여 정보를 열람
    • - 블루재킹: 블루투스를 이용해 스팸처럼 명함을 익명으로 퍼뜨리는 것

88. DoS(Denial of Service) 공격과 관련한 내용으로 틀린 것은?

  •  Ping of Death 공격은 정상 크기보다 큰 ICMP 패킷을 작은 조각(Fragment)으로 쪼개어 공격 대상이 조각화 된 패킷을 처리하게 만드는 공격 방법이다.
  •  Smurf 공격은 멀티캐스트(Multicast)를 활용하여 공격 대상이 네트워크의 임의의 시스템에 패킷을 보내게 만드는 공격이다.
  •  SYN Flooding은 존재하지 않는 클라이언트가 서버별로 한정된 접속 가능 공간에 접속한 것처럼 속여 다른 사용자가 서비스를 이용하지 못하게 하는 것이다.
  •  Land 공격은 패킷 전송 시 출발지 IP주소와 목적지 IP주소 값을 똑같이 만들어서 공격 대상에게 보내는 공격 방법이다.
    • - Smurf 공격: 브로드캐스트(Boradcast)를 활용

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

- 1990년대 David Clock이 처음 제안하였다.
- 비정상적인 접근의 탐지를 위해 의도적으로 설치해 둔 시스템이다.
- 침입자를 속여 실제 공격당하는 것처럼 보여줌으로써 크래커를 추적 및 공격기법의 정보를 수집하는 역할을 한다.
- 쉽게 공격자에게 노출되어야 하며 쉽게 공격이 가능한 것처럼 취약해 보여야 한다.
  •  Apache
  •  Hadoop
  •  Honeypot
  •  MapReduce

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

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

92. Python 기반의 웹 크롤링(Web Crawling) 프레임워크로 옳은 것은?

  •  Li-fi
  •  Scrapy
  •  CrawlCat
  •  SBAS

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

  •  SQL 삽입 : 사용자의 입력 값 등 외부 입력 값이 SQL 쿼리에 삽입되어 공격
  •  크로스사이트 스크립트 : 검증되지 않은 외부 입력 값에 의해 브라우저에서 악의적인 코드가 실행
  •  운영체제 명령어 삽입 : 운영체제 명령어 파라미터 입력 값이 적절한 사전검증을 거치지 않고 사용되어 공격자가 운영체제 명령어를 조작
  •  자원 삽입 : 사용자가 내부 입력 값을 통해 시스템 내에 사용이 불가능한 자원을 지속적으로 입력함으로써 시스템에 과부하 발생
    • - 자원 삽입: 자원을 조작할 수 있는 문자열을 삽입해서 시스템이 보호하는 자원에 접근하도록 하는 취약점

94. Windows 파일 시스템인 FAT와 비교했을 때의 NTFS의 특징이 아닌 것은?

  •  보안에 취약
  •  대용량 볼륨에 효율적
  •  자동 압축 및 안정성
  •  저용량 볼륨에서의 속도 저하
    • - FAT: 호완성, 보안 취약, 단순 저용량 볼륨에 효과적
    • - NTFS: 보안 좋음, 대용량 볼륨에 효과적
97. 다음 내용이 설명하는 로그 파일은?
- 리눅스 시스템에서 사용자의 성공한 로그인/로그아웃 정보 기록
- 시스템의 종료/시작 시간 기록
  •  tapping
  •  xtslog
  •  linuxer
  •  wtmp
    • - utmp: 사용자 정보
    • - wtmp: 성공한 로그인/로그아웃 기록
    • - btmp: 실패한 로그인 기록
    • - last log: 마지막 로그인 기록
    •  

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

  • PLCP(Packet Level Control Processor)
  •  Traffic Distributor
  •  Packet Tree
  •  DPI(Deep Packet Inspection)

95. DES: 64비트의 암호화 알고리즘

96. 리눅스에서 생성된 파일 권한이 644일 경우 umask 값: 022