I. 서론
기계학습 기반 악성코드 탐지 모델은 일반적으로 학습셋에 존재하는 구조적 특성을 일반화하여, 새로운 악성코드를 탐지하는 것을 목표로 한다. 여기서 구조적 특성이란, 악성 행위를 수행하기 위해 순서대로 호출되는 API나 종속적으로 함께 호출되는 API 처럼 반복적으로 나타나는 의미 있는 구성이나 관계를 의미한다.
그렇지만, 악성코드 도메인에서는 이러한 일반화가 정상적으로 달성되기 어렵다. 대부분의 악성코드는 기존 악성코드를 변형하여 제작된 변종으로, 이들 변종은 유사한 구조를 공유한다. 일반적으로 이러한 변종들의 그룹을 악성코드 패밀리라고 하며, 학습셋에 특정 패밀리의 샘플이 과도하게 포함되면 악성코드 데이터셋의 패밀리 분포 불균형이 발생한다.
여기서, 패밀리 분포란 데이터셋에 포함된 패밀리의 구성을 의미한다. 예를 들어, 데이터셋이 소수의 패밀리에 과도하게 집중되어 있는 경우, 해당 데이터셋은 패밀리 중복이 높은 분포를 가진다고 볼 수 있다. 반면, 다양한 패밀리가 고르게 포함되어 있을수록 패밀리 다양성이 높은 분포를 가진다. 본 연구에서는 특정 패밀리에 포함된 샘플 수를 해당 패밀리의 크기로 정의하고, 이를 기반으로 데이터셋의 분포 특성을 분석한다.
패밀리 중복이 높은 데이터셋에서는 모델이 소수의 반복된 패턴을 과도하게 학습하여 비본질적인 특성에 의존하는 경향이 커진다. 반대로, 다양한 패밀리로 구성된 데이터셋은 모델이 특정 패밀리에 종속되지 않고 더욱 일반적인 구조적 특성을 학습할 수 있도록 도와주며, 새로운 악성코드에 대한 대응력을 높일 수 있다. 실제 악성코드 데이터셋은 특정 시점에 유행한 일부 악성코드 패밀리에 편향된 분포를 갖는 경향이 있으며[1], 이는 모델이 해당 패밀리의 비본질적인 패턴에 과도하게 의존하게 만든다고 한다[2].
그렇지만, 이러한 문제는 일반적인 기계학습 모델 평가 방식인 IID(Independent and Identically Distributed) 환경에서는 드러나지 않는다. IID 환경은 학습셋과 시험셋이 동일한 분포를 가진다는 가정하에, 동일한 악성코드 패밀리가 학습과 평가 모두에 포함된다. 이로 인해 모델이 학습 단계에서 학습한 비본질적인 패턴이 시험셋에도 그대로 나타나게 되며, 모델은 이를 기반으로 높은 성능을 보일 수 있다. 그 결과, 실제 환경에서의 일반화 성능에 비해 평가 결과가 과도하게 높게 나타나는 과대평가의 문제가 발생한다.
악성코드 탐지 환경은 새로운 공격 유형과 패밀리가 지속적으로 등장하는 동적인 환경이므로[3], 학습에 사용된 분포와 실제 적용 대상 사이에 분포 차이가 발생하는 것이 일반적이다[4]. 이에 학습한 패밀리만 이용해 성능을 평가하는 IID 환경은 실제로 마주하게 될 새로운 패밀리에 대한 탐지 성능을 반영하지 못해 모델의 일반화 성능을 과대평가하는 문제가 발생한다.
이러한 IID 환경에서의 문제는 비단 악성코드 도메인에서만 국한되는 것이 아니다. 최근 연구들은 현실 환경에서의 모델 성능을 신뢰성 있게 평가하기 위해 OOD(Out-of-distribution) 환경에서의 일반화 중요성을 강조하고 있다[5]. OOD 환경에서의 평가는 모델이 훈련 과정에서 관측하지 않은 데이터에 얼마나 잘 대응할 수 있는지를 측정함으로써, 과대평가된 성능의 한계를 보완하고 실제 응용 가능성을 더욱 정확히 판단할 수 있게 한다.
이에 본 연구에서는 패밀리 분포에 따른 모델의 일반화 성능을 IID 환경과 OOD 환경에서 모두 평가하여 패밀리 구성 방식이 모델의 일반화 성능에 어떤 영향을 미치는지 체계적으로 분석한다. 구체적으로는, 악성코드 패밀리의 중복 수준과 다양성 수준을 조절하여 학습셋을 구성한 뒤, IID 환경과 OOD 환경에서 각각 평가한다. IID 환경에서의 평가를 통해 해당 평가 방식이 모델의 일반화 성능을 과대평가할 수 있음을 보이고, OOD 환경에서의 평가를 통해 패밀리 일반화 성능 간에 관계를 체계적으로 분석한다.
본 연구는 악성코드 탐지 모델 학습 시 패밀리 분포를 체계적으로 조정하여, 기존 방식으로는 드러나지 않았던 패밀리 분포와 성능 간의 관계를 실증적으로 규명한다. 또한, IID 환경뿐만 아니라 현실적인 OOD 환경 기반 평가를 통해 기존 연구에서 간과된 성능 평가 방식의 중요성을 조명하며, 향후 신뢰할 수 있는 탐지 모델 개발과 평가 기준을 제시하는 데 기여한다.
II. 관련 연구
기계학습을 이용한 악성코드 연구는 크게 이진 분류와 다중 분류로 나눌 수 있다. 분류 방식에 따라 학습을 위한 데이터셋의 구성 방식이 달라지므로, 두 방식의 개념과 목적을 비교하여 이해할 필요가 있다. 이어서, 본 연구의 초점인 이진 분류 기법에 관한 기존 연구 동향과 한계를 고찰한다.
이진 분류는 악성 여부가 판단되지 않은 샘플에 대해, 해당 샘플이 악성인지 여부를 판별하는 것을 목표로 하는 반면, 다중 분류는 악성코드를 대상으로 세부 정보를 제공하는 것을 목표로 한다[6]. 세부 정보에는 크게 행위 타입과 패밀리가 있는데, 행위 타입은 백도어, 랜섬웨어 등 악성코드의 행위적 특성을 의미하며, 패밀리는 Emotet, Ramnit과 같이 유사한 악성코드들을 그룹화한 명칭을 지칭한다[7]. 본 논문에서는 각 분류 기법들을 악성 분류, 행위 분류, 패밀리 분류로 통칭한다.
학습에 적용하는 분류 기법에 따라 데이터셋 구축 전략 또한 달라진다. 악성 분류의 경우, 악성과 정상 간의 차이를 학습해야 하므로 악성코드뿐만 아니라 정상코드 또한 함께 수집해야 한다[8]. 행위 분류는 서로 다른 행위 유형 간의 차이를 학습해야 하므로, 다양한 행위에 해당하는 악성코드를 균형 있게 확보하는 것이 중요하다[9]. 마지막으로, 패밀리 분류는 서로 다른 패밀리를 구분하기 위해 각 패밀리의 고유한 특징을 학습하는 것을 목적으로 하므로, 각 패밀리에 속한 악성코드를 충분히 수집하는 것이 요구된다[10].
악성 분류와 행위 분류는 특정 패밀리의 고유한 특징을 학습하는 것이 아니라, 여러 악성코드 간의 구조적 특성을 파악하는 데 초점을 둔다. 따라서, 학습되지 않은 새로운 패밀리에 대해서도 탐지가 가능하다. 반면, 패밀리 분류는 각 패밀리의 고유한 특성을 학습하는 방식이므로, 학습 단계에서 관측되지 않은 패밀리를 예측하는 것은 불가능하다. 이는 모델의 출력이 학습한 패밀리로 고정되기 때문이다.
따라서 패밀리 분류를 실제 보안 시스템에 적용하기 위해서는 가능한 많은 패밀리를 학습해야 한다. 그렇지만, 클래스 수가 증가할수록 클래스 불균형 문제를 다루기 어려워질 뿐만 아니라 대규모 데이터셋 구축과 정확한 라벨링을 위한 많은 자원이 요구된다. 예로, Mohammed 외 4인은 패밀리 분류를 위해 백만 개의 악성코드를 학습했다[11].
반면, 악성 분류와 행위 분류는 특정 패밀리의 고유한 특성을 학습하는 것이 아니므로, 학습 단계에서 관측되지 않은 패밀리에 대해서도 일반화된 예측이 가능하다. 그렇지만, 이들 분류 방식 또한 학습셋의 패밀리 구성을 고려하지 않으면, 일반화 성능이 저하될 수 있다. 예를 들어, 특정 패밀리가 전체 악성코드 데이터셋의 30%를 차지할 경우, 모델이 해당 패밀리에서 자주 나타나는 특이 패턴에 과대적합하게 될 위험이 있다.
그렇지만, 기존 연구들은 이러한 패밀리 분포를 고려하지 않고, 어떤 특징을 추출할지와 모델의 알고리즘만 고려했다. 이에 본 연구에서는 데이터셋 내의 패밀리 구성이 모델의 일반화 성능에 주는 영향을 분석한다. 문제의 복잡성을 줄이기 위해, 본 연구에서는 이진 분류에 해당하는 악성 분류를 중심으로 연구를 수행했다.
III. 이론적 배경
기존 연구들은 높은 정확도를 보고하고 있지만, 이는 연구실 환경에서 측정된 결과이기 때문에 실제 환경에서도 동일한 성능이 유지된다고 보기는 어렵다. 본 장에서는 기존 연구들이 간과한 성능 저하 가능성에 대한 이론적 배경으로서, 패밀리 중복과 다양성 문제를 고찰한다.
3.1 IID와 OOD 일반화 개념
기계학습 모델의 일반화 성능이란, 학습 단계에서 관측되지 않은 새로운 샘플에 대한 예측 능력을 의미한다. 일반화 성능을 측정하기 위한 시험셋은 일반적으로 학습셋과 통계적으로 동일한 확률분포로부터 독립적으로 추출되었다는 것을 전제하며, 이를 IID 환경이라고 한다. 대부분의 연구들은 이와 같은 이상적인 가정하에서 모델의 성능을 측정한다. 그렇지만, 이는 실제 모델의 적용 환경과의 차이를 간과한 평가일 수 있다.
최근에는 모델이 학습 단계에서 관측하지 못한 분포, 즉 OOD 환경에서의 일반화 성능 평가가 주목받고 있다[5]. OOD 환경에서는 모델이 학습 중에 접하지 않은 새로운 유형에 직면하게 되며, 이는 실제 서비스 환경에서의 불확실성과 다양성을 더 잘 반영할 수 있다. 따라서 OOD 환경은 모델이 진정한 일반화 능력을 갖추었는지 검증하기 위한 더욱 현실적인 기준으로 간주되며, 악성코드 탐지와 같은 실제적용 환경이 빠르게 변화하는 도메인에서 특히 중요하다.
실제로, Xu 외 2인은 Android 악성코드 탐지에서 시간순으로 분할된 테스트셋을 활용하여 모델 성능을 평가한 결과, IID 환경에서는 95% 이상의 높은 정확도를 기록했으나, OOD 환경에서는 성능이 70% 이하로 급격히 하락하는 현상이 관찰되었다[12]. 이는 시간 경과에 따라 악성코드의 특성이 변화하며, 과거 데이터를 기반으로 학습된 모델이 새로운 유형의 악성코드에 대해 일반화되지 못함을 시사한다.
Tang 외 5인은 Android 악성코드의 진화를 계통학적으로 분석하며, 기존 탐지 모델이 새롭게 출현한 변종들에 대해 일반화 성능이 현저히 떨어진다는 점을 실증적으로 입증했다[2]. 특히, 수많은 악성코드 샘플이 기존 패밀리 내에서 지속적으로 진화하며 새로운 변종으로 나타나고 있으며, 이 변종들은 기존 탐지 모델이 학습한 특징과 다른 새로운 행태를 보임으로써 탐지를 회피한다는 사실을 밝혔다. 이 연구는 OOD 환경에서 기존 모델의 탐지 성능이 급격히 감소하는 근본 원인을 악성코드의 구조적 진화와 시계열적 분포 변화로 설명하며, IID 기반 성능 평가만으로는 실제 환경에서의 탐지 성능을 신뢰할 수 없음을 강조한다.
이와 같은 사례는 보안 도메인에서 IID 기반 평가가 현실을 충분히 반영하지 못하며, 모델이 특정 패밀리에 특화된 비본질적인 특성에 과도하게 의존하도록 만들 수 있음을 보여준다. 따라서 악성코드 탐지 모델의 일반화 성능을 신뢰성 있게 평가하기 위해서는, OOD 환경을 고려한 실험 설계가 필수적이며, 데이터셋의 분포 구성과 분할 기준에 대한 명확한 정의가 선행되어야 한다.
3.2 데이터 편향과 스퓨리어스 큐
기계학습 모델의 일반화 성능을 저해하는 핵심 원인 중 하나는 데이터 편향이다. 편향이란 특정 클래스, 속성, 혹은 패턴이 데이터셋 내에서 과도하게 반복적으로 나타나는 현상을 의미한다. 모델은 통계적 특성에 기반해 학습하기 때문에, 실제로 의미 있는 정보보다 단순히 빈도가 높은 표면적 패턴을 더 중요하게 학습하는 경향이 있다.
예를 들어, 특정 패밀리에서 자주 등장하는 API 호출이나 고유 문자열이 데이터셋 내에 비정상적으로 많이 포함되어 있으면, 모델은 이를 악성의 신호로 오인할 수 있다[13]. 이와 같이 실제 인과관계가 존재하지 않음에도 불구하고, 특정 데이터 분포 내에서는 높은 상관성을 보이는 비본질적 신호를 스퓨리어스 큐(spurious cues) 라고 한다[14].
그렇지만, 모델이 스퓨리어스 큐를 학습하더라도 IID 환경에서는 학습셋과 시험셋이 동일한 분포에서 추출되었기 때문에 높은 정확도를 기록할 수 있다. 실제로 최근 연구들은 고성능을 보이는 많은 AI 모델들이 본질적 개념이 아니라 데이터셋 내부의 지름길(shortcut)에 의존한 결과라는 점을 지적하고 있다[15]. 이러한 지름길은 표준 벤치마크에서는 높은 성능을 보이지만, 분포가 조금만 바뀌어도 성능이 급격히 하락하는 경향이 있으며, 이는 스퓨리어스 큐의 전형적인 사례로 해석된다[16].
이와 같은 사례는 악성코드 탐지 도메인에서도 나타나며, 학습 분포와 시험 분포 간의 차이를 고려하지 않은 모델은 현실 환경에서의 탐지 성능을 신뢰하기 어렵다. 따라서 데이터셋을 구성할 때는 편향 요소를 사전에 점검하고, 특정 패턴에 과도하게 의존하지 않도록 설계하는 것이 중요하며, OOD 환경에서의 평가가 모델의 일반화 능력을 더욱 명확하게 드러낼 수 있다.
3.3 악성코드 데이터셋의 구조적 문제
악성코드 패밀리는 코드 구조나 행위가 유사한 악성코드 샘플들의 집합을 의미한다. 일반적으로 동일한 제작 도구나 유사한 공격 기법을 공유하는 경우 같은 패밀리로 분류된다. 대부분의 악성코드는 특정 패밀리에 속하며, 특정 소수의 패밀리가 과도하게 중복되어 데이터셋이 편향되는 경향이 있다. 이러한 패밀리 중복은 모델이 해당 패밀리의 특징을 과도하게 학습하게 만들며, 전반적인 일반화 성능 저하를 초래하는 구조적 편향이 될 수 있다.
악성코드 패밀리는 많은 정보를 공유하기 때문에 패밀리 중복은 무의미한 특징들을 반복하게 하여 스퓨리어스 큐 학습을 유발한다. 예로, 특정 문자열, 컴파일러 정보, 섹션 이름 등 비본질적 특성에 과적합하게 한다. 결과적으로, 새로운 패밀리나 구조적 특성이 다른 악성코드에 대해서는 탐지에 실패하게 된다.
그렇지만, IID 환경에서는 이러한 문제점이 드러나지 않는다. 스퓨리어스 큐를 학습한 모델이라도, 학습셋과 시험셋에 동일한 패밀리가 포함되어 있다면 이를 쉽게 탐지하여 높은 성능을 보이게 된다. 반면, 학습하지 않은 패밀리로 구성된 OOD 환경에서 성능을 측정하면, 모델의 일반화 한계가 드러나며 성능이 급격히 하락할 수 있다.
실제로 Kolosnjaji 외 3인은 특정 패밀리들이 유사한 행위를 보일 경우 모델이 혼동할 수 있음을 보여주었으며, 이는 학습셋 내 편향된 패밀리 구성에 따라 모델 성능에 영향을 줄 수 있음을 시사한다[17]. 또한, Demetrio 외 4인은 모델이 본질적인 악성 행위보다는 특정 구조적 신호에 의존하게 되어, 새로운 유형의 악성코드에 대해 탐지 성능이 현저히 저하될 수 있음을 실험적으로 입증했다[18].
결론적으로, 학습셋 내 패밀리 중복은 모델이 일반화할 수 있는 악성 행위의 핵심 패턴을 학습하는 대신, 특정 패밀리에 특화된 스퓨리어스 큐에 과도하게 의존하도록 유도하는 구조적 편향의 주요 원인이다. 따라서 악성코드 탐지 모델의 일반화 성능을 높이기 위해서는 학습셋의 패밀리 구성에 있어 다양성과 균형을 확보하는 것이 필수적이며, 평가 환경 또한 패밀리 중복을 최소화하도록 설계되어야 한다.
IV. 실험
4.1 실험 개요
본 장에서는 패밀리 구성 방식이 모델의 일반화 성능에 미치는 영향을 분석하기 위한 실험 내용을 설명한다.
4.1.1 실험 목적 및 방법
일반화 성능이란, 학습셋의 구조적 특성을 일반화하여 학습 단계에서 관측하지 않은 새로운 샘플에 대해 정확하게 예측할 수 있는 능력을 의미한다. 본 연구에서는 악성코드 탐지 모델의 일반화 성능이 패밀리 구성 방식에 따라 어떻게 달라지는지를 분석하는 것을 목표로 한다. 특히, 대부분의 악성코드가 기존 악성코드의 변종으로 구성되어 있어, 모델 성능이 과대평가 될 수 있다는 한계를 고려하여 체계적이고, 정밀한 실험을 설계한다.
본 연구는 악성코드 탐지 모델의 일반화 성능이 변종으로 인해 과대평가될 수 있음을 고려하여, IID 환경과 OOD 환경을 명확히 구분해 모델의 일반화 성능을 더욱 신뢰성 있게 평가한다. IID 환경은 학습에 사용된 패밀리가 시험셋에도 포함되는 환경으로, 변종으로 의한 과대평가 가능성을 확인하기 위함이다. 반면, OOD 환경은 학습에 포함되지 않은 새로운 패밀리로 시험셋을 구성하여 실제 환경을 더욱 현실적으로 반영한다.
첫 번째 실험은 패밀리 중복이 일반화 성능에 미치는 영향을 분석한다. 일반적으로 중복 샘플이 모델의 과대적합을 유발할 수 있다는 점은 잘 알려져 있다. 그렇지만, 패밀리는 완전히 동일한 샘플이 반복되는 것이 아니라, 특정 행위나 구조적 특성을 공유하는 변종들의 집합으로 구성된다. 따라서, 이러한 유사 샘플 간의 중복이 단순히 과대적합으로 이어지는지, 혹은 오히려 특정 패밀리에서 공통적으로 나타나는 본질적인 악성 행위 패턴을 효과적으로 학습하는 데 기여하는지에 대해 분석할 필요가 있다.
두 번째 실험은 패밀리 다양성이 일반화 성능에 미치는 영향을 분석한다. 학습셋에 포함된 패밀리 수가 적을 경우, 모델이 다양한 악성코드 유형에 대한 구조적 특성을 일반화하지 못해 새로운 샘플에 대한 예측 능력이 떨어진다. 반대로, 다양한 패밀리를 학습한 모델은 더욱 폭넓은 패턴을 학습할 수 있으며, 실제 환경에서 더욱 안정적인 탐지 성능을 기대할 수 있다.
두 실험 모두 IID와 OOD 환경을 명확히 구분하여 성능을 측정했다. 이를 통해 기존 IID 환경에서의 일반화 성능이 얼마나 과대평가 되는지를 부각하고, OOD 환경에서의 성능 평가를 통해 패밀리 구성 방식에 따라 일반화 성능이 어떻게 달라지는지 비교 분석했다.
4.1.2 실험 환경
실험을 위해 3가지 도구를 사용한다. 첫 번째로 쿠쿠 샌드박스(Cuckoo Sandbox)는 프로그램을 격리된 환경에서 실행시켜 행위 정보를 수집해주는 도구이고[19], 두 번째로 VirusTotal은 입력된 프로그램에 대하여 70개가 넘는 백신의 진단 결과를 보고서로 반환해주고[20], 마지막으로 AVClass는 VirusTotal의 결과를 입력으로 받아 빈도가 가장 높은 라벨을 기반으로 패밀리를 할당해주는 도구이다[21].
악성코드로부터 추출할 수 있는 정보는 크게 정적 정보와 동적 정보로 구분된다. 정적 정보는 악성코드 파일을 실제로 실행하지 않고 파일 자체에서 추출할 수 있다는 장점이 있으나, 패킹(packaging)이나 난독화(obfuscation)와 같은 분석 방해(Anti-analysis) 기법에 의해 쉽게 변형될 수 있다는 한계가 있다. 그렇지만, 난독화 기법은 프로그램의 실제 기능에는 영향을 미치지 않으므로, 동적 정보를 수집하여 해당 한계를 극복할 수 있다.
동적 정보는 악성코드를 실제로 실행하여 수집한 정보를 의미한다. 이러한 동적 정보를 수집하기 위해서는 외부와 격리된 안전한 환경에서 악성코드를 실행할 수 있는 환경의 구축이 필수적이다. 또한, 실행 환경에 따라 프로그램의 실행 흐름이 달라질 수 있으므로, 모든 샘플을 동일하고 통제된 환경에서 실행하는 것이 중요하다. 본 연구에서는 Cuckoo Sandbox가 제공하는 가상머신 스냅샷(snapshot) 기능을 활용하여, 모든 악성코드 샘플을 동일한 초기 환경에서 실행하고 동적 정보를 일관되게 수집했다.
본 연구에서는 Cuckoo Sandbox를 통해 API(Application Programming Interface) 호출 정보를 추출한다. API 호출 정보는 프로그램 실행 중 발생하는 시스템 호출(예: 파일 접근, 레지스트리 조작, 네트워크 통신 등)에 대한 상세한 로그를 포함한다. 이 정보는 악성코드의 동작 특성을 파악하는 데 핵심적인 역할을 하며, 본 연구의 실험에서 모델 학습 및 분석 과정에서 주요한 특징으로 활용된다.
악성코드와 정상코드 샘플은 VirusShare 사이트에서 수집했다[22]. 수집한 샘플을 VirusShare에서 VirusTotal에 입력했을 때 70개의 백신중 50개 이상이 악성으로 판단하면 악성코드로, 어떠한 백신도 악성이라 판단하지 않으면 정상코드로 분류했다. 또한, 쿠쿠 샌드박스를 통해 실행시켰을 때, 최소 10개 이상의 API를 호출한 프로그램만 선별하여 정상적으로 실행되지 않은 프로그램을 제외했다. 그 결과, 악성코드는 28,714개, 정상코드는 906개가 수집됐다.
AVClass를 이용해 28,714개 악성코드에 패밀리 라벨을 할당한 결과, 총 1,996개의 패밀리 라벨이 할당되었고, 패밀리에 포함된 샘플 수가 가장 많은 상위 10개를 Table 1에 제시했다. Table 1을 보면, ramnit 패밀리는 전체 28,714개 샘플 중 7.1%를 차지하여 다른 패밀리에 비해 비중이 매우 큰 것을 확인할 수 있다.
Table 1. Top 10 Families by Size

