제 1세대 : 원시형(Primitive) 바이러스
제 2세대 : 암호화(Encryption) 바이러스
제 3세대 : 은폐형(Stealth) 바이러스
제 4세대 : 갑옷형(Armour) 바이러스
제 5세대 : 매크로(Macro) 바이러스

 ▪ 제 1세대 원시형 바이러스(Primitive Virus) 실력이 뛰어나지 않은 프로그래머들이 만들어 프로그램 구조가 단순하고 분석이 상대적으로 쉬운 바이러스로 돌(Stoned) 바이러스, 예루살렘(Jerusalem) 바이러스 등 기존의 도스용 바이러스 대부분이 포함된다.

 

▪ 제 2세대 암호화 바이러스(Encryption Virus) 백신 프로그램이 진단할 수 없도록 바이러스 프로그램의 일부 또는 대부분을 암호화시켜 저장한다. 그러나 실행 시작점 부분에 위치하는 암호 해독 데이터는 항상 일정한 바이러스로 폭포(Cascade) 바이러스, 느림보(Slow) 바이러스 등이 있다.

 

▪ 제 3세대 은폐형 바이러스(Stealth Virus) 자신을 은폐하고 사용자나 백신 프로그램에 거짓 정보를 제공하기 위해서 다양한 기법을 사용한다, 기억 장소에 존재하면서 감염된 파일의 길이가 증가하지 않은 것처럼 보이게 하고, 백신 프로그램이 감염된 부분을 읽으려고 할 때 감염되기 전의 내용을 보여줘 바이러스가 없는 것처럼 백신 프로그램이나 사용자를 속인다. 조쉬(Joshi) 바이러스, 방랑자.1347(Wanderer.1347) 바이러스, 프로도(Frodo) 바이러스 등이 있다.

 

▪ 제 4세대 갑옷형 바이러스(Armour Virus) 제 2세대, 3세대 바이러스들은 백신 프로그램이 바이러스를 진단하기 어렵게 하는 것이 목표였으나 백신 프로그램의 발달로 이런 목표가 무산되자 바이러스 제작자들은 백신 프로그램 제작자에게 공격의 화살을 돌려 백신 프로그램으로부터 숨기보다는 여러 단계의 암호화와 다양한 기법을 동원하여 바이러스 분석을 어렵게 하고 백신 프로그램 개발을 지연시켰다. 갑옷형 바이러스의 일종인 다형성(Polymorphic) 바이러스는 암호화 기법을 사용한다. 그러나 암호화를 푸는 부분이 항상 일정한 암호화 바이러스와는 달리 암호화를 푸는 부분조차 감염될 때마다 달라지고 한 개의 바이러스가 몇 억가지 이상의 변형을 만드는 경우도 있다.

 

▪ 제 5세대 매크로 바이러스(Macro virus) 매크로 바이러스는 운영체제(OS)와 관계없이 동작하는 응용 프로그램 내부에서 동작하는 것이 가장 큰 특징이다. 매크로 기능이 있는 MS 사 오피스 제품군(워드, 엑셀, 파워포인트)이외에 비지오(Visio), 오토캐드(AutoCAD) 등 VBS(Visual Basic Script)를 지원하는 다양한 프로그램에서 활동하기 때문에 현재 등장하고 있는 바이러스 중에서 가장 높음 비중을 차지하고 있다. 참고로 한글과컴퓨터 사의 한글 프로그램도 매크로 기능을 갖고 있지만 VBA(Visual Basic for Applications) 환경을 지원하지 않기 때문에 아직까지 '한글'에서 활동하는 매크로 바이러스는 등장하지 않았다. 참고로 제 1세대 ~ 제 5세대의 구분은 컴퓨터 바이러스의 발전 단계이지 등장 순서의 구분은 아니다. 현재는 제 1세대부터 제 5세대까지의 바이러스가 공존하고 있으며, OS와 애플리케이션의 자체적인 보안 취약점을 악용하는 사례가 갈수록 늘어나고 있다.

 

출처 : Ahnlab 연구소

'Computer Science > 보안(Security)' 카테고리의 다른 글

One Time Pad vs One Time Password  (0) 2023.03.31
[정리] 정보 보호 개요  (1) 2022.09.20

One Time Pad도 OTP이고, One Time Password도 OTP이다.

그렇다면 이 둘의 차이점은 무엇인지 알아야 하고, 적재적소에 사용할 줄 알아야 한다.

 

One Time Pad

어떤 평문이 있을 때, 평문과 길이가 같은 임의의 Key(seed)를 XOR 연산으로 암호문을 생성하는 암호 체계이다.

 

