IT관련/정보보안기사

[정보보안기사 5회] 실기 기출문제

어플읽는남자 2023. 6. 9.
반응형

 

단답형

1. 다음의 빈 칸에 적절한 용어를 기술하시오

Unix 시스템에서 대중적으로 사용하는 파일시스템 Ext는 Ext2, Ext3, Ext4로 지속적인 업데이트가 이루어져 현재까지
Unix 계열 서버 및 Android시스템 등에서 널리 사용되고 있다. Ext2 파일 시스템에서는 캐시에 저장되어 있는 데이터를 디스크로 저장하는 도중 시스템 크래시 등 문제로 파일 시스템이 손상되는 단점이 있다. 이를 해결하기 위해 fsck라는 파일 시스템 복구 기능을 제공하지만, 시간 소요가 크고 파일시스템이 큰 경우 복구 중 파일시스템을 정상적으로 이용불가한 문제점이 있다.
이를 보완하기 위해 Ext3는 (     )이라는 기술을 추가하였다. 이 기술을 통해 시스템의 무결성과 뛰어난 복구 기능까지 탑재하였다.
(     )은/는 데이터를 쓰기 전에 로그에 남겨 시스템의 비정상적인 종료가 발생해도 로그에 지정된 데이터를 이용하여 fsck보다 빠르게 안정적인 복구를 제공할 수 있게 되었다.
더보기

답 : 저널링(Journaling)

Ext2 파일시스템에서 사용하는 fsck의 시간이 오래 걸리는 단점을 보완한 파일시스템 복구 기술로, 복구 시간을 단축하기 위해 데이터를 디스크에 쓰기 전에 로그에 남겨 시스템의 비정상 종료시에도 로그를 사용하여 fsck보다 빠르고 안정적인 복구기능을 제공한다.

즉, Ext2는 파일시스템 복구를 위해 슈퍼블럭, 아이노드 등을 모두 검사해야 하지만, Ext3는 저널링 기술을 이용하여 파일을 수정하기 전에 로그에 수정된 내용을 저장하기 때문에 로그만 검사하여 속도와 복구성을 향상시켰다.

 
2. 다음의 빈 칸에 들어갈 알맞은 용어를 서술하시오

(    )는 공통 취약점 및 익스포저의 약자이며 정보 보안 취약점 표준 코드를 의미합니다. (    )는 다양한 취약점을 통일해 고유한 넘버링을 부여한 것입니다.(    )는 장치, 시스템, 프로그램 해킹에 악용될 수 있는 컴퓨터 보안 취약성 및 시스템 결함에 부여됩니다. 도출된 취약점은 미국의 비영리기관인 MITRE의 테스트를 거쳐 호환성이 충족된 보안제품과 서비스에 한해 등록이 가능합니다.
더보기

답 : CVE(Common Vulnerabilities and Exposures)

CVE 형식 : CVE-[취약점이 발견된 연도]-[취약점 번호] 예) CVE-2022-34993

 
3. 서버 관리자는 Telnet 서버의 전송속도가 느려졌다는 보고를 받고 서버의 상태를 점검하다가 하기 로그파일을 확인하였다. 문제의 원인은 어떤 공격을 수행한 것인지 기술하시오(서버주소는 192.168.0.10이고, nestat -an 명령을 수행한 결과이다.)

tcp 0 0 192.168.0.10:23  xx.xx.xx.xxx:2013 SYN_RECV
tcp 0 0 192.168.0.10:23  xx.xx.xx.xxx:52013 SYN_RECV
tcp 0 0 192.168.0.10:23  xx.xx.xx.xxx:3013 SYN_RECV
tcp 0 0 192.168.0.10:23  xx.xx.xx.xxx:15313 SYN_RECV
tcp 0 0 192.168.0.10:23  xx.xx.xx.xxx:63213 SYN_RECV
tcp 0 0 192.168.0.10:23  xx.xx.xx.xxx:30521 SYN_RECV
tcp 0 0 192.168.0.10:23  xx.xx.xx.xxx:50636 SYN_RECV
tcp 0 0 192.168.0.10:23  xx.xx.xx.xxx:40817 SYN_RECV

 

