본문 바로가기
security/cissp

Domain 6. Security Assessment & Testing




1. Log Management

- Log
. 대표적인 탐지통제
. 이상징후에 대한 알람,분석,대응에 예방
. 전략 수립 필요 
. 다계층 보안 관리, 로그 통합 관리

- Log Management Planning
1) Computer Security Log Management
2) Log Mnaggement Planning
3) Log Management Operation Process
4) Log Management Infrastruction
* Log Management Infrastruction 3요소      :  생성, 저장 및 분석 , 모니터링
* Log 에 저장 해야 하는 것      : 시점, 현상, 고유 식별 ID
* Log 에 저장 되지 않는 것      : 현상의 원인

- Security Log Management (=> 주기적 모니터링 대상 ) 
. Anti-Virus , Anti-Malware Software
. Detection / Prevention System
. Remote Access Software
1) VPN(Tunneling =>보안 우회 도구) 
2) Web Proxies(보안성 향상 : Nat, 성능 향상: Cache) 
. Vulerability Management Software
. Authentication Server
=> SSO(single sign on) : 로그인 시도 , 성공, 실패 횟수 => Accountability
. Firewall , Router
. Network Access Control(NAC), Network Access Protection(NAP)
. System Event 

- System Event
. System event & Audit records
. System monitoring(다른 로그와 가장 다른 점)=> web monitoring , tracking availability

- Systhetic(합성의) Transaction
. 시스템 테스트를 목적으로 Simulation test와 유사
. Tcp port -> Web -> Db monitoring 
. Real User Monitoring(RUM) is approach to web monitoring that aims to capture and analysis transaction of user
( aims to capture and analysis select every user of web  )
* 조직에서 나오는 모든 자원의 정보와 보안 이벤트가 통합 관리되는 시스템은 SIEM 으로 , ESM의 확장 되어 빅데이터 기반 심층적 위협 분석 가능 
* 이상징후를 통해 로그는 예방통제에 활용 가능 하다 .

2.Code review & testing 

- Black box/White box testing 
. 소스코드 이용 여부로 구분 
. Black box testing     : 소스코드 이용 없이 요구 명세서 등을 이용 테스트( Acceptanc/Integrity/ System testing)
. White box testing     : 소스코드 이용 테스트( Unit test) 

- Dynamic /Static testing 
. 소스코드 실행 여부로 구분 
. Dynamic(동적=>실행 가능) : Function(기능)/Non-Function(비기능) 으로 구분 
. Static(정적=>실행 불가)       : Review 등

- 기타 테스트 
. Manual /Automatic testing       : 사람의 관여 , 비관여(자동화) 테스트
. Negative / Misuse case testing : 비정상(예외상황) 테스트 
. Interface testing                            : Software 에서 어플리케이션간의 데이터 교류시 테스트 
. Impact validation testing             : 입력값 테스트
. NULL pointer exception testing 

Q) 수동과 자동 테스트 중에서 결과 신뢰도가 우수한것은 : Manual ( 사람이 가장 완벽한 Solution 이기때문에)

- Code review & analysis
. Binary , Source code
. Review 는 눈에 보이는것, Analysis 는 눈에 보이지 않는 것을 찾음 
. Static Binary code analysis and Manual Binary code Review
. Static Source code analysis and Manual Source code Review

- Excutable in a test environmental 
. 실증테스트 : 실제 환경 혹은 유사한 환경에서 테스트 => 자산파악, 취약점 모니터링
. Vulerability scanning ,  Penetration test

- Penetration test
. 취약점 찾는 실증 테스트(단 모든 취약점을 찾은 것은 아님)=> 사전영향 평가가 중요
. 목적 :  시스템 취약점 파악
. 경영진의 사전 승인이 가장 중요 
. 사전 협의 사항     : 경영진의 승인 , 로그 및 데이터 위변조 금지 등
. Blue team           : It staff 동의 
. Red team           : It staff 비동의 ,Upper Mgnt( 경영진 승인) 
. System Withstand(내성) 분석


3. Internal and Trird Party Audit

- Trusted system and assurance
. Trust level    : 시스템으로 부터 기대 가능한  보호의 정도
. Trusted system    : 보안, 신뢰성 그리고 기능과 관련한 사용자의 요구사항을 충족하기 위한 벤치마크 검사, 감사 그리고 활동 과정을 진행한 시스템
. Assurance     : 정확하게 예측가능한 방식으로 동작 할  신뢰의 정도
* Trusted comping 의 시작은 하드웨어 부터 시작 된다.
- 보안평가 지침서(Security Evaluation Criteria)    : TCSEC(orange book) , ITSEC, CC

- TCSEC( 미 표준으로 cc로 대체 )
. 정보가 안전한 정도를 객관적으로 판단
. 보안의 정도를 판단하는 기준 제시
. 기밀성을 기준으로 평가
. 기능성과 보안성 동시에 평가
. 평가 영역    : 보안정책 , 식별, 문서화 , 레이블, 책임추적성 ,수명연장보증 , 지속적인 보증

- ITSEC( 유럽형 지침서)
. TCSEC 의 기밀성 + 무결성, 가용성으로 진행