OTP(One Time Pad) example

OTP(One Time Pad, 이하 OTPad)를 설명하자면 위와 같다.

어떤 평문(plain text)가 있고 그 길이와 동일한 임의의 키(key)를 생성한다.

 └ 이때 키는 일회용이며, 무작위로 생성한다.

그 후 평문과 키를 XOR 연산하여 암호문(cipher text)을 생성하는 전체의 과정을 말한다.

 

OTPad는 수학적인 원리에 기반한 것도 아니고, 키도 난수이기 때문에 깨뜨리는 것은 사실상 불가능하다.

하지만 키 배송 문제, 키 보존 문제, 키 재사용 문제, 키 동기화 문제, 키 생성 문제 때문에 쓰이지는 않는다.

 └ 키 배송 문제 : 송/수신자가 상호 암/복호화를 위해서는 동일한 키가 필요하다. 안전하게 키를 보낼 수 있다면 평문 자체도 안전하게 전송 가능하다.

 └ 키 보존 문제 : 복호화를 위해 키는 보존되어야 한다. 평문과 같은 길이의 키를 안전하게 보존한다면 평문 자제도 안전하게 보관 가능하다.

 └ 키 재사용 문제 : 과거에 사용한 키를 재사용해서는 안 된다.

 └ 키 동기화 문제 : 큰 평문이라면 그만큼 키가 길어진다. 이때 1비트라도 어긋난다면 복호화가 불가능하다.

 └ 키 생성 문제 : 재현 불가능한 난수를 대량 생산하기 어렵다.

OTPad는 실용적이지는 않지만 스트림 암호(Stream Cipher)에서 사용한다.

 

One Time Password

암호화 알고리즘과 Key(seed)는 고정이고, 평문에 따라 암호문을 생성하는 암호 체계이다.

 

OTP(One Time Password) exmaple

OTP(One Time Password, OTPassword)를 설명하자면 위와 같다.

어떤 평문(plain text)에 대해서 정해진 암호화 알고리즘과 키를 통해 암호문(cipher text)을 생성한다.

이때 암호문은 말그대로 한 번만 사용가능하다.

 

이때 암호화 알고리즘과 키가 정해져있다(고정)는 이야기는 언제나 같은 평문에 대해 같은 암호문을 뱉는다는 뜻이 아니다.

일회용 비밀번호를 생성하는 알고리즘과 키를 생성하는 방법이 있다는 이야기이다.

 └ 자세한 알고리즘 종류와 키 생성 방식, 장단점은 위키백과 참고 https://wiki.wikisecurity.net/wiki:otp

 

OTPassword는 비밀번호만 1회용이고, 알고리즘 및 키값(시드값)은 계속 사용한다.

그렇기에 그 값이 노출되면 얼마든지 복제할 수 있는 기술이기도 하다.

 

 

'Computer Science > 보안(Security)' 카테고리의 다른 글

컴퓨터 바이러스 분류  (0) 2023.05.20
[정리] 정보 보호 개요  (1) 2022.09.20

정보 보호의 목표

기밀성(Confidentiality)

개념 : 오직 인가된 사람, 인가된 프로세스, 인가된 시스템만이 알 필요성(최소 권한)에 근거하여 시스템에 접근해야 한다는 방식

위협 요소 : 도청, 사회 공학 공격

 

무결성(Integrity)    // 무결성 = 정확성 = 신뢰성

개념 : 정보의 내용이 불법적으로 생성 또는 변경되거나 삭제되지 않도록 보호해야 하는 성질

위협 요소 : 논리 폭탄, 백도어, 바이러스

 

가용성(Availability)

개념 : 정당한 사용자가 정보 시스템의 데이터 또는 자원을 필요할 때 지체 없이(즉시) 원하는 객체 또는 자원에 접근하여 사용할 수 있는 성질

위협 요소 : DoS, DDoS, 지진, 홍수, 화재 등의 물리적 위협 요소

 

인증성(Authentication)

개념 : 임의 정보에 접근할 수 있는 객체의 자격이나 객체의 내용을 검증하는데 사용하는 성질

특징 : 메시지 인증과 사용자 인증으로 나뉨

    └ 메시지 인증 : 메시지 불법 변조 여부를 확인

    └ 사용자 인증 : 시스템 보안에서 사용자를 확인

 

책임 추적성(Accountability)

개념 : 보안 목적에는 개체의 행동을 유일하게 추적해서 찾아낼 수 있어야 한다는 성질

