포스트

모의고사 32회

Q. ()은/는 자동차와 정보통신기술을 연결시켜서 양방향 인터넷 및 모바일 서비스 이용이 가능한 차량을 말한다. ()은/는 e-Mail, 동영상, SNS뿐만 아니라, 다른 차량이나 교통 및 통신 기반 시설과 무선으로 연결하여 원격 차량 제어 및 관리, 내비게이션, 위험경고 등의 서비스를 받을 수 있고, 또한 자동차 충전, 운전자 건강 상태 확인, 자율 주행, 혈중 농도 체크 등을 포함한 다양한 서비스가 추가되고 있다. () 안에 공통으로 들어갈 용어를 쓰시오.

커넥티드 카(Connected Car)


Q. 사용자들이 사이트에 접속할 때 주소를 잘못 입력하거나 철자를 빠뜨리는 실수를 이용하기 위해 이와 유사한 도메인을 미리 등록하여 정보를 탈취하는 행위로 URL 하이재킹(Hijacking)이라고도 부르는 보안 공격 관련 용어는 무엇인가?

타이포스쿼팅(Typosquatting)


Q. 파일 처리 유형 중 레코드들을 ‘키(key) 값’ 순으로 정렬시켜 기록하고 레코드의 키 항목 색인을 구성하는 방식으로 순차 처리와 무작위 처리가 모두 가능한 파일 처리 유형은 무엇인가?

색인 순차 파일(Indexed Sequential File)

  • 색인 순차 파일은 레코드들을 ‘키(key) 값’ 순으로 정렬시켜 기록하고 레코드의 키 항목 색인(Index)을 구성하는 방식이다.
  • 색인을 이용한 순차적인 접근 방법을 제공하여 ISAM(Index Sequential Access Method)이라고 한다.
  • 레코드 참조 시 색인 탐색 후 색인이 가리키는 포인터(주소)를 사용하여 직접 참조한다.

Q. 다음은 라우팅 프로토콜에 대한 설명이다. () 안에 들어갈 올바른 용어를 쓰시오.

RIP(Routing Information Protocol), 벨만-포드(Bellman-Ford)

  • ( ① )은/는 AS(Autonomous System; 자치 시스템; 자율 시스템) 내에서 사용하는 거리 벡터 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜이다.
  • ( ① )은/는 거리 벡터 라우팅 기반 메트릭 정보를 인접 라우터와 주기적으로 교환하여 라우팅 테이블을 갱신하고 라우팅 테이블을 구성하고 계산하는 ( ② ) 알고리즘을 사용한다. 또한, 최대 홉 수(Hop Count)를 15개로 제한한다.
  • 라우팅 프로토콜인 RIP 개념과 특징은 다음과 같다.
    • AS(Autonomous System; 자치 시스템; 자율 시스템) 내에서 사용하는 거리 벡터 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜
    • 거리 벡터 라우팅 기반 메트릭 정보를 인접 라우터와 주기적으로 교환하여 라우팅 테이블을 갱신하고, 라우팅 테이블을 구성하고 계산하는 벨만-포드(Bellman-Ford) 아록리즘을 사용하고, 최대 홉수(Hop Count)를 15개로 제한됨

Q. 다음은 급여 테이블이다. 급여가 6000 이상인 직원의 부서와 직책별 합계를 구하는 쿼리를 구하시오.

1
2
3
4
SELECT 부서, 직책, SUM(급여) AS 급여
FROM 급여
WHERE 급여 >= 6000
GROUP BY 부서, 직책;

[급여]

이름직책부서급여
서주현사원마케팅5000
김태연대리전산10200
김효연과장회계8500
권유리과장인재개발8100
이순규대리회계6300
  • 집계 함수 중 복수 행의 컬럼 간 합계를 계산하는 함수인 SUM을 사용한다.

Q. 다음은 자바 코드이다. 밑줄 친 곳에 들어갈 알맞은 키워드를 쓰시오.

extends

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
abstract class Animal {
	abstract void show();
}

class Dog ___ Animal {
	void show() {
		System.out.print("dog");
	}
}
public class Soojebi {
	public static void main(String[] args) {
		Dog d = new Dog();
		d.show();
	}
}
  • 추상 클래스는 extends 키워드를 이용하여 상속받아 메서드를 구현한다.
  • 추상 클래스인 Animal 클래스와 구현 클래스인 Dog 클래스는 extends 키워드를 이용하여 상속을 받아 메서드를 구현한다.

Q. LoC가 20,000라인이고, 개발자가 10명이며, 개발자는 월평균 100라인을 개발한다고 할 때 Man Month를 구하시오.

