보안 및 블록체인/보안

해커 공격방식 정리

1Seok 2022. 4. 26. 13:00

1) IT assets and network infrastructure

  • Malware or Malicious Software - 컴퓨터, 서버, 클라이언트, 컴퓨터 네트워크에 악영향을 미칠 수 있는 모든 소프트웨어
  • Armored Virus - 코드를 강화해서 Malware대비용 '역공학'이나 'AntiVirus' 구축하기 어렵게 만듬 
    • 역공학 - 개발 단계를 역으로 올라가 기존 개발된 시스템의 코드나 데이터로부터 설계 명세서나 요구 분석서 등을 도출
    • AntiVirus- 컴퓨터의 바이러스등의 악성코드를 탐지하고 방어하기 위한 유틸리티 소프트웨어
  • Ransomware의 종류인 Crytptolocker - 암호 해독키를 얻기 위해서 돈을 요구하기 위해 중요한 파일이나 데이터를 암호화하는 랜섬웨어의 유형
  • Polymorphic Malware software
    • 감염될 때마다 자신의 모습을 바꿔 사용자나 백신프로그램이 알지못하게함
    • 코드 내부는 바뀌지 않음
    • 변경된 버전을 생성할 수 있으므로 안티바이러스를 보고 수정
  • Metamorphic Malware 
    • 반복될 때마다 코드와 서명패턴을 변경할 수 있는 악성코드
    • 코드 내부가 바뀜
    • Mutation Engine을 통해 VDR(Virus Decryption Routine)과 EVB(Encrypted Virus Body)를 바꿈
  •  

2) Attack Tools

  • Protocol Analyzer(Packet sniffer)
    • 패킷의 헤더 정보를 분석해서 패킷의 정보를 탐색
    • 데이터 패킷을 보고, IP 데이터 패킷 디코딩
  • Vulnerability 와 Exposure
  • Exploit Software
    • 공격자가 소프트웨어가 취약한지 평가 및 침임 테스트를 진행할 때 Exploit Software사용
    • 시스템의 취약점을 악용하기 위해 알려진 소프트웨어 취약점, 데이터 및 스크립트된 명령을 통합하는 
      응용 프로그램
  • Password Cracker
    • A brute-force password attack(무차별 대입 공격) - 시스템에 접근하기위해 모든 가능한 조합에 대해 패스워드를 무작위로 맞을때까지 입력하는 방식
    • A Dictionary Password attack(패스워드 사전을 활용한 공격) - 사용자가 작성하기 쉬운 패스워드들의 조합들이 저장되어 있는 데이터 사전을 통해서 사용자의 계정에 로그온
      짧고 간결한 조합일 수록 위험함
  • Denial of Service(DOS)
    • Logic attack - 시스템의 보안 허점을 통해 악용되는 비표준 트래픽에 의존
    • Flood attack - 해당 서버에 많은 양의 요청을 보내어 해당 서버에 있는 자원(CPU, Memory)을 활용할 수 없을 정도로 받아 서비스 이용을 할 수가 없게 만드는 공격  
      Ex. Packet Flood, SYN Flood, Smurfing
      1. Packet Flood - TCP나 ICMP같은 일반적인 인터넷 프로토콜을 사용해서 네트워크 상태에 잘못된 정보를 제공
      2. SYN Flood - 3 HandShake 과정에서 clien가 SYN을 보내고, Server가 ACK에 대한 응답을 보낼 때, Client가 이ACK를 무시하고 계속 SYN만 보내 Server가 계속 ACK응답을 보내게 만들어 자원을 초과 시키는 공격방식
        해결방법 - 중간에 방화벽을두거나, Proxy Server둠으로 막을 수 있음 
      3. Smurfing - User가 패킷헤더에 목적지주소를 Victim주소로 해놓고, 브로드캐스트를 날려서 주변에 있는 다른 User들이 모두 Victim주소로 요청을해 자원을 초과시켜 서비스 거부
      4. Ping Flood - 패킷에서 Victim에게 ICMP를 지속적으로 전송하여 서버에서 ICMP요청 응답으로 서비스사 거부되는 공격방법 
      5. Ping of Death - 패킷의 양을 65,535보다 초과시켜 예상하지못한 오류를 발생기키는 공격방식
  • Backdoor - 기존에 프로그램내에서 공격자가 접근할 수 있는 공격루트를 만들어 접근 통로를 쉽게 뚫어 권한을 얻고 접근할 수 있도록 진행하는 공격방식
    • Rootkit - 시스템 접근권한을 쉽게 얻을 수 있도록 백도어를 포함하는 악성 프로그램

