Wordpress 취약점에 대해서 조사해보겠당


Wordpress

- Wordpress는 외국에서(?;) 만들었으며 홈페이지 개발 및 제작에 사용되는 돋보적인 1위 도구이다. * PHP 언어를 사용함



Wordpress에 어떠한 취약점이 있는지 구글링을 실시해보았다. (검색 : wordpress vulnerability)

그리 하였더니...


띠용? 다음과 같은 자료를 얻을 수 있었다. 

- https://wpvulndb.com/


Wordpress 취약점은 크게 4가지로 구분되어 있었다.

Wordpress내 자체 취약점, 플러그인 취약점, 테마 취약점, 가장 많이본(?) 취약점 사실상 카테고리는 3개이다.

Wordpress는 홈페이지 제작 프로그램이기 때문에 각종 플러그인이라던지 테마를 같이 사용하게 되는데 이부분에서 취약점이 발생하는 듯 하다.

실제 실무에서는 wp 페이지를 통한 공격이 가장 많이 들어온다고 한다.

예를들어 wordpress로 제작된 홈페이지라면 wp-login.php와 함께 wp-admin.php 페이지를 이용하게 된다 공격방법은 다음과 같다.



url에 해당 페이지를 요청해보고 페이지가 뜬다면 wordpress로 제작한 홈페이지임을 알게되고 wordpress 취약점을 이용한 공격을 시작하게 된다. 해결방법으로는 해당 페이지들의 접근에 대해서 미리 막아두는 방법이 있겠다

snort룰셋을 적용해보자면 해당 페이지에 접근하는 부분들에 대해서 탐지룰셋을 적용하는 방법이 있다.


1. 외부에서 내부로 해당 페이지에 접속을 모두 차단(default를 차단으로 해놓는다)

2. 내부에서 해당 페이지접속만 허용


이렇게 두개만 snort룰셋을 적용하면 뭔가 보안상 괜찮을것(?) 같다. ->확실한진 모르겠다


1. drop tcp any any -> $내부_네트워크 any (content:"wp-login"; sid=10000001;)

2. alert tcp $내부_네트워크 any -> any any (msg:"wp-login access"; content:"wp-login"; sid=10000002;)


해외 Wordpress 취약점

1. DoS 취약점 (CVE-2018-6389)


wordpress는 위에서 말했다시피 고유의 wp-admin 페이지를 가지고 있지만 이에 대해서 접근 시 인증단계를 거치지 않았었다.

그러므로 공격자는 wp-admin 페이지를 요청 후  wordpress 홈페이지임을 확인하고 공격에 들어간다

URL 예시는 다음과 같습니다.


https://your-wordpress-site.com/wp-admin/load-scripts.php?c=1&load=editor,common,user-profile,media-widgets,media-gallery

load 파라미터로 뒤에 jsp파일들에 대해서 요청하는걸 볼 수 있는데 이걸 이용해 공격자는 요청할 수 있는 모든 jsp를 요청하며 서버에 부하를 유발하고 이를 익스플로잇 코드를 통해서(?) 서버에 과부하를 통한 DoS공격을 유발합니다. 


[익스플로잇 영상 바로가기]


2. 원격 코드 실행 취약점


- RIPSTECH에서 발표한 wordpress취약점으로 지난 6년간 패치되지 않은 취약점입니다.

최소수준의 사용자 권한을 가진 상태에서 공격을 시도해야 하기때문에 심각성이 높진 않지만, guest사용자의 경우 모든 권한을 탈취할 수 있는 공격이라고 합니다.


[원격 코드 실행 영상]

[RIPSTECH 설명]



'보안' 카테고리의 다른 글

[보안] 취약점 ppt  (0) 2019.03.22
[보안] 블로그 취약점 분석중(2)  (0) 2019.03.21
[보안] FCKeditor 취약점 조사  (0) 2019.03.21
[보안] Joomla 취약점  (2) 2019.03.21
[보안] 블로그 취약점 분석중  (0) 2019.03.20

문제 : [바로가기]


1. 다음의 공격도구들이 공통적으로 제공하는 기능은?

----------

John the Ripper, Wfuzz, Cain and Abel, THC Hydra

----------

①무차별대입공격

②SQL Injection

③스니핑 공격

④사회 공학 공격


=> 해당 툴들은 모두 Bruceforce attack을 지원하는 툴들이다.

사회 공학 공격 : (정보수집 → 관계형성 → 공격 → 실행) 의 절차로 실행되며, 신뢰관계에 있는 사람을 이용하는 기법



2. 괄호 안에 들어갈 말로 옳은 것은?

----------

운영체제의 구조는 이중 모드(dual mode)로 되어있는데, 이는 사용자 모드(user mode)와 커널 모드(kernel mode, 또는 운영체제 실행 모드)이다. 이 중 사용자 모드는 특권 명령어를 사용할 수 없으며, 이러한 경우에 사용자 프로세스는 운영체제에게 도움을 요청하게 되는데 이를 (   )(이)라 한다. 즉, (    )(은)는 실행중인 프로그램과 운영체제 사이에 인터페이스를 제공하는 것이다.

----------

①시스템 관리(system management)

②시스템 호출(system call)

③프로세스 관리(process management)

④스케쥴링(scheduling)