200 Man Month

  • 개발 기간이 아닌 Man Month를 구해야 하므로, (LoC)/(프로그래머 월간 생산성)으로 계산한다.
  • (Man Month) = (LoC)(프로그래머 월간 생산성) = 20,000/100 =200
  • (프로젝트 기간) = (Man Month)/(프로젝트 인력)

Q. 회복 기법 중 장애 발생 시 검사점 이후에 처리된 트랜잭션에 대해서만 장애 발생 이전의 상태로 복원시키는 회복 기법은 무엇인지 쓰시오.

체크 포인트(검사점) 기법

  • 회복 기법 종류는 다음과 같다. [회로체그]
    • 로그 기반 회복 기법
      • 즉각 갱신 회복 기법(Immediate Update)
        • 트랜잭션 수행 중 갱신 결과를 바로 DB에 반영하는 기법
      • 지연 갱신 회복 기법(Deffered Update)
        • 트랜잭션이 완료되기 전까지 데이터베이스에 기록하지 않는 기법
    • 체크 포인트 회복 기법(Checkpoint Recovery)
      • 장애 발생 시 검사점 이후에 처리된 트랜잭션에 대해서만 장애 발생 이전의 상태로 복원시키는 회복 기법
    • 그림자 페이징 회복 기법(Shadow Paging Recovery)
      • 데이터베이스 트랜잭션 수행 시 복제본을 생성하여 데이터 베이스 장애 시 이를 이용해 복구하는 기법

Q. 다음에 해당하는 암호화 알고리즘을 쓰시오.

AES, SEED

  • ( ① ): 고급 암호화 표준이라고 불리는 암호 알고리즘이며 블록 크기는 128bit이며, 키 길이에 따라 128비트, 192비트, 256비트로 분류할 수 있고, 암호화와 복호화 과정에서 동일한 키를 사용하는 대칭 키 알고리즘이다.
  • ( ② ): KISA, ETRI에서 개발하고 TTA에서 인증한 안전성, 신뢰성이 우수한 고속 블록 단위의 128비트 대칭 키 암호화 알고리즘이다.
  • AES와 SEED는 대칭 키 암호화 알고리즘이다.
  • 대칭 키 암호화 알고리즘은 다음과 같다.
    • DES(Data Encryption Standard)
      • 1975년 미국의 연방 표준국(NIST)에서 발표한 대칭 키 기반의 블록 암호화 알고리즘
      • 블록 크기는 64bit, 키 길이는 56bit인 페이스텔(Feistel) 구조
      • DES를 3번 적용하여 보안을 더욱 강화한 3 DES(Triple DES)도 활용됨
    • SEED
      • 1999년 국내 한국인터넷진흥원(KISA)이 개발한 블록 암호화 알고리즘
      • 128bit 비밀키로부터 생성된 16개의 라운드 키를 사용하여 총 16회의 라운드를 거쳐 128bit의 평문 블록을 128bit 암호화블록으로 암호화하여 출력하는 방식
      • 블록 크기는 128bit이며, 키 길이에 따라 128bit, 256bit로 분류
    • AES(Advanced Encryption Standard)
      • 2001년 미국 표준 기술 연구소(NIST)에서 발표한 블록 암호화 알고리즘
      • DES의 개인 키에 대한 전사적 공격이 가능해지고, 3 DES의 성능 문제를 극복하기 위해 개발
      • 블록 크기는 128bit이며, 키 길이에 따라 128bit, 192bit, 256bit로 분류
      • AES의 라운드 수는 10, 12, 14라운드로 분류되며, 한 라운드는 SubBytes, ShiftRows, MixColumns, AddRoundKey의 4가지 계층으로 구성
    • ARIA(Academy, Research Institute, Agency)
      • 2004년 국가정보원과 산학연구협회가 개발한 블록 암호화 알고리즘
      • ARIA는 학계(Academy), 연구기관(Research Institute), 정부(Agency)의 영문 앞글자로 구성
      • 블록 크기는 128bit이며, 키 길이에 따라 128bit, 192bit, 256bit로 분류
      • ARIA는 경량 환경 및 하드웨어에서의 효율성 향상을 위해 개발되었으며, ARIA가 사용하는 대부분의 연산은 XOR과 같은 단순한 바이트 단위 연산으로 구성
    • IDEA(International Data Encryption Algorithm)
      • DES를 대체하기 위해 스위스 연방기술 기관에서 개발한 블록 암호화 알고리즘
      • 128bit의 키를 사용하여 64bit의 평문을 8라운드에 거쳐 64bit의 암호문을 만듦
    • LFSR(Linear Feedback Shift Register)
      • 선형 되먹임 시프트 레지스터(LFSR)는 시프트 레지스터의 일종으로, 레지스터에 입력되는 값이 이전 상태 값들의 선형 함수로 계산되는 구조로 되어 있는 스트림 암호화 알고리즘
      • 이때 사용되는 선형 함수는 주로 배타적 논리합(XOR)이고, LFSR의 초기 비트 값은 시드(Seed)라고 함

