본문 바로가기

네트워크 보안

보안 엔지니어 되기 - 2. 멀웨어(malware) 이해하기 - 도움글 및 단어장

소스: https://tools.cisco.com/security/center/resources/virus_differences

 

앞서 작성한 보안 엔지니어 되기 - 2. 멀웨어(malware) 이해하기에 더 도움이 되기위해, 아래 글은 시스코사의  소스글을 한글로 번역한 내용이다.

 

바이러스, , 트로이 목마 봇은 모두 멀웨어라는 소프트웨어에 포함된다. 멀웨어는 Malicious Software 줄임말로 악성 코드 또는 악성 소프트웨어 라고도 불린다. 손실, 중단, 차단, 도용 또는 일반적으로 데이터, 호스트 또는 네트워크에 기타 해로운 또는 불법적인 작업을 가하도록 특별히 설계된 코드 또는 소프트웨어가 멀웨어라고 정의할 있다.

시스템을 감염시키고 스스로를 전파하는 종류뿐만 아니라 다양한 종류의 멀웨어가 존제한다. 멀웨어는 다른 프로그램과 함께 제공되거나 파일에 매크로로 첨부되어 시스템을 감염시킬 수도 있다. 어떤 종류는 사용자가 컴퓨터를 감염시키기 위해 웹사이트를 방문하기만 하면 되는 브라우저의 보안적 문제와 같이 운영 체제(OS), 네트워크 장치 또는 기타 소프트웨어의 알려진 취약점을 악용하여 의도치 않게 사용자 컴퓨터에 설치된다. 그러나 대다수는 이메일 첨부 파일을 클릭하거나 인터넷에서 파일을 다운로드하는 것과 같은 사용자의 일부 작업에 의해 설치된다.

일반적으로 알려진 유형의 멀웨어에는 바이러스, , 트로이 목마, , 랜섬웨어, 백도어, 스파이웨어 애드웨어가 있다. 멀웨어로 인한 피해는 사소한 브라우저 팝업 광고 같은 것부터 기밀 정보 누출, 금전적 약탈, 데이터 파괴, 시스템과 네트워크무력화 다양한 형태로 나타난다.

장비에 있는 데이터 소프트웨어를 손상시키는 외에도 멀웨어는 해당 시스템의 물리적 하드웨어를 손상하도록 진화되었다. 멀웨어는 멀웨어는 합법적인 목적을 가진 버그 또는 오류를 포함한 결함 소프트웨어와는 분리해서 생각해야한다.

 

악성 소프트웨어의 종류

가장 일반적인 가지 유형의 멀웨어는 바이러스와 웜이다. 이러한 유형의 프로그램은 자체 복제할 있으며 수정된 복사본을 퍼뜨릴 수도 있다. 바이러스나 웜으로 분류되려면 멀웨어가 전파할 있는 능력이 있어야 한다. 웜은 다른 파일과 거의 독립적으로 작동하는 반면 바이러스는 호스트 프로그램에 의존하여 확산된다는 것이 특징이다. 멀웨어 종류를 조금 알아보도록 하자.

 

 

랜섬웨어 (Ransomware)

랜섬웨어는 몸값을 지불하지 않으면 피해자의 데이터를 게시하거나 액세스를 영구적으로 차단하겠다고 위협하는 악성 소프트웨어 유형이다. 일부 간단한 랜섬웨어는 지식이 있는 사람이 되돌리기가 어렵지 않은 방식으로 시스템을 잠글 있지만 발전된 멀웨어는 크립토바이러스 갈취라는 기술을 사용한다.

 

 

바이러스 (Virus)

컴퓨터 바이러스는 자신의 복사본을 다른 프로그램에 삽입하여 다른 프로그램의 일부가 되어 전파하는 멀웨어 유형이다. 컴퓨터에서 다른 컴퓨터로 전파되어 이동하면서 감염을 시킨다. 바이러스는 경미한 문제를 일으키는 것부터 데이터 손실 소프트웨어를 손상시키고 서비스 거부(DoS) 상태를 일으키는 것까지 다양한 종류가 있다. 거의 모든 바이러스는 실행 파일에 첨부된다. , 바이러스가 시스템에 존재할 있지만 사용자가 악성 호스트 파일 또는 프로그램을 실행하거나 때까지 활성화되지 않거나 확산될 없다. 호스트 코드가 실행되면 바이러스 코드도 함께 실행어 활성화된다. 일반적으로 호스트 프로그램은 바이러스에 감염된 후에도 계속 작동하며 일부 바이러스는 다른 프로그램을 자신의 복사본으로 덮어쒸워 호스트 프로그램을 완전히 파괴한다. 바이러스는 첨부된 소프트웨어나 문서가 네트워크, 디스크, 파일 공유 또는 감염된 이메일 첨부 파일을 사용하여 컴퓨터에서 다른 컴퓨터로 전송될 확산된다.

 

