
VisualCodeGrepper - 코드 보안 스캔 도구.
VCG (VisualCodeGrepper)
현재 버전: 2.3.2
====================================================================================
목차:
VCG는 C/C++, Java, C#, VB, PL/SQL, PHP 및 COBOL을 처리하는 자동화된 코드 보안 검토 도구입니다. 시간이 부족한 상황에서 코드 보안 검토를 수행하는 모든 사람에게 유용할 수 있도록 몇 가지 기능을 제공합니다:
일부 도구에서 반환되는 많은 수의 오탐을 반환하지 않으면서 버퍼 오버플로 및 부호 있는/부호 없는 비교를 지능적으로 검색하여 식별하는 것을 목표로 했습니다.
새로운 기능: 1) GUI 변경으로 대상 언어 선택이 메뉴 대신 드롭다운 목록을 통해 이루어집니다(V2.3.1에서와 같이). 2) 베타 기능에 이제 R 스크립트 스캐닝이 포함됩니다(V2.3.1에서와 같이). 3) 다양한 문제를 처리하고 여러 애플리케이션 인스턴스 허용을 복원하기 위한 사소한 버그 수정.
입력 파일/코드베이스:
코드를 스캔하기 전에 올바른 언어가 선택되었는지 확인하십시오. VCG는 선택된 언어와 관련된 문제만 테스트하고 관련 파일 유형만 스캔합니다. 언어는 설정 메뉴 또는 옵션 대화상자에서 선택할 수 있습니다. File=>New Target...을 사용하여 스캔할 코드가 포함된 디렉터리를 선택하십시오. 그러면 VCG가 지정된 확장자를 가진 모든 파일을 로드합니다.
기본값은 아래와 같지만 옵션 대화상자를 사용하여 수정할 수 있습니다: C/C++: .c .h .cpp .hpp Java: .java .jsp web.xml config.xml (이 xml 파일은 Struts 등에 의한 입력 유효성 검사를 확인하기 위해 포함됩니다) PL/SQL: .pls .sql .pkb .pks C#: .cs .asp .aspx web.config (web.config 파일은 입력 유효성 검사, 디버그 설정 등을 확인하기 위해 포함됩니다) VB: .vb .asp .aspx web.config (web.config 파일은 입력 유효성 검사, 디버그 설정 등을 확인하기 위해 포함됩니다) PHP: .php php.ini (php.ini 파일은 register_globals와 같은 잘못된 구성 설정을 확인하기 위해 포함됩니다) COBOL: .cob .cbl .clt .cl2 .cics R: .r
옵션 및 설정:
파일 유형 - 이 옵션을 사용하여 VCG가 각 코드 유형에 대해 스캔할 파일 유형을 변경할 수 있습니다. 디렉터리의 모든 파일을 스캔하려면 목록에 .*를 추가하거나 모든 유형을 삭제하고 빈 문자열을 제출하십시오. 구성 파일 - 각 언어에 대한 구성 파일을 지정합니다. 이 파일에는 위험으로 간주되어 보고가 필요한 함수나 코드 조각의 목록이 포함됩니다. 이 기능은 기본적으로 코드 스캔의 일부로 수행되는 더 복잡한 작업 위에 추가적인 검사 계층을 추가합니다. 심각도 - VCG는 특정 심각도 수준 이상의 오류만 보고하도록 설정할 수 있습니다. 예를 들어 'Medium'을 선택하면 보고서에 Medium, High, Critical만 포함됩니다. COBOL 설정 - 초기 열을 지정해야 합니다. 즉, 줄 번호 다음의 첫 번째 열입니다. 일반적으로 줄 번호가 없는 목록의 경우 1, 줄 번호가 포함된 목록의 경우 7입니다. 목록의 코드/주석 줄이 다른 열에서 시작하는 경우 다른 설정이 필요할 수 있습니다. z/OS 설정을 사용하면 CICS API의 안전한 사용 등에 대한 검사를 포함할 수 있습니다. OWASP 설정 (Java 전용) - 선택하면 OWASP 보안 코딩 페이지에 나열된 Java 프로그래밍 모범 사례에 대한 두 가지 위반을 식별합니다. 중첩 클래스와 비-final public 클래스가 보고됩니다. 위험도가 크지 않은 이러한 위반이 다수 발생할 가능성이 있으므로 이러한 스캔 중 하나를 끌 수 있는 옵션이 제공됩니다. 출력 파일 - 선택하면 ASCII 출력이 이 파일에 기록됩니다. 베타 기능 - Options -> Beta Functionality에서 해당 체크박스를 클릭하여 베타 기능 사용 여부를 선택합니다. 현재 사용 가능한 베타 기능은 C에서 Signed/Unsigned 비교 위치 파악(매우 신뢰도 낮음)과 R 스캔(상당히 잘 작동하는 것으로 테스트됨 - 다음 릴리스에 포함될 예정)입니다.
스캔:
스캔은 세 가지 방식으로 수행할 수 있습니다:
구성 파일:
VCG가 스캔하는 여섯 개 언어 각각에 대해 구성 파일이 존재합니다. 이는 각 언어에 대한 내장 복합 스캔을 보완하는 추가 스캔 계층을 제공합니다. 구성 파일의 내용은 스캔할 함수/코드 조각 목록과 결과에 표시될 관련 설명으로 구성됩니다. 설명에는 대괄호로 묶인 선택적 심각도 설정이 포함되며, '=>'로 함수와 구분되어 다음 형식을 따릅니다: 함수 이름[=>][[N]][설명] (여기서 N은 1(Critical)부터 3(Medium)까지의 심각도 등급입니다(또는 선택적으로 0은 'normal'))
예를 들어: strcat=>[3]버퍼 오버플로 조건을 유발하는 문자열 연결 함수. Microsoft의 금지 함수 목록에 포함됨.
출력:
스캔이 완료되면 Visual Code Breakdown이 표시됩니다.
결과는 발견된 순서대로 결과 창에 기록됩니다. 결과는 다음 형식을 따릅니다: 심각도: 코드 문제 줄 번호 - 파일 이름 설명 [코드 조각]
문제 제목은 명확성을 위해 다음 색상 코드를 사용합니다: Critical - 자홍색 High - 빨간색 Medium - 주황색 Standard/Normal - 노란색/세피아색 Low - 회청색 Potential Issue/Best Practice - 녹색 깨진 코드를 나타내는 의심스러운 주석 - 진한 파란색
결과는 또한 요약 테이블에 축약된 형태로 기록되며, 열 제목을 클릭하여 정렬할 수 있습니다. 결과 테이블의 항목을 두 번 클릭하면 해당 파일이 연결된 애플리케이션에서 로드됩니다.
이러한 결과는 File=>Save Results...를 클릭하여 ASCII 텍스트로 저장할 수 있습니다. 결과는 File=>Export Results as XML...을 클릭하여 XML로 저장할 수 있습니다. 심각도로 필터링된 결과 집합은 Results 창에서 마우스 오른쪽 버튼을 클릭하고 Export Filtered XML Results...를 클릭하여 XML로 저장할 수 있습니다. 결과는 File=>Export Results as CSV...를 클릭하여 CSV 파일로 저장할 수 있습니다.
명령줄 매개변수:
사용법: VisualCodeGrepper [옵션]
시작 옵션: (GUI의 원하는 시작 지점을 설정합니다. 콘솔 모드를 사용하는 경우 이 옵션은 스캔할 대상(들)을 설정합니다.) -t, --target <Filename|DirectoryName>: 대상 파일 또는 디렉터리를 설정합니다. 이 옵션을 사용하여 대상을 GUI에 즉시 로드하거나 콘솔 모드의 대상을 제공합니다. -l, --language <CPP|PLSQL|JAVA|CS|VB|PHP|COBOL|R>: 대상 언어를 설정합니다 (기본값은 C/C++). -e, --extensions <ext1|ext2|ext3>: 분석할 파일 확장자를 설정합니다 (언어별 기본값은 ReadMe 또는 Options 화면을 참조하십시오). -i, --import : XML/CSV 결과를 GUI로 가져옵니다.
출력 옵션: (결과를 지정된 형식의 파일로 자동 내보냅니다. 나중에 결과를 GUI로 다시 로드하려면 XML 또는 CSV 출력을 사용하십시오.) -x, --export : 결과를 XML 파일로 자동 내보냅니다. -f, --csv-export : 결과를 CSV 파일로 자동 내보냅니다. -r, --results : 결과를 일반 텍스트 파일로 자동 내보냅니다.
콘솔 옵션: -c, --console: 애플리케이션을 콘솔에서만 실행합니다 (GUI 숨김). -v, --verbose: 콘솔 출력을 상세 모드로 설정합니다. -h, --help: 도움말을 표시합니다.
====================================================================================