3) Threat Types

  • Passive threats - 시스템이 직접 접근하지 않고 도청이나 모니터링을 통한 위협
  • Active threats - 네트워크를 통해 시스템에 직접 접근하여 데이터를 수정하는 등 실질적으로 접근해 공격 

 

4) Malicious Attacks

  • Birthday attack
    • 조직내에 2명이상이 생일이 같은 확률을 통한 확률을 기반으로한 공격방식으로
      공식 : 1 - {365! / (365^n)*(365-n)!}
      Birthday attack은 해쉬 충돌이 발생할 확률을 구해서 모든 값을 대입하지 않아도 확률적 통계를 얻어내서 공격
  • Password attack
    • A Brute-force Password attack(무작위 대입 공격) - 패스워드로 가능한 모든 조합들을 사용해서 무작위로 대입해 매칭될 때까지 공격 
    • A dictionary Password attack(사전 공격) - DB에 기록된 패스워드로 사용될 짧은 조합을 활용하여 대입의 매칭 가능성을 더 높임
    • A precomputed dictionary attack(사전 계산된 공격) - 해시 값과 입력값을 저장해둔 레인보우 테이블을 활용하여 미리 계산함
  • IP Address Spoofing - IP주소를 Victim의 주소로 변환하여 해당 IP에 허가된 시스템에 쉽게 접근할 수 있도록 하는 공격 
    • ARP(Address Resolution Protocol) attack - LAN에서 공격자가 IP와 MAC주소로 변경하여 ARP메시지를 발송하면, 메시지를 받은 장비는 IP주소를 공격자 MAC으로 인식하고, Victim의 데이터 패킷을 가로채는 중간자 공격기법 
    • Xmas Attack - TCP 헤더에서 Flags(6개 1bit)에 있는 값들을 1로 변경시켜 예를들면 URG를 1로 변경시켜 과한 프로세스 처리를 하게 만드는 방식
  • Hijacking - 공격자가 두 장치 or 기계 사이의 세션을 가로채는 중간자 공격
    • Man-in-the-middle-hijacking - 공격자가 메시지에 대한 액세스 권한을 얻거나 재전송 전에 수정
    • Browser or URL hijacking -  공격자가 만든 가짜페이지로 연결시켜 개인정보를 훔쳐가는 방법 금융권에서 굉장히 위험하게 사용될 수 있음
    • Session hijacking - 이미 접속되어 있는 세션을 가로채서 비밀번호나 아이디를 몰라도 Victim의 상태를 가로채는 방식
  • Pharming(파밍) - 악성코드를 감염시켜 원래의 주소로 들어가더라도 공격자의 사이트혹은 주소 유도하는 고도화된 방식
  • Infecting Programs - 복사하거나 프로그램을 실행시켜 다른 PC에 감염되는 방식 
    • 바이러스 - 파일에 감염되어 파일이 복사되어 다른 PC로 전송됨으로 써 전파되는 악성프로그램, 주체가 존재해야 감염가능
    • 웜 - 바이러스와 다르게 주체 필요없이, 스스로 실행이 가능하고 점점 느리게 만듬
  • Hiding Programs - 프로그램내에서 숨어있다가 공격자가 공격을 원할 때 실행시키는 프로그램
    • 트로이목마 - 정상적인 프로그램으로 위장하여 시작부터 끝까지 램에 상주하며, 시스템 내부 정보를 공격자의 컴퓨터로 빼돌리는 프로그램트로이 목마의 거의 99.9%는 불법 파일이나 프로그램등을 다운로드할때 전파
    • 스파이웨어 - 사용자 모르게 인터넷을 통해서 사용자의 정보를 수색해 사용자 정보를 수집