정보보안기사

클라이언트 보안_악성 소프트웨어

duduranran 2022. 12. 29. 20:07

1. 악성 소프트웨어

개념 : 

 - 개발자가 의도적으로 사용자가 원치 않는 기능을 컴퓨터 프로그램에 포함시키거나 프로그램 자체의 오류로 인하여 사용자가 원치 않는 시스템 충돌, 프로그램 중단, 개인정보 수집, 네트워크 포트 개방 등의 결과가 발생할 수 있다.

 - 컴퓨터 프로그램이 의도적 또는 비의도적으로 실행되면서 기밀성, 가용성, 무결성 등의 보안속성을 침해할 경우 해당 프로그램은 유해한 프로그램으로 간주

 - 의도적으로 컴퓨터의 보안속성을 침해할 목적으로 작성된 프로그램을 악성 프로그램이라 한다.

 

구분 바이러스 트로이목마
자기 복제 있음 없음 매우 강함
형태 파일이나 부트섹터 등
감염 대상필요 
유틸리티로 위장하거나 유틸리티 안에 코드형태로 삽입 독자적으로 존재
전파 경로 사용자가 감염된 파일을 옮김 사용자가 내려 받음 네트워크를 통해 스스로 전파
주요 증상 해당 컴퓨터의 시스템 및
파일 손상
PC 성능 저하, 좀비PC  성능 저하

 

(1) 악성 소프트웨어의 분류

 (가) 독립형과 기생형

  -  악성 소프트웨어는 두 개의 범주로 나뉜다. 하나는 호스트 프로그램을 필요로하는 것, 다른 하나는 호스트를 필요로 하지 않는 것

  - 전자의 경우에 기생적(Parasitic)이라고 하는데, 사실은 프로그램 단편으로 다른 실제 응용 프로그램이나 유틸리티나 시스템 프로그램 없이 존재할 수 없다. 바이러스, 논리폭탄, 백도어가 기생형이다.

  - 후자에 속하는 악성 소프트웨어는 자체적으로 구동될 수 있는 프로그램으로 운영체제에 의해 스케쥴되어 구동될 수 있다. 웜과 좀비가 독립형이다.

 

 (나) 자기 복제 여부

  - 자기 복제 여부에 따라 바이러스성 악성코드와 비-바이러스성 악성코드로 나뉜다.

  - 바이러스성 악성코드는 웜과 바이러스가 있으며, 비-바이러스성 악성코드는 트로이목마와 백도어가 있다.

  - 웜은 자기를 복제하는 측면에서 바이러스와 공통점을 갖는다. 하지만 바이러스와 달리 숙주 파일 없이 자체 실행코드를 이용해 네트워크를 통하여 자기 자신을 복제해 전파시키며, 다른 프로그램은 감염시키지 않는다.

  - 바이러스는 정상적인 프로그램이나 데이터를 파괴할 목적으로 시스템 부트, 메모리, 파일 영역 등에 기생하다 다른 프로그램을 감염시킨다.

 

 

(2) 바이러스

 - 정의

  -  다른 프로그램을 변형시키도록 하여 감염(infect)시키는 프로그램 단편이며, 실제로 자신을 변형시켜 실행 가능한 형태이다.

 

  - 세대별 분류

    - 제1세대 원시형 바이러스 : 실력이 뛰어나지 않은 프로그래머가 만들어 프로그램 구조가 단순, 분석이 상대적 쉽다 

    - 제2세대 암호화 바이러스

    - 제3세대 은폐형 바이러스

    - 제4세대 갑옷형 바이러스

    - 제5세대 매크로 바이러스 : 현재 등장하는 바이러스 중 가장 높은 비중 차지, 매크로 기능이 있는 MS사 오피스 제품군 이외에 비지오, 오토캐드 등을 지원하는 다양한 프로그램에서 활동

   - 매크로 바이러스가 특히 위협적인 이유는 플랫폼과 무관하게 사용되며, 매크로 바이러스는 쉽게 퍼지고, 실행 파일을(확장자 COM이나 EXE) 다룰 때보다 주의를 덜하기에 피해가 더 크다.

 

  - 바이러스 예방  

    - 신뢰성 있는 업체에서 구입한 사용 소프트웨어 사용

    - 안전하다고 생각될 때만 첨부파일을 열것

    - 바이러스 스캐너를 이용하여 정기적으로 검사

    - 현 업무를 심하게 방해하지 않는 수준에서 악성코드에 대응하는 보안 정책을 수립 적용, 정책과 교육이 가장 훌륭한 대책이다.

 

