공부/정보보안기사 실기 19

[Section 08] 웹 어플리케이션 취약점 (383~ 386pg)

[03 크로스 사이트 요청 위조(CSRF) ] (1) 개요 웹 어플리케이션에서 정상적인 경로를 통한 요청과 비정상적인 경로를 통한 요청을 서버가 구분하지 못할 경우 공격자가 스크립트 구문을 이용하여 정상적인 사용자로 하여금 조작된 요청을 전송하도록 하여 게시판 설정 변경, 회원 정보 변경 등의 문제가 발생할 수 있는 취약점을 말한다. 공격자가 GET 또는 POST 방식의 HTTP 요청을 통해 희생자 모르게 공격자의 의도된 행위를 수행하게 하여 특정 피래를 주는 형태이다. 공격을 당한 사용자의 권한을 공격자가 그대로 사용하게 되므로 사용자의 권한 수준에 따라 그 피해범위가 달라질 수 있다. (2) 실습 (3) 취약점 판단 기준 CSRF 취약점이 발생할 수 있는 입력 가능한 폼에 img 태그의 src 속성을..

[Section 08] 웹 어플리케이션 취약점 (356~ 374pg)

[ 01. SQL Injection 취약점 ] (1) 개요 Web Application에서 입력 받아 데이터베이스로 전달하는 정상적인 SQL 쿼리를 변조, 삽입하여 불법 로그인, DB 데이터 열람, 시스템 명령 실행 등을 수행하여 비정상적인 데이터베이스 접근을 시도하는 공격 기법 조작한 입력으로 데이터베이스를 인증 절차 없이 접근 및 자료를 무단 유출하거나 변조할 수 있음 DB에 악성 스크립트를 삽입하여 접근하는 사용자를 피싱 사이트 또는 악성코드 유포 사이트로 유도 Stored Procedure를 통한 OS 명령어 실행 DB에 있는 개인정보 획득 무료 SQL Injection 취약점 스캐너 Nikto : 오픈소스로 웹서버 및 SQL Injection에 대한 취약점 점검, 리눅스 기반 SQLMap : 블..

[Section 07] 어플리케이션 기본 학습 (350~ 355pg)

[04. SNMP] 개요 TCP/IP 기반 네트워크 상의 각 호스트로부터 정기적으로 여러 관리 정보를 자동으로 수집하거나 실시간으로 상태를 모니터링 및 설정할 수 있는 서비스로 NSMP는 프로토콜일 뿐이며 이를 활용하여 실제 네트워크 관리 정보를 얻기 위해서는 관련 프로그램이 준비되어야 한다. 시스템이나 네트워크 관리자로 하여금 원격으로 네트워크 장비를 모니터링하고 환경설정 등의 운영을 할 수 있도록 하는 네트워크 관리 프로토콜이다. 관리의 편의성을 주지만 여러 취약점들이 존재하여 서비스 거부 공격, 버퍼 오버플로우, 비인가 접속 등 여러가지 문제점들이 발생할 수 있다. SNMP 구성 요소는 기본적으로 관리 시스템과 관리 대상으로 나뉘는데, 관리 시스템을 Manager, 관리 대상을 Agent라고 부른다..

[Section 07] 어플리케이션 기본 학습 (342~ 349pg)

[03 FTP] (1) 개요 FTP는 TCP/IP 기반의 원격으로 떨어져 있는 서버와 클라이언트 사이의 파일 전송을 위한 통신 프로토콜 중 하나이다. FTP 서비스는 아이디 및 패스워드가 암호화되지 않은 채로 전송되어 간단한 스니퍼에 의해서도 아이디 및 패스워드가 노출될 수 있으므로 반드시 필요한 경우를 제외하고는 FTP 서비스 사용을 제한해야 한다. FTP 서비스를 이용할 경우에는 안전한 암호화된 통신을 수행하는 다음 서비스 이용을 권장한다. SFTP : SSH 기반의 파일 전송 프로토콜로 기본적으로 22/TCP 포트 사용 FTPS : 전송계층의 SSL/TLS 기반의 파일 전송 프로토콜로 기본적으로 990/TCP 포트 사용 (2) 동작모드 FTP 능동 Mode 특징 일반적으로 능동모드가 FTP 클라이언..

[Section 07] 어플리케이션 기본 학습 (333~ 341pg)