더보기

답 : TCP Syn Flooding 공격

정상적인 연결일 경우라면 클라이언트로부터 SYN+ACK에 대해 ACK응답을 받아 연결설정이 완료되지만, 해당 로그파일을 확인해보면 서버 측에서 SYN_RECV 상태로 다수의 연결 설정중인 소켓 상태가 확인되고 있다. 즉, 해당공격은 backlog queue를 가득 채우는 기법으로 3way-handshaking 연결 방식의 구조적 문제점을 이용한 공격이다.

이는 공격자가 출발지 IP를 스푸핑하여 다수의 요청을 발생시키고 위조된 출발지 주소이기 때문에 SYN+ACK에 대한 정상 ACK응답이 대부분 발생하지 않는 TCP SYN Flooding 공격이 수행되고 있음을 알 수 있다.

  
4. 다음은 웹방화벽에서 탐지된 로그의 일부이다. 공격자가 수행한 공격명을 서술하시오.

Matched pattern
or 1 = 
Packet Header:
POST/wp-login.php HTTP/1.1
Accept: image/jpeg, application/x-ms-application, image/gif, ..
Referer : https://www.Tistory.com/
Accept-Language: ko-KR
User-Agent: Mozilla/4.0 ...
...
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: PHPSESSID=....
Raw body:
log = root&pwd=%27+or+1%3d1--&wp-submit=%EB%A1%9C%EA...

 