(4) 웜

  - 정의

    - 웜은 자기 자신을 복제하여 네트워크 연결을 통해 컴퓨터에서 다른 컴퓨터로 그 복제본을 전송한다. 일단 한 컴퓨터에 도착하게 되면 웜은 복제를 시작하고 다시 확산된다.

    - 웜은 다른 시스템에 직접적인 영향을 미치지 않는 다는 점에서 트로이 목마와 구분.

    - 웜은 다른 프로그램에 기생하지 않는 다는 점에서 컴퓨터 바이러스와 구분.

 

  - 웜 확산 모델

     - 확산은 3단계로 이루어진다. 감염된 호스트는 각각 두개의 호스트를 감염시킨다. 따라서 감염된 호스트 수는 지속적으로 증가한다.

     - 시간이 경과 하면서 감염된 호스트는 이미 감염된 호스트를 공격하는데 시간을 허비하기 때문에 감염속도가 줄어든다.

 

  - 웜의 실행

     - 웜은 전파된 시스템에서 시스템의 접근 권한을 확보하고, 자신을 실행시키기 위해 버퍼오버플로우, 포맷 스트링, SQL 삽입, PHP삽입 등 공격 가능한 취약점을 이용한다.

     - 시스템의 취약점을 이용하여 관리자 몰래 시스템의 접근 권한 확보에 필요한 코드를 실행하고, 접근 권한이 확보되면 나머지 코드를 실행함으로써 의도된 기능을 수행한다.

     -  시스템 접근권한이 확보되면 웜을 백도어로 설치하거나 DDoS공격에 사용될 수 있는 봇 또는 좀비 프로그램을 다운로드하여 실행 가능하고, 키로거와 같은 악성 소프트웨어도 설치 가능.

 

(5) 트로이목마

 - 정의

     - 트로이목마는 자신의 실체를 드러내지 않으면서 마치 다른 프로그램의 한 유형인 것처럼 가장하여 활동하는 프로그램이다.

     - 트로이목마는 패치 파일, 안티-바이러스 소프트웨어, 소프트웨어 최신 버전 등과 같이 유용하거나 재미있는 소프트웨어로 가장하여 설치하게 함으로써 다른 시스템으로 침투하는 악성 소프트웨어

     - 자기를 복제하지 않으며 다른 파일을 감염시키거나 변경시키지 않는다. 하지만 트로이목마가 포함된 프로그램이 실행되는 순간, 시스템은 공격자에게 시스템을 통제할 수 있는 권한을 부여하게 된다.

 

- 특징

     - 트로이목마를 사용하는 또다른 목적은 데이터 파괴이다. 겉보기에는 유횽한 작업을 수행하는 것처럼 보이지만 몰래 사용자 파일을 지우고 있을 수도 있다.

 

 - 대응책

     - 신뢰할 수없는 메일의 첨부, 파일 공유 사이트 등의 파일을 확인 없이 설치 하지 않는 것이 중요하다.

     - 그리고 웹 브라우저 등의 취약점을 보완하는 패치를 신속하게 적용하여 최신 상태의 시스템을 유지하고, 안티 -트로이목마 도구를 사용하는 것도 유용한 대책이 된다.

 

(6) 스파이웨어

 - 정의

     - 트로이목마와 비슷한 종류로 스파이웨어가 있다. 스파이웨어는 민감한 정보를 수집하여 주기적으로 우너격지의 특정한 서버에 보내는 프로그램으로, 대상 컴퓨터에 은밀하게 설치되는 악성 프로그램이다.

     - 스파이와 소프트웨어의 합성어로, 본래는 어떤 사람이나 조직에 고나한 정보를 수집하는데 도움을 주는 기술.

     - 수집된 데이터는 신원 도용, 스패밍, 사기 등과 같은 악의적 활동을 위해 사용

     - 스파이웨어는 또한 온라인 브라우징 습관에 대한 정보를 수집하여, 스패머가 표적 광고를 보내는데 활용 되기도 한다. 

'정보보안기사' 카테고리의 다른 글

IPv4 VS IPv6  (0) 2023.01.07
네트워크 개요 (OSI 7 Layer, TCP/IP 등)  (0) 2023.01.05
접근통제 보안위협 및 대응책  (0) 2022.12.27
접근통제 보안 모델  (0) 2022.12.26
대칭키 암호 키 배송 문제  (1) 2022.12.25