나머지 패밀리들의 크기 분포를 분석하기 위해, Table 2와 같이 히스토그램을 작성했다. 대부분의 패밀리가 적은 수의 샘플만을 포함하고 있으며, 샘플수가 많은 패밀리는 급격히 줄어드는 long-tail 분포의 특성을 보인다. 이러한 특성을 고려하여, 구간 간격은 균등하게 설정하지 않고 비균등 간격을 적용했다. 특히, 데이터가 밀집된 하위 구간에서는 더욱 세분화된 간격을, 반대로 데이터가 드문 상위 구간에서는 넓은 간격을 사용함으로써 전체 분포를 더욱 정확하게 시각화하고자 했다.
Table 2. Family Distribution by Size Range

4.1.3 실험 설계
실험의 핵심은 학습셋의 패밀리 분포(패밀리 중복 및 다양성 수준)가 일반화 성능에 미치는 영향을 분석하는 것이다. Table 1과 Table 2를 통해, 전체 데이터셋에서 소수의 패밀리에 샘플이 과도하게 중복되어 있음을 확인할 수 있었다. 실제 데이터셋의 81.46%의 패밀리는 4개 이하의 샘플만을 보유하고 있음에도 불구하고, 일부 상위 패밀리에 편중되어 있어 다수 패밀리의 정보가 학습에 충분히 반영되지 못하는 문제가 발생한다. 이에 본 연구에서는 이러한 상위 패밀리 중심의 중복 구조가 모델의 일반화 성능에 미치는 영향을 분석하고, 다양한 패밀리를 조합했을 때 패밀리 다양성이 일반화 성능에 어떠한 기여를 하는지 체계적으로 평가하고자 한다.
이때, 모델이 과대평가 되는 상황을 고려하여 시험셋을 IID 환경과 OOD 환경을 명확히 구분했다. 구체적으로는, 실험 1과 실험 2는 모두 동일한 모델을 대상으로, IID 환경과 OOD 환경을 대표하는 시험셋을 구축하여 모델의 일반화 성능을 비교 평가했다. 이를 통해, IID 환경에서는 모델 성능이 실제보다 높게 평가될 가능성을 탐색할 수 있으며, OOD 환경에서는 더욱 현실적인 일반화 성능이 드러날 수 있다.
IID 환경은 학습셋과 시험셋이 동일한 분포를 갖는 이상적인 조건을 의미한다. 즉, 학습셋과 시험셋에 동일한 패밀리로 구성해야 한다. 일반적으로는 하나의 데이터셋을 무작위로 분할하는 것을 통해 학습셋과 시험셋 모두에서 패밀리 종류뿐만 아니라 각 패밀리의 비율까지 유사하게 유지될 수 있다. 다만, 패밀리 내의 샘플이 1개밖에 없는 경우 해당 샘플을 중복 추출하여 학습셋과 시험셋 모두에 할당하도록 했다.
이는 IID 환경과 OOD 환경의 차이를 명확히 구분하기 위함이다. 만약 IID 환경에서 샘플 수가 1개 뿐인 패밀리가 시험셋에만 포함될 경우, 해당 샘플은 학습되지 않은 상태에서 평가되므로, 형식적으로는 IID 환경이지만 실질적으로는 OOD 환경에서의 성능을 측정하는 상황이 발생하게 된다. 따라서, 본 연구에서는 해당 샘플을 중복 포함시키는 방식을 적용했다. 이때 중복 포함된 샘플의 수는 총 1,416개이며, 이는 전체 28,714개 악성코드 샘플 중 일부에 불과하므로 성능에 미치는 영향은 제한적이다.
이러한 방식은 모델이 이미 관측한 데이터가 시험셋에 주어지기 때문에 모델의 성능이 과대평가 되었을 가능성을 시사한다. 그렇지만, 본 연구의 핵심 목적은 절대적인 성능 수치 자체가 아니라, 데이터셋의 패밀리 중복 및 다양성이라는 요인이 모델의 일반화 성능에 미치는 상대적인 변화를 실증적으로 분석하는 데 있다.
반면, OOD 환경은 시험셋이 학습셋과 다른 분포를 가지는 상황을 의미한다. 같은 패밀리에 속하는 악성코드들은 약간의 변형만 가해져 동일한 분포에 속할 확률이 높으므로 시험셋은 학습셋에 포함되지 않은 패밀리로만 시험셋을 구성했다. 또한, 특정 패밀리에 대한 탐지 성능이 중복해서 반영되는 것을 방지하기 위해 각 패밀리에서 무작위로 단 하나의 샘플만을 추출하여 포함시켰다. 모든 샘플을 포함할 경우, 탐지 성능이 소수의 대형 패밀리에 의해 좌우되고, 소규모 패밀리의 성능은 거의 반영되지 않는 문제가 발생할 수 있기 때문이다.
실험의 재현성과 신뢰성을 확보하기 위해, 본 연구에서는 악성코드 패밀리를 매 실험마다 무작위로 학습셋과 시험셋을 분할했다. 이를 통해 각 실험 반복 시마다 다른 구성의 학습셋과 시험셋을 사용함으로써, 특정 데이터 구성에 의존하지 않고 구성 방식이 모델 성능에 미치는 영향을 더 신뢰성 있게 평가할 수 있도록 했다. 모든 실험은 동일한 설정 하에 3회 반복 수행했으며, 결과는 평균값으로 제시하여 실험의 신뢰성을 확보하고자 했다.
실험의 용이성을 고려해 학습셋에 1,024개 패밀리를, 시험셋에 972개 패밀리를 할당했다. 왜냐하면, 실험에서 패밀리 중복 및 다양성에 관한 변수를 4의 배수로 증가하며, 최대 1,024로 설정하기 때문이다. 정상코드는 악성코드의 비율과 일관성 있게 맞추기 위해 샘플 단위로 5:5로 분할하여 학습셋에 453개, 시험셋에 453개가 할당된다.
학습 모델로는 결정트리를 사용하였으며, 성능 평가지표로는 정확도와 F1 점수를 측정하였다. 정확도를 통해 모델의 전반적인 분류 성능을 평가하고, 악성코드와 정상코드 각각에 대해 F1 점수를 산출함으로써 클래스별 예측 성능을 더욱 정밀하게 분석하였다.
4.2 실험 1: 패밀리 중복에 따른 일반화 성능 분석
본 실험의 목적은 학습셋 내 소수의 패밀리가 과도하게 중복될 경우, 모델이 해당 패밀리 고유의 비본질적인 특징(spurious cues)을 학습하게 되어 일반화 성능이 저하될 수 있는지 분석하는 것이다. 이를 위해 패밀리당 샘플 수의 상한선(N)을 설정하고, 이를 점진적으로 증가시킴으로써 패밀리 중복 수준이 높아질수록 모델 성능이 어떻게 변하는지를 관찰했다.
실제 악성코드 데이터셋은 소수의 패밀리에 편향되는 불균형한 구조를 가지며, 본 실험은 이러한 현실을 반영한 상태에서 패밀리 불균형이 일반화 성능에 미치는 영향을 분석하도록 설계되었다. 따라서 모든 패밀리에서 균등한 샘플 수를 강제하지 않고, 단지 상한선(N)만을 적용하는 방식으로 실험을 구성했다. 즉, 각 패밀리에서 샘플 수가 N보다 많으면 N개를 무작위로 추출하고, N보다 적은 경우에는 해당 패밀리의 모든 샘플을 사용했다.
실험을 위해 각 패밀리로부터 추출할 샘플 수를 변수 N으로 설정하고, 초기값 1에서 시작해 매 단계마다 2의 거듭제곱 단위(20, 22, 24, 26, 28, 210)로 증가시켰다. 이를 통해 패밀리 중복 정도를 일정한 간격으로 조절하면서, 중복 수준 변화에 따른 모델 성능의 변화를 체계적으로 분석할 수 있도록 했다.
N의 최대값을 1,024로 제한한 이유는, Table 1에서 확인할 수 있듯이 1,996개 패밀리 중 1,024개 이상의 샘플을 가진 패밀리는 단 6개뿐이기 때문이다. 각 패밀리로부터 샘플을 추출하는 방법은 샘플 수가 N보다 많으면 N개만큼 무작위로 추출하고, N보다 적으면 해당 샘플들을 모두 추출한다.
4.2.1 일반화 성능 측정 (IID vs OOD)
실험 결과는 Fig. 1과 Fig. 2와 같다. Fig. 1은 IID 환경에서 성능을 측정한 것이고, Fig. 2는 OOD 환경에서 성능을 측정한 것이다. 그림에서 x축은 학습셋에서 패밀리당 추출한 샘플 수(N)를 나타내며, y축은 모델 성능을 의미한다. 모델 성능은 정확도, 악성코드 F1 점수, 정상코드 F1 점수를 측정했다.

