1. 악성 소프트웨어 (악성 코드)
1) 악성 소프트웨어 개념
의도적으로컴퓨터의 보안 속성을 침해할 목적으로 작성된 프로그램이다.
프로그램이 의도적 또는 비 의도적으로 실행되면서 CIA 등의 보안 속성을 침해할 경우 해당 프로그램은 유해한 프로그램으로 간주된다.
2) 악성 소프트웨어 분류
구분 | 설명 | 종류 | |
독립형과 기생형 | 독립형 | 자체적으로 구동될 수 있는 프로그램 | 윔, 좀비 바이러스 |
기생형 | 다른 실제 응용프로그램이나 유틸리티나 시스템 프로그램 없이 구동 불가 | 바이러스, 논리폭탄, 백도어 | |
자기복제 여부 | 바이러스성 | 자기복제 함 | 윔, 바이러스 |
비-바이러스성 | 자기복제 안함 | 트로이목마, 백도어 |
윔 바이러스 또는 백도어가 사용하는 서비스
Csrss: 윈도우 콘솔을 관찰하고 스레드를 생성 삭제하며 32비트 가상 MS-DOS 모드를 지원한다.
Svchost: DLL에 의해 실행되는 프로세스
index.dat: Internet Explorer(IE9 이전) 방문기록 로그가 저장되는 파일 (쿠키, 접속한 URL, 마지막 방문시간)
3) 스크립트, 컴파일형 악성코드 개념
스크립트형
브라우저에서 구동될 때 브라우저에 포함된 인터프리터에 의해 한줄씩 해석되면서 실행된다.
스크립트를 이해하고 실행할 인터프리터가 존재해야한다.
컴파일형
목적 시스템에서 구동시 실행파일이 만들어지므로 여러차례 실행 시 실행 속도가 빨라진다. (컴파일되면 지속적 배포 가능)
리버싱을 통해 실행하지 않고 내용을 짐작할 수 있다.
2. 바이러스 (Virus)
1) 바이러스 개념
다른 프로그램을 변형시켜 감염 시키는 프로그램이다.
정상적인 프로그램이나 데이터를 파괴할 목적으로 시스템 부트, 메모리, 파일 영역 등에 기생하다가 다른 프로그램들을 감염시킨다. (기생형, 바이러스성)
파일 사이즈 증가, 갱신 타임스탬프 변경, 저장 장치 잔여공간 변경, 디스크 접근 횟수 증가 등이 있다.
부트 바이러스: 부트 섹터
파일 바이러스: 실행되는 모든 파일
자동 실행 바이러스: usb같은 장치에 복사되어 자동 실행되도록 설정된 악성코드이다. (autorun.inf)
메크로 바이러스: 오피스 문서(PPT, EXCEL)
2) 시대별 분류
원시형 바이러스 → 암호화 바이러스 → 은폐형 바이러스 → 갑옷형 바이러스 → 메크로 바이러스
제1세대 원시형 바이러스 (Primitive Virus)
코드의 변형이나 변화 없이 고정된 크기를 갖는다. (단순, 분석이 쉬움)
기억장소에 상주해서 부트 영역이나 파일을 감염 시킨다.
제2세대 암호화 바이러스 (Encryption Virus)
백신 프로그램이 진단할 수 없도록 바이러스 프로그램의 일부를 암호화시켜서 저장한다.
실행 시작점 부분에 위치하는 암호해독 데이터는 항상 일정하다.
제3세대 은폐형 바이러스 (Stealth Virus)
기억장소에 존재 하면서 감염된 파일의 길이의 변동 유무를 숨기고 바이러스를 검출 하려고 할때 감염되기 이전의 모습을 보여줘 백신 프로그램이나 사용자를 속인다.
제4세대 갑옷형 바이러스 (Armour Virus)
숨기는 것이 아닌 여러 단계의 암호화와 다양한 기법들을 동원하여 바이러스 분석을 어렵게 하고 백신 개발을 지연시킨다.
매크로 바이러스 (Macro Virus)
데이터 파일(워드, 엑셀, PDF)에 붙어서 그 파일이 열릴때 바이러스를 실행한다.
플랫폼과 무관하게 사용되고 문서는 감염시키지만 코드 실행 부분은 감염시키지 않는다.
전자메일 등을 이용해 쉽게 퍼트릴 수 있다.
3. 바이러스 방지책
1) 안티 바이러스 (Anti-Virus) 방법
바이러스 위협에 대한 해결책은예방이다.
① 탐지: 감염된 바이러스가 있는지 파악하고 위치를 확인한다.
② 식별: 탐지되면 프로그램을 감염시킨 특정 바이러스를 식별한다.
③ 제거: 바이러스를 제거하여 더 이상 퍼지지 않게 한다.
2) 안티 바이러스 필터링 방법
2.1) Virus Signiture Scanning
특정 바이러스만이 가진유일한 시그니처를 찾아내는 방법이다.
현재 대부분의 안티바이러스 프로그램이 채택하고 있는 방법이다.
2.2) Behavoral virus scanning
바이러스가 수행 중에어떤 행동을 하는지 추적하는 방법이다.
시그니처를 통해 발견하지 못한 새로운 바이러스와 윔에 대해 대처 능력을 가질 수 있다.
3) 바이러스 예방
보안 인식 교육을 실시한다.
신뢰성 있는 업체에서 구입한 상업용 S/W를 사용한다.
Window Script Host, ActiveX, VBScript, JavaScript는 비 활성화 한다.
4. 윔 (Worm)
1) 윔 개념
숙주 파일 없이 자체 실행 코드를 이용해 네트워크를 통하여 자기 자신을 복제해 확산시킨다. (독립형, 바이러스성)
다른시스템에 직접적인 영향을 미치지 않는다. (트로이 목마와 차이점)
메일, 파일 공유, 원격 실행·로그인·파일전송, 모바일 코드를 통해 전파 및 확산된다.
2) 윔의 확산 모델
① 서서히 시작하는 단계: 호스트를 감염 시키면 감염된 호스트의 수는 점점 늘어난다.
② 빠른 확산 단계: 호스트를 감염 시킬수록 감염되는 호스트의 수가 급격히 늘어난다.
③ 서서히 퍼지면서 종료 단계: 시간이 경과하면 감염된 호스트 끼리 공격하기 때문에 감염 속도가 느려진다.
3) 윔의 실행
버퍼 오버플로우, SQL Injection, 포맷 스트링 등을 이용하여 공격할 시스템의 취약점을 파악한다.
백도어 등을 이용해 몰래 접근한 뒤 취약점을 이용해 DDos 봇, 좀비 프로그램 등을 다운로드하여 설치한다.
5. 윔 대응책
안티 바이러스를 통해 제거 하거나 네트워크 활동과 사용을 모니터링을 한다.
1) 네트워크 기반 윔 방어
윔 모니터링 소프트웨어를 통한 방어이다.
엔터프라이즈 네트워크와 인터넷 사이의 경계에 위치한다.
1.1) 진입 모니터 (Ingress Monitor)
경계 라우터, IDS, 독립된 수동 모니터의 진입 필터링을 수행하는 소프트웨어이다.
1.2) 진출 모니터 (Egress Monitor)
나가는 트래픽에서 스캐닝의 흔적이나 기타 의심스러운 행동을 모니터링 해서 웹 공격의 출처를 잡아낸다.
6. 트로이 목마 (Trojan horse)
1) 트로이 목마 개념
사용자에게유용한 소프트웨어로 가장하여 설치하게 함으로써 다른 시스템으로 침투하는 악성코드이다.
자기 자신을 복제하지 않으며 다른 파일을 감염 시키거나, 변경 시키지 않는 비 바이러스성 악성 코드이다.
트로이목마가 포함된 프로그램이 실행되면 공격자는시스템을 통제할 수 있는 권한을 부여받게 된다.
시스템 통제는 원격조정, 패스워드 가로채기, 키보드 입력 가로채기, 시스템 파일 파괴 등이 있다.
2) 스파이 웨어 (Spyware)
트로이 목마와 마찬가지로 은밀하게 설치되는 악성 소프트웨어의 유형이다.
사용자의 동의 없이 설치되어 컴퓨터의 정보를 수집하고 전송하는 악성코드로 백신 치료는 효과적이지 않다.
민감한 정보를 수집하여 주기적으로 원격지의 특정한 서버에 보내는 프로그램이다.
수집된 데이터는 신원 도용, spamming, 사기 등에 사용된다.
7. 기타 악성 소프트웨어
백도어 : 정상적인 인증을 수행하지 않고 시스템에 접근하는 방법
Exploit : 알려지지 않은 취약점을 이용해 정상적인 파일 또는 웹페이지의 극히 일부 소스코드만을 변경하는 방법
Kit(virus generator): 바이러스를 자동으로 생성하는 도구모음
RootKit: 컴퓨터에 침입 후 Root 권한을 얻기위해 사용하는 해커도구 모음
Attack kit: 다양한 번식 방법과 payload 기술을 사용하는 새로운 악성코드를 자동으로 만들어주는 툴
프리더 : 네트워크 컴퓨터 시스템에 대량의 자료를 보내어 서비스 거부 공격(DOS)를 감행하는데 사용하는 코드
애드웨어 : 소프트웨어에서 내장된 광고, 감염시 팝업광고 뜨거나, 광고사이트로 연결https://peemangit.tistory.com/manage/newpost/201?type=post&returnURL=https%3A%2F%2Fpeemangit.tistory.com%2F201
8. Visual Basic
VBA(Visual Bascic Application)
오피스와 같은 윈도우 애플리케이션에 내장되어 해당 프로그램을 객체로 다룰 수 있게 한다.
VBS(Visual Basic Script)
VB의 일부 기능을 제거하고 몇가지 기능을 추가한 스크립트 언어이며 웹 환경에서 동적인 페이지를 만드는데 사용한다.
이메일에 첨부되어 전파될 수 있다.
9. 웹 브라우저 보안
웹 브라우저에 보안을 구현할 때 사이트에 따라 서로 다른 보안 요구 사항이 필요하다.
다양한 보안 영역을 지원한고 각 영역에 대한 보안 요구사항을 사용자가 정의한다.
사용 가능한 영역은, 인터넷, 로컬 인트라넷, 신뢰할 수 있는 사이트, 제한된 사이트이다.
10. 쿠키 (Cookie)
클라이언트에 저장되며 웹사이트 마지막 방문 시간, 방문한 페이지 등 다양한 정보를 기록할 수 있다.
바이러스 전파, 사용자 컴퓨터에 피해 입히기, 다른 웹사이트에서 읽기가 허용되지 않는다.
1) 쿠키를 이용한 통신
사용자가 사이트에 방문하면 사용자의 사이트는 쿠키를 만들고 브라우저를 확인하는 ID 번호를 쿠키 파일에 넣어서 사용자의 컴퓨터에 저장한다.
사용자가사이트를 재 방문할 경우 쿠키 내용을 이용하여 신분 확인을 통해 빠르게 접근이 가능하다.
아이디와 패스워드를 저장한 경우에도 쿠키로 남아있기 때문에 화면이 갱신 되어도 다시 로그인 하지 않아도 된다.
2) 쿠키의 용도
2.1) 사이트 개인화
사용자의 아이디, 패스워드 뿐만 아니라 성향까지 파악할 수 있다.
2.2) 장바구니 시스템
전자상거래 이용시 사용자가 물건을 고르면 그 내용이 쿠키에 저장된다.
2.3) 웹 사이트 이용방식 추적
사용자의 웹 사이트 사용 방식을 파악해 자주 방문, 자주 방문하지 않는 사이트를 파악한다.
2.4) 광고 마케팅
쿠키를 통하여 리타게팅 광고를 수행한다.
3) 쿠키의 구조
4개의 속성과 하나의 데이터를 가지는 구조체이다.
웹브라우저가 웹 서버에 요청할 경우 Cookie 헤더를 사용하고 서버는 응답에 Set-Cookie 헤더를 포함시키는 방식으로 쿠키를 설정한다.
Set-Cookie: name=value;expires=[Date];domain=[Domain];path=[PATH];[secure]
유효기간 (Expire): 기본적으로 브라우저가 종료될 때까지 이용할 수 있지만 사용자가 기간을 지정할 수 있다.
패스 (Path): 패스를 지정해 주면 해당 패스 이하에서는 그 쿠키 데이터를 공유할 수 있다.
도메인 (Domain): 도메인 단위에서 쿠키 데이터를 읽고 쓰는 권한을 설정한다.
4) 쿠키의 보안 취약점
4.1) XSS 공격 (Cross Site Script Attack)
웹사이트를 구축하기 위해서 HTML + Javascript + JSP,PHP,ASP 등을 구성해야한다.
그 중 Javascript가 사용자의 컴퓨터에서 실행된다는 점을 이용한 공격이다.
게시판에 script문을 삽입하거나 document.setcookie() 를 이용하여 쿠키 값을 유출시킨다.
4.2) 스니핑 (Sniffing) 공격
쿠키 값을암호화 하지 않고 HTTP로 전송했을 경우중간에서 스니핑이 가능하다.
4.3) 공용 PC에서 쿠키값 유출
여러명이 사용하는 경우 한사람이 사용한 뒤 그 다음 사람이 이전 사람의 쿠키 값을 확인할 수 있다.
5) HTTP 쿠기키관련 보안 속성
Set-Cookie 응답 헤더에 설정한다.
5.1) HttpOnly 속성
클라이언트에서 스크립트를 통해 해당 쿠키에 접근하는것을 차단해주는 속성이다.
Cross Site Script 공격에 대비하기 위해서 사용된다.
5.2) secure 속성
HTTP(TLS/SSL) 통신일 경우에만 쿠키를 전송한다.
쿠키에 대한 기밀성을 보장하기 위한 목적으로 사용된다.
11. 세션 (Session)
개별 클라이언트 상태 정보를 서버에 저장하는 기술이다.(인증과 같은 보안관련 정보 저장)
클라이언트 별로 Session ID를 부여하고 Session 쿠키를 통해 주고 받는다.
1) 세션 하이제킹 (Session Hijacking)
Attacker가 Session ID를 스푸핑한다면 정상 사용자로 위장한 접근이 가능하다.
설명: https://peemangit.tistory.com/354
[출처]
바이러스,윔, 트로이목마: http://blog.daum.net/_blog/BlogTypeView.do?blogid=0NA1g&articleno=3820
윔의 확산모델: http://lily.mmu.ac.kr/lecture/16is/ch10-4.pdf
'Certification Study > 정보보안기사' 카테고리의 다른 글
[정보보안기사] 16. 서버 보안 관리 (출제율: 3.6%) (0) | 2020.02.08 |
---|---|
[정보보안기사] 15. 유닉스/리눅스 서버 보안 (출제율: 4.5%) (0) | 2020.02.08 |
[정보보안기사] 12. 보안 운영체제 (출제율: 0.5%) (0) | 2020.02.05 |
[정보보안기사] 10. 접근통제 보안 모델 (출제율: 2.4%) (2) | 2020.02.03 |
[정보보안기사] 9. 사용자 인증 (출제율: 4.6%) (0) | 2020.02.02 |
공부&일상 블로그
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요! 질문은 언제나 환영입니다😊