=> System call은 OS의 커널이 제공하는 서비스에 대해서 접근하기 위한 인터페이스 이다.


3. 다음을 운영체제의 5계층에 따라 계층별로 올바르게 나열한 것은?

----------

1. 프로세서 관리

2. 파일 관리

3. 메모리 관리

4. 주변장치 관리

5. 프로세스 관리

----------

①1-3-5-4-2

②1-3-5-2-4

③5-4-2-3-1

④5-1-2-4-3


★운영체제 5계층 정리

운영체제는 총 5계의 계층으로 나눠진다고 합니다.


1. 프로세서 관리 : 프로세스들의 순서를 정하는 일을 담당(스케줄링)

2. 메모리 관리 : 메모리의 할당, 회수 역할을 담당(프로그램이 사용할 메모리 공간을 확보함)

3. 프로세스 관리 : 프로세스를 생성하거나 제거

4. 주변장치 관리 : 말그대로 키보드나 마우스같은 주변장치와 입출력 장치들의 스케줄링 관리

5. 파일 관리 : 파일의 생성과 삭제, 복사 같은 관리


운영체제의 가장 핵심적인 역할은 커널! 커널은 OS의 다른 모든 부분에 여러가지 기본적인 서비스를 제공합니다. 


4. 휘발성 증거들의 수집 순서를 우선순위가 높은 것부터 올바르게 배열한 것은?

①레지스터와 캐시, 시스템 메모리의 내용, 임시파일시스템, 디스크의 데이터

②시스템 메모리의 내용, 레지스터와 캐시, 임시파일시스템, 디스크의 데이터

③레지스터와 캐시, 임시파일시스템, 시스템 메로리의 내용, 디스크의 데이터

④레지스터와 캐시, 디스크 데이터, 시스템 메모리의 내용, 임시파일 시스템


=> 휘발성 증거 수집은 가장 휘발성이 높은 데이터부터 수집해야 함, 언제든지 증거물이 남아있는 하드나 디스크가 그러므로 가장 후순위임


5. cron 테이블에 대한 설명이다. 매주 토요일 오전 10시 정각에 mytest를 실행시키기 위한 내용으로 맞는 것은?

①0 10 6 * * mytest

②0 10 * * 6 mytest

③0 10 * 6 * mytest

④0 10 6 * * mytest


=> cron은 스케줄링 할때 씀, cron 구문 : 분 시 일 월 요일 Data ^^


6. 사용자가 자신의 홈 디렉터리 내에서 새롭게 생성되는 서브 파일에 디폴트 파일 허가권을 파일 소유자에게는 읽기와 쓰기, 그룹과 other에게는 읽기만 가능하도록 부여하고 싶다. 로그인 셸에 정의해야 하는 umask 설정 값은?

①umask 644

②umask 022

③umask 330

④umask 033


=> 사용자 : 6 나머지 : 44


7. cron에 대한 설명으로 옳지 않은 것은?

①정기적인 작업을 지정시간에 처리하기 위해 사용한다.

②cron에 의해 수행된 작업에 관한 로그는 기본적으로 /etc/default/cron 파일에 저장된다.

③시간별, 일별, 주별, 월별로 작업을 정의할 수 있다.

④/etc/crontab 파일에 처리할 작업 목록이 정의되고 저장되어 있다.


=> cron은 /var/log/cron에 로그가 남음


8. 개인 PC 보안에 관한 점검 사항으로 적절하지 않은 것은?

①디렉터리(데이터 공유), 페스워드 미설치 점검

②바이러스 백신을 활용한 바이러스 웜 점검

③화면 보호기 암호 설정

④라우팅 테이블 점검


=> ;;;;


9. 하드웨어와 소프트웨어 설치 드라이버 설정에 대한 정보를 포함하고 있는 윈도우 레지스트리 키(Registry Key)는?

①HKEY_LOCAL_MACHINE

②HKEY_CLASS_ROOT

③HKEY_CURRENT_USER

④HKEY_USERS


=>HKEY_LOCAL_MACHINE : 사용중인 드라이버 정보 등 하드웨어 정보나 소프트웨어 정보가 들어있다.

    HKEY_CLASS_ROOT : 파일의 각 확장자에 대한 정보

    HKEY_CURRENT_USER : 현재 로그인된 사용자에 대한 설정 정보

    HKEY_USERS : 이전에 로그인헀던 사용자들을 위해 초기화 파일을 보관

    HKEY CURRENT CONFIG : 현재 사용중인 윈도우와 디스플레이 정보


10. 다음 xinetd에 대한 설정으로 틀린 설명은?

----------

#cat telnet

service telnet

{

  disable = no

  flags = REUSE

  socket_type = stream

  wait = no

  user = root

  server = /usr/sbin/in.telnetd

  log_on_failure += USERID

}

----------

①현재 tenet 서비스는 동작 중에 있다.

②wait 값이 no인 것으로 보아 단일 쓰레드로 실행됨을 알수 있다.

③소켓 형태는 스트림 기반의 서비스이다.

④해당 서비스를 실행할 데몬 프로그램은 /usr/sbin/in.telnetd이다.


=> xinetd란? inetd를 확장한 데몬, 단일 스레드와 다중 스레드의 차이는 알아둘 것


11. 버퍼 오버플로우 공격의 대응수단으로 적절하지 않은 것은?