[02 HTTP] (1) 개요 HTTP 프로토콜은 웹상에서 클라이언트와 서버 간에 통신을 위해 개발된 프로토콜이다. 웹의 정식명칭은 월드 와이드 웹으로 전 세계에 거미줄처럼 연결된 망이라는 의미이다. 다양한 하이퍼 텍스트 문서들이 웹상에서 서로 연결되어 있다. 하이퍼 텍스트 문서란 참조 혹은 링크를 통해 한 문서에서 다른 문서로 접근할 수 있는 문서를 말한다. 대표적인 하이퍼 텍스트 문서로 HTML이 있다. 주로 80/tcp 포트를 사용하며 1991년 HTTP 초기버전이 발표된 이후 1996년 1.0버전, 1999년 1.1버전이 발표되어 널리 사용되고 있다. HTTP 통신은 클라이언트 요청과 서버 응답으로 이루어져 있다. 비연결형 프로토콜 HTTP/1.0 버전까지는 클라이언트의 HTTP 요청에 대한 서버..

[Section 07] 어플리케이션 기본 학습 (315~ 332pg)

[01 DNS] (1) DNS 구조 용어 정리 Recursive/Cache 네임서버/DNS 서버 Recursive는 재귀적이라는 뜻으로 동일한 작업을 조건이 만족될 때까지 반복적으로 처리한다는 의미아다. 관리하는/위임받은 도메인 없이 사용자 호스트로부터 질의가 들어오며 자신의 캐시에 저장된 정보 또는 반복적 질의를 통해 그 결과를 사용자 호스트에 응답해주는 네임서버를 말한다. 일반적으로 ISP 업체가 제공해주는 DNS 서버가 해당된다. Authoritative 네임서버/DNS 서버 Authoritative는 권한있는 이라는 뜻으로 관리하는/위임받은 도메인을 가지고 있는 네임서버를 말한다. 즉 특정 도메인에 대한 정보를 관리하면서 해당 도메인에 대한 질의에만 응답해주는 네임서버를 말한다. 네임서버가 관리하..

[Section 05] 네트워크 보안 프로토콜 (277~ 301pg)

[01 가상 사설망 (VPN: Virtual Private Network)] 개요 가상 사설망이란 인터넷과 같은 공중망을 이용하여 사설망이 요구하는 서비스를 제공할 수 있도록 구축한 망으로 공중망 내에서 마치 단일 회사만 사용하는 전용선처럼 사용하는 기술을 말한다. 공중망을 공유하기 때문에 낮은 비용으로 전용선과 같은 수준의 서비스를 제공하므로 많은 기업에서 사용하고 있다. VPN은 터널링 프로토콜과 보안과정을 거쳐 내부 기밀을 유지하여 보안성이 우수하고 외부로부터 안전하도록 주소 및 라우터 체계의 비공개와 데이터 암호화, 사용자 인증, 사용자 액세스 권한 및 제한의 기능을 제공한다. VPN 프로토콜 종류 PPTP(Point to Point Tunneel Protocol) 지원계층 : 2계층 특징 마이크..

[Section 04] 네트워크 기본 학습 (257~ 276pg)

[15 무선랜(Wireless LAN) 보안] (1) 무선랜 개요 무선랜에 대한 기술 표준은 국제표준기구인 IEEE에서 802.11 계열 표준으로 규정하고 있으며 무선랜 관련 장비들은 이 표준을 준수하고 있다. 무선랜 활성화를 위해 설립된 와이파이연합에서 무선 제품에 대한 기술 인증을 수행하고 인증에 통과한 제품에 대해 wifi 인증마크를 부여하고 있다. 따라서 무선랜과 와이파이 용어가 혼용되어 사용되고 있다. 무선랜은 기존 유선랜의 확장 개념에서 가정 또는 일반 사무실 환경에서 사용되는 경우가 대부분이다. 기존 유선랜에 무선 AP를 연결한 후 클라이언트에 무선 랜카드를 장착하여 접속하는 형태로 구성되어 있다. (2) 무선랜 환경 및 보안 취약점 무선랜 환경 무선랜은 구축 주체, 관리 주체, 이용 주체 ..

[Section 04] 네트워크 기본 학습 (222~ 256pg)