더보기
답 : SQL Injection※ URL Encoding 문자열은 알아두어야 한다.   %27 : single quotation mark(')   %3D : equal mark(=)    + : space mark(빈칸)   위를 토대로 요청 메시지 바디를 확인해보면

    log = root&pwd=' or 1=1--&wp-submit=.....

HTML URL 인코딩 참조 (w3schools.com)

5. 다음은 개인정보보호법 제29조에 의한 "개인정보의 기술적, 관리적 보호조치" 기준에 명시된 사항에 대해 설명한 것이다. 빈칸에 들어갈 알맞은 내용을 서술하시오.

(1) 정보통신서비스 제공자 등은 개인정보처리시스템 접근 권한 부여, 변경 또는 말소에 대한 내역을 기록하고 그 기록을 최소         (  A  )간 보관한다.
(2) 정보통신서비스 제공자 등은 개인정보취급자가 개인정보처리시스템에 접속한 기록을 (  B  )이상 정기적으로 확인,감독하며
     시스템 이상 유무의 확인 등을 위해 최소 (  C  ) 이상 접속기록을 보존,관리하여야 한다.
더보기

답 : (A) 5년 (B) 월1회 (C) 1년

(A) 5년 - 개인정보의 기술적,관리적 보호조치 기준의 제4조 접근통제 3항에 보면 5년간 보관한다고 되어 있다.

 (B) 월1회 (C) 1년 - 개인정보의 기술적,관리적 보호조치 기준의 제5조 접속기록의 위,변조 방지 1항에서 월1회 , 1년 이상 보존하여야 한다고 되어있다.

(개인정보보호위원회) 개인정보의 기술적·관리적 보호조치 기준 | 국가법령정보센터 | 현행행정규칙 > 규칙명 (law.go.kr)

※법령은 위 사이트를 통해 개정내용을 반드시 확인한다.

6. 다음의 빈칸 (A), (B)에 적절한 용어를 서술하시오.

(  A  ) 은/는 데이터베이스와 연동된 웹 어플리케이션에서 공격자가 입력 폼 및 URL 입력란에 SQL문을 삽입하여 DB로부터 정보를 열람(또는 조작)할 수 있는 공격방법이다.
(  B  ) 은/는 서버 측에서 실행될 수 있는 스크립트파일이 업로드 가능하고, 이 파일을 공격자가 웹을 통해 직접 업로드 시킬 수 있는 경우 시스템 내부의 명령어를 실행하거나 외부와 연결하여 시스템을 제어하는 공격방법이다.
더보기

답 : (A) SQL 인젝션 공격 (B) 파일 업로드 공격

 

▷ 파일 업로드 공격 :  파일 업로드 기능이 존재하는 웹 어플리케이션에서 업로드 파일에 대한 적절한 제어를 하지 않는 경우 허가되지 않은 파일들이 웹서버로 업로드 될 수 있다. 업로드하는 파일의 타입이나 확장자를 체크하지 않고 업로드하는 경우 웹쉘이 업로드되어 서버에 악의적인 명령이 수행되거나 악성코드 파일이 업로드 되어 이를 다운 받은 사용자 PC가 침해사고를 당할 수 있다. 업로드 하는 파일의 개수나 크기에 제한을 두지 않을 경우 공격자는 다량의 아주 큰 파일을 연속적으로 전송하여 시스템 부하나 장애를 일으킬 수 있다.

▷ 웹쉘(Webshell) : 악의적인 목적으로 웹서버 내 임의의 명령을 실행할 수 있는 서버 사이드 스크립트 파일을 말하며, 다양한 언어(JSP, PHP, ASP 등)로 만들어진다.

[Webhacking] 파일 업로드 취약점 공격 (tistory.com)

 
7. 다음의 빈 칸 (A), (B), (C)에 들어갈 적절한 용어를 서술하시오.

(23년 1회 동일하게 출제_23년 4월22일 시행) 

원격에서 운영체제의 명령어를 실행할 수 있는 취약점으로, 명령어를 실행할 수 있는 페이지를 include한 경우 명령어 삽입을 통한 공격이 가능하다. 이러한 취약점을 방지하기 위해서는 관리자는 소스 코드에 (  A  )문이 존재하는지 검증하고, 외부 사이트의 파일을 삽입하는 것을 차단하기 위해 PHP 웹서버는 설정 파일인 (  B  ) 파일에서 allow_url_fopen을 (  C  )값으로 설정한다.
더보기

답 : (A) include/require (B) php.ini (C) Off

파일 삽입 취약점은 공격자가 악성 서버 스크립트를 서버에 전달하여 해당 페이지를 통해 악성코드가 실행되도록 하는 취약점을 말한다. 삽입할 악성 서버 스크립트 파일의 위치가 로컬 서버에 위치하면 LFI(Local File Inclusion), 원격지에 위치하면 RFI(Remote File Inclusion)으로 분류된다.

allow_url_fopen 기능은 PHP에서 include, require 등의 함수를 이용하여 외부파일을 URL 형식으로 읽어올 수 있도록 해주는 기능으로 보안에 취약한 설정이므로 허용하지 않는 것이 좋다.

allow_url_fopen = off이면 웹셀 파일 include를 시도하면 파일접근이 불가하다는 경고 메시지가 반환된다.

 
8. 다음의 빈 칸 (  A  ), (  B  ), (  C  )에 들어갈 적절한 용어를 서술하시오.

정보자산에 대한 잠재적 및 알려진 (  A  )과 (  B  )으로 인해 발생할 수 있는 조직의 피해와 현재 구현된 통제의 실패 가능성 및 영향을 평가 할 시에는 (  C  ) 을/를 포함하여야 한다. 이를 통해 정보자산의 위험을 관리할 수 있는 적절한 정보보호대책 선택 및 우선순위의 확보를 지원하여야 한다.
더보기


답 : (A) 취약점 (B) 위협 (C) 위험 허용 수준(Degree Of Assurance, DOA)\

 

 수용 가능한 위험수준(DoA) 설정과 관리

취약성 분석된 결과를 종합하여 위험도를 결정하고, 위험도 구간에 따른 위험처리 전략을 결정하기 위해 수용 가능한 위험수준(DoA)을 정한다. 이를 정하기 위해 정보보호 조직과 관련 부서의 협의를 거치며, 정보보호조직만의 검토로 결정이 이루어져서는 안된다. DoA이상의 위험은 위험을 줄여야 하는 수준으로 판단하고 위험 감소를 위해 요구되는 각 위험별 정보보호 관리체계 인증기준(통제항목)을 정한다.

 9. 다음의 빈 칸에 적절한 용어를 기술하시오

위험 관리 기법 중에서 위험을 인지하였으나 별도의 통제를 수행하지 않고 위험을 받아들이고 진행하는 위험관리 기법을
(   )이라 한다.
더보기


(답) 위험 수용(Risk Acceptance)

위험 수용이란 현재의 위험을 받아들이고 잠재적 손실 비용을 감수하는 것을 말한다. 어떠한 대책을 도입하더라도 위험을 완전히 제거할 수는 없으므로, 일정 수준 이하의 위험은 어쩔 수 없는 것으로 인정하고 사업을 진행하는 것

▷ 위험 감소(Risk Reduction)
위험 감소란 위험을 감소시킬 수 있는 대책을 채택하여 구현하는 것이다. 대책의 채택 시에는 이에 따른 비용이 소요되기 때문에 이 비용과 실제 감소되는 위험의 크기를 비교하는 비용 효과 분석을 실시한다.

▷ 위험 회피(Risk Avoidance)
위험 회피는 위험이 존재하는 프로세스나 사업을 수행하지 않고 포기하는 것

▷ 위험 전가(Risk Transition)
위험 전가란 보험이나 외주 등으로 잠재적 비용을 제3자에게 이전하거나 할당하는 것

 
 10. 다음의 빈 칸에 들어갈 적절한 용어를 서술하시오.

정보보안의 목적은 기밀성, (  A  ), (  B  ) 이며 위험관리계획 수립 시 (  C  )를 통해 업무의 우선 순위 선정 및 보호대책 수준을 도출한다.
더보기

(A) : 무결성(Integrity) , (B)  : 가용성(Availability) , (C) : 사업영향분석(BIA)

▷기밀성 : 오직 인가된 주체에게만 정보가 열람되어야 한다.

▷무결성 : 정보의 변조 없이 전송이 보장되어야 한다.

▷가용성 : 정당한 사용자는 필요할 때 항상 시스템을 사용할 수 있어야 한다.

▷사업영향분석 : 재난시의 신속한 복구를 위해 업무중단 시 미치는 영향을 분석하고 잠재손실을 추정하여 재난을 분류하고 우선순위를 부여한다.

 

서술형

 
11.다음 공격의 설명을 보고 각각의 질문에 답하시오

(1) 위와 같은 공격 기법을 무엇이라 하는가?
(2) 위와 같은 공격 기법을 볼 때 사용자(클라이언트)가 실제 악성코드에 감염되는 곳은 어디인가?
(3) 악성 코드에 대응하기 위한 정적 분석과 동적 분석 방안을 설명하시오
더보기

(1) Drive By Download 공격

(2) 악성 코드 유포지 : 여러 경유지를 거쳐서 분석을 어렵게 만들고 최종 유포지에서 악성코드가 감염된다.

(3) 악성 코드 분석은 정적 분석과 동적 분석으로 나뉜다.

▶ 정적 분석 : 점검대상 홈페이지 웹 프로그램 소스코드를 분석하여 알려진 악성코드 경유지/중계지/유포지 또는 악성 스크립트 문자열을 포함하는 악성링크가 있는지 탐지하는 방식, 알려진 탐지 패턴으로 점검하므로 속도는 빠르지만 신종 악성코드에 대해서는 탐지하지 못한다.

동적 분석 : 가상의 이용자 PC 환경을 구성하고 다양한 취약점에 노출시킨 후 점검대상 홈페이지에 접속하여 비정상적인 레지스트리 변경, 악성코드 다운로드, C&C 서버 접속 등의 악성행위를 분석하는 기법, 행위분석이라고도 하며 탐지 패턴을 이용하지 않으므로 신종 악성코드 탐지가 가능하나 상대적으로 속도가 느리다.

 
12. 정보통신기반보호법에 따르면 금융˙통신 등 각 분야별 정보통신기반시설을 보호하기 위하여 정보공유, 분석센터를 구축˙운영할 수 있다. 정보공유˙분석센터가 하는 역할 2가지를 서술하시오

더보기

1) 취약점 및 침해요인과 그 대응방안에 관한 정보 제공

