NS-12 악성코드

강준호·2023년 11월 21일

네트워크보안

목록 보기
8/10

악성 코드 분류

확산 방법 상 유형

Payload 상의 유형

은닉 방법에 따른 분류

암호화 바이러스

  • 암호문과 키가 매번 달라져 위치 찾기 어려움.
  • 랜덤키로 나머지 부분 암호화 키는 암호문에 숨겨둠 (키와 암호문을 구분
    못함)
    • 실행되면 자신이 아는 위치에서 키를 꺼내 복호화
    • 복제시마다다른키를사용
    • 암호문과 키가 매번 달라지므로, 방어자가 키의 위치를 찾기 어려움

폴리모픽 바이러스

  • 감염시 마다 프로그램 수정.

메타모픽 (Metamorphic) 바이러스

• 폴리모픽+
• 실행시마다변이
• 동작도실행시마다달라질수있음

웜과 기타 확산

  • '증식' 을 통한 리소스 고갈이 목적.

전송 수단

• 메일, 메신저
• 파일공유
• Remote execution
• Remote 파일 공유
• Remote login

전송 대상 찾기

• host tables, address books, buddy lists, trusted peers 뒤지기
• 네트워크 Scanning

모리스 웜

▶로버트 모리스, 1988
▶인터넷에 확산, UNIX 시스템 대상
▶실행되면 현재 호스트를 신뢰하면 다른 호스트를
찾음
▶찾은 호스트에 대해 다음 수단을 시도하여 공격
• 리모트 호스트에 로그인 시도
• UNIX finger protocol 버그 활용, which reports
• 리모트 프로세스 디버그 옵션의 취약점 활용

모바일 코드

  • ex) 바이러스, 웜, 트로이목마

바이러스와 트로이목마는 차이가 있음.
웜: 프로그램 하나가 있는데 개가 돌아다니면서,
바이러스는 다른 프로그램에 붙는애
트로이 목마: 기능을 수행하는 프로그램인데, 그 안에 악성코드가 추가로 있는것.

드라이브 바이 다운로드

  • 악성 웹사이트에 접근하기만 해도 악성코드 다운로드나 설치가 일어남
  • 브라우저 취약성 이용
  • 악성 웹사이트로의 유도 방법이 문제

워터링홀 (Watering-hole) 공격

  • 정상적인 웹사이트에 드라이브 바이 다운로드를 설치하는것.

CLICKJACKING 클릭재킹

UI redress 공격

  • 웹사이트 버튼 아래 버튼 숨겨놓기

키스트로크 하이재킹

  • 다른창에서 입력을 받는것.(로그인창에 비밀번호 친줄 알았는데)

스팸

▶벌크 이메일
▶Costs를 부가
• 네트워크에 트래픽 부하
• 사용자에겐 스팸 걸러내는 부담
▶최근에는 봇넷에 의해 전송 ▶악성코드 이송 수단 ▶피싱 공격에 활용

트로이 목마

▶히든 코드를 가진 프로그램
• attach 되어 감염된 코드와 구분
▶세가지 모델
• 정상 프로그램 기능을 수행하며 악성행위 병행
• 정상 프로그램의 기능을 변형하여 악성 행위 수행
• 정상 프로그램의 기능을 완전히 수정하여 악성 행위만 수행

PAYLOAD – 시스템 오염

▶감염된 시스템의 데이터 파괴
▶시스템이나 컨텐츠에 이상한 메시지 출력
▶사용자 데이터를 암호화시키고 돈을 요구 (랜섬웨어)
▶물리적 손상
• 바이오스 코드 변경
▶논리 폭탄
• 특정 조건이 맞으면 실행되는 악성 행위

ATTACK AGENT

▶ Bot (robot), zombie, drone
• 감염된 컴퓨터를 조종하여 악성행위
• botnet : bot들의 콜렉션
▶ Bot의 용도
• DDoS 공격, 스팸메일 발송
• 트래픽 감청, 키로깅
• 악성코드 배포
• 여론조사 조작, 댓글 조작
▶ 원격 조종
• 웜과 구분되는 특징
• IRC, Http 둥 사용
• 최근엔 P2P 네트워킹을 사용하는 경우도
• 추가 프로그램을 다운받아 실행하도록 하는 경우도

PAYLOAD – STEALTHING

▶백도어, 트랩도어
• 통상의 보안 절차 (접근제어 등)을 거치지 않고 실행되는
프로그램 내의 실행 포인트
• 특정한 입력을 감지하여 실행
• 또는 특정한 사용자 id나 특정한 event가 연속으로 일어날 때
• 또는 특정 네트워크 port를 listen

▶ Rootkit
• 프로그램,실행시루트권한획득
• 시스템의 모든 것을 컨트롤

  • 프로그램이나 파일 변경
  • 프로세스 모니터링
  • 네트워크 패킷 전송
    • 프로세스나파일등에관한동작을숨겨,자신을은닉

