본문 바로가기

보안/시큐어코딩

파이썬 프로그램의 보안 취약점을 찾는 방법은?

specturm의 최근 연구에 따르면 파이썬은 올해 최고의 프로그래밍 언어라고 발표 했습니다.

출처: https://geekflare.com/find-python-security-vulnerabilities/

파이썬 핵심 코드는 안전하다고 하지만 개발된 응용프로그램이 모두 안전하다고 보기는 어렵습니다.

파이썬 응용 프로그램의 보안 위헙을 찾는데 도움이 되는 스캐너를 살펴 보겠습니다.

 

(1) pyt(파이썬 테인)

    SQL인젝션, 명령어 삽입, XSS, 디렉토리 조작과 같은 공격을 탐지하는 오픈소스 정적 분석 도구 입니다.

 

(2) Bandit 

     오픈스택에서 만든 파이썬 코드의 일반적인 보안 위험을 찾아내는 도구입니다. 각 파일에서 AST(Abstract Syntax Tree)를 만들고 보고서를 생성합니다.  pip로 설치할 수 있습니다.

 

(3) Pyntch 

    런타임 오류를 감지하는 정적 코드 분석 도구입니다. Python 2.x 만 지원합니다.  위험을 정확하게 찾아내는건 아니지만 때때로 중요한 정보가 노출될 수 있는 런타임 예외 상황을 보는데 유용하게 사용할 수 있습니다. 1분에 수천라인을 빠르게 스캔할 수 있습니다.

 

(4) RATS

     Python, PHP, Perl, C++ 코드의 분석을 수행하고 아래와 같은 보안 관련 오류를 강조하여 표시해 줍니다.

     - Time of CHeck

     - TIme of Use

     - Buffer oberflows

 

(5) Requires.io

     스캐너는 아니지만 파이썬의 의존성 보안을 모니터링하고 구형인거나 취약한 것으로 식별되면 알려줍니다.

 

(6) Safety

     파이썬 의존성 검사기로, 로컬 가상환경, 요구사항 파일, 보안이슈가 있는 표준입력들을 스캔할 수 있습니다.