KR20220103375A - 그래디언트를 활용한 커버리지 기반의 모델 검증 방법 및 그를 위한 장치 - Google Patents

그래디언트를 활용한 커버리지 기반의 모델 검증 방법 및 그를 위한 장치 Download PDF

Info

Publication number
KR20220103375A
KR20220103375A KR1020210005880A KR20210005880A KR20220103375A KR 20220103375 A KR20220103375 A KR 20220103375A KR 1020210005880 A KR1020210005880 A KR 1020210005880A KR 20210005880 A KR20210005880 A KR 20210005880A KR 20220103375 A KR20220103375 A KR 20220103375A
Authority
KR
South Korea
Prior art keywords
model
coverage
input
vector
target
Prior art date
Application number
KR1020210005880A
Other languages
English (en)
Inventor
권태경
박래현
정수창
김재욱
Original Assignee
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 연세대학교 산학협력단 filed Critical 연세대학교 산학협력단
Priority to KR1020210005880A priority Critical patent/KR20220103375A/ko
Publication of KR20220103375A publication Critical patent/KR20220103375A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/043Architecture, e.g. interconnection topology based on fuzzy logic, fuzzy membership or fuzzy inference, e.g. adaptive neuro-fuzzy inference systems [ANFIS]
    • G06N3/0436
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Computational Mathematics (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Paper (AREA)

Abstract

그래디언트를 활용한 커버리지 기반의 모델 검증 방법 및 그를 위한 장치를 개시한다.
본 발명의 실시예에 따른 모델 검증 방법은, 기 저장된 시드 뭉치 중 하나의 분석 대상 시드를 선택하는 입력 선택 단계; 상기 분석 대상 시드를 변이시켜 입력 배치를 생성하는 입력 변이 단계; 상기 입력 배치를 대상 모델에 입력하여 상기 대상 모델에 의해 도출된 모델 결과 정보를 출력하는 대상 모델 처리 단계; 상기 모델 결과 정보를 기반으로 커버리지 벡터를 생성하는 커버리지 처리 단계; 및 상기 커버리지 벡터의 신규성 여부를 판단하고, 판단 결과에 따라 상기 커버리지 벡터에 대응하는 신규 시드를 생성하여 업데이트 처리하는 업데이트 처리 단계를 포함할 수 있다.

Description

그래디언트를 활용한 커버리지 기반의 모델 검증 방법 및 그를 위한 장치{Method and Apparatus for Verifying for Model Based on Coverage Using Gradient}
본 발명은 그래디언트를 활용한 커버리지를 기반으로 딥러닝 모델을 검증하고, 시드 뭉치를 업데이트하기 위한 방법 및 그를 위한 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 발명의 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
딥러닝 (Deep Learning)은 인공지능 및 기계학습 알고리즘 가운데서도 눈에 띄게 훌륭한 성능을 나타내며 다양한 생활 및 산업 분야에 적용되고 있다. 하지만 딥러닝 모델은 악의적인 공격자가 생성한 적대적 공격 샘플 또는 예기치 못한 입력 변화에 유연한 대처를 취하기 어렵다. 이러한 입력들은 인간의 관점에서는 식별 불가능하면서도 모델의 분류 오류를 유발하기 때문에 딥러닝의 신뢰성을 저해하는 원인이 된다. 따라서 모델의 안정성을 확보하기 위해 예기치 못한 입력에 대한 모델의 성능을 검증하는 기술이 필요하다.
일반 소프트웨어 검증과 동일하게 딥러닝 모델 검증 또한 예기치 못한 입력으로부터 검증 대상이 오류를 발생하는지를 관찰한다. 때문에 대부분의 딥러닝 모델 검증은 일반 소프트웨어 검증 방법을 기반으로 한다.
하지만, 딥러닝 모델과 일반 소프트웨어는 구조적으로 차이가 있으므로 동일한 검증 방법을 적용하기 어렵다. 예를 들어, 제약 솔버(Constraint Solver)의 접근 방법에 기반한 SMT 솔버(Satisfiability Modulo Theories Solver)의 경우 딥러닝 모델을 해석하는데 매우 복잡한 계산량을 필요로 한다. 커버리지 기반의 퍼징(Coverage Guided Fuzzing)의 경우에는 다양한 입력을 생성하여 모델의 상태 및 출력 값을 빠르게 확인하기 때문에 보다 효율적이다. 이에, 딥러닝의 구조적 특성을 고려하여 뉴런 활성화 값(Neuron Activation Value) 기반의 커버리지 측정법이 소개되고 있으나 뉴런 활성화 기반의 커버리지는 딥러닝 모델의 오류 특성을 충분히 고려하지 못한다.
본 발명은 오류와 직접적으로 관련된 커버리지를 바탕으로 딥러닝 모델의 다양한 오류 케이스를 발견할 수 있는 커버리지 기반 퍼징 방법을 통해 모델 검증을 수행하는 그래디언트를 활용한 커버리지 기반의 모델 검증 방법 및 그를 위한 장치를 제공하는 데 주된 목적이 있다.
본 발명의 일 측면에 의하면, 상기 목적을 달성하기 위한 모델 검증 방법은, 기 저장된 시드 뭉치 중 하나의 분석 대상 시드를 선택하는 입력 선택 단계; 상기 분석 대상 시드를 변이시켜 입력 배치를 생성하는 입력 변이 단계; 상기 입력 배치를 대상 모델에 입력하여 상기 대상 모델에 의해 도출된 모델 결과 정보를 출력하는 대상 모델 처리 단계; 상기 모델 결과 정보를 기반으로 커버리지 벡터를 생성하는 커버리지 처리 단계; 및 상기 커버리지 벡터의 신규성 여부를 판단하고, 판단 결과에 따라 상기 커버리지 벡터에 대응하는 신규 시드를 생성하여 업데이트 처리하는 업데이트 처리 단계를 포함할 수 있다.
또한, 본 발명의 다른 측면에 의하면, 상기 목적을 달성하기 위한 모델 검증장치는, 하나 이상의 프로세서; 및 상기 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하며, 상기 프로그램들은 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서들에서, 기 저장된 시드 뭉치 중 하나의 분석 대상 시드를 선택하는 입력 선택 단계; 상기 분석 대상 시드를 변이시켜 입력 배치를 생성하는 입력 변이 단계; 상기 입력 배치를 대상 모델에 입력하여 상기 대상 모델에 의해 도출된 모델 결과 정보를 출력하는 대상 모델 처리 단계; 상기 모델 결과 정보를 기반으로 커버리지 벡터를 생성하는 커버리지 처리 단계; 및 상기 커버리지 벡터의 신규성 여부를 판단하고, 판단 결과에 따라 상기 커버리지 벡터에 대응하는 신규 시드를 생성하여 업데이트 처리하는 업데이트 처리 단계를 포함하는 동작들을 수행할 수 있다.
이상에서 설명한 바와 같이, 본 발명은 다양한 경로의 위협으로부터 모델의 대처 능력을 분석할 수 있게 하며, 이러한 위협에 대응할 수 있도록 모델을 강화시킬 수 있는 효과가 있다.
또한, 본 발명은 모델의 정확성과 안정성을 향상시켜 모델 신뢰성을 높일 수 있으며, 딥러닝이 적용 가능한 다양한 분야와 접목시킬 수 있는 효과가 있다.
도 1은 본 발명의 실시예에 따른 모델 검증 장치를 개략적으로 나타낸 블록 구성도이다.
도 2는 본 발명의 실시예에 따른 모델 검증 방법을 설명하기 위한 도면이다.
도 3은 본 발명의 실시예에 따른 모델 검증 장치에서 입력 변이 및 그에 대한 커버리지를 생성하는 동작을 설명하기 위한 도면이다.
도 4는 본 발명의 실시예에 따른 모델 검증 장치에서 그래디언트 벡터를 생성하는 동작을 설명하기 위한 도면이다.
도 5는 본 발명의 실시예에 따른 모델 검증 장치에서 커버리지의 신규성을 확인하는 동작을 설명하기 위한 도면이다.
도 6은 본 발명의 실시예에 따른 모델 검증 장치의 하드웨어 구성을 개략적으로 나타낸 블록 구성도이다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다. 또한, 이하에서 본 발명의 바람직한 실시예를 설명할 것이나, 본 발명의 기술적 사상은 이에 한정하거나 제한되지 않고 당업자에 의해 변형되어 다양하게 실시될 수 있음은 물론이다. 이하에서는 도면들을 참조하여 본 발명에서 제안하는 그래디언트를 활용한 커버리지 기반의 모델 검증 방법 및 그를 위한 장치에 대해 자세하게 설명하기로 한다.
본 발명에서는 딥러닝 검증에서 보다 다양한 오류를 발견하기 위해 새로운 커버리지 측정법을 활용한 퍼징 기술을 제안한다. 제안 기법은 검증의 효율성을 높이기 위해 일반 소프트웨어 대상 커버리지 기반 퍼징의 시스템 구성을 기초로 한다. 커버리지 측정에 활용되는 그래디언트(gradient)는 뉴런 활성화와 다르게 입력 샘플의 실제 레이블과 모델 분류 결과를 비교한 손실 함수(loss function)에 기반하므로 오류와 직접적으로 관련된 정보를 나타낸다. 따라서, 그래디언트에 기반한 커버리지를 통해 오류와 관련성이 높은 입력들을 선택적으로 시스템에 추가하고 관리할 수 있다. 결과적으로 이런 입력 샘플들을 추가, 선택, 변이를 반복하는 과정에서 다양한 오류를 발견할 수 있게 되고, 추후 오류들을 재학습함으로써 모델의 안전성을 높일 수 있다.
도 1은 본 발명의 실시예에 따른 모델 검증 장치를 개략적으로 나타낸 블록 구성도이다.
본 실시예에 따른 모델 검증 장치(100)는 시드 뭉치 저장부(110), 입력 선택부(120), 입력 변이부(130), 대상 모델 처리부(140), 커버리지 처리부(150) 및 업데이트 처리부(160)를 포함한다. 도 1의 모델 검증 장치(100)는 일 실시예에 따른 것으로서, 도 1에 도시된 모든 블록이 필수 구성요소는 아니며, 다른 실시예에서 모델 검증 장치(100)에 포함된 일부 블록이 추가, 변경 또는 삭제될 수 있다. 한편, 모델 검증 장치(100)는 컴퓨팅 디바이스로 구현될 수 있고, 모델 검증 장치(100)에 포함된 각 구성요소들은 각각 별도의 소프트웨어 프로그램으로 구현되거나, 소프트웨어 프로그램과 연동하는 별도의 하드웨어 장치로 구현될 수 있다.
모델 검증 장치(100)는 오류와 직접적으로 관련된 커버리지를 바탕으로 딥러닝 모델의 다양한 오류 케이스를 발견할 수 있는 커버리지 기반 퍼징 방법을 기반으로 딥러닝 모델을 검증하는 동작을 수행한다.
모델 검증 장치(100)는 시드 뭉치에 포함된 하나의 반복문(iteration)에 대해 시드를 선택하고, 이를 변이시켜 대상 모델에 입력한 후 이에 대한 출력을 기반으로 커버리지 벡터를 생성하여 업데이트 처리를 수행하면서 한 입력의 변환된 테스트 입력의 결과를 분석할 수 있다.
본 실시예에 따른 모델 검증 장치(100)는 커버리지에 기반한 자동화된 검증 방법을 적용한다. 이를 통해, 모델 검증 장치(100)는 새로운 커버리지를 발견하면서 딥러닝 모델(대상 모델)의 다양한 상황을 탐색할 있으며 그 중 딥러닝 모델이 처리하지 못하는 예외 상황을 효과적으로 발견할 수 있다. 또한, 모델 검증 장치(100)는 그래디언트에 기반한 오류 정보를 활용한다. 모델 검증 장치(100)에서 그래디언트는 딥러닝의 다른 정보들과 다르게 오류와 직접적으로 연관되어있기 때문에 이를 커버리지에 활용할 경우 딥러닝의 오류를 더욱 효율적으로 유도할 수 있다. 또한, 모델 검증 장치(100)는 무작위적인 입력 변이 기법을 적용한다. 모델 검증 장치(100)는 입력 변이 함수에서 특정한 변이 방법을 적용하지 않기 때문에 하나의 입력으로부터 다양한 변형들이 생성될 수 있다. 뿐만 아니라 일반적인 적대적 공격은 하나의 입력으로부터 모델에 최적화된 하나의 공격 샘플만 생성할 수 있는 반면 본 발명에 따른 모델 검증 장치(100)는 무작위 변이를 통해 무방향성을 추구하면서도 그래디언트 기반 커버리지를 통해 오류 정보를 확인할 수 있기 때문에 적대적 공격이 발견하지 못했던 딥러닝 모델의 취약점을 발견할 수 있다.
이하, 모델 검증 장치(100)에 포함된 구성요소 각각에 대해 설명하도록 한다.
시드 뭉치 저장부(110)는 대상 모델을 검증하기 위한 시드 뭉치를 저장한다. 여기서, 시드 뭉치는 이미지 데이터, 영상 데이터, 음성 데이터, 문자 데이터 등 중 하나의 데이터에 대한 복수의 시드를 포함할 수 있다.
시드 뭉치 저장부(110)는 대상 모델의 동작에 대응하는 시드 뭉치를 저장할 수 있다. 예를 들어, 대상 모델이 이미지 분류 모델인 경우 시드 뭉치는 이미지 데이터에 대한 복수의 시드를 포함할 수 있다.
시드 뭉치 저장부(110)는 모델 검증 장치(100)에 포함된 모듈인 것으로 기재하고 있으나 반드시 이에 한정되는 것은 아니며, 시드 뭉치를 저장할 수 있는 별도의 외부 저장 장치, 데이터베이스, 클라우드 서버 등으로 구현될 수도 있다.
입력 선택부(120)는 대상 모델의 분석을 위하여 시드 뭉치 중 하나의 분석 대상 시드를 선택한다.
입력 선택부(120)는 랜덤 방식을 기반으로 시드 뭉치에 포함된 복수의 시드 중 하나의 분석 대상 시드를 선택한다.
입력 변이부(130)는 분석 대상 시드를 변이시켜 입력 배치를 생성하고, 생성된 입력 배치를 대상 모델 처리부(140)로 전달한다.
입력 변이부(130)는 적어도 하나의 변이 조건 각각을 기반으로 분석 대상 시드를 적어도 하나의 신규 단일 입력 데이터로 변환하고, 적어도 하나의 신규 단일 입력 데이터를 포함하는 입력 배치를 생성한다. 여기서, 적어도 하나의 변이 조건은 분석 대상 시드에 포함된 단일 입력 데이터를 신규 단일 입력 데이터로 변환하기 위한 조건이며, 기 설정된 조건 또는 실시간으로 입력된 조건일 수 있다. 예를 들어, 단일 입력 데이터가 단일 이미지 데이터인 경우 변이 조건은 밝기 변화, 이미지 회전, 픽셀 변환 등일 수 있다.
대상 모델 처리부(140)는 획득된 입력 배치를 대상 모델에 입력하여 상기 대상 모델에 의해 도출된 모델 결과 정보를 출력한다.
대상 모델 처리부(140)는 시드 뭉치를 분류하기 위한 딥러닝 모델에 대응하는 대상 모델을 이용하여 모델 결과 정보를 출력한다. 구체적으로, 대상 모델 처리부(140)는 적어도 하나의 신규 단일 입력 데이터를 대상 모델에 적용하여 분류 예측 결과정보 및 그래디언트 벡터를 산출하고, 산출된 분류 예측 결과정보 및 그래디언트 벡터를 포함하는 모델 결과 정보를 출력한다.
대상 모델 처리부(140)는 입력 배치에 포함된 적어도 하나의 신규 단일 입력 데이터를 신경망을 통해 분류하여 기 설정된 복수의 클래스 중 소정의 클래스에 속할 확률에 대한 특징 벡터를 포함하는 분류 예측 결과정보를 산출한다.
또한, 대상 모델 처리부(140)는 대상 모델에 대해 기 설정된 기준 레이블과 분류 예측 결과정보를 비교하여 손실 함수를 산출하고, 산출된 손실 함수를 역전파 처리하여 대상 모델에 포함된 히든 레이어 각각에서 생성되는 그래디언트를 추출하여 그래디언트 벡터를 생성한다.
대상 모델 처리부(140)에서는 그래디언트 벡터 생성을 위해 모델의 대상 레이어(layer)가 사전에 선정되어야 하며, 대상 레이어와 그 이전 레이어를 연결하는 가중치 파라미터의 그래디언트를 추출한다. 가중치 파라미터의 그래디언트를 산출하는 방법은 딥러닝에서 역전파의 개념을 활용한다. 예를 들어 이전 레이어와 대상 레이어를 연결하는 가중치들이 나타내는 입력에 대한 그래디언트를 추출하여 그래디언트 벡터를 생성할 수 있다.
대상 모델 처리부(140)는 이전 레이어(Lx)의 뉴런 출력값을 대상 레이어의 한 뉴런으로 전달하는 가중치의 그래디언트를 1차원 벡터로 표현하고, 대상 레이어의 복수의 뉴런에 대해 뉴런 개수만큼 생성된 1차원 벡터들로부터 2차원 벡터를 구성하여 그래디언트 벡터를 생성한다.
커버리지 처리부(150)는 모델 결과 정보를 기반으로 커버리지 벡터를 생성한다. 커버리지 처리부(150)는 커버리지 함수(coverage function)를 이용하여 모델 결과 정보에 포함된 그래디언트 벡터를 분석이 가능한 형태로 가공하여 커버리지 벡터를 생성한다.
커버리지 처리부(150)에서 커버리지 함수는 그래디언트 정보를 입력별로 구분하여 입력마다 그래디언트 값들을 성분으로 가지는 커버리지 벡터를 생성하며, 생성된 커버리지 벡터를 포함하는 커버리지 배치를 구성한다.
대상 모델에서 출력된 그래디언트 벡터의 형태는 대상 레이어의 구조에 따라 결정된다. 예를 들어, 합성곱 레이어(convolution layer)의 경우 합성곱 필터에 대한 그래디언트 벡터의 차원수는 (x1, x2, x3, x4)로 구성된다. 완전 연결 레이어 (fully connected layer)의 경우 이전 레이어와 대상 레이어의 뉴런수를 고려하여 그래디언트 벡터의 차원수는 (x1, x2)로 구성된다.
커버리지 처리부(150)는 업데이트 처리부(160)의 업데이트 함수에서 기존 시드 입력들과의 벡터 간 거리 측정을 원활히 하기 위해서는 커버리지 벡터의 차원수를 (x1)으로 구성해야 한다. 따라서, 커버리지 처리부(150)의 커버리지 함수에서는 대상 모델에서 추출된 모든 대상 레이어의 그래디언트 벡터의 차원수를 (x1)로 변경한다. 이후 커버리지 처리부(150)는 모든 레이어의 그래디언트 벡터를 레이어 순으로 이어붙여 하나의 커버리지 벡터를 생성한다. 이러한 과정은 변이된 입력 배치가 복수의 입력으로 구성됐을 경우 단일 입력마다 수행된다.
업데이트 처리부(160)는 커버리지 벡터의 신규성 여부를 판단하고, 판단 결과에 따라 커버리지 벡터에 대응하는 신규 시드를 생성하여 업데이트 처리하는 동작을 수행한다.
구체적으로, 업데이트 처리부(160)는 커버리지 벡터에 대응하는 분류 예측 결과정보를 기 설정된 판단 기준 레이블(ground-truth 레이블)과 비교하여 커버리지 벡터에 대한 정상 입력 또는 오분류 입력 여부를 판단하고, 판단 결과에 근거하여 커버리지 벡터의 신규성 여부를 판단한다.
업데이트 처리부(160)는 커버리지 벡터가 정상 입력으로 판단된 경우 커버리지 벡터에 대한 신규성 여부를 판단하고, 커버리지 벡터에 대한 신규성이 기 설정된 기준 이상이 경우 커버리지 벡터에 대응하는 신규 시드를 생성하여 시드 뭉치에 추가할 수 있다.
한편, 업데이트 처리부(160)는 커버리지 벡터가 오분류 입력으로 판단된 경우 커버리지 벡터에 대응하는 단일 입력이 대상 모델의 취약점인 것으로 판단하여 커버리지 벡터에 대응하는 단일 입력을 별도로 저장한다. 여기서, 업데이트 처리부(160)는 대상 모델의 취약점인 것으로 판단된 단일 입력에 대한 관련 정보를 포함하는 모델 취약 정보를 출력한다. 여기서, 단일 입력에 대한 관련 정보는 입력 배치에 포함된 신규 단일 입력 데이터, 신규 단일 입력 데이터를 생성하기 위하여 설정된 변이 조건, 오분류 판단 결과 등을 포함할 수 있다.
도 2는 본 발명의 실시예에 따른 모델 검증 방법을 설명하기 위한 도면이다.
모델 검증 장치(100)는 기 저장된 시드 뭉치를 획득하고(S210), 시드 선택 알고리즘(seed selection algorithm)를 통해 시드 뭉치(seed corpus)에 있는 복수의 코퍼스 요소(corpus element)들 중 하나의 시드를 선택한다(S220). 여기서, 복수의 코퍼스 요소는 복수의 시드를 의미하며, 선택된 시드는 분석 대상 시드를 의미한다. 복수의 시드 각각에는 선택될 확률이 설정되어 있으며, 모델 검증 장치(100)는 모든 시드에 동일한 확률(uniform probability)를 적용하여 임의성을 부여함으로써 랜덤으로 분석 대상 시드를 선택한다.
모델 검증 장치(100)는 입력 변이 함수(mutation function)를 통해 선택된 분석 대상 시드의 입력 데이터를 변환 알고리즘을 통해 변환하여 단수 또는 복수의 신규 입력 데이터를 포함하는 입력 배치를 생성한다(S230). 여기서, 변환 알고리즘은 분석 대상 시드에 포함된 단일 입력 데이터를 신규 입력 데이터로 변환하기 위한 변이 조건을 포함한다. 예를 들어, 단일 입력 데이터가 단일 이미지 데이터인 경우 변이 조건은 밝기 변화, 이미지 회전, 픽셀 변환 등일 수 있다.
모델 검증 장치(100)는 신규 입력 데이터를 대상 모델에 입력하고, 그에 따른 그래디언트(gradient) 벡터와 대상 모델의 예측 결과를 추출하고, 그래디언트 벡터와 대상 모델의 예측 결과를 포함하는 모델 결과 정보를 출력한다(S240).
모델 검증 장치(100)는 커버리지 함수(coverage function)에 의해 추출된 그래디언트 벡터를 분석이 가능한 형태로 가공한다(S250).
모델 검증 장치(100)는 신규 입력 데이터가 정상적으로 분류된 경우 업데이트 함수(update function)를 통해 커버리지의 신규성을 확인한다(S260).
모델 검증 장치(100)는 커버리지가 새롭다고 판단된 입력은 유의미한 것으로 판단하여 입력에 대한 신규 시드(새로운 코퍼스 요소)를 생성하고 시드 뭉치에 추가한다. 한편, 모델 검증 장치(100)는 커버리지가 새롭지 않은 것으로 판단된 입력은 폐기한다.
모델 검증 장치(100)는 신규 입력 데이터가 오분류를 유도했을 경우 해당 입력을 대상 모델의 크래시(취약점)로 판단하고 별도의 크래시 저장공간에 저장한다(S270).
본 발명의 실시예에 따른 모델 검증 장치(100)에서는 시드 뭉치에 유의미한 입력만 저장하는 과정을 반복할수록 신규 시드(새로운 코퍼스 요소)의 커버리지는 점점 오류와 연관성이 깊어지게 되며, 그 결과로 크래시를 유발하는 입력들을 효율적으로 생성할 수 있게 된다.
도 2에서는 각 단계를 순차적으로 실행하는 것으로 기재하고 있으나, 반드시 이에 한정되는 것은 아니다. 다시 말해, 도 2에 기재된 단계를 변경하여 실행하거나 하나 이상의 단계를 병렬적으로 실행하는 것으로 적용 가능할 것이므로, 도 2는 시계열적인 순서로 한정되는 것은 아니다.
도 2에 기재된 본 실시예에 따른 모델 검증 방법은 애플리케이션(또는 프로그램)으로 구현되고 단말장치(또는 컴퓨터)로 읽을 수 있는 기록매체에 기록될 수 있다. 본 실시예에 따른 모델 검증 방법을 구현하기 위한 애플리케이션(또는 프로그램)이 기록되고 단말장치(또는 컴퓨터)가 읽을 수 있는 기록매체는 컴퓨팅 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치 또는 매체를 포함한다.
도 3은 본 발명의 실시예에 따른 모델 검증 장치에서 입력 변이 및 그에 대한 커버리지를 생성하는 동작을 설명하기 위한 도면이다.
도 3을 참고하면, 입력 변이부(130)는 입력 선택부(120)에서 선택된 분석 대상 시드에 대한 입력 변이를 수행한다.
입력 변이부(130)는 입력 변이 함수에 의해 분석 대상 시드(코퍼스 요소)의 입력 데이터에 밝기, 대조, 흐림, 기울기, 회전, 확대, 축소와 같은 규칙적인 변화나 임의의 픽셀값 삽입과 같은 랜덤 기법, 적대적 공격(adversarial attack) 등의 적용이 가능하여 이러한 변이 조건은 변경될 수 있다.
입력 변이부(130)에서는 설정된 배치 크기(batch size)에 따라 새롭게 생성되는 신규 입력 데이터의 수가 달라지며, 각각의 입력들은 서로 다른 형태인 것이 바람직하다.
입력 변이부(130)는 신규 입력 데이터들로 구성된 입력 배치를 생성하여 생성된 입력 배치를 대상 모델로 전달한다.
대상 모델 처리부(140)는 대상 모델의 구조, 파라미터 등에 대한 지식을 완전히 알고 있다고 가정하여 동작한다.
대상 모델 처리부(140)는 대상 모델에 입력 배치를 전달한 후 대상 모델은 입력 배치에 해당하는 분류 예측 결과(특징 벡터)와 그래디언트 벡터를 포함하는 모델 결과 정보를 출력한다.
대상 모델 처리부(140)에서 추출된 분류 예측 결과는 데이터 셋의 모든 클래스에 대한 모델의 확률(confidence)을 의미한다. 분류 예측 결과는 커버리지 추출 이후 입력의 정상 여부를 판별하기 위해 사용된다. 예를 들어, 커버리지 추출 이후 원본 입력과 동일한 클래스의 확률이 가장 높을 경우 정상 입력으로 판별되며, 원본 입력과 다른 클래스의 확률이 가장 높을 경우 오분류로 판별한다.
대상 모델 처리부(140)는 입력 배치를 대상 모델에 입력한 뒤 커버리지 벡터를 생성하기 위한 정보로서 대상 모델로부터 각 입력에 대한 그래디언트를 추출한다.
대상 모델 처리부(140)에서 추출된 그래디언트 벡터는 대상 모델의 출력 레이어의 분류 예측 결과와 판단 기준 레이블(ground-truth 레이블)을 비교한 손실 함수(loss function)을 역전파하고 파라미터에 대해 편미분한 값을 의미한다. 대상 모델 처리부(140)는 대상 레이어의 가중치(weight)의 그래디언트를 추출하여 그래디언트 벡터를 생성한다.
커버리지 처리부(150)는 커버리지 함수(coverage function)를 이용하여 모델 결과 정보에 포함된 그래디언트 벡터를 분석이 가능한 형태로 가공하여 커버리지 벡터를 생성한다.
커버리지 처리부(150)에서 커버리지 함수는 그래디언트 정보를 입력별로 구분하여 입력마다 그래디언트 값들을 성분으로 가지는 커버리지 벡터를 생성하며, 생성된 커버리지 벡터를 포함하는 커버리지 배치를 구성한다.
대상 모델에서 출력된 그래디언트 벡터의 형태는 대상 레이어의 구조에 따라 결정된다. 예를 들어, 합성곱 레이어(convolution layer)의 경우 합성곱 필터에 대한 그래디언트 벡터의 차원수는 (x1, x2, x3, x4)로 구성된다. 완전 연결 레이어 (fully connected layer)의 경우 이전 레이어와 대상 레이어의 뉴런수를 고려하여 그래디언트 벡터의 차원수는 (x1, x2)로 구성된다.
업데이트 처리부(160)의 업데이트 함수에서 기존 시드 입력들과의 벡터 간 거리 측정을 원활히 하기 위해서는 커버리지 벡터의 차원수를 (x1)으로 구성해야 한다. 따라서, 커버리지 처리부(150)의 커버리지 함수에서는 대상 모델에서 추출된 모든 대상 레이어의 그래디언트 벡터의 차원수를 (x1)로 변경한다. 이후 커버리지 처리부(150)는 모든 레이어의 그래디언트 벡터를 레이어 순으로 이어붙여 하나의 커버리지 벡터를 생성한다. 이러한 과정은 변이된 입력 배치가 복수의 입력으로 구성됐을 경우 단일 입력마다 수행된다.
도 4는 본 발명의 실시예에 따른 모델 검증 장치에서 그래디언트 벡터를 생성하는 동작을 설명하기 위한 도면이다.
모델 검증 장치(100)의 대상 모델 처리부(140)는 대상 모델의 그래디언트를 추출하여 그래디언트 벡터를 생성한다.
대상 모델 처리부(140)에서는 그래디언트 벡터 생성을 위해 모델의 대상 레이어(layer)가 사전에 선정되어야 하며, 대상 레이어(Ly)와 그 이전 레이어(Lx)를 연결하는 가중치 파라미터의 그래디언트를 추출한다. 가중치 파라미터의 그래디언트를 산출하는 방법은 딥러닝에서 역전파의 개념을 활용한다. 예를 들어 도 4와 같이 선정된 대상 레이어가 Ly이고, 이전 레이어가 Lx일 경우, 이전 레이어(Lx)와 대상 레이어(Ly)를 연결하는 가중치들이 나타내는 입력에 대한 그래디언트를 추출하여 그래디언트 벡터를 생성한다.
대상 모델 처리부(140)는 이전 레이어(Lx)의 뉴런 출력값을 대상 레이어(Ly)의 한 뉴런으로 전달하는 가중치의 그래디언트를 1차원 벡터로 표현하고, 대상 레이어(Ly)의 복수의 뉴런에 대해 뉴런 개수만큼 생성된 1차원 벡터들로부터 2차원 벡터를 구성하여 그래디언트 벡터를 생성한다.
도 4에서, A는 분류 예측 결과(특징 벡터)를 의미하고, G는 그래디언트 벡터를 의미한다. 대상 모델 처리부(140)는 대상 모델에 대해 기 설정된 기준 레이블과 분류 예측 결과정보를 비교하여 손실 함수(J)를 산출하고, 산출된 손실 함수(J)를 역전파 처리하여 파라미터에 대해 편미분한 값을 산출함으로써, 대상 모델에 포함된 히든 레이어 각각에서 생성되는 그래디언트를 추출하여 그래디언트 벡터를 생성한다.
도 5는 본 발명의 실시예에 따른 모델 검증 장치에서 커버리지의 신규성을 확인하는 동작을 설명하기 위한 도면이다.
모델 검증 장치(100)의 업데이트 처리부(160)는 커버리지 배치 내의 커버리지 벡터 각각에 대해 업데이트 함수를 이용하여 커버리지의 신규성을 확인한다.
업데이트 처리부(160)에서 커버리지 벡터가 새롭다고 판단하는 기준은 커버리지 벡터가 기존에 존재하던 코퍼스 요소들의 커버리지 벡터들과 충분히 떨어져 있는지 여부일 수 있다.
예를 들어, 업데이트 처리부(160)는 업데이트 함수를 통해 신규 입력 데이터의 커버리지 벡터와 가장 가까운 위치에 있는 기존 커버리지 벡터를 탐색한다.
업데이트 처리부(160)는 기존 커버리지 벡터와 신규 입력 데이터의 커버리지 벡터 사이의 거리가 기 정의된 임계값을 초과하면 충분히 떨어져 있어 신규성이 있는 것으로 판단하며, 해당 입력의 신규 시드(코퍼스 요소)를 생성한 뒤 시드 뭉치에 추가하는 업데이트 동작을 수행한다.
한편, 업데이트 처리부(160)는 기존 커버리지 벡터와 신규 입력 데이터의 커버리지 벡터 사이의 거리가 기 정의된 임계값 미만이면 해당 입력은 새롭지 못하여 신규성이 없는 것으로 판단하여 해당 입력을 폐기한다.
도 6은 본 발명의 실시예에 따른 모델 검증 장치의 하드웨어 구성을 개략적으로 나타낸 블록 구성도이다.
도 6에 도시된 모델 검증 장치(100)는 컴퓨팅 기기로 구현될 수 있으며, 적어도 하나의 프로세서(610), 컴퓨터 판독 가능한 저장매체(620) 및 통신 버스(660)를 포함한다.
모델 검증 장치(100)의 시드 뭉치 저장부(110)은 입출력 인터페이스(640) 또는 통신 인터페이스(650)에 대응하거나 연동할 수 있고, 입력 선택부(120), 입력 변이부(130), 대상 모델 처리부(140), 커버리지 처리부(150) 및 업데이트 처리부(160)는 프로세서(610)에 대응하거나 연동할 수 있다.
프로세서(610)는 모델 검증 장치(100)의 동작을 제어할 수 있다. 예컨대, 프로세서(610)는 컴퓨터 판독 가능한 저장매체(620)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 컴퓨터 실행 가능 명령어는 프로세서(610)에 의해 실행되는 경우 모델 검증 장치(100)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능한 저장매체(620)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능한 저장매체(620)에 저장된 프로그램(630)은 프로세서(610)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독한 가능 저장매체(620)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 모델 검증 장치(100)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(660)는 프로세서(610), 컴퓨터 판독 가능한 저장매체(620)를 포함하여 모델 검증 장치(100)의 다른 다양한 컴포넌트들을 상호 연결한다.
모델 검증 장치(100)는 또한 하나 이상의 입출력 장치를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(640) 및 하나 이상의 통신 인터페이스(650)를 포함할 수 있다. 입출력 인터페이스(640) 및 통신 인터페이스(650)는 통신 버스(660)에 연결된다. 입출력 장치는 입출력 인터페이스(640)를 통해 모델 검증 장치(100)의 다른 컴포넌트들에 연결될 수 있다.
이상의 설명은 본 발명의 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 발명의 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 발명의 실시예들은 본 발명의 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 발명의 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 발명의 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 발명의 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
100: 모델 검증 장치
110: 시드 뭉치 저장부 120: 입력 선택부
130: 입력 변이부 140: 대상 모델 처리부
150: 커버리지 처리부 160: 업데이트 처리부

Claims (12)

  1. 모델 검증 장치에서 모델을 검증하는 방법에 있어서,
    기 저장된 시드 뭉치 중 하나의 분석 대상 시드를 선택하는 입력 선택 단계;
    상기 분석 대상 시드를 변이시켜 입력 배치를 생성하는 입력 변이 단계;
    상기 입력 배치를 대상 모델에 입력하여 상기 대상 모델에 의해 도출된 모델 결과 정보를 출력하는 대상 모델 처리 단계;
    상기 모델 결과 정보를 기반으로 커버리지 벡터를 생성하는 커버리지 처리 단계; 및
    상기 커버리지 벡터의 신규성 여부를 판단하고, 판단 결과에 따라 상기 커버리지 벡터에 대응하는 신규 시드를 생성하여 업데이트 처리하는 업데이트 처리 단계
    를 포함하는 것을 특징으로 하는 모델 검증 방법.
  2. 제1항에 있어서,
    상기 기 저장된 시드 뭉치는, 이미지 데이터, 영상 데이터, 음성 데이터, 문자 데이터 중 하나의 데이터에 대한 복수의 시드를 포함하며,
    상기 입력 선택 단계는, 랜덤 방식을 기반으로 상기 복수의 시드 중 하나의 상기 분석 대상 시드를 선택하는 것을 특징으로 하는 모델 검증 방법.
  3. 제1항에 있어서,
    상기 입력 변이 단계는,
    적어도 하나의 변이 조건 각각을 기반으로 상기 분석 대상 시드를 적어도 하나의 신규 단일 입력 데이터로 변환하고, 상기 적어도 하나의 신규 단일 입력 데이터를 포함하는 상기 입력 배치를 생성하는 것을 특징으로 하는 모델 검증 방법.
  4. 제3항에 있어서,
    상기 모델 처리 단계는,
    상기 시드 뭉치를 분류하기 위한 딥러닝 모델에 대응하는 상기 대상 모델을 이용하여 상기 모델 결과 정보를 출력하되,
    상기 모델 처리 단계는, 상기 적어도 하나의 신규 단일 입력 데이터를 상기 대상 모델에 적용하여 분류 예측 결과정보 및 그래디언트 벡터를 포함하는 상기 모델 결과 정보를 출력하는 것을 특징으로 하는 모델 검증 방법.
  5. 제4항에 있어서,
    상기 모델 처리 단계는,
    상기 입력 배치에 포함된 상기 적어도 하나의 신규 단일 입력 데이터를 신경망을 통해 분류하여 기 설정된 복수의 클래스 중 소정의 클래스에 속할 확률에 대한 특징 벡터를 포함하는 상기 분류 예측 결과정보를 산출하는 것을 특징으로 하는 모델 검증 방법.
  6. 제5항에 있어서,
    상기 모델 처리 단계는,
    상기 대상 모델에 대해 기 설정된 기준 레이블과 상기 분류 예측 결과정보를 비교하여 손실 함수를 산출하고, 산출된 손실 함수를 역전파 처리하여 상기 대상 모델에 포함된 히든 레이어 각각에서 생성되는 그래디언트를 추출하여 상기 그래디언트 벡터를 생성하는 것을 특징으로 하는 모델 검증 방법.
  7. 제4항에 있어서,
    상기 커버리지 처리 단계는,
    모델 결과 정보에 포함된 그래디언트 벡터의 차원을 변경하여 커버리지 벡터를 생성하는 것을 특징으로 하는 모델 검증 방법.
  8. 제7항에 있어서,
    상기 커버리지 처리 단계는,
    상기 대상 모델에 포함된 모든 대상 레이어 각각에 대한 그래디언트 벡터를 생성하고, 각각의 그래디언트 벡터를 1차원으로 변경한 후 변경된 벡터를 대상 레이어 순으로 결합하여 하나의 커버리지 벡터를 생성하는 것을 특징으로 모델 검증 방법.
  9. 제7항에 있어서,
    상기 업데이트 처리 단계는,
    상기 커버리지 벡터에 대응하는 상기 분류 예측 결과정보를 기 설정된 판단 기준 레이블(그라운드 트루스 레이블)과 비교하여 상기 커버리지 벡터에 대한 정상 입력 또는 오분류 입력 여부를 판단하고, 판단 결과에 근거하여 상기 신규성 여부를 판단하는 것을 특징으로 하는 모델 검증 방법.
  10. 제9항에 있어서,
    상기 업데이트 처리 단계는,
    상기 커버리지 벡터가 정상 입력으로 판단된 경우 상기 커버리지 벡터에 대한 신규성 여부를 판단하고, 상기 커버리지 벡터에 대한 신규성이 기 설정된 기준 이상이 경우 상기 커버리지 벡터에 대응하는 신규 시드를 생성하여 상기 시드 뭉치에 추가하는 것을 특징으로 하는 것을 특징으로 하는 모델 검증 방법.
  11. 제9항에 있어서,
    상기 업데이트 처리 단계는,
    상기 커버리지 벡터가 오분류 입력으로 판단된 경우 상기 커버리지 벡터에 대응하는 단일 입력이 상기 대상 모델의 취약점인 것으로 판단하여 상기 커버리지 벡터에 대응하는 상기 단일 입력을 저장하고, 상기 단일 입력에 대한 관련 정보를 포함하는 모델 취약 정보를 출력하는 것을 특징으로 하는 모델 검증 방법.
  12. 딥러닝 모델을 검증하는 장치로서,
    하나 이상의 프로세서; 및
    상기 프로세서에 의해 실행되는 하나 이상의 프로그램을 저장하는 메모리를 포함하며, 상기 프로그램들은 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서들에서,
    기 저장된 시드 뭉치 중 하나의 분석 대상 시드를 선택하는 입력 선택 단계;
    상기 분석 대상 시드를 변이시켜 입력 배치를 생성하는 입력 변이 단계;
    상기 입력 배치를 대상 모델에 입력하여 상기 대상 모델에 의해 도출된 모델 결과 정보를 출력하는 대상 모델 처리 단계;
    상기 모델 결과 정보를 기반으로 커버리지 벡터를 생성하는 커버리지 처리 단계; 및
    상기 커버리지 벡터의 신규성 여부를 판단하고, 판단 결과에 따라 상기 커버리지 벡터에 대응하는 신규 시드를 생성하여 업데이트 처리하는 업데이트 처리 단계
    를 포함하는 동작들을 수행하게 하는 것을 특징으로 하는 모델 검증장치.
KR1020210005880A 2021-01-15 2021-01-15 그래디언트를 활용한 커버리지 기반의 모델 검증 방법 및 그를 위한 장치 KR20220103375A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210005880A KR20220103375A (ko) 2021-01-15 2021-01-15 그래디언트를 활용한 커버리지 기반의 모델 검증 방법 및 그를 위한 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210005880A KR20220103375A (ko) 2021-01-15 2021-01-15 그래디언트를 활용한 커버리지 기반의 모델 검증 방법 및 그를 위한 장치

Publications (1)

Publication Number Publication Date
KR20220103375A true KR20220103375A (ko) 2022-07-22

Family

ID=82605911

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210005880A KR20220103375A (ko) 2021-01-15 2021-01-15 그래디언트를 활용한 커버리지 기반의 모델 검증 방법 및 그를 위한 장치

Country Status (1)

Country Link
KR (1) KR20220103375A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240007047A (ko) 2022-07-07 2024-01-16 삼성에스디에스 주식회사 커버리지 기반 소프트웨어 퍼징 방법, 장치, 시스템 및 컴퓨터 프로그램

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20240007047A (ko) 2022-07-07 2024-01-16 삼성에스디에스 주식회사 커버리지 기반 소프트웨어 퍼징 방법, 장치, 시스템 및 컴퓨터 프로그램

Similar Documents

Publication Publication Date Title
Liu et al. Security analysis and enhancement of model compressed deep learning systems under adversarial attacks
US11790237B2 (en) Methods and apparatus to defend against adversarial machine learning
KR102221492B1 (ko) 텍스트 마이닝 기반 보안 이벤트 자동 검증 시스템 및 방법
CN111586071B (zh) 一种基于循环神经网络模型的加密攻击检测方法及装置
Alabadi et al. Anomaly detection for cyber-security based on convolution neural network: A survey
KR102074909B1 (ko) 소프트웨어 취약점 분류 장치 및 방법
CN113660225A (zh) 基于时序点的网络攻击事件预测方法、系统、装置及介质
Won et al. PlausMal-GAN: Plausible malware training based on generative adversarial networks for analogous zero-day malware detection
CN114692156B (zh) 内存片段恶意代码入侵检测方法、系统、存储介质及设备
Zhang et al. The classification and detection of malware using soft relevance evaluation
KR20190028880A (ko) 봇넷 탐지 시스템을 학습하기 위한 학습 데이터를 생성하는 방법 및 그 장치
Pauling et al. A tutorial on adversarial learning attacks and countermeasures
KR20220103375A (ko) 그래디언트를 활용한 커버리지 기반의 모델 검증 방법 및 그를 위한 장치
Hashemi et al. Runtime monitoring for out-of-distribution detection in object detection neural networks
Yerima et al. Bot-IMG: A framework for image-based detection of Android botnets using machine learning
CN113222053A (zh) 基于RGB图像和Stacking多模型融合的恶意软件家族分类方法、系统和介质
CN116663018A (zh) 一种基于代码可执行路径的漏洞检测方法及装置
CN111310186A (zh) 混淆命令行检测方法、装置及系统
Chu et al. SecureAS: a vulnerability assessment system for deep neural network based on adversarial examples
CN115955329A (zh) 一种网络安全防护方法、终端及存储介质
CN116738429B (zh) 基于生成对抗的目标检测引擎优化方法、装置及系统
Iliashov Synthesis of algorithms for recognition of vulnerabilities in web resources using signatures of fuzzy linguistic features
CN115114625B (zh) 一种基于深度学习的木马家族分类方法和系统
CN118094549B (zh) 基于源程序与可执行代码双模态融合的恶意行为识别方法
Patil et al. Impact of PCA Feature Extraction Method used in Malware Detection for Security Enhancement

Legal Events

Date Code Title Description
E902 Notification of reason for refusal