뉴스/이벤트

악성코드의 역사와 마이터 어택

[보도자료] | 2019-11-25

악성코드, 길고 긴 역사

악성코드. 영어로는 ‘Malware’이다.

직역하면 ‘악성소프트웨어’이다.

1971년 “프로그램도 자기복제를 할 수 있을까?”라는 의문에서 만들어진 ‘크리퍼’를 시작으로,

시간이 흘러 ‘악성코드’는 우리가 아는

컴퓨터 바이러스, 웜 바이러스, 스파이웨어, 루트 킷, 랜섬웨어 등을 통칭하는 단어가 되었다.

‘컴퓨터 바이러스’는 생물학적인 바이러스와 하는 행동이 동일하다.

실행파일(세포)에 붙어 감염을 일으키고 자가 복제한다.

물론 차이점은 있다.

생물학적 바이러스는 수백 수조개의 세포와 엉켜 있기 때문에 완전히 제거하는 것이 어렵다.

하지만 ‘컴퓨터 바이러스’에 감염된 실행파일은 구조가 단순해 위치만 파악한다면 치료할 수 있다.

제거하면 그만이다.

‘컴퓨터 바이러스’를 치료하는 ‘안티바이러스 솔루션’은 주로 예방책으로 사용된다.

바이러스의 시그니처를 바이러스 엔진에 저장해놓고

동일한 ‘시그니처’가 보일 경우 차단하여 감염을 예방한다.

‘웜 바이러스’는 기생충에 비유할 수 있다.

컴퓨터 안에서 증식하면서 메모리를 잡아먹는다.

끊임없이 번식을 하면서 또 다른 컴퓨터에 전파한다.

정보탈취 목적보다는 시스템의 마비를 통한 업무방해의 목적이 강한 악성코드이다.

바이러스와 달리 파일감염을 일으키지 않는다.

웜 바이러스 감염시에는 컴퓨터 바이러스와 동일하게 안티바이러스 솔루션을 통해 치료할 수 있다.

‘스파이웨어’는 말 그대로 스파이행동을 하는 소프트웨어이다.

드라이브 바이 다운로드(Drive By Download) 공격을 통해

사용자 몰래 사이트접속, 파일다운로드 행위를 통해 자동으로 PC에 설치된다.

원래는 마케팅 목적으로 사용자 취향정보를 수집하기 위해 개발된 프로그램이나

현재는 PC 안에서 개인정보, 기밀정보를 수집, 탈취하거나 사용자의 행동을 감시하는 역할을 한다.

‘루트킷(Rootkit)’은 PC 권한탈취를 통해

관리자 영역에 접근할 수 있도록 하는 도구라고 생각하면 이해하기 쉽다.

루트킷이 설치되면 사용자가 아님에도 불구하고

관리자 권한을 얻어 중요한 영역에 접근할 수 있으며

이를 통해 자신의 흔적을 숨길 수도 있어 탐지가 어렵다.

‘랜섬웨어’는 ‘인질의 몸값’을 뜻하는 Ransom과 소프트웨어를 뜻하는 Ware의 합성어다.

랜섬웨어는 사용자 PC에 무단으로 침투해 파일을 암호화시킨다.

크래커(해커라는 단어가 익숙하므로 이후 해커로 표기)는 해당 파일을 인질로 잡고 금전을 요구한다.

‘워너크라이’가 가장 유명하다.

위에 열거된 악성코드들은 치료/예방이 가능하다.

단, 데이터베이스에 해당 악성코드 정보가 등록되어 있다면.

즉, 데이터베이스에 해당 정보가 없는 신생 또는 변종 악성코드일 경우 속수무책으로 감염된다.

해커가 신종 취약점이나 악성코드를 통해 해킹을 수행하는 것을 ‘제로데이 공격’이라고 한다. 대책이 없기 때문에 속수무책으로 시스템이 파괴되고 정보가 탈취되고 변조, 암호화된다.

과거 악성코드는 업무에 지장을 주기위해 시스템을 마비시키거나,

시스템 파괴공격의 장기말로 활용하기 위해 사용됐다.

지금은 개인정보/기밀정보 탈취를 위한 사전작업으로 악성코드를 심어 시스템을 조작한다.

시스템 마비를 넘어 정보가 유출되기에 2차 피해까지 유발한다. 피해의 규모가 커졌다.

보안솔루션, 어떻게 기능하는가?

보안위협에 대응하는 방법은 많다.

네트워크라는 존재가 생긴 순간부터 끊임없이 투쟁해왔기 때문이다.

대표적으로 ‘안티바이러스 솔루션’을 예시로 언급할 수 있다.

‘안티바이러스 솔루션’은 패턴을 분석한 후에

악성코드가 가지고 있는 특성들을 바이러스 엔진에 업데이트하여 PC감염을 막는다.

사후처리 방식이다.

다른 PC의 감염, 확산을 막는데 목적이 있다.

다만 일일이 분석해 시그니처를 파악해야 하므로 시간이 오래 소요된다.

