질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

악성코드의 유형과 대비방법

작성자 정보

  • 이혁승 작성
  • 작성일

컨텐츠 정보

본문

악의적인 코드와 해결방법
※ 악의적인 코드

얼마전인가 MS의 윈도우나 기타 MS계열의 상용프로그램에 악의적인 코드를 심어놓고 MS사에서 자신의 프로그램을 사용하는 사람들을 감시한다는(?) 유언비어인지 아님 정말인지 모르는 소문이 잠시 떠돌아다닌적이 있었다.. 어찌되었든 그렇다면 악의적인 코드란 과연 무엇이고 빽도어나 바이러스와 의 연계는 어떻게 되는지 알아보고..그 간단한 대책방법과 프로그램 무결성 검사도구들을 알바보도록하자.

1. 악의적인 코드!

이름은 거창빡짝지근하다..
다음과 같은 놈들은 악의적인 코드라고 부른다.

ⓐ 사용자가 실행시키는 승인되지 않은 코드
ⓑ 합법적인 프로그램이나 그 속에 승인되지 않는 코드를 삽입하여 사용자가 알지 못하는 명령이 수행되어지는 프로그램
ⓒ 프로그램은 기능데로 돌아가지만 그속에서 사용자가 알지 못하는 프로그램이 작동하는 경우의 프로그램
ⓓ 겉으로 보이기에는 드러나지 않은채로 시스템을 파괴하는 승인되지 않은 코드

위와 같거나 비슷하다면 그 모든것이 악의적인 성향을 띠는 프로그램들인것이다.
저번 시간에 "서버&클라이언트"툴에서도 잠시언급되었던 툴들도 역시 악의적인 성향의 프로그램들인것이다. 비록 사용목적에 따라 다르지만

2. 트로이 목마 와 바이러스들

저번시간에 "서버&클라이언트툴"을 공부하면서 여러분들은 다음과 같은 의문과 의문속에서 어떻게 하면 친구녀석 컴터에서 bo서버나 NetBus patch파일을 실행 시킬수 있을까 하고 무진장 고심했으리라 믿어의심한다..히히^^ 바로그런한 부분을 어쩔수 업싱 설명을 해드려야 겠기에...일단 이러한 방법을 바로 "트로이(Trojan)"프로그램이라고 일컸는데 그수법이 예전 트로이 전쟁에서 그유명한 트로이 목마 전술과 흡사한데에서 기인한다. 그 원리는 너무나도 간단하다. 일정 프로그램에(승인된 프로그램-사용자가 전혀의심치 않는-에 우리가 넣고자하는 프로그램을 믹싱하여 승인되 프로그램을 실행 하였을때 악의적인 프로그램도 또한 실행되도록 만들어주는것을 의미한다... 이러한 점에서 바이러스또한 비슷한 방법을 택하고 있다.    ==>more

① 백오리피스의 플러그인들

말그데로다 설명을 필요치 않는 백오리피스의 플러그인 기능에는 보서버와 다른 프로그램을 합쳐주는 기능을 제공한다. - (★사용법은 스스로 사용법 문의 하지 마세요 답 안해요!★)

② 대표적인 툴로는 "NETNINJA" 라는 해커그룹에서 발표한 SILKROPE.exe 와 SARANWRAP.exe 가 있다..간단하게 프로그램을 합쳐서 한 화일명으로 대체 할수있는 기능을 제공한다. 저두 써보질 않아서 모르겠음..쓸일이 거의 없지요 크랙커가 아니면..

③ 트로이 프로그램의 위험성

트로이 프로그램들은 합법적인 프로그램의 모습을 하고 겉으로 드러나지 않은 채 수행된다. 또한 시스템의 필수 어플리케이션이나 유틸리티등에 숨어 있는 경우가 많고 또한 트로이 프로그램의 소스는 대부분 컴파일된 2진 코드로 되어있기 때문에 사용자의 세심한 관찰이 없이는 당최! 알아낼수가 없는 것이다.

④ 간단한 트로이 소개

▶ login_trojan : 간단하고 널리 알려진 트로이얀이다. 실제로 보이기는 login과정이 수행되는것과 흡사하나 정작은 아뒤와 패스워드를 파일에 기록하는 역활을 한다. 그러나 이러한 시스템 명령어를 차지하고 있는 트로이얀들은 기능상의 문제가 있으므로(login이 자신의 명령을 못수행함으로 login이 안됨)당연히 금방 들키게된다.

▶ Intruder : 이역시 로그인 과정을 수행하는 것같이 하면서 아뒤와 패스를 저장한다.

3. 악의적인 코드의 발견

시스템의 운영자로서 자신의 시스템이 악의적인 코드로 인하여 파괴도거나 위협당한다고 생각하면 얼마나 끔찍스럽겠는가, 악의적인 코드들을 발견하는 방법은 다음의 몇가지 방법들을 이용하여 체크할수 있다.

가) 자원 일치 검사(Object Reconciliation)

