Study/정보처리기사 실기

[정보처리기사 실기 기출] 2020년 4회 해설

지니어스팍 2023. 10. 5. 22:37
728x90
728x90

디자인패턴 (디자인 생명구행)

소프트웨어 공학의 소트프웨어 설꼐에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴
디자인 패턴을 참고해서 개발할 경우 개발의 효율성과 유지보수성, 운용성이 높아지고 프로그램의 최적화에 도움이 됨

디자인 패턴의 3가지 : 생성, 구조, 행위

 

생성패턴 ( 추팩 빌 팩메 프싱 ) 추빌팩프싱 (추빌해 팩프하는 자 싱어송)

객체의 인스턴스 생성에 관여하고 클래스 정의와 객체 생성 방식을 구조화, 캡슐화하는 패턴

  • Abstract Factory(추상 팩토리)
    • 구체적인 클래스에 의존하지 않고 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스를 제공
    • 한 주제의 다른 팩토리를 묶음
  • Builder(빌더)
    • 복잡한 인스턴스를 조립해서 만드는 구
    • 복합 객체를 생성할 때 객체를 생성하는 방법과 객체를 구현하는 방법을 분리함으로써 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있음
    • 생성과 표기를 분리해서 복잡한 객체를 생성
  • Factory Method(팩토리 메소드)
    • 상위 클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위 클래스에서 인스턴스를 생성하도록 하는 방식
    • 상위 클래스에서 인스턴스를 만드는 방법만 결정하고 하위 클래스에서는 그 데이터의 생성을 책임지고 조작하는 함수들을 오버로딩하여 인터페이스와 실제 객체를 생성하는 클래스를 분리할 수 있는 패턴
    • 생성할 객체의 클래스를 국한하지 않고 객체를 생성
    • 객체 생성 처리를 서브 클래스로 분리해 처리하도록 캡슐화 하는 패턴
  • Prototype(프로토타입)
    • 처음부터 일반적인 원형을 만들어 놓고 그것을 복사한 후 필요한 부분만 수정해서 사용하는 패턴
    • 생성할 객체의 원형을 제공하는 인스턴스에서 생성할 객체들의 타입이 결정되도록 설정하고 객체를 생성할 때 갖추어야할 기본 형태가 있을 때 사용되는 패턴
    • 기존 객체를 복제함으로써 객체를 생성
  • Singleton(싱글톤)
    • 전역 변수를 사용하지 않고 객체를 하나만 생성하도록 하며, 생성된 객체를 어디서든지 참조할 수 있도록 함
    • 한 클래스에 한 객체만 존재하도록 제한

