본문 바로가기
정보보안기사, 정보보안산업기사

[정보보안기사/산업기사] 실기 문제풀이 및 총정리 요약본 4탄

by 시스코킹 2021. 6. 18.
반응형

(정보보안기사 5회)
CVE(Common Vulverabilities and Exposures)
동일한 취약점에 대해 해커와 보안업체간 다르게 사용해온 명칭을 표준화한 목록이며, 미국의 비영리기관인 MITRE의 테스트를 거쳐 호환성이 충족된 보안제품과 서비스에 한해 등록이 가능하다.

 

 


"GET /login.php?id%3D%27user%27%20and%20pw%3D%271%27%20or%201%3D1 HTTP/1.1" 200 3926  -> SQL 인젝션

 

 

 


개인정보처리자는 개인정보취급자가 개인정보처리시스템에 접속한 기록을 (1년) 이상 보관·관리하여야 한다. 다만, (5만명) 이상의 정보주체에 관하여 개인정보를 처리하거나, 고유식별정보 또는 민감정보를 처리하는 개인정보처리시스템의 경우에는 (2년) 이상 보관·관리하여야 한다.
개인정보처리자는 개인정보의 오·남용, 분실·도난·유출·위조·변조 또는 훼손 등에 대응하기 위하여 개인정보처리시스템의 접속기록 등을 (월1회)이상 점검하여야 한다.

 

 


실행가능한 스크립트 파일을 첨부하여 원격에서 제어하는 공격을 (파일업로드공격)이라고 하며, 첨부되는 스크립트 파일을 (웹쉘)이라고 한다.

 

 

 


system(), exec() 같은 운영체제의 명령어를 실행 할 수 있는 함수가 실행되는 페이지를 include 한 경우 명령어 삽입을 통한 공격이 가능하다. PHP의 경우 외부 사이트의 악성 파일이 include 되지 않도록 하기 위해 PHP상에서 외부의 파일을 열수 있는지 설정하는 옵션을 꺼 두어야 한다.
1) PHP의 설정 파일 명은?  php.ini
2) 외부 파일을 열수 있는지 설정할 수 있는 옵션 명은? allow_url_fopen

 

 


정보자산에 대한 잠재적 및 알려진 (취약점)과 (위협)으로 나타날 수 있는 조직의 피해와 현재 구현된 통제의 실패 가능성 및 영향을 평가 시 (수용 가능 위험수준) (DOA)을 포함하여야 한다. 이를 통해 정보자산의 위험을 관리할 수 있는 적절한 정보보호대책 선택 및 우선순위의 확보를 지원하여야 한다.

 

 


사업(업무) 영향 분석 (BIA, Business Impact Analysis)
각종 재난·재해로부터 정보시스템 중단을 가정하여 시간흐름에 따른 영향도 조사하여 복구우선순위를 정의하고, 업무를 재개하기 위한 최소 필요자원을 도출하는 업무 연속성 계획의 핵심 절차

 

 

 


다음은 사용자가 악성코드에 감염된 경로를 추적한 결과이다. 다음 물음에 답하시오.
[경로 추적 결과]
① http://aaa.com 접속 후 게시물 열람
② 200.11.22.33 일시적으로 접속 후 여러 사이트 리다이렉트, 최종적으로 200.11.22.99 접속
③ 악성 실행파일 다운로드후 자동 실행

1) 위와 같은 공격 기법을 무엇이라 하는가? Drive By Download 공격
(사용자가 의도치 않은 상황에서 사용자도 모르게 악성코드가 다운로드 되는 침해유형)
2) 위와 같은 공격 기법을 볼 때 사용자(클라이언트)가 실제 악성코드에 감염되는 곳은 어디인가?
200.11.22.99
3) 악성 코드에 대응하기 위한 정적 분석과 동적 분석 방안을 설명하시오.
정적분석 : 홈페이지 소스코드를 분석해 알려진 악성코드 경유지/중계지/유포지 또는 악성 스크립트 문자열을 포함하는 악성링크가 있는지 탐지하는 방식
동적분석 : 가상PC환경을 구성해 여러가지 취약점에 노출시킨뒤 직접 홈페이지에 접속해 악성행위를 분석함

 

 


정보통신기반보호법 제16조에 따라 금융•통신 등 분야별 정보통신기반시설을 보호하기 위하여 정보공유•분석센터를 구축•운영할 수 있다. 정보공유 분석센터 하는 역할을 두 가지 서술하시오.
1) 취약점 및 침해요인과 그 대응방안에 관한 정보 제공
2) 침해사고가 발생하는 경우 실시간 경보•분석체계 운영

 

 


