안티 바이러스 프로그램의 작동 방식을 연구하는 컴퓨터 과학 분야는 무엇입니까?


9

유한 한 오토마타에서는 모든 바이러스를 감지 할 수있는 알고리즘이 없지만 안티 바이러스 소프트웨어를 판매하는 많은 소프트웨어 회사가 있음을 보여주는 것은 사소한 연습입니다.

바이러스 및 바이러스 백신을 다루는 CS의 일부가 있습니까?

추신 : 나는 AV와 관련하여 비 CS 관련 타당성에 대해 묻지 않고 CS 내에서 어떤 범주 / 주제 만 제공하는지 묻습니다. AV가 CS 내에서 주제가 아닌 경우에도 수용 할만한 대답입니다. CS 컨텍스트 내에 바이러스 및 AV에 대한 굴절이 있습니까?


2
컴퓨터 과학 스택 교환에 오신 것을 환영합니다! 컴퓨터 보안이 조사하려는 분야 일 수 있습니다. Wikipedia를보십시오; 거기에 필적하거나 더 나은 정보가 있어야합니다.
Patrick87

답변:


12

컴퓨터 바이러스라는 컴퓨터 보안의 하위 영역이 있습니다. 컴퓨터 바이러스학 저널은 주제에 전념. 안티 바이러스 소프트웨어의 작동 방식을 연구하면 해당 영역의 표면 만 긁게됩니다.

예를 들어 S. Kramer와 JC Bradfield 의 맬웨어대한 논리를 맬웨어에 적용하는 작업도 있습니다 . 컴퓨터 바이러스학 저널 (6) 2010.


9

바이러스 및 바이러스 백신 기술은 CS와 관련이 있습니다. 귀하의 질문은 최근에 읽은 내용을 상기시켜주었습니다. 다음은 Williamson & Shmoys (6 페이지, 근사 알고리즘 설계)에서 발췌 한 것입니다. 근사 알고리즘의 (실제적인) 근사 알고리즘의 중요성을 정당화하고 있으며 바이러스 와 관련하여 잘 알려진 세트 표지 문제 를 예로 사용합니다.

컴퓨터 바이러스를 탐지하는 바이러스 백신 제품을 개발할 때 설정 문제가 사용되었습니다. 이 경우 일반적인 컴퓨터 응용 프로그램에서 해당 기능이 발생하지 않도록 컴퓨터의 부팅 섹터 용으로 설계된 바이러스에서 발생하는 두드러진 기능을 찾아야했습니다. 이러한 기능은 신경망 인 이러한 부트 섹터 바이러스를 탐지하기 위해 다른 휴리스틱에 통합되었습니다. 세트 커버 문제의 요소는 알려진 부트 섹터 바이러스였습니다 (당시 약 150 개). 각 세트는 이러한 바이러스에서 발생하지만 일반적인 컴퓨터 프로그램에서는 발생하지 않는 3 바이트 시퀀스에 해당합니다. 이러한 서열은 약 21,000 개였다. 각 세트에는 해당 3 바이트 시퀀스가있는 모든 부트 섹터 바이러스가 포함되어 있습니다. 목표는 신경망에 유용한 소수의 그러한 시퀀스 (150보다 훨씬 작은)를 찾는 것이 었습니다. 근사 알고리즘을 사용하여 문제를 해결함으로써 작은 시퀀스 세트가 발견되었고 신경망은 이전에 분석되지 않은 많은 부트 섹터 바이러스를 탐지 할 수있었습니다.

놀랍게도 아니든,이 예는 AI와 조합 최적화 기술이 적어도 유용하다는 것을 보여줍니다. 이 글을 읽은 후에는 CS의 많은 영역이 바이러스 및 탐지와 관련하여 적용될 수있는 것들이 있다고 쉽게 믿을 수 있습니다. 귀하의 질문에보다 직접적으로 대답하기 위해 CS의 많은 것들이 적어도 간접적으로 바이러스를 처리합니다.


7

이론적 결과를 사용하여 실제로 수행 할 수없는 문제를 주장 할 때는주의해야합니다. 몇 가지 위험에 빠질 수 있습니다.

  1. 이론적 결과에는 적용되지 않는 가정이 있습니다.

  2. 실제 문제는 이론적 모델에 의해 잘 모델링되지 않습니다.

  3. 실제로 솔루션이 유용하기 위해 완벽 할 필요는 없습니다.

바이러스가 무엇인지에 대한 공식적인 정의를 제공하지 않았으므로 사소한 운동에 대한 주장을 넓히는 것이 실제로 의미하는 바를 이해하는 데 도움이 될 수 있습니다.

안티 바이러스 소프트웨어가 수행하는 작업의 대부분은 알려진 바이러스 (및 그 변종)를 감지하는 것이며 문자열 (파일, 메모리 등)을 유한 문자열 목록 (바이러스 서명)과 비교하여 수행됩니다. 따라서 바이러스 백신 소프트웨어의 데이터베이스를 정기적으로 업데이트해야합니다.

"행동"에 따라 잠재적 인 바이러스를 탐지하는 추가 기능이 있지만 이러한 방법은 완전하지도 않고 건전하지도 않습니다 (유용하기 위해 소리 / 완료일 필요는 없습니다). 안티 바이러스 소프트웨어의 설계는 지금까지 컴퓨터 공학보다 컴퓨터 공학에 더 많이 빠져있는 것 같습니다 (컴퓨터 과학과 컴퓨터 공학은 밀접한 관련이 있지만).

일반적으로 이러한 연구는 컴퓨터 과학의 컴퓨터 보안 (보다 일반적으로 시스템 영역 : 컴퓨터 네트워크, 운영 체제 등)에 더 많이 적용되지만 컴퓨터 과학의 다른 부분 (머신 러닝 등)의 아이디어를 사용하는 것입니다. 전형적인.

The Art of Computer Virus Research and Defense 를 확인하고 싶을 수도 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.