구조 패턴 (어브컴컴한데퍼플프)

  • Adapter(어댑터)
    • 기존에 생성된 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 하는 인터페이스를 만드는 패턴
    • 상속을 이용하는 클래스 패턴과 위임을 이용하는 인스턴스 패턴의 두 가지 형태가 있음
    • 인터페이스가 호환 되지 않는 클래스들을 함께 이용할 수 있도록, 타 클래스의 인터페이스를 기존 인터페이스에 덧씌움
  • Bridge(브릿지)
    • 기능의 클래스 계층과 구현의 클래스 계층을 연결하고, 구현부에서 추상 계층을 분리하여 추상화된 부분과 실제 구현 부분을 독립적으로 확장할 수 있는 디자인 패턴
    • 구현 뿐만 아니라, 추상화된 부분까지 변경해야하는 경우 활용
    • 추상화와 구현을 분리해 둘을 각각 따로 발전 시킬 수 있음
  • Composite(컴포지트)
    • 객체들의 관계를 트리 구조 구성하여 부분-전체 계층을 표현하는 패턴
    • 사용자가 단일 객체와 복합 객체 모두 동일하게 다루도록 함
    • 0개, 1개 혹은 그 이상의 객체를 묶어 하나의 객체로 이용할 수 있음
    • 여러 개의 객체들로 구성된 복합 객체와 단일 객체를 클라이언트에서 구별 없이 다루게 해주는 패턴
  • Decorator(데코레이터)
    • 기존에 구현되어 있는 클래스에 필요한 기능을 추가해 나가는 설계 패턴
    • 기능 확장이 필요할 때 객체 간의 결합을 통해 기능을 동적으로 유연하게 확장 할 수 있게 해주기 때문에 상속의 대안으로 사용됨
    • 기존 객체의 메서드에 새로운 행동을 추가하거나 오버라이드 할 수 있음
  • Facade(퍼싸드)
    • 복잡한 시스템에 대해 단순한 인터페이스를 제공함으로써 사용자의 시스템 간 또는 다른 시스템과의 결합도를 낮추어 시스템 구조에 대한 파악이 쉬움
    • 오류에 대해서 단위 별로 확인 할 수 있게 하고 사용자 측면에서 단순한 인터페이스를 제공해 접근성을 높일 수 있음(많은 분량의 코드에 접근할 수 있는 단순한 인터페이스를 제공)
    • 통합된 인터페이스 제공
  • Flyweight(플라이웨이트)
    • 다수의 객체로 생성될 경우 모두가 갖는 본질적인 요소를 클래스화하여 공유함으로써 메모리를 절약하고 클래스의 경량화를 목적으로 하는 디자인 패턴
    • 여러 개의 가상 인스턴스를 제공해서 메모리 절감
  • Proxy(프록시)
    • '실제 객체에 대한 대리 객체'로 실제 객체에 대한 접근 이전에 필요한 행동을 취할수 있게 만들고 이 점을 이용해 미리 할당하지 않아도 상관 없는 것들을 실제로 이용할 대 할당하게 하여 메모리 용량을 아낄 수 있음
    • 실제 객체가 드러나지 않게 하여 정보 은닉의 영할을 수행
    • 접근 조절, 비용 절감, 복잡도 감소를 위해 접근이 힘든 객체에 대한 대역을 제공함

