본문 바로가기
기타

2022 정보처리기사 실기 요약

by kdozlo 2023. 4. 22.

관계 대수

  - 일반 집합 연산자

       합집합 :

       교집합 :

       차집합 : -

       카티션 프로덕트 : X

 

 - 순수 관계 연산자

      select : δ

      프로젝트 : π

      조인 :

      division : ÷

 

디자인 패턴

 - Bridge

  구현과 추상화 독립적 변경 필요할때 사용 

  기능 처리 클래스, 구현 담당 추상 클래스로 구별

  기존 시스템에 부수적인 새로운 기능들을 지속적으로 추가할 때 사용하면 유용

  새로운 인터페이스 정의하면 기존 프로그램의 변경 없이 기능 확장 가능

 

 - Observer

  한 객체의 상태가 변하면 객체에 상속되어 있는 다른 객체들에게 변화된 상태를 전달해주는 패턴

  일대다 관계

  분산된 시스템 간에 이벤트를 생성/발행 하고, 이를 수신해야 할 때 이용

 

문제

192.168.1.0/24인 네트워크를 FLSM 4개로 분할하였다. 두번째 네트워크 브로드캐스드 IP를 10진수로 변환한 값을 작성하시오.

4개 분할(2^2) => 0 ~ 63 / 64 ~ 127 / 128 ~ 191 / 192 ~ 255

=> 두번째의 브로드캐스트(= 전부 1)이므로 127

답 : 192.168.1.127

 

 

경계값 분석

경계부분에 해당되는 입력값에서 결함이 발견될 확률이 높다는 특성을 이용한 소프트웨어 테스트 기법

 

사회공학

컴퓨터 보안에서 인간 상호 작용의 깊은 신뢰를 바탕으로 사람들을 속여, 정상 보안 절차를 깨뜨리고 비기술적인 수단으로 정보를 얻는 행위

 

다크 데이터

빅데이터(Big Data)와 비슷하면서도 구조화돼 있지 않고, 더는 사용하지 않는 ‘죽은’ 데이터를 의미한다. 일반적으로 정보를 수집해 저장한 이후 분석이나 특별한 목적을 위해 활용하는 데이터가 아니며,  저장공간만 차지하고 이러한 이유로 심각한 보안 위험을 초래할 수 있다.

 

SIEM(Security Information & Event Management)

- SIM(보안 정보 관리)과 SEM(보안 이벤트 관리)의 기능을 하나의 보안 관리 시스템으로 통합한 솔루션

- 머신러닝 기술을 이용하여 IT 시스템에서 발생하는 대량의 로그를 통합관리 및 분석하여 사전에 위협에 대응하는 보안 솔루션이다. 서로 다른 기종의 보안솔루션 로그 및 이벤트를 중앙에서 통합 수집하여 분석할 수 있으며, 네트워크 상태의 monitoring 및 이상징후를 미리 감지할 수 있다.

- ESM의 진화된 형태로 볼 수 있으며 네트워크 하드웨어 및 응용 프로그램에 의해 생성 된 보안 경고의 실시간 분석을 제공한다.

 

ESM (Enterprise Security Management)

방화벽, 침입 탐지 시스템, 침입 방지 시스템 등 각종 보안 시스템의 로그들을 모아 한곳에서 통합 관리를 할 수 있게 해주는 시스템

 

형상 관리 도구

- 프트웨어 개발 프로세스 각 단계에서 소프트웨어의 변경점을 체계적으로 관리하는 일련의 활동

- CVS, SVN, Git

 

완전수

 - 자기 자신을 제외한 약수의 합이 자기 자신과 같은 수

ex) 6, 28, 496 ...

int n;
int k;
int s;
int el = 0;
 
  for(n=6; n<=30; n++){
    s=0;
    k=n/2;
    for(int j=1; j<=k; j++){
      if(n%j==0){
        s=s+j;
      }
    }
    if(s==n){
    el++;
    }
  }
  
  printf("%d", el);

 

