본문 바로가기
diary

과연 바이러스의 주인공은 어디에...?

by 찬이 2010. 11. 22.
요즘 제가 하는 일 중에 추가된 하나는 스마트폰의 단말 바이너리를 최종적으로 제작하는 일입니다. 물론 본업이 아니고, 프로젝트를 진행하면서 누군가가 덤으로 맡아야 하는 일 중의 하나죠. 보통은 후배사원들을 시켰는데, 이번엔 중요 모델이라고 경력이 좀 되는 사람을 시키고 싶으시다는데, 무슨 연관이 있는진 잘 모르겠습니다...;;

암튼 여차저차 해서 개발자들이 만든 소스를 취합해서 컴파일한 후, 최종 바이너리를 만들어서 여기저기 배포를 해주는 일이 늘어난 것이죠. 바이너리라 함은 펌웨어라고 생각하시면 될 것 같습니다. 그런데, 평소에 업그레이드용 정도로 사용하는 펌웨어보다 크기가 엄청 크죠. 완전한 전체 이미지라고나 할까요...? 이러한 일을 '릴리즈(Release)','릴리스', 혹은 '버전발행' 등으로 부릅니다.

이러한 버전발행은 '개발실에서 이렇게 이렇게 수정했으니까 문제가 있는지 확인해달라'라는 의미이기도 합니다. 그래서 개발실 인력뿐만아니라 각종 기능담당자들이 확인을 하고, 이동통신사업자 규격과 국제규격에 맞는지도 확인을 합니다. 그리고 전류나 전압, LCD나 사운드의 성능 테스트도 하게 되구요. 이것저것 테스트를 해야하는 부분도 많고, 관련부서도 참 많아요.

나에게 바이러스 유포혐의가...

그런데 그 중에는 사내부서만 있는 것이 아니라, 외부업체도 있습니다. 며칠전에는 그 업체중 한 곳에서 연락이 왔다고 전달을 받았습니다. 내용인 즉, 제가 만들어준 바이너리에 '바이러스'가 포함되어있다라는 겁니다. 순간 참 당황스럽더군요.
곰곰히 가능성에 대해서 생각을 해봤습니다만, 메일의 내용을 보아하니 자신들의 컴퓨터는 명백히 깨끗하니 우리쪽 책임이라네요. 우리회사에서 쓰는 V3로는 감지 안되고 자기네들이 쓰는 무슨 외산 백신으로 감지가 된답니다. 그런데 그 외산 백신 프로그램에 회사에 있을리가 없기 때문에 확인이 안되는 겁니다.

아무리 생각해도 우리쪽 문제가 아닐 것 같은데, 그 업체와 컨택하는 후배 조차도 '배포할때 바이러스를 포함시킨 것 같습니다'라고 대뜸 제게 메일을 포워딩한겁니다. 아무래도 이상했습니다. 정말로... 정말로...

바이러스의 발견

제가 전달한 바이너리로 업데이트한 후 이동디스크로 노트북에 연결했는데, 그 안에서 바이러스가 발견되었다고 백신 프로그램이 동작한다고 합니다. 그런데 그 노트북은 깨끗하답니다. 다른 때도 사용했는데 지금까지 괜찮았기 때문이랍니다.
발견된 바이러스는 Variant.Rimecud.2, 이동식 디스크 동작시켜서 F 드라이브로 연결된 상태인가보군요.
파일명들이 뭔가 좀 이상합니다. 왜냐면 저런 파일들을 넣어주진 않았기 때문이죠. 저것들과 비슷한 이름의 디렉토리는 존재합니다.
인터넷을 뒤적여보니, 윈도우 트로이목마형 바이러스인데 특징중 하나가 폴더와 같은 이름의 파일을 생성한다라는 내용도 있군요. V3에서도 치료가 된다고 하던데, 왜 발견이 안된다라고 하는건지...;;;

바이러스의 출처를 추적하기

제가 만든 바이너리는 무슨 실행파일이거나 그런게 아니라, 말그대로 완전한 이진파일입니다. 실행파일도 아니며 순수한 데이터 그 자체이므로 감염이 될 수가 없죠. 그리고 제가 배포한 바이너리는 이미 회사내에서 수백번을 사용한 것입니다만, 저런 파일이 발견되었다라는 소리는 들어보질 못했습니다.