DNS Zone Transfer
- Master DNS와 Slave DNS 서버 간에 Zone 파일을 동기화하기 위한 프로토콜
- Slave 서버는 주기적으로 Master 서버에 접속하여 Zone 파일을 비교하고, 최신화한다.
취약점
- Zone Transfer는 별도로 설정하지 않으면 모든 호스트에 열려있다.
- Zone 파일이 큰 곳은 Zone Transfer에 대한 부하가 크다
- 스크립트나 다수의 호스트를 이용하여 Zone Transfer에 지속적으로 접근하면 서비스 거부 공격이 가능하다.
- 사용하고 있는 IP대역, 방화벽 등 보안 장비의 IP정보 등이 노출될 수 있다.
공격예시
dig @192.168.206.111 axfr itwiki.kr    //192.168.206.111 DNS 서버의  itwiki.kr 영역에 있는 모든(axfr) 레코드 받아오기
보안대책
- DNS를 Master/Slave로 운영하지 않는다면 Zone Transfer를 사용하지 않도록 설정한다.
options {
  allow-transfer {none};
};
- Zone Transfer를 운영해야 할 경우 Slave를 특정하여 운영한다.
options {
  allow-transfer {211.1.2.3};
};

 

 


  CVE - 해당년도 - 취약점 번호

 

 


1) 신뢰할 수 없는 데이터가 명령어나 질의문의 일부분으로서 인터프리터로 보내질 때 발생한다. 공격자의 악의적인 데이터는 예상하지 못하는 명령을 실행하거나 적절한 권한 없이 데이터에 접근하도록 인터프리터를 속일 수 있다.  Injection

 

 


2) 신뢰할 수 없는 데이터를 가져와 적절한 검증이나 제한 없이 웹 브라우저로 보낼 때 발생한다. 공격자가 피해자의 브라우저에 스크립트를 실행하여 사용자 세션 탈취, 웹 사이트 변조, 악의적인 사이트로 이동할 수 있다.   XSS

 

 


3) 로그온 된 피해자의 취약한 웹 애플리케이션에 피해자의 세션 쿠키와 기타 다른 인증정보를 자동으로 포함하여 위조된 HTTP 요청을 강제로 보내도록 하는 것이다. 이것은 공격자가 취약한 애플리케이션이 피해자로부터의 정당한 요청이라고 오해할 수 있는 요청들을 강제로 만들 수 있다.    CSRF

 

 

 


개인정보보호법 제17조에 따르면 개인정보 제3자 제공 시 동의를 받을 때 5가지 사항을 정보주체에게 알려야 한다. 다음 5가지 어느 하나의 사항을 변경하는 경우에도 이를 알리고 동의를 받아야 한다. 5가지 사항을 적으시오. (개보법- 제3자- 목목기자불)
1. 개인정보를 제공받는 자
2. 개인정보를 제공받는 자의 개인정보 이용 목적
3. 제공하는 개인정보의 항목
4. 개인정보를 제공받는 자의 개인정보 보유 및 이용 기간
5. 동의를 거부할 권리가 있다는 사실 및 동의 거부에 따른 불이익이 있는 경우에는 그 불이익의 내용

 

 


(위험관리) : 조직의 자산에 대한 위험을 수용할 수 있는 수준으로 유지하기 위하여 자산에 대한 위험을 분석하고 이러한 위험으로부터 자산을 보호하기 위해 비용대비 효과적인 보호대책을 마련하는 일련의 과정
(위험분석) : 조직은 정보자산의 식별 후에 식별된 정보자산에 영향을 줄 수 있는 모든 위협과 취약성, 위험을 식별하고 분류하여야 하며, 이 정보자산의 가치와 위험을 고려하여 잠재적 손실에 대한 영향을 식별 분석해야 한다.
(위험대응) : 위헙에 대응하여 자산을 보호하기 위한 물리적, 기술적, 관리적 대응책을 말한다.

 

 


Web Proxy : 웹 서버를 대신하여 자신이 마치 웹 서버인 것처럼 동작을 대행해준다. 브라우저로부터 연결 요청에 대하여 대신 응답한다. 대표적인 툴로는 ‘paros’ 와 ‘burp suite’등이 있다.

 

 

 


다음은 Telnet으로 웹 서버를 호출하는 방법이다. 대상 호스트가 192.168.5.2일 때 아래와 같은 결과가 나오려면 어떤 명령을 입력하여야 하는가? 
 
$ telnet 192.168.5.2 80
OPTIONS / HTTP/1.1
Host: 192.168.5.2

"GET /login?id=1'+and+substr(password,2,1)='0'# HTTP/1.1" 200 1739 "" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36"
"GET /login?id=1'+and+substr(password,2,1)='1'# HTTP/1.1" 200 1788 "" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36"
"GET /login?id=1'+and+substr(password,1,1)='2'# HTTP/1.1" 200 1789 "" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36"
"GET /login?id=1'+and+substr(password,1,1)='3'# HTTP/1.1" 200 1789 "" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36"