2) 침해사고가 발생하는 경우 실시간 경보˙분석체계 운영

정보공유˙분석센터는 전자적 침해행위에 대한 정보분석과 침해사고의 효율적 대응을 위한 관리체계이다.

정보통신기반보호법 제16조에 정보공유˙분석센터의 역할이 나와있다.

 
13. 공격자가 특정 웹 페이지에 실행 가능한 스크립트를 삽입하여 페이지 방문자의 개인정보나 쿠키정보를 탈취하거나, 웹사이트를 변조하거나, 악의적인 사이트로 사용자를 리다이렉트하는 공격 유형과 해당 공격을 예방하기 위한 방안을 서술하시오

더보기

1) 공격 유형 : 크로스 사이트 스크립트(XSS)

2) 예방 방법 :

- 게시판 등에서 HTML 태그를 허용할 시 White List를 선정한 후, 해당 태그만 허용하는 방식을 적용한다.

- 사용자가 입력한 문자열 중 HTML 코드로 인식 될 수 있는 특수문자는 일반문자로 치환하여 이스케이프 처리한다. 특수문자는 <,>,&,",' 등이 있고, 문자 변환 함수를 사용하여 &lt;, &gt;, &amp;, &quot;, &#039; 등으로 치환하여 저장한다.

- 사용자 입력값은 반드시 서버 단에서 검증하고 악의적인 스크립트는 웹 프락시 등의 도구를 통해 우회하여 입력되는 것을 방지한다.

 