웜 (Worm)

컴퓨터 웜은 자신의 기능적 복사본을 복제하고 동일한 유형의 손상을 일으킬 있다는 점에서 바이러스와 유사한다. 감염된 호스트 파일의 확산이 필요한 바이러스와 달리 웜은 독립 실행형 소프트웨어이며 전파하기 위해 호스트 프로그램이나 사람의 도움이 필요하지 않다. 확산을 위해 웜은 대상 시스템의 취약점을 악용하거나 일종의 사회 공학을 사용하여 사용자를 속여 실행되기도 한다. 웜은 시스템의 취약점을 통해 컴퓨터에 침입하고 시스템의 파일 전송 또는 정보 전송 기능을 이용하여 도움 없이 이동할 있다. 보다 발전된 웜은 암호화, 와이퍼 랜섬웨어 기술을 활용하여 대상을 해친다.

 

트로이 목마 (Trojans, rojan Horse)

트로이 목마는 그리스인이 트로이에 침투하는 사용한 목마의 이름을 다른 유형의 악성 코드이다. 합법적으로 보이는 유해한 소프트웨어이다. 사용자는 일반적으로 자신의 시스템에서 로드하고 실행하도록 디자인되어 있다. 활성화된 후에는 사용자를 짜증나게 팝업 창을 띄우거나 데스크탑을 변경하는 것을 비롯해 호스트를 손상시키는 행위인 시스템 파일 삭제, 데이터 도용 또는 바이러스와 같은 다른 멀웨어 활성화 확산에 이르기까지 호스트에 대한 여러가지 공격을 수행할 있다. 트로이 목마는 악의적인 사용자가 시스템에 액세스할 있도록 백도어를 만드는 것으로 알려져 있다. 바이러스 웜과 달리 트로이 목마는 다른 파일을 감염시켜 복제하거나 자가 복제하지 않는다. 트로이 목마는 이메일 첨부 파일 열기 또는 인터넷에서 파일 다운로드 실행과 같은 사용자 상호 작용을 통해 확산기 때문이다.

 

봇 (Bot, Botnet)

봇은 또는 봇넷은 로봇과 네트워크 단어에서 파생되었으며 다른 네트워크 서비스와 상호 작용하는 자동화된 프로세스이다. 봇넷은 종종 작업을 자동화하고 인간이 수행할 정보나 서비스를 제공한다. 봇의 일반적인 용도는 크롤러와 같은 정보를 수집하거나 IM(인스턴트 메시징), IRC(인터넷 릴레이 채팅) 또는 기타 인터페이스와 자동으로 상호 작용하는 것을 목적으로 한다. 사이트와 동적으로 상호 작용하는 사용될 수도 있다.

봇은 선의 또는 악의적인 목적으로 사용될 있다. 악성 봇은 호스트를 감염시키고 손상된 장치의 전체 네트워크 또는 봇넷에 대한 명령 제어(Command and Control) 센터 역할을 하는 중앙 서버에 다시 연결하도록 설계된 자가 전파 멀웨어이다. 봇넷을 사용하여 공격자는 대상에 대해 광범위한 기반의 원격 제어와 같은 플라드 유형 공격을 시작할 있게된다.

