정보보안기사 실기 기출문제 정리 - 1회
위험 관리
1. 위험 평가
정보나 정보처리 기기에 대한 위협의 종류, 영향, 발생 가능성 등을 평가하는 과정
2. 위험 관리
조직의 자산에 대한 위험을 수용 가능한 수준으로 유지하기 위하여 자산에 대한 위험을 분석하고 이러한 위험으로부터 자산을 보호하기 위한 비용 대비 효과적인 보호대책을 마련하는 일련의 과정
3. 위험 관리 계획
선택된 통제의 목적과 통제 방안이 무엇인지 선택한 이유 등을 문서로 정리한 것
NMS
NMS 서버는 SNMP 방식으로 네트워크 장비의 상태 정보 및 통계 정보를 주기적으로 수집하며, NMS 클라이언트는 SNMP TRAP 방식으로 장비의 특정 이벤트를 실시간으로 NMS 서버로 전달하여 장비의 상태 변경을 알려준다. 이러한 실시간 전송방식과 유사하게 장비에서 발생되는 실시간 이벤트 정보를 서버에 전송하는 syslog 방식으로도 네트워크 장비 상태 및 보안상태 정보를 전달하기도 한다.
개인정보보호 용어
1. 개인정보 보호책임자
개인정보의 처리에 관한 업무를 총괄해서 책임지는 자로서 영 제32조제2항제1호 및 제2호에 해당하는 자
2. 개인정보취급자
개인정보처리자의 지휘·감독을 받아 개인정보를 처리하는 임직원, 파견근로자, 시간제근로자 등
3. 개인정보처리시스템
개인정보를 처리할 수 있도록 체계적으로 구성한 데이터 베이스시스템. 다만 소상공인 또는 중소사업자가 내부 직원의 개인정보만을 보유한 시스템은 제외
4. 내부관리계획
개인정보처리자가 개인정보를 안전하게 처리하기 위하여 내부 의사결정절차를 통하여 수립·시행하는 내부 기준
리눅스 로그 종류
syslog | 데몬에서 일괄적인 방법으로 생성된 로그 authlog,messages, syslog, secure 등 /var/log 디렉터리에 대한 로그 |
wtmp | 사용자들의 로그인 및 로그아웃 정보 등 로그인 프로세스를 거친 정보 재부팅 같은 시스템 관련 정보 관련 명령어: last |
utmp | 현재 로그인한 사용자들에 대한 상태 정보 관련 명령어: whoami, who, w, users, finger 등 |
pacct | 사용자가 로그인해서 로그아웃 할 때 까지 입력한 명령과 시간 및 작동된 tty 등에 대한 정보 관련 명령어: lastcomm |
history | 사용자 별 실행한 명령을 기록하는 로그 관련 파일: .bash_hitory, .sh_history, .history 관련 명령어: history |
sulog | su 명령어 사용 결과 로그 |
lastlog | 서버에 접속한 사용자의 IP 별로 가장 최근에 로그인 한 시간이 기록 관련 명령어: lastlog |
btmp | 5번 이상 로그인 실패를 했을 경우에 로그인 실패 정보 관련 명령어: lastb |
FTP 데몬들의 서비스 내역을 기록 FTP 사용자 로그인/로그아웃, 파일 업로드/다운로드 등 | |
messages | 시스템 운영에 대한 전반적인 시스템 데몬들의 실행 상황과 내역, 사용자들의 접속 정보 등 |
secure | 보안과 관련된 주요한 로그를 남기는 파일로 사용자 인증에 관련된 로그 |
dmesg | 부팅 관련 로그 |
위험 대응 방안
위험 회피 | 위험이 존재하는 프로세스나 사업 포기 |
위험 감소 | 손실액보다 보안대책비용이 작은 경우 위험을 감소시킬 수 있는 대책을 채택하여 구현 |
위험 전가 | 잠재적 비용을 제 3자에게 이전하거나 할당 |
위험 수용 | 보안대책 비용이 손실액보다 큰 경우 현재의 위험을 받아들이고 잠재적 손실 비용 감수 |
위험 모니터링 | 잠재위험이 위험요인으로 변화 가능하므로 지속적인 모니터링 실시 |
정보보호 관리
1. 표준(Standard)
조직에서 필요한 구체적인 기술과 이에 필요한 파라미터의 설정 등을 일관성 있게 기술한 일반적인 강제 사항이다. 특정 기술 또는 시스템의 통일된 사용 방식을 지정하는 것으로 기준선 정의에 사용하며 기술적인 성격으로 가장 잘 변경되지 않는다. 구체적인 의무 사항과 정책을 어떻게 수행하고 기술을 어떻게 전개할지 기술 한다. 정책을 준수하는 일관적, 지속적인 방법이다.
2. 지침(Guideline)
사용자들이나 관리자들이 자신의 시스템을 적절히 보호하기 위해 도움을 주기 위한 것이다. 정보보호를 지원하는 제안적인 사항으로 융통성이 있으며 추가적인 권고 사항으로 선택 조건이다.
3. 절자(Procedure)
특정한 업무에 대한 세부적인 절차를 기술하며 각 개인이 특별한 일을 수행하기 위해 요구되는 단계적 조치 및 행동 그리고 정책이 어떻게 구현되며, 누가 무엇을 해야 하는지를 기술한 매뉴얼적인 성격을 가진다.
| HIDS(호스트 기반 침입 탐지 시스템) | NIDS(네트워크 기반 침입 탐지 시스템) |
특징 | 호스트 자원 사용 실태를 분석하여 침입 탐지 | 네트워크 상에서 발생하는 침입 탐지 |
장점 | 트로이목마, 백도어, 내부자의 공격 탐지 | 공격에 대한 내성, 공격자에게 존재를 숨김 DoS, DDoS 및 스캐닝 등 탐지 |
단점 | 호스트 자원을 사용해 호스트의 성능 저하. | 상대적으로 오탐률이 높다. 암호화된 패킷에 대한 침입 탐지 불가능 |
SIEM(Seurity Infomation and Event Management)
네트워크 하드웨어 및 응용 프로그램에 의해 생성된 보안 경고 실시간 분석
1. 로그수집
관제 대상 시스템에 설치된 에이전트로 또는 SNMP, syslog 로부터 수신한 로그를 서버에 저장하는 과정
2. 로그분류
이벤트 발생 누적횟수 등 유사정보를 기준으로 그룹핑하여 한 개의 정보로 취합하는 과정
3. 로그변환
다양한 로그 표현 형식을 표준 포맷으로 변환하는 과정
4. 로그분석
표준 포맷으로 변환된 로그 중에서 타임스탬프, IP주소, 이벤트 구성 규칙을 기준으로 여러 개의 로그들의 연관성을 분석하는 과정
자산 관리
1. 자산 범위
자산에 대한 중요도를 평가하기 위하여 작성하는 것으로 누락 없이 최대한 자세하게 나열한다.
2. 자산 식별
자산을 평가하고 관리하기 용이하게 재분류할 수 있도록하는 과정으로 자산의 특성을 고려해야 하며 특히 사용용도, 피해규모, 사용환경 등을 포함하여 실시한다.
리눅스 파일시스템 권한
SetUID | 파일소유자 권한이 있어야 실행 가능한 파일의 경우, 일시적으로 파일을 실행하는 일반 권한 사용자들에게 파일소유자 권한을 부여해주기 위해 사용한다 |
SetGID | 그룹 권한이 있어야 실행 가능한 파일의 경우, 일시적으로 파일을 실행하는 일반 권한 사용자들에게 그룹 권한을 부여해주기 위해 사용한다 |
Sticky bit | 디렉터리에 설정하며 오직 파일소유자와 관리자(root)만 해당 파일에 대한 삭제 및 변경 권한을 가진다. 공유 디렉터리로 사용하고자 할 때 쓰인다 |
개인정보의 안전성 확보 조치
1. 개인정보의 안전한 처리를 위한 내부 관리계획의 수립ㆍ시행
2. 개인정보에 대한 접근 통제 및 접근 권한의 제한 조치
3. 개인정보를 안전하게 저장ㆍ전송할 수 있는 암호화 기술의 적용 또는 이에 상응하는 조치
4. 개인정보 침해사고 발생에 대응하기 위한 접속기록의 보관 및 위조ㆍ변조 방지를 위한 조치
5. 개인정보에 대한 보안프로그램의 설치 및 갱신
6. 개인정보의 안전한 보관을 위한 보관시설의 마련 또는 잠금장치의 설치 등 물리적 조치
리눅스 명령어
find [-H] [-L] [-P] [-Olevel] [-D help|tree|search|stat|rates|opt|exec] [path...] [expression]
옵션 |
|
-name [filename] | 검색할 파일명 지정 |
-type [filetype] | 검색할 파일유형 지정 b: 블록 파일 c:문자 파일 d: 디렉터리 p: 파이프 파일 f: 일반파일 e: 연결파일 |
-user [username] | 검색할 파일의 소유자 명 |
검색한 파일 명 화면 출력 | |
-atime | 파일에 접근한 시간 |
-mtime | 파일이 변경된 시간 |
-exec [command] | 실행할 명령어 -exec ls -al {} \; {} 검색한 파일들, \; -exec 명령어의 끝 |
ARP Redirect 공격
네트워크 스니핑의 한 종류로 공격자가 자신의 MAC 주소를 게이트웨이의 MAC 주소로 위조된 ARP Reply를 희생자에게 보내는 공격 기법이다. 해당 위조된 ARP를 받은 희생자의 트래픽은 공격자를 통과해 흐르기 때문에 간단하게 정보를 빼낼 수 있는 방법이다.
라우팅 테이블을 확인하여 공격을 발견할 수 있으며, 공격을 대응하는 방법에는 여러 가지가 있지만 ARP를 정상 게이트웨이로 고정해주는 것이 가장 간단한 방법이다.
정보보안기사 실기 기출문제 정리 - 2회
1. 라우터를 이용한 보안 설정
①. 인그레스 필터링(ingress filtering)
인그레스 필터링은 라우터를 거쳐 내부로 유입되는 패킷을 라우터에 사전 정의한 접근 제어 정책으로 필터링하는 방식이다.
②. 이그레스 필터링(egress filtering)
이그레스 필터링이란 라우터를 거쳐 외부로 나가는 패킷을 라우터에 사전 정의한 접근 제어 정책으로 필터링하는 방식이다.
③. 블랙홀 필터링
라우터가 경로를 지정하기 전에 패킷을 검사해 사전 정의한 규칙에 해당 하는 패킷을 NULL 인터페이스로 라우팅하는 방식을 말한다. 해당 패킷을 폐기하고 ICMP 에러 메시지를 보내지 않도록 설정해줘야 한다.
인그레스 필터링과 이그레스 필터링은 패킷의 방향성으로 필터링하는 방법입니다.
2. 정성적 위험 분석 방법
①. 델파이법
시스템에 관한 전문적인 지식을 가진 전문가의 집단을 구성하고 위험을 분석 및 평가하여 정보시스템이 직면한 다양한 위협과 취약성을 토론을 통해 분석하는 방법을 말한다.
②. 시나리오법
어떤 사건도 기대대로 발생하지 않는다는 사실에 근거하여 일정 조건 하에서 위협에 대한 발생 가능한 결과들을 추정하는 방법을 말한다.
③. 순위결정법
비교우위 순위 결정표에 위험 항목들의 서술적 순위를 결정하는 방법으로 각각의 위협을 상호 비교하여 최종 위협요인의 우선순위를 도출하는 방법을 말한다. 위험 분석에 소요되는 시간과 분석하여야 하는 자원의 양이 적다는 장점이 있지만 위험 추정의 정확도가 낮다는 단점을 가진다.
3. FTP 공격
①. TFTP 공격
최소한의 기능만을 제공하는 파일 전송 프로토콜로 인증 절차를 요구하지 않는다. 자체 디스크가 없는 호스트들이 부팅 시 필요한 정보를 받아오기 위해 사용한다. 설정이 잘못 되어 있을 경우 누구나 그 호스트에 접근하여 파일을 가져갈 수 있다.
TFTP 보안 대책
1. 필요한 경우 보안 모드로 운영한다.
/etc/inetd.conf
tftp dgram udp wait root /usr/sbin/in.tftpd –s /home/kisa
-s: chroot 기능을 이용해 사용 가능한 디렉터리를 제한 시키는 옵션으로 지정한 디렉터리 이외의 상위 디렉터리로 접근할 수 없게 한다.
2. 불필요한 경우 제거한다.
3. /etc/tftpaccess.ctl 파일을 만들어 접근을 통제한다(AIX).
②. Anonymous FTP 공격
6. TCP WAPPER
네트워크 서비스에 관련한 트래픽을 제어하고 모니터링 할 수 있는 UNIX 기반의 방화벽 툴로써 임의의 호스트가 서비스를 요청해 오면 실제 데몬을 구동하기 전에 접속을 허용한 시스템인지 여부를 확인하여 호스트명 및 서비스명을 로그에 남긴 다음 허가된 시스템은 서비스를 제공하고 허가되지 않은 경우에는 접속을 차단해 주는 도구
관련 설정 파일
/etc/xinetd.conf
/etc/xinetd.d/
/etc/hosts.deny → 명시적 거부 파일
/etc/hosts.allow → 명시적 허용 파일
7. 보안의 3요소
구분 | 기밀성(Confidentiality) | 무결성(Integrity) | 가용성(Availibility) |
정의 | 인가된 주체만이 알 필요성의 원칙에 근거한 정보 접근 | 비인가된 주체의 변경 불가 정보의 정확성, 일관성, 완전성 | 정당한 주체의 적시 접근 |
수단 | 암호화, 데이터베이스 뷰 등 | 접근통제, 인증, 전자서명 등 | 데이터 백업, 중복성 유지 등 |
위협 | 노출 | 변경 | 파괴, 차단 |
위협 | 도청, 사회공학 | 논리폭탄, 백도어, 바이러스 등 | 서비스 거부 공격 등 |
8. Smurf Attack
IP 스푸핑과 ICMP를 이용한 공격 방법으로 공격자가 출발지를 공격대상 시스템의 IP로 위조된 ICMP 패킷을 브로드캐스트 주소로 다수의 시스템에 전송하면 이 브로드캐스트 패킷을 수신한 다수의 시스템은 ICMP Echo Reply 패킷을 공격대상 시스템으로 전송하여 공격 대상 시스템의 네트워크 자원 및 시스템 성능에 문제를 일으키게 된다.
구성요소: 공격자, 증폭 네트워크, 공격대상
대응방법: 다이렉트 브로드캐스트 차단
9. Switch Jamming
스위치에 다량의 MAC을 전송해 MAC Table overflow를 발생시켜 허브처럼 동작하도록 만드는 공격을 말한다.
10. 위험의 3요소
위험이란 특정 “위협”이 특정 “자산”의 “취약점”을 악용하여 해당 자산에 “손실이나 피해”를 일으킬 “잠재성”을 말한다.
①. 자산(Asset)
조직에 가치 있는 경제적〮비경제적 자원이다. 위험관리를 통한 보호 대상은 자산 대신 “업무 목적, 업무 프로세스 또는 정보시스템”을 의미하기도 한다.
②. 위협(Threat)
조직의 자산에 원치 않는 결과나 해악을 미칠 수 있는 사건이나 행위이다. 천재지변, 화재, 해킹, 테러 등이 있다.
③. 취약점(Vulnerability)
위협이 발생하기 위한 사전 조건이나 상황으로 자산의 특성이나 통제의 약점으로 구분된다. 적절한 통제의 부족으로 발생한다.
룰 작성 방법
ACTION PROTOCOL [!]SRC.IP [!]SRC.PORT[from][:][to] DIRECTION [!]DST.IP [!]DRS.PORT[from][:][to] / [OPTIONS]
스노트는 내용이 방대해서 키사 자료를 첨부합니다.
13. 정보자산 그룹핑
①. 정보자산 그룹핑
조사된 자산을 기밀성, 무결성, 가용성 평가 결과에 기초하여 자산 유형, 보안특성, 중요도가 같은 것들을 묶어서 공통 자산 그룹으로 명시하는 것을 말한다.
②. 정보자산 그룹핑의 장점
㉠. 위험분석 수행 시간·인력 절감
동일한 그룹에 유사한 위험 분석 적용으로 시간과 인력 절감
㉡. 위험분석 수행 계획 수립 용이
위험분석을 위한 조직구성, 일정수립, 자원배분 용이
㉢. 위험예측 용이
동일 구룹내 유사한 정보자산의 관찰을 통한 위험 예측 가능
㉣. 위험제거 및 대응 용이
동일한 그룹에 유사한 위험대비방안 적용 용이
15. 정보통신망법 기술적/관리적 조치
1. 개인정보를 안전하게 취급하기 위한 내부관리계획의 수립·시행
2. 개인정보에 대한 불법적인 접근을 차단하기 위한 침입차단시스템 등 접근 통제장치의 설치·운영
3. 접속기록의 위조·변조 방지를 위한 조치
4. 개인정보를 안전하게 저장·전송할 수 있는 암호화기술 등을 이용한 보안조치
5. 백신 소프트웨어의 설치·운영 등 컴퓨터바이러스에 의한 침해 방지조치
6. 그 밖에 개인정보의 안전성 확보를 위하여 필요한 보호조치
16. SQL Injection
입력 란에 악의적인 목적의 SQL 쿼리를 삽입하여 DB정보유출 및 인증로직 우회 등이 가능한 취약점을 의미합니다.
SQL Injection 관련 문제는 꾸준히 출제되는 경향이 있으니 철저하게 준비하시는 게 좋습니다. 정보보안기사를 준비하는 데 도움이 되는 자료를 다운로드 받을 수 있는 링크를 소개합니다. 해당 링크에서 파일을 다운로드 받아서 정독하신다면 큰 도움이 될 것입니다.
정보보안기사 실기 기출문제 정리 - 3회
1. Diffie-Hellman
암호화 키를 교환하는 하나의 방법으로 두 사람이 암호화되지 않은 통신망을 통해 공통의 비밀 키를 공유하도록 도움을 주는 암호화 알고리즘입니다.
Diffie-Hellman 방식
1. 앨리스는 소수 p, 그리고 1부터 p-1까지의 정수 g를 선택해 사전에 밥과 공유한다.
2. 앨리스가 정수 a를 선택한다. 이 정수는 외부에 공개되지 않으며, 밥 또한 알 수 없다.
Diffie-Hellman 예시
①. 앨리스와 밥은 p=23, g=5를 사용하기로 한다.
②. 앨리스는 임의의 정수 a=6을 고른 후, 밥에게 를 전송한다.
③. 밥은 임의의 정수 b=15를 고른 후, 앨리스에게 를 전송한다.
④. 앨리스는 밥에게 받은 B를 이용해 를 계산한다.
⑤. 밥은 앨리스에게 받은 A를 이용해 s= 를 계산한다.
⑥. 앨리스와 밥은 s = 2 라는 키를 공유하게 된다.
2. HeartBleed
OpenSSL 1.0.1 버전의 OpenSSL을 구성하는 TLS/DTLS의 HeartBeat 확장 규격에서 발견된 취약점입니다. OpenSSL 암호화 라이브러리의 하트비트(Heartbeat)라는 확장 모듈에서 클라이언트 요청 메시지를 처리할 때 데이터 길이 검증을 수행하지 않아 시스템 메모리에 저장된 64KB 크기의 데이터를 외부에서 아무런 제한 없이 탈취할 수 있습니다.
3. DoS - Syn Flooding Attack
공격자는 다량의 SYN 패킷을 서버로 전달하여 서버의 대기 큐(Backlog Queue)를 가득 채워 새로운 클라이언트의 연결요청을 무시하도록 하여 장애를 유발시키는 공격으로 TCP 프로토콜이 데이터를 보내기 전에 연결을 먼저 맺어야 하는 특징을 이용한 공격이다.
4. ISMS
조직에 적합한 정보보호를 위해 정책 및 조직수립, 위험관리, 대책구현, 사후관리 등의 정보보호관리과정을 정리하고 이를 통해 구현된 여러 정보보호대책들이 유기적으로 통합된 체계를 갖추었는지 제 3자의 인증기관(한국정보보호진흥원)을 통해 객관적이고 독립적으로 평가하여 인증기준에 대한 적합 여부를 보증해 주는 제도를 말한다.
5. Snort
6. 접근통제
①. 강제적 접근통제 - MAC(Mandatory Access Control)
최상의 보안등급을 가졌다 하더라도 알 필요성의 원칙을 적용해 모든 자료를 볼 수 없도록 차단하는 방식의 접근통제를 말한다. 주로 군, 정부에서 사용하는 방식으로 객체의 보안 레이블(Security Label)에 근거해 주체의 접근을 승인하며 기본적으로 모든 걸 금지한다.
②. 임의적 접근통제 - DAC(Discretionary Access Control)
주체가 속한 그룹의 신원에 근거해 객체에 대한 접근을 제한하는 방법으로 객체의 소유자가 접근 여부를 결정하는 방식의 접근통제를 말한다. 주로 범용 운영체제에 구현되어 있고 접근 통제 목록(ACL)을 사용한다. 트로이 목마에 취약하고 ID 도용 시 통제 방법이 없다는 단점이 있다.
③. 역할기반 접근통제 - Non-DAC(Non-Discretionary Access Control), RBAC
주체의 인사 이동이 잦은 조직에 적합한 접근 통제 방식으로 주체의 역할(Role)에 기반해 접근을 통제한다. 중앙 관리자가 조직의 보안정책에 근거해 객체에 대한 주체의 접근 결정한다.
| MAC | DAC | Non-DAC(RBAC) |
권한 부여 | 시스템 | 데이터 소유자 | 중앙 관리자 |
결정 기준 | 보안 레이블 | 신분 | 역할 |
장점 | 중앙 집중식 관리 | 구현이 쉽다. | 관리가 쉽다. |
단점 | 구현 및 운영이 어렵다. | 트로이 목마, 신분 도용에 취약하다. |
|
적용 사례 | 방화벽 | ACL | HIPAA |
7. OWSAP Top 10
①. XSS
XSS 취약점은 애플리케이션이 신뢰할 수 없는 데이터를 가져와 적절한 검증이나 제한 없이 웹 브라우저로 보낼 때 발생한다. XSS는 공격자가 피해자의 브라우저에 스크립트를 실행하여 사용자 세션 탈취, 웹 사이트 변조, 악의적인 사이트로 이동할 수 있다.
②. CSRF
CSRF 공격은 로그온 된 피해자의 취약한 웹 애플리케이션에 피해자의 세션 쿠키와 기타 다른 인증정보를 자동으로 포함하여 위조된 HTTP 요청을 강제로 보내도록 하는 것이다. 이것은 공격자가 취약한 애플리케이션이 피해자로부터의 정당한 요청이라고 오해할 수 있는 요청들을 강제로 만들 수 있다.
8. 정보보호 5단계 관리 과정
1. 정책수립 및 범위설정 | 정보보호정책 수립 |
범위 설정 | |
2. 경영진 책임 및 조직구성 | 경영진 참여 |
정보보호 조직 구성 및 자원할당 | |
3. 위험 관리 | 위험관리 전략 및 계획 수립 |
위험 식별 및 평가 | |
정보보호 대책 설정 및 이행 계획 수립 | |
4. 정보보호대책 구현 | 정보보호 대책의 효과적 구혀 |
내부 공유 및 교육 | |
5. 사후 관리 | 법적 요구사항 검토 |
정보보호 관리체계 운영현황 관리 | |
내부 감사 |
9. DoS - Teardrop (IP Fragment Packet Flooding)
하나의 IP 패킷은 MTU(Maximum Transmission Unit)라는 이더넷(Ethernet)에서 전송 가능한 IP 데이터그램 크기로 나뉘어 전달되고, 수신자는 나뉘어 전달받은 데이터그램을 하나의 IP 패킷으로 재조합해야 한다. 만약, 공격자가 이러한 IP 데이터그램을 조작하거나 순서를 뒤바꾸어 전송하면 서버는 전달받은 IP 데이터그램의 순서를 알지 못하거나 중복된 IP 데이터그램을 처리하지 못해 시스템 장애가 발생한다.
10. 위험 대응 방법
위험이 존재하는 프로세스나 사업 포기 | |
위험 감소 | 위험을 감소시킬 수 있는 대책 구현 |
위험 전가 | 위험의 잠재적 비용을 제 3자에게 이전 |
위험 수용 | 현재의 위험을 받아들이고 잠재적 손실 비용 감수 |
위험 모니터링 | 잠재위험이 위험요인으로 변화 가능하므로 지속적인 모니터링 실시 |
11. MAC 주소
로컬 네트워크에서의 통신에 사용되며, 장치의 인터페이스를 유일하게 식별하는 주소로 48bit의 길이를 가지며 16진수로 표기한다.
XX:XX:XX | : | XX:XX:XX |
상위 6 바이트: 제조사 식별 번호(OUI) |
| 하위 6 바이트: 일련 번호 |
①. MAC Filtering
MAC 필터링이란 네트워크 카드에 할당된 48비트 주소인 MAC주소를 이용하여 접근 제어를 의미한다. MAC주소는 각 네트워크 카드마다 고유하게 할당되기 때문에 특정 장치에 대한 네트워크 접근을 허용하거나 차단 할 수 있다.
장점: 효율적인 무선LAN 접근 제어 방식
단점: 등록하지 못한 사용자는 사용할 수 없고, 강력한 보안은 제공하지 않는다.
②. MAC Filtering 우회 방법
MAC 주소 위조, 불법 AP 추가 설치, 무선LAN 주파수 공격 등
12. GET Flooding with Cache-Control (CC Attack)
일반적으로 웹서버의 부하를 감소시키기 위해 캐싱서버를 운영하여 자주 요청 받는 데이터(사진파일)는 웹서버가 아닌 캐싱서버를 통해 응답하도록 구축하는 경우 공격자는 HTTP 메시지의 캐시 옵션을 조작하여 캐싱서버가 아닌 웹서버가 직접 처리하도록 유도하여 캐싱서버의 기능을 무력화하고 웹서버의 자원을 소진시키는 공격이다.
HTTP 메시지의 헤더정보에 포함된 Cache-Control 값을 no-store, must-revalidate로 지정하여 캐싱 장비가 응답하지 않고 웹서버가 직접 응답하도록 유도하여 웹서버의 자원을 소진시킨다. must-revalidate는 클라이언트가 보낼 경우, 캐싱장비에 영향을 미치지 않는다.
no-store - 캐시저장금지 | must-revalidate - 캐시 검증 |
클라이언트로부터 요청받은 데이터를 디스크나 메모리, 별도의 시스템(캐싱서버)에 저장하는 것을 방지한다. | 웹서버는 캐싱서버에 저장된 캐시데이터에 대한 검증을 요구할 수 있는데 캐싱서버는 웹서버의 원본데이터와 비교하여 최신 데이터로 업데이트한다. |
①. HTTP Header 중 Referer
웹 페이지를 요청한 이전 페이지의 정보가 담겨있다.
②. cache-control:max-age=sec
지정한 시간보다 오래된 캐시는 보내지 않기 때문에 0으로 설정하면 항상 새로 요청하게 된다.
13. 재난 복구 서비스
상호지원계약 | 유사한 장비나 응용 시스템을 가진 두 개 이상의 조직 간에 비상시 설비와 서비스를 제공하기 위한 계약 장점: 저렴한 비용으로 구현 가능 단점: 계약 이행 강제 불가능, 용량 문제로 인해 모든 핵심 업무 수용 곤란 |
미러 사이트 | 전산 센터와 동일한 시스템 구성 장점: 가용성 / 단점: 비용 |
핫 사이트 | 전산 센터와 동일한 모든 설비와 자원을 보유하고 있는 시설 장점: 신속한 업무 재개, 데이터의 최신성, 주기적인 테스트와 구성의 유연성 제공 단점: 비용, 보안적인 문제, 관리적(최신 데이터와 패치 등) 문제 |
웜 사이트 | 고가의 장비와 응용프로그램, 실제 데이터를 제외한 시설과 장비 등 부분적인 설비를 보유하고 있는 시설 장점: 유지 관리 용이 단점: 대응 속도 느림, 하드웨어 구입 문제 |
콜드 사이트 | 정보 처리 시설을 운영하기 위한 기본적인 환경 제공 장점: 최소 비용 / 단점: 운영 준비 시간, 테스트 곤란 |
14. IPSEC VPN
링크 → IPSEC
①. 사전공유키(Preshared Key)
사전 공유 키는 IPsec 연결을 인증하는 데 사용되는 문자 열로 사전에 공유 된 키를 사용하여 다른 개체 간의 인증을 한다.
장점: 별도의 키 전달 과정이 필요하지 않으며 구성이 상대적으로 간단하다.
단점: 구성원이 늘어날 수록 필요한 키의 수가 급격하게 증가하고 키의 변경이 어렵다. 또 키의 출처를 알 수 없다.
15. Slow HTTP Read Dos Attack
공격자는 TCP 윈도우 크기와 데이터 처리율을 감소시킨 상태에서 다수의 HTTP 패킷을 송신하여 웹서버가 정상적으로 응답하지 못하도록해 DoS 상태를 유발한다.
①. TCP 윈도우 - TCP 헤더의 일부로 수신자 측이 수신 가능한 데이터 버퍼 용량을 의미한다.
②. 데이터 처리율 - 클라이언트가 수신한 데이터를 읽어 들이는 단위시간당 처리 능력을 의미한다.
서버와 클라이언트는 연결시 주고받은 TCP 윈도우 크기에 맞게 패킷을 생성하여 주고받게 된다. 예를 들어 TCP 윈도우 크기를 256byte로 설정한다면 1~256byte 범위의 랜덤값(예:192byte)으로 윈도우 크기가 정해져서 SYN 패킷을 전송하게 된다. 만약, 공격자가 서버와의 연결시, 윈도우 크기를 매우 작은 수치로 설정하여 서버로 전달하게 되면 서버는 클라이언트의 윈도우 크기가 정상으로 환원될 때까지 Pending 상태에 빠지게 되며 연결을 유지하게 된다.
공격자는 자신의 TCP 윈도우 크기가 0 byte임을 서버로 전달(ACK) 하면 서버는 공격자의 윈도우 크기가 0 byte임을 인지한 후 더 이상 데이터를 전송하지 않고(pending 상태) 공격자의 윈도우 크기를 점검하는 probe 패킷을 ACK로 전송하며 대기 상태에 빠지게 된다. 서버가 공격자와 정상적인 통신이 이루어지지 않고 지속적으로 연결을 유지하는 상태로 빠지게 하여 서버의 자원을 소진시킴으로 DoS 상태를 유발한다.
16. 개인 정보 영향 평가의 대상
①. 구축∙운용 또는 변경하려는 개인정보파일로서 5만명 이상의 정보주체에 관한 민감정보 또는 고유식별정보의 처리가 수반되는 개인정보파일
②. 구축∙운용하고 있는 개인정보파일을 해당 공공기관 내부 또는 외부에서 구축∙운용하고 있는 다른 개인정보파일과 연계하려는 경우로서 연계 결과 50만명 이상의 정보주체에 관한 개인정보가 포함되는 경우
③. 구축∙운용 또는 변경하려는 개인정보파일로서 100만명 이상의 정보주체에 관한 개인정보파일
정보보안기사 실기 기출문제 정리 - 4회
1. CVE
CVE(Common Vulnerabilities and Exposure)는 공개적으로 알려진 소프트웨어의 보안 취약점의 고유 표기 방식이다.
CVE | - | 2017 | - | 0001 |
CVE 접두사 | 취약점 발생 년도 | 취약점 일련 번호 |
2. OWASP Top 10
①. Injection
SQL, 운영체제, LDAP 인젝션 취약점은 신뢰할 수 없는 데이터가 명령어나 질의문의 일부분으로서 인터프리터로 보내질 때 발생한다. 공격자의 악의적인 데이터는 예상하지 못하는 명령을 실행하거나 적절한 권한 없이 데이터에 접근하도록 인터프리터를 속일 수 있다.
②. XSS
애플리케이션이 신뢰할 수 없는 데이터를 가져와 적절한 검증이나 제한 없이 웹 브라우저로 보낼 때 발생한다. XSS는 공격자가 피해자의 브라우저에 스크립트를 실행하여 사용자 세션 탈취, 웹 사이트 변조, 악의적인 사이트로 이동할 수 있다.
③. CSRF
로그온 된 피해자의 취약한 웹 애플리케이션에 피해자의 세션 쿠키와 기타 다른 인증정보를 자동으로 포함하여 위조된 HTTP 요청을 강제로 보내도록 하는 것이다. 이것은 공격자가 취약한 애플리케이션이 피해자로부터의 정당한 요청이라고 오해할 수 있는 요청들을 강제로 만들 수 있다.
3. 개인정보보호법 - 제17조(개인정보의 제공)
개인정보를 제3자에게 제공 시 다음 각 호의 사항을 정보주체에게 알리고 동의를 받아야 한다.
①. 개인정보를 제공 받는 자
②. 개인정보를 제공 받는 자의 개인정보 이용 목적
③. 제공하는 개인정보 항목
④. 개인정보를 제공 받는 자의 개인정보 보유 및 이용 기간
⑤. 동의를 거부할 권리가 있다는 사실 및 동의 거부에 따른 불이익이 있는 경우에는 그 불이익의 내용
4. 위험 분석 접근 방법
①. 기준선 접근법
모든 시스템에 대하여 보호의 기본수준을 정하고 일련의 보안대책 선택
장점: 비용과 시간 절약
단점: 과보호 또는 부족한 보호가 될 가능성 존재
②. 전문가 판단법
전문가의 지식과 경험을 이용한 위험분석
장점: 작은 조직에 비용 효과적
단점: 위험 영역을 놓칠 가능성 존재, 개인적 경험에 의존
③. 상세위험 접근법
자산 분석, 위협 분석, 취약성 분석의 각 단계를 수행하여 위험의 정도 결정
정성적 위험분석 + 정량적 위험분석
장점: 조직의 보안 요구에 적절한 보안 수준 식별, 보안 환경 변화에 적절한 대처 가능
단점: 전문적인 지식과, 시간과 노력이 많이 소요.
④. 복합 접근법
조직에 필수적이고 고위험 영역을 식별하여 상세 위험분석을 수행하고 다른 영역은 기준선 접근법을 적용하는 방식
장점: 비용과 자원을 효과적으로 사용, 고위험 영역을 빠르게 식별하고 적절하게 처리
단점: 고위험 영역이 잘못 식별되면 비용 낭비 및 부적절한 대응할 수 있음.
5. 위험관리
정보보안기사 실기에서 위험관리는 매회 빠지지 않고 출제되는 문제입니다.
한국인터넷 진흥원에서 2005년 작성된 자료이지만, 위험관리에 대해 아주 상세하게 정리되어 있으니 시간적 여유가 생긴다면 꼭 한번 읽어보시길 바랍니다.
6. WEB Proxy - Paros
웹 애플리케이션 취약점을 평가하기 위한 Java 기반 웹 프록시입니다. HTTP, HTTPS의 메시지를 중간에서 가로채서 쿠키 및 양식 필드와 같은 항목을 편집해 변경할 수 있습니다. Paros에는 웹 트래픽 레코더, 웹 스파이더, 해시 계산기 및 SQL 삽입 및 크로스 사이트 스크립팅과 같은 일반적인 웹 응용 프로그램 공격을 테스트 하기 위한 스캐너가 포함되어 있습니다.
7. 침입 탐지 시스템 - IDS
링크 → 침입 탐지 시스템 [현재 정리 중]
False Positive | 오탐. 공격이 아니지만 공격으로 탐지하는 증상 |
False Negative | 미탐. 실제 공격이지만 탐지하지 못 하는 증상 |
8. TCP FLAG SCAN
TCP 스캔 | SYN 스캔 | TCP SYN FLAG를 설정하고 전송해 대상 시스템의 응답을 통해 활성화된 서비스 검색 열린 포트: SYN+ACK, 닫힌 포트: RST |
FIN 스캔 | TCP FIN FLAG를 설정하고 전송해 대상 시스템의 응답을 통해 활성화된 서비스 검색 열린 포트: RST, 닫힌 포트: 응답 없음 | |
NULL 스캔 | TCP FLAG를 하나도 설정하지 않고 전송해 대상 시스템의 응답을 통해 활성화된 서비스 검색 열린 포트: RST, 닫힌 포트: 응답 없음 | |
XMAS 스캔 | TCP FLAG를 모두 설정해서 전송해 대상 시스템의 응답을 통해 활성화된 서비스 검색 열린 포트: RST, 닫힌 포트: 응답 없음 |
9. HTTP 요청방식
종류 | 전송 형태 | 설 명 |
GET | GET [request-uri]?query_string HTTP/1.1 \r\n Host: [HOSTNAME] or [IP] \r\n | 서버에서 리소스(URI) 요청 |
POST | POST [request-uri]?query_string HTTP/1.1 \r\n Host: [URL] or [IP] \r\n Content-Length: [Length in Bytes] \r\n Content-Type: [Content Type] \r\n \r\n [query-string] or [data] | 서버에 입력 데이터 전송 |
HEAD | HEAD [request-uri] HTTP/1.1 \r\n Host: [URL] or [IP] \r\n | 서버에서 리소스에 대한 헤더만 요청 |
OPTIONS | OPTIONS [request-uri] HTTP/1.1 \r\n Host: [URL] or [IP] \r\n | 서버 측에서 지원하는 메소드 종류 확인 |
PUT | PUT [request-uri] HTTP/1.1 \r\n Host: [URL] or [IP] \r\n Content-Length: [Length in Bytes] \r\n Content-Type: [Content Type] \r\n \r\n [data] | 서버의 리소스(URI)에 데이터 저장 및 갱신 |
TRACE | TRACE [request-uri] HTTP/1.1 \r\n Host: [URL] or [IP] \r\n | 메시지가 서버에 도달하는 과정 추적 |
DELETE | DELETE [request-uri] HTTP/1.1 \r\n Host: [URL] or [IP] \r\n | 서버의 리소스(URI) 삭제 요청 |
10. 시큐어코딩 - 버퍼 오버플로우
안전하지 않은 코드
1: void manipulate_string(char* string)
2: {
3: char buf[24];
4: strcpy(buf, string);
5: ……
6: }
안전한 코드
1: void manipulate_string(char* string)
2: {
3: char buf[24];
4: /* 복사하려는 버퍼와 길이를 비교한다. */
5: if (strlen(string < sizeof(buf))
6: strncpy(buf, string, sizeof(buf)-1);
7: /* 문자열은 반드시 null로 종료되어야 한다. */
8: buf[sizeof(buf)-1] = '\0';
9: ……
10: }
링크 → 시큐어코딩 가이드
11. VPN
12. Blind SQL Injection
Blind SQL Injection은 SQL Injection 공격의 한 종류로 데이터베이스에 참 또는 거짓 쿼리를 질의했을 때 돌아오는 응답의 결과를 이용한 공격입니다.
해커스스쿨에서 활동하신 프라이드님이 2010년 10월 경에 작성한 문서 The basic of Blind SQL Injection 를 보면 더욱 쉽게 Blind SQL Injection을 이해하는데 도움이 될 것입니다.
13. 개인정보보호법 시행령 - 제30조(개인정보의 안전성 확보 조치)
관리적 조치
①. 개인정보의 안전한 처리를 위한 내부 관리계획의 수립∙시행
②. 개인정보에 대한 접근 통제 및 접근 권한의 제한 조치
기술적 조치
③. 개인정보를 안전하게 저장∙전송할 수 있는 암호화 기술의 적용 또는 이에 상응하는 조치
④. 개인정보 침해사고 발생에 대응하기 위한 접속 기록의 보관 및 위조∙변조 방지를 위한 조치
⑤. 개인정보에 대한 보안프로그램의 설치 및 갱신
물리적 조치
⑥. 개인정보의 안전한 보관을 위한 보관시설의 마련 또는 잠금장치의 설치 등 물리적 조치
14. SNORT - PCRE
SNORT 관련 문제도 매회 꾸준히 출제되고 있습니다. 직접 스노트를 구성해보면서 SNORT에 대해 이해하는 것이 정보보안기사 합격을 위한 지름길이 되지 않을까 생각합니다.
링크 → SNORT
15. Airodump-ng, Aireplay-ng, Aircrack-ng
링크 → aircrack-ng
airodump-ng
802.11 프레임의 패킷 캡처에 사용되며 특히 aircrack-ng에서 WEP IV (초기화 벡터)를 수집하려는 목적으로 사용합니다.
airodump-ng 명령어 사용 방법
# airodump-ng <options> <interface>[,<interface>,...]
airodump-ng options
--ivs : Save only captured IVs
--gpsd : Use GPSd
--write <prefix> : Dump file prefix
-w : same as --write
--beacons : Record all beacons in dump file
--update <secs> : Display update delay in seconds
--showack : Prints ack/cts/rts statistics
-h : Hides known stations for --showack
-f <msecs> : Time in ms between hopping channels
--berlin <secs> : Time before removing the AP/client
from the screen when no more packets
are received (Default: 120 seconds)
-r <file> : Read packets from that file
-x <msecs> : Active Scanning Simulation
--manufacturer : Display manufacturer from IEEE OUI list
--uptime : Display AP Uptime from Beacon Timestamp
--wps : Display WPS information (if any)
--output-format
<formats> : Output format. Possible values:
pcap, ivs, csv, gps, kismet, netxml
Short format "-o"
The option can be specified multiple times. In this case, each file format
specified will be output. Only ivs or pcap can be used, not both.
--ignore-negative-one : Removes the message that says
fixed channel <interface>: -1
--write-interval
<seconds> : Output file(s) write interval in seconds
airodump-ng Filter options
--encrypt <suite> : Filter APs by cipher suite
--netmask <netmask> : Filter APs by mask
--bssid <bssid> : Filter APs by BSSID
--essid <essid> : Filter APs by ESSID
--essid-regex <regex> : Filter APs by ESSID using a regular
expression
①. airodump-ng -c 3 --bssid 00:26:0B:2A:BA:40 -w output mon0
-c 3 | 무선 네트워크 채널 |
-bssid 00:26:0B:2A:BA:40 | 무선 AP의 MAC 주소 |
-w output | 캡쳐한 패킷을 저장할 파일의 prefix |
mon0 | 무선 랜 인터페이스 지정 |
aireplay-ng
주요 기능은 WEP 또는 WPA-PSK 키를 크랙하기 위해 aircrack-ng에서 사용할 트래픽을 생성하는 것입니다.
aireplay-ng 명령어 사용 방법
# aireplay-ng <options> <replay interface>
aireplay-ng 공격 기능
Attack 0: Deauthentication
Attack 1: Fake authentication
Attack 2: Interactive packet replay
Attack 3: ARP request replay attack
Attack 4: KoreK chopchop attack
Attack 5: Fragmentation attack
Attack 6: Cafe-latte attack
Attack 7: Client-oriented fragmentation attack
Attack 8: WPA Migration Mode
Attack 9: Injection test
aireplay-ng Filter options
-b bssid : MAC address, Access Point
-d dmac : MAC address, Destination
-s smac : MAC address, Source
-m len : minimum packet length
-n len : maximum packet length
-u type : frame control, type field
-v subt : frame control, subtype field
-t tods : frame control, To DS bit
-f fromds : frame control, From DS bit
-w iswep : frame control, WEP bit
aireplay-ng Replay options
-x nbpps : number of packets per second
-p fctrl : set frame control word (hex)
-a bssid : set Access Point MAC address
-c dmac : set Destination MAC address
-h smac : set Source MAC address
-e essid : For fakeauth attack or injection test, it sets target AP SSID. This is optional when the SSID is not hidden.
②. aireplay-ng -0 1 -a 00:14:6C:7E:40:80 -c 00:0F:B5:34:30:30 mon0
-0 | 인증 취소(Deauthentication) 모드 |
1 | 인증 취소 패킷을 전송할 수 |
-a 00:14:6C:7E:40:80 | 무선 AP의 MAC 주소 |
-c 00:0F:B5:34:30:30 | 인증을 취소할 클라이언트의 MAC 주소 |
mon0 | 무선 랜 인터페이스 지정 |
aircrack-ng
Aircrack-ng는 802.11 WEP, WPA, WPA2-PSK 키를 크랙하는 프로그램입니다.
aircrack-ng 명령어 사용 방법
# aircrack-ng [options] <capture file(s)>
aircrack-ng options
Option | Param. | Description |
-a | amode | Force attack mode (1 = static WEP, 2 = WPA/WPA2-PSK). |
-b | bssid | Long version - -bssid. Select the target network based on the access point's MAC address. |
-e | essid | If set, all IVs from networks with the same ESSID will be used. This option is also required for WPA/WPA2-PSK cracking if the ESSID is not broadcasted (hidden). |
-p | nbcpu | On SMP systems: # of CPU to use. This option is invalid on non-SMP systems. |
-q | none | Enable quiet mode (no status output until the key is found, or not). |
-c | none | (WEP cracking) Restrict the search space to alpha-numeric characters only (0x20 - 0x7F). |
-t | none | (WEP cracking) Restrict the search space to binary coded decimal hex characters. |
-h | none | (WEP cracking) Restrict the search space to numeric characters (0x30-0x39) These keys are used by default in most Fritz!BOXes. |
-d | start | (WEP cracking) Long version –debug. Set the beginning of the WEP key (in hex), for debugging purposes. |
-m | maddr | (WEP cracking) MAC address to filter WEP data packets. Alternatively, specify -m ff:ff:ff:ff:ff:ff to use all and every IVs, regardless of the network. |
-M | number | (WEP cracking) Sets the maximum number of ivs to use. |
-n | nbits | (WEP cracking) Specify the length of the key: 64 for 40-bit WEP, 128 for 104-bit WEP, etc. The default value is 128. |
-i | index | (WEP cracking) Only keep the IVs that have this key index (1 to 4). The default behaviour is to ignore the key index. |
-f | fudge | (WEP cracking) By default, this parameter is set to 2 for 104-bit WEP and to 5 for 40-bit WEP. Specify a higher value to increase the bruteforce level: cracking will take more time, but with a higher likelyhood of success. |
-H | none | Long version - -help. Output help information. |
-l | file name | (Lowercase L, ell) logs the key to the file specified. |
-K | none | Invokes the Korek WEP cracking method. (Default in v0.x) |
-k | korek | (WEP cracking) There are 17 korek statistical attacks. Sometimes one attack creates a huge false positive that prevents the key from being found, even with lots of IVs. Try -k 1, -k 2, … -k 17 to disable each attack selectively. |
-p | threads | Allow the number of threads for cracking even if you have a non-SMP computer. |
-r | database | Utilizes a database generated by airolib-ng as input to determine the WPA key. Outputs an error message if aircrack-ng has not been compiled with sqlite support. |
-x/-x0 | none | (WEP cracking) Disable last keybytes brutforce. |
-x1 | none | (WEP cracking) Enable last keybyte bruteforcing (default). |
-x2 | none | (WEP cracking) Enable last two keybytes bruteforcing. |
-X | none | (WEP cracking) Disable bruteforce multithreading (SMP only). |
-y | none | (WEP cracking) Experimental single bruteforce attack which should only be used when the standard attack mode fails with more than one million IVs |
-u | none | Long form - -cpu-detect. Provide information on the number of CPUs and MMX support. Example responses to “aircrack-ng - -cpu-detect” are “Nb CPU detected: 2” or “Nb CPU detected: 1 (MMX available)”. |
-w | words | (WPA cracking) Path to a wordlist or “-” without the quotes for standard in (stdin). |
-z | none | Invokes the PTW WEP cracking method. (Default in v1.x) |
-P | none | Long version - -ptw-debug. Invokes the PTW debug mode. |
-C | MACs | Long version - -combine. Merge the given APs to a virtual one. |
-D | none | Long version - -wep-decloak. Run in WEP decloak mode. |
-V | none | Long version - -visual-inspection. Run in visual inspection mode. |
-1 | none | Long version - -oneshot. Run in oneshot mode. |
-S | none | WPA cracking speed test. |
-s | none | Show the key in ASCII while cracking |
-E | file> | (WPA cracking) Create EWSA Project file v3 |
-J | file | (WPA cracking) Create Hashcat Capture file |
③. aircrack-ng -w pw.lst -b 00:14:6C:7E:40:80 output*.cap
-w pw.lst | 키를 크랙할 때 사용할 패스워드 사전 파일 |
-b 00:14:6C:7E:40:80 | 무선 AP의 MAC 주소 |
output*.cap | airodump-ng로 수집한 패킷 캡처 파일 목록 |
16. 연간예상손실(ALE)
정량적 위험분석의 대표적인 방법으로 특정 자산에 대한 특정 실현된 위협의 모든 경우에 대한 연간 비용 계산한다.
①. EF(Exposure Factor)
자산의 가치에 대한 손실이나 영향의 크기를 측정한 값으로 위협으로부터 발생하는 자산가치의 손실을 %로 표현
②. ARO(Annualized Rate of Occurrence)
매년 특정 위협/위험이 발생할 가능성에 대한 예상 빈도수
③. SLE(Single Loss Expectancy) = Asset Value X EF
특정한 위협이 발생하여 예상되는 1회 손실액
④. ALE(Annualized Loss Expectancy) = SLE X ARO = AV X EF X ARO
정보보안기사 실기 기출문제 정리 - 5회
1. 저널링 파일시스템
저널링 파일시스템은 리눅스의 파일시스템인 ext3 부터 지원하는 백업 및 복구 능력을 가진 파일시스템입니다. 디스크를 쓰는 작업 중 파일 시스템의 변경 사항을 기록하는 저널 또는 로그를 유지하다가 시스템 충돌이나 정전과 같은 이벤트로 발생할 수 있는 손상을 신속하게 재구성하는 데 사용할 수 있습니다. 저널링 파일시스템은 디스크에 적용되는 변화를 로그로 남기기 때문에 전통적인 파일시스템보다 안전합니다.
2. CVE, CWE
CVE(Common Vulnerabilities and Exposures)
공개적으로 알려진 소프트웨어의 보안 취약점의 고유 표기
표기방식 → CVE + 연도 + 일련번호
CWE(Common Weakness Enumeration)
소프트웨어의 보안 취약점의 종류를 식별하기 위한 취약점 유형의 목록
표기방식 → CWE + ID
정보보안기사 예상 문제
CVSS(Common Vulnerability Scoring System)
기본 평가 기준, 현재 평가 기준, 환경 평가 기준의 세 가지 기준으로 컴퓨터 시스템의 보안 취약점의 심각성을 점수를 매겨 평가하는 기준 체계
3. Syn Flooding
TCP의 취약점을 이용한 공격으로 세션을 연결하기 위해 3 Way Handshaking 과정을 거치는데 half-Open 연결 상태가 가능하다는 취약점을 이용한 공격
공격자가 출발지 IP를 조작한 SYN 패킷을 대량으로 전송하면 공격 대상 시스템은 SYN/ACK 응답을 전송하고 공격자의 ACK 응답을 대기하게 된다. 다량의 SYN 패킷을 서버로 전달해 서버의 대기 큐를 가득 채워 신규 클라이언트의 연결요청을 무시하도록 하여 장애를 유발시키는 공격이다.
대응 방법
①. 접속 타임아웃 타이머 시간 단축
②. 연결요청 큐 사이즈 확장
③. 방화벽 또는 IDS 설치
④. 임계치 기반의 SYN Flooding 차단
⑤. First SYN Drop(Spoofed)
클라이언트로부터 전송된 첫 번째 SYN을 DROP하여 재요청 패킷이 도착하는지를 확인하여 Spoofing 여부를 판단하고 차단하는 방식
⑥. Syn-cookie 설정
클라이언트의 SYN 패킷에 대한 응답으로 SYN/ACK를 전송할 때 ISN(Initial Sequence Number)에 cookie 값을 집어 넣어 클라이언트의 TCP connection을 Establish 하는 방법이다. SYN flooding에 대한 방어법은 아니지만 완화하는 효과가 있다.
4. SQL Injection
데이터베이스와 연동된 웹 어플리케이션에서 SQL 질의문에 대한 필터링이 제대로 이루어지지 않을 경우 공격자가 입력이 가능한 폼(웹 브라우저 주소입력창 또는 로그인 폼 등)에 조작된 질의문을 삽입하여 웹 서버의 데이터베이스 정보를 열람 또는 조작을 할 수 있는 취약점입니다.
5. 개인정보보호법
제8조(접속기록의 보관 및 점검)
① 개인정보처리자는 개인정보취급자가 개인정보처리시스템에 접속한 기록을 6개월 이상 보관·관리하여야 한다.
② 개인정보처리자는 개인정보의 분실·도난·유출·위조·변조 또는 훼손 등에 대응하기 위하여 개인정보처리시스템의 접속기록 등을 반기별로 1회 이상 점검하여야 한다.
③ 개인정보처리자는 개인정보취급자의 접속기록이 위·변조 및 도난, 분실되지 않도록 해당 접속기록을 안전하게 보관하여야 한다
6. 파일 업로드(File Upload)
파일 업로드 기능이 존재하는 웹 어플리케이션에서 확장자 필터링이 제대로 이루어지지 않았을 경우 공격자가 악성 스크립트 파일(웹쉘)을 업로드 하여 웹을 통해 해당 시스템을 제어할 수 있어 명령어 실행 및 디렉터리 열람이 가능하고 웹 페이지 또한 변조가 가능한 취약점입니다.
7. PHP에 대한 보안 설정에 관련된 문제였다. 문제의 내용은 생각나진 않지만
다음에 설명하는 글에 관한 문제였다. PHP를 다뤄보지 않아 잘 몰라서 틀린 문제다.
php.ini 파일 중에서 allow_url_fopen 옵션을 On으로 설정하면 파일 액세스 시 외부 사이트의 파일을 호출할 수 있다. 특히 include(), require()계열의 함수 사용 시 심각한 보안상의 문제를 유발하게 되므로 반드시 Off로 사용한다. include _GET[$url]이런식으로 되어있을 때xxx.php?url=http://악성코드 요런식으로 될수도있다.
8,9. 8번과 9번 문제는 위험관리에 관한 문제였다.
문제가 생각나진 않지만, 취약점에 대한 설명과 위험 수용 그리고, 수용 가능한 위험의 기준이 무엇인지 묻는 문제였다. 수용 가능한 위험의 기준은 DoA(Degree of Assurance)라고 한다. 이 부분은 미쳐 몰랐다.
10. 보안의 3요소, 사업 영향 평가
①. 보안의 3요소
구분 | 기밀성 | 무결성 | 가용성 |
정의 | 인가된 주체만이 알 필요성의 원칙에 근거한 정보 접근 | 비인가된 주체의 변경 불가 정보의 정확성, 일관성, 완전성 | 정당한 주체의 적시 접근 |
위협 | 도청, 사회공학 | 해커, 악성코드 | 도스공격, 통신방해 |
보호 | 암호, VPN | 직무분리, 최소권한, 직무순환, 접근통제, 동시성통제, 전자서명, 인증 | 백업, 이중화, Fault Tolerant, 클러스트링 |
반어 | 노출 | 변경 | 파괴, 차단 |
②. 사업 영향 평가(BIA, Business Impact Analysis)
업무 연속성 계획의 필수적인 요소로 재해, 사고 또는 비상 사태로 인한 중요한 비즈니스 운영에 대한 중단의 잠재적 영향을 결정하고 평가하는 체계적인 프로세스입니다.
BIA 4단계
1. 조직 내 모든 업무 단위 파악: 설문 대상자 선정, 취합방법 결정
2. 핵심 업무 기능 선정: 우선순위화, IT자원 식별 후 위험분석
3. 모든 업무 분석: 우선순위, MTD
4. 결과의 문서화 및 제출
11. Drive by Download
12. 정보통신기반보호법
제16조(정보공유ㆍ분석센터)
①. 금융ㆍ통신 등 분야별 정보통신기반시설을 보호하기 위하여 다음 각호의 업무를 수행하고자 하는 자는 정보공유ㆍ분석센터를 구축ㆍ운영할 수 있다.
1. 취약점 및 침해요인과 그 대응방안에 관한 정보 제공
2. 침해사고가 발생하는 경우 실시간 경보ㆍ분석체계 운영
④. 정부는 제1항 각호의 업무를 수행하는 정보공유ㆍ분석센터의 구축을 장려하고 그에 대한 재정적ㆍ기술적 지원을 할 수 있다.
링크 → 정보통신기반보호법
13. 크로스 사이트 스크립팅(XSS, Crose Site Script)
①. 정의
웹 어플리케이션에서 사용자 입력 값에 대한 필터링이 제대로 이루어지지 않을 경우, 공격자가 입력이 가능한 폼(웹 브라우저 주소입력 또는 게시판 등)에 악의적인 스크립트를 삽입하여 사용자 세션 도용, 악성코드를 유포할 수 있는 취약점입니다.
②. 판단 기준
점검 위치 | 행위 | 취약 반응 |
사용자 입력 폼 | <script>alert()</script> 입력 | 팝업 창 발생 |
URL 검색 폼 | <script>alert()</script> 입력 | 팝업 창 발생 |
③. 대응 방안
- 웹 방화벽: 모든 사용자 입력 폼(로그인 폼, 검색 폼, URL 등)을 대상으로 특수문자, 특수구문 필터링 규칙을 적용한다.
- 웹 어플리케이션: 웹 어플리케이션 소스코드의 시큐어 코딩을 적용한다.
14. Reverse Engineering
악성코드와 관련된 리버스 엔지니어링 문제는 리버스 엔지니어링을 전문적으로 공부하지 않으면 풀기 어려운 문제였습니다. 국내에서 리버스 엔지니어링 바이블 서적을 출판하신 리버스코어님의 블로그에서 리버스 엔지니어링을 공부해보시는 것을 추천합니다.
링크 → 리버스코어 블로그
15. 디렉토리 리스팅(Directory Listing)
①. 정의
웹 어플리케이션을 사용하고 있는 서버의 미흡한 설정으로 인해 인덱싱 기능이 활성화가 되어있을 경우, 공격자가 강제 브라우징을 통해 서버내의 모든 디렉터리 및 파일에 대해 인덱싱이 가능하여 웹 어플리케이션 및 서버의 주요 정보가 노출될 수 있는 취약점입니다.
②. 판단 기준
점검 위치 | 행위 | 취약 반응 |
URL | URL 경로 직접 접근 | 디렉터리 및 파일 목록 노출 |
③. 대응 방안
웹 서버의 디렉토리 리스팅 관련 보안 설정
Tomcat 기준
<init-param>
<param-name>listings</param-name>
<param-value>false</param-value>
</init-param>
16. DNS Zone Transfer
'자격증 > 정보보안기사' 카테고리의 다른 글
서술형 (0) | 2017.05.16 |
---|---|
시스템 및 네트워크 보안특성파악(작업형) (0) | 2017.05.15 |
그냥 정리 (0) | 2017.03.13 |
정보보안 관리 및 법규 - 정보보호 관련 법규 - (0) | 2016.07.21 |
정보보안 관리 및 법규 - 정보보호 관리 - (0) | 2016.07.21 |
댓글