━━━━ ◇ ━━━━
정보보안실무/해킹보안실무평가

평가 15. 정보시스템 진단 평가

728x90
반응형

[평가 1.1~1.5] 아래의 그림은 HKIT의 정보시스템 자산별 중요도 현황을 나타낸 것으로 위험 평가 방법론으로 복합접근법을 활용하고 위험 처리 방법론으로는 위험 감소를 선택할 예정이다. 이 때 복합접근법과 위험 감소에 대해 서술하고 웹서버(데이터베이스)에 대해 정보 수집 및 취약점을 진단하시오.

자산
번호
자산
유형
모델 용도 담당자 사용자 기밀성 무결성 가용성 합계 중요
등급
HW-1 H/W T440 웹서버 홍길동 ALL 3 3 3 9 매우
높음
NW-1 H/W C-3890 L3스위치 박문수 김수로 1 1 3 5 낮음
SE-1 H/W S-8890 방화벽 박문수 전산부 3 3 1 7 높음
DB-1 S/W ORA111 데이터
베이스
성춘향 운영자 3 3 3 9 매우
높음
 

· 복합접근법

복합 접근법은 고위험 영역을 식별한 뒤 해당 영역에 대해 상세 위험분석을 수행하고, 다른 영역은 베이스라인 접근법을 사용한다. 이 방식의 장점은 비용과 자원의 효과적인 사용과 빠른 고위험 영역 식별 및 그에 대한 적절한 처리이다. 그러나 고위험 영역 식별에 오류가 있을 경우에는 위험분석 비용이 낭비되거나 부적절한 대응의 원인이 될 수 있다.

 

· 위험감소

위험 감소는 위험을 감소시킬 수 있는 대책을 채택한 뒤 구현하는 것이다. 대책을 채택하는 동안 이에 따른 비용이 소요되는데, 이 때 소요되는 비용과 감소하는 위험의 크기를 비교하는 비용 효과를 분석한다.

 

 

NIKTO

 

- The X-XSS-Protection header is not defiend. This header can hint to the user agent to protect against some forms of XSS.

XSS 공격 방지를 위한 X-XSS-Protection 헤더가 정의되지 않음

- /ftp/: This might be interesting ...

‘192.168.1.21:3000/ftp/’는 흥미로운 경로로 보임

- /public/: This might be interesting ...

‘192.168.1.21:3000/public/’은 흥미로운 경로로 보임

 

 
 

SQL ERROR

각 이메일, 패스워드 필드에 싱글쿼터를 입력한 뒤 소스를 확인해보니 패스워드 부분은 싱글쿼터에 대한 오류를 탐지하고 있지만 이메일 필드에서는 오류탐지를 제대로 하고있지 않음을 알 수 있었음.

 

[2.1~2.3] 앞서 확인한 취약점들에 대해 수동 및 자동 또는 면담을 활용하여 실제 공격이 가능한지 진단을 수행하여 점검을 하고 면담을 통해 진단 시 효율적인 면담을 위한 사항 2가지 이상을 서술하시오.

 

XSS 검색란에 XSS 공격 가능

 

192.168.1.21:3000/ftp/ 파일과, 디렉토리 열람 가능

 

 

SQL Injection SQL 구문으로 관리자계정 접속 가능

 
 
 
 
 

효율적인 면담을 위한 사항

(1) 짧고 명확한 질문

(2) 체크리스트 활용

(3) 분야별 질문 항목 균등 편성

(4) 답변의 명확한 책임 소재

 

[3.1~3.4] 확인한 취약점 2가지에 대한 보호 대책(대응 방안)에 대해 서술하고 추가적으로 IDS(Snort)시스템에서 SQL Injection을 탐지하기 위한 Rule을 작성하시오.

 

1. 웹 서버 정보 스캔 방지 설정

1) httpd.conf (아래 세 가지 방법으로 아파치 HTTP 설정 파일 편집)
· 제거 Options FollowSymLinks: 디렉토리 노출 방지
· 추가 SeverTokens Prod HTTP: 헤더에서 운영체제 세부 정보 노출 방지
· 추가 ServerSignature Off: 아파치 정보 노출 방지

2) php.ini
· mysql.trace_mode = off 설정으로 데이터베이스 오류 정보 숨김 처리
· log_errors = On 에러발생시 error_log 파일에 로그 기록 설정

 

2. DOM 기반 XSS 공격 예방
· 보안에 취약한 코드 미사용
· 클라이언트 입력 값 검증

 

3. SQL Injection 예방
· 직접적인 SQL 쿼리문 미사용
· 객체관계매핑(ORM)/Library 사용
· 사용자 입력 검증과정 추가

 

SQL Injection 탐지 Rule 작성

alert tcp any any -> any 80 (msg: “SQL Injection(or)”; content: “or”; nocase; sid: 300001; rev;1;)

alert tcp any any -> any 80 (msg: “SQL Injection”; content: “ ’ ”; nocase; sid: 300002; rev;1;)

 

 

 

 
728x90
반응형
COMMENT