IT이야기

Fortify 소프트웨어는 작동 방법

cyworld 2021. 10. 2. 17:52
반응형

Fortify 소프트웨어는 어떻게 작동합니까?


Fortify 는 소프트웨어 코드에서 보안 취약점을 찾는 데 사용되는 SCA입니다. 이 소프트웨어가 내부적으로 어떻게 작동하는지 궁금했습니다. 코드가 실행될 규칙 집합을 구성해야 한다는 것을 알고 있습니다. 그러나 코드에서 취약점을 정확히 찾을 수 있는 방법은 다음과 같습니다.

누구든지 이것에 대해 생각이 있습니까?

미리 감사드립니다.


HP Fortify SCA에는 데이터 흐름, 제어 흐름, 의미론적, 구조적, 구성 및 버퍼의 6가지 분석기가 있습니다. 각 분석기는 서로 다른 유형의 취약점을 찾습니다.

데이터 흐름 이 분석기는 잠재적으로 위험한 사용에 사용되는 오염된 데이터(사용자 제어 입력)와 관련된 잠재적 취약성을 감지합니다. 데이터 흐름 분석기는 전체 절차 간 오염 전파 분석을 사용하여 소스(사용자 입력 사이트)와 싱크(위험한 기능 호출 또는 작업) 간의 데이터 흐름을 감지합니다. 예를 들어, 데이터 흐름 분석기는 무제한 길이의 사용자 제어 입력 문자열이 정적으로 크기가 조정된 버퍼에 복사되고 있는지 감지하고 사용자 제어 문자열이 SQL 쿼리 텍스트를 구성하는 데 사용되는지 여부를 감지합니다.

제어 흐름 이 분석기는 잠재적으로 위험한 작업 시퀀스를 감지합니다. 제어 흐름 분석기는 프로그램의 제어 흐름 경로를 분석하여 일련의 작업이 특정 순서로 실행되는지 여부를 결정합니다. 예를 들어, 제어 흐름 분석기는 확인 시간/사용 시간 문제 및 초기화되지 않은 변수를 감지하고 사용하기 전에 XML 리더와 같은 유틸리티가 올바르게 구성되었는지 확인합니다.

Structural 이것은 프로그램의 구조나 정의에서 잠재적으로 위험한 결함을 감지합니다. 예를 들어, 구조 분석기는 Java 서블릿에서 멤버 변수에 대한 할당을 감지하고, static final로 선언되지 않은 로거의 사용을 식별하고, 항상 false인 술어로 인해 실행되지 않을 데드 코드 인스턴스에 플래그를 지정합니다.

시맨틱 이 분석기는 절차 내 수준에서 기능 및 API의 잠재적으로 위험한 사용을 감지합니다. 기본적으로 스마트 GREP.

구성 이 분석기는 응용 프로그램의 배포 구성 파일에서 실수, 약점 및 정책 위반을 검색합니다.

버퍼 이 분석기는 버퍼가 보유할 수 있는 것보다 더 많은 데이터를 쓰거나 읽는 것과 관련된 버퍼 오버플로 취약점을 감지합니다.


@LaJmOn은 매우 좋은 답변을 제공하지만 완전히 다른 추상화 수준에서 다른 방식으로 질문에 답변할 수 있습니다.

  1. 소스 코드는 SCA의 분석에 최적화된 중간 모델로 변환됩니다.

  2. 일부 유형의 코드에는 여러 단계의 번역이 필요합니다. 예를 들어 C# 파일을 먼저 디버그 .DLL 또는 .EXE로 컴파일한 다음 .NET SDK 유틸리티 ildasm.exe를 통해 해당 .NET 바이너리 파일을 MSIL(Microsoft Intermediate Language)로 디스어셈블해야 합니다. Java 파일이나 ASP 파일과 같은 다른 파일은 해당 언어에 대한 적절한 Fortify SCA 변환기에 의해 한 번에 번역됩니다.

  3. SCA는 모델을 메모리에 로드하고 분석기를 로드합니다. 각 분석기는 규칙을 로드하고 해당 역할을 조정된 방식으로 프로그램 모델의 기능에 적용합니다.

  4. 일치 항목은 취약점 일치 정보, 보안 조언, 소스 코드, 소스 상호 참조 및 코드 탐색 정보, 사용자 필터링 사양, 사용자 지정 규칙 및 디지털 서명이 모두 패키지에 압축된 FPR 파일에 작성됩니다.


예 - Fortify SCA는 iOS용 Objective-C 및 Swift 및 약 20개의 기타 언어 및 수많은 프레임워크 스캔을 지원합니다. Fortify SCA 데이터 시트에서 자세한 내용을 참조하십시오.

https://www.hpe.com/h20195/V2/GetPDF.aspx/4AA5-6055ENW.pdf

Fortify on Demand에서 SaaS를 통해 Fortify SCA를 활용하고 전문가가 스캔을 실행하고 결과를 감사하도록 할 수도 있습니다.

http://www8.hp.com/us/en/software-solutions/application-security-testing/index.html


또한 위의 @Doug Held 주석에 대한 부록 ... Fortify 16.20부터 SCA는 이제 .Net C#/ASP/VB 소스 코드를 직접 스캔하는 것을 지원합니다. 더 이상 사전 컴파일이 필요하지 않습니다.

참조URL : https://stackoverflow.com/questions/13051974/how-does-fortify-software-work

반응형