Visual Basic, C & C++
분류 Delphi

델파이 개발프로그램을 이용한 바이러스 주의!!

페이지 정보

본문

바이러스토탈 사이트, 8월 중순부터 바이러스로 진단

지난 2009년 7월 초(이전)부터 미국 볼랜드사의 개발 프로그램 일종인 델파이(버전 4.0~7.0)의 특정 라이브러리(SysConst)를 변조시킨 다음 그 이후에 빌드(컴파일)되어 생성되는 EXE, DLL 파일 등에 바이러스 코드를 삽입시키는 형태의 바이러스가 지속적으로 발견되고, 지난 18일부터는 국내에서도 이 바이러스 전파 기법이 발견돼 델파이 프로그램 개발자들의 각별한 주의가 요망된다.

잉카인터넷(대표 주영흠) 시큐리티대응센터(ISARC) 대응팀 문종현 팀장에 따르면, 아래 사진·링크처럼 2009년 7월 4일과 8월 19일에 Virus Total 사이트에 올려 졌던 동일한 감염 파일의 진단현황으로 7월초 당시에는 Virus로 진단하는 제품이 없었지만, 8월 중순부터는 Virus 진단으로 분류되기 시작했다.

진단에 사용된 이 파일은 국산 음악 플레이어의 Uninstall.exe (UPX 실행압축 형태) 파일이다.
MD5 : 38fb61b98dd46c7947f5f3aa6c9a3252
SHA256 : 8919489a83222206a8f582bf38612d925c619fd58196de66660ba0134074283f

그러므로 7월 초(이전)에 이미 감염된 파일이 배포되고 있었다는 것을 짐작해 볼 수 있다는 것이 잉카인터넷 측의 설명이다.
 
▲ 2009년 7월 04일 진단현황.
 
▲ 2009년 8월 19일 진단현황.
 
이 바이러스는 Win32.Induc.A 또는 Virus.Win32.Induc.a 등의 이름으로 명명되어졌으며, 델파이 개발 환경에 감염된 경우 신규 개발 프로그램에 바이러스를 지속적으로 포함시켜 배포 또는 판매하는 상황이 발생하게 된다.

기존 컴퓨터 바이러스처럼 스스로 다른 실행파일(EXE, DLL, SCR 등)을 찾아 감염시켜 전파하는 기능은 존재하지 않는 것이 특징이다.

또한 델파이 프로그래밍을 통한 개발 설계 단계부터 프로그래머가 의도하지 않은 악의적인 코드가 포함되어 생산된다는 점과 프로그램 보안성 부분에 치명적인 문제가 발생된다는 점에서 시사하는 바가 크다고 할 수 있다.

특히 프로그램 개발자가 프로그램을 완성 후 모듈 보호 목적으로 고의적으로 다양하게 실행압축을 하거나 암호화 보호 기능 등을 별도로 수행하는 과정에서 악성코드가 또 다른 형태로 변화(압축)되어 질 수도 있다.

그에 따라 Anti-Virus 처리기능이 다양하게 요구되어 져야 하는 경우가 발생할 수 있다.

현재 잉카인터넷 시큐리티 대응센터에서 확인한 바에 의하면 국내 특정회사와 유명 공개 자료실 등에 등록되어 있는 일부 음악 재생 프로그램 등에서 이번 바이러스에 감염된 모듈이 포함되어 일반 사용자들에게 배포되고 있는 것을 다수 확인한 상태이다.

이번 바이러스의 감염과정과 변조된 DCU에 대한 수동조치 방법은 다음과 같다.

■ 감염과정
1. 델파이 제품(버전별 4.0~7.0)이 설치되어 있는지 다음의 레지스트리 키를 확인한다.
- HKLMSoftwareBorlandDelphi4.0
- HKLMSoftwareBorlandDelphi5.0
- HKLMSoftwareBorlandDelphi6.0
- HKLMSoftwareBorlandDelphi7.0
 
2. 델파이가 설치된 경로를 확인한다.
예) RootDir - C:Program FilesBorlandDelphi7
 
3. 델파이가 설치된 경로 중에 SysConst.pas 파일을 확인한다.
예) C:Program FilesBorlandDelphi7sourcertlsysSysConst.pas
 
4. 파일이 존재할 경우 Lib 폴더로 복사하면서 소스코드 중에 바이러스 명령어를 삽입한다.
예) C:Program FilesBorlandDelphi7LibSysConst.pas
 
5. 기존에 Lib 폴더에 존재하던 정상 SysConst.dcu 파일을 SysConst.bak 파일로 Backup 저장한다.
 
6. DCC32.EXE 를 실행하여 감염된 소스코드 파일(SysConst.pas)을 Compile 하여 감염된 SysConst.dcu 파일을 생성한다.
 
7. 감염된 SysConst.dcu 파일이 생기면 감염된 소스코드 SysConst.pas 파일은 삭제한다.
 
8. 바이러스 코드가 추가된 Delphi Compiled Unit 파일에 의해서 이후에 빌드(Compile)되는 모든 델파이 프로그램은 바이러스를 포함하여 완성되어진다.
 
9. 프로그램 개발자에 의하여 각종 실행압축 프로그램(UPX, Upack, PECompact 등)으로 Packing 되거나 Installer화되는 과정에서 파일 구조가 변경되어지는 경우가 발생할 수 있다.

■ 변조된 DCU 수동조치
바이러스 코드 삽입으로 인하여 변조된 SysConst.dcu 파일은 다음과 같이 수동으로 복구할 수 있다.
감염 전 파일 : C:Program FilesBorlandDelphi7LibSysConst.bak
감염 후 파일 : C:Program FilesBorlandDelphi7LibSysConst.dcu

감염 후 변조된 SysConst.dcu 파일을 삭제하고, Sysconst.bak 파일의 이름을 SysConst.dcu 로 변경하면 된다. 그 외 감염된 EXE, DLL 파일 등은 Anti-Virus 프로그램 등을 통해서 치료하거나 개발자가 재빌드하여 배포하도록 한다.

관련자료

등록된 댓글이 없습니다.
프로그래밍
Today's proverb
성공하느냐 실패하느냐는 다른 사람이 아닌 바로 내가 하는 일이다. 내가 바로 힘이다. 나는 내 앞의 장애물을 치울 수도 있고, 미로 속에서 길을 잃을 수도 있다. 내 선택, 내 책임 이다. 이기거나 지는 것은 오직 나만이 가진 내 운명의 열쇠에 달려있다. (알레인 맥스웰)