웜과 같은 자체 전파 기능 외에도 봇에는 입력 기록, 암호 수집, 패킷 캡처 분석, 금융 정보 수집, 서비스 거부(DoS) 공격 실행, 스팸 릴레이, 백도어 열기 등의 기능이 포함될 있다. 감염된 호스트 봇은 웜의 모든 장점을 가지고 있지만 일반적으로 감염 벡터에서 훨씬 다재다능해지며 종종 새로운 익스플로잇이 게시된 시간 이내에 변신한다. 그들은 웜과 바이러스에 의해 열린 백도어를 악용하는 것으로 알려져 있어 엑세스 보안이 높은 네트워크 또한 액세스할 있다. 봇은 네트워크 인프라를 손상시킬수 있으며 빠른 스캔 속도로 자신의 존재를 거의 노출시키지 않는다. 대신,  즉각 대응을 하지 못하게하는 방식으로 네트워크를 마비시킨다.

최상의 봇넷은 가전 제품이나 가전 제품과 같은 일반적인 사물 인터넷(IOT) 장치를 활용하여 자동화된 공격을 증가시킬 수도 있으며 암호화 마이닝은 이러한 봇을 악의적인 목적으로  사용 사용하는 예라고 있다.

 

멀웨어 배포 채널 (Malware distibution channel)

최상의 멀웨어는 일반적으로 다음 배포 채널을 통해 컴퓨터 또는 네트워크로 유입된다.

 

드라이브 바이 다운로드 - 인터넷에서 컴퓨터의도치 않은 소프트웨어 다운로드

원치 않는 이메일 —전자 메일에 원치 않는 첨부 파일 또는 포함된 링크

물리적 미디어 - USB 드라이브와 같은 통합 또는 이동식 미디어를 통한 감염

자가 전파 - 악성코드가 컴퓨터에서 컴퓨터로 또는 네트워크에서 네트워크로 이동하여 자체적으로 확산되는 능력

명령 제어에 대한 초기 액세스부터 멀웨어 전술의 전체 목록은 MITRE 적대적 전술, 기술 일반 지식을 참조한다.

 

멀웨어 퇴치를 위한 10가지 팁 (Ten best practices for combating malware)

1.      클라우드와 플랫폼 보안과 같이 확장 가능한 1 방어 도구 구현

2.      애플리케이션, 시스템 어플라이언스 패치에 대한 정책 관행 준수

3.      노출 확산을 줄이는 도움이 되는 네트워크 세분화

4.      차세대 엔드포인트 프로세스 모니터링 도구 채택

5.      적시에 정확한 위협 인텔리전스 데이터 프로세스에 액세스하여 해당 데이터를 보안 모니터링 이벤트에 통합

6.      인스펙션 고급 분석 수행

7.      보안 대응 절차 검토 실천

8.      주기적 데이터 백업 복원 절차 테스트 확립

9.      마이크로서비스, 클라우드 서비스, 애플리케이션 관리 시스템에 대한 보안 스캐닝 수행

10.   보안 시스템 검토 SSL 분석 사용 가능한 경우 SSL 암호 해독 추천

 

-------------------------------------------------------

단어장(Vocab)

지능형 지속 위협 (Advanced Persistent Threats (APT))

은밀하고 지속적인 컴퓨터 해킹 프로세스 집합으로, 종종 특정 개체를 대상으로 하는 사람이 조정한다. APT 일반적으로 비즈니스 또는 정치적 동기를 위해 민간 조직, 또는 다를 대상으로 한다. APT 프로세스는 장기간에 걸쳐 높은 수준의 은밀성을 요구한다. 고급 프로세스는 멀웨어를 사용하여 시스템의 취약성을 악용하는 정교한 기술을 의미한다. 지속적인 프로세스는 외부 명령 제어 시스템이 지속적으로 모니터링하고 특정 대상에서 데이터를 추출하고 있음을 나타낸다. 위협 프로세스는 공격을 조정하는 사람이 개입했음을 나타낸다.

 

애드웨어 (Adware)

소프트웨어의 사용자 인터페이스 또는 설치 과정에서 사용자에게 표시되는 화면에 온라인 광고를 자동으로 생성하여 개발자에게 수익을 창출하는 소프트웨어이다. 소프트웨어는 가지 유형의 수익을 창출할 있다. 하나는 광고 표시를 위한 것이고 다른 하나는 사용자가 광고를 클릭하는 경우 클릭당 지불하는 것이다.

 

뒷문 (Backdoor)