Fig. 1. Performance Evaluation by Family Overlap (IID Setting)

Fig. 2. Performance Evaluation by Family Overlap (OOD Setting)
먼저, Fig. 1을 보면, IID 환경에서는 N이 증가함에 따라 악성코드에 대한 F1 점수는 상승하지만, 정상코드에 대한 F1 점수는 점진적으로 감소하는 경향을 보인다. 반면, Fig. 2에서는 IID 환경과는 다른 양상이 나타나는데, N이 소량 증가하면 모델의 정확도 및 F1 점수가 소폭 향상되었으나, 일정 수준 이상 중복이 심화되면 오히려 성능이 하락하는 것을 확인할 수 있다.
4.2.2 실험 1 고찰
실험 1에서는 패밀리 중복이 모델의 일반화 성능에 유의미한 영향을 미치는 것을 확인할 수 있었다. 특히 주목할 점은, 악성코드 패밀리 중복이 심화될수록 일반화 성능이 OOD 환경에서 항상 감소한 것이 아니라, 일정 수준의 중복에서는 오히려 성능이 향상되었다는 점이다. 이는 악성코드 패밀리가 완전히 중복된 샘플의 집합이 아니라, 유사한 구조를 가진 변종들의 집합이기 때문에, 일정 수준의 중복이 패밀리 내에서 공통적인 본질적 행위를 학습하는데 도움이 되었을 가능성이 있다.
그렇지만, 중복 정도가 일정 수준을 넘으면 오히려 성능이 떨어지는 것을 확인할 수 있다. 구체적으로는, 패밀리별로 추출하는 샘플 수가 26개 이상일 때부터 모델의 성능이 감소하는 것을 확인할 수 있는데, 이는 Table 2를 보면, 그 이유를 알 수 있다. Table 2에서 패밀리 내의 샘플이 1~64개 까지의 패밀리 비율이 전체의 96%를 차지하는 것을 확인할 수 있는데, 이는 N이 64보다 큰 경우는 오직 4%의 패밀리에서만 추출이 되며, 이는 소수의 패밀리에 편향된 중복이 모델의 일반화 성능을 저하시키는 명확한 근거가 된다.
이는 일정 크기 이상의 샘플을 가진 패밀리는 대부분 약간의 특징만 변형된 샘플들이기 때문에 악성 행위와 상관없는 스퓨리어스 큐를 학습했을 가능성이 있다. 따라서, 악성코드 탐지 모델을 학습할 때 패밀리 중복 정도를 통제해야 함을 의미한다.
반면, 동일한 모델이 IID 환경에서는 악성코드의 F1 점수가 오히려 점진적으로 증가했다. 이는 IID 환경에서는 시험셋이 학습한 패밀리와 동일한 패밀리로 구성되어 스퓨리어스 큐에 기반한 예측이 가능했기 때문이다. 이처럼 스퓨리어스 큐에 의존하여 높은 성능을 보인 경우는 실제 환경에서는 기대하기 어려우므로, IID 환경에서의 평가는 모델의 일반화 성능을 과대평가할 수 있음을 시사한다.
정상코드에 대한 F1 점수의 경우 IID 환경과 OOD 환경 모두에서 감소했다. 이는 특정 패밀리에서 반복적으로 나타나는 특징을 모델이 스퓨리어스큐로 학습했을 것이라 추정할 수 있다. 이는 악성코드의 특성이 정상코드와 전혀 별개의 것이 아니기 때문인데, 실제로 악성코드에서 사용되는 API는 모두 정상코드에서도 동일하게 사용될 수 있으며, 악성 행위 여부는 이러한 API의 조합이나 맥락에 따라 달라진다. 즉, 이러한 특징은 실제로 악성코드의 본질적인 특성이 아님에도, 모델이 이를 악성의 주요 패턴으로 학습하면서, 유사한 패턴을 가진 정상코드까지 악성으로 오분류하는 현상이 발생했을 가능성이 있다.
4.3 실험 2: 패밀리 다양성에 따른 일반화 성능 분석
실험 2에서는 학습셋에 포함된 패밀리의 다양성이 모델의 일반화 성능에 미치는 영향을 분석한다. 일반적으로 다양한 패밀리를 학습할수록 모델은 더 다양한 구조와 행위 특성을 학습할 수 있으며, 그 결과 새로운 유형의 악성코드에 대해서도 더욱 일반화된 예측이 가능할 것으로 기대할 수 있다.
4.3.1 일반화 성능 측정 (IID vs OOD)
우선, 모델의 전반적인 성능을 분석하기 위해 모델의 정확도와 F1 점수를 측정한다. 실험을 위해 전체 1,024개의 학습용 패밀리로부터 추출할 패밀리 개수를 변수 N으로 설정하고, 1에서 시작해 매 단계 마다 4배씩 증가하도록 했다. 구체적으로는 20, 22, 24, 26, 28, 210 값을 사용했다. 그리고, 패밀리 중복의 영향을 배제하기 위해 각 패밀리로부터 하나의 샘플만을 추출하여 학습했다.
실험 결과는 Fig. 3과 Fig. 4와 같다. Fig. 3은 IID 환경에서 성능을 측정한 것이고, Fig. 4는 OOD 환경에서 성능을 측정한 것이다. 그림에서 x축은 전체 1,024개 패밀리로부터 무작위로 추출한 패밀리 수(N)를 나타내며, y축은 모델의 성능을 의미한다. 모델의 성능은 정확도, 악성코드 F1 점수, 정상코드 F1 점수를 측정했다.

