정보보안기사 실기 정리/3. 어플리케이션 보안

어플리케이션 보안 단답형

creator9087 2024. 8. 6. 14:02

hosts 파일

호스트/도메인 이름에 대한 IP 주소가 저장된 파일로 운영체제마다 디렉터리 경로는 다르지만 이름은 공통

 

Window DNS 서버 설정시, 관리하는 도메인 DNS 서버에 등록하는 [ A ] 와 DNS 서버에 서비스 정보를 입력하는 [ B ]

a: 존 설정   b: 리소스 레코드 설정

 

DNS 서비스 53번 포트 사용 전송 계층에서 [ A ] 프로토콜을 사용

DNS 서버는 상위 DNS 서버에 비번하게 반복적인 질의를 요청하여 부하가 발생하는 것을 막기 위해 [ B ]를 사용

유호한 기간 [ C ]    

a: udp/tcp    b: 캐쉬   c: TTL


DNS Cache Poisoning 

DNS 서버의 캐시 정보를 공격자가 조작하여 사용자DNS  질의 시 캐시에 저장된 조작된 주소를 응답하여 의도하지 않는 사이트로 접속하게 만드는 공격


 named.conf 설정

allow-transfer {ip주소};

==> 답 allow-transfer


subdomain takeover or hijacking   서브도메인 탈취 또는 하이재킹

회사/ 기관의 dns에 서브 도메인으로 웹 호스팅, 클라우드 드으이 서비스를 cname 레코드로 등록하여 사용 후 서비스 

이용 중지했을 때 dns에 서브 도메인을 삭제하지 않으면 공격자가 해당 서비스 도메인을 재사용하여 피싱 등의 목적으로 사이트를 운영할 수 있는 취약점


OPTIONS

웹 서버에서 지원할 수 있는 메소드 목록을 보여줌


a: 능동    b: 21/tcp    C: 20 /tcp     D: 1024 /tcp


TFTP 공격

주로 부팅이미지를 클라이언트에게 전달할 목적으로 upd 69번 포트를 사용하여 인증과정없이 파일을 전송하는 서비스를 대상으로 하는 공격

 

 Anonymous 공격

패스워드를 요구하지 않는 ftp 설정의 취양점을 이용한 공격

 

FTP  Bounce 공격

제어 명령 전달 포트와 데이터 전송 포트를 다르게 사용하고 데이터 포트로 전달 될 때 목적지를 확인하지 않는 FTP 설계의 구조적 문제점을 이용하는 공격 

익명 ftp 서버를 이용해 공격 대상의 네트워크를 스캔하고 PORT 명령어를 이용하여 ftp서버로 하여 공격자가 원하는 곳으로 데이터를 전송


SNMPv3  파라미터 값 설정하여 다양한 공격 대처

 

재전송 공격 방지

msgAuthoritativeEngineID

msgAuthoritativeEngineBoots

msgAuthoritativeEngineTime

 

위장 공격, 메시지 위변조 공격 방지

msgUserName

msgAuthenticationPaameters

 

도청/스니핑 공격 방지

msgPrivacyParameters


SNMP의 데이터 수집 방식에는 매니저가 에이전트에게 정보를 요청하면 응답해주는 폴링 바식과 에이전트가 이벤트 발생시 이를 매니저에게 알리는 [ A ] 방식

폴링 방식에서 에이전트가 사용하는 UDP 포트는 [ B ] 이고 [ A ] 방식에서  매니저가 사용하는  UDP 포트는  [ C ]

a: 이벤트 리포팅  b: 161    c:  162


Network Management System  서버는 [ A ] 방식으로 네트워크 장비의 상태정보 및 통계 정보를 주기적으로 수집하여 NMS 클라이언트는 [ B ] 방식으로 장비의 특정 이벤트를 실시간으로 NMS 서버로 전달

유사하게 장비에 발생하는 실시간 이벤트 정보를 서버에 전송하는  [ C ] 방식으로 네트워크 장비 상태 및 상태정보 전달

A: Polling          B:          Event reporting    C:  syslog


[makemap]    [hash]       /etc/mail/access.db   <   /etc/mail/access


PGP   pretty good privacy

필 짐머만에 의해 개발된 이메일 보안 프로토콜

기밀성 보장을위해 대칭키 암호화와 공개키 암호화를 결합하여 지원 메세지 무결성, 송 수신자 인증 및 부인 방지를 위해 해시 함수와 공개키 암호화 기반의 디지털서명 서비스를 제공


Injection

신뢰할 수 없는 데이터가 명령어나 질의문의 일부분으로 인터프리터로 보내질 때 발생하여 명령어 실행하거나 적절한 접근권한 없이 접근하도록 인터프리터를 속임

 

XSS  cross site script

피해자의 브라우저에 스크립트를 실행하여 사용자 세션 탈취, 웹 사이트 변조, 악의적인 사이트로 이동

 

CSRF   cross site request forgery

피해자의 세션 쿠키와 인증 정보를 자동으로 포함하여 위조된 http 요청을 강제로 보내도록 하는 것

 

SQL Injection

SQL문을 삽입하여 DB로 부터 정보를 열람 할 수 있는 공격

 

OS Command Injection

운영체제 명령어의 일부 또는 전부가 삽입되어 실행

 

파일 업로드