Trustzone

프로세서(processor) 안에 독립적인 보안 구역을 따로 두어 중요한 정보를 보호하는 ARM사에서 개발한 하드웨어 기반의 보안 기술로 프로세서(processor) 안에 독립적인 보안 구역을 별도로 하여, 중요한 정보를 보호하는 하드웨어 기반의 보안 기술이다.

 

typosquatting

용자들이 사이트에 접속할 때 주소를 잘못 입력하거나 철자를 빠뜨리는 실수를 이용하기 위해 유사한 유명 도메인을 미리 등록하는 일로 URL 하이재킹(hijacking)이라고도 한다.

 

SSO(Single Sign On)

여러 개의 사이트에서 한번의 로그인으로 여러가지 다른 사이트들을 자동적으로 접속하여 이용하는 방법을 말한다. 일반적으로 서로 다른 시스템 및 사이트에서 각각의 사용자 정보를 관리하게 되는데 이때 하나의 사용자 정보를 기반으로 여러 시스템을 하나의 통합 인증을 사용하게 하는 것을 말한다. 즉 하나의 시스템에서 인증을 할 경우 타 시스템에서는 인증 정보가 있는지 확인하고 있으면 로그인 처리를 하도록 하고, 없는 경우 다시 통합 인증을 할 수 있도록 만드는 것을 의미한다.

 

스케줄링

비선점 FCFS 먼저 들어온 프로세스 먼저 처리 Convoy Effect 발생
SJF 처리시간이 짧은 프로세스부터 처리 Starvation 발생
HRN 짧은 작업시간이면서 대기시간이 긴 프로세스부터 처리 Starvation 해결
선점 RR 먼저 들어온 순서대로 일정 시간만큼만 처리  
SRT 남은 시간이 짧은 프로세스부터 처리  
MLQ 우선순위별로 큐를 분리하여 다양한 스케줄링 적용 Starvation 발생

* FCFS(First Come First Served), SJF(Short Job First), HRN(Highest response ratio next), RR(Round Robin),

   SRT(Shortest Remaining Time), MLQ(Multi Level Queue)

 

UML

 - 통합 모델링 언어로써, 시스템을 모델로 표현해주는 대표적인 모델링 언어이다.

구성 요소로는 사물, ( 관계 ), 다이어그램으로 이루어져 있으며, 구조 다이어그램 중, ( 클래스 ) 다이어그램은 시스템에서 사용되는 객체 타입을 정의하고, 그들 간의 존재하는 정적인 관계를 다양한 방식으로 표현한 다이어그램이다.  또한 UML 모델링에서 (  인터페이스  )은/는 클래스와 같은 기타 모델 요소 또는 컴포넌트가 구현해야 하는 오퍼레이션 세트를 정의하는 모델 요소이다.

E-R 다이어그램 표기 방법

개체 타입
약한 개체 타입
관계 타입
약한 관계 타입
속성
키 속성
다중값 속성

 

관계 해석

관계 데이터의 연산을 표현하는 방법으로, 원하는 정보를 정의할 때는 계산 수식을 사용한다.
수학의 predicate calculus에 기반을 두고 있으며, 관계 데이터 모델의 제안자인 codd가 수학에 가까운 기반을 두고 특별히 관계 데이터베이스를 위해 제안하여 탄생하였다.

원하는 정보가 무엇이라는 것만 정의하는 비절차적 특성을 지니며, 튜블 관계 해석와/과 도메인 관계 해석이 있다.

 

* 관계대수 : 절차적 / 관계해석 : 비절차적

 

IDEA

Xuejia Lai와 James Messey 가 만든 알고리즘으로 PES(Proposed Encryption Standard)에서 IPES(Improved PES)로 변경되었다가, 1991년에 제작된 블록 암호 알고리즘으로 현재 국제 데이터 암호화 알고리즘으로 사용되고 있다. 64비트 블록을 128비트의 key를 이용하여 8개의 라운드로 구성되어 있다.

 