실무형

 
14. 악성코드의 동적 분석을 위해 SysAnalyzer를 이용하여 악성코드 동작 전후 스냅샷을 찍은 결과 다음과 같은 시스템 변경사항이 발견되었다. 각 동작을 설명하시오

1 CreateFileA(C:\windows\systems32\msnsrv.exe)
CreateFileA(C:\windows\systems32\msnsrv.exe)
2 KEY : HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List
Value : "9070:TCP"="9070:TCP:*:Enabled:Agent"
3 KEY : HKLM/Software/Microsoft/Windows/CurrentVersion/Run
Value : "wassa.exe"="c://windows//system32//wassa.exe"
4 KEY : HKLM/SYSTEM/CurrentControlSet/Services/msnsrv.exe
Value : "Start"=dword:00000002
5 KEY : HKLM/SOFTWARE/Micorsoft/Windows/CurrentVersion/Explorer/Advanced/Folder/Hidden/SHOWALL
Value : "CheckedValue"=dword:00000000
더보기

(1) msnsrv.exe 및 wassa.exe 파일 생성한다.

(2) 윈도우 방화벽에 9070/tcp 포트 오픈을 허용한다.

(3) wassa.exe를 윈도우 시작 시 자동으로 시작하는 시작 프로그램에 등록한다.

(4) msnsrv.exe를 윈도우 서비스에 자동 실행 등록하여 윈도우 기동 시 자동 실행되도록 한다.

(5) 윈도우 탐색기의 "폴더 옵션 > 숨김 파일 및 폴더" 옵션을 표시함(1)로 변경할 수 없도록 한다.

15. 다음은 HTTP 요청 및 응답 결과이다. 질문에 답하시오.

[Request]
GET /Home/Hello/ HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: ko-KR
User-Agent: Mozilla/5.0 ~
~
Host: 192.163.235.120
DNT: 1
Proxy-Connection: Keep-Alive

[Response]
HTTP/1.1 200 OK
Date: Fri, 06 Nov 2015 16:16:05 GMT
Server: Apache
Content-Length: 2115
Content-Type: text/html;charset=UTF-8