①스택상에 있는 공격자의 코드가 실행되지 못하도록 한다.

②프로세스 주소 공간에 있는 중요 데이터 구조의 위치가 변경되지 않도록 적재 주소를 고정시킨다.

③함수의 진입(entry)과 종료(exit) 코드를 조사하고 함수의 스택 프레임에 대해 손상이 있는지를 검사한다.

④변수 타입과 그 타임에 허용되는 연산들에 대해 강력한 표기법을 제공하는 고급수준의 프로그래밍 언어를 사용한다.


=> 주소를 적재를 고정하면 오히려 취약점이 생김, ASLR기법을 이용해야 한다!(주소고정시 악성코드가 return값을 이용해 ROP를 할수도 있기 때문)

ASLR(Address Space Layout Randomization) 이란? 

프로세스의 가상공간에 어떠한 주소가 매핑될때, 주소의 위치를 프로그램 실행시마다 랜덤하게 변경하는 보안 기법을 말한다. 

이정도만.


12. 다음 중 가장 옳지 않은 것은?

①wtmp : 사용자들이 로그인, 로그아웃한 정보를 가지고 있다.

②pacct : 사용자가 로그인한 후부터 로그아웃할 때까지 입력한 명령과 시간, 작동된 tty 등에 대한 정보를 가지고 있다.

③utmp : 시스템에 현재 로그인한 사용자들에 대한 상태정보를 가지고 있다.

④btmp : 사용자별로 가장 마지막에 로그인한 시간과 접속 IP, tty 등에 대한 정보를 가지고 있다.


=>  wtmp : 사용자들의 로그인, 로그아웃 정보

utmp : 시스템에 현재 로그인한 사용자 상태정보

btmp : 5번 이상 로그인에 실패한 정보, lastb 명령어? 로 확인

- lastb : /var/log/btmp의 목록을 출력, last : /var/log/wtmp의 목록을 출력한다는것 둘의 차이점은 경로밖에 없음.

pacct : 사용자가 로그인한 후부터 로그아웃할 때까지 입력한 명령과 시간, 작동된 tty등에 대한 정보를 가지고 있음 

