0Pricing
Cyber Security Academy · 강의

검색 확장 및 자동화

전체 환경에서 YARA를 실행합니다.

검색 확장 및 자동화은(는) CoddyKit의 무료 Cyber Security Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cyber Security Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

한 호스트에서 전체 환경으로

노트북에서 작동하는 규칙은 수천 개의 엔드포인트, 메일 흐름, 샘플 피드에서도 성능을 심각하게 저하시키지 않으면서 안정적으로 실행되어야 합니다. YARA를 확장하는 일은 배포, 성능, 피드백에 관한 엔지니어링 문제입니다.

이 레슨에서는 성능 조정, 규칙 관리, 자동화된 파이프라인, 그리고 YARA를 일회성 도구가 아닌 지속적인 탐지 기능으로 운영하는 방법을 다룹니다.

성능 기초

YARA는 각 문자열에 대해 아톰(짧은 바이트 부분 문자열)을 만들고, 먼저 아톰을 검색한 후 후보에 대해서만 전체 조건을 평가합니다. 엔진이 좋은 아톰을 만들지 못하게 하는 규칙은 느립니다.

  • 약 4바이트보다 짧은 문자열은 약한 아톰을 만들어 검사가 느려짐
  • 위치가 고정되지 않은 정규식과 과도한 와일드카드는 비용이 큼
  • 오프셋과 filesize로 위치를 고정하면 작업을 일찍 줄일 수 있음

느린 규칙의 성능을 측정하고, 대규모로 배포하기 전에 문제가 되는 규칙을 다시 작성하십시오.

# Report per-rule scan timing to find slow rules
yara --print-stats -r rules.yar /samples/
yara -a 10 -r rules.yar /samples/   # warn on rules slower than 10s

느린 패턴 피하기

일반적인 성능 문제와 해결 방법:

  • 너무 짧거나 모든 바이트가 와일드카드인 문자열을 더 길고 식별력 높은 문자열로 교체하십시오.
  • 비용이 큰 규칙을 저렴한 사전 조건(매직 바이트, 파일 크기) 뒤에 배치하십시오.
  • 정규식보다 고정 바이트를 우선하고, 정규식의 범위를 엄격하게 제한하십시오.
  • 관련 없는 파일 유형을 아예 건너뛰도록 global 규칙을 사용하십시오.

나쁜 규칙 하나가 전체 환경의 총 검사 시간을 지배할 수 있으므로, 성능을 검토 기준으로 삼으십시오.

global rule OnlyPE { condition: uint16(0) == 0x5A4D }

규칙 컴파일

검사할 때마다 규칙 텍스트를 구문 분석하면 시간이 낭비됩니다. 규칙을 한 번 컴파일하여 바이너리 블롭으로 만들고 어디서나 로드하십시오.

컴파일된 규칙은 빠르게 로드되며 모든 엔드포인트에서 정확히 동일한 검증된 논리를 실행하게 합니다. 규칙이 변경될 때마다 파이프라인의 일부로 다시 컴파일하고, 컴파일된 아티팩트를 배포하십시오.

yarac -r detections/ ruleset.yarac   # compile
yara -C ruleset.yarac /target/        # scan with compiled rules

대규모 규칙 관리

YARA 규칙을 시그마와 마찬가지로 코드처럼 취급하십시오. 검토, 테스트, CI가 적용되도록 버전 관리에 저장하십시오.

  • 파일마다 규칙 하나를 두고 패밀리 또는 출처별로 구성함
  • CI에서 구문을 검사하고, 성능을 확인하며, 코퍼스를 대상으로 테스트함
  • yaraLint 같은 린터가 일반적인 실수를 찾아냄
  • 피드 간 이름 충돌을 방지하도록 규칙에 태그와 네임스페이스를 지정함

이를 통해 관리되지 않거나 서로 충돌하거나 중복되는 수천 개 규칙으로 인한 혼란을 막을 수 있습니다.

EDR로 엔드포인트 검사

대부분의 기업은 EDR을 통해 YARA를 실행합니다. EDR은 에이전트로 규칙 집합을 배포하고 필요할 때나 일정에 따라 디스크와 메모리를 검사할 수 있습니다. 따라서 모든 호스트에 독립 실행형 YARA를 배포할 필요가 없습니다.

EDR에 YARA 지원이 없는 경우에는 에이전트 프레임워크와 오케스트레이션 도구를 사용하여 컴파일된 규칙 집합을 배포하고 결과를 중앙에서 수집할 수 있습니다. 어느 경우든 검사는 호스트별 수동 작업이 아니라 중앙에서 제어됩니다.

대규모 메모리 스캔

패킹된 악성 코드는 메모리에서만 모습을 드러내므로, 디스크 스캔뿐 아니라 the 전체 장비에 걸쳐 메모리 스캔을 예약하십시오. EDR 에이전트는 프로세스 메모리를 주기적으로 또는 의심스러운 이벤트에 대응하여 스캔할 수 있습니다.

메모리 스캔은 디스크 스캔보다 부하가 크므로 빈도와 범위의 균형을 맞추십시오. 성능 영향을 제어하려면 고가치 호스트에서는 지속적으로, 그 외 환경에서는 이벤트가 발생할 때 실행하십시오.

