[GN⁺] Magika: AI를 활용한 빠르고 효율적인 파일 유형 식별도구 오픈소스 (feat. Google)

GeekNewsxguru님께 허락을 받고 GN에 올라온 글들 중에 AI 관련된 소식들을 공유하고 있습니다. :smiley_cat:


소개

[GN⁺] Magika: AI를 활용한 빠르고 효율적인 파일 유형 식별도구 오픈소스 (feat. Google)

  • Google이 AI 기반의 파일 유형 식별 시스템인 Magika를 오픈소스로 공개
  • Magika는 맞춤형, 최적화된 딥러닝 모델을 사용하여 CPU에서도 수밀리초 내에 정확한 파일 식별이 가능함
  • Magika 웹 데모를 사용해볼 수 있으며, pip install magika 명령어로 파이썬 라이브러리 및 독립 실행형 명령줄 도구로 설치할 수 있음

파일 유형 식별이 어려운 이유

  • 컴퓨팅 초기부터 파일 유형을 정확히 감지하는 것은 파일 처리 방법을 결정하는 데 중요함.
  • 리눅스는 libmagic과 file 유틸리티를 갖추고 있으며, 이는 50년 이상 파일 유형 식별의 사실상 표준으로 사용됨.
  • 파일 유형 감지는 웹 브라우저, 코드 편집기 등 다양한 소프트웨어에서 파일을 올바르게 렌더링하는 데 필수적임.
  • 파일 형식마다 구조가 다르거나 구조가 없기 때문에 정확한 파일 유형 감지는 악명 높은 문제임.
  • libmagic과 대부분의 파일 유형 식별 소프트웨어는 각 파일 형식을 감지하기 위해 수작업으로 만든 휴리스틱과 규칙에 의존함.
  • 이러한 수작업 접근 방식은 시간 소모적이고 오류가 발생하기 쉬움.

Magika 성능

  • Magika는 AI 모델과 대규모 훈련 데이터셋 덕분에 100가지 이상의 파일 유형을 포함하는 100만 파일 벤치마크에서 기존 도구보다 약 20% 더 나은 성능을 보임.
  • 특히 텍스트 파일, 코드 파일, 설정 파일 등 다른 도구들이 어려워하는 파일 유형에서 더 큰 성능 향상을 보임.

Magika 성능 비교 표

Magika의 Google 내 사용

  • Magika는 Google 내부에서 Gmail, Drive, Safe Browsing 파일을 적절한 보안 및 콘텐츠 정책 스캐너로 라우팅하여 사용자의 안전을 향상시키는 데 사용됨.
  • 수백억 개의 파일을 주간 평균으로 볼 때, Magika는 수작업 규칙에 의존하던 이전 시스템에 비해 파일 유형 식별 정확도를 50% 향상시킴.
  • Magika는 VirusTotal과의 통합을 통해 기존 Code Insight 기능을 보완하고, 글로벌 사이버보안 생태계에 기여하여 더 안전한 디지털 환경을 조성할 예정임.

Magika 오픈 소싱

  • Magika를 오픈 소싱함으로써 다른 소프트웨어의 파일 식별 정확도 향상과 연구자들에게 대규모로 파일 유형을 식별하는 신뢰할 수 있는 방법을 제공하고자 함.
  • Magika 코드와 모델은 Github에서 Apache2 라이선스 하에 무료로 제공되며, pypi 패키지 매니저를 통해 쉽게 설치할 수 있음.
  • Magika 사용법에 대한 자세한 내용은 Magika 문서 사이트를 참조할 것.

GN⁺의 의견

  • Magika의 오픈소스 공개는 파일 유형 식별의 정확성을 향상시키는 데 큰 도움이 될 것으로 보임.
  • 특히 보안 분야에서 정확한 파일 식별은 매우 중요하며, Magika는 이를 위한 강력한 도구가 될 수 있음.
  • Google의 기술력과 오픈소스 커뮤니티에 대한 기여는 글로벌 사이버보안 생태계를 강화하는 데 중요한 역할을 할 것으로 예상됨.

Hacker News 의견

  • 새로운 파일 타입 감지 도구를 웹 크롤 데이터에 적용해봄.
    • 간단한 HTML 파일을 잘못 감지하는 경우 발생.
    • WOFF, WOFF2 파일도 일부 잘못 감지됨.
    • 자동화에는 아직 신뢰할 수 없는 구현이라고 평가.
    • 출력이 파이프일 때 쉘 색상 이스케이프를 제거하지 않는 것에 대한 불만도 표현.
  • 10년 전 스프레드시트 파일 타입 감지에 대한 경험 공유.
    • "magic"을 이용해 파일 타입을 감지하는 패치를 제안했으나 거절당함.
    • 현재는 딥러닝을 이용한 파일 타입 감지에 대해 언급.
    • 구글이 성능 벤치마크를 공개하기를 바람.
  • 100개 파일에 대한 감지 테스트 결과 공유.
    • 대부분 정확하게 감지했으나, 일부는 잘못 감지하거나 불분명한 타입으로 감지.
    • Magika가 지원하지 않는 파일 타입에서 주로 오류 발생.
    • 기존의 file 유틸리티와 비교하여 비슷한 정확도를 보임.
  • 파일 타입 감지 분야에 새로운 도구가 등장한 것에 대한 긍정적 반응.
    • Node 모듈의 출시 이유에 대한 의문 제기.
    • 문서에서 속도가 느리다고 언급하고, 모델을 런타임에 로드함.
    • 실험적인 표시와 제한된 파일 타입 지원에 대한 언급.
  • 구글이 libmagic 개선 대신 신경망 기반의 파일 타입 감지 도구 개발에 자원을 투입한 것에 대한 혼란.
    • 신경망이 더 정확하지만 지원하는 파일 타입이 적고, 적대적 상황에서는 효과가 떨어짐을 지적.
  • 다양한 형식으로 유효한 폴리글롯 파일의 감지 방법에 대한 궁금증.
    • 실제 테스트 결과, ZIP 레이어만 감지됨을 언급.
  • APK나 JAR 파일의 정확한 감지에 대한 다른 도구들의 정밀도나 재현율에 대한 의문 제기.
    • 특정 파일이 정밀도나 재현율에 영향을 미친 사례에 대한 설명 요구.
  • Racket에서 libmagic 구현 경험 공유.
    • libmagic이 더 많은 파일 타입을 감지하지만, Magika가 텍스트 파일 감지에 유용할 수 있음을 언급.
  • 파일 타입 감지가 본질적으로 결정론적이라는 주장.
    • "매직 바이트"가 일관되어야 하며, 휴리스틱이나 확률적 추론의 필요성에 대한 의문 제기.

더 읽어보기

Magika 소개 글

Magika 코드 및 모델

Magika 웹 데모

https://google.github.io/magika/

Magika 논문

(공개 예정)

출처 / GeekNews