베이스 아카이브
컴퓨터 바이러스와 백신 본문
컴퓨터에 감염되는 바이러스 어떤 원리로 동작할까요?
컴퓨터가 만들어지고 중요한 데이터들을 컴퓨터에서 처리하면서
이를 망가뜨리거나 훔치려 하는 해커들의 도전이 계속되었는데요,
그중 하나가 바이러스라고 통칭되는 악의적인 코드입니다.
컴퓨터 바이러스라는 말은
1972년 미국의 SF소설가이자 시나리오 작가인 David Gerrold가 쓴
SF소설 'When Harlie Was One'에서 처음 등장했습니다.
소설의 내용은 다른 컴퓨터에 계속 자신을 복제하여
해당 컴퓨터의 OS를 마비시키는 장치를 만든 한 과학자의 이야기입니다.
1986년 소설과 비슷한 바이러스인 세계 최초의 바이러스,
브레인이 등장하면서 소설의 내용이 현실화되었습니다.
브레인 바이러스는 당시 5.25인치 디스켓으로 부팅하던 컴퓨터에서
부팅속도를 느리게 하는 코드를 디스켓에 감염시키는 방식이었습니다.
여기서 감염이라는 말은 무엇일까요?
정상적인 파일의 내용을 일부 변조시켜 악의적인 코드를 심어 실행하도록 만드는 것을 말합니다.
브레인 바이러스를 만든 파키스탄의 알비 형제는
자신들이 만든 소프트웨어가 불법 복제되자 이를 복수하기 위해
디스켓에 감염시켜 직접 유포하였는데
이후 얼마 지나지 않아 감염성이 더 강한 바이러스가 등장했습니다.
바로 파일 바이러스입니다.
파일 바이러스는 감염된 파일을 실행하면
다른 정상적인 파일을 찾아 동일한 코드를 복제하는 형태로
처음에는 컴퓨터에 바이러스가 있는 디스켓이 꽂혀 있을 때만 다른 파일들에 감염이 가능했으나,
곧바로 바이러스 복제 코드가 메모리에 상주하면서
디스켓이 교체되어도 감염이 가능한 메모리 상주 바이러스가 등장했습니다.
이때까지만 해도 바이러스의 진단은 쉬웠습니다.
파일의 특정한 영역을 검사하여 의심되는 코드로 진단이 가능했기 때문입니다.
하지만 해커들이 여기서 멈출 리가 없죠?
이제 바이러스 코드를 백신이 바로 진단할 수 없는
암호화 바이러스가 등장하게 됩니다.
이때부터는 백신이 바이러스의 암호 해독 방식까지 추가해야만 했습니다.
하지만 이때까지도 바이러스가 감염된 파일은 크기가 증가하거나 내용이 변하기 때문에
시간의 문제일 뿐 백신이 쉽게 진단할 수 있었습니다.
그러다가 시스템의 파일 길이를 가짜로 알려주거나
감염 내용 대신 정상 파일 내용을 반환하도록 하는
은폐형 바이러스가 나타났습니다.
또한 고정적인 암호화 대신 실행을 할 때마다 형태가 변하는
다형성 바이러스도 등장하였습니다.
이에 백신 쪽에서도 코드를 가상으로 실행하면서
매번 변형되는 코드를 감지하여 바이러스를 진단하는 방법을 택했습니다.
하지만 이는 약과였습니다.
바이러스의 진단이 빨라지고 1990년대 후반부터 인터넷이 발달하면서
해커들은 더 효과적이고 광범위한 공격이 가능한 다른 방법을 고민하기 시작하였습니다.
이때 나온 것이 바로 백도어입니다.
백도어는 바이러스 이전에 만들어졌던 트로이 목마를 이용한 방식입니다.
이는 신화 속의 트로이 전쟁에서
병사 30명이 은신한 거대한 바퀴 달린 목마를 주술적 믿음을 통해 적의 성 안에 세워둔 후
그 안에 은신했던 병사들이 성문을 열어주어 침공에 성공하는 설화에서 나온 단어로,
사용자의 컴퓨터에서 프로그램이 실행되면
사용자의 키보드 입력, 화면 캡처, 네트워크 전송 내용 등을
해커가 지정한 컴퓨터로 빼돌리는 코드입니다.
또한 웜이라고 불리는 네트워크를 통해 전파되는 악성코드가 등장하면서
이메일, P2P, 메신저 등으로 전송만 하면,
보안 취약점을 이용해 다량의 컴퓨터에 재전파되어
어마어마한 피해를 입히는 형태로 진화하게 되었습니다.
또한 2000년대 중반부터는 사이트 해킹, 비밀번호 탈취, 디도스의 숙주로 사용하는 등
악성 코드를 통해 직접적으로 금전적 이익을 얻으려는 시도가 시작되었습니다.
2013년, 거래 상대를 익명화 할 수 있는 비트코인이 유행하면서
컴퓨터를 감염시켜 파일을 암호화하고
이를 인질 삼아 파일 해독을 미끼로 비트코인으로 입금을 받는 워너 크라이 등의 랜섬웨어가 큰 피해를 입혔습니다.
결국 현재의 컴퓨터 백신은 지금까지 나타난 바이러스를 방어하는 바이러스 진단 기능
그리고 네트워크를 통한 의심스러운 전송을 막는 방화벽 기능,
백도어나 웜, 랜섬웨어 등을 방어하는 맬웨어 진단 기능,
현재까지 나타나지 않은 새로운 보안 위협을 사전에 감지하여 예방하는 휴리스틱 진단 기능 등
굉장히 다양한 기능으로 이루어져 있어 최대한 컴퓨터의 성능을 유지하며
높은 진단율, 낮은 오진율을 보이는 백신을 사용하는 것이 매우 중요하다고 할 수 있겠습니다.
오늘은 컴퓨터 바이러스 종류와 백신에 대해 알아보았습니다.
내용이 도움이 되셨길 바라고
오늘 포스팅은 여기서 마무리하겠습니다!
감사합니다.
'IT > 지식정보' 카테고리의 다른 글
VPN에 대해 알아보자! (3) | 2022.02.04 |
---|---|
음성을 인식하는 과정? 어떤 원리일까? (8) | 2022.01.31 |
'국세청 연말정산' 보안 허점 발견?! (7) | 2022.01.21 |
기본 개발 용어 알아보기 - 빌드, 배포 (2) | 2022.01.20 |
기본 개발 용어 알아보기 - 디버그, 컴파일러, 인터프리터 (6) | 2022.01.19 |