파이프라인 통합

파일이 환경에 유입되는 지점에 YARA를 자동화하여 통합하십시오.

  • 메일 및 웹 게이트웨이는 첨부 파일과 다운로드 파일을 유입 과정에서 스캔합니다.
  • 샌드박스(CAPE, Cuckoo)는 생성되거나 압축이 해제된 아티팩트에서 YARA를 실행합니다.
  • 파일 수집 파이프라인은 저장하기 전에 업로드 파일을 스캔합니다.
  • 악성 코드 저장소의 지속적 통합은 새 샘플을 자동으로 분류합니다.

각 일치 결과는 상관 분석과 대응을 위해 the SIEM/SOAR로 전달됩니다.

# Example: scan every new file dropped into an intake bucket
yara -C ruleset.yarac "$NEW_FILE" && route_to_soar "$NEW_FILE"

과거 데이터 헌팅과 인텔리전스 순환

안쪽뿐 아니라 바깥쪽으로도 확장하십시오. 가치가 높은 규칙을 위협 인텔리전스 플랫폼에 전송하여 과거 샘플 전체에서 과거 데이터 헌팅을 수행하고, 관련 변종과 캠페인 이력을 찾아내십시오.

배운 내용을 규칙 집합에 다시 반영하십시오. 과거 데이터 헌팅 중 발견한 새 변종이 규칙을 정교하게 만들고, 정교해진 규칙이 다음 공격 물결을 포착합니다. 이 폐쇄 순환을 통해 YARA는 지속적으로 개선되는 살아 있는 탐지 체계가 됩니다.

탐지 결과 처리와 대응

스캔 결과가 로그 한 줄만 남긴다면 낭비입니다. 탐지 결과를 대응 과정에 연결하십시오.

  • 구조화된 출력(규칙 이름, 파일, 호스트, 해시)을 the SIEM으로 전송합니다.
  • SOAR 플레이북을 트리거하여 호스트를 격리하고, 샘플을 수집하며, 위협 인텔리전스로 정보를 보강합니다.
  • 신뢰도가 높고 충분히 검증된 규칙에만 자동 격리를 적용합니다.
  • 신뢰도가 낮은 탐지 결과는 분석가에게 보내 분류하게 합니다.

IPS 규칙에 사용하는 경보 후 차단 원칙과 마찬가지로 대응 신뢰도를 규칙의 성숙도에 맞추십시오.

yara -C ruleset.yarac --print-meta "$F" \
  | jq -R . | send_to_siem

측정과 유지 관리

규칙 집합을 다음과 같은 지표를 사용하는 프로그램으로 운영하십시오.

  • 규칙별 적중률 및 오탐률
  • 전체 장비에서 규칙별 스캔 비용
  • 악성 코드 패밀리 및 ATT&CK 기법별 커버리지

오래된 규칙은 폐기하고, 과도한 탐지 결과를 내는 규칙은 수정하며, 정상 프로그램을 대상으로 정기적으로 재테스트하십시오. 소프트웨어와 악성 코드가 발전함에 따라 규칙의 효과는 떨어지므로 유지 관리는 선택 사항이 아니라 지속적으로 수행해야 합니다.

빠른 확인

확장 전략을 고려하여 배포를 판단해 보십시오.

요약

대규모 환경에서 YARA를 운영할 때:

  • 탐지 원자를 이해하고, 너무 짧은 문자열, 와일드카드만으로 된 패턴, 기준점 없는 정규식을 피합니다.
  • 오프셋과 파일 크기로 기준을 설정하고 전역 사전 조건 뒤에 배치합니다.
  • 규칙을 컴파일하고(yarac) 바이너리 데이터 덩어리를 배포합니다.
  • 규칙을 코드처럼 관리합니다. 버전 관리, 지속적 통합, 정적 검사, 네임스페이스 지정을 적용합니다.
  • EDR을 통해 단말을 스캔하고, 디스크뿐 아니라 메모리 스캔도 예약합니다.
  • YARA를 게이트웨이, 샌드박스 및 수집 파이프라인에 통합하고 SIEM/SOAR로 전달합니다.
  • 과거 데이터 헌팅을 사용하고 발견한 내용을 규칙에 다시 반영합니다.
  • 적중률, 오탐률 및 스캔 비용을 측정하고 지속적으로 유지 관리합니다.

YARA 악성 코드 탐지 과정을 완료하셨습니다.

자주 묻는 질문

“검색 확장 및 자동화” 강의는 무료인가요?

네 — “검색 확장 및 자동화” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cyber Security Academy 강의 전체를 잠금 해제할 수 있습니다. Cyber Security Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“검색 확장 및 자동화”에서 뭘 배우나요?

전체 환경에서 YARA를 실행합니다. 브라우저에서 직접 실행하는 실습 코드로 Cyber Security Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Cyber Security Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Cyber Security Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“검색 확장 및 자동화” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Cyber Security Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Cyber Security Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. YARA의 용도
  2. YARA 규칙 구문
  3. 문자열과 16진수로 헌팅하기
  4. 검색 확장 및 자동화
← Cyber Security Academy(으)로 돌아가기