대응 방안


DOS 공격 실습

DOS 공격

공격자는 자원을 조금만 쓰고, 피해자의 자원을 많이 쓰는 방법

PING OF DEATH 공격

공격 원리

  • ping 명령을 사용하여 비정상적으로 큰 ICMP 패킷을 보내는 것
  • 큰 ICMP 패킷 전송 -> 네트워크를 통해 더 작은 조각으로 조각화 -> 시스템은 조각을 재조립하려고 시도하므로 과부하가 발생 -> 시스템 충돌이 발생

보안 조치

  • 특정 크기 또는 수의 ICMP 패킷을 무시.
  • 소프트웨어 패치를 적용하여 취약점을 수정

SYN Flooding 공격

공격 원리

  • 공격자는 서버에 대량의 SYN 패킷을 쏟아 붓고, 서버는 이에 대해 SYN/ACK 패킷으로 응답.

  • 그러나 공격자가 필요한 ACK 패킷을 반환하지 않음. -> 서버에는 열려 있고 불완전한 연결이 많이 남아 리소스가 고갈. -> 합법적인 요청을 처리할 수 없으므로 서비스 거부가 발생.

보안 조치

  • 시스템 패치, 침입탐지/방지 시스템 설치, 반복적인 패킷을 보내는 IP 차단 등이 포함됩니다.
  • 서버가 SYN/ACK 패킷의 Syn_Cookie로 응답하는 Syn_Cookies를 사용해, 유효한 ACK 응답을 받은 경우에만 세션을 계속할 수 있도록.

Smurf attack

공격 원리

  • 공격자가 의도한 피해자의 IP 주소를 소스로 스푸핑 -> IP 브로드캐스트 주소로 대량의 ICMP(인터넷 제어 메시지 프로토콜) 요청 -> 대상 네트워크의 모든 장치가 이러한 요청을 수신하고 응답. 일종의 DDoS(분산 서비스 거부) 공격.

  • Ex) 누군가가 대규모 그룹(방송 네트워크)에게 편지를 보냈지만 자신의 반송 주소 대신 다른 사람(피해자)의 주소를 사용하는 시나리오

  • 이로 인해 브로드캐스트 도메인의 모든 호스트가 피해자에게 응답하여 네트워크를 압도하게 됩니다. hping3 및 Wireshark와 같은 도구는 이 공격을 시뮬레이션하고 관찰하는 데 사용됩니다.

보안 조치

  • 브로드캐스트 주소로 전송된 패킷에 응답하지 않도록 네트워크 장치를 구성

과제 1

PING OF DEATH

ping 192.168.1

request /reply 가 잘되야함

자기 host 써서

sudo hping3 --icmp --rand-source 호스트IP –d 65000
ex)
	sudo hping3 --icmp --rand-source 10.21.20.176 –d 65000

과제 2

netstat 으로 윈도우에서 보면

  • tcp ==80

10.21.20.176
192.168.245.128

과제 3

스머프 공격

  • ICMP(인터넷 제어 메시지 프로토콜)와 IP 브로드캐스트 주소 지정을 악용하여 대상에 트래픽을 쇄도하는 DDoS(분산 서비스 거부) 공격의 한 유형

src 가 dst 한테 ICMP reply 보내면 응답을함. => 정상적

sender address 를 공격 대상자의 것으로 하여 보냄.

난 broadcast 로 한번 보냈는데 100명이 대상자의 컴퓨터에 reply 를 보냄.

그러면 공격대상이 많은 reply 를 다 처리해야함으로 + 네트워크 처리 => 엄청난 부하

sudo hping3 게스트IP –a 호스트 real IP --icmp

ex)
	sudo hping3 192.168.245.128 -a 10.14.4.235 --icmp

게스트IP 는 피해자, 호스트 real IP 는 (스푸핑으로 인해) 패킷이 전송되는 것처럼 보이는 주소

진짜 smurf attack 는 외부에서 하지마.


객관식 문제

다음 중 컴퓨터 웜의 특징이 아닌 것은?

a) 확산을 위해 사용자 상호작용이 필요하다.
b) 다른 컴퓨터로 확산하기 위해 스스로 복제한다.
c) 시스템 리소스를 고갈시킬 수 있다.
d) 종종 네트워크 취약점을 악용한다.

  • 웜은 사용자 개입이나 개입 없이 다른 컴퓨터로 확산될 수 있는 자가 복제 악성 코드입니다.
  • 웜은 전파되기 위해 사용자가 프로그램을 실행하거나 파일을 열 필요가 없습니다.
  • 대신, 그들은 취약점이나 보안 약점을 독립적으로 악용하여 자신을 복제하고 다른 시스템을 감염시킬 수 있습니다.