바이너리를 만드는 환경을 생각해봤습니다. 음냐... 어쩌죠...? 리눅스군요 -_-;;;
안드로이드는 리눅스를 OS로 하는 플랫폼이기 때문에 리눅스가 설치된 컴파일 서버에 텔넷으로 접속해서 컴파일을 돌려서 바이너리를 만듭니다. 그러면 리눅스에서 윈도우 바이러스가 감염되었다고 봐야하나요? 난감하군요.

자... 그러면 바이너리를 만들기 전에 이미 감염이 되었을 수 있지 않을까 생각해볼 수도 있습니다. 그런 가능성을 염두에 두고 다시 고려를 해봤습니다. 내부적으로는 RFS라는 파일시스템 이미지를 만들어서 그것을 리눅스 상에서 마운트시켜서 사용하는 방식입니다. 여러개의 RFS중 하나를 이동식 디스크로 연결될 수 있도록 해주죠. 그런데 그 이동식 디스크안에는 별다른 파일이 없어요. 그냥 텍스트 혹은 그에 준하는 작은 데이터파일 몇개 정도...? 그것들을 대충 뭉쳐서 리눅스에서 쓸, 일종의 디스크 이미지를 만드는 셈이죠.

리눅스에서 생성한 몇개의 텍스트파일이나 데이터 저장파일들을, 리눅스 상에서 디스크 이미지로 만들었을때 윈도우 바이러스가 감염되었다고 믿어야 하는 상황이 왔습니다. 아~~ 제게 그만 혼란이 찾아오고야 말았습니다. 아무리 생각해도 이해가 되지는 않았지만, 제가 잘못한 것이 맞다라고 하니까, 그리고 원인을 찾아야 한다고 하니까 믿어야만 했습니다. 너무 그러니까 진짜 제가 모르는 뭔가가 있는데 무식해서 모르고 있는건 아닌가 하는 생각도 하게 되더군요.
갑갑했습니다. 밥도 안넘어가구요. 아무리 생각해도 말이 안된다 싶은 상황을 믿어야 하니, 스스로도 바보처럼 여겨지기도 하고... 마치 "펄펄 끓는 물에서 삶아서 건네준 밥그릇을 가져가서 식사를 했는데 식중독이 걸렸으니, 내가 준 밥그릇에 식중독 균이 있었다"라는 얘기를 사실이라 믿어야 하는 느낌이랄가요.

일단 비상탈출은 한 것 같은데

아무리 생각해도 제가 바이러스를 제공하진 않은 것 같은데, 또 그렇다고 얘기를 했지만 납득을 시키질 못했습니다. 그러다가 그냥 그 사람들이 확인한 방법 그대로 재현해보기로 했습니다. 그들이 원한 것은 이동디스크 연결시 보이는, 바이러스가 감염되었다고 나오는 exe 파일들의 정체였습니다.

배포했던 바이너리를 통째로 제 단말에 다운 받았습니다. 그러면 내부의 모든 내용이 다 지워지고 처음으로 되돌아갑니다. 그 상태에서 일종의 파일탐색기 같은 어플을 실행해서 이동식 디스크가 연결되는 곳을 살펴봤습니다. 당연한 얘기지만 그러한 exe 파일은 존재하지 않았습니다. 같은 이름의 폴더들만 있을뿐... 게다가 저 위의 스크린샷에 있는 "회사.exe"는 뭔지. "회사"라는 폴더는 애초에 존재하지도 않는데~

다시 메일을 적었습니다. 바이러스 출처를 확인하기 위해서 한가지 확인 좀 해달라고 말이죠.
내용인즉, 제가 확인한 방법대로 먼저 확인을 하고 나서, 그리고 바이러스를 발견했던 그 노트북에 이동식 디스크를 연결한 후에 같은 앱을 실행해서 파일목록을 살펴본 후에, exe 파일들이 존재하는지 확인해달라고 했습니다.

이틀 내내 재전송되어오며 절 괴롭히던 "[바이러스확인요청]" 이란 제목의 메일이 딱 끊긴지 벌써 20여일이 지났네요. 확인해보고 메일좀 보내달라고 했는데 아직 아무런 연락이 없네요. 바이러스가 있어도 그냥 무시하고 그대로 진행을 한다라는 건지, 아니면 바이러스의 출처를 찾았다는 것인지...

어쨌거나 한 이슈로 제 기억에 남을 것 같네요.


그런데 정말 바이러스 감염이 가능한건가요......???? -_-;;;;;;;;

댓글