2017-02-08 1 views
1

직장에서 광산 응용 프로그램 중 하나를 검색하는 .bat 파일이 있습니다. 비주얼 스튜디오의 HP Fortify는 플러그인을 사용하여 스캔 마법사 HP Fortify ASP.Net 웹 양식

  • 를 사용

    • :

      나는이 나는 .fpr 파일을 생성 한 가지 방법을 비교하고있다.

    .spr 파일이 Scan Wizard의 .bat 파일에 의해 생성 될 때 응용 프로그램 내의 모든 .aspx, aspx.cs 및 .cs 파일을 완전히 무시하는 것으로 보입니다.

    내 앱은 이전 웹 양식이므로 게시하려면 Visual Studio에서 미리 컴파일 된 옵션을 선택해야합니다.

    저는 이미 게시물에서 Eric의 솔루션을 사용해 보았습니다. HP Fortify scans get ASP Pre-Compilation error

    아직 아무것도 아닙니다.

    게시 전후에 bat 파일을 생성하려고 이미 시도했지만 동일한 수의 취약점이 반환되었습니다. Something around 15 게시 후 dll이 모든 페이지에 생성됩니다. 이는 이론적으로 모든 응용 프로그램 코드를 감지해야 함을 의미합니다.

    반면에 Visual Studio 플러그인을 통해 .fpr 파일을 생성하면 약 600 개의 취약점이 표시됩니다.

    내 실제 문제는 Visual Studio가 아닌 .bat 파일을 실행해야한다는 것입니다. 우리가 앱을 빌드하고 코드 분석을 실행 한 다음 HP Fortify를 완료하는 지속적인 통합 프로세스가 있기 때문입니다. 프로세스이므로, .bat 파일로 실행할 때 플러그인을 실행하면서 반환 된 취약점의 수가 동일한 것이 필요합니다.

    도움이 될 것입니다.

    감사합니다.

  • 답변

    2

    몇 가지 다른 옵션을 사용할 수 있습니다.

    1) Visual Studio를 Fortify Plugin이 설치된 CI 컴퓨터에 설치하십시오. 여기에 내가 직접 닷넷 코드를 스캔 할 수 포티 (16.20)의 최신 버전의 Visual Studio

    sourceanalyzer -b test -clean 
    
    sourceanalyzer -b test -Xmx6G -verbose -debug -logfile vs_translate.txt "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe" NewWebForms.sln /REBUILD Debug 
    
    sourceanalyzer -b test -show-files > vs_files.txt 
    
    sourceanalyzer -b test -show-build-warnings > vs_warnings.txt 
    
    sourceanalyzer -b test -verbose -debug -logfile vs_scanlog.txt -scan -f vs_scan.fpr 
    
    fprutility -information -categoryIssueCounts -project vs_scan.fpr 
    

    2)를 사용하여 WebGoat.Net를 스캔하는 데 사용되는 샘플 배치 파일입니다. 여기에 내가 WebGoat.Net

    sourceanalyzer -b test -clean 
    
    sourceanalyzer -b test -dotnet-version 4.5.2 -cs-extern-alias "global=C:\Samples\NewWebForms\packages\Microsoft.AspNet.Identity.EntityFramework.2.2.1\lib\net45\Microsoft.AspNet.Identity.EntityFramework.dll;global=C:\Samples\NewWebForms\packages\Microsoft.AspNet.Identity.Core.2.2.1\lib\net45\Microsoft.AspNet.Identity.Core.dll;global=C:\Samples\NewWebForms\packages\Microsoft.AspNet.Identity.Owin.2.2.1\lib\net45\Microsoft.AspNet.Identity.Owin.dll;global=C:\Samples\NewWebForms\packages\Microsoft.Owin.3.0.1\lib\net45\Microsoft.Owin.dll" -dotnetwebroot NewWebForms\ -libdirs packages\**/*.dll;NewWebForms\bin\*.dll NewWebForms\**/* 
    
    sourceanalyzer -b test -show-files > cmd_files.txt 
    
    sourceanalyzer -b test -show-build-warnings > cmd_warnings.txt 
    
    sourceanalyzer -b test -Xmx6G -verbose -debug -logfile cmd_scanlog.txt -scan -f cmd_scan.fpr 
    
    fprutility -information -categoryIssueCounts -project cmd_scan.fpr 
    

    3) 당신이 원하는 경우에, 당신은 또한 프로젝트의 컴파일 된 .dll 년대를 스캔 할 수 있습니다를 스캔하기 위해 만든 배치 파일입니다. 여기에 내가에서 옵션 2 호를 사용하여 WebGoat.Net 스캔 할 때,이에 대한 상세한 내용은 WebGoat.Net

    sourceanalyzer -b test -Xmx8G -vsversion 14.0 
           @excludelist.txt 
           -Dcom.fortify.sca.SourceFiles=WebGoat.NET\WebGoat 
           -libdirs WebGoat.NET\WebGoat\bin WebGoat.NET\**/*.dll 
           WebGoat.NET/**/* 
    

    를 스캔 Fortify to scan 3rd party dll's

    +0

    에 내 대답을 살펴 정복 한 일이다 귀하의 대답, 제 3 자 .dlls 와일드 카드를 사용하여 데리러 가지 않습니다. 왜 이런 생각일까요? 나는 당신의 대답에서 슬래시'-libdirs packages \ **/*. dll;'을 사용하는 것을 발견했다. – hamo

    +0

    슬래시는 오래된 습관에 있으며 문제가되는 데 사용됩니다. 테스트를 거쳐 앞으로 또는 뒤로 작업하는 것처럼 보입니다. 왜 그것이 당신의 제 3 자 dll을 선택하지 않았다고 생각합니까? 명령을 실행하여 질문을 할 수 있습니까? – SBurris

    +0

    와일드 카드를 사용하여 스캔 한 후 AWB에서 fpr을 확인할 때 제 3 자 라이브러리가 나열되지 않습니다. 개별적으로 지정하면 해당 라이브러리가 나열됩니다. – hamo