자원 일치 검사란 현재의 자원을 백업하여두어 추후 검사시에 변동사항의 유무를 체크 하는것인데. 주로 마지막 갱신된 날짜 / 생성된 날짜 / 파일크기 등을 비교하게된다. 그러나 이러한 방법은 쉽게 조작이 가능하므로 주의를 요해야된다.

나) ChackSum

chacksum은 주로 네트웍관련 프로그램들에 묵ㄹ성 검사시에 수행된다. 데이터가 A에서 B로 전달될때 양쪽의 전달되는 체크썸블럭(데이터의 합)을 저장하여 두었다가 데이터의 이동시 수신된 데이터의 체크썸블러과 일치성을 판단하여 무결성을 체크하는 방식이다.
간단한 예를 살펴보자  ==>more

# ls -l hahaha

-rwxrwxrwx 1 leon hacker 18952 Oct 18 17:04 hahaha

# sum hahaha

24705 38 hahaha

위의 예제에서 hahaha라는 파일의 체크썸 값을 알아보았다.
또한 다음과 같이 한다면 시스템에 있는 모든 파일의 체크썸을 스냅샷할수도 있으나 변조의 가능성은 내포한다.

# sum 'find / . -print' > chacksum.txt

위 결과 모든 파일의 체크썸을 chacksum.txt파일에 저장하게된다..추후 이 값과 비교하여 파일의 무결성을 체크할수 있다.

다)Tripwire

위에서 두가지의 파일 무결성 검사에 대한 공부를 해봤다. 독자분들도 짐작하였듯이 위의 두가지 방법의 무결성 검사는 변조의 가능성을 내포하므로 무결성 검사에 그리 접합하다고는 말할수 없다.
무엇보다, 시스템에 해킹을 감행하여 일종의 백도어로서 악의적인 코드를 심어놓고 다음에 억세싱 하기 위한다면 위방법의 무결성 검사는 해커에게는 그리 문제가 되지않을 것이다.
그러나, 우리는 "전송중 테이터 보호"에서도 보았듯이 암호화 방법을 통하여 이러한 문제를 해결할수 있음을 보았다..    ==>more


① Tripwire의 알고리즘

☞ CRC32 : 순환중복검사(Cyclical Redundancy chacking)로서 "전송중 테이터 보호"에서도 나왓듯이 전송중이 데이터의 검사시에 사용된다.
☞ MD2 / MD4 / MD5 : 하두 많이 설명해서.. 메세지 다이제스트 알고리즘이당..현재 우리가 쓰고있는 대부분의 시스템의 암호화 알고리즘이기도 하다.
☞ SHA : 잘모르겠으나 강력한 알고리즘임에는 틀림없다..국방성에서 사용한단다.
☞ Snefru : 제록스에서 발표한 128/254 bit 암호화 알고리즘

② Tripwire의 특성

-. 네트웍 작업가능
-. 높은 이식성 및 안정된 컴파일(C언어기반)
-. 매크로 처리로 인한 일괄작업 수행

③ 설치 및 설정

설치 및 설정은 나와잇는 메뉴얼등을 참고로 스스로 공부해보세요..
참고 : http://www.visualcomputing.com/products/2_0Linux.html

⑤ Tripwire의 사용

Tripwire를 사용하는 예이다

# ./tripwire --chack

:
:
:

검사후 결과를 출력한다.

Total objects scanned : 20371
Total violation found : 1
*******************
:
어쩌구 저쩌구
:
***End of report***

출력물은 간단하고 명료하게 사용자에게 변경된 파일의 이름과 변경 사이즈, 시간등을 알려준다. 
==>more
라) 그밖의 도구들

① TAMU : 택사스의 A&M대학에서 개발된 넘이다. 특성은 트로이를 찾는것 외에도 네트웍 모니터링 및 팻킷필터링등도 제공한다
② ATP : Tripwire와 유사한 서비스를 제공한다.
③ Hobgoblin
④ sXid
⑤ trojan.pl
기타등등


악의적인 코드나 프로그램등은 간편하게 시스템을 장악할수 있는 강력한 방법이다. 특히 범용프로그램이나 일부 프리웨어 프로그램등에 유포된다면 그 파괴력 및 확산 능력은 타에 추종을 불허 할수도 있다. 우선적으로 프로그램을 다운받거나 설치 할경우는 그프로그램에 대한 신중한 검토가 선행 되어야 하며, 시스템을 운영하는 관리자들은 주기적은 chack를 통하여 파일무결성을 검사하여야 한다. 무엇보다 자신이 운영하고 잇는 시스템에 대한 일차적인 보안이 선행되어야 백도어 및 기타 트로이 프로그램의 설치를 막을 수있다.

 

 

 

                       자료 : 네트워크,보안계열,IT취업 관련사이트

 

(주)이지스원 시큐리티
네트워크보안전문가, 정보보안컨설턴트 취업뽀개기!
보안 취업에 대해 진지한 상담을 해 드립니다.
확실하게 알고나서 진로를 결정하세요
http://www.aegisonesecurity.kr
02-3291-3264

 

 

 

 

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,041 명
  • 현재 강좌수 :  35,855 개
  • 현재 접속자 :  120 명