Fig. 3. Performance Evaluation by Number ofFamilies (IID Setting)

Fig. 4. Performance Evaluation by Number ofFamilies (OOD Setting)
Fig. 3을 보면, 패밀리 수가 1개 또는 4개일 때 조차 정확도가 거의 100%에 근접하는 높은 성능을 보이지만, 패밀리 수가 늘어날수록 정확도가 오히려 소폭 감소하는 것을 확인할 수 있다. 반면, Fig. 4와 같이 OOD 환경에서는 패밀리 수가 증가함에 따라 모델의 전반적인 성능이 꾸준히 향상되는 양상을 보이는 것을 확인할 수 있다.
4.3.2 실험 2 고찰
실험 2에서는 학습에 포함되는 패밀리 수가 모델의 일반화 성능에 유의미한 영향을 미친다는 점을 확인할 수 있었다. 특히 주목할 점은, 패밀리 수가 증가할수록 OOD 환경에서 모델의 전반적인 성능이 뚜렷하게 향상된다는 사실이다. 이는 다양한 패밀리를 학습함으로써 모델이 악성코드의 일반적인 구조적 특성을 더 잘 파악하게 되어, 처음 접하는 패밀리에 대해서도 탐지 성능이 향상되었기 때문이다.
반면, IID 환경에서는 패밀리 수가 증가할수록 오히려 모델의 성능이 감소했다. 이는 학습셋과 시험셋이 동일한 분포를 가지는 IID 환경의 특성상, 패밀리 수가 적을수록 데이터의 변동성이 낮아 상대적으로 높은 성능을 보이기 때문이다. 특히, 패밀리 수가 1개일 때 OOD 환경에서는 정확도가 34%에 불과했던 반면, IID 환경에서는 거의 100%에 가까운 정확도를 기록했다. 동일한 모델임에도 성능이 이처럼 큰 차이가 나타난다는 점은, IID 환경에서의 평가는 모델의 실제 일반화 성능을 판단하기에는 분명한 한계가 있음을 보여준다.
4.3.3 고찰의 실험적 검증
실험 2에서 OOD 환경을 보면, 학습한 패밀리 수가 증가할수록 악성코드와 정상코드의 F1 점수가 모두 향상되었으며, 이를 통해 패밀리 다양성이 모델의 일반화 성능을 높이는 데 기여함을 확인할 수 있었다. 그렇지만, 이러한 성능 향상이 악성코드에 대한 분류 성능이 향상된 결과인지, 정상코드에 대한 분류 성능이 개선된 결과인지는 명확하지 않다. 이에 따라, 어떤 클래스에서 식별력이 더 크게 향상되었는지를 분석하기 위해 추가 실험을 수행했다.
구체적으로는 패밀리 수 증가에 따라 모델의 TP(True Positive)와 TN(True Negative) 수를 측정했다. TP는 모델이 악성으로 예측한 샘플 중 실제 악성인 경우의 수, TN은 정상으로 예측한 샘플 중 실제 정상인 경우의 수를 의미한다. 일반적으로 FP(False Positive)나 FN(False Negative) 역시 모델 성능을 이해하는 데 중요한 지표로 활용된다. 그렇지만, 본 실험에서는 TP와 TN이 전체 예측 결과의 90% 이상을 차지했으며, FP와 FN의 비중은 상대적으로 작았기 때문에 TP와 TN의 변화에 집중했다.
Fig. 5와 Fig. 6은 각각 IID 환경과 OOD 환경에서 TP와 TN을 시각화한 결과이다. 그림에서 x축은 1,024개의 패밀리로부터 추출한 패밀리 수(N)를 나타내며, y축은 샘플 개수를 의미한다. 실선은 TP, 점선은 TN을 나타낸다. 추가로, 시험셋에서 각 클래스의 샘플이 포함된 개수를 별도의 마크로 표시했는데, 악성코드는 ‘○’ 마크이고, 정상코드는 ‘△’ 마크이다. 이를 통해 전체 샘플 중 어느 정도 비율을 맞췄는지를 확인할 수 있다.