Q. 다음은 [직원] 테이블이다. ‘데니스리치’와 ‘리누스토발즈’의 사번, 부서명을 검색하는 SQL 문을 IN 키워드를 사용하여 작성하시오.

1
2
3
SELECT 사번, 부서명
FROM 직원
WHERE 이름 IN ('데니스리치', '리누스토발즈');

[직원]

사번이름부서명
001벨만포드마케팅부
002다익스트라영업부
003데니스리치인사부
004리누스토발즈총무부
  • IN 문법은 다음고 같다.

    1
    
      컬럼 IN (1, 2)
    

Q. 시나리오 플래닝(Scenario Planning)에 대해서 서술하시오.

시나리오 플래닝은 불확실성이 높은 상황 변화를 사전에 예측하고 다양한 시나리오를 설계하는 방법으로 불확실성을 제거해나가려는 경영 전략이다.

  • 시나리오 플래닝은 UI 개발을 위한 주요 기법으로 활용된다.
    • 3C 분석
      • 고객(Customer), 경쟁하고 있는 자사(Company), 경쟁사(Competitor)를 비교하고 분석하여 자사를 어떻게 차별화해서 경쟁해서 이길 것인가를 분석하는 기법
    • SWOT 분석
      • 기업의 내부 환경과 외부 환경을 분석하여 Strength(강점), Weakness(약점), Opportunity(기회), Threat(위협) 요인을 규정하고 이를 토대로 경영 전략을 수립하는 방법
    • 시나리오 플래닝(Scenario Planning)
      • 불확실성이 높은 상황 변화를 사전에 예측하고 다양한 시나리오를 설계하는 방법으로 불확실성을 제거해 나가려는 방법
    • 워크숍(Workshop)
      • 소집단 정도의 인원으로 특정 문제나 과제에 대한 새로운 지식, 기술, 아이디어, 방법들을 서로 교환하고 검토하는 연구회 및 세미나

Q. 다음에서 설명하는 데이터베이스 기법을 쓰시오.

반정규화(De-Normalization)

