1. 악성코드란?
1) 악성코드(Malicious code)
악성코드(Malicious code) : 악성 행위를 위해 개발된 컴퓨터 프로그램 또는 소프트웨어
(= 멀웨어 Malware)
- 네트워크 발전에 따라 이메일이나 웹을 통한 감염이 증가
- 랜섬웨어 : 피해자 PC의 중요 파일들을 불법으로 암호화한 후 돈을 요구하는 악성코드
2) 종류와 특징
(1) 바이러스
바이러스 : 자기 자신을 다른 프로그램의 내부에 복제하는 프로그램
- 숙주 프로그램이 실행될 때 같이 실행되며 "자기복제" 코드를 실행
- => 바이러스 실행되며 다른 프로그램 내부로 자기 복제, 감염 프로그램 늘어남
- 악질적인 바이러스 : 파일 삭제 혹은 시스템을 망가뜨리는 등 악성 행위 수행
- 자기 복제 가능, 독립 실행 불가능
(독립 프로그램 X)
(2) 웜
웜 : 독자적으로 실행되는 프로그램
- 자기 스스로 다른 시스템에 전파 : 네트워크를 통해 스스로 전파하는 악성코드
- 운영체제 등의 취약점을 이용
- 메모리나 CPU 자원을 대규모로 낭비하여 시스템 느리게 만듦
- 자기 복제 가능, 독립 실행 프로그램
(3) 트로이 목마
트로이 목마 : 정상 프로그램처럼 위장해서 동작하는 악성코드
- 자기 복제 불가능, 독립 실행 불가
(다른 프로그램 내부에 기생하며 동작) - 링크를 클릭하거나 인터넷 검색을 통해 내려받은 불법 소프트웨어가 실행 또는 설치될 때 전파됨
- 백도어 : 원격에서 공격자의 조종을 받도록하는 프로그램
- => PC내 저장된 중요 정보를 외부 공격자에게 유출, 공격자가 감염된 PC 원격 조종
- 자폭 기능 : 트로이 목마 삭제시 컴퓨터 무한 리부팅 등 시스템을 망가뜨림
(4) 스파이웨어
스파이웨어 : 컴퓨터의 정보를 수집하고 외부에 전송하는 트로이 목마의 한 종류
- 공격자가 원격에서 조종하는 기능 없이 단지 정보를 수집하여 전송
- => 직접 망가뜨리기보다는 정보 탈취가 목적
(신용카드 비밀번호, 주민번호등의 개인정보유출)
(5) 애드웨어
애드웨어 : 다른 프로그램이 실행될 때 자동으로 광고 표시하는 프로그램
- 보안상 상당히 위험한 악성코드일 수 있기에 제거 권고
(6) 하이브리드 형태의 악성코드
하이브리드 형태의 악성코드 : 웜과 바이러스가 결합한 웜 바이러스
- 웜의 방식으로 네트워크를 통해 자동 전파
- 바이러스처럼 PC 내 다른 프로그램 또는 파일들 감염
(7) 봇
봇 : 트로이 목마와 웜의 조합, 공격자의 명령을 받는 감염된 PC 또는 악성코드
- DDoS에 사용 : 다수의 PC를 탈취하고 일시에 네트워크 공격 수행
- 봇넷 : 봇들이 연결된 네트워크
- 봇마스터 : 봇들을 조종하는 공격자
(8) 하이재커
하이재커 : 사용자를 원하지 않는 사이트로 이동시키거나 팝업창을 띄우는 악성코드
- 사용자의 웹 환경을 조작하는 악성코드
(9) 논리폭탄
논리폭탄 : 특정조건이 만족할 때 파괴 행위를 하도록 작성된 악성코드
- 공격자가 의도한 조건이 만족되면 실행, 일반적인 방법으로는 발견 어려움
ex) 개발자가 자신이 퇴사하면 15일 후에 자료 삭제하는 논리 폭탄 코드 실행
2. 바이러스
1) 역사
- 최초의 컴퓨터 바이러스 : 1971 크리퍼 바이러스
- 현재와 같은 개념의 바이러스 : 1986 브레인 바이러스
- 최근 : 이전에는 윈도우가 주 감염 대상, 최근에는 Mac OS와 리눅스, 안드로이드 같은 다양한 OS를 대상이 넓어짐
2) 바이러스 분류 : 공격 대상 기준
- 부트 바이러스 : 부트 섹터 공격
- 파일 바이러스 : 실행되는 모든 파일
- 부트/파일 바이러스 : 부트 섹터와 실행되는 모든 파일
- 매크로 바이러스 : 오피스 문서
(엑셀,워드 등)
3) 부트 바이러스
부트 바이러스
: 운영체제가 정상적으로 부팅되지 못하도록 하거나 시스템 파일을 감염시켜 시스템 자체를 느리게 만드는 바이러스
=> 즉, 컴퓨터가 부팅될 때 컴퓨터가 읽어들이는 디스크의 가장 처음 부분인 부트 섹터를 감염시킴
- 운영체제가 실행되기 전에 먼저 실행
- 플로프 디스크 사용되던 1990년대에 주로 활약 : 브레인,몽키, 미켈란젤로 바이러스 등
- but, 최근에는 HDD 기반의 운영체제라 거의 발견되지 않음
4) 파일 바이러스
파일 바이러스 : 바이러스가 메모리에 상주하며 실행되는 모든 파일에 자신을 복제하여 감염시키는 바이러스
- 사용자가 실행 파일 실행 시 숨어있던 바이러스가 함께 실행되고, 다른 실행 파일로 자신을 복제
- 메모리 상주 : 바이러스 한번 실행된 뒤 메모리에 남아있다가 다른 프로그램 실행될 때마다 감염 시도
ex) 예루살렘, 일요일, 전갈, 까마귀
- 바이러스 이름 체계
(1) 초기에는 발견자 마음대로, 지역별로, 보안 업체별로 다양하게 명명함
(2) CARO 설립에 따라 명명체계 도입 : 유형 - 플랫폼(OS) - 패밀리명 (주요특징, 발견자이름) - 변종 (알파벳이나 숫자로 구분)
- 백신 프로그램
백신 프로그램 : 바이러스 치료 또는 탐지를 위해 개발된 프로그램
(1) 바이러스 프로그램에서만 보이는 특정 코드 패턴을 검사하여 바이러스 여부 판단
(2) 백신 업데이트 : 새로 발견한 바이러스 코드의 패턴 갱신
- 파일 바이러스의 방어 매커니즘 및 대응
(1) 파일 바이러스는 백신 프로그램을 피하기 위해 자신의 코드를 암호화하여 저장하거나 은폐 기능을 통해 일정 기간 잠복
(2) 다형성 바이러스(Self-garbling Virus) : 자신의 코드 자체를 주기적으로 변경하여 탐지 어렵게 함
(3) 백신회사의 대응 : 새로운 공격 방식과 패턴이 등장할 때마다, 탐지 규칙을 찾아 대응
(업데이트)
5) 부트 / 파일 바이러스
부트 / 파일 바이러스 : 부트 섹터와 실행 파일 모두를 공격하는 바이러스
- 대표적인 예
(1) 침입자(Invader) : 1990 초 국내에서 유행한 바이러스, 처음에는 단순한 구조였으나, 다양한 변종이 나타나며 피해커짐
(2) 안락사(Euthansia) : 1990 중반에 유행한 바이러스, 컴퓨터 시스템 불안정하게 만들거나 데이터 삭제하는 등의 피해
(3) 에볼라 : 1990 후반에 등장, 이전 바이러스보다 복잡하고 강력
=> 위 바이러스 들을 주로 디스켓을 통해 감염, 인터넷 보편화되며 네트워크를 통한 전파도 증가
- 감염 경로 : 불법 복제 소프트웨어, 컴퓨터 통신, 컴퓨터 공동 사용 등
6) 매크로 바이러스
매크로 바이러스 : MS사의 오피스 문서 파일의 한 부분은 매크로 영역에 악성코드를 집어넣어 악의적인 행동을 하게 만든것
- 매크로 : 반복 작업을 자동으로 수행하기 위해 만들어진 기능
- => 이를 악용하여 문서를 여는 순간 악성코드 실행, 즉 실행 파일이 아닌 문서 파일을 통해 감염되는 바일러스
- 대표 예 : 라룩스
(XM / Laroux)
- 감염 시 현상
(1) 컴퓨터 느려지고 하드 용량 부족 발생
(2) CPU 용량 부족
(3) 하드디스크 IO 의 증가 : 프로그램 실행시키지 않아도 하드디크스 계속 작동 중
(4) 하드디스크 용량 부족
(5) 파일 크기의 변경 : 실행 파일의 크기가 커짐
(6) 파일 시간의 변경 : 실행 파일의 변경일이 최근 날짜로 바뀜
7) 대표적인 백신 제조사
- Avast
- 안랩 : 국내 대표 백신 회사, V3로 유명
3. 웜(Worm)
1) 개요
웜(Worm) : 자기 스스로를 다른 시스템으로 전파시키는 악성 코드
(네트워크를 통해 전파)
- 막대한 시스템 과부화 발생
- 확산 속도 매우 빠름
- 짧은 시간 내에 대규모 피해 발생 가능
2) 모리스 웜
모리스 웜 : 인터넷을 통해 전파된 최초의 웜, 가장 기본적인 원형
- 유닉스 OS의 취약점을 이용, 한 컴퓨터에 침투하면 그 컴퓨터와 연결된 다른 컴퓨터로 전파
- 모리스 웜에 여러번 감염되면 컴퓨터가 점점 느려지며 사용 불가 상태가 됨
3) 메일의 첨부 파일을 통해 전달되는 웜
메일의 첨부 파일을 통해 전달되는 웜 : 아이러브유 또는 러브레터웜
(1) 아이러브유 또는 러브레터웜
- " ILOVEU " 라는 이메일 제목과 " LOVELETTER-FOR-YOU.txt " 파일이 첨부
- 사용자가 이 첨부파일 여는 순간 웜이 실행
- 그 사람의 주소록에 있는 사람들에게도 같은 이메일 자동 전송
(웜이 다른 시스템으로 전파) - 메스 메일러 웜 : 대량 메일 발송을 통해 확산되는 웜
- 예방 방법 : 내부 보안 교육, 신뢰할 수 없는 발신자가 보낸 메일의 첨부파일 열지 않음, 스팸메일 삭제
(2) 님다 웜
님다 웜 : 2001년에 발생, 22분 만에 인터넷 장악
-> 확산 속도가 매우 빠름
- 전파 방법
((1)) 파일 바이러스처럼 현재 수행되는 컴퓨터의 파일 자체에 자신을 복제
((2)) 이메일의 첨부 파일로 전파
'README.EXE' : 당시 MS사의 아웃룩의 첨부파일 관련 보안 취약점 악용
((3)) 당시 MS 사의 웹 서버인 IIS의 취약점 악용
((4)) doc 또는 eml 파일이 저장된 네트워크 공유 폴더를 찾아 님다 웜이 포함된 파일을 복사
: 네트워크 한 영역에서 제거해도 다른 네트워크에서 다시 전파될 수 있음
=> 님다 웜은 단순 이메일로만 퍼지는 것이 아닌 여러 경로를 통해 전파되는 복합적인 웜
4) 서비스 거부 공격을 하는 슬래머 웜
슬래머(SQL Slammer) 웜 : MS사의 SQL Server를 대상으로 전파, 서비스 거부 공격(DoS) 실시하는 웜
- 네트워크 인프라를 구성하는 서버 공격
(네트워크에 더 위협적인 웜)
- 전파 과정
SQL Server의 버퍼 오버플로 약점을 이용하여 침입
-> 자신을 무제한 복제하여 무작위로 선택된 IP 주소에 슬래머 웜 코드 포함된 패킷 전송
-> 반응이 있는 IP 주소의 SQL Server 대상으로 슬래머 웜 전파
- 슬래머 웜은 UDP를 사용하여 짧은 시간에 수많은 패킷을 생성
- 인터넷 서비스 자체의 중단 발생 과정
UDP 패킷을 전달받은 PC는 DNS 서버 호출
-> 대규모 DNS 요청이 들어와 DNS 서버의 시스템 다운
-> 네트워크 인프라 자체가 마비
5) 운영체제를 공격하는 블래스터 웜
블래스터 웜 : 윈도우 NT 계열 운영체제를 통해 급속하게 확산된 웜
- 운영체제의 보안 취약점을 이용
- 컴퓨터에 침입 후 메모리 과다 사용하게 만들고 궁극적으로 운영체제 파손
- RPC 서비스 취약점 이용
: '서비스가 예기치않게 종료되어 다시 시작해야 합니다' 라는 메시지와 함께 컴퓨터 무한 재부팅
-> 컴퓨터를 사용하지 못하게 만듦
4. 트로이 목마
1) 트로이 목마
트로이 목마 : 정상적인 프로그램처럼 위장하여 동작하면서, 기밀 정보를 공격자의 컴퓨터로 빼돌리는 악성코드
- 좀비 PC처럼 공격자가 PC의 원격 제어까지 가능하게 함
- 자기 복제를 하지 않아 제거하면 더 이상의 피해없음, but 최근에는 자폭 기능이 있어서 지우면 피해 발생
2) 예시
- 넷버스 : 사용하기 쉬워 많이 사용됨
(port : 12345) - 백오리피스 : 가장 유명하여 제거 툴이 많음
(port: 31337) - Executor : 감염된 컴퓨터의 시스템 파일을 삭제하거나 시스템 파괴하는 트로이 목마
(port: 80) - Striker : 부팅이 안되게하는 등 감염된 컴퓨터를 아예 망가뜨림
(port: 2565)
3) 특징
트로이 목마는 외부의 공격자와 통신을 해야하기 때문에 특정 네트워크 포트가 사용됨
- 다른 PC에서 사용되고 있지 않는 포트의 지속적 사용 : 트로이 목마 실행 가능성 있음
5. BPFDoor 악성코드
1) BPFDoor 악성코드
BPFDoor 악성코드 : 리눅스 환경에서 포트를 열지 않고 외부 연결을 대기하는 백도어 악성코드
- BPF 기술을 악용한 악성코드
- 백도어는 공격자가 접속할 수 있도록 특정 포트를 열어둠
- BDFDoor는 포트를 열지 않고도 외부의 특정 연결을 기다릴 수 있기에 탐지가 어려움
2) BPF
BPF : 운영체제 커널 수준에서 동작하는 네트워크 패킷 필터링 기술
- 네트워크 인터페이스를 통과하는 패킷을 복사하여 필터링
- 네트워크 성능 향상과 보안 기능 강화 목적으로 사용
3) 탐지 피하는 방식
탐지 피하는 방식 : 정상적인 시스템 프로세스처럼 위장
- TCP,UDP,ICMP 프로토콜 등을 이용해 감염 시스템에 합법적으로 열린 포트, 즉 정상 포트를 통해 매직패킷 전송
- 기존 보안 솔루션은 포트가 열려 있는지를 확인하는 경우가 많아 탐지가 쉽지 않음
4) 매직패킷 수신 시 쉘 연결
- 평소 잠복 상태 : 정상 시스템 프로세스로 위장해 대기
- 특정 신호(매직패킷) 수신시 즉시 활성화
- 리버스쉘, 다이렉트 모드(바인드쉘) 연결
: 명령에 따라 원격자와 쉘 연결
(시스템 장악)
(1) 바인드 쉘
바인드 쉘 : 서버에서 포트를 열고, 클라이언트(공격자)가 서버로 접속하는 형태
(2) 리버스 쉘
리버스 쉘 : 방화벽 정책을 뚫기 위해 클라이언트가 리스닝을 하고, 서버에서 클라이언트(공격자) 쪽으로 접속하는 형태
=> BDFDoor는 단순히 포트 열어놓는 것이 아닌, BPF와 매직패킷을 이용해 공격자의 신호가 오면 연결을 열어주는 악성코드
6. 악성코드 분석과 제거
1) 악성코드 분석 방법
- 코드 정적 분석 : 악성 코드 실행하지 않고 분석
- 코드 동적 분석 : 악성코드 직접 실행하여 분석
- 악성 코드 분석 웹 서비스 : VirusTotal
2) 정적 분석
- 정적 분석의 시작 : 디스어셈블 or 리버싱
(실행 프로그램에서 소스를 역추출) - 역추출되는 소스 : 기계어나 어셈블리어와 같은 저급 언어
-> 소스 분석 어려움 - PE 포맷 파일 : 디스어셈블의 대상이 되는 실행 파일, 주로 확장자가 .exe or .dll 등임
=> 즉, 윈도우에서 실행되는 프로그램 파일이나 라이브러리 파일을 분석하는 것이 정적 분석의 주요 대상
소스 파일(C/C++) -> (컴파일) -> 기계어(어셈블리어) -> (링크) -> 실행 파일
뒤로 가는 과정이 디스어셈블
(정적 분석)
3) 정적 분석 도구
- PE 포맷에서 어셈블리어 추출하는 대표적인 상용도구 : IDA Pro
- 실행 파일에 대한 어셈블리어 소스 생성
- 함수 구조와 함수 호출 구조 생성
(프로그램 구조를 시각적으로 분석해주는 도구) - 추가 무료 도구 : OllyDbg, Immunity Debugger, WinDbg
(상용 도구에 비해 상대적으로 기능 약함)
4) 정적 분석으로 악성 행위 판단
- 어셈블리어 소스에서 실제 악성 행위를 하는 코드가 포함되어 있는지 분석
- 예 1) 레지스트리에 자신을 서비스로 등록한 다음, 등록된 서비스를 시작
- 예 2) 특정 경로에 폴더를 생성하고 이렇게 생성된 폴더에 자기 자신을 복사
=> 어셈블리 코드와 API 호출을 보고 악성 행위를 추정
5) 악성 코드의 정적 분석 회피 방안 : 패킹 or 난독화
(1) 프로그래밍 언어로 작성된 코드를 읽기 어렵게 만드는 작업
- 패킹 : 보통 암호화하거나 압축을 하는 방법 사용, 실행되기 전까지 코드를 숨겨둠
- 난독화 : 코드의 의미는 유지하지만 사람이 읽기 어렵게 만드는 방식
(2) 회피 방안에 대한 대응 방안
언패킹하여 분석하거나 난독화된 메시지 자체를 가지고 분석
- 언패킹 : 악성코드가 숨겨놓은 메시지를 원래의 소스로 되돌리는 작업
=> 악성코드는 분석을 피하려고 코드를 숨기고, 분석자는 그것을 다시 풀어내어 분석함
6) 정적 분석에 필요한 선수 지식
- 운영체제에 대한 지식 : 프로세스 / 스레드, 메모리 구조, PE 포맷 구조 등
- 프로그래밍 언어에 대한 지식 : 어셈블리어, C/C++ 등
- 프로그래밍에 대한 지식 : TCP / UDP 등 네트워크 프로그래밍, 레지스트리, 파일 시스템 관련 프로그래밍 등
- 분석 도구에 대한 지식 : IDA Pro, OllyDbg 등
- 프로세스 모니터링 도구에 대한 지식 : Process Monitor, DiskMon 등
* 정적 분석 정리
정적 분석은 악성코드를 직접 실행하지 않고 실행 파일 내부를 뜯어보는 분석 방식이고,
악성코드는 이를 피하려고 패킹과 난독화를 사용하며,
분석자는 디스어셈블, 언패킹, 도구 분석을 통해 악성 행위를 직접 찾아내는 구조
7) 동적 분석
동적 분석 : 실제 프로그램을 실행시켜서 해당 코드가 어떤 행위를 하는지 관찰하여 악성코드인지 판단하는 방법
- 악성코드가 실제로 실행될 수도 있기 때문에 통제된 환경을 만드는 것이 필요
- 문제가 발생했을 경우 실행 환경의 초기화 가능 : VMWare 같은 가상 머신 많이 이용
- 최근 악성코드는 자신이 실행되는 환경이 가상환경인지 판단하는 경우도 있음
8) 동적 분석 - 프로세스 확인
- 악성코드가 실행되면 보통 새로운 프로세스를 만들거나, 기존 프로세스에 숨어서 동작
=> 동적 분석에서는 먼저 실행 중인 현재 프로세스 확인
- 대표 도구 : 작업 관리자, GMER, Process Explorer
- 작업 관리자 : 현재 실행되는 프로세스를 확인할 수 있는 기본 도구
=> 악성 코드는 자신을 숨기기 위해 이상한 이름을 쓰거나, 정상 프로그램처럼 보이는 이름 사용
(1) 독특한 이름의 프로세스 실행
google이나 기타 검색 사이트에서 검색
(2) SSDT 후킹
SSDT 후킹 : 악성코드가 운영체제 내부 동작을 가로채 자신을 숨기는 기술
: 작업 관리자에서 안 보이도록 숨을 수 있음
=> 즉, 동적 분석의 처음으로 실행 중인 프로세스를 확인해보되,
숨는 기능이 있기 때문에 작업 관리자만 보고 안전하다고 판단하면 안 됨
9) 루트킷
루트킷 : 공격자가 심어놓은 프로그램을 숨기기 위한 목적으로 사용되는 프로그램
- 악성코드가 시스템 안에 존재하더라도 사용자가 발견하지 못하도록 숨기는 역할
- 루트의 도구라는 의미 : 프로세스를 숨기려면 루트 권한 획득 필요
- 탐지하는 대표 프로그램 : GMER(지머)와 IceSword 등
=> 악성코드가 자신을 숨기더라도 지머와 같은 전문 탐지 도구로 숨겨진 프로세스나 후킹 흔적을 찾을 수 있음
10) 동적 분석 - Process Explorer
Process Explorer : 현재 시스템에서 실행 중인 프로세스를 자세히 확인할 수 있는 도구
- 부모 프로세스와 자식 프로세스와의 관계 분석
- 각 프로세스별로 어떤 파일 혹은 핸들을 열었으며, 어떤 모듈과 라이브러리를 사용하는지 등의 정보 제공
=> 정상 프로세스처럼 보이는 악성코드를 자식 프로세스 관계나 로드된 모듈을 통해 수상한 동작을 찾을 수 있음
11) 동적 분석 - 등록된 시작 프로그램 확인
- 운영체제를 재시작한 이후에도
(컴퓨터를 껐다 다시 켠 이후) 다시 실행되는 악성코드 존재 - 등록된 시작 프로그램에 기존과 다른 의심되는 프로그램이 등록되었는지 확인
=> 악성코드는 한 번 실행되고 끝이 아니라 재시작해도 자동으로 다시 실행되도록 자신을 등록함,
없어야 할 프로그램이 시작 프로그램 목록에 등록되어 있다면 악성코드 가능성이 있음
- 대표 프로그램 : MS사의 Autoruns
12) 동적 분석 - 파일 및 레지스트리 변경 내용 확인
- 악성코드는 기존 파일을 악의적으로 지우거나 변경하거나 혹은 새로 생성
- 윈도우 OS에서 레지스트리는 운영체제와 응용 프로그램의 모든 설정 값을 저장해놓은 저장소
=> 악성코드는 레지스트리를 변경해서 자동 실행을 등록하거나, 보안 설정을 바꾸거나, 시스템 동작을 조작할 수 있음
- 대표 프로그램 : Winalysis
13) 동적 분석 - 프로세스별 파일 / 레지스트리 동작 확인
- 필요성 : 최종 결과 값만으로는 분석이 어려움
- 예를 들어 어느 파일이 생성되었다는 결과만 보면, 어떤 프로세스가 그 파일을 만들었는지 알기 어려움
=> 프로세스별로 파일, 레지스트리, 네트워크 활동을 자세히 확인해야 함
- 대표 프로그램 : MS사의 Process Monitor
- 프로세스 모니터는 네트워크 활동까지 모니터링할 수 있어서 악성코드 행위분석의 필수 도구임
14) 악성코드 제거
(1) 기본 방법
- 악성코드 프로세스 종료
- 악성코드가 생성한 레지스트리 값과 악성코드 파일 등을 삭제
- but, 여러 개의 악성코드가 서로 감시해서 하나의 프로세스 종료되면 다시 실행시키는 로직이 존재하거나,
자기 보호 로직이 강력한 악성코드가 존재할 수 있음
=> 제거하기 전 자료 백업이 필요
(2) 안전 모드 부팅 후 삭제
- 안전 모드 : 윈도우가 최소한의 드라이버와 서비스만 실행하는 모드
- 악성코드가 루트킷 수준에서 프로세스 종료 방지나 파일 변경 방지 기능이 있는 경우
- 안전 모드로 부팅하면 대부분의 루트킷이 동작하지 않음
* 동적 분석 정리
동적 분석에서는 악성코드가 실제로 시스템에 어떤 영향을 주는지 보기 위해
실제 실행하여 프로세스, 파일, 레지스트리, 네트워크 등을 중심으로 확인한다고 보면 됨
7. 사회공학 보안공격
1) 사회 공학
사회 공학 : 사람을 속여서 비밀 정보를 획득하는 보안 공격 기법
ex) 전화 금융사기, 보이스피싱
2) 사회공학 보안 공격의 대표적인 기법
(1) 쓰레기통 뒤지기
쓰레기통 뒤지기 : 가정 또는 직장에서 버리는 영수증 또는 업무 중 생성한 문건 등을 쓰레기통에서 수거하여 유용한 정보 수집
- 대응책 : 문서 분쇄기
(2) 어깨너머로 훔쳐보기
어깨너머로 훔쳐보기 : 입력하는 비밀번호나 작업 내용 훔쳐봄
(3) 직접적인 접근
- 조직에서 높은 위치에 있는 사람으로 가장하고, 권력을 이용해 정보 획득
- 심리적 전복 활용 : 긴급한 상황에 도움이 필요한 것처럼 행동하여 동정심에 호소
(4) 도청
도청 : 실제 도청 장치 이용
(5) 편지
편지 : 마케팅 편지 or 설문지 등으로 위장된 편지 이용
- 동시에 전화를 걸어 추가적인 사회 공학 공격 수행
- 대응 방안 : 보안 교육
=> 사회 공학은 사람 사이의 신뢰 등 사람의 취약점을 노리기 때문에 사람을 훈련하는 것이 가장 확실한 방법
3) 보안 교육의 실무 지침
(1) 항상 신원의 증거 요청
(2) 음성 만의 통신에 기반해서 절대 비밀번호를 제공하거나 변경해서는 안됨
(3) 이메일 혹은 팩스로 정보 요청시 의심하고, 직접 전화해 확인
(4) 중요 서류는 분쇄기를 이용해 분쇄한 다음 버림
(5) 민감하고 중요한 정보 출력하거나 팩스 혹은 편지가 오면 즉시 수거
4) 최근의 사회 공학 기반의 보안 공격 확대
- SNS 보편화, 스마트폰 보급
=> 목표 대상에 대한 접근이 쉬워짐, 개인정보 노출 다수
5) 악성코드와 사회공학 기법의 결합
악성코드와 사회공학 기법의 결합 : 심각한 금전 피해 발생
- 피싱, 파밍, 스미싱 등
(1) 피싱
피싱 : 개인 정보와 낚시의 합성어
- 이메일 또는 메신저를 통해 비밀번호 및 신용카드 번호와 같이 중요 정보 탈취
- 신뢰할 수 있는 사람 또는 기업이 보낸 메시지처럼 가장
- 피싱 메일에 포함된 조작된 링크를 클릭하도록 유도
(트로이 목마, 스파이웨어, 랜섬웨어)
(2) 파밍
파밍 : 새로운 피싱 기법, 사용자가 정확한 웹 사이트 주소를 입력해도 가짜 웹사이트에 접속하게 하여 개인 정보를 훔치는 기법
- 악성코드 감염을 통해 DNS 스푸핑을 이용하거나 사용자의 도메인을 탈취하는 등의 방법을 통해 가능
(트로이 목마, 백도어, 스파이웨어)
(3) 스미싱
스미싱 : 문자 메시지와 피싱의 합성어
- 문자 메시지를 통해 개인정보를 요구하거나 휴대전화 결제를 유도
(트로이 목마, 스파이웨어)
=> 대응 방안 : 신뢰할 수 없는 이메일의 첨부 파일은 열지 않고 바로 삭제, 개인 정보 관련 글은 입력하지 않음
(4) 랜섬웨어
랜섬웨어 : PC에 설치되어 중요 데이터를 암호화한 후 피해자를 협박해서 금품을 갈취하는 악성코드
- ex) 크립토락커
- 대비책 : 백신 설치, OS 최신 보안 패치, 중요 파일 주기적 백업
'보안' 카테고리의 다른 글
| 정보보안 14주차 - 보안 솔루션 (0) | 2026.06.11 |
|---|---|
| 정보보안 12주차 - 암호 (0) | 2026.06.03 |
| 정보보안 10,11 주차 - 소켓 프로그래밍 (0) | 2026.06.01 |
| 정보보안 9주차 - 파이썬 기초 (0) | 2026.05.28 |