행위 패턴 (커옵템중통이상방전메체) 커퓨터 하면서 옵버워치 아이템 모으는데 중통이 되서 이상하고 방전되어서 메체나 보자)

  • Command(커맨드)
    • 하나의 추상 클래스에 메서드를 만들어 각 명령이 들어오면 그에 맞는 서브 클래스가 선택 되어 실행됨
    • 실행될 기능을 캡슐화함으로써 주어진 여러 기능을 실행 할 수 있는 재사용성이 높은 클래스를 설계하는 패턴
    • 요구사항을 객체로 캡슐화
  • Observer(옵저버)
    • 어떤 클래스에 변화가 일어났을 때, 이를 감지하여 다른 클래스에 통보해주는 것
    • 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에게 연락이 가고 자동으로 내용이 갱신되는 패턴
    • 일대다의 의존성을 가지고 상호작용하는 객체 사이에서는 가능한 느슨하게 결합하는 디자인 패턴
  • Templete Method(템플릿 메소드)
    • 상위 클래스에서는 추상적으로 표현하고, 그 구체적인 내용은 하위 클래스에서 결정되는 디자인 패턴
    • 어떤 작업을 처리하는 일부분을 서브 클래스로 캡슐화해 전체 일을 수행하는 구조는 바꾸지 않으면서 특정 단계에서 수행하는 내역을 바꾸는 패턴(상위 작업의 구조를 바꾸지 않으면서 서브 클래스로 작업의 일부분을 수행)
  • Mediator(중재자)
    • 객체지향 설계에서 객체의 수가 너무 많아져 통신이 복잡해지면 느슨한 결합(객체지향에서 중요한 특성)을 해칠 수 있기 때문에 중간에서 이를 통제하고 지시할 수 있는 역할을 하는 중재자 역할을 하는 패턴(중재자에게 요구하여 통신의 빈도를 줄임)
    • 상호작용의 유연한 변경을 지원
  • Interpreter(통역사)
    • 언어의 다양한 해석, 구체적으로 구문을 나누고 그 분리된 구문의 해석을 맡는 클래스를 각각 작성해 여러 형태의 언어 구문을 해석할 수 있게 만드는 패턴
    • 문법 자체를 캡슐화해서 사용
  • Iterator (반복자)
    • 컬렉션 구현 방법을 노출 시키지 않으면서 그 집합체 안에 들어있는 모든 항목에 접근할 방법을 제공하는 패턴
    • 내부 구조를 노출하지 않고 복합 객체의 원소를 순차적으로 접근 가능하게 하는 행위 패턴
  • State(상태)
    • 객체 상태를 캡슐화 해서 클래스화함으로써 그것을 참조하게 하는 방식
    • 상태에 따라 다르게 처리할 수 있도록 행위 내용을 변경하고, 변경시 원시 코드의 수정을 최소화 할 수 있고 유지보수의 편의성도 가짐
    • 객체의 상태에 따라 행위 내용을 변경
  • Visitor(방문자)
    • 각 클래스의 데이터 구조로부터 처리 기능을 분리하여 별도의 클래스를 만들어 놓고 해당 클래스의 메서드가 각 클래스를 돌아다니며 특정 작업을 수행하도록 만드는 패턴
    • 객체의 구조는 변경하지 않으면서 기능만 따로 추가하거나 확장할 때 사용하는 패턴
    • 특정 구조를 이루는 복합 객체의 원소 특성에 따라 동작을 수행할 수 있도록 지원
  • Strategy(전략)
    • 알고리즘 군을 정의하고(추상클래스) 같은 알고리즘을 각각 하나의 클래스로 캡슐화한 후, 필요할 때 서로 교환해서 사용 할 수 있게 하는 패턴
    • 행위 클래스로 캡슐화해 동적으로 행위를 자유롭게 바꿀 수 있게 해주는 패턴
  • Memento
    • 클래스 설계 관점에서 객체의 정보를 저장할 필요가 있을 때 적용하는 디자인 패턴
    • Undo 기능을 개발할 때 사용
    • 객체를 이전 상태로 복구 시켜야 하는 경우 Undo(작업 취소) 요청 기능
  • Chain of Responsibility
    • 정적으로 어떤 기능에 대한 처리의 연결이 하드코딩 되어 있을 때 기능 처리의 연결 변경이 불가능 한데, 이를 동적으로 연결한 경우에는 다르게 처리할 수 있도록 하는 디자인 패턴
    • 한 요청을 2개 이상의 객체에서 처리

요약 정리

🚩 생성
1) Builder : 생성 단계를 캡슐화 해서 구축 공정을 동일하게 이용하도록 하는 패턴
2) Prototype : 기존 객체를 복제해서 새 객체를 생성할 수 있도록 하는 패턴
3) Factory Method : 상위 클래스에서 객체를 생성하는 인터페이스를 정의하고 하위 클래스에서 인스턴스를 생성하는 패턴
4) Abstract Factory : 생성군들을 하나에 모아놓고 팩토리 중에서 선택하게 하는 패턴
5) Singleton : 유일한 하나의 인스턴스를 보장하도록 하는 패턴

🚩 구조
1) Bridge : 추상과 구현을 분리해서 결합도를 낮춘 패턴
2) Decorator : 소스를 변경하지 않고 기능을 확장하는 패턴
3) Facade : 하나의 인터페이스를 통해 느슨한 결합을 제공하는 패턴
4) Flyweight : 대량의 작은 객체들을 공유하는 패턴
5) Proxy : 대리인이 대신 그 일을 처리하는 패턴
6) Composite : 개별 객체와 복합 객체를 클라이언트에서 동일하게 사용하도록 하는 패턴
7) Adapter : 인터페이스로 인해 함께 사용하지 못하는 클래스를 함께 사용하도록 하는 패턴

