
YARA 규칙에서 의사 악성 파일을 생성하여 AV/EDR 탐지를 트리거함으로써, 실제 악성 샘플 없이 악성코드 연구, 규칙 QA 및 네트워크 센서 부하 테스트를 가능하게 합니다.
Arya는 YARA 규칙을 트리거하기 위한 가짜 악성 파일을 생성하는 독특한 도구입니다. 정반대의 작업을 수행한다는 점에서 역 YARA라고 생각할 수 있습니다. 즉, 규칙과 일치하는 파일을 생성합니다.
Arya와 작동 방식에 대한 자세한 내용은 블로그에서 확인하세요.

YARA 규칙은 보안 연구자들이 멀웨어 샘플을 식별하고 분류하는 데 도움이 되는 필수 도구입니다. 이는 멀웨어 코드 내의 패턴과 문자열을 설명하여 분석가가 알려진 위협이나 새로운 위협을 식별할 수 있도록 합니다. 또한 YARA 규칙은 상용 탐지 도구에 통합되거나 기업 네트워크에서 오작동하는 바이너리를 탐지하기 위해 내부적으로 사용되기도 합니다.
하지만 규칙을 작성할 악성 파일이 없다면 어떨까요? YARA를 입력으로 하여 "멀웨어" 파일을 직접 만들고 싶다면? 그래서 우리는 Arya를 개발했습니다. Arya는 사용자 정의 가짜 멀웨어 파일을 생성하여 예전의 EICAR 테스트 파일처럼 안티바이러스(AV) 및 엔드포인트 탐지 및 대응(EDR) 도구를 트리거하는 데 사용할 수 있습니다. 이 도구는 멀웨어 연구, YARA 규칙 QA 테스트, YARA 규칙으로 구축된 코드 샘플을 사용한 네트워크 부하 테스트 등 여러 사용 사례가 있습니다.

Arya는 최초의 종류의 도구입니다. YARA 규칙을 트리거하기 위한 가짜 악성 파일을 생성합니다. 이 도구는 주어진 YARA(.yar 확장자) 파일을 읽고, Avast의 yaramod 패키지(이 연구에서 사용된 YARA 구문 분석 엔진)를 사용하여 구문을 분석한 후 가짜 "멀웨어" 파일을 빌드합니다. 입력 규칙을 트리거하기 위해 YARA 규칙에서 원하는 바이트를 신중하게 배치합니다.
도구의 목표는 AV나 EDR과 같은 탐지 센서가 결과 파일을 입력 YARA 규칙이 탐지하려는 멀웨어 파일로 식별하도록 하는 맞춤형 가짜 악성 파일을 생성하는 것입니다. 이 목표를 달성하기 위해 입력 YARA 규칙의 필수 시그니처, 문자열, 바이트를 추가할 뿐만 아니라 실제 PE 헤더, 출력 파일 엔트로피 증가, x86 바이트코드, 함수 프롤로그/에필로그 어셈블리 코드와 같은 "터치"도 추가합니다. 이 모든 과정은 AV/EDR 트리거링 프로세스를 돕고, 일부 휴리스틱 검사를 우회하는 데 도움이 됩니다.

YARA 파일(.yar 확장자)은 하나 이상의 YARA 규칙을 포함하는 텍스트 파일입니다. 이 프로젝트에서는 yaramod를 사용하여 YARA 규칙을 Python 객체로 표현된 규칙 목록으로 변환한 다음, 이를 사용하여 문자열, 유형, 조건 등 규칙의 내부 내용에 접근할 수 있습니다. Yaramod는 YARA 규칙을 AST(추상 구문 트리)로 구문 분석합니다.
추상 구문 트리의 순회는 Observer와 Visitor 디자인 패턴의 조합을 사용하여 수행됩니다. 코드가 통과하는 모든 노드에 대해 트리거해야 하는 서브트리의 조건을 충족시키기 위해 어떤 바이트와 문자열을 어디에 배치해야 하는지 결정합니다. 결과적으로 이 트리는 배치할 문자열과 가능한 오프셋의 매핑을 생성하며, 파일 내에서 일부를 예약하여 배치 메커니즘에 전달하여 추가 처리를 할 수 있습니다.
연구자들은 Arya를 사용하여 YARA 규칙을 빌딩 블록으로 사용하여 가짜 악성 파일을 생성할 수 있습니다. 이러한 파일은 특정 멀웨어로 식별될 파일을 빌드하는 데 사용할 수 있습니다. 예를 들어, Zeus 멀웨어 샘플이 없지만 AV가 어떻게 반응하는지 확인하고 싶다면? 문제 없습니다. Zeus YARA 규칙을 Arya에 로드하고 AV/EDR 도구가 Zeus로 식별할 자체 "Zeus" 유사 가짜 멀웨어를 생성하세요.
Arya는 침해 대응 훈련(퍼플 팀링과 유사)의 일부로도 사용될 수 있습니다. 네트워크를 통해 가짜 악성 파일을 전송하여 센서와 탐지기의 부하 테스트를 수행할 수 있습니다.
지원됨
다음 업데이트 예정
sudo apt update
sudo apt install yara cmake
git clone https://github.com/claroty/arya
cd arya
pip3 install -r requirements.txt
다음 인수를 고려하여 Arya를 실행하세요:
-i [입력_디렉토리] 또는 [입력_파일]-o [출력_파일_이름]--header - conficker의 처음 2048바이트를 파일 시작 부분에 추가합니다.-r - [INPUT_DIRECTORY] 아래의 모든 파일에 대해 재귀적으로 실행합니다.-m [멀웨어_파일] - [INPUT_DIRECTORY] 파일을 출력의 기본 파일로 사용합니다.python3 src/arya.py -i example_rules/ -o MalwareAryaDefault.exe