멀웨어의 맥락에서 트로이 목마의 주요 기능은 무엇인가요?

a) 복제하여 다른 시스템으로 퍼뜨리는 것
b) 다른 멀웨어를 숨기는 것
c) 사용자 모르게 비밀리에 기능을 수행하는 것
d) 사용자 데이터를 암호화하고 몸값을 요구하는 것

  • 트로이 목마는 일반적으로 피해자의 컴퓨터나 네트워크에 액세스하기 위해 자신을 합법적이거나 무해한 소프트웨어로 위장하여 중요한 정보를 훔치거나 공격자에게 원격 액세스를 제공하거나 다른 형태의 사이버 공격을 촉진하는 등 다양한 악의적인 활동을 수행할 수 있습니다.
  • 바이러스나 웜과 달리 트로이 목마는 자가 복제하지 않고 속임수를 사용하여 악의적인 기능을 실행합니다.

'드라이브 바이 다운로드' 공격이 트로이의 목마와 구별되는 점은 무엇인가요?

a) 멀웨어를 다운로드하려면 사용자의 권한이 필요합니다.
b) 오래된 브라우저 소프트웨어만 표적으로 삼습니다.
c) 사용자 상호작용 없이 자동으로 멀웨어를 다운로드하고 설치합니다.
d) 이메일 링크를 클릭할 때만 트리거됩니다.

  • 트로이 목마가 악성 기능을 실행하려면 일반적으로 어떤 형태의 사용자 상호 작용이나 속임수가 필요

  • 반면, "드라이브 바이 다운로드" 공격은 피해자의 시스템에 악성 코드를 자동으로 다운로드하고 설치한다는 점입니다.

  • 사용자 상호 작용이나 허가 없이. "드라이브 바이 다운로드" 공격에서는 손상된 웹사이트를 방문하거나 악성 광고를 보는 것만으로도 피해자의 컴퓨터에 악성 코드가 다운로드 및 설치될 수 있으며, 종종 브라우저나 브라우저 플러그인의 취약점을 악용할 수 있습니다.

  • 이는 "드라이브 바이 다운로드" 공격을 특히 은밀하고 위험하게 만듭니다.

다음 중 죽음의 핑 공격을 정확하게 설명하는 것은?

a) 과도한 트래픽으로 네트워크 과부하 발생
b) 지나치게 큰 핑 패킷을 전송하여 시스템을 다운시키는 것
c) 핑 요청을 통해 시스템을 바이러스로 감염시키는 행위
d) 핑 명령을 사용한 데이터 탈취

SYN 플러딩 공격의 주요 목표는 무엇인가요?

a) 네트워크 데이터 손상
b) TCP 연결 시퀀스의 취약점을 악용하기 위해
c) 악성 스크립트를 네트워크에 주입하기 위해
d) 네트워크 통신을 도청하기 위해

  • TCP(전송 제어 프로토콜) 연결 시퀀스의 취약점을 악용하는 것입니다.
  • 대량의 TCP 연결 요청으로 대상 서버를 압도하여 서버 리소스를 소비하고 합법적인 TCP 연결 설정 기능을 방해합니다.
  • 공격은 TCP 핸드셰이크 프로세스의 약점을 악용하여 합법적인 사용자에 대한 서비스 중단 또는 서비스 거부(DoS)를 유발하는 것을 목표로 합니다.
  • 네트워크 데이터 손상, 악성 스크립트 삽입, 도청이 주요 원인이 아닙니다.

스머프 공격에 효과적인 전략은?

a) 들어오는 모든 트래픽 암호화
b) 라우터에서 ICMP 트래픽 차단
c) 바이러스 백신 소프트웨어의 정기적 업데이트
d) 강력한 비밀번호 정책 구현

  • 스머프 공격을 완화하기 위한 효과적인 전략은 라우터에서 ICMP(인터넷 제어 메시지 프로토콜) 트래픽을 차단하거나 제한하는 것입니다.
  • 스머프 공격은 ICMP 트래픽, 특히 ICMP 에코 요청(ping) 패킷을 남용하여 공격 트래픽을 증폭하고 반사합니다. - ICMP 트래픽을 차단하거나 범위를 제한하기

표준 DoS 공격과 비교하여 DDoS(분산 서비스 거부) 공격의 주요 특징은 무엇입니까?

a) 웹 서버만을 대상으로 합니다.
b) 단일 소스에서 발생합니다.
c) 대상을 공격하는 손상된 여러 시스템이 포함됩니다.
d) 충격에 있어서는 덜 심각하다.

기존 DoS 공격

  • 공격 트래픽은 일반적으로 단일 소스 또는 제한된 수의 소스에서 시작됩니다.