🚩 행위
1) Interpreter : 언어 규칙 클래스를 이용하는 패턴
2) Templete Method : 알고리즘 골격의 구조를 정의한 패턴
3) Chain of Responsibility : 객체끼리 연결 고리를 만들어 내부적으로 전달하는 패턴
4) Command : 요청 자체를 캡슐화해 파라미터로 넘기는 패턴
5) Iterator : 내부 표현은 보여주지 않고 순회하는 패턴
6) Mediator : 객체 간 상호작용을 캡슐화한 패턴
7) Memento : 상태 값을 미리 저장해두었다가 복구하는 패턴
8) Observer : 상태가 변할 때 의존자들에게 알리고 자동으로 업데이트하는 패턴
9) State : 객체 내부 상태에 따라서 행위를 변경하는 패턴
10) Strategy : 다양한 알고리즘을 캡슐화해 알고리즘 대체가 가능하도록 하는 패턴
11) Visitor : 오퍼레이션을 별도의 클래스에 새롭게 정의한 패턴


패키지 다이어그램

구조다이어그램

클래스 다이어그램 - 관계

패키지 다이어그램 - 그룹화

복합체 구조 다이어그램 

객체 다이어그램

컴포넌트 다이어그램

배치 다이어그램

 

행위 다이어그램

유스케이스 (🐸) - 사용자 관점에서 행위 표현

활동

콜라보레이션

상태머신

순차

통신

상호작용 개요

타이밍


 오라클  (🐸) (모닝미라클하자  아차차 참! 쌤! 휴일이에요!)

테스트 오라클은 테스트의 결과가 참인지 거짓인지를 판단하기 위해서 사전에 정의된 참값을 입력하여 비교하는 기법이다.

 

- 모든 입력값에 대해 기대하는 결과를 생성 모두 검출

샘플링 -특정 몇개의 입력값에 대해 기대

휴리스틱 - 샘플링을 개선한 오라클, 추정으로 처리

일관성 검사 - 수행 전과 후 결과값이 동일한지

 

 

 

휴지스틱 휴지스틱 휴리스틱


블랙박스 테스트 유형(🐸)

동등분할

경계값 분석

원인 결과 그래프

오류예측

비교검사


SQL문 - COUNT

 

SELECT 학과,COUNT(*) AS '학과별 튜플수'

FROM 학생

GROUP BY 학과


네트워크 공격 기법 (🐸🐸)

스니핑 - 네트워크 상에 통과되는 패킷 내용을 엿본다. 

DDOS

피싱

파밍

스니핑

스푸핑 - 인증된것 처럼 위조

스미싱

큐싱

랜섬웨어

키 로거

sql 삽입

xss

트로이목마 


정보보안 3요소

기밀성

무결성

가용성 - 인가된 사용자라면 언제든지 사용할 수 있다. dos와ddos는 가용성을 해치는 공격이다.


데이터베이스의 이상현상 종류 3가지 (데이터베이스:잠깐 이거좀 이상해 !!!! 삽삭삽 갱단이다 갱갱갱)

삽입이상

갱신이상

삭제이상

이상현상을 없애기 위한 정규화(🐸🐸도부이결다조(이상해! 삽삭삽 갱단이다! 정말! 두부이거다조!다쳐 조인성))

비정규 릴레이션 

1 - 도메인이 원자값

2 - 부분적 함수 종속 제거

3 - 이행적 함수 종속 제거

BCNF - 결정자이면서 후보키가 아닌것 제거

4 - 다치 종속 제거

5 - 조인 종속성 이용


데이터베이스 회복 기법 (즉지않아그림자)

 

즉시 갱신 기법 - redo undo

지연 갱신 기법 - redo

검사적 회복 기법 - 전체 조사 안하고 최근만 검사

그림자 페이징 기법 - redo undo 안하고 페이지 복사

미디어 회복 - 주기적 저장


프로세스 상태 전이도 (🐸)

 

생성 - 준비 - dispatch - 실행 -block -대기 - wake up -  


 

IPv4 vs IPv6

 

유니캐스트

멀티캐스트

브로드 캐스트 - 모두

 

유니캐스트

멀티 캐스트

