Binary DB

이미 분석이 완료된 Base Model의 Binary 정보를 Database화(Binary DB) 하고, 이를 활용하여 파생 Model의 Binary 분석을 자동화할 수 있습니다.

Binary 분석 자동화 방법

  • Binary 분석 결과(FOSSLight Report)를 Upload한 후 Save 버튼을 클릭하면, Binary DB와 비교하여 동일하거나 유사한 Binary의 OSS Name, OSS Version, License 등의 정보를 자동으로 채워줍니다.
    • 적용 메뉴
      • Project > Identification > BIN, BIN(Android|Yocto) tab
      • 3rd Party > Identification > 3rd party tab
    • Binary DB 축적을 위하여 FOSSLight Binary Scanner v4.1.30 이후 버전 사용을 권장합니다.
      binarytxt
  • Binary Name 하단에서는 Binary DB 내의 Binary와 동일(또는 유사)한지 여부에 대한 정보를 Warning message로 보여줍니다.
  • Binary DB 내 Binary와 일치 여부 확인 방법
    • Binary DB 내의 Binary와 일치하는지 여부는 다음 두 가지 data를 통해 확인합니다.
      1. Binary 이름과 checksum 값이 일치하면 동일한 것으로 간주합니다.
      2. 또는, Binary 이름이 동일하고 두 Binary간의 TLSH(Trend Micro Locality Sensitive Hash) distance가 120이하면 유사한 것으로 간주합니다.



Binary DB에 Data Insert 과정

  • 3rd Party, Project의 Identification 단계 Confirm 시, Identification > BIN, BIN(Android|Yocto), 3rd Party에 기재한 Binary 정보들은 Binary DB에 저장(insert) 되는데, FOSSLight Binary Scanner v4.1.30 이후 버전 사용시에만 적용됩니다.
Data Insert 시, 상세 내용
  • OSS Name이 공백인 경우, 하이픈 "-" 으로 등록됩니다.
  • TLSH 값이 공백인 경우, 0으로 등록됩니다.
  • Binary NamePath 정보가 포함되어 있는 경우, Path 정보는 무시하고 파일명만 Binary Name으로 등록됩니다.
  • 동일한 Binary이지만 OSS 정보가 다를 경우, 기존 정보를 삭제한 후 신규 정보로 업데이트합니다.
  • 비슷한 Binary의 경우, 기존 OSS 정보는 유지하고 신규 OSS 정보를 추가 업데이트합니다.
상세 동작
No Case 동작 Description
1 Binary DBBinary Name이 같은 Binary가 존재하지 않는 경우 신규 Binary로 저장 신규 Binary로 저장합니다.
2 Binary DBBinary Name이 같고 checksum이 동일한 Binary가 존재하는 경우 최신 Binary 정보로 업데이트 Binary DB 내 기존 Binary 정보를 삭제하고 최신 Binary 정보로 저장하여 업데이트합니다.
단, 하나의 Binary에 여러 OSS가 사용된 경우 하나의 Project 내에 동일한 Binary에 여러 OSS가 사용된 경우, OSS 정보를 모두 저장합니다.
3 Binary DBBinary Name이 같지만 checksum이 동일한 Binary가 존재하지 않는 경우 TLSH distance <= 120인 경우,
OSS 정보에 따라 다르게 동작
  1. OSS NameOSS Version이 같은 경우
    ∘ 신규 Binary로 저장합니다. 기존 Binary 정보는 checksum이 같을 때만 활용될 수 있으므로 TLSH distance 값을 0으로 변경합니다.
  2. OSS Name은 동일하지만 OSS Version은 다른 경우
    ∘ 신규 Binary로 저장합니다.
  3. OSS Name이 다른 경우
    ∘ 신규 Binary로 저장합니다. 기존 Binary 정보는 checksum이 같을 때만 활용될 수 있으므로 TLSH distance 값을 0으로 변경합니다.
TLSH distance > 120인 경우,
신규 Binary로 저장
TLSH distance가 120보다 큰 경우, 동일하지 않은 Binary로 판단하여 신규 Binary로 저장합니다.




Binary DB 확인

  • Binary DB 메뉴를 통해 Binary DB에 등록된 Binary 현황을 확인할 수 있습니다. binarytxt