DDOS 공격

  • DDoS 공격은 인터넷에 분산되어 대상을 동시에 공격하는 여러 개의 손상된 시스템이 포함된다는 것입니다.
  • DDoS 공격은 일반적으로 봇넷이나 손상된 장치 네트워크의 공동 노력이 필요하기 때문에 더 강력하고 완화하기 어렵습니다.
  • 이로 인해 악성 트래픽을 필터링하고 서비스 가용성을 유지하기가 어렵습니다.

다음 중 네트워크 침입을 탐지하는 일반적인 방법이 아닌 것은 무엇입니까?

a) 서명 기반 탐지
b) 이상 기반 탐지
c) 행동 기반 탐지
d) 알파벳 기반 탐지

  • a) 서명 기반 탐지: 이 방법은 네트워크 트래픽 패턴을 알려진 공격 서명 또는 패턴과 비교하여 네트워크 침입을 식별합니다.
  • b) 이상 기반 탐지: 설정된 기준선 또는 정상적인 네트워크 동작과의 편차를 표시하여 네트워크 침입을 탐지합니다.
  • c) 행동 기반 탐지: 이 접근 방식은 시스템이나 사용자와 같은 네트워크 개체의 행동을 분석하여 침입을 식별하고 탐지합니다.

주관식 문제

'지능형 지속 위협'(APT)의 개념에 대해 토론하세요. 다른 형태의 멀웨어 공격과 다른 점은 무엇인가요?

APT 란

  • 공격자가 네트워크에 무단으로 액세스하고 오랫동안 탐지되지 않는 정교하고 장기적인 사이버 공격입니다.

  • APT는 지속적이고 은밀하며 복잡한 방법을 사용하여 네트워크에 침투하여 네트워크 내에 머무르는 방식으로 표적화됩니다. 즉각적인 이득 목표가 아님! 장기적인 공격

  • 이는 기존 악성 코드 공격에 비해 더 심각하고 지속적인 위험을 초래합니다.

네트워크 환경에서 웜 공격을 완화하고 대응하기 위한 다양한 전략을 설명하세요.

바이러스와 웜의 차이점

전파 방법

  • 바이러스는 다른 파일이나 시스템을 감염시키려면 사용자 상호 작용(예: 파일 열기 또는 프로그램 실행)이 필요.
  • 반면, 웜은 사람의 개입 없이 자동으로 확산 가능

종속성

  • 바이러스는 파일이나 프로그램에 자신을 첨부하여 실행해야
  • 반면, 웜은 다른 프로그램에 첨부할 필요가 없는 독립 실행형 소프트웨어입니다.

영향

  • 바이러스는 종종 호스트 시스템의 파일을 손상시키거나 수정
  • 반면, 웜은 주로 시스템 리소스를 소비하여 빠른 자체 복제를 통해 네트워크와 시스템 속도를 저하시킵니다.

SYN 플러딩 공격의 메커니즘을 설명하고 네트워크 수준에서 구현할 수 있는 효과적인 대응책에 대해 토론하세요.

SYN 플러딩

  • 공격자는 대량의 SYN 패킷을 보내 TCP 연결을 시작하지만 핸드셰이크 프로세스를 완료하지 않습니다.
  • 이로 인해 연결이 절반만 열려 서버 리소스가 소모.

대응책

  • Syn 쿠키: 서버는 특수 제작된 SYN-ACK 패킷으로 응답하며 유효한 응답을 받은 경우에만 전체 연결을 설정합니다.
  • 방화벽/라우터 구성: 불법적인 SYN 패킷을 필터링합니다.
  • 침입 감지 시스템: SYN 플러딩을 나타내는 패턴을 모니터링하고 식별합니다.
  • 타임아웃 감소: 서버가 ACK 응답을 기다리는 시간을 줄입니다.

네트워크 환경에서 스머프 공격을 식별하고 완화하는 방법을 포함하여 스머프 공격의 과정과 영향에 대해 설명하세요.

스머프 공격 과정

  • 공격자는 스푸핑된 피해자의 IP 를 사용하여 네트워크의 브로드캐스트 주소로 ICMP 요청을 보냄. -> 네트워크의 모든 장치는 이런 요청에 응답해 피해자의 네트워크를 압도.

대응책

  • ICMP 트래픽의 비정상적인 급증을 모니터링하기.
  • 브로드캐스트 요청에 응답하지 않도록 네트워크 장치를 구성, 스푸핑된 주소가 있는 패킷 차단
  • ICMP 트래픽에 대한 속도제한을 구현.

제로데이 공격의 개념과 의미에 대해 토론합니다. 조직은 이러한 예상치 못한 위협에 어떻게 대비할 수 있습니까?

네트워크 인프라에 대한 DDoS 공격의 영향을 완화하는 데 사용할 수 있는 전략과 도구를 설명합니다.

0개의 댓글