[13 분산 서비스 거부 (DDoS : Distibuted Denial of Service) 공격] 개요 분산 서비스 거부(DDoS) 공격은 분산된 다수의 좀비 PC/디바이스(악성 봇)에 의해 공격대상 시스템의 서비스를 마비시키는 공격 형태를 의미한다. 일반적인 공격 구조를 살펴보면 다음과 같이 크게 4가지 구성 요소로 이루어져있다. 공격자 : C&C 서버에 공격 명령을 전달하는 해커의 컴퓨터를 말한다. 봇 마스터라고도 한다. 명령제어(C&C) 서버 : 공격자로부터 직접 공격 명령을 전달받는 시스템을 말하며 전달받은 명령은 관리하는 다수의 좀비 PC/디바이스에게 전달한다. 마스터 또는 C2 서버라고도 한다. 좀비 PC/디바이스 : C&C 서버로부터 전달받은 명령을 실행하여 공격대상에 실제 공격을 수행하는..

[Section 04] 네트워크 기본 학습 (199~ 221pg)

[11 포트 스캐닝] (1) 개요 포트 스캐닝은 공격자가 침입 전 대상 호스트에 어떤 포트(서비스)가 활성화되어 있는지 확인하는 기법으로 침입 전 취약점을 분석하기 위한 사전 작업 중 하나이다. 포트 스캐닝을 통해 대상 호스트의 동작 여부와 제공하는 서비스 등을 확인할 수 있다. 일반적으로 포트 스캐닝을 수행하기 위한 포트 스캐너로 nmap을 많이 사용한다. (2) nmap 포트 스캐너 사용법 (3) TCP Connect(Open) 스캔 개요 일반 사용자 권한으로 TCP 포트 오픈 여부를 확인하기 위해 connect 시스템 호출을 이용하는 방식으로 스캔 대상 포트별로 정상적인 TCP 연결 설정을 수행하여 스캔하는 방식이다. TCP 등 프로토콜 패킷 자체를 사용자가 직접 조작하여 생성하기 위해서는 관리자 ..

[Section 04] 네트워크 기본 학습 (173 ~ 198pg)

[07 ICMP 프로토콜] 개요 3계층의 IP프로토콜은 신뢰할 수 없는 프로토콜이다. 즉 전송상태에 대한 관리가 이루어지지 않는다. 이러한 IP 프로토콜의 단점을 보완하기 위한 프로토콜이 ICMP 프로토콜이다. IP 패킷 전송 중 에러 발생 시 에러 발생 원인을 알려주거나 네트워크 상태를 진단해주는 기능을 제공해준다. Error-Reporting Message 기능 : 전송 중 오류 발생 시 에러 메시지를 생성하여 응답 Query Message 기능 : 네트워크 상태를 진단하기 위한 쿼리 요청 및 응답메시지 생성 ICMP 메시지는 메시지의 유형을 의미하는 Type 필드와 유형별 세부내용을 담고 있는 Code 필드로 구성이 된다. ICMP 프로토콜 구조 Type : ICMP 메시지의 유형/용도 Code :..

[Section 04] 네트워크 기본 학습 (143 ~ 172pg)

[01 프로토콜] [02 OSI 7Layer] ========================작성한 것 날아감========================= Transport Layer(전송 계층, L4) 개요 End-To-End Reliable Delivery, 종단 노드 간의 신뢰성 있는 데이터 전송을 담당하는 게층이다. 좀더 구체적으로 말하면 각 End 노드의 해당 process 간 신뢰성 있는 데이터 전송을 담당하는 계층이다. 목적지 노드를 찾아가기 위해서는 Process를 식별하기 위한 논리적인 주소가 필요하며 TCP/IP 프로토콜에서는 Port Address가 이 역할을 수행한다. 전송계층의 데이터 단위를 세그먼트라고 한다. 대표적 프로토콜로 TCP/IP의 TCP, UDP, SCTP와 Novel N..

[Section 03] 윈도우 서버 취약점 (126 ~ 140pg)

[01 계정 관리] (1) Administrator 계정 이름 변경 개요 관리자 계정은 컴퓨터 전체에 대한 모든 권한을 가진 계정이므로 특별한 관리자 필요 기본 관리자 계정명인 Administrator를 그대로 사용할 경우 악의적인 공격자에 의해 패스워드 무차별 공격에 취약할 수 있다. 따라서 쉽게 유추하기 어려운 관리자 계정명으로 변경할 것을 권장 윈도우 관리자 계정의 경우 로그온 실패 횟수에 제한이 없는 특징이 있다. (2) Guest 계정 사용 제한 개요 Guest 계정은 소프트웨어나 하드웨어 설치, 설정 변경, 암호 만들기 등을 할 수 없고 외부 사용자가 컴퓨터를 잠시 접근할 수 있는 계정이다. Guest 계정은 불특정 사용자의 시스템 접근을 허용하는 ㅜ치약한 계정으로 사용 제한을 권장하며 불특정..