일반 인증 메커니즘을 우회하여 시스템에 액세스하는 문서화되지 않은 방법이다. 일부 백도어는 원래 프로그래머에 의해 소프트웨어에 배치되고 다른 백도어는 바이러스 또는 웜과 같은 시스템 손상을 통해 시스템에 배치된다. 일반적으로 공격자는 시스템이 손상된 후에도 시스템에 쉽고 지속적으로 액세스하기 위해 백도어를 사용한다.

 

부트킷 (Bootkit)

MBR(마스터 부트 레코드) VBR(볼륨 부트 레코드) 포함하여 하드 드라이브의 부트 섹터를 수정하는 멀웨어 변종이다. 공격자는 부트킷을 사용하여 운영 체제 아래 계층의 시스템에 지속할 있으며, 조직에서 부트킷이 사용되었다고 의심하고 그에 따라 조치를 최하지 않는 완전한 치료를 수행하기 어려울 있다.

 

브라우저 하이재커 (Browser Hijacker)

사용자의 브라우저에 원치 않는 광고를 삽입하기 위해 사용자의 동의 (허가) 없이 브라우저의 설정을 수정하는 소프트웨어. 브라우저 하이재커는 기존 페이지, 오류 페이지 또는 검색 엔진을 자신의 것으로 대체할 있다. 이는 일반적으로 특정 웹사이트에 대한 조회를 유도하여 광고 수익을 높이는 사용된다. 소프트웨어는 종종 브라우저 도구 모음의 형태로 제공되며 이메일 첨부 파일이나 파일 다운로드를 통해 수신된다.

 

크라임웨어 (Crimeware)

사이버 범죄를 자동화하기 위해 특별히 설계된 멀웨어 클래스이다. 크라임웨어(스파이웨어 애드웨어와 구별됨) 컴퓨터 사용자의 금융 소매 계정에 액세스하기 위해 소셜 엔지니어링 또는 기술 은폐를 통해 신원 도용을 수행하여 해당 계정에서 자금을 가져오거나 사이버 도둑을 부추기는 무단 거래를 완료하도록 설계되었다. 또는 크라임웨어는 기밀 또는 민감한 기업 정보를 도용할 수도 있다.

 

서비스 거부(DOS) 공격 (Denial of Service (DOS) Attacks)

피해자, 사이트 또는 노드가 고객에 대한 서비스를 거부하도록 하는 이상의 악의적인 시도.

 

실행 파일 (Executable File)

사용자가 파일 아이콘을 클릭하거나 명령을 통해 실행될 자동 작업을 실행하기 위한 일련의 지침이 포함된 컴퓨터 파일.

 

악용 (exploit)

특정 보안 취약점을 공격하는 소프트웨어, 명령 또는 방법론이다. 익스플로잇은 의도가 항상 악의적인 것은 아니며 때때로 취약점이 존재함을 입증하는 방법으로만 사용된다. 그러나 이들은 멀웨어의 일반적인 구성 요소이기도하다.

 

인스턴트 메시징 (Instant messaging)

통신과 온라인 감지 개념을 중심으로 구축된 개인 또는 비즈니스 통신용 애플리케이션. 이러한 응용 프로그램을 사용하면 텍스트 채팅, 오디오, 비디오 또는 파일 전송을 통한 협업이 가능해진다.

 

인터넷 릴레이 채팅 (Internet Relay Chatting)

일련의 규칙과 클라이언트/서버 소프트웨어를 포함하는 채팅 시스템.

 

키로거 (Keyloggers)

키보드를 두드리는 키를 일반적으로 은밀하게 기록(로깅)하는 동작으로, 키보드를 사용하는 사람은 자신의 동작이 모니터링되고 있다는 사실을 모를 있다. 그런 다음 로깅 프로그램을 작동하는 사람이 데이터를 검색할 있다. 키로거는 소프트웨어 또는 하드웨어일 있다.

 

악성 크립토 마이너 (Malicious Crypto Miners)

시스템 리소스를 사용하여 대규모 수학적 계산을 해결하여 솔버에게 일정량의 암호화폐를 제공하는 소프트웨어이다. 마이닝은 독립형 마이너를 사용하거나 마이닝 풀을 활용하는 가지 방법이 있다. 채굴 소프트웨어는 CPU 리소스와 전기에 모두 의존한다. 시스템에 마이닝이 시작되는 것이 중요하며 마이너가 제거될 때까지 지속적으로 수익을 창출하게된다.

 