SKIPJACK

미국의 NSA에서 개발한 Clipper 칩에 내장되는 블록 알고리즘이다. 전화기와 같은 음성을 암호화 하는데 주로 사용되며 64비트 입출력에 80비트의 키 총 32라운드를 가진다.

 

H회사의 전체 제품 단가의 합 보다 단가가 큰 제품 출력을 하고자 한다. 

SELECT 제조사, 제품명, 단가
FROM 제품

WHERE 단가 > (SELECT SUM(단가) FROM 제품 WHERE 제조사='H')

 

 * COUNT(컬럼명)을 사용하면 NULL 값은 제외하고 COUNT

 * COUNT(*)를 사용하면 NULL도 포함하여 전부 COUNT

 

가상사설망(VPN)

인터넷을 통해 디바이스 간에 사설 네트워크 연결을 생성하며, 퍼블릭 네트워크를 통해 데이터를 안전하게 익명으로 전송하는 데 사용된다.
또한 사용자 IP 주소를 마스킹하고 데이터를 암호화하여 수신 권한이 없는 사람이 읽을 수 없도록 한다.

 

SOLID

- 단일 책임 원칙(Single Responsiblity Principle; SRP)

 소프트웨어의 컴포넌트는 단 하나의 책임만을 가져야 한다.

- 개방 폐쇄 원칙(Open Close Principles; OCP) 

 확장에 대해선 열려 있어야 하고 수정에 대해선 닫겨 있어야 한다.

- 리츠코프 치환 원칙(Liskov Substitution Principle; LSP)

 자식 클래스는 부모클래스에서 가능한 행위를 수행할 수 있어야 한다.

- 인터페이스 분리의 원칙(Interface Segregation Principle; ISP) 

 하나의 일반적인 인터페이스 보단 여러 개의 구체적인 인터페이스가 낫다.

  ex) 클라이언트가 자신이 이용하지 않는 메서드에 의존하지 않아야 한다는 원칙이다.

        큰 덩어리의 인터페이스들을 구체적이고 작은 단위들로 분리시킴으로써 클라이언트들이 꼭 필요한 메서드들만 이용          할 수 있게 한다.
        예를 들어 하나의 복합기에 프린터와 복사기, 팩스 메서드가 있는데 이 세가지 메서드는 같은 파일에 존재하므로 프            린터 로직만 바뀌어도 복사기와 팩스도 재컴파일을 해야한다.
        그러므로 ISP를 적용하여 로직이 바뀌어도 다른 메서드는 영향을 받지 않도록 해야한다.

 

- 의존관계 역전 원칙(Dependency Inversion Principle; DIP) 

 의존 관계를 맺을 때, 변화하기 쉬운것 보단 변화하기 어려운 것에 의존해야 한다.

 

IP class

클래스주소 체계범위호스트 개수

A클래스 0nnnnnnn.hhhhhhhh.hhhhhhhh.hhhhhhhh 1. ~ 126. 2^24
B클래스 10nnnnnn.nnnnnnnn.hhhhhhhh.hhhhhhhh 128.0. ~ 191.255. 2^16 = 65,536
C클래스 110nnnnn.nnnnnnnn.nnnnnnnn.hhhhhhhh 192.0.0. ~ 223.255.255. 2^8 = 256
D클래스 1110hhhh.hhhhhhhh.hhhhhhhh.hhhhhhhh 224. ~ 239. 268,435,456
E클래스 11110hhh.hhhhhhhh.hhhhhhhh.hhhhhhhh 240. ~ 255. 134,217,728

https://itwiki.kr/w/%EC%84%9C%EB%B8%8C%EB%84%B7

 

IT위키

IT에 관한 모든 지식. 함께 만들어가는 깨끗한 위키

