[평가 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;)
'정보보안실무 > 해킹보안실무평가' 카테고리의 다른 글
평가 17. 해킹 보안 실무 (0) | 2023.04.15 |
---|---|
평가 16. 악성코드 분석 (0) | 2023.04.15 |
평가 14. 보안 구축 요구사항 분석 (0) | 2023.04.15 |
평가 13. 애플리케이션 보안 운영 평가 (0) | 2023.04.15 |
평가 12. SW개발 보안 구축 평가 (0) | 2023.04.15 |