Fig. 5. TP/TN Counts by Number of Families (IID Setting)

Fig. 6. TP/TN Counts by Number of Families (OOD Setting)
Fig. 5에서 패밀리 수가 늘어날수록 ‘○’ 마크가 증가하는 것을 확인할 수 있는데, 이는 IID 환경에서의 시험셋은 학습셋과 동일한 분포를 가져야 하기 때문이다. 반면, Fig. 6.에서는 ‘○’ 마크가 972개로 고정되었는데, 이는 OOD 환경에서는 학습셋과 다른 분포를 가져야 하므로, 학습셋으로 추출한 1,024개를 제외한 나머지 972개 패밀리를 의미한다.
Fig. 5와 Fig. 6 모두에서 ‘△’ 마크로 표시된 정상 샘플 수가 453개로 일정하게 유지되는 것은 IID 환경과 OOD 환경 모두 동일한 정상코드를 평가했기 때문이다. 이를 통해 악성코드 패밀리 분포가 모델의 일반화 성능에 미치는 영향을 정확히 분석할 수 있다. 그리고, 두 그림 모두에서 점선으로 나타낸 TN 수가 정확히 일치하는데, 이는 Fig. 5와 Fig. 6이 동일한 모델을 사용했음을 의미하고, IID 환경과 OOD 환경의 일반화 성능 차이가 정상코드가 아닌 악성코드 샘플 차이에 기인함을 명확히 보여준다.
먼저, Fig. 5를 보면, IID 환경에서는 TP가 ‘O’ 마크와 거의 일치하는 것을 확인할 수 있다. 이는 모델이 시험셋에 포함된 대부분의 악성코드를 정확히 분류했음을 의미한다. 이러한 결과는 시험셋이 학습에 사용된 동일한 패밀리로만 구성되어 있어, 모델이 이미 학습한 패턴을 바탕으로 손쉽게 악성코드를 식별할 수 있었기 때문에 자연스럽다. 그렇지만, 일반화 성능은 모델이 접한 적 없는 샘플에 대해 얼마나 잘 대응할 수 있는지를 평가하는 개념이며, IID 환경에서는 이러한 약점이 드러나지 않기 때문에 평가의 실효성에 한계가 있다.
다음으로, Fig. 6을 보면 OOD 환경에서 TP의 수가 학습에 사용된 패밀리 수에 따라 뚜렷하게 증가하는 양상을 보인다. 특히, 초기에는 TP 수가 거의 0에 가까웠으나, 학습에 사용된 패밀리 수가 증가함에 따라 TP가 점진적으로 증가하여, 최종적으로는 약 900개 이상에 도달하는 것을 확인할 수 있다. 이는 학습한 패밀리 수가 적을 경우 모델이 다양한 악성코드 유형을 충분히 학습하지 못해 OOD 환경에서 악성 탐지에 실패함을 의미한다. 또한, 학습에 사용된 악성 샘플 수 자체가 적어져 클래스 불균형이 심화되며, 이 역시 악성 탐지 성능 저하의 원인으로 작용했을 가능성이 있다.
4.4 실험의 한계점
본 연구는 악성코드 탐지 모델의 일반화 성능에 있어 패밀리 분포와 OOD 평가의 중요성을 실증적으로 분석했으나, 다음과 같은 한계점이 존재한다.
첫 번째로, 모델을 학습하기 위한 특징으로 API 호출 정보만을 활용하고, 알고리즘은 결정트리만을 사용하여 제한적인 실험을 수행했다는 점에서 한계를 가진다. 이러한 설정은 실험 환경을 단순화하고 다른 요인의 영향을 최소화하기 위해 의도된 것이지만, 실제 악성코드 탐지 시스템은 파일 구조, 네트워크 트래픽 등 다양한 형태의 정보를 종합적으로 활용하는 경우가 많아 제한적인 실험이라는 한계가 있다.
두 번째로는 패밀리 라벨을 AVClass와 같은 외부 도구에 의존하여 할당했다는 점에서 한계를 가진다. AVClass는 다수의 백신에서 제공하는 탐지명을 통계적으로 취합함으로써 상대적으로 신뢰할 수 있는 라벨을 제공하지만, 근본적으로 각 백신의 탐지 결과가 부정확할 수 있어 정확성을 보장하기 어렵다. 이로 인해 같은 패밀리로 분류된 악성코드들이 다른 행위를 수행하거나, 거의 동일한 행위를 수행하더라도 다른 패밀리 라벨이 할당되는 경우가 있다.
마지막으로, OOD 환경 설계에 대해 단순히 새로운 패밀리를 할당했다는 점에서 한계를 가진다. 실제 환경에서 모델이 직면하는 분포 차이는 단순히 학습에 포함되지 않은 패밀리뿐만 아니라, 시간에 따른 악성코드의 진화, 운영체제 및 실행 환경의 다양성, 그리고 악성 행위의 새로운 구현 방식 등 다차원적인 요인에 의해 발생한다.
V. 결론
본 연구는 악성코드 탐지 모델을 학습할 때, 패밀리 중복과 다양성이라는 두 가지 요인이 모델의 일반화 성능에 미치는 영향을 실증적으로 분석했다. 특히, 실제 환경을 반영하는 OOD 환경뿐만 아니라, 대부분의 기존 연구들에서 채용하는 IID 환경에서의 성능도 측정함으로써, 기존 성능 평가 방식의 한계 역시 드러낼 수 있었다.
본 연구의 실험을 통해 일정 수준의 패밀리 중복은 모델의 일반화 성능을 향상시킬 수 있었지만, 과도한 중복은 오히려 성능 저하를 초래함을 확인할 수 있었다. 패밀리가 중복될수록 더 많은 데이터를 학습할 수 있었지만, 성능은 오히려 감소할 수 있다는 점은 단순히 학습 데이터를 많이 확보하는 것보다 패밀리 중복을 통제하는 것이 중요함을 시사한다.
또한, 본 연구에서는 패밀리 다양성이 모델의 일반화 성능에 유의미한 영향을 줄 수 있음을 실험을 통해 확인했다. 패밀리 수가 증가함에 따라, 모델은 더욱 다양한 악성코드 패턴을 학습할 수 있었고, OOD 환경에서도 성능 향상으로 이어졌다. 이는 학습 데이터의 양보다는 데이터의 다양성이 모델의 일반화 능력을 결정짓는 핵심 요인임을 보여준다.
본 연구는 공개 데이터셋이 아닌 총 28,714개의 대규모 악성코드 샘플을 직접 수집하고 실행하여 확보한 API 호출 정보를 기반으로, 패밀리 분포가 모델의 일반화 성능에 미치는 영향을 실질적으로 입증했다. 실험 결과를 통해 단순히 데이터 양을 늘리는 것만으로는 충분하지 않고, 학습셋의 분포 자체를 정교하게 설계하는 것이 중요함을 보여주었다. 이러한 결과는 악성코드 탐지 모델에 국한되지 않고, 기계학습 전반에 있어 학습셋 분포가 일반화 성능에 미치는 영향이 크다는 점을 시사한다.
향후 연구에서는 다양한 특징과 모델을 포함한 확장된 실험과 함께, AVClass와 같은 외부 도구에 의존하지 않고 실제 행위 유사성 기반의 패밀리 정의가 필요하다. 또한, 단일 기준에 기반한 OOD 구성을 넘어서, 시간 기반, 행위 기반, 환경 기반 등 다양한 관점에서 OOD 시나리오를 설계하고 이를 체계적으로 비교 평가할 수 있는 실험 프레임워크 구축이 필요하다. 이는 더욱 현실적인 일반화 성능 평가를 가능하게 하고, 실제 배포 환경에서 신뢰성 있는 탐지 시스템 개발로 이어질 수 있다.
References
- R. Jordaney, K. Sharad, and L. Cavallaro, "Transcend: detecting concept drift in malware classification models," Proceedings of the 26th USENIX Security Symposium (USENIX Security), pp. 625-642, Aug. 2017.
- L. Tang, X. Chen, and Y. Xiang, "Demystifying the evolution of android malware variants," IEEE Transactions on Dependable and Secure Computing, vol. 21, no. 4, pp. 3324-3336, Jul. 2024. https://doi.org/10.1109/TDSC.2023.3325912
- F. Parisi, C.V. Giuffrida, and A. Continella, "Robust machine learning for malware detection over time," Proceedings of the 1st Workshop on Secure and Trustworthy Behavior Mining (STBM 2022), CEUR Workshop Proceedings, vol. 3244, pp. 1-8, Aug. 2022.
- M. Alam, R. Fieblinger, and N. Rastogi, "MORPH: Towards automated concept drift adaptation for malware detection," arXiv preprint arXiv:2401.01039, Jan. 2024.
- H. Yu, Z. Zhang, and Y. Liu, "A survey on evaluation of out-of-distribution generalization," arXiv preprint arXiv:2402.02521, Feb. 2024.
- I.T. Ahmed, M. Saeed, and A. Dehghantanha, "Binary and multi-class malware threads classification," Applied Sciences, vol. 12, no. 24, Dec. 2022. https://doi.org/10.3390/app122412528
- B.T. Hammad, M. Shoaib, and A. Dehghantanha, "Robust malware family classification using effective features and classifiers," Applied Sciences, vol. 12, no. 15, Aug. 2022. https://doi.org/10.3390/app12157877
- E. Amer and I. Zelinka, "A dynamic windows malware detection and prediction method based on contextual understanding of API call sequence," Computers & Security, vol. 92, 101760, May. 2020. https://doi.org/10.1016/j.cose.2020.101760
- R.S. Pirscoveanu, M. Li, and C. Lang, "Analysis of malware behavior: type classification using machine learning," Proceedings of the 2015 International Conference on Cyber Situational Awareness, Data Analytics and Assessment (CyberSA), pp. 1-7, Jun. 2015.
- A. Pektas and T. Acarman, "Classification of malware families based on runtime behaviors," Journal of Information Security and Applications, vol. 37, pp. 91-100, Dec. 2017. https://doi.org/10.1016/j.jisa.2017.10.005
- T.M. Mohammed, M. Hossain, and A. Singh, "Malware detection using frequency domain-based image visualization and deep learning," arXiv preprint arXiv:2101.10578, Jan. 2021.
- W. Xu, Y. Qi, and M.H. Gunes, "Automatically evading classifiers: a case study on PDF malware classifiers," Proceedings of the Network and Distributed System Security Symposium (NDSS), Feb. 2016.
- N. Mehrabi, F. Morstatter, and A. Galstyan, "A survey on bias and fairness in machine learning," ACM Computing Surveys, vol. 54, no. 6, pp. 1-35, Jul. 2021. https://doi.org/10.1145/3457607
- K. Xu, X. Zhang, and X. Wang, "Spurious correlations in machine learning: a survey," arXiv preprint arXiv:2402.00001, Feb. 2024.
- A. Paullada, I.D. Raji, and A. Hanna, "Data and its (dis)contents: a survey of dataset development and use in machine learning research," arXiv preprint arXiv:2012.05345, Nov. 2021.
- R. Geirhos, J.-H. Jacobsen, and F.A. Wichmann, "Shortcut learning in deep neural networks," arXiv preprint arXiv:2004.07780, Nov. 2023.
- B. Kolosnjaji, A. Zarras, and C. Eckert, "Deep learning for classification of malware system call sequences," Proceedings of the Australasian Joint Conference on Artificial Intelligence (AI), pp. 137-149, Dec. 2016.
- L. Demetrio, B. Biggio, and A. Armando, "Explaining vulnerabilities of deep learning to adversarial malware binaries," arXiv preprint arXiv:1901.03583, Jan. 2019.
- Cuckoo Sandbox, https://cuckoosandbox.org/, [Accessed: Jun 26, 2025].
- VirusTotal, https://www.virustotal.com/, [Accessed: Jun 26, 2025].
- AVClass, https://github.com/malicialab/avclass, [Accessed: Jun 26, 2025].
- VirusShare, https://virusshare.com/, [Accessed: Jun 26, 2025].