Fortify SCA는 무엇이며 어떻게 설치합니까?
게시 됨: 2023-01-13Fortify Static Code Analyzer(SCA)는 소스 코드를 분석하고 보안 취약점의 근본 원인을 정확히 찾아냅니다.
Fortify 스캔은 가장 심각한 문제의 우선 순위를 지정하고 개발자가 문제를 해결하는 방법을 안내합니다.
정적 코드 분석기 강화
Fortify Static Code Analyzer에는 Buffer, Content, Control Flow, Dataflow, Semantic, Configuration 및 Structural과 같은 다양한 취약성 분석기가 있습니다. 이러한 각 분석기는 수행된 분석 유형에 필요한 정보를 제공하기 위해 맞춤화된 다양한 종류의 규칙을 허용합니다.
Fortify Static Code Analyzer에는 다음과 같은 구성 요소가 있습니다.
- 스캔 마법사 강화. 분석 전후에 스크립트를 실행하는 옵션을 제공하는 도구입니다.
- 감사 작업대. 분석 결과를 정리하고 관리하는 GUI 기반 앱입니다.
- 사용자 지정 규칙 편집기. 개발자가 분석을 위한 사용자 지정 규칙을 만들고 편집할 수 있는 도구입니다.
- IntelliJ 및 Android Studio용 플러그인. 이 플러그인은 IDE 내에서 분석 결과를 제공합니다.
- 이클립스용 플러그인. 이 도구는 Eclipse와 통합되어 IDE 내에서 결과를 표시합니다.
- 대나무 플러그인. 분석을 실행하는 Bamboo Job에서 결과를 수집하는 플러그인입니다.
- 젠킨스 플러그인. 이 플러그인은 Jenkins Job에서 분석 결과를 수집합니다.
Fortify SCA의 기능
#1. 여러 언어 지원
Fortify SCA에서 지원되는 일부 언어는 다음과 같습니다. ABAP/BSP, ActionScript, ASP(VBScript 포함), COBOL, ColdFusion, Apex, ASP.NET, C#(.NET), C/C++, Classic, VB.NET, VBScript, CFML, Go, HTML, Java(Android 포함) ), JavaScript/AJAX, JSP, Kotlin, Visual Basic, MXML(Flex), Objective C/C++, PHP, PL/SQL, Python, Ruby, Swift, T-SQL 및 XML.
#2. 유연한 배포 옵션
- Fortify On-Prem 을 통해 조직은 Fortify SCA의 모든 측면을 완전히 제어할 수 있습니다.
- Fortify On Demand 를 사용하면 개발자가 SaaS(Software As Service) 환경에서 작업할 수 있습니다.
- Fortify Hosted 를 사용하면 개발자는 완전한 데이터 제어가 가능한 격리된 가상 환경을 통해 두 가지 세계(온디맨드 및 온프레미스)를 모두 즐길 수 있습니다.
#삼. CI/CD 도구와 쉽게 통합
- 개발자는 Fortify SCA를 Visual Studio 및 Eclipse와 같은 주요 IDE와 쉽게 통합할 수 있습니다.
- 도구가 Sonatype, WhiteSource, Snyk 및 BlackDuck과 같은 오픈 소스 도구와 통합되므로 개발자는 다양한 작업을 제어할 수 있습니다.
- Bitbucket 및 GitHub와 같은 원격 코드 리포지토리와 Fortify SCA를 통합할 수도 있습니다. 따라서 이 도구는 이러한 플랫폼에 푸시된 코드의 취약점을 확인하고 보고서를 보낼 수 있습니다.
#4. 실시간 알림
Fortify SCA는 코딩할 때 실시간 업데이트를 제공하므로 테스트를 수행하기 위해 코딩을 마칠 때까지 기다릴 필요가 없습니다. 이 도구에는 속도와 효율성을 위해 구축된 구성 및 구조 분석기가 있으며 보안 응용 프로그램을 생성하는 데 도움이 됩니다.
#5. 머신 러닝으로 구동되는 Audit Assistant
기계 학습 알고리즘을 사용하는 Audit Assistant를 사용하여 시스템 감사가 빠릅니다. 어시스턴트는 모든 취약성을 식별하고 신뢰 수준에 따라 우선순위를 지정합니다. 따라서 조직은 도구가 보고서를 생성할 때 감사 비용을 절약할 수 있습니다.
#6. 유연성
사용자는 필요에 따라 수행할 검사 유형을 선택할 수 있습니다. 예를 들어 정확하고 상세한 스캔을 원할 경우 종합 스캔 옵션을 선택할 수 있습니다. 개발자는 주요 위협만 탐지하려는 경우 빠른 검색 옵션을 선택할 수도 있습니다.
Fortify SCA는 무엇을 합니까?
Fortify SCA는 일반적인 개발 에코시스템에서 여러 가지 역할을 합니다. 다음은 일부 역할입니다.
정적 테스트는 더 나은 코드를 작성하는 데 도움이 됩니다.
SAST(Static Application Security Testing)는 초기 개발 단계에서 보안 취약성을 식별하는 데 도움이 됩니다. 운 좋게도 이러한 보안 취약점의 대부분은 수정 비용이 저렴합니다.
이러한 접근 방식은 테스트가 개발 중에 코드에 도입된 문제에 대한 즉각적인 피드백을 제공하므로 애플리케이션의 보안 위험을 줄입니다.
개발자는 또한 정적 애플리케이션 보안 테스트를 통해 보안에 대해 배우므로 안전한 소프트웨어 생산을 시작할 수 있습니다.
Fortify SCA는 보안 코딩 규칙 및 여러 알고리즘의 광범위한 지식 기반을 사용하여 소프트웨어 애플리케이션의 소스 코드에서 보안 취약성을 분석합니다. 이 접근 방식은 데이터 및 실행이 따를 수 있는 실행 가능한 모든 경로를 분석하여 취약성을 식별하고 해결책을 제공합니다.
보안 문제를 조기에 발견
Fortify SCA는 컴파일러를 모방합니다. Fortify 스캔 후 이 도구는 소스 코드 파일을 읽고 보안 분석을 위해 향상된 중간 구조로 변환합니다.
모든 보안 취약점은 중간 형식으로 쉽게 찾을 수 있습니다. 이 도구는 보안 코딩 규칙을 사용하여 코드가 보안 코딩 관행 규칙을 위반하는지 분석하는 여러 전문 분석기로 구성된 분석 엔진과 함께 제공됩니다.
Fortify SCA는 정적 분석 기능을 확장하고 사용자 지정 규칙을 포함하려는 경우 규칙 빌더와 함께 제공됩니다. 이러한 설정의 결과는 작업 및 대상에 따라 다른 형식으로 볼 수 있습니다.
Fortify Software Security Center(SSC)로 결과 관리 지원
Fortify Software Security Center(SSC)는 조직의 전체 애플리케이션 보안 프로그램에 대한 가시성을 제공하는 중앙 집중식 관리 리포지토리입니다. SSC를 통해 사용자는 보안 위협이 식별될 때 해결 노력을 감사, 검토, 우선 순위 지정 및 관리할 수 있습니다.
Fortify SSC는 조직의 애플리케이션 보안 태세에 대한 정확한 범위와 그림을 제공합니다. SSC는 중앙 서버에 상주하지만 실시간, 동적, 정적 분석에 이르기까지 다양한 애플리케이션 보안 테스트 활동의 결과를 받습니다.
Fortify SCA는 어떤 유형의 코드 분석을 수행할 수 있습니까?
Fortify 스캔은 코드 분석을 수행할 때 악성 왕국의 아키텍처에서 차용합니다. 다음은 Fortify SCA가 수행하는 분석 유형입니다.
- 입력 유효성 검사 및 표현 - 입력 유효성 검사 및 표현과 관련된 문제는 대체 인코딩, 숫자 표현 및 메타문자에서 발생합니다. 이러한 문제의 예로는 사용자가 입력을 신뢰할 때 발생하는 "버퍼 오버플로", "교차 사이트 스크립팅" 공격 및 "SQL 주입"이 있습니다.
- API 남용. 계약 종료를 이행하지 않는 호출자는 API 남용의 가장 일반적인 유형입니다.
- 보안 기능. 이 테스트는 소프트웨어 보안과 보안 소프트웨어를 구분합니다. 분석은 인증, 권한 관리, 액세스 제어, 기밀성 및 암호화 문제에 중점을 둡니다.
- 시간과 상태. 컴퓨터는 서로 다른 작업 사이를 매우 빠르게 전환할 수 있습니다. 시간 및 상태 분석은 스레드, 정보, 프로세스 및 시간 간의 예기치 않은 상호 작용으로 인해 발생하는 결함을 검색합니다.
- 오류. Fortify SCA는 오류가 잠재적인 공격자에게 너무 많은 정보를 제공하는지 확인합니다.
- 코드 품질. 코드 품질이 좋지 않으면 일반적으로 예측할 수 없는 동작이 발생합니다. 그러나 공격자는 잘못 작성된 코드를 발견할 경우 자신에게 유리하게 응용 프로그램을 조작할 수 있습니다.
- 캡슐화. 이것은 강한 경계선을 그리는 과정입니다. 이러한 분석은 검증된 데이터와 검증되지 않은 데이터를 구분하는 것을 의미할 수 있습니다.
Fortify SCA 다운로드 및 설치
설치 프로세스를 시작하기 전에 다음을 수행해야 합니다.
- 공식 문서에서 시스템 요구 사항 확인
- Fortify 라이선스 파일을 받으세요. Microfocus 다운로드 페이지에서 패키지를 선택하십시오. Fortify Static Code Analyzer를 검색하고 계정을 만들고 Fortify 라이선스 파일을 받습니다.
- Visual Studio Code가 설치되어 있거나 지원되는 다른 코드 편집기가 있는지 확인하십시오.
Windows에 설치하는 방법
- 인스톨러 파일 실행
Fortify_SCA_and_Apps_<version>_windows_x64.exe
NB: <version>은 소프트웨어 릴리스 버전입니다.
- 사용권 계약에 동의한 후 다음 을 클릭합니다.
- Fortify Static Code Analyzer를 설치할 위치를 선택하고 다음을 클릭합니다.
- 설치할 구성 요소를 선택하고 다음을 클릭합니다.
- Visual Studio 2015 또는 2017용 확장을 설치하는 경우 사용자를 지정합니다.
-
fortify.license
파일의 경로를 지정한 후 다음 을 클릭합니다 . - 보안 콘텐츠를 업데이트하는 데 필요한 설정을 지정합니다. URL을 https://update.fortify.com으로 지정하여 Fortify Rulepack 업데이트 서버를 사용할 수 있습니다. 다음 을 클릭합니다.
- 샘플 소스 코드를 설치할지 여부를 지정합니다. 다음 을 클릭합니다.
- 다음을 클릭하여 Fortify SCA 및 애플리케이션을 설치합니다.
- 설치 후 보안 콘텐츠 업데이트 를 클릭하고 설치가 완료되면 마침 을 클릭합니다.
리눅스에 설치하는 방법
동일한 단계에 따라 Linux 기반 시스템에 Fortify SCA를 설치할 수 있습니다. 그러나 첫 번째 단계에서 이것을 설치 프로그램 파일로 실행하십시오.
Fortify_SCA_and_Apps__linux_x64.run
또는 명령줄 프롬프트를 사용하여 Fortify SCA를 설치할 수 있습니다.
터미널을 열고 이 명령을 실행하십시오.
./Fortify_SCA_and_Apps__linux_x64.run --mode text
설치 프로세스를 완료할 때까지 명령줄에 지시된 대로 모든 프롬프트를 따릅니다.
Fortify 스캔을 실행하는 방법
설치가 완료되면 보안 분석을 위한 도구를 설정할 차례입니다.
- 설치 디렉터리로 이동하여 명령 프롬프트를 사용하여 bin 폴더로 이동합니다.
-
scapostinstall.
그런 다음 s를 입력하여 설정을 표시할 수 있습니다. - 다음 명령을 사용하여 로케일을 설정하십시오.
2를 입력하여 설정을 선택합니다.
1을 입력하여 일반을 선택합니다.
1을 입력하여 로케일을 선택합니다.
언어에 English: en 을 입력하여 언어를 영어로 설정합니다.
- 보안 콘텐츠 업데이트를 구성합니다. 2를 입력하여 설정을 선택한 다음 2를 다시 입력하여 Fortify Update를 선택합니다. 이제 URL을 https://update.fortify.com으로 지정하여 Fortify Rulepack 업데이트 서버를 사용할 수 있습니다.
- 도구가 완전히 설치되었는지 확인하려면
sourceanalyzer
를 입력하십시오.
이제 Fortify SCA가 백그라운드에서 실행되어 모든 코드에서 보안 취약성을 확인합니다.
마무리
인터넷 시대에는 시스템이 해킹당하고 데이터가 유출되는 사례가 만연해 있습니다. 다행히 코드가 작성될 때 보안 위협을 감지하고 경고를 보내고 이러한 위협을 처리하는 방법에 대한 권장 사항을 제공할 수 있는 Fortify Static Code Analyzer와 같은 도구가 있습니다. Fortify SCA는 다른 도구와 함께 사용할 때 생산성을 높이고 운영 비용을 절감할 수 있습니다.
SCA(Software Composition Analysis)를 탐색하여 애플리케이션의 보안을 개선할 수도 있습니다.