itwiki.kr

 

 

문제

 IP 주소가 139.127.19.132이고 서브넷마스크 255.255.255.192일 때 아래의 답을 작성하시오.

(1) 괄호안에 들어갈 네트워크 주소 : 139.127.19.( )
(2) 해당 네트워크 주소와 브로드캐스트 주소를 제외한 호스트 개수

1.  

 139.127.19.132 -> 10001011.01111111.00010011.100000100

 

서브넷마스크 255.255.255.192 -> 11111111.11111111.11111111.11000000

 

네트워크 주소 = IP주소 AND연산 서브넷 마스크

10001011.01111111.00010011.100000000 -> 139.127.19.128

 

2. 

255.255.255.192 -> 11111111.11111111.11111111.11000000 

-> 서브넷마스크  1이 총 26개

=> 139.127.19.132/26

 

범위 : 139.127.19.[128 ~ 191] 

(호스트 개수 = 2^n - 2  (n=0의개수))

첫번째 주소 128은 네트워크주소, 마지막 주소 191은 브로드캐스트 주소. 이 두 항목은 호스트주소로 사용할 수 없음.

따라서 64 - 2 = 62개가 된다. 

 

베타 테스트

하드웨어나 소프트웨어의 개발 단계에서 상용화하기 전에 실시하는 제품 검사 작업. 제품의 결함 여부, 제품으로서의 가치 등을 평가하기 위해 실시한다. 선발된 잠재 고객으로 하여금 일정 기간 무료로 사용하게 한 후에 나타난 여러 가지 오류를 수정, 보완한다. 공식적인 제품으로 발매하기 이전에 최종적으로 실시하는 검사 작업이다.

 

알파 테스트

새로운 제품 개발 과정에서 이루어지는 첫 번째 테스트. 즉, 시제품이 운영되는 동안의 신제품 연구와 개발 과정 단계에서 초기 작동의 결과를 평가하는 수단이며 개발 회사 내부에서 이루어지는 테스트로서 단위 테스트, 구성 테스트, 시스템 테스트 등을 포함한다.

 

Regression(회귀 분석)

오류를 제거하거나 수정한 시스템이나 시스템 컴포넌트 또는 프로그램이 오류 제거와 수정에 의해 새로이 유입된 오류가 없는지를 확인하는 일종의 반복 시험이다.

반복적인 시험이 필요한 이유는 오류가 제거·수정되는 상당수의 시스템이 의도치 않았던 오동작이나 새로운 형태의 오류를 일으키기 때문이다.

결국, 수정·변경된 시스템이나 시스템 컴포넌트 또는 프로그램이 명세된 요구 사항을 충족시키는지를 확인하는 시험의 한 형태이다.

 

*Project(π) 연산시 칼럼명도 같이 나옴

  - EX)

    직급

    부장
    대리
     과장
     차장

 

IGP

Interior Gateway Protocol, 동일 그룹 내 라우팅 정보를 교환할 때 사용하는 프로토콜

라우터로 상호 접속이 되어있는 여러 개의 네트워크 집합으로 도메인 혹은 자율시스템(Autonomous System, AS)이라고 한다.
같은 도메인 내에 존재하는 라우터는 도메인 내부 라우터가 되고 도메인 외부에 존재하는 라우터는 도메인 외부 라우터가 되는데, 여기서 도메인 내부 경로 설정을 가르킨다.

 

  - RIP(Routing Information Protocol): AS(자율시스템)내에서 사용하는 거리 벡터 알고리즘에 기초하여 개발된 내부 라우팅 프로토콜

 

 - OSPF(Oepn Shortest Path First): 자신을 기준으로 링크 상태 알고리즘을 적용하여 최단 경로를 찾는 라우팅 프로토콜

      =>IP 라우팅 프로토콜의 한 종류로써 RIP(routing information protocol)보다 규모가 큰 네트워크에서도 사용할 수 있다.