1) 어떤 공격 기법이 사용되었는가?  blind sql injection 
2) 해당 공격 원리에 대해 설명하시오. 
단순히 SQL문을 조작하여 인증을 우회하거나 특정 명령을 수행하는 것 외에 DB에 저장된 값을 추정 가능. 분할과 정복의 원리를 이용하여 문자열 중 단일 문자와의 비교를 통해 결과가 True or False 인지 확인.
3) 공격의 결과에 대해 설명하시오
id가 1인 사용자의 password 컬럼값에 대해 substr( )함수를 이용하여 1부터 순차적으로 한문자 씩 비교를 수행한다.


 



<시스템보안>
보안커널에서 사용자의 접근 권한을 검사하거 프로세스(주체)와 파일(객체)의 정보 흐름을 감시하는 핵심 모듈(추상머신) : 참조모니터

 


유닉스 시스템의 세 가지 핵심 컴포넌트: 커널, 쉘, 파일시스템

 


로더: 어떤 프로그램을 실행하기 위해 해당 목적 프로그램을 메모리에 적재하고 배치 주소를 옮기는 프로그램

 


링커: 프로그램을 실행 가능한 상태로 만들기 위해 목적모듈간의 상호 참조를 해결하고 여러 개의 목적 모듈을 하나로 만들기 위해 사용되는 프로그램

 


pstree : 현재 실행중인 프로세스들의 부모-자식 관계를 트리구조로 보여주는 명령어로 프로세스의 상호관계를 파악할 때 유용

 


nice : 프로세스의 우선권 순위를 설정 -20 ~ 10 낮을수록 우선
renice : 현재 실행중인 프로세스의 우선권 순위를 변경하는 명령어

 


PAM: 리눅스 시스템 내에서 사용되는 각종 어플리케이션 인증을 위해 제공되는 다양한 인증 라이브러리, 
리눅스용 프로그램 개발 시 인증부분을 독립적으로 개발 할 수 있고 필요에 따라 관리자에 의해 인증체계를 선택적으로 가져갈 수 있기 때문에 중앙통제가 가능하다.

 


리눅스에서 슈퍼데몬을 통해 제공되는 서비스의 설정을 변경하려면 어떤 파일을 수정해야 하는가/etc/inetd.conf
/var/log/messages 
: 리눅스 시스템의 가장 기본적인 시스템 로그파일, 시스템 운영에 대한 전반적인 메시지를 저장하고 있다. 주로 시스템 데몬들의 실제상황과 내역, 사용자들의 접속정보 등을 기록한다.

 


/var/log/secure
: 주로 사용자들의 원격접속 즉, 원격 로그인 정보를 기록한다.
sshd, su, telnet 기록

 


/var/log/boot.log
: 리눅스가 부팅될 때 파일시스템에 대한 체크와 서비스 데몬들의 실행상태를 기록하고 있는 로그파일로 성공/실패 여부를 확인 할 수 있다.

 


리눅스 시스템의 기본적인 로그파일들은 ( syslogd )에 의해 제어되고 ( /etc/syslog.conf )를 수정함으로써 로그 파일들의 저장위치와 파일명, 로그레벨 등의 변경이 가능하다.

 


분산시스템 및 프로세스의 로그를 중앙 수집기로 보내 로깅과 분석을 수행하기 위한 UDP 기반의 인터넷 표준 프로토콜 : syslog 프로토콜

 


acct/pact 로그파일: 시스템에 로그인한 모든 사용자가 로그아웃할 때 까지 입략한 명령어와 터미널의 종류, 프로세스의 시작시간 등을 저장한 로그 파일

 


리눅스 시스템에서 일반 사용자가 자신의 패스워드를 변경하고자 할 때 ( passwd ) 명령어를 수행한다. 새로운 패스워드는 ( /etc/shadow ) 파일에 저장된다. 이 때 passwd에 부여된 실행권한을 ( setuid )라 한다.

 


chown 소유자 파일명 
chgrp 소유자 파일명

 

 


finger 사용자 : 해당 계정의 홈디렉터리, 사용 쉘, 네트워크 정보 등 세부적인 정보 확인 가능

 


lastcomm (--command 생략가능) useradd :
useradd 명령어를 사용한 사용자 정보와 시간출력

 


accton /var/account/pacct :  pacct 로그 파일 경로를 설정하여 실행
accton : 인자 없이 실행 시 더 이상 로그를 남기지 않음

 


멤캐시드 : 오픈소스 메모리 캐싱 시스템

 


워드라이빙 : 해커가 무선 네트워크를 찾기 위해 무선 장치를 가지고 주위 AP를 찾는 과정,
무선랜 해킹과 정의 초기단계에서 사용되는 방법

 

 


Sequence number : IPSec헤더 필드의 일련번호필드는 패킷 재전송을 방지하기 위한 필드로 정상적인 환경에서는 패킷 재전송이 발생해도 일련번호는 항상 1씩 증가하기 때문에 재전송공격을 방지 할 수 있다.



반응형

댓글