728x90
해당 포스트는 정보보안기사 필기시험을 대비하기 위해 작성한 필기본이다.
## Active 모드와 Passive 모드
### Active 모드
- 서버가 21, 20번 포트 사용.
- 서버에서는 두 개의 포트만 열면 서비스 가능.
- 두 번째 connection은 서버에서 클라이언트로 접속.
- 클라이언트에 방화벽 설치시 접속 불가.
### Passive 모드
- 서버가 21, 1024 이후 포트 사용.
- 데이터 전송 위해 1024번 이후 포트 사용.
- 서버에서 클라이언트로 접속해야 하는 모순 해결 위해 고안된 방식.
- 서버에서는 21번 포트와 1024번 이후의 모든 포트 오픈.
- 보안 위해 서버에서 passive모드로 사용할 포트 제한.
*** PEM, PGP, S/MIME 비교
항목 | PEM | PGP | S/MIME |
개발자 | IETF | Phil Zimmermann | RSA Data Security Inc |
특징 | - 중앙집중화된 키 인증 - 인터넷 표준(안) - 구현의 어려움 - 높은 보안성(군사용, 금융계 등) - 이론 중심 - 많이 사용되지 않음 |
- 분산화된 키 인증 - 응용 프로그램 - 구현의 용이성 - 일반 용도의 보안성 - 실세계 사용 중심 - 현재 많이 사용 |
- MIME 기반 - 다양한 상용 툴킷 - X.509 인증서 지원 |
## PGP가 제공하는 기능
- 기밀성 : 송신자가 생성한 일회용 세션키로 CAST-128, IDEA, 3DES를 이용해서 메시지 암호화. 수신자의 공개키로 RSA를 이용해서 세션키를 암호화하고 메시지에 첨부.
- 인증 : 해시 알고리즘을 이용해서 메시지 다이제스트를 생성. 메시지 다이제스트는 송신자의 개인키로 DSS나 RSA를 이용 암호화. 그리고 메시지에 첨부.
- 압축 : ZIP으로 메시지 압축.
- 전자 우편 호환성 : Radix-64 변환을 이용해 ASCII 부호로 변환.
- 분할 및 재결합 : 최대 메시지 사이즈 제한으로 인한 데이터의 분할 및 재결합.
## S/MIME 서비스
- 전자 서명 : SHA-256으로 메시지 해시 코드를 생성한다.
- 메시지 암호화 : 송신자가 생성한 일회용 세션키를 이용해 CBC 모드의 AES-128로 메시지를 암호화한다.
- 압축 : 메시지를 압축하여 저장하거나 전송한다.
- 이메일 호환성 : 이메일 응용이 투명하도록 암호화된 메시지를 Base64로 변환하여 ASCII 스트링으로 만든다.
## 스팸메일의 기술적 대응방안
### 메일 서버 수신 차단
- 콘텐츠 필터링 : 메일의 헤더 정보, 제목, 메시지 내용의 특정 단어 및 문장 패턴을 검색하여 차단.
- 송신자 필터링 : 송신자 IP, 송신자 메일주소, 송신자의 URL 등의 정보를 포함한 스팸 발신처 블랙리스트를 관리하여 차단.
- 네트워크 레벨 필터링 : 패킷 필터링.
- 발송량 기준 차단 : 기준 시간 동안에 특정 용량 이상의 메일 수신 시 이후 수신 메일의 차단.
- 시간대별 차단 : 업무 시간에는 업무용 송신 메일 이외의 외부 메일 차단.
### 메일 서버 보안
- 릴레이 스팸 방지 : 액세스 DB를 통한 송신자별 어용 거부, 릴레이 허용 여부 설정 가능.
- Anti-SPAM 솔루션 도입 : 별도의 스팸 차단 전용 보안 솔루션을 도입하여 운영.
### 메일 클라이언트 보안
- 콘텐츠 필터링 : 특정 단어가 포함된 필터링 규칙을 적용.
- 송신자 필터링 : 수신 거부 등 별도의 블랙리스트 관리를 통해 향후 메일 수신 시 차단.
*** 스크립트 언어의 분류와 특징
구분 | 서버 스크립트 언어 | 사용자 스크립트 언어 |
종류 | - PHP, ASP, JSP 등 다양 | - 자바스크립트, VBscript가 대표적 |
특징 | - 서버에서 프로그램 처리 - 취약점이 서버에게 직접 영향을 줌 |
- 사용자 시스템에서 프로그램 처리 - 취약점이 개인 시스템에 영향을 줌 |
장점 | - 데이터베이스와 연동이 쉬움 - 서버 내에 있는 파일에 접근이 용이 |
- 서버에 부하를 주지 않음 |
단점 | - 서버에 부하를 줌 | - 기능이 제한적임 |
## HTTP 메시지에 사용하는 지시자
- GET : URL에 해당하는 자료를 제공해 줄 것을 요청한다.
- HEAD : 서버 응답시에 응답 메시지 바디를 제외하고 헤더부만 응답해주는 메소드로 요청 자원에 대한 처리는 서버에서 이루어지지만 그 결과로 헤더값만을 전송한다.
- POST : 클라이언트에서 웹서버로 데이터를 전송할 때 사용하는 방법.
- PUT : 헤더 및 몸체를 포함하여 몸체에 콘텐츠 내용을 덧붙여 원격지 서버에 지정한 컨텐츠를 저장하기 위한 목적으로 사용한다.
- DELETE : 클라이언트가 권한이 있다면 서버에서 웹페이지를 제거하는 것을 허용한다.
- TRACE : 디버깅에 사용된다.
- OPTIONS : 시스템에서 지원되는 메소드 종류를 확인할 수 있다.
- CONNECT : 서버에 프락시 기능을 요청할 때 사용된다.
## SSL/TLS 보안 서비스
- 기밀성 서비스 : DES, RC4와 같은 대칭키 암호화 알고리즘을 사용하여 제공되며, 이때 사용되는 비밀키는 Handshake Protocol을 통해 생성된다.
- 클라이언트와 서버 상호 인증 : 연결 설정 과정에서 서로 간에 신뢰할 수 있도록 인증을 사용하는데, 인증에는 RSA와 같은 비대칭키 암호 알고리즘, DSS와 같은 전자서명 알고리즘과 X.509 공개키 인증서가 사용된다.
- 메시지 무결성 서비스 : 안전한 해키 알고리즘을 사용해서 메시지 인증코드를 만들어 메시지에 포함시키기 때문에 신뢰성 있는 통신이 가능하다.
## SSL/TLS 프로토콜
- Handshake 프로토콜 : Record 프로토콜에 대한 보안 매개변수를 제공하며 암호 집합을 설정하고 키와 보안 매개변수를 제공.
- Record 프로토콜 : 응용 계층으로부터 오는 데이터뿐만 아니라 TLS의 상위 프로토콜로부터 오는 메시지를 전송.
- ChangeCipherSpec 프로토콜 : 암호학적 비밀을 신속하게 보내는 데 사용.
- Alert 프로토콜 : 비정상 조건을 알리는데 사용.
- Heartbeat 프로토콜 : 프로토콜 개체의 가용성을 모니터링 할 때 사용하는 프로토콜.
### 핸드셰이크 프로토콜 동작
- 보안 기능 수집 : 프로토콜 버전, 세션ID, 암호조합, 압축 방법, 초기 랜덤넘버를 포함한다.
- 서버가 필요하다고 생각되면 인증서, 키 교환을 보내고, 인증서를 요청한다.
- 클라이언트는 요청된 인증서를 보낸다(요청이 있었을 경우). 클라이언트는 키 교환을 보낸다. 클라이언트는 인증서에 대한 확인을 보낼 수도 있다.
- 암호 조합을 교환하고 해드셰이크 프로토콜을 종료한다.
*** 기존 방화벽 vs 웹방화벽
구분 | 웹 방화벽 | 기존 방화벽 |
목적 | 유해 HTTP의 차단 | 유해 포트의 차단 |
동작 레벨 | 애플리케이션 레이어(7계층) | 네트워크 레이어(3~4계층) |
동작 방식 | 규칙+애플리케이션 로직 | 일련의 규칙에 의해 동작 |
## 소프트웨어 보안약점 유형
- 입력데이터 검증 및 표현 : 프로그램 입력값에 대한 검증 누락 또는 부적절한 검증, 데이터의 잘못된 형식지정으로 인해 발생할 수 있는 보안약점. (SQL 인젝션, XPath 인젝션)
- 보안 기능 : 보안기능(인증, 접근제어, 기밀성, 암호화, 권한관리)을 적절하지 않게 구현 시 발생할 수 있는 보안약점. (부적절한 인가, 취약한 암호화 알고리즘 사용)
- 시간 및 상태 : 동시 또는 거의 동시 수행을 지원하는 병렬시스템, 하나 이상의 프로세스가 동작하는 환경에서 시간 및 상태를 부적절하게 관리하여 발생할 수 있는 보안약점. (종료되지 않은 반복문 재귀함수)
- 에러처리 : 에러를 처리하지 않거나, 불충분하게 처리하여 에러정보에 중요정보가 포함될 때 발생할 수 있는 보안약점. (오류메시지를 통한 정보노출, 오류 상황 대응 부재)
- 코드오류 : 타입변환 오류, 자원의 부적절한 반환 등과 같이 개발자가 범할 수 있는 코딩오류로 인해 유발되는 보안약점. (Null Pointer 역참조, 초기화되지 않은 변수 사용)
- 캡슐화 : 중요한 데이터 또는 기능성을 불충분하게 캡슐화하였을 때 인가되지 않은 사용자에게 데이터 노출이 가능해지는 보안약점. (잘못된 세션에 의한 데이터 정보노출, 시스템 데이터 정보노출)
- API 오용 : 의도된 사용에 반하는 방법으로 API를 사용하거나, 보안에 취약한 API를 사용하여 발생할 수 있는 보안약점. (취약한 API 사용)
## 호스트 설정 프로토콜 종류
- RARP : 부팅된 컴퓨터의 IP주소를 제공하기 위해 만들어짐.
- BOOTP(Bootstrap) : 4가지 항목(컴퓨터의 IP 주소, 컴퓨터의 해당 서브넷 마스크, 라우터의 IP 주소, 네임서버의 IP 주소)을 모두 제공하기 위해 RARP 프로토콜에 관한 모든 제약을 제거.
- DHCP : 부팅한 컴퓨터나 디스크가 없는 컴퓨터에게 4가지 정보를 제공하기 위해 설계된 클라이언트/서버 프로토콜.
*** DHCP의 장단점
장점 | 단점 |
- 네트워크 설계 변경이 자유롭다. - DHCP 서버에서만 네트워크 정보를 변경해주면 되므로 네트워크 구성변경이 용이. - 실제로 호스트를 사용하는 경우에만 IP가 할당되기 때문에 IP 절약 가능. - 사용자가 TCP/IP 설정을 따로 해주지 않아도 되므로 관리 용이. |
- DHCP 클라이언트는 부팅 시 브로드캐스트 방식으로 트래픽을 전송하므로 네트워크의 성능저하를 발생시킴. - 호스트 전원만 켜 있어도 IP 할당됨. - 호스트 전원을 꺼도 임대기간까지 해당 IP는 다른 단말에 할당되지 못하기 때문에 IP주소 낭비 발생 가능. - 호스트 수가 많아지면 서버의 과부하가 발생. |
*** DHCP의 보안(공격유형)
구분 | 특징 | 방어대책 |
기밀성 | - DNS서버의 응답 메시지 도청 | - DNS 메시지 비밀성 보장 -> 암호화 |
무결성 | - DNS 서버의 응답 변경 or 위조 - Redirect 현상 발생 |
- 메시지 송신자 인증 - 메시지 완전 무결성 사용 |
가용성 | - DNS 서버 붕괴 or 대량 트래픽 공격(flooding) | - DoS 공격 방지책 사용 |
*** DNS 위협 요인들과 대응책
구분 | 설명 | |
보안 위협 |
DNS 스푸핑(DNS Spoofing) | 질의한 도메인 이름에 대해 잘못된 인터넷 프로토콜(IP)을 응답으로 보내 이용자가 잘못된 사이트에 접속하도록 하는 공격 |
DNS 캐시 포이즌 공격(DNS Cache Poisoning Attack) | 도메인 네임 시스템 프로토콜 자체의 취약점으로 DNS 캐시에 저장된 쿼리 정보를 위변조하는 것 | |
대응책 | DNSSEC(DNS Security) | 메시지 송신자 인증과 디지털 서명이라는 보안 서비스를 사용해 메시지 완전 무결성을 제공 |
## 데이터베이스 보안 위협
- 애그리게이션(Aggregation, 집성) : 개별적인 여러 소스로부터 민감하지 않은 정보를 수집, 조합하여 민감한 정보를 생성.
- 추론(Inference) : 보통의 일반적인 데이터로부터 비밀정보를 획득할 수 있는 가능성을 의미.
## 데이터베이스 보안제어
- 흐름제어 : 보다 낮은 보호수준의 객체로 이동하는 것을 검사하여 접근가능한 객체간의 정보흐름을 조정하는 것.
- 추론제어 : 간접적인 데이터 노출로부터 데이터를 보호하기 위한 것.
- 접근제어 : 시스템 객체에 대한 모든 직접적 접근이 보호정책에서 세운 모드(mode)와 규칙에 따라 상호 배타적이게 하는 것.
## DBMS 통제
- 뷰(View) 기반의 접근통제 : 하나 이상의 기본 테이블로부터 유도되어 만들어지는 가상테이블. 뷰는 데이터의 논리적 독립성을 제공하며, 자료에 대한 접근제어로 보안을 제공.
- GRANT/REVOKE 접근 통제 : SQL 제어의 권한부여 명령을 이용. 통상 DBA가 가져서 DBA권한이라 하는데, 다른 사용자들의 권한을 부여하거나 회수할 때 사용.
## 기본적인 보안 취약점 점검
- 디폴트 계정 패스워드 변경 : DBMS 엔진이 설치되고 적용된 디폴트 계정을 해커들의 손쉬운 공격 수단으로 악용되므로 반드시 패스워드를 변경하거나 계정을 삭제함.
- DB 패스워드 규칙 강화 : 디폴트 계정이나 일반 계정을 생성할 때는 패스워드 규칙을 강화하여 손쉽게 크래킹되지 않도록 해야 함.
- DBA 권한의 제한 : 일반 계정이 DBA 권한을 부여받지 않도록 주의해야 함.
- 보안 패치 적용 : 제품별로 발표된 보안 패치를 적용하여 취약점을 제거해야 함.
## SET 참여주체
- 사용자(Cardholder) : 지불카드를 사용하여 인터넷에서 상품, 서비스를 구해하는 자.
- 가상 상점(Merchant) : 인터넷상에서 카드소지자에게 상품, 서시브를 제공하는 자.
- 카드 발급사(Issuer) : 카드소지자의 계좌 개설, 지불카드를 발행하는 금융기관.
- 지불처리 은행(Acquier) : 상점과 계좌를 개설한 금융기관.
- 지불 게이트웨이(Payment Gateway) : 지불처리 은행 또는 제삼자에 의해 운영되는 장치로서 상점이 요청한 카드소지자의 지급정보를 이용하여 해당 금융기관에 승인 및 결제를 요청하는 기존의 카드 지불 네트워크로의 통로.
- 인증기관(CA, Certification Authority) : SET 참여자에게 공개키 인증서를 발행하는 기관.
*** SET의 장단점
장점 | 단점 |
- 전자거래의 사기를 방지한다. - 기존의 신용카드 기반을 그대로 활용한다. - SSL의 단점을 해결한다. |
- 암호 프로토콜이 너무 복잡하다. - RSA 동작은 프로토콜의 속도를 크게 저하시킨다. - 카드 소지자에게 전자지갑 소프트웨어를 요구한다. - 상점에 소프트웨어를 요구한다. - 지불 게이트웨이에 거래를 전자적으로 처리하기 위한 별도의 하드웨어와 소프트웨어를 요구한다. |
## 포렌식의 기본 원칙
- 정당성의 원칙 : 모든 증거를 적법한 절차를 거쳐서 획득한 것이어야 하며, 위법한 절차를 거쳐 획득한 증거는 증거 능력이 없음.
- 재현의 원칙 : 법정에 증거를 제출하려면 똑같은 환경에서 같은 결과가 나오도록 재현할 수 있어야 함.
- 신속성의 원칙 : 컴퓨터 내부의 정보는 휘발성을 가진 것이 많기 때문에 신속하게 이뤄져야 함.
- 연계 보관성의 원칙 : 증거는 획득되고 난 뒤 이송/분석/보관/법정 제출이라는 일련의 과정이 명확해야 하며, 이러한 과정에 대한 추적이 가능해야 함(Chain of Custody).
- 무결성의 원칙 : 수집된 정보는 연계 보관성을 만족시켜야 하고, 각 단계를 거치는 과정에서 위조 및 변조되어서는 안 됨.
## 사고대응 7단계
- 사고 전 준비 과정 : 사고가 발생하기 전 침해사고 대응팀과 조직적인 대응을 준비.
- 사고 탐지 : 정보보호 및 네트워크 장비에 의한 이상 징후 탐지. 관리자에 의한 침해 사고의 식별.
- 초기 대응 : 초기 조사 수행, 사고 정황에 대한 기본적인 세부사항 기록.
- 대응 전략 체계화 : 초기 조사 결과를 참고하여 소송이 필요한 사항인지를 결정하여 사고 조사 과정에 수사기관 공조 여부를 판단.
- 사고 조사 : 데이터 수집 및 분석을 통하여 수행. 언제, 누가, 어떻게 사고가 일어났는지, 피해 확산 및 사고 재발을 어떻게 방지할 것인지를 결정.
- 보고서 작성 : 의사 결정자가 쉽게 이해할 수 있는 형태로 사고에 대한 정확한 보고서를 작성.
- 해결 : 차기 유사 공격을 식별 및 예방하기 위한 보안 정책의 수립, 절차 변경, 사건의 기록, 장기 보안 정책 수립, 기술 수정 계획수립 등을 결정.
## 분석대상에 따른 사이버 포렌식 기술
- 디스크 포렌식 기술 : 물리적 저장장치인 하드디스크, 플로피디스크, CD, DVD 등 보조기억장치에서 증거를 수집하고 분석하는 기술.
- 시스템 포렌식 기술 : 운영체제, 응용 프로그램 및 프로세스 등을 분석하여 증거를 확보하는 기술.
- 네트워크 포렌식 기술 : 네트워크로 전송되는 데이터나 암호 등을 특정 도구를 이용하여 가로채거나, 서버에 저장된 로그파일에 접근하여 분석하거나, 에러로그/네트워크 형태 등을 조사하여 단서를 찾아내는 기술.
- 인터넷 포렌식 기술 : 웹(WWW), FTP, USENET 등 인터넷 응용 프로토콜을 사용하는 분야에서 증거를 수집하는 기술.
- 모바일 포렌식 기술 : 휴대폰, PDA, 전자수첩, 휴대용 메모리카드, USB 저장 장치 등 휴대용 전자기기에서 필요한 정보를 입수하여 분석하는 기술.
- 데이터베이스 포렌식 기술 : 데이터베이스로부터 데이터를 추출 분석하여 증거를 수집하는 기술.
- 암호 포렌식 기술 : 문서나 시스템에서 암호를 찾아내어 암호화 문서를 복호화하는 기술.
## 각종 애플리케이션 공격 유형 정리
- 악성 Bot : 악성 IRC봇 중의 하나이며 윈도우 시스템의 쉬운 비밀번호 설정, 윈도우 취약점, 공유폴더, 기타 다른 웜 바이러스가 사용하는 백도어를 이용하여 전파.
- 논리폭탄 : 논리적인 조건이 이루어지면 루틴에 삽입된 명령을 실행.
- 살라미 공격 : 많은 사람들로부터 눈치 채지 못할 정도의 적은 금액을 빼내는 컴퓨터 사기수법.
- 데이터 디들링(Data Diddling) : 원시정보 자체를 변조 및 위조해 끼워 넣거나 바꿔치기하는 수법.
- 메모리 재사용(Memory Reuse, OBject Reuse) : 잔여정보가 남아 다른 프로세스가 이를 읽을 수 있을 경우, 보안상 문제가 발생.
- 모바일 코드 : 웹의 기능을 확장하기 위해 사용자가 요구하면 자동으로 다운로드되어 실행되는 방식의 프로그램.
- TOC/TOU(Time Of Check/Time Of Use) : 시스템의 보안기능이 변수의 내용을 검사하는 시간과 해당 변수가 실제로 사용되는 시간 사이에 발생하는 공격.
- 이블 트윈 공격(Evil Twin Attack) : Wi-Fi 무선 네트워크에서 공격자가 rogue AP를 이용하여 중간에 사용자의 정보를 가로채 사용자인 것처럼 속여서 행동하는 공격에서 나온 것.
'Certificate > 정보보안기사' 카테고리의 다른 글
정보보호 관리 및 법규 (0) | 2022.08.04 |
---|---|
네트워크 보안 (0) | 2022.07.29 |
시스템 보안 (0) | 2022.07.26 |
접근통제 (0) | 2022.07.25 |
암호학 (0) | 2022.07.24 |