- 국제 공통 평가 기준 (CC: Common Criteria)
. ISO (국제표준화기구) 에서 개발
. cc의 필요성
1) 안전/ 신뢰성 강화
2) 정보보호 수준 제고
3) 평가기준의 상호인증 제도 필요
4) 평가비용 절감에 따른 제품가격 인하 필요

. PP (Protection Profile:보호 프로파일)
=> 제품의 기능성 보증 관련 요구사항 묶은 것으로 정보보안 요구사항을 구현 독립적으로 작성(기준만 제시)

. ST (Security Target: 보안 목표 명세서)
=> 벤더 혹은 개발자에 의해서 작성

. TOE (Target of Evalution)
=> 평가 대상 시스템 혹은 제품

* 평가 보증 등급(Evaluation access level ) 은 7등급으로 구성
- ISO 27001
. 획득하기 위해서는 정보보호 관리체계(ISMS: Information Security Management System) 기준에서 14개 영역 114개 통제 항목 심사 ( 기존 BS7799 규격 기반)
. 개발 목적 : 종합적인 정보보호 관리 규범 제공
* 안전한 시스템 => 안전한 조직에서 시작 하는 접근 법
. 세부 구성중 준거성은 보안 정책 준수 및 제도 준수의 의미

- SOC (Service Organization Control)
. 미국 공인 회계사 협회에서 제공
. SOC1 : 재무제표 감사 목적(보안X)
. SOC2:  특정이해관계자를 목적으로 서비스 운영 감사
. SOC3:  일반을 대상으로 서비스 운영 감사
. SOC Trust Principles Criteria    : Security , Availability , Processing Integrity , Confidentiality, Privacy


4. Software Vulnerability

- Security Threat modeling -> STRIDE Threat model
1) Spoofing    : 신분위장, 계정도용    => Authentication
2) Tempering    : 데이터 조작    => Hash (무결성 검증)
3) Repudiation    : 부인        => Digital Signature(Hash도 가능
4) Inforamtion Disclosure : 정보유출    => Encryption
5) Denial of Service    : 서비스거부    => Network Filtering
6) Elevation Privilige    : 권한상승        => 최소권한 준수

- Security Control
1) Input Validation
2) Authentication
3) Authorization
4) Configuration management 
5) Sensitive data
6) Session management
7) Encryption
8) Parameter manipulation: 파라미터 조작 
9) Exception management
10) Auditing and logging

- CWE / SANS TOP25
. 개발자가 범하기 쉬운 코드취약점
. CWE Category-Base: Insecure interaction between component)(구성요소 사이 비보안 상호 작용
. Risky Resource Management (위험 자원 관리)
. Porous Defense(다공성 방어 )

- OWASP10 (2013)
1) 인젝션
2) 세션 및 인증 관련 취약점
3) XSS
4) 취약한 직접객체 참조
5) 보안 설정 오류
6) 민감 데이터 노출
7) 기능 수준의 접근 통제 누락
8) 크로스 사이트 요청 변조 (CSRF)
9) 알려진 취약점있는 컴포넌트 사용
10) 검증 되지 않는 리다이렉트/ 포워딩

- CVSS(Common Vulerability Scoring System)
. 컴퓨터 시스템 취약점의 심각성 평가를 위한 개방형 산업 표준
. 점수기반 등급 지정

5. Application Threat and Attack

- Programing / Data attack
. Data Diddling
. Salami attack
. Round Ataack => 반올림 공격
. Mistake=> 실수
. Boundary error => BOF 원인
. Input validation error => Injection, xss 원인
. Time of Check/use error => 시간차 공격
. CovertChannel => Storage,Timing => 대응책 : H-IDS,소스코드리뷰, 정기적 감사

- BOF(Buffer overflow)
. 버퍼의 최대치를 넘겨 원하는 소스코드 실행 -> Root 권한 획득 용이
. 대응방안: 취약한 프로그램, 커널 패치
. ASLR (Address Space Layout Randomization): 프로그램 실행 마다 메모리의 Base address 를 랜덤하게 변경
. NOP sled overflow(0x90) , Heap overflow, stack buffer overflow

- XSS (Cross site script) 
. 입력값검증이 제대로 안된경우 VBScript,JavaScript 가 실행 되는 현상
. 대응책:소스코드 리뷰
. <script> => xss

- SQL Injection 
. DB인증 우회 취약점 
. 대응책 : 데이터 입력값 타당성 검토

- Password cracking 
. 대표적인 crack 도구 : john the ripper
. bruteforce , dictionary, hybrid attack
. 대응책 : 암호 복잡성 강화 , 주기적 암호 변경, Loginn fail 감시, 임계치,클립핑 레벨

- Social engineering 
. 이익: 쉬운실행, 낮은 비용, 높은 효용성 
. Shoulder surffing-> fence
. Piggybacking -> mantrap,turnstile
. scavenging,  dumpsterdiving
. 전화가 대표적인 사례이며, 전화로 내부 정보를 물어 볼경우 call back 으로 다시 전화 걸어서 확인 해야 함
. 대응책 : Security awareness training

- Application control 
. 응용통제 요소 : 보안성, 일관성 정확성 










반응형