규모가 크고 복잡한 TCP/IP 네트워크에서 RIP의 단점을 개선한 라우팅 프로토콜로써 RIP에 비해 자세한 제어가 가능하고, 관리 정보의 트래픽도 줄일 수 있다.

EGP

Exterior Gateway routing Protocol, 다른 그룹과 라우팅 정보를 교환하는 프로토콜

시스템 사이에 경로 설정 정보 등을 교환하기 위해 사용하는 프로토콜로써,
다른 도메인 사이에 라우팅 시 정리된 관리가 거의 없고 많은 경우에 신용도가 매우 낮아 빠른 수행보다는 보안과 제어가 본래의 목적이다.

 

  - BGP(Border Gateway Protocol): AS상호 간에 경로 정보를 교환하기 위한 라우팅 프로토콜

      => 서로 다른 자율 시스템(AS)의 라우터 간에 라우팅 정보를 교환하는 데 사용되는 외부 게이트웨이 프로토콜(EGP)이다. 각 목적지에 대한 전체 경로가 포함되며, 다른 시스템과 교환하는 네트워크 도달 가능성 정보의 데이터베이스를 유지한다. 네트워크 도달 가능성 정보를 사용하여 AS 연결 그래프를 구성하며, 이를 통해 라우팅 루프를 제거하고 AS 수준에서 정책 결정을 실행할 수 있다.

 

완전 함수 종속(Full Functional Dependency)

종속자가 기본키에만 종속되며, 기본키가 여러 속성으로 구성되어 있을경우 기본키를 구성하는 모든 속성이 포함된 기본키의 부분집합에 종속된 경우

 

부분 함수적 종속(Partial Functional Dependency)

릴레이션에서 종속자가 기본키가 아닌 다른 속성에 종속되거나, 기본키가 여러 속성으로 구성되어 있을경우 기본키를 구성하는 속성 중 일부만 종속된 경우

 

이행적 함수 종속(Transitive Functional Dependency)

릴레이션에서 X, Y, Z라는 3 개의 속성이 있을 때 X→Y, Y→Z 이란 종속 관계가 있을 경우, X→Z가 성립될 때 이행적 함수 종속이라고 합니다. 즉, X를 알면 Y를 알고 그를 통해 Z를 알 수 있는 경우

HTTP

인터넷에서, 웹 서버와 사용자의 인터넷 브라우저 사이에 문서를 전송하기 위해 사용되는 통신 규약을 말한다.
인터넷에서 하이퍼텍스트(hypertext) 문서를 교환하기 위하여 사용되는 통신규약이다.
이 규약에 맞춰 개발해서 서로 정보를 교환할 수 있게 되었다.

 

Hypertext

문자, 그래픽, 음성 및 영상을 하나의 연상 거미집(Web of Association)과 같이 서로 연결시켜, 제시된 순서에 관계없이 이용자가 관련된 정보를 검색할 수 있도록 하는 정보 제공 방법이다.
즉, 한 페이지에서 링크된 순서에 상관없이 사용자들이 원하는 정보를 클릭함으로써 원하는 정보에 쉽게 접근하는 방식을 말한다.

 

HTML

웹 페이지 표시를 위해 개발된 지배적인 마크업 언어다.
또한, 제목, 단락, 목록 등과 같은 본문을 위한 구조적 의미를 나타내는 것뿐만 아니라 링크, 인용과 그 밖의 항목으로 구조적 문서를 만들 수 있는 방법을 제공한다.

 

로그 기반 회복 기법 명령어

 - redo

오류가 발생하기 전까지의 사항을 로그(log)로 기록해 놓고, 이전 상태로 되돌아간 후 실패가 발생하기 전까지의 과정을 재실행한다. 전으로돌아가 실패전까지의과정 재실행

 

 - undo