애니 캐스트 - 전파 (🐸)

 

IPv4 / IPv6 전환 기술  (🐸🐸전환 듀스터주소) ipv4 에서 ipv6로 변환하는데 듀스가 터져 주스

듀얼 스택 - 동시 지원

터널링 - 간의 터널을 이용,캡슐화 하여 전송

주소변환 - 주소를 변환하여 연동

 

유닉스/리눅스

대부분 c언어,트리구조의 파일 시스템 : 유닉스

리눅스 : 유닉스 기반으로 개발 

 

데이터베이스 기술 트랜드 

 

빅데이터 관련 용어 (🐸)

빅데이터 

하둡 - 많은 양의 데이터를 여러대의 범용 컴퓨터에 나눠서 저장해주고 처리한다.

 

NoSQL - sql만 사용하지 말아라 - 비 관계형 데이터베이스

 

Data Mining - 대규모로 저장된 데이터 안에서 패턴을 찾아내는것

데이터 웨어하우스에 저장된 데이터 집합에서 사용자의 요구에 따라 유용하고 가능성 잇는 정보를 발견하기 위한 기법.

 

데이터 웨어하우스와 데이터 마트

데이터웨어 하우스 - 기간 시스템의 데이터베이스에 축적된 데이터를 관리하는 데이터베이스

급증하는 다량의 데이터 효과적으로 분석하여 정보화하고 이를여러 계층의 사용자들이 효율적으로 사용할 수 있도록 한 데이터베이스.

 

데이터 마트 - 데이터들을 담은 비교적 작은 규모 데이터웨어 하우스

전사적으로 구축된 데이터 웨어하우스로부터 특정 주제나 부서 중심으로 구축된 소규모 단일 주제의 데이터 웨어하우스를 말함.

 

OLAP - 이용자가 직접 데이터베이스를 검색해서 문제점 해결하는 분석형 애플리케이션 개념 

다차원으로 이루어진 데이터로부터 통계적인 요약 정보를 분석하여 의사 결정에 활용하는 방식. 

 

🐸🐸🐸오랩오랩 겁색하고 분석해서 의사결정에 사용

 

Mashup - 웹에서 제공하는 정보 및 서비스를 이용하는 새로운 소프트웨어나 서비스 데이터베이스 등을 만드는것

 

🐸🐸🐸🐸매쉬업!!! 웹제공서비스를 새로운 소프트웨어로 만들다 

 

블록체인

 

NAT (Network Address Translation) (🐸)

네트워크 주소 변환

내부에서 사용하는 사설ip주소와 외부로 보여지는 공인ip주소간의 ip adress 변환 방식을 말한다.

한정된 공인ip를 여러개의 내부 사설 ip로 변환하기위해 사용하는 기술 

 

자바에서

부모가지정하더라도 

자식이 오버라이딩했으면 자식 메소드를 따른다.

만약 오버로딩을 했다면 그대로 부모 메소드를 따른다.

 


공격 기법

 

Q) TCP 프로토콜의 구조적인 문제를 이용한 공격으로 서버의 동시 가용 사용자 수를 SYN패킷만 보내 점유하여 다른 사용자가 서버를 사용 불가능하게 하는 공격

더보기
닫기

SYN 플러딩


Q) 대량의 UDP 패킷을 만들어 임의의 포트번호로 전송하여 응답 메세지(ICMP)를 생성하게 하여 지속해서 자원을 고갈시키는 공격

더보기
닫기

UDP 플러딩


Q) 출발지 주소를 공격대상의 IP로 설정하여 네트워크 전체에게 ICMP Echo 패킷을 직접 브로드캐스팅하여 마비시키는 공격

더보기
닫기
스머프(Smurf) / 스머핑(Smurfing)


Q) ICMP 패킷을 정상적인 크기보다 아주 크게 만들어 전송하면 다수의 IP단편화가 발생하고, 수신 측에서는 단편화 패킷을 처리(재조합)하는 과정에서 많은 부하가 발생하거나, 재조합 버퍼의 오버플로우가 발생하여 정상적인 서비스를 하지 못하도록 하는 공격