<html>
<head><title>Index of /home/Hello</title></head>
<body>
<h1>index of /home/Hello</h1>
<table><tr><th><img src="icons/ace.gif: alt="[ICO]"></th><th><a href="?C=N;O=D">Name</a</th><th><ahref="?C=M;O=A">Last modified~
~
</table>
<address>Apache Server at 192.163.235.120 Port 80</address>
</body></html>

(1) 어떤 유형의 공격인가?

(2) 공격 대상은 무엇인가?

(3) 공격 성공여부와 그렇게 판단한 기준을 설명하시오.

더보기

1) 디렉터리 리스팅 공격

2) 웹서버(192.163.253.120), 요청 메시지의 Host 필드를 보면 요청 웹서버의 주소 정보를 확인할 수 있다.

3) 요청 및 응답결과를 보면 공격이 성공했음을 알 수 있다.

요청메시지의 요청라인 정보를 보면 요청 URL에 디렉터리만(/home/Hello) 명시되어 있기 때문에 웹서버가 디렉터리 리스팅에 취약한 설정을 하고 있다면 그 결과로 해당 디렉터리의 파일목록이 표시될 것이라 예상된다.

실제로 응답 결과를 보면 응답 상태코드가 200이고, 응답 메세지의 HTML 코드를 보았을 때 /home/Hello 디렉터리의 파일 목록이 모두 표시되었기 때문에 디렉터리 리스팅 공격에 성공했음을 알 수 있다.

 
16. DNS 서비스 운영 시 Zone Transfer 설정이 적절히 되어 있지 않으면 Zone 정보가 유출되는 취약점이 발생할 수 있다. 다음 빈 칸에 들어갈 (1) dig 명령 옵션을 서술하고, 아래와 같은 결과를 방지하기 위한 (2) 대응 방안을 서술하시오.

[root@localhost conf]# dig (  ) @192.168.153.210 tistory.com

; <<>> DIG 9.3.1 <<>> axfr @192.168.153.210 tistory.com
; (1 server found)
;; global options: printcmd
tistory.com.              1800          IN            SOA    ns1.tistory.com.
master.tistory.com.   2023042501 21600 1800 604800 1800
tistory.com.              1800          IN            NS    ns1.tistory.com.
tistory.com.              1800          IN            NS    ns2.tistory.com.
tistory.com.              1800          IN            MX   10 mx1.tistory.com.
tistory.com.              1800          IN            MX   10 mx2.tistory.com.
tistory.com.              1800          IN            A       192.168.199.132
tistory.com.              1800          IN            A       192.168.199.142
tistory.com.              1800          IN            A       192.168.199.134
tistory.com.              1800          IN            A       192.168.199.124
tistory.com.              1800          IN            A       192.168.199.151
~~
master.tistory.com.   2023042501 21600 1800 604800 1800
;; Query time: 3 msec
;; SERVER: 192.168.153.210#53(192.168.153.210)
;; WHEN: Sat Mar    15  19:00:24 2023
;; XFR size: 14 records (messages 1)
더보기

1) 옵션 : axfr

2) 대응방안 : zone transfer는 master와 slave DNS 서버 간에 zone 데이터를 동기화하는 작업을 말한다. 이러한 zone transfer 설정을 적절히 하지 않을 경우 공격자에 의해 Dos 공격에 활용되거나 중요한 도메인 정보가 그대로 노출되는 취약점이 있다. 따라서 master를 단독으로 운영할 경우 zone transfer를 허용하지 않도록 설정하고 slave가 구성되어 있다면 해당 slave만 허용하도록 설정하여 외부로부터 악의적인 zone transfer 요청이 발생하지 않도록 한다.

allow-transfer{none;}; master 단독 운영할 경우 zone transfer 허용안함 설정

allow-transfer{slave_ip;}; slave가 구성되어 있을 경우 slave만 허용

DNS Zone Transfer - IT위키 (itwiki.kr)

 

반응형

댓글