[보안] Static Program Analysis란
- 정의
    
- 프로그램을 실행하지 않고 프로그램 분석
 
 - 분석 대상
    
- 소스코드
 - 오브젝트 코드
 
 - 분석 방법: 구문 검사, 의미추론 등
    
- Unit level
        
- 프로그램 문맥과의 연결 없이 특정한 프로그램 안이나 서브루틴에서 발생하는 분석
 
 - Technology Level
        
- 문제를 찾고 긍정 오류를 피하기 위해서 & 프로그램의 전체적이고 의미적인 관점을 얻기 위해 유닛 프로그램들 간의 상호작용을 고려하는 분석
 
 - System Level
        
- 유닛 프로그램들 간의 상호작용들은 고려하지만 한 기술이나 한 언어에 제한되지 않는 분석
 
 
 - Unit level
        
 - 사용 기술
    
- Abstract Interpretation
 - Data-Flow analysis
 - Model Checking
 - Symbolic execution
 
 - 분석 내용
    
- 보안 취약성
 - 코딩 표준 위반
 - 사용되지 않는 변수 & 사용되지 않는 코드
 - 정의 되지 않은 값의 변수 접근
 - 코드와 소프트웨어 모델의 구문 규칙 위반
 - 모듈과 컴포넌트 간에 일관되지 않은 인터페이스
 
 - 도구
    
- Clang Static Analyzer
 
 
      
Leave a comment