반응형
PoC(Proof of Concept)
- 발견한 취약점을 증명
- Exploit 코드를 작성
# 블랙박스와 화이트박스
- 블랙박스 테스트
- 소스코드 없이 점검하는 것
- 점검방법
- 리버싱
- 퍼징
- 장점
- 빠른 점검 가능
- 쉬운 점검 환경 구성
- 예상하지 못한 취약점 발견
- 단점
- 커버리지 문제 발생
- 원인 분석 시간 증가
- 점검 난이도 증가
- 화이트박스 테스트
- 프로그램의 소스코드를 리뷰할 수 있는 상황에서 점검
- 점검방법
- 소스코드 리뷰
- 소스코드 자동 점검툴
- 장점
- 거의 완전한 커버리지 가능
- 빠른 원인 분석 가능
- 단점
- 개발 환경 구성 필요
- 점검 복잡도 증가
- 소스코드 확보 어려움
> 퍼징
- 자동화가 가능하여 선호하는 편이지만 발견하지 못하는 유형의 취약점도 존재
# 버그 식별 및 평가
- 버그이 오탐 여부와 공격 가능성 판단.
- 자동 점검툴
- 소스코드 리뷰 직접 찾음 > 해당 취약점으로 공격이 가능한지 판단하는 절차 필요
소스코드 분석
- 화이트박스 테스트 기법 중 하나.
# 소스코드 리뷰
- 소스코드를 직접 라인 단위로 리뷰하는것
- 가장 기본적인 분석 기법
- 취약점이나 기능을 정해 놓고 리뷰
- 주요타겟은 사용자에게서 입력을 받아서 처리하는 부분
- 파일로 입력받은 값이 저장된 변수를 따라서 분석 하거나 취약한 함수를 찾은디 거꾸로 입력받는 루틴을 찾음
- 리버싱에 비해 더 직관적으로 이해 가능하며 발견된 버그에 대한 검증 절차도 더 빠르게 수행 가능함
- 방식
- Top Down방식
- 프로그램의 시작점에서 시작하여 프로그램의 모든 흐름과 분기분을 따라서 분석하는 방식
- 전체적인 구조를 파악하고 이해
- 취약함수 등에 의한 취약점 외에도 로직상 취약점, 알고리즘 상의 취약점 등을 발견 가능.
- 코드 커버리지 측면에선 바람직
- 프로그램 분석에 많은 시간이 소요
- Bottom Up
- 내부의 한 루틴에서 시작하여 해당 변수/함수를 호출하는 부분을 찾아 올라가는 방식
- 취약함수를 기준, 고정된 크기의 버퍼를 기준으로 시작
- 로직상의 취약점을 놓치기 쉬움
- doxygen, graphviz
- 함수와 클래스 간의 호출 그래프를 자동으로 생성해줌
반응형
'System > Windows' 카테고리의 다른 글
System/Hacking/Fuzzing (0) | 2017.11.30 |
---|---|
System/DllInject/레퍼런스 및 오류 (0) | 2017.11.30 |
System/Hacking/ASLR/ASLR 우회 (0) | 2017.11.30 |
System/Hacking/DEP와 DEP 우회 (0) | 2017.11.30 |
System/Hacking/SEH overwrite Exploit (0) | 2017.11.30 |