더보기
닫기

죽음의 핑(PoD)


Q) 출발지 IP와 목적지 IP를 같은 패킷주소로 만들어 보냄으로써 수신자가 자기 자신에게 응답을 보내게 하여 시스템의 가용성을 침해하는 공격기법

더보기
닫기

랜드어택(Land Attack)


Q) IP패킷의 재조합 과정에서 잘못된 Fragment Offset 정보로 인해 수신시스템이 문제를 발생하도록 만드는 DoS 공격

더보기
닫기
티어 드롭(Tear Drop)


Q) 프로토콜의 오류 제어를 이용한 공격기법으로서 시스템의 패킷 재전송과 재조립이 과부하를 유발시키는 공격으로 ( A ) 는 같은 시퀀스 번호를 계속 보내며, ( B ) 는 일정한 간격으로 시퀀스 번호에 빈 공간을 생성함

더보기
닫기

(A) 봉크(Bonk) / (B) 보잉크(Boink)


Q) 과도한 Get 메세지를 이용하여 웹 서버의 과부하를 유발시키는 공격

더보기
닫기

HTTP GET 플러딩(Flooding)


Q) HTTP GET 메서드를 사용하여 헤더의 최종 끝을 알리는 개행 문자열인 \r\n\r\n(Hex: 0d 0a 0d 0a)을 전송하지 않고, \r\n(Hex: 0d 0a)만 전송하여 대상 웹서버와 연결상태를 장시간 지속시키고 연결자원을 모두 소진시키는 서비스 거부 공격

더보기
닫기

Slowloris(Slow HTTP Header DoS)


Q) 요청헤더의 Content-Length를 비정상적으로 크게 설정하여 메세지 바디부분을 매우 소량으로 보내 계속 연결상태를 유지시키는 공격

더보기
닫기

RUDY (Slow HTTP POST DoS)


Q) TCP윈도 크기와 데이터 처리율을 감소시킨 상태에서 다수 HTTP패킷을 지속적으로 전송하여 대상 웹 서버의 연결상태가 장시간 지속, 연결자원을 소진시키는 서비스 거부 공격

더보기
닫기

Slow HTTP Read DoS


Q) 공격자가 공격대상 웹 사이트 웹 페이지 주소를 지속적으로 변경하면서 다량으로 GET요청을 발생시키는 서비스 거부 공격

더보기
닫기

Hulk DoS


Q) 침입자가 인증된 컴퓨팅 시스템인 것처럼 속여서 타깃 시스템의 정보를 빼내기 위해서 본인의 패킷 헤더를 인증된 호스트의 IP Address로 위조하여 타깃에 전송하는 공격기법

더보기
닫기

IP 스푸핑


Q) 공격자가 특정 호스트의 MAC주소를 자신의 MAC주소로 위조한 ARP Reply를 만들어 희생자에게 지속적으로 전송하여 희생자의 ARP Cache Table에 특정 호스트의 MAC정보를 공격자의 MAC정보로 변경, 희생자로부터 특정 호스트로 나가는 패킷을 공격자가 스니핑하는 공격기법

더보기
닫기

ARP 스푸핑


Q) 악성 루틴이 숨어 있는 프로그램으로 겉보기에는 정상적인 프로그램으로 보이지만 실행하면 악성 코드를 실행하는 프로그램

더보기
닫기

트로이목마


Q) 공격대상에게 직접 공격을 하지 않고 데이터만 몰래 들여다보는 수동적 공격기법

더보기
닫기
스니핑(sniffing)


Q) 스택영역에 할당된 버퍼크기를 초과하는 양의 데이터를 입력하여 복귀주소를 변경하고, 공격자가 원하는 임의의 코드를 실행하는 공격 기법

더보기
닫기

스택 버퍼 오버플로우