(tty : 콘솔, tty,pty,pts,CLI,터미널,쉘 차이점 알아두면 좋을 듯 https://blog.inidog.com/p/20170306208)

lastlog : 사용자별로 가장 마지막에 로그인한 접속 IP, tty등에 대한 정보


13. 다음에서 설명하는 악성코드는 무엇인가?

----------

이 악성코드는 컴퓨터 시스템에 저장된 사용자 문서 파일을 암호화하거나 컴퓨터 시스템을 잠그고 돈을 요구하는 악성 프로그램으로 전자메일이나 웹사이트 등 다양한 경로를 통해 감염된다. 이러한 악성코드로는 크립토월, 크립토락커, CoinVault 등이 대표적으로 알려져 있다.

----------

①바이러스

②루트킷

③웜

④랜섬웨어


=>루트킷 : 공격자가 시스템에 몰래 침입하기 위해서 심어두는 프로그램(?)을 의미 (백도어라고 생각해도 되는지 모르겠음;)


14. 스택 버퍼 오버플로우 공격의 수행 절차를 순서대로 바르게 나열한 것은?

----------

ㄱ. 특정 함수의 호출이 완료되면 조작된 반환 주소인 공격 셸 코드의 주소가 반환된다.

ㄴ. 루트 권한으로 실행되는 프로그램 상에서 특정 함수의 스택 버퍼를 오버플로우시켜서 공격 셸 코드가 저장되어 있는 버퍼의 주소로 반환 주소를 변경한다.

ㄷ. 공격 셸 코드를 버퍼에 저장한다.

ㄹ. 공격 셸 코드가 실행되어 루트 권한을 획득하게 된다.

----------

①ㄱ-ㄴ-ㄷ-ㄹ

②ㄱ-ㄷ-ㄴ-ㄹ

③ㄷ-ㄴ-ㄱ-ㄹ

④ㄷ-ㄱ-ㄴ-ㄹ


=> 공격 셸 코드를 버퍼에 저장 -> ROP -> 주소가 바뀐 후 셸코드 실행 -> 루트권한 탈취


15. Process ID(PID) 1번을 가지고 있는 프로세스는 무엇인가?

①init

②부트로더

③OS 커널

④BIOS


=> PID 1번은 무적권 init 프로세스 (ps -ef)


16. 백도어를 사용하여 접근하는 경우 정상적인 인증을 거치지 않고 관리자의 권한을 얻을 수 있다. 이에 대한 대응책으로 옳지 않은 것은?

①주기적으로 파일의 해쉬값을 생성하여 무결성 검사를 수행한다.

②불필요한 서비스 포트가 열려있는지 확인한다.

③윈도우의 작업관리자나 리눅스시스템의 ps 명령어를 통해 비정상적인 프로세스가 있는지 확인한다.

④promiscuous로 변경되어 있는지를 주기적으로 검사한다.


=> promiscuous mode는 무차별 모드이다. 무차별모드는 아무거나 막받아들이는거 즉 네트워크 내의 모든 패킷을 받아들인다.

어떤 인터페이스에 무차별 모드로 돌아가고 있다면 스니퍼를 의심해볼만 하다.


17. 해킹기법과 그 대응책에 대한 설명으로 옳지 않은 것은?

①Buffer Overflow 공격 : 프로그래밍 시 경계값 검사를 적용하고 최신 운영체제로 패치

②Format String Bug 공격 : 데이터 형태(포맷 스트링)에 대한 명확한 정의

③Denial of Service 공격 : MAC 주소값을 고정으로 설정

④SYN Flooding 공격 : SYN Received의 대기시간을 축소


=> MAC주소를 static하게 설정하는건 arp공격에 대한 방어, arp spoofing 같은...



18. 다음 설명에 해당되는 공격 유형은?

----------

버그를 갖고 있는 System Program과 침입자의 Exploit Program이 거의 같은 시간대에 실행되어 System Program이 갖는 권한으로 Exploit Program이 실행되는 경우를 말한다.

----------

①Stack Buffer Overflow

②Format String

③Race Condition

④Synchronization


=>  1,2번은 알고있는 사실이고

Race Condition (경쟁 상태) : 프로세스나 스레드간의 리소르를 확보하기 위해 경쟁을 뜻함

해당 공격시 동일한 이름의 파일을 생성해 컴파일 시 서로간의 경쟁을 때문에 심볼릭 링크 방어시 공격할 수 있음

4번은 뭔지모르겠


19. 리눅스 서버에서 외부의 모든 Ping of Death 공격을 방어하기 위하여 리눅스의 기본 커널 옵션을 조정하려고 한다. 적절한 명령어는?

①sysctl -w net, ipv4, icmp_echo_ignore_all=0

②sysctl -w net, ipv4, icmp_echo_ignore_all=1

③sysctl -n net, ipv4, icmp_echo_ignore_broadcasts=1

④sysctl -n net, ipv4, icmp_echo_ignore_broadcasts=0


=>  sysctl : 커널의 런타임 시에 커널의 파라미터를 변경할 때 사용함 (/proc/sys 디렉토리 밑에있는 커널변수를 제어)

옵션들

- a : 현재 커널 매개변수 값 출력

- p : sysctl 환경변수 파일 (/ect/sysctl.conf)설정 상태 표시

- n : 특정키에 대한 값을 보여줌

- w : 변수에 값을 설정

- A : 테이블형태로 설정가능한 파라미터 보여줌


20. 다음은 크래커 A가 남긴 C소스 코드와 바이너리 파일이다. 이에 대한 설명으로 적합한 것은?

----------

$ls -l

total 20

-rwsr-wr-x 1 root root 1435 Oct 7 21:13 test

-rw-rw-r-- 1 root root 88 Oct 7 21:12 test.c


$ cat test.c

#include 

void main() {

  setuid(0);

  setgid(0);

  system("/bin/bash");

}

----------

①setgid 시스템 콜의 인자를0으로 준 것으로 보아 Race Condition 기법의 공격이다.

②/bin/sh를 실행시키는 것으로 보아 Sniffing 기법이다.

③setuid 시스템 콜의 인자가 0이고 컴파일된 바이너리 파일의 퍼미션이 4755인 것으로 보아 루트 권한을 탈취하는 백도어이다.

④main 함수의 리턴형태가 void 이므로 Format String Attack으로 보인다.


=> 그냥 3번임;


2과목 네트워크보안 -> 짚고갈것만 살펴보겠당


21. 다음 지문에 해당하는 ICMP 오류 메시지는?

----------

데이터그램(Datagram)이 라우터를 방문할 때, 이 필드의 값은 1씩 감소되며, 이 필드 값이 0이 되면 라우터는 데이터그램을 폐기한다. 데이터그램이 폐기될 때 라우터는 오류 메시지를 원 발신지에 송신한다.

----------

①목적지 도달 불가능

②시간 경과

③매개변수 문제

④발시지억제


=> TTL(Time to live) 아시나요 ?


22. 네트워크에 존재하는 많은 종류의 장비 중 리피터에 대한 설명으로 옳지 않은 것은?

①물리계층에서 동작하는 장비이다.

②감쇄되는 신호를 증폭하고 재생하여 전송한다.

③연속적으로 2개 이상의 케이블을 연결함으로써 케이블의 거리 제한을 극복한다.

④이더넷 멀티포트 리피터 또는 연결 집중 장치라고도 한다.


=> 이더넷 멀티포트 리피터 또는 연결 집중 장치라고도 한다 : 허브를 말하는거 같습니다.


23. 다음 중 전문가 시스템(Expert System)을 이용한 IDS에서 사용되는 침입 탐지기법은?

①Behavior Detection

②State Transition Detection

③Knowledge Based Detection

④Statistical Detection


=>  Behavior Detection (이상행위 탐지) : 임계치 기반 탐지를 말할때 많이 쓰이는거 같음

기존의 모델과 현재 모델을 비교해서 이상징후를 판별하면 탐지해냄(SIEM, ESM ? 보안관제 말하는거 같음)

State Transition Dection (상태 전이 탐지) : 공격 패턴을 특정 시스템의 상태변이로 표현한 것.

Statistical Detection (통계 기반 분석) : 과거의 통계자료를 바탕으로 현재 프로세스의 행위를 관찰하여 탐지


25. 다음 지문이 설명하는 것은?

----------

ㅇ 엔드포인트(End-Point) 보안문제를 해결하기 위해 고려된 방식

ㅇ 접근제어를 위한 사용자 인증과 백신 관리, 패치 관리 등 무결성 체크과 같은 핵심 기능 포함

----------

①Network Access Control

②Network Management System

③Enterprise Security Management

④Unified Threat Manager


=> NAC(Network Access Control) : 네트워크 접근 제어, 말단의 장비가 내부망 네트워크에 접속시 제한하는 정책 등을 말함


30. 다음 중 SIEM에 사용되는 프로그램과 가장 거리가 먼 것은?

①SPLUNK

②QRadar

③Arcsight

④EnCase


=> EnCase : 디지털 포렌식 도구


31. VPN 터널에 사용되지 않는 것은?

①IPSec

②PPTP

③SSL

④RTP


=> RTP는 시간동기화 할 때 쓰는걸로 알고있는데,,, rdate랑 차이점


32. 다음 지문은 어떤 종류의 ICMP 메시지를 설명하는 것인가?

----------

데이터를 보내는 호스트에게 IP 데이터그램의 라우터 집중 현상에 의해 패킷이 손실되고 있음을 알리기 위해 라우터가 보내는 메시지

----------

①Source Quench

②Echo Request

③Echo Reply

④Destination Unreachable


=> Source Quench(근원지 억제) : icmp 에러메세지중 하나, 네트워크 상의 통신량이 폭주하여 목적지 또는 라우터 등의 메모리나 버퍼용량을 초과하여 IP 데이터 그램이 유실되면 흐름제어 및 혼잡 제어를 수행함.

Destination Unreachable(목적지 도달 불가) : 라우터가 경로를 찾지 못했을 때 발생.


34. 다음은 IPSec의 AH 프로토콜이 하는 역할에 대한 설명이다. 맞는 것은?

①라우터와 라우터 간의 IP 패킷을 암호화한다.

②단말과 단말 간의 IP 패킷을 암호화한다.

③단말과 라우터 간의 IP 패킷에 대한 송신 인증 및 무결성 서비스를 제공한다.

④단말과 라우터 간의 IP 패킷에 대한 송신 인증, 무결성 그리고 암호화 서비스를 제공한다.


AH / ESP

IPSec의 헤더에는 '인증'과 '암호화'를 위한 두개의 프로토콜이 들어간다. 그게 AH/ESP이다 AH는 암호화기능은 없다라능

AH는 데이터의 인증과 무결성에만 사용되는 제한적 역할, ESP는 인증, 무결성, 암호화 모두사용된다고 한다. (IKE 키교환)

이정도만 숙지하자


38. 다음 중 패킷 필터링 시에 패킷 헤더에서 검출할 수 있는 정보가 아닌것은?

①목적지 IP 주소

②TCP/UDP 소스 포트

③ICMP 메시지 타입

④패킷의 생성 시간


=> 패킷필터링 : 패킷의 출발지 및 목적지 IP 주소 정보, 각 서비스 포트 번호, TCP 접속의 Syn 패킷을 이용하여 접근제어를 할 수 있다.


40. 다음의 공격 방법을 방어하기 위한 침입차단시스템의 유형으로 가장 적절한 것은?

----------

침입차단시스템을 우회하기 위하여 침입차단시스템 내부망에 있는 시스템의 서비스 요청을 받은 것으로 가장하여 패킷을 전송한다.

----------

①응용레벨 게이트웨이

②회로레벨 게이트웨이

③패킷 필터링 라우터

④상태검사 패킷 필터


=>  응용레벨 게이트웨이 : 내부 서버 보호가 주목적이며 응용서비스마다 각각 다른 응용 게이트웨이를 구현함. 패킷당 많은 처리를 요하기때문에 프락시보다 느림

회선수준 게이트웨이 : 내부 네트워크사이의 안전한 프락시를 위해서 사용 내부 네트워크안의 호스트 보호가 주목적

패킷필터링 라우터 : ACL을 기반으로 동작, 패킷 헤더외에 조사하지않기 때문에 보안성은 낮음


41. 다음 중 이메일(E-mail) 송수신을 위해서 사용되는 프로토콜로 가장 적절하지 않은 것은?

①SMTP

②POP3

③IMAP

④SNMP


=> SMTP랑 헷갈리라고 낸거같은데 속지않는다


42. 전자 상거래에 활용되는 암호화에 대한 설명이 적당하지 않은 것은?

①전자상거래에 사용되는 암호시스템은 공개키보다 대칭키를 사용하는 시스템이다.

②전통적으로 정보의 보안을 유지하는 가장 효과적인 방법은 암호화를 도입하는 것이다.

③암호화(Encryption)는 데이터를 읽을 수 없는 형태로 만드는 것을 의미한다.

④암호를 이용한 방법은 자격이 없는 임의의 방문자로부터 정보를 숨김으로써 개인의 프라이버시를 보장하는데 의의가 있다.


=> 전자상거래에 사용되는 암호시스템은 공개키를 사용한다. 의아한점은 3번을보면서 스테가노그래피 떠올라서 딱 3번찍었지만 오답이었음 오답이맞는가?


44. 다음 OTP의 생성 방식은 무엇인가?

----------

OTP 토큰과 OTP 인증서버의 동기화된 인증 횟수를 기준으로 사용자가 인증을 요청할 때마다 OTP 값을 생성한다.

----------

①질의-응답 방식

②이벤트 동기화 방식

③시간 동기화 방식

④S/KEY 방식


=>  질의 응답 방식 : 서버에서 난수를 생성하면 클라이언트가 그 값으로 OTP를 생성하여 응답한 값으로 인증하는 방식

시간 동기화 방식 : C-S간의 시간동기화가 정확하지 않으면 인증에 실패하게됨

S/KEY 방식 : Hash-chain을 이용한 OTP 생성 방식. 시도할 때마다 다른 값이 나오므로 보안성이 뛰어남


50. 다음 중 커버로스(Kerberos)의 특징이 아닌 것은?

①재생공격을 예방할 수 있다.

②데이터의 무결성을 제공한다.

③타임스탬프는 필요하지 않다.

④대칭키를 이용한 기밀성 제공이 가능하다.


KERBEROS

- KERBEROS는 MIT 공대에서 개발한 IETF 표준 네트워크 인증 시스템이다. 커버로스는 '대칭키'암호를 사용하며 중앙 인증 서버(TGS)를 사용한다.

다음과 같은 하기 이미지로 한방에! 설명이 가능하다 (https://m.blog.naver.com/s2kiess/220335809677)

52. 컴퓨터 메모리는 사용되는 방식에 따라 여러 개의 영역으로 나누어 생각할 수 있는데 프로그램 실행 중 함수 호출 시 생성되는 지역변수와 매개변수가 저장되었다가 함수가 종료되면 시스템에 반환되는 영역은 무엇인가?

①Text 영역

②Data 영역

③Stack 영역

④Heap 영역


=> 스택과 힙에 대해서 엄청나게 잘 정리해놓은 블로그가 있다?! https://dsnight.tistory.com/50


55. 다음 중 포맷 스트링 취약점 점검 툴이 아닌 것은?

①gdb

②objdump

③ltrace

④tcpdump


=> tcpdump -ni any any host $Home_Network ^^ tcpdump는 스니핑도구 입니다~!


56. 다음은 웹서버 로그에서 볼 수 있는 상태코드로 HTTP/1.1에서 정의한 것이다. 이 중 잘못된 것은?

①304 : Not Modified

②403 : Forbidden

③404 : Method Not Allowed

④504 : Gateway Timeout

  

=> http 상태코드표 404 오류는 Not Found를 반환

100번대 : 조건부응답

200번대 : 성공

300번대 : 리다이렉션

400번대 : 요청 오류

500번대 : 서버 오류


59. S/MIME은 기존 전자우편 보안시스템인 PEM의 구현 복잡성, PGP의 낮은 보안성 등을 보완한 프로토콜이다. 다음 중 S/MIME이 달성하고자 하는 목표가 아닌 것은?

①강력한 암호화

②디지털 서명

③상호 운영성

④키 관리의 간소화


=>  S/MIME(Secure MIME) : 전자우편 전송 보안 프로토콜 중의 하나. PEM의 구현복잡성과 PGP의 낮은 보안성을 보완한 전자우편 시스템이다.


60. 소프트웨어 수명주기 모델 중 프로토타입 모델의 장점으로 가장 적절한 것은?

①개발비용의 절감

②4세대 언어의 적용

③개발단계의 명확성

④사용자 요구사항의 정확한 파악


=>  폭포수 모델 : 정해진 '단계'별로 구체적인 결과를 만들어냄. 각 단계가 확실히 끝나야 다음단계로 넝어간다.

프로토타입 모델 : 고객의 니즈에 따라서 프로토타입을 개발 또는 폐기

나선형 모델 : 폭포수 + 프로토타입 + 위험분석, 위험분석과 개발을 동시에 진행함

객체지향 개발 모형 : 프로그램을 객체와 객체간의 인터페이스로 구성하기 위해서 이들의 관계를 식별하여 설계 모델로 반환

애자일 방법론 : 소규모 소프트웨어 개발에 용이, 절차와 단계가 아닌 일정한 주기를 가지고 끊임없이 프로토타입을 생성해내며 마지막에 하나의 커다                       란 소프트웨어를 탄생시킨다.


63. 스트림 암호에 관한 설명으로 잘못된 것은?

①이진 수열(비트)로 된 평문과 키 이진 수열 비트 단위로 XOR하여 암호화 한다.

②암호화 알고리즘에 치환변환과 전치변환이 주로 쓰인다.

③주로 유럽을 중심으로 발전하였으며 군사용으로 쓰인다.

④일회용 패드는 스트림 암호화의 한 예이다.


=>  스트림 암호 : 데이터 스트림을 순차적으로 처리해가는 암호 알고리증믜 총칭

블록 암호 : 어느 특정 비트 수의 집합을 한 번에 처리하는 암호 알고리즘을 총칭(DES, 3DES, AES...)


66. 최근 입사하여 소속 부서의 프린터 관리를 담당하게 된 홍길동은 이전 담당자의 자원 접근 권한을 그대로 인계 받아 업무를 수행하게 되었다. 이러한 상황과 가장 관련성이 높은 접근 통제 기술은 무엇인가?

①강제적 접근통제(MAC)

②임의적 접근통제(DAC)

③역할기반 접근통제(RBAC)

④다단계 보안정책(MLS)


=>  MAC : 사용자들은 자원에 대한 권한을 관리자로부터 부여받는다. (관리자만이 모든걸 ㅇㅇ)

DAC : 자원에 대한 접근을 사용자의 계정에 기반한다.

RABC : 자원에 대한 접근을 사용자의 역할에 따라서 기반한다. 


67. 일방향 해시(hash) 함수 MD5의 출력 해시 크기는?

①128비트

②256비트

③512비트

④1024비트


=> 일방향 해시함수 : 무결성을 확인하기 위한 방법, 기본적으로 해시는 본래의 데이터를 알아낼수 없도록 일방향성을 가지며 충돌내성이 있거나 없는 알고리즘이 있다. MD시리즈는 모두 충돌내성이 없으며 SHA시리즈에 0,1은 충돌내성이 없다. (충돌내성이란 ? https://www.crocus.co.kr/1211)



68. 아래 지문에 가장 적합한 세션키(Session Key) 키 분배 방법은?

----------

A가 생성한 세션키를 B에게 분배하고자 할 때 A는 자신이 생성한 B의 공개키로 암호화하여 B에게 보낸다. 이를 받은 B는 자신의 개인키로 복호화하여 세션키를 얻는다. 이렇게 하면 A와 B는 같은 키를 공유하게 된다.

----------

①Diffie-Hellman 키 분배

②KDC 기반 키 분배

③RSA 알고리즘을 이용한 키 분배

④Needham-Schroeder 키 분배


=>  RSA 알고리즘 : 수신과 송신의 관계에서 송신자가 수신자의 공개키로 암호화를 하여 보내면 수신자는 자신의 개인키로 복호화한다.


70. 다음 중 아래 괄호 부분에 들어갈 내용으로 적합한 것은?

----------

( ㄱ ) 기술은 암호화와 복호화에 서로 다른 키를 이용하는 압호 비법으로 메시지의 기밀성을 제공하기 위해 사용되며, 이는 ( ㄴ ) 기술에 비해 속도가 매우 느리기 때문에 하이브리드 암호 방식으로 사용된다. ( ㄱ ) 기술은 ( ㄴ )의 키 배송 문제를 해결할 수 있지만, 중간자 공격에 의해 위장공격이 가능하기 때문에 ( ㄷ )을 이용한 공개키 인증이 필요하다.

----------

①ㄱ : 일방향 해시함수, ㄴ : 대칭키 암호, ㄷ : 공개키 암호기술

②ㄱ : 일방향 해시함수, ㄴ : 메시지 인증코드, ㄷ : 전자 서명

③ㄱ : 공개키 암호, ㄴ : 메시지 인증코드, ㄷ : 대칭키 암호기술

④ㄱ : 공개키 암호, ㄴ : 대칭키 암호, ㄷ : 전자서명


=> 문제 자체가 좋은듯


73. 암호 해독자가 일정량의 평문에 해당하는 암호문을 알고 있을 경우 암호 키를 찾아내는 암호 공격 방식은?

①암호문 단독 공격

②기지 평문 공격

③선택 평문 공격

④선택 암호문 공격


=>  암호문 단독 공격 : 가장 원초적인 공격

기지 평문 공격 : 암호의 일부분을 알고있을 때 사용함, 암호문과 평문과의 관계를 이용해 새로운 암호문을 알아냄

선택 평문 공격 : 선택된 평문들에 대한 암호문에서 복호화를 시도함

선택 암호문 공격 : 선택된 암호들에 대한 평문을 얻을 수 있다는 전제하에 시도


74. 접근통제 모델 중 기밀성을 강조한 최초의 수학적 모데롤 시스템 보안을 위한 규칙 준수 규정과 주체의 객체 접근 허용 범위를 규정한 것으로 옳은 것은?

①벨-라파듈라 모델

②비바 모델

③클락-윌슨 모델

④만리장성 모델


=>  벨-어쩌구 모델 : 미국방부에서 나왔다고 한다. 수학적 모델이다 No read up, no write down (단순보안속성, 성형속성)

비바모델 : 위의 모델의 무결성을 보완한 모델, 속성은 반대. No read down, no write up

클락-윌슨 : 비바모델의 상용버전 접근주체는 프로그램을 통해서 리소스에 접근

만리장성 : 같은 시스템에 있더라도 주체에 따라서 자원의 접근이 다르도록 하는거



78. 다음은 어떤 전자서명 방식에 대한 설명인가?

----------

1. 미국의 NIST에서 발표한 표준 전자서명 방식이다.

2. DSA 알고리즘을 사용한다.

3. 트랩도어가 존재할 가능성이 있다.

4. Schnorr 방식과 비슷한 구조를 가지고 있다.

----------

①KCDSA

②DSS 

③FFS 

④ElGamel


=>  KCDSA : 이산대수 방식의 전자 서명 알고리즘

DSS : dsa 알고리즘 사용, ElGamel에 기반함

FFS : ?? ;;;

ElGamel : 디피 -헬먼 키를 바탕으로한 공개키 암호방식





'보안기사' 카테고리의 다른 글

13회 정보보안기사 필기후기  (2) 2019.03.24


패킷이 전송될 때 하나의 세션에 포함되는 패킷들이 반드시 동일한 방화벽을 통해서 전달되는 것은 아니다. 

따라서 방화벽을 이중화하여 구성함에 있어서, 각각의 방화벽에서 패킷 검사가 정상적으로 수행되기 위해서는 이중화된 방화벽 사이에 세션의 상태 정보(이하, 세션 정보)가 동기화되어야 한다. 뿐만 아니라, 하나의 방화벽에 오류가 발생하여 모든 패킷이 다른 한 방화벽에만 전송되는 경우에 도 마찬가지로 패킷 검사를 정상적으로 수행하기 위해서는 이중화된 방화벽 사이에 세션 정보가 동기화되어야 한다.

'Network' 카테고리의 다른 글

[Network] NAT  (0) 2018.11.21
[Network] VRRP  (0) 2018.11.21
[Network] 커널패닉  (0) 2018.11.21
[Network] LLCF  (0) 2018.11.21
[Network] Traceroute VS Tracert  (0) 2018.11.21

NAT

NAT(Network Address Translation)의 약자로써 네트워크 주소 변환을 의미합니다.

NAT의 종류는 여러가지가 있지만 현재 우리 NGFW에서 지원하는 NAT의 종류는 4가지가 있습니다.


1)     XNAT(eXclude NAT) : 해당 출발지 목적지에 대해서는 NAT를 제외합니다.

2)     SNAT(Source NAT) : 출발지에 대해서 NAT를 수행합니다.

3)     DNAT(Destination NAT) : 목적지에 대해서 NAT를 수행합니다.