로그를 이용하여 오류와 관련된 내용을 취소하여 복구한다. 로그를 이용해 오류내용취소하여 복구

 

데이터 베이스 삭제 이상

데이터를 삭제할 경우 원하지 않는 다른 데이터도 삭제되어버리는 이상

 

TKIP (Temporal Key Integrity Protocol)

임시 키 무결성 프로토콜

IEEE 802.11 무성 네트워킹 표준에 사용되는 보안 프로토콜

IEEE 802.11i의 작업 그룹과 WiFi 얼라이언스에서 WEP를 하드웨어 교체 없이 대체하기 위해 고안

*TKIP 기반으로 표준으로잡힌게 WPA

 

NUI(Natural User Interface)

키보드나 마우스와 같은 장치 없이 말이나 행동 그리고 감정과 같은 인간의 자연스러운 표현으로 컴퓨터나 장치를 제어할 수 있는 환경

 

소스코드 분석 기법

 - 정적 분석 기법

  소스 코드의 실행 없이, 코드의 의미를 분석해 결함을 찾아내는 원시적 코드 분석 기법

 

 - 동적 분석 기법

  소스 코드를 실행하여 프로그램 동작이나 반응을 추적하고 코드에 존재하는 메모리 누수, 스레드 결함 등을 분석하는 기법

 

JUnit

자바 프로그래밍 언어를 이용한 xUnit의 테스트 기법으로써 숨겨진 단위 테스트를 끌어내어 정형화시켜 단위 테스트를 쉽게 해주는 테스트용 프레임워크이다.

 

Cppunit

C++ 프로그래밍 언어를 위한 단위 테스트 프레임워크 모듈 
Unit Test를 위한 JUnit Framework(java)의 C++ 버전
테스트 결과는 xml, text로 출력 가능
최소한의 소스 수정으로 C++ 뿐만 아니라 C 소스의 단위 테스트를 허용함

 

NUnit

모든 .net 언어에서 널리 사용되는 단위 테스트 프레임워크
병렬로 실행 가능한 데이터 중심 테스트를 지원함

 

JMockit

오픈 소스 단위 테스트 도구
기록 및 검증 구문으로 ARP를 Mocking할 수 있다
**모킹 : 단위 테스트를 할 때 해당 코드가 의존하는 부분을 
가짜(mock)로 대체하는 기법

 

PHPUnit

PHP 프로그래머를 위한 단위 테스트 도구 
SUnit과 함께 기원한 유닛 테스트 프레임워크를 위한 
XUnit 아키텍처의 인스턴스이며 JUnit과 함께 대중화됨 

 

블랙박스 테스트 기법

Equivalence Partitioning(동등 분할), Boundary Value Analysis(경계값 분석), Cause-effect Graph(원인-결과 그래프)

 

ISMS( Information Security Management System)

정부에서 정한 인증기관 및 심사기관에서 기업이 주요 정보자산을 보호하기 위해 수립·관리·운영하는 정보보호 관리체계가 인증 기준에 적합한지를 심사하여 인증을 부여하는 제도

 

슈퍼키는 유일성의 속성을 가진다.

후보키는 유일성과 최소성의 속성을 가진다.

 

워터링 홀(Watering Hole)

이 공격은 APT 공격에서 주로 쓰이는 공격으로, 공격 대상이 방문할 가능성이 있는 합법적인 웹 사이트를 미리 감염시킨 뒤, 잠복하고 있다가 공격 대상이 방문하면 대상의 컴퓨터에 악성코드를 설치하는 방식이다.

 

 

V 다이어그램

파이썬 함수

  - extend : 요소를 확장해준다는 의미를 가지고 있으며, 모든 항목을 하나의 요소로 추가

  - pop : 리스트 내부 요소를 꺼내주는 함수로써, 그 요소는 리스트 안에서 삭제하고 그 값을 반환

  - reverse : 리스트 내부의 요소의 순서는 뒤집는 역할