[Section 02] UNIX/Linux 서버 취약점 (116 ~ 125pg)

[01 계정 관리] (1) root 이외의 UID는 0 금지 개요 root와 동일한 UID를 가진 계정 존재 시 root 권한으로 시스템 접근이 가능하므로 root의 UID를 가진 계정이 존재하지 않도록 확인 보안설정 /etc/passwd 파일 내 UID 확인 root 이외의 계정이 UID=0인 경우 확인하고 변경하거나 계정 삭제 UID 변경 SOLARIS, LINUX, HP-UX : usermod 명령으로 UID가 0인 일반 계쩡의 UID 변경 ex) usermod -u 2016 algisa AIX : chuser 명령으로 UID가 0인 일반 계정의 UID를 100 이상 설정 ex) chuser id=2016 algisa (2) 패스워드 복잡성 설정 개요 사용자 계정(root 및 일반 계정 모두 해당)..

[Section 01] 시스템 기본 학습 (104 ~ 115pg)

[05 시스템 해킹] 버퍼 오버플로우 공격 개요 버퍼 오버플로우는 연속된 메모리 공간을 사용하는 프로그램에서 할당된 메모리의 범위를 넘어선 위치에 자료를 읽거나 쓰려고 할 때 발생한다. 버퍼 오버플로우가 발생하게 되면 프로그램의 오작동을 유발시키거나, 악의적인 코드를 실행시킴으로써 공격자 프로그램을 통제할 수 있는 권한을 획득하게 된다. 버퍼 오버플로운에는 스택 버퍼 오버플로우와 힙 버퍼 오버플로우가 있다. 스택 버퍼 오버플로우 : 스택은 함수 처리를 위해 지역변수 및 매개변수가 위치하는 메로리 영역을 말한다. 스택에 할당된 버퍼들이 문자열 계산등에 의해 정의된 버퍼의 한계치를 넘는 경우 버퍼 오버플로우가 발생하여 복귀 주소를 변경하고 공격자가 원하는 임의의 코드를 실행한다. 힙 버퍼 오버플로우 : 힙은..

[Section 01] 시스템 기본 학습 (86 ~ 103pg)

(4) 시스템 로그 설정과 관리 개요 유닉스/리눅스 로그가 저장되는 경로는 시스템마다 조금씩 다르다. 일반적으로 유닉스의 경우 /var/adm 디렉터리에 주로 저장되며 리눅스의 경우 /var/log 디렉터리에 주로 저장된다. 리눅스에서는 /var/log 디렉터리에 시스템의 모든 로그를 기록 및 관리하고 있다. 시스템의 /etc/syslog.conf 파일에서 시스템 로그 파일들의 위치를 지정하고 있다. 서버에는 여러 개의 로그 파일이 있으며 이들 로그를 남기는 데몬들 또한 다양하다. 시스템로그데몬(syslogd), 메일데몬(sendmail 등), 웹데몬(httpd), 네임서버데몬(named), 슈퍼데몬(xinetd) 등 매우 다양하다. 유닉스/리눅스 주요 로그 파일 utmp(x) 로그파일(리눅스/유닉스) ..

[Section 01] 시스템 기본 학습 (62 ~ 85pg)

[04 UNIX/Linux 서버 보안] (1) 시스템 보안 사용자의 패스워드 관리 개요 패스워드 저장 정책에는 passwd 파일 내 계정 정보와 함께 저장되는 일반 패스워드 정책과 shadow 파일에 패스워드를 별도로 저장하는 shadow 패스워드 정책이 있다. shadow 파일은 root만이 접근할 수 있도록 제한한다. /etc/passwd 파일 home_directory: 홈디렉터리, 로그인에 성공한 후에 사용자가 위치할 홈디렉터리로 관리자 계정은 root 디렉터리를 사용하며 일반 사용자는 /home 디렉터리 하위에 위치한다. login_shell : 로그인 쉘, 리눅스의 경우 기본 쉘로 bash쉘을 사용한다. 로그인이 불필요한 계정에 대해서는 로그인을 금지하는 것이 보안상 안전하다. 해당 계정의 로..