4)     FNAT(Full NAT) : SNAT + DNAT, 출발지와 목적지 두 개에 대해서 NAT를 수행합니다.


보안존의 관점에서 NAT를 썼던 걸 생각해보면 SNAT내부’=>’외부보안존으로 갈 때 사용하는 NAT이고 DNAT의 경우는 외부’=>’내부의 보안존으로 갈 때 사용하는 NAT입니다.

             DNAT 예제)

ð  실제 테스트망에 Breaking Point 들여올 때 낸 퀴즈입니다.


10.0.6.203에 대해서 10.0.5.0/24 에 대해서 대역대가 다르기 때문에 이럴 때 DNAT를 사용합니다.

PC사용자 예를들어 10.0.50.52에서 10.0.6.203으로 접속 시 목적지에 대해서 10.0.6.203 10.0.5.x의 대역대로 변환해 줌으로 써 통신이 되도록 하는 것입니다.

             Full NAT 예제)

ð  출발지와 목적지를 둘 다 NAT 시킵니다. 실제로 설치해보면서 어떻게 동작하는지 배울 수 있었습니다.


139 Full NAT


NAT시 우리가 흔히 말하는 일반 NAT IPv4 NAT를 의미합니다. NAT는 버전에 따라 3가지 종류로 구분 할 수 있겠습니다.