서버 측에서 실행될 수 있는 스크립트 파일이 업로드 가능, 웹을 통해 직접 업로드 시킬 수 있는 경우 시스템 내부의 명령어를 실행하거나 외부와 연결하여 시스템을 제어할 수 있는 공격


웹 프록시

웹을 이용한 해킹공격에 가장 많이 사용되는 도구

클라이언트가 요청한 http requset, respone 정보를 중간에 가로채 필터링을 우회하거나 서버에 전송되는 데이터를 조작해 허가되지 않는 곳에 정보를 훔쳐보거나 변경, 삽입 등을 가능


PreparedStatement

SQL Injection에 대응하기 위한 안전한 코드 구현 시 사용되는 클래스


소프트웨어 개발 보안 시 입력 데이터 검증 및 표현에 대한 항목

어플리케이션에서 DB연결을 수행할 때 [최소 권한]의 계정 사용

외부 입력값이 삽입되는 SQL 질의문을 [동적]으로 생성해서 실행X

외부 입력값이 삽입되는 SQL 질의문을 [동적]으로 생성해서 실행하는 경우 [입력값]에 대한 검증 수행


파일 삽입을 통해 원격에서 운영체제 명령어를 실행할 수 있는 취약점으로 실행할 수 있는 페이지를 include한 경우 명령어 삽입을 통한 공격이 가능 이러한 취약점을 방지하기 위해서는 관리자는 소스코드에 [ A ] 문이 존재하는지 검증, 외부 사이트의 파일을 삽입하는 것을 차단하기 위해 php 웹서버는 설정파일인 [ B ] 파일에서 allow_url_fopen [ C ] 값 설정

 

include,   php.ini,    off


http 응답헤더의 개행 문자:  CR  Carriage Return  와 LF  Line Feed


딥링크

모바일 웹상에 있는 링크나 그림을 클릭하면 기기 내 관련 앱이나 사전에 정의된 특정 웹 페이지가 실행되는 모바일 기술로 공격자가 악의적으로 조작한 URL 링크로 접속하면 관련 앱 내 자바스크립트가 권한 인증 없이 자동으로 실행되어 의도치 않은 URL에 접속하ㅇ고 앱 내 민감한 개인정보 노출 위험 존재


웹 사이트 취약점 점검 - DB

DB에 저장된 중요정보가  [SQL Query]로 열람 가능한지 확인

[세션 ID]나 암호화된 쿠키값이 명백히 랜덩 생성 확인

[적절한 암호화 알고리즘]이 제대로 적용 검증


httpd.conf 디렉터리 리스팅 취약점 점검

Options Indexes FollowSymLinks

-> Indexs 제거


httpd.conf 업로드 파일 크키  5M제한

LimtRequestBody 5000000


robots.txt

로봇배제표준은 검색로봇에 대한 웹 사이트의 디렉터리 및 파이들에 대한 검색 조건을 명시해 놓은 국제규약으로 접근 제한에 대한 설정을 [  A  ]  파일에 기술  


 

 

1. 호스트 필드 : 클라이언트 호스트의 주소

2. 날짜 및 시간 필드 : 요청한 날짜 시간 정보

3. 요청라인 필드 : 요청라인 정보

4. 응답 상태코드 필드

5. 응답 바이트 크기 필드

6. Referer 필드

7. User-agent 필드 

327 정리


아파치 웹 로그

access 로그

클라가 웹 서버에 요청한 자원에 대한 정보와 그 응답을 기록한 로그

 

error 로그

클라이언트 요청에 대한 웹 서버의 오류 발생 내용 기록

 

httpd.conf 파일에서 로그 경로 설정


윈도우 시스템의 서비스별 로그파일 경로

웹 서비스                  :  W3SVC1

ftp                              :  MSFTPSVC1

웹 서비스 관련 오류  :  HTTPERR

DHCP                        :  dhcp

DNS                           :  dns


데이터 베이스 보안

집성

낮은 보안 등급의 정보를 조각별로 조합하여 높은 등급의 정보를 알아냄

 

추론

보안등급이 없는 일반 사용자가 보안으로 분류되지 않는 정보에 정당하게 접근하여 기밀 유추

 

데이터 디들링

원본 정보 자체를 위변조하거나 디스크 속에 대체할 자료를 만들어 두었다가 원본 정보에 끼어 넣거나 바꿔치는 방식


접근 통제

인증된 사용자에게 허가된 범위 내에서 데이터베이스 시스템 내부의 정보에 대한 접근 허용

 

추론 통제

통계적인 자료에서 주로 발생, 간접적으로 노출된 데이터를 통해 다른 데이터가 공개되는것을 제어

 

흐름 통제

정보의 흐름을 볼때 보안등급이 높은 개체에서 낮은 개체로 정보가 흐르는 것을 제어


DB 네트워크 제한 설정

mysql 설정파일 my.cnf

[mysqld]

skip-networking


DB 암호화 방식

API 방식

응용 프로그램 자체 암호화 방식

어플리케이션 소스를 수정하여 암복호화를 수행하는 방식

 

Plug-In 방식

DB 서버에 플러그인 형태의 암호화 모듈을 적용

 

Hybird 방식

위 2개 합침

 

TDE transparent data encryption 방식

DBMS에 내장된 암복호화 기능을 이용

 

파일 암호화 방식 

운영체제 암호화