Q) 프로그램 실행 시 동적으로 할당되는 힙 영역에 할당된 버퍼 크기를 초과하는 데이터를 입력하여 메모리의 데이터와 함수 주소 등을 변경, 공격자가 원하는 임의의 코드를 실행하는 공격 기법

더보기
닫기

힙 버퍼 오버플로우


Q) 특정 대상을 선정한 후 그 대상에게 일반적인 이메일로 위장한 메일을 지속적으로 발송하여, 발송 메일의 본문 링크나 첨부된 파일을 클릭하도록 유도하여 사용자의 개인정보를 탈취하는 공격

더보기
닫기

스피어피싱(Spear Phishing)


Q) 문자 메세지를 이용하여 신뢰할 수 있는 사람 또는 기업이 보낸 것처럼 가장하여 개인 비밀정보를 요구하거나 휴대폰 소액결제를 유도하는 피싱 공격

더보기
닫기

스미싱(Smishing)


Q) 스마트폰을 이용하여 금융업무를 처리하는 사용자에게 인증 등 필요한 것처럼 속여 QR코드를 통해 악성 앱을 내려받도록 유도하여 금융정보를 빼내는 피싱공격

더보기
닫기

큐싱(Qshing)


Q) 특정 타깃을 목표로 하여 다양한 수단을 통한 지속적이고 지능적인 맞춤형 공격기법

더보기
닫기

APT 공격(Advanced Persistent Threat)


Q) 소프트웨어 개발사의 네트워크에 침투하여 소스 코드 수정 등을 통해 악의적인 코드를 삽입하거나 배포서버에 접근하여 파일을 변경하는 방식을 통해 사용자 PC에 소프트웨어를 설치 및 업데이트 시에 자동적으로 감염되도록 하는 공격기법

더보기
닫기

공급망 공격


Q) 보안 취약점이 발견되어 널리 공표되기 전에 해당 취약점을 이용하여 이루어지는 보안공격기법

더보기
닫기

제로데이 공격(Zero Day Attack)


Q) 스스로를 복제하여 네트워크 등의 연결을 통하여 전파하는 악성 소프트웨어 컴퓨터 프로그램

더보기
닫기

웜(Worm)


Q) 감염된 시스템의 파일들을 암호화하여 복호화 할 수 없도록 하고, 피해자로 하여금 암호화된 파일을 인질처럼 잡고 몸값을 요구하는 악성 소프트웨어

더보기
닫기

랜섬웨어


Q) 무선 Wifi 피싱 기법으로 공격자는 합법적인 wifi 제공자처럼 행세하며 노트북이나 휴대폰으로 핫스팟에 연결한 무선 사용자들의 정보를 탈취하는 무선 네트워크 공격기법

더보기
닫기

이블 트윈(Evil Twin)

 


네트워크 파트 문제

 

1. 인터넷에서 멀티캐스트를 위하여 사용되는 프로토콜


2. 원격 컴퓨터에 안전하게 액세스하기 위한 유닉스 기반의 명령 인터페이스 및 프로토콜로, 기본적으로 22번 포트를 사용하고, 클라이언트/서버 연결의 양단은 전자 서명을 사용하여 인증되며, 패스워드는 암호화하여 보호되는 것

더보기
접기

SSH

 

SSH는 Secure Shell의 약자


3. TLS를 통해 Application 계층 데이터를 암호화하여 보호해 주고 기본포트가 443으로 지정된 프로토콜


4. 물리적 하드웨어 주소를 IP Address로 매핑시키는 프로토콜


5. UDP 계열 프로토콜로, 원격 관리에 필요한 정보와 서버상태를 관리하는 것


6. 동적 라우팅 프로토콜 중에 링크 상태(Link State) 라우팅 프로토콜

더보기
접기

OSPF (Open Shortest Path First)


7. 연결 없는 IP 기반의 프로토콜로 최소한의 오버헤드를 갖고 재송신 처리를 실행하지 못하기 때문에 신뢰성이 떨어지며 한 번에 많은 양의 데이터를 송신할 때 사용하는 프로토콜