1)     일반 NAT (IPv4)

2)     NAT64 (IPv6 -> IPv4)

3)     NAT46(IPv4 -> IPv6)

다음으로 NAT의 유형에 대해서도 정리 해보겠습니다.

1)     Static NAT(1:1) : 사설,공인 IP에 대해서 1:1맵핑을 시켜줌, 외부->내부 접속시 사용

2)     NAT-PAT(N:1) : 다수의 사설 IP 1개의 공인 IP로 변환 시킴 (공유기)

3)     Dynamic NAT(N:M) : 대역과 대역간의 NAT를 시킬 때 사용


'Network' 카테고리의 다른 글

[Network] 방화벽 이중화  (0) 2019.02.15
[Network] VRRP  (0) 2018.11.21
[Network] 커널패닉  (0) 2018.11.21
[Network] LLCF  (0) 2018.11.21
[Network] Traceroute VS Tracert  (0) 2018.11.21

VRRP(Virtual Router Redundancy Protocol)

VRRP 여러 대 (최소 2대 이상) Router를 하나의 group으로 묶어서, Client가 바라보는 Gateway에 대한 IP Address를 공유하며, Priority가 높은 Router가 동작하다가, Router에 문제가 발상하면, 그 다음 Priority를 가진 Router Active role를 가지고 Gateway IP Address를 넘겨 받아 동작하여, Client 입자에서는 Router의 장애와 관계 없이 Gateway IP Address를 변경하지 않고 Data를 전달합니다.


실제로 꾸며봤던 VRRP 망 입니다.

위아래 이중으로 VRRP를 걸고 137 eth1에 대해서 장애가 발생 했을 때의 llcf 동작과 함께 VRRP master-backup 동작을 테스트 해봤었습니다. 실제로 137 eth1번이 장애로 인해 끊어졌을 시 eth2 llcf로 인해서 같이 끊어짐과 동시에 138번이 master 역할을 가져가는 동작을 확인하였고 master를 가져감과 동시에 VIP를 가져오는 걸 확인 하였습니다. 


'Network' 카테고리의 다른 글

[Network] 방화벽 이중화  (0) 2019.02.15
[Network] NAT  (0) 2018.11.21
[Network] 커널패닉  (0) 2018.11.21
[Network] LLCF  (0) 2018.11.21
[Network] Traceroute VS Tracert  (0) 2018.11.21

+ Recent posts