정규화된 엔터티, 속성, 관계에 대해 성능 향상과 개발 운영의 단순화를 위해 중복, 통합, 분리 등을 수행하는 데이터 모델링 기법

  • 반정규화는 비정규화, 역정규화라고도 불린다.
  • 반정규화의 주요 기법은 다음과 같다.

    수행방법설명
    테이블 병합1:1 관계, 1:M 관계를 통합하여 조인 횟수를줄여 성능을 향상
    테이블 분할테이블을 수직 또는 수평으로 분할하는 것으로 파티셔닝이라고 함
    중복 테이블 추가대량의 데이터들에 대한 집계 함수(GROUP BY, SUM 등)를 사용하여 실시간 통계정보를 계산하는 경우에 효과적인 수행을 위해 별도의 통계 테이블을 두거나 중복 테이블을 추가
    컬럼 중복화(중복 속성 추가)조인 성능 향상을 위해 중복 허용
    중복 관계 추가데이터를 처리하기 위한 여러 경로를 거쳐 조인이 가능하지만, 이때 발생할 수 있는 성능 저하를 예방하기 위해 추가적 관계를 맺는 방법
  • 반정규화 (Denormalization)
    • 반정규화는 시스템의 성능을 향상하고 개발 및 운영의 편의성 등을 높이기 위해 정규화된 데이터 모델의도적으로 통합, 중복, 분리하여 정규화 원칙을 위배하는 행위
    • 반정규화를 수행하면 시스템의 성능이 향상되고 관리 효율성은 증가하지만 데이터의 일관성 및 정합성이 저하될 수 있음
    • 과도한 반정규화는 오히려 성능을 저하시킬 수 있음
    • 반정규화의 방법
      • 테이블 통합
      • 테이블 분할
      • 중복 테이블 추가
      • 중복 속성 추가
  • 테이블 통합
    • 테이블 통합은 두 개의 테이블이 조인(Join)되어 사용되는 경우가 많을 경우 성능 향상을 위해 아예 하나의 테이블로 만들어 사용하는 것
    • 테이블 통합을 고려하는 경우
      • 두 개의 테이블에서 발생하는 프로세스가 동일하게 자주 처리되는 경우
      • 항상 두 개의 테이블을 이용하여 조회를 수행하는 경우
    • 테이블 통합의 종류
      • 1:1 관계 테이블 통합
      • 1:N 관계 테이블 통합
      • 슈퍼타입/서브타입 테이블 통합
  • 테이블 분할
    • 테이블 분할은 테이블을 수직 또는 수평으로 분할하는 것
      • 수평 분할
        • 레코드(Record)를 기준으로 테이블을 분할하는 것
        • 레코드별로 사용 빈도의 차이가 큰 경우 사용 빈도에 따라 테이블을 분할함
      • 수직 분할
        • 하나의 테이블에 속성이 너무 많을 경우 속성을 기준으로 테이블을 분할하는 것
        • 종류: 갱신 위주의 속성 분할, 자주 조회되는 속성 분할, 크기가 속성 분할, 보안을 적용해야 하는 속성 분할
  • 중복 테이블 추가
    • 중복 테이블 추가는 작업의 효율성을 향상시키기 위해 테이블을 추가하는 것
    • 중복 테이블을 추가하는 경우
      • 여러 테이블에서 데이터를 추출해서 사용해야 할 경우
        • 그 데이터들을 따로 테이블로 추가
      • 다른 서버에 저장된 테이블을 이용해야 하는 경우
        • 중복 테이블로 미리 만들어 놓으면 다른 서버에 찾아가서 테이블을 가지고 오지 않아도 됨
    • 중복 테이블 추가 방법
      • 집계 테이블의 추가
        • 집계 데이터를 위한 테이블을 생성하고, 각 원본 테이블에 트리거(Trigger)를 설정하여 사용하는 것
          • 트리거: 데이트 갱신, 입력, 삭제 이벤트 발생할 때마다 자동으로 수행되는 절차형 SQL
      • 진행 테이블의 추가
        • 이력 관리 등의 목적으로 추가하는 테이블
          • 이력 관리: 값이 변경될 때마다 변경되기 전 그 속성값을 저장
      • 특정 부분만을 포함하는 테이블의 추가
        • 데이터가 많은 테이블의 특정 부분만을 사용하는 경우 해당 부분만으로 새로운 테이블을 생성
  • 중복 속성 추가
    • 중복 속성 추가는 조인해서 데이터를 처리할 때 데이터를 조회하는 경로를 단축하기 위해 자주 사용하는 속성을 하나 더 추가하는 것
    • 중복 속성을 추가하면 데이터의 무결성 확보어렵고, 디스크 공간이 추가로 필요함
    • 중복 속성을 추가하는 경우
      • 조인이 자주 발생하는 속성인 경우
      • 접근 경로가 복잡한 속성인 경우
      • 액세스의 조건으로 자주 사용되는 속성인 경우
      • 기본키의 형태가 적절하지 않거나 여러 개의 속성으로 구성된 경우

Q. 연계 방식 중 ESB(Enterprise Service Bus) 개념은 무엇인지 서술하시오.

ESB는 기업에서 운영되는 서로 다른 플랫폼 및 애플리케이션 간을 하나의 시스템으로 관리 운영할 수 있도록 서비스 중심의 통합을 지향하는 기술이다.


Q. 다음 [점수] 테이블에서 [쿼리]를 수행한 결과를 쓰시오.

0, 30, 40

[점수]

이름국어영어수학
임꺽정NULLNULL80
장길산NULL20NULL
홍길동NULL4040

[쿼리]

1
2
SELECT COUNT(국어), AVG(영어), MIN(수학)
FROM 점수;

[결과]

COUNT(국어)AVG(영어)MIN(수학)
  • 집계 함수는 NULL인 값은 제외하고 계산한다.

Q. 다음은 네트워크 가상화 관련 용어에 대한 설명이다. () 안에 들어갈 용어를 쓰시오.

SDN(Software Denied Network), NFV(Network Function Virtualization, 네트워크 기능 가상화)

