61번
문제
파일 업로드 취약점 대응을 위한 .htaccess 파일 설정의 의미에 대하여 답하시오.
| 1) <FilesMatch .(ph | lib | sh | ) |
Order Allow DENY
Deny From ALL
</FilesMatch>
2) AddType text/html .php .php1.php2.php3 .php4 .phtml
답
1) FilesMatch 지시자를 이용, .ph, .lib, .sh 등의 Server Side Script 파일에 대해서 직접 URL 호출 금지 (업로드된 스크립트(웹쉘)의 실행을 방지하기 위한 목적임)
2) AddType 지시자를 이용 Server Side Script 확장자를 text/html MIME Type 으로 재조정하여 업로드된 스크립트 실행 방지
62번
문제
IDS 는 내부 트래픽에 대하여 미러 방식으로 사용하고, IPS 는 인라인 방식으로 외부와 내부 접점에 배치하여 사용하는 이유는?
답
IPS 는 실시간 차단을 목적으로 하기 때문에 인라인 방식으로 구성되어야 하며, 외부에서의 악의적인 침입 시도를 차단하는 데 포커스를 두어 내부와 외부의 접점에 배치하는 것이 좋다. IPS 를 내부망에 배치하여 운영하는 경우 오탐으로 인하여 네트워크에 문제가 발생할 수 있으므로, 내부망에는 침입 탐지를 목적으로 하는 IDS 를 배치하는 것이 좋다. IDS 는 포트 미러링 방식으로 업무 데이터 흐름에 영향을 주지 않고 패킷을 분석하여 침입 여부를 탐지할 수 있기 때문이다. 참고로, IPS 는 장애 시 업무에 영향을 줄 수 있으므로 bypass 기능을 지원해야 한다.
63번
문제
요청 헤더와 응답 헤더를 보여 주며 공격에 대하여 질문에 답하시오.
(1) 공격의 이름은?
(2) 공격이 성공했다는 근거는?
(3) apache.conf 파일에서 보안 조치 방법은?
답
(1) 디렉터리 인덱싱
(2) 응답값이 200 OK 이고 index of /cgi/bin 페이지가 성공적으로 조회되었기 때문임
(3) Options 지시자에 있는 indexes 값 삭제
64번
문제
HeartBleed 취약점 탐지위한 Snort Rule 설정 의미를 설명하시오.
alert tcp any any < > any (1)[443,465,523] ((2)content:"|18 03 00|"; depth: 3;
| (3)content:” | 01 | ”; distance: 2; within: 1; |
| (4) content:!” | 00 | ”; within: 1; (5)msg: “SSLv3 Malicious Heartbleed Request V2”; |
(6) sid: 1;)
답
(1) 탐지 대상 포트 번호를 443, 465, 523 으로 지정
(2) Content 에서 첫 3 바이트를 검사하여 바이너리 값으로 “18 03 00” 이 있는지 검사
(3) (2)번이 끝난 위치에서 2 바이트 떨어진 위치에서 1 바이트를 검사하여 바이너리 값으로 “01”이 있는지 검사
(4) (3)번이 끝난 위치에서 바로 1 바이트를 검사하여 바이너리 값으로 “00”이 포함되지 않은지 여부를 검사
(5) (1)~(4)의 탐지룰에 모두 매칭이 되는 경우 로그에 “SSLv3 Malicious Heartbleed Request V2”로 기록
(6) 해당 룰의 식별자를 1 로 지정
65번
문제
SW 보안 약점 진단원이 CBD 기반 SW 개발 공정 중 분석 단계 진단 시 검토해야 할 산출물 4 가지와 그 내용을 간략히 설명하시오.
답
1) 요구사항 정의서(or 명세서) : SW 개발에 필요한 기능, 비기능 요구사항을 도출하여 발주사와 내용을 합의 후 체계적으로 작성한 문서
2) 요구사항 추적표(or 추적매트릭스) : 도출된 요구사항을 기반으로 개발 각 단계별 산출물들이 일관성 있게 작성되었는지 추적하기 위한 문서
3) 유즈케이스 다이어그램 : 액터(사용자)가 사용할 수 있는 기능과, 시스템이 제공하는 기능을 도식화하여 보여주는 문서
4) 유즈케이스 명세서 : 유즈케이스 다이어그램에 담긴 액터와 유즈케이스간 상호작용과 내부업무 흐름을 상세하게 설명하는 문서
66번
문제
Robot.txt 파일에 대하여 다음 물음에 답하시오.
(1) Robot.txt 파일의 용도
(2) 아래 설정값의 의미 useragent : yeti useragent : googlebot (가) allow : /
useragent : googlebot-image (나) disallow : /admin/ (다) disallow : /*.pdf$
답
(1) 검색엔진에서 자동 크롤링 도구에 대하여 접근 허용 여부를 제어하기 위한 파일
(2-가) 검색 엔진 로봇(yeti, googlebot)에 대하여 root 디렉토리(/) 밑의 모든 파일 및 디렉토리의 크롤링을 허용 (2-나) 검색 엔진 로봇(googlebot-image)에 대하여 /admin 폴더 크롤링을 허용하지 않음. (2-다) 검색 엔진 로봇(googlebot-image)에 대하여 pdf 확장자를 가진 파일에 대하여 크롤링을 허용하지 않음
67번
문제
네트워크 스니핑을 탐지하는 다양한 방법(ping, arp, dns, decoy) 중 Ping 명령을 이용한 방법을 설명하시오.
답
스니핑이 의심스러운 호스트에 NW 에 존재하지 않은 MAC 주소로 위조된 PING 메시지(ICMP Echo Request) 를 보낸다. ICMP Echo Reply 가 돌아온다면, 해당 호스트는 무차별 모드로 스니핑 중인 것으로 판단할 수 있다.
68번
문제
위험관리를 위하여 정보자산의 중요도는 기밀성, 무결성, 가용성 등급을 기준으로 산정할 수 있다. 이 중 기밀성 등급에 대하여 ( )에 적절한 설명을 기술하시오.
1) H ( 상) 등급 : 기밀성이 매우 높은 민감한 정보를 저장/처리하므로, 업무상 반드시 필요한 책임자(예:고위 관리자)에 한하여 제한적으로 접근 가능
2) M (중) 등급 : ( A )
3) L (하) 등급 : ( B )
답
A : 기밀성이 중간 정도인 민감 정보를 저장/처리하므로, 업무 담당자 및 관리자 등 허가된 직원만 접근 가능(예: 인사 정보, 내부 재무 정보 등)
B : 기밀성이 낮은 민감하지 않은 정보를 저장/처리하므로, 내부의 일반 직원도 접근 가능하며, 공개된 정보인 경우 일반 대중도 접근 가능(예: 마케팅 자료, 공시 정보, 웹사이트 콘텐츠 등)
69번
문제
공격이 탐지되었을 때, 침입탐지시스템(IDS)가 할 수 있는 행위를 4 가지 기술하시오.
답
1) 이메일, SMS, 관리 콘솔 내 메시지 출력 등을 통하여 보안 관제 담당자에게 알린다.
2) 탐지된 침입 시도를 로그로 남긴다. ( 이후 분석 및 포렌식 조사를 위한 기초 자료로 사용)
3) 공격이 진행 중인 세션을 강제로 종료하여 침입을 차단한다. (IPS 기능이 포함된 IDS 의 경우)
4) 다른 시스템(예: SIEM, 방화벽, 스위치, 라우터)와 통합되어 효과적인 대응 수행(예: 종합 분석, 차단 정책 설정 등)
추가-1) 향후 유사 공격이 들어오는 경우 예방이 가능하도록 IDS 의 보안 정책 업데이트 추가-2) 호스트 기반 IDS 의 경우, 탐지된 침입에 대해 특정 프로세스를 종료하거나, 파일 접근을 차단하는 등의 보호 조치 수행
70번
문제
홍길동은 인터넷 접속이 갑자기 느려져, PC 내 ARP 캐시 테이블 상태를 조회해 보았더니 다음과 같이 출력되었다. 각 물음에 답하시오. (ARP 캐시 테이블 상태) 인터넷 주소 물리적 주소 유형
192.168.100.1 01-00-5e-00-00-02 동적
192.168.100.5 01-00-5e-00-00-02 동적
192.168.100.20 b0-e4-5c-7c-37-6e 동적
192.168.100.21 00-07-89-72-3d-04 동적
192.168.100.22 01-00-5e-7f-ff-fa 동적
1) 위 리스트를 출력하기 위한 명령은?
2) 어떤 공격이 일어난 것으로 판단할 수 있나?
3) 해당 공격이라고 판단한 이유는?
4) 192.168. 100.1 의 실제 MAC 주소는 00-0a-00-62-c6-09 이다. 공격에 대응하기 위해서 입력해야 할 명령어는?
답
1) arp -a
2) ARP Redirect (192.168.100.1 이 GW 라고 가정함). 만일 해당 IP 가 GW 가 아니라면 공격명은 ARP Spoofing 임
3) Gateway 에 해당하는 IP(192.168.100.1)의 MAC 주소가 192.168.100.5 를 사용하는 PC 의 MAC 주소로 변조되었기 때문임(이 경우 Gateway 로 향하는 모든 패킷은
192.168.100.5 를 경유하게 되어, 메세지 내용 훔쳐보기, 메시지 위변조 등 공격이 가능하게 됨)
4) arp -s 192.168.100.5 00-0a-00-62-c6-09
71번
문제
윈도우 PE(Portable Executable) 파일은 윈도우 7 과 같이 NT 계열 운영체제에서 실행 가능한 파일 포맷이다. PE 파일은 실행 코드, 데이터, 리소스 및 메타데이터를 포함하는 구조를 가지며, 일반적으로 .exe(executable), .dll(dynamic link library), .sys(driver) 확장자를 가진 파일들을 포함한다. 악성파일의 경우에도 윈도우 OS 에서 실행되기 위해 PE 포맷을 사용하는데, 악성코드 작성자는 PE 파일을 난독화하거나, PE 헤더와 섹션 정보를 변형하여 디버깅 및 분석을 어렵게 만든다. 이러한 악성파일을 분석하는 아래 3 가지 방법에 대하여 설명 하시오.
1) 자동화 분석
2) 반자동화 분석
3) 수동 분석
답
1) 자동 분석은 악성 파일 분석 과정에서 수작업을 최소화하고 효율성을 극대화하기 위해 자동화된 도구와 기술을 사용하는 방법임. • PEiD, IDA Pro, YARA 와 같은 정적 분석 도구를 이용하면 파일 헤더, 섹션, 코드 패턴 등을 자동으로 분석하여 악성 여부 판별이 가능함 • Cuckoo Sandbox, Any.Run 과 같은 동적 분석 도구를 이용하면, 악성 파일을 격리된 환경에서 실행하여, 파일의 행위, 네트워크 활동, 시스템 변경 사항을 자동으로 기록하고 분석 가능함.
2) 반자동화 분석은 자동화된 도구를 사용하여 초기 분석을 수행하고, 분석가가 추가적으로 세부 사항을 수동으로 조사하여 정확성을 높이는 방법임. • Cuckoo Sandbox, Any.Run 과 같은 자동화 도구를 이용하여 파일을 격리된 환경에서 실행하고 초기 행동 분석을 자동으로 수행함. 분석가는 이 결과를 바탕으로 추가 조사 대상을 선정함. • 디스어셈블러(예: IDA Pro, Ghidra) 를 사용하여 자동화 도구가 식별한 의심스러운 코드나 행동을 중심으로 코드의 특정 부분을 수동으로 분석함.
3) 수동 분석은 주로 분석가의 전문 지식과 경험을 바탕으로 파일을 직접 분석하는 방법임. 깊이 있는 조사와 상세한 이해를 필요로 하는 복잡한 악성코드 분석에 유용함. • 초기 조사 : 파일의 기본 속성(예: 파일 크기, 해시 값, 타임스탬프 등)을 확인하고, PE 헤더 등을 분석하여 실행 파일인지, 스크립트인지, 다른 형식인지 확인하는 초기 조사를 수행함. • 정적 분석 : PE 파일의 경우, DOS 헤더, PE 헤더, 섹션 헤더 등을 검사하여 파일 구조를 이해하고, IDA Pro, Ghidra, Radare2 등의 디스어셈블러를 사용하여 파일의 기계어 코드를 어셈블리 코드로 변환하고 분석함. 이를 통해 주요 함수, 진입점, 코드 흐름 등을 파악함. • 동적 분석 : OllyDbg, x64dbg 같은 디버거를 사용하여 악성코드를 단계별로 실행하면서 코드의 동작을 추적함. 특정 행동을 유발하는 코드 부분을 식별하고 분석함.
72번
문제
사용자가 윈도우 명령 처리기(cmd.exe)를 실행하려고 할 때 다음과 같이 사용자 계정 콘트롤(UAC) 팝업창이 표시되었다. 관련하여 질문에 답하시오.
[사용자 계정 콘트롤 팝업창]
—————————————————————————————– 다음 프로그램이 이 컴퓨터를 변경할 수 있도록 허용하시겠습니까?
-
프로그램 이름 : Windows 명령 처리기
-
확인된 게시자 : Microsoft Windows
-
파일 일원본 : 이 컴퓨터의 하드 드라이브 —————————————————————————————– 계속 하려면 관리자 암호를 입력하고 [예]를 클릭하십시오. * [예 버튼]은 비활성화 상태이고 [아니오 버튼]만 활성화되어 있음.
1) 사용자가 윈도우 명령 처리기를 실행한 의도는 무엇인가?
2) 사용자 계정 콘트롤 팝업창에서 [예 버튼]이 비활성화된 이유는 무엇인가?
답
1) 윈도우 명령 처리기를 관리자 권한으로 실행하여, 사용자의 현재 권한으로 실행할 수 없는 명령어를 처리하기 위함이다.
2) 윈도우 관리자 계정이 정상이 아닌 경우(비활성화, 삭제) 또는 윈도우 시스템 파일이 손상된 경우
73번
문제
개인정보 처리가 수반되는 사업 추진 시 해당 사업이 개인정보에 미치는 영향을 사전에 분석하고 이에 대한 개선방안을 수립하여 개인정보 침해사고를 사전에 예방하기 위하여 개인정보 영향 평가를 수행한다. 개인정보 영향 평가 수행 시 고려해야 할 사항 5 가지를 기술하시오.
답
-
처리하는 개인정보의 수 (개보법)
-
개인정보의 제 3 자 제공 여부 (개보법)
-
정보주체의 권리를 해할 가능성 및 그 위험 정도 (개보법)
-
민간정보 또는 고유식별정보의 처리 여부 (개보법 시행령)
-
개인정보 보유기간 (개보법 시행령)
74번
문제
시스템 로그 점검 중 다음과 같은 로그가 발견되었다. 관련하여 다음 질문에 답하시오.
[로그]
device eth0 entered Promiscuous mode
1) Promiscuous mode 의 의미는?
2) 해당 모드로 진입 시 수행 가능한 공격은?
3) 공격에 대응할 수 있는 방법은?
답
1) 네트워크 카드의 eth0 인터페이스로 들어오는 모든 패킷을 수신하게 됨(목적지가 해당 인터페이스로 설정된 패킷이 아니더라도 drop 하지 않고 모두 읽게 됨)
2) 패킷의 내용을 훔쳐보는 스니핑 공격이 가능함
3-1) 통신 시 SSH, HTTPS 와 같은 암호화 통신 수행 3-2) 허브가 아닌 지능형 스위치 운용을 통하여 불필요한 브로드캐스팅 최소화 3-3) ifconfig eth0 -promic 설정으로 무차별 모드 해제 3-4) 스니핑 탐지 도구(**)를 이용하여 스니핑 발생여부 지속 점검
75번
문제
XSS(Cross Site Script) 공격의 정의와 공격 기법 2 가지를 설명하시오.
답
1) XSS 공격 정의 : 웹페이지에 악의적인 스크립트를 포함시켜 사용자 측에서 실행되도록 유도함으로써 이득을 취하는 공격
2) XSS 공격 기법 2 가지 2-1) Reflected XSS : 검색 결과, 에러 메시지 등을 통해 서버가 외부에서 입력 받은 악성 스크립트가 포함된 URL 파라미터 값을 사용자 브라우저에서 응답하도록 허용할 때 발생한다. 공격 스크립트가 삽입된 URL 을 사용자가 쉽게 확인할 수 없도록 변형하여, 이메일, 메신저, 파일 등을 통해 실행을 유도하는 기법이다. 2-2) Stored XSS : 웹 사이트의 게시판, 코멘트 필드, 사용자 프로필 등의 입력 Form 을 통해 악성 스크립트를 삽입하여 DB 저장한다. 이후 사용자가 사이트를 방문하여 저장된 페이지(예:게시글)를 열람할 때, 저장된 악성 스크립트가 로딩되어 사용자 브라우저에서 실행되도록 하는 기법이다. 2-3) DOM based XSS : 외부에서 입력 받은 악성 스크립트가 포함된 URL 파라미터 값이 서버를 거치지 않고, DOM 생성의 일부로 실행되면서 공격이 이루어진다.
76번
문제
데이터 베이스 권한 관리가 미흡한 경우, 비인가자가 DB 에 접근하여 정보 유출, 훼손, 파괴 등 악의적인 행위가 이루어질 수 있다. 1) DBA 가 일반사용자 또는 원격 사용자에게 부여하면 안 되는 권한 3 가지와 2) 접근권한을 최소화할 수 있는 방법 4 가지를 기술하시오.
답
1) 일반 사용자 또는 원격 사용자에게 부여하면 안 되는 권한(오라클 예시) 1-1) CREATE USER : 사용자를 생성할 수 있는 권한 1-2) DROP USER : 사용자를 삭제할 할 수 있는 권한 1-3) DROP ANY TABLE : 모든 테이블을 삭제할 수 있는 권한 1-4) BACKUP ANY TABLE : Export 유틸리티를 사용해서 임의의 테이블을 백업할 수 있는 권한
2) 접근권한 최소화 방법 2-1) 원격에서 DB 서버로의 접속을 지정된 IP 에서만 가능하도록 제한 2-2) DBA 외에 인가되지 않은 사용자가 시스템 테이블에 접근할 수 없도록 설정 2-3) 응용프로그램 또는 DBA 계정의 Role 이 Public 으로 설정되지 않도록 설정 2-4) OS_ROLES, REMOTE_OS_AUTHENTICATION, REMOTE_OS_ROLES 를 FALSE 로 설정 2-5) 데이터베이스에 대해 최신 보안패치와 벤더 권고사항을 모두 적용
77번
문제
아래 취약점 점검 결과를 기반으로, 다음 물음에 답하시오.
[취약점 점검 결과]
openssl version -a OpenSSL 1.0.1 14 May 2012
| #openssl s_client -connect domain.com:8443 -tlsextdebug -debug -state | grep -i heatbeat SSL_connect:before SSL initialization SSL_connect:SSLv3/TLS write client hello SSL_connect:SSLv3/TLS read server hello TLS server extension “heartbeat” (id=15), len=1 ……………….. |
1) 취약점 명은?
2) 시스템적으로 해당 취약점을 조치하는 방법은?
3) 서비스적으로 해당 취약점을 조치하는 방법은?
답
1) 하트블리드(Heart Bleed)
2-1) OpenSSL 버전을 취약점이 패치된 상위 버전(예:1.0.1g)으로 업데이트 2-2) 운영 환경의 특수성으로 인하여 패키지 형태의 업데이트가 어려운 경우, Heartbeat 를 사용하지 않도록 컴파일 옵션을 설정하여 재컴파일
3-1) 서버측 SSL 비밀키가 유출되었을 가능성이 있으므로, 서버 인증서 재발급 검토 3-2) 취약점 조치 완료 후 사용자들의 비밀번호 재설정을 안내하여 탈취된 계정을 악용한 추가 피해 방지
78번
문제
setuid, setgid , sticky bit 에 대해 아래 파일 및 디렉토리에 관하여 소유자(그룹)와 접근권한 관계로 각각 설명하시오. ( 단, 세번째 /tmp 디렉토리 내의 파일에 대한 root 가 아닌 사용자 권한으로 설명하시오.)
1) -r-sr-xr-x root sys /usr/bin/passwd
2) -r-xr-sr-x root mail /usr/bin/mail
3) drwxrwxrwt sys sys /tmp
답
1) passwd 실행파일의 경우 소유자(owner) 권한이 r-s 로 setuid 가 설정되어 있으며, other 사용자 권한이 r-x 로 실행권한이 있으므로, 모든 사용자가 passwd 명령어를 실행 시 소유자인 root 권한으로 수행이 된다.
2) mail 파일의 경우 그룹(Group) 권한이 r-s 로 setgid 가 설정되어 되어있으므로, 해당 파일을 실행 시 mail 그룹 권한을 가지고 수행된다.
3) tmp 디렉토리의 경우 rwx 권한 + sticky bit 설정이 되어 있으므로 해당 디렉토리에 생성된 디렉토리 혹은 파일은 누구든지 읽기/쓰기는 가능하지만 삭제는 소유주와 root 만 가능.
79번
문제
다음의 항목에 적절한 라우터 명령어를 작성하시오.
1) Router# configure terminal Router(config)# __________ ________
2) Router# configure terminal Router(config)# __________
3) Router# configure terminal Router(config)# __________
답
1): service password-encryption
2): enable secret
3): enable password
80번
문제
개인정보 안전성 확보조치 기준에 명시한 접근권한의 관리기준 3 가지를 기술하시오.
답
① 개인정보처리자는 개인정보처리시스템에 대한 접근 권한을 개인정보취급자에게만 업무 수행에 필요한 최소한의 범위로 차등 부여하여야 한다.
② 개인정보처리자는 개인정보취급자 또는 개인정보취급자의 업무가 변경되었을 경우 지체 없이 개인정보처리시스템의 접근 권한을 변경 또는 말소하여야 한다.
③ 개인정보처리자는 제 1 항 및 제 2 항에 의한 권한 부여, 변경 또는 말소에 대한 내역을 기록하고, 그 기록을 최소 3 년간 보관하여야 한다.
④ 개인정보처리자는 개인정보처리시스템에 접근할 수 있는 계정을 발급하는 경우 정당한 사유가 없는 한 개인정보취급자 별로 계정을 발급하고 다른 개인정보취급자와 공유되지 않도록 하여야 한다.
⑤ 개인정보처리자는 개인정보취급자 또는 정보주체의 인증수단을 안전하게 적용하고 관리하여야 한다.
⑥ 개인정보처리자는 정당한 권한을 가진 개인정보취급자 또는 정보주체만이 개인정보처리시스템에 접근할 수 있도록 일정 횟수 이상 인증에 실패한 경우 개인정보처리시스템에 대한 접근을 제한하는 등 필요한 조치를 하여야 한다.