악성 모바일 코드 (Malicious Mobile Code)

일반적으로 사용자의 명시적 지시 없이 원격 호스트에서 로컬 호스트로 전송된 다음 로컬 호스트에서 실행되는 악의적인 의도를 가진 소프트웨어이다. 악성 모바일 코드에 널리 사용되는 언어로는 Java, ActiveX, JavaScript VBScript 있다.

 

유효 탑재량 (Payload)

데이터 삭제, 스팸 전송 또는 데이터 암호화와 같은 악의적인 작업을 수행하는 또는 바이러스와 같은 멀웨어도 포함할 있는 데이터 전송의 일부다. 패킷 헤더는 출발지와 목적지를 나타내지만 실제 패킷 데이터는 페이로드라고 한다.

 

판매 시점 멀웨어 (Point of Sale (POS) Malware)

사이버 범죄자가 소매점 체크아웃 POS 시스템에서 장치 메모리를 읽어 신용 카드 직불 카드 정보를 얻을 목적으로 POS(Point of Sale) 단말기를 대상으로 사용하는 악성 소프트웨어 유형이다. POS 악성코드는 거래 결제 데이터를 처리하고 도용하기 위해 해커에 의해 출시된다. 일반적으로 암호화되어 결제 승인으로 전송되는 카드 정보는 POS 악성코드에 의해 암호화되지 않고 사이버 범죄자에게 전송된다.

 

잠재적으로 불필요 프로그램 또는 응용 프로그램 (Potentially Unwanted Programs or Applications)

사용자가 원치 않는 것으로 인식할 있는 소프트웨어이다. 여기에는 애드웨어, 스파이웨어 또는 브라우저 하이재커가 포함될 있다. 이러한 소프트웨어는 개인 정보를 손상시키거나 컴퓨터 보안을 약화시킬 있다. 회사는 종종 원하는 프로그램 다운로드를 래퍼 응용 프로그램과 함께 번들로 제공하고 경우에 따라 명확한 옵트아웃 방법을 제공하지 않고 원치 않는 응용 프로그램을 설치하도록 제안할 있다.

 

루트킷 (rootkit)

시스템 정보를 제공하는 운영 체제 API 호출을 가로채서(, 후킹) 수정하여 멀웨어의 존재를 숨기는 프로그램이다. 루트킷 또는 루트킷 활성화 기능은 하이퍼바이저, 마스터 부트 레코드 또는 시스템 펌웨어를 포함하도록 운영 체제의 사용자 또는 커널 수준 이하에 있을 있다. 공격자는 루트킷을 사용하여 프로그램, 파일, 네트워크 연결, 서비스, 드라이버 기타 시스템 구성 요소의 존재를 숨길 있다. 루트킷은 Windows, Linux Mac OS X 시스템에서 사용가능하다.

 

사회공학 (Social Engineering)

그룹이나 개인으로부터 정보를 끌어내기 위해 신뢰를 바탕으로 정보를 캐내는 것을 사회 공학이라고 한다. 예를 들어 시스템이나 정보에 대한 무단 액세스를 얻기 위해 회사에 전화하거나 이메일을 보내는 일들은 사회공학으로 분류된다.

 

스파이웨어 (Spyware)

사용자 모르게 개인 또는 조직에 대한 정보를 수집하는 것을 목표로 하는 소프트웨어, 이러한 정보를 소비자의 동의 없이 다른 주체에 보낼 있거나 소비자가 모르는 사이에 장치에 대한 제어 권한을 주장하는 소프트웨어이다.

 

크롤러 (Web Crawlers)

인터넷을 체계적으로 탐색하고 페이지 콘텐츠 링크를 포함하여 데이터를 색인화하는 프로그램이다. 이러한 크롤러는 HTML 코드 검색 엔진 쿼리의 유효성을 검사하여 페이지 또는 존제하지 않는 링크를 식별하는 도움이 된다.

 

와이퍼 (Wipers)

내부 파일 테이블을 암호화하는 페이로드로 마스터 부트 레코드를 감염시키는 기능과 같은 디스크 삭제 메커니즘이 포함된 파괴적인 악성코드 유형이다. 와이퍼는 공격을 받은 프로세스나 구성 요소를 최종 사용자에게 쓸모없게 만든다.