예시 : Log의 감시 추적

 

부인 방지(Non-Repudiation)    // 부인 방지 = 부인 봉쇄

개념 : 행위나 이벤트의 발생을 증명하여 나중에 그런 행위나 이벤트를 부인할 수 없도록 하는 성질

 

// X.800의 6가지 정보 보호의 목표 : 기밀성, 무결성, 가용성, 인증성, 접근 제어, 부인 방지

 

정보 보호 관리와 정보 보호 대책

기술적 보호 대책

설명 : 정보 시스템, 통신망, 정보(데이터)를 보호하기 위한 가장 기본적인 대책

예시 : 백업, 접근 통제, 암호화 기술

 

물리적 보호 대책

설명 : 화재, 수해, 지진, 태풍 등과 같은 자연재해로부터 정보 시스템이 위치한 정보처리시설을 보호하기 위한 자연재해 대책

예시 : CCTV, 담장, 열쇠

 

관리적 보호 대책

설명 : 법ㆍ제도ㆍ규정ㆍ교육 등을 확립하고, 보안 계획을 수립하여 이를 운영(보안등급, 액세스 권한 등)하며, 위험 분석 및 보안 감사를 시행하여 정보 시스템의 안전성과 신뢰성을 확보하기 위한 대책

예시 : 정책, 표준, 지침, 절차

 

보안 목표와 관련된 공격의 분류

기밀성(Threat to Confidentiality)

ㆍ Snooping

ㆍ Traffic Analysis

 

무결성(Threat to Integrity)

ㆍ Modification

ㆍ Masquerading

ㆍ Replaying

ㆍ Repudiation

 

가용성(Threat to Availability)

ㆍ Denial of Service

 

소극적 공격과 적극적 공격

소극적 공격

설명 : 시스템으로부터 정보를 획득하거나 사용하려는 시도를 말하고, 시스템 자원에는 영향을 끼치지 않는 공격 형태

특징 : 탐지가 어려움, 암호화를 통해 예방 가능

 

적극적 공격

설명 : 시스템 자원을 변경하거나 시스템 작동에 영향을 끼치는 공격 형태

특징 : 탐지가 쉬움

 

수동적 공격과 능동적 공격의 분류

Attack Passive/Active Threatening
Snooping, Traffic Analysis Passive Condientiality
Modification, Masquerading,
Replaying, Repudiation
Active Integrity
Denial of Service Active Availability

 

시점별 통제(Control)

예방 통제(Preventive)

설명 : 사전에 위협과 취약점을 대처하는 통제

예시 :  정책, 경보 베너, 울타리

 

탐지 통제(Detective)

설명 : 위협을 탐지하는 통제

예시 : IDS, 접근 위반 로그(log)

 

교정 통제(Corrective)

설명 : 탐지된 위협이나 취약점에 대처하거나 위협을 줄이거나 취약점을 감소시키는 통제

예시 : BCP/DRP, 백업/복구, 트랜젝션 로그(log)

 

기본 보안 용어 정리

공격자

ㆍ시스템을 공격하거나 위협하는 존재

 

공격(Attack)

ㆍ시스템의 보안 서비스를 회피하여 보안 정책을 위반하려는 의도된 시도

 

대응

ㆍ피해의 최소화 및 적절한 대응을 위해 탐지, 보고하여 위험, 노출, 공격을 제거하거나 방지하는 행위, 장비, 기법

 

위험(Risk)

ㆍ특정 위협이 가져올 피해가 확률적으로 표현되는 예상 손실

ㆍ Risk = f(V, A, T)

 

보안 정책

ㆍ시스템이나 기관이 민감하고 중요한 시스템 자원들에 보안 서비스를 제공하기 위해 명시한 규정과 업무

 

자산(Assets)

ㆍ정보 시스템 내의 데이터, 시스템의 서비스, 처리 기능, 통신 대역폭, 시스템 장비(하드웨어, 펌웨어, 소프트웨어, 문서) 시스템 장비 설비

 

위협(Threat)

ㆍ보안을 침해하고 손해를 가져올 수 있는 상황, 행위, 이벤트가 존재할 때의 잠재적 보안 위반

 

취약점(Vulnerability)

ㆍ시스템 보안 정책을 위반할 수 있는 시스템 설계, 구현, 혹은 운영, 관리상의 오류 및 약점

'Computer Science > 보안(Security)' 카테고리의 다른 글

컴퓨터 바이러스 분류  (0) 2023.05.20
One Time Pad vs One Time Password  (0) 2023.03.31

+ Recent posts