또한 하루에도 수백만개의 변종이 발생하기 때문에

모든 변종 바이러스를 커버하는데 시간과 인력이 많이 투자된다.

신규공격의 초기방어, 기존 악성코드 차단을 위한 대안 솔루션이 나왔다.

‘APT 대응 솔루션’ 이다. 가상환경에서 행위를 테스트하고 이상이 없으면 접근을 허용한다.

그러나 요즘 악성코드들이

‘APT 대응 솔루션’의 시야에서 벗어나기 위한 대비책을 구상하기 시작해 무실해졌다.

샌드박스 환경을 감지하는 기능을 추가하거나 일정시간이 지난 후 악성행위를 수행하는 방식으로

‘APT 대응 솔루션’을 피해간다.

악성코드에 아무 의미 없는 행동을 섞어서(노이즈) 악성코드의 농도를 옅게 만들기도 한다.

샌드박스는 쉴새없이 들어오는 패킷을 모두 확인해야 한다.

조금이라도 느려지거나 마비가 된다면 업무 효율성이 떨어지게 된다.

그렇기에 ‘APT 대응 솔루션’은 1차 필터링을 진행한 후 알맹이만 남겨서 분석을 수행하기도 한다.

99.999% 보안은 가능할지라도 0.001%의 확률로 악성코드에 감염된다면 보안의 허점이 된다.

실제 환경에서의 데이터를 토대로 대응 필요

가상환경에서 테스트하는 것, 일부 시그니처를 통해 판별하는 것은 현재 시류에 맞지 않다.

‘제로데이 어택’의 비중이 높아지는 요즘, 오차 범위는 줄여야 한다.

신속하게 확산을 막을 수 있어야 한다. 실제환경에서 나타나는 증상을 토대로 정확한 진단을 내려야 한다.

대세로 떠오르고 있는 솔루션이 ‘EDR’이다.

엔드포인트 위협 대응 및 탐지솔루션이다.

엔드포인트에서 발생하는 모든 행위를 파악하고 보안위협이 발생할 경우 신속하게 대응한다.

기술명으로는 완벽하다. 세상의 모든 위협을 다 탐지해 해결해줄 수 있을 것 같다.

문제는, 포착된 행위가 악성행위인지 판단하기가 쉽지가 않다는 것이다.

또는 악성행위임은 판단했는데 어떻게 대응해야 하는지 감이 잡히지 않아

치료나 방어 등 대응에 관해서는 적극적이지 못한 경우가 대다수였다.

해킹기법은 공격대상에게 혼란을 주기 위해 복잡하게 설계되기에,

타깃이 된 주체는 무엇부터 처리해야 하는지 대책이 서지 않는 경우가 많았다.

EDR의 중요성은 피력했지만,

악성행위 감지까지는 이루어 냈지만,

대응에서 발목이 잡힌 것이다.

작년까지만 해도 EDR의 타이틀을 걸고 나온 제품은

사실 ‘ED(Endpoint Detection)’였다.

R(Response)이 부족했다.

그래서 매년 ‘곧 대세가 될 솔루션’, ‘차세대 보안솔루션’이라고 언급만 되었을 뿐,

실제 도입 및 레퍼런스는 부족한 실정이었다.

알려진 처방법이 없다면 대증치료가 필요하다

치료할 수 있는 질병이라면 기존에 보유한 의과적 지식, 백신, 항생제 등을 토대로 해결할 수 있다.

하지만 상황 파악조차 안되는, 생전 처음 겪어보는 증세를 발견했다면

우선 ‘대증요법’을 통해 하나하나 대처해 나가야 한다.

통증이 심한 경우 진통제를, 열이 나면 해열제를,

항체가 부족하면 항제주사를 주입하는 방식으로 말이다.

시스템 계정에 관한 ‘무차별 대입공격’을 실행하는 행위가 감지되었다면

가장 먼저 해당행위를 하는 IP를 차단해버리는 방식을 취해야 할 것이다.

SMB(Server Message Block)취약점을 이용한 랜섬웨어가 발견되었을 경우

SMB포트를 차단하여 확산경로를 막아야할 것이다.

문제는 이 대증요법 마저도 초기 EDR 솔루션으로는

온전히 보안담당자의 판단에 따라 대응했기에

정확도가 떨어졌고 대응 속도도 느린 것이 문제였지만 말이다.

사이버 공격에 관한 해킹기술, 증상, 대응방법을 총망라한 바이블이 필요한 시기가 왔다.

참고자료:

https://namu.wiki/w/%EC%95%85%EC%84%B1%EC%BD%94%EB%93%9C

https://terms.naver.com/entry.nhn?docId=3431949&cid=58437&categoryId=58437

https://ko.wikipedia.org/wiki/%EC%BB%B4%ED%93%A8%ED%84%B0_%EB%B0%94%EC%9D%B4%EB%9F%AC%EC%8A%A4

https://www.dailysecu.com/news/articleView.html?idxno=72914

https://www.dailysecu.com/news/articleView.html?idxno=73316

목록