( ① )은/는 개방형 API(오픈플로우) 기반으로 네트워크 장비의 트래픽 경로를 지정하는 컨트롤 플레인(Control Plane)과 트래픽 전송을 수행하는 데이터 플레인(Data Plane)을 분리하여 네트워크 트래픽을 중앙 집중적으로 관리하는 기술이고, ( ② )은/는 범용 하드웨어(서버/스토리지/스위치)에 가상화 기술을 적용하여 네트워크 기능을 가상 기능(Function)으로 모듈화하여 필요한 곳에 제공(스위치, 라우터 등)하는 기술이다.

  • 네트워크 가상화 관련 기술은 다음과 같다.
    • SDN(Software Defined Network)
      • 개방형 API(오픈플로우) 기반으로 네트워크 장비의 트래픽 경로를 지정하는 컨트롤 플레인(Control Plane)과 트래픽 전송을 수행하는 데이터 플레인(Data Plane)을 분리하여 네트워크 트래픽을 중앙 집중적으로 관리하는 기술
    • NFV(Network Function Virtualization)
      • 범용 하드웨어(서버/스토리지/스위치)에 가상화 기술을 적용하여 네트워크 기능을 가상 기능(Function)으로 모듈화하여 필요한 곳에 제공(스위치, 라우터 등)하는 기술
  • SDN(Software Defined Network)이란 소프트웨어를 통해 네트워크 리소스를 가상화하고 추상화하는 네트워크 인프라에 대한 접근 방식을 의미한다. 조금 더 쉽게 설명하자면, 소프트웨어 애플리케이션과 API를 이용하여 네트워크를 프로그래밍하고, 중앙에서 전체 네트워크를 제어하고 관리하는 것이다.
  • SDN에서 가장 핵심은 네트워크 장비의 Control Plane(제어부)와 Data Plane(전송부)의 분리이다. 제어부를 별도의 컴퓨팅 서버로 분리하고, 네트워크 장비는 데이터 전송 기능만 담당하도록 하는 것이다.

Q. 최근 보안 공격이 기승을 부르고 있다. 특히 패스워드 크래킹 기법이 급격히 증가되고 있다. 시스템 또는 서비스 ID와 패스워드가 될 가능성이 있는 단어를 파일로 만들어 놓고 이 파일의 단어를 대입하여 크랙하는 공격 기법인 ( ① )와/과 패스워드로 사용될 수 있는 영문자(대소문자), 숫자, 특수문자 등을 무작위로 패스워드 자리에 대입하여 패스워드를 알아내는 공격 기법인 ( ② )이/가 증가되고 있다. 또한, 기업 내부망에 침투하여 정보를 탈취하는 기법인 ( ③ ) 공격기법도 지속적으로 증가하는 추세이다. ( ③ )공격 기법은 공격자가 특정 호스트의 MAC 주소를 자신의 MAC 주소로 위조한 ARP Reply를 만들어 희생자에게 지속적으로 전송하여 희생자의 ARP Cache table에 특정 호스트의 MAC 정보를 공격자의 MAC 정보로 변경, 희생자로부터 특정 호스트로 나가는 패킷을 공격자가 스니핑하는 기법이다. () 안에 들어갈 용어를 쓰시오.

사전 대입 공격(Dictionary Attack), 무차별 대입 공격(Brute Force Attack), ARP Spoofing(ARP 스푸핑)

  • 네트워크 서비스 공격 기법 중 사전 대입 공격, 무차별 대입 공격, ARP 스푸핑은 다음과 같다.
    • 사전(Dictionary) 크래킹
      • 시스템 또는 서비스의 ID와 패스워드를 크랙하기 위해서 ID와 패스워드가 될 가능성이 있는 단어를 파일로 만들어 놓고 이 파일의 단어를 대입하여 크랙하는 공격 기법
    • 무차별(Brute Force) 크래킹
      • 패스워드로 사용될 수 있는 영문자(대소문자), 숫자, 특수문자 등을 무작위로 패스워드 자리에 대입하여 패스워드를 알아내는 기법
    • ARP 스푸핑(ARP Spoofing)
      • 공격자가 특정 호스트의 MAC 주소를 자신의 MAC 주소로 위조한 ARP Reply를 만들어 희생자에게 지속적으로 전송하여 희생자의 ARP Cache table에 특정 호스트의 MAC 정보를 공격자의 MAC 정보로 변경, 희생자로부터 특정 호스트로 나가는 패킷을 공격자가 스니핑하는 기법

Q. APM 프로세서(CPU)에 탑재된 하드웨어 보안 기술로 하나의 프로세서 내에 일반 구역과 보안 구역을 분할하여 기밀성(Confidentiality)과 보안을 강화시킨 하드웨어 기반 보안 기술을 무엇이라고 하는가?

트러스트 존(TrustZone)

  • 트러스트 존(TrustZone)은 ARM 프로세서(CPU)에 탑재된 하드웨어 보안 기술로 하나의 프로세서 내에 일반 구역과 보안 구역을 분할하여 기밀성(Confidentiality)과 보안을 강화시킨 하드웨어 기반 보안 기술이다.


참고 자료


https://suyeon96.tistory.com/48 - SDN

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.