8.  RAID 시스템 중 한 드라이브에 기록되는 모든 데이터를 다른 드라이브에 복사해 놓는 방법으로 복구 능력을 제공하며, ′Mirroring′으로 불리는 것

더보기
접기

RAID 1


9. 내부 통신에는 사설 IP 주소를 사용하고 외부와의 통신에는 공인 IP 주소를 사용할 수 있도록 하는 기술


10. 하이퍼바이저를 사용하거나 게스트 운영체제도 설치하지 않고 서버 운영에 필요한 프로그램과 라이브러리만 이미지로 만들어 프로세스처럼 동작시키는 경량화된 가상화 방식이며 실행되는 이미지는 컨테이너라고 부르며, 가상화 레이어가 존재하지 않고 운영체제도 존재하지 않기 때문에 파일 시스템,네트워크 속도가 상당히 빠르다

설명에 해당하는 용어

더보기
접기

Docker 


11. 네트워킹에 필요한 모든 유형의 자원을 추상화하고, 소프트웨어 기반이며 자동으로 관리와 제어가 가능케 하는 가상화 기술

더보기
접기

NFV (Network Functions Virtualization)


12. 한 대의 스위치에서 네트워크를 나누어 마치 여러 대의 스위치처럼 사용할 수 있게 하고, 하나의 포트에 여러 개의 네트워크 정보를 전송할 수 있게 해주는 기능

더보기
접기

가상 랜(Virtual LAN)


13. 링크 상태 알고리즘을 적용한 대표적인 프로토콜로, 링크에서의 전송 시간을 링크 비용(거리)으로 사용하며 각 목적지 별 최단 경로를 다익스트라 알고리즘을 통해 알아내는 프로토콜


14. 패킷 전송의 최적 경로를 위해 다른 라우터들로부터 정보를 수집하는데, 최대 홉이 15를 넘지 못하는 프로토콜


15. OSI 7 layer 참조 모델에서 사용되는 Protocols 중 TCP와 UDP port를 함께 사용하는 프로토콜


16. VPN의 터널링 프로토콜로 OSI 7계층 중 3계층 프로토콜로서 전송 모드와 터널 모드 2가지를 사용한다. 전송 모드는 IP 페이로드를 암호화하여 IP 헤더로 캡슐화하지만, 터널 모드는 IP 패킷을 모두 암호화하여 인터넷으로 전송한다

해당하는 용어


17. Link State 알고리즘을 이용해 서로에게 자신의 현재 상태를 알려주며 네트워크 내 통신을 위해 사용하는 프로토콜


18. TCP/IP 프로토콜 중에서 IP 계층의 한 부분으로 에러 메시지와 같은 상태 정보를 알려주는 프로토콜

더보기
접기

ICMP(Internet Control Message Protocol)


19. 단말이 네트워크에 접근하기 전 보안정책 준수여부를 검사하고 IP 및 MAC address의 인가 여부를 검사하여 네트워크 자원의 이용을 허용하는 방식


20. 서로 연결된 네트워크에서 사용자간 파일을 전송할 수 있도록 해주는 기능을 제공하며, 파일 전송시 2개의 포트를 연결하여 데이터를 전송한다. 이 때 21포트는 데이터 전송을 담당하고 21포트는 제어를 담당하는 프로토콜

더보기
접기

FTP(File Transfer Protocol)


21. 다음은 잘 알려진 포트번호이다. 해당하는 용어를 쓰시오.

포트  이름
21
22
23
25
53
80
110
143
194
443
더보기
접기

ㄱ : FTP

ㄴ : SSH(원격 제어, 보안 기능)

ㄷ : telnet(원격 제어)

ㄹ : SMTP(이메일 전송)

ㅁ : DNS

ㅂ : HTTP(웹)

ㅅ : POP3(이메일 수신)

ㅇ : IMAP(이메인 수신, 보관 기능

ㅈ : IRC

ㅊ:  HTTPS

728x90
728x90