노무현 대통령 배너
BLOG main image
왕미친놈의 왕미친세상입니다. 미친 소리는 써도 되지만, 근거 없는 소리는 쓰면 안 됩니다.


알리는 말

이 글에 소개된 사항은 알집의 압축 풀기 기능과는 아무런 관련이 없습니다. 단순히 목록화 과정에서 잘못된 정보를 보여주고 있음을 나타내고 있습니다.

벌레의 유형

정상 파일을 제대로 인식하지 못하는 벌레이다.

벌레의 발견

S대학교 도서관에 비치된 컴퓨터에서 집에 있는 컴퓨터에 원격으로 접속하기 위해 프로그램을 다운로드한 뒤 압축 파일 내용을 확인하면서 알게 되었다.

헤더가 잘못되었다고 하는 알집

헤더가 잘못되었다고 하는 알집

참고로 위 그림에 나타난 파일은 TeamViewer 웹페이지에서 다운로드 받을 수 있다.

For mobile use: TeamViewer Portable 부분을 다운로드 하면 된다.

For mobile use: TeamViewer Portable 부분을 다운로드 하면 된다.

그리고 혹시나 하는 마음에 알집을 최신버전으로 바꾸어보았다.

역시나 헤더가 잘못되었다고 하는 알집 최신버전

역시나 헤더가 잘못되었다고 하는 알집 최신버전

헤더 검사에서 벌레가 나타났지만 압축을 풀 때는 이상없이 되었다.

관련 문서

내부 문서

외부 문서

회사 측의 기존 답변

  • 2009년 12월 6일 오류를 보고한 상태입니다.
  • 12월 7일 알집의 다음 버전에서는 고쳐진다는 답변을 받았습니다.
  • 12월 22일 알집 8 beta1에서 고쳐졌음을 확인하였습니다.


이 글은 스프링노트에서 작성되었습니다.


글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

들어가며

알툴즈와 관련하여 애드웨어 및 프리웨어와 관련한 논쟁이 내 블로그에서 일었다. 요는 이스트소프트 측에서는 자신들의 소프트웨어를 "프리웨어"라고 한 적이 있느냐 없느냐이지만, 그 과정에서 논의에 참의한 이들이 사용한 라이선스의 개념이 서로 달라 약간 오해를 빚기도 했다.
그래서 이 글에서는 라이선스의 종류와 의미를 알아보도록 하겠다.

  • 참고 : 이 글에 나오는 용어의 정의는 사람에 따라 조금씩 달라질 수 있습니다.

라이선스의 뜻과 종류

라이선스는 "(사용) 허가"라는 뜻을 가지고 있다. 물론 "면허"라는 뜻도 있다. 컴퓨터 프로그램에서는 "사용 허가"라는 뜻으로 쓰인다.

컴퓨터 프로그램의 라이선스는 그 분류에 따라 여러 가지 라이선스가 존재한다.

일단 라이선스 사용료에 따른 분류가 있다. 이것을 라이선스 사용료를 직간접적으로 지불하지 않는 것과 직접적으로 지불하는 방식, 간접적으로 지불하는 방식으로 나뉜다. 라이선스 사용료를 지불하지 않는 라이선스를 가진 소프트웨어프리웨어라고 부른다. 물론 프리웨어 라이선스라도 일정한 제한을 두고, 그 외의 경우는 라이선스 사용료를 지불해야 사용할 수 있는 제한적 프리웨어도 있다. 사용료를 지불하는 방식에 따라서 셰어웨어일반 상용 프로그램으로 나눌 수 있다. 요즘에 자주 등장하는 애드웨어는, 사용료 지불방식으로 보자면, 사용료를 간접적으로 지불하는 셰어웨어이다.

기술 공개(프로그램 소스코드 공개)에 따라 라이선스를 구분할 수도 있다. 저작권이 소멸된 경우 그 기술 공개가 무제한이다. 이런 경우 퍼블릭 도메인이라 부르며, 그러한 소프트웨어를 퍼블릭 도메인 소프트웨어(Public Domain Software, 흔히 'PDS'라고 약칭한다)라고 부른다. PDS보다는 제한이 있지만 그 기술이 충분히 공개된 소프트웨어를 오픈소스 소프트웨어라고 부르며, 그와 반대로 기술이 공개되지 않은 소프트웨어를 클로즈드소스 소프트웨어라고 부른다.

소프트웨어의 배포 방식에 따라서도 라이선스를 분류할 수 있다. 다른 상품처럼 상자에 담겨 판매되는 제품을 상용 소프트웨어이라고 부르기도 한다. 이 경우 정확한 명칭은 소프트웨어의 판매용 버전(Retail version, 소매판)이다. "박스 정품"이라고 부르는 경우도 있다. 그러나 박스 정품은 소매판의 한 종류이다. 박스 정품은 소프트웨어 팩키지가 담긴 미디어(요즘에는 CD 또는 DVD) 및 그와 관련한 사용자 설명서 등이 포함된 꾸러미를 일컫는다. 그에 반해 소프트웨어 팩키지가 담긴 미디어만 판매되는 경우는 주얼 제품이라 부른다. 이때 주얼(Jewel)은 보석이라는 뜻도 있지만, 여기에서는 CD/DVD 케이스의 별칭이다. 반짝거리는 CD/DVD 및 그 케이스가 보석같다고 해서 붙여진 별명이라고 한다. 또한 배포 과정에서 다운로드 방식을 이용하는 상용 제품은 ESD(Electronic software distribution, 전자 소프트웨어 배급)라고도 부른다.

한편 배포 및 소프트웨어 설치 과정에서 "비닐을 뜯으면 사용 계약서에 동의하는 것으로 간주합니다."라거나 "동의한다면 [다음]을 클릭하세요"라는 메시지가 나타나는 방식도 있다. 이는 비닐로 싸인 박스 상태로 배포하는 방식은 시링크랩 라이선스(Shrink-wrap license)라고 부르며, 클릭함으로써 동의를 구하는 방식을 클릭랩 라이선스(Click-wrap license)라고 부른다.

프리웨어 라이선스의 제한

일반적인 제한

프리웨어 라이선스로써 소프트웨어를 사용할 때는 한계를 지닌다.

프로그램을 수정해서는 안 된다. 그 소스코드나 바이너리를 수정해서는 안 된다. 둘 가운데 하나 또는 전부 수정할 수 없다. 다만 프리웨어로 배포되는 소프트웨어가 다른 기술 공개 라이선스를 가지고 있다면 소스코드를 수정하거나 바이너리를 수정할 수 있다.
이때 코드 수정에 대한 사항은 소스코드가 수정되었다면 그것을 혼자 쓸 목적으로 수정하는 것은 허용된다. 다만 절대 외부에 공개해서는 안 된다. 소프트웨어와 관련한 격언 가운데 "책을 사서 보듯이 하라."라는 말이 있다. 이는 책을 사서 읽다가 마음에 들지 않는 내용이 있을 때 고칠 수 있다. 그러나 그것을 외부로 공개해서는 안 된다. 이처럼 소프트웨어도 고치고 싶다면 고친 다음 혼자서만 써야 한다. 그러나 대부분의 사람이 고친 프로그램을 외부로 유출시킴으로써 문제를 일으킨다.
한편 소프트웨어의 바이너리는 주로 실행코드를 포함한 실행파일을 일컫는다. 그러나 소프트웨어 라이선스와 관련한 경우에는 설치 프로그램도 바이너리로 볼 수 있고, 프로그램의 일부인 그래픽 이미지 파일이나 사운드 파일도 바이너리로 볼 수 있다. 예컨대 소프트웨어의 설치본을 다운로드 받았다면, 그 설치본은 물론이고, 설치된 뒤의 구성요소 하나하나까지 고치서는 안된다는 뜻이다.
물론 소프트웨어의 경우 암묵적으로 수정을 허용하는 부분이 있기는 하지만, 그러한 부분은 명시적으로는 금지된 경우가 대부분임을 기억해야 한다.

대상 및 목적에 따른 제한

프리웨어를 사용할 때 "무료로 사용"하거나 "무료로 제공"되는 특정한 조건이 딸린 경우가 있다. 예컨대 내가 좋아하는 XnView의 경우 제작자의 허락 또는 동의 없이는 상업용으로 사용할 수 없다. 그리고 개인적인 비상업적 용도(private non-commercial), 교육적 용도(educational use) 및 비영리 재단(non-profit organization)을 위해 프리웨어로 제공된다는 제한을 가진다. 서양의 경우 교육적 용도는 교육 기관에서의 교육용 프로그램으로 사용한다면, 대부분 교육적 용도로 인정된다. 설령 그것이 사설 교육기관이라도 프리웨어로 이용할 수 있다.

프리웨어의 경우 재배포에 대한 제한이 있는 경우가 많다. 다시 말해 프리웨어를 다시 배포할 때는 첫 배포자의 의사에 따라야 한다는 뜻이다. 반면에 재배포를 무제한적으로 허용하는 경우도 있다. 이러한 재배포와 관련해서는 임의로 재가공하여 악성코드 등을 심는 경우가 있기 때문에 대부분 제한하고 있다.

이렇듯 프리웨어는 사용하는 대상이나 사용 목적에 따라 프리웨어가 아닌 셰어웨어로 바뀌기도 한다. 그게 아니라면 애초부터 상업용 버전의 기능을 줄여 프리웨어 버전을 배포하기도 한다. 이러한 행위는 프리웨어가 프로그램 제작사 및 판매사의 영업 도구로써 쓰인다는 방증이다. 예컨대 XnView는 교육기관 등에 무료로 배포하여 수업시간에 교육용으로 사용하게 함으로써 수업을 마친 뒤에도 업무에서 자기네 제품을 계속 사용하게 하려는 판촉 활동의 일환이다.

애드웨어 라이선스

애드웨어는 광고를 삽입하는 등 광고가 매개가 되어 소프트웨어 라이선스가 성립하는 소프트웨어를 가리킨다. 법적인 의미에서 광고가 삽입되어 있더라도 프로그램 라이선스에 영향을 주지 않는다면, 그것은 애드웨어가 아니다.

애드웨어에서는 대부분 "무료 제공" 또는 "무료 사용"이라는 표현을 사용하지 않는다.[각주:1] 다만 "무료 다운로드" 또는 "프리 다운로드"라는 표현은 "무료 제공"과는 다른 표현이다. 자주 혼동하지만 "무료 다운로드"나 "프리 다운로드"는 그 말의 의미가 "다운로드"에 한정될 뿐 소프트웨어의 라이선스와는 아무런 관련이 없음을 꼭 명심해야 한다.

알약의 라이선스 표시 화면.

알약의 라이선스 표시 화면. 프리웨어로 오인하기 쉽다.

애드웨어가 처음 등장했을 때에는 프리웨어로 취급했다. 그에 대한 금전적 대가를 (직접) 지불하지 않았기 때문이다. 그러다가 스파이웨어 및 맬웨어와 관련한 사생활 침해에 대한 문제가 제기되면서 애드웨어를 "공짜," 곧 금전적 무료로 볼 수 없다는 주장이 제기되었다. 한편으로 프리웨어에 대한 재정의가 있게 된다. 그에 따라 프리웨어는 직접적인 금전적 대가의 지불뿐만 아니라 간접적인 대가의 지불도 없는 소프트웨어만을 가리키게 되었고, 간접적으로 대가를 지불하는 소프트웨어도 광의의 셰어웨어로 분류하게 된다. 이런 관점에서 보면 애드웨어도 셰어웨어의 일종이다.

게다가 셰어웨어이면서 별다른 제약 없이 사용할 수 있는 소프트웨어도 있다. 그런 소프트웨어 가운데 종료할 때 광고가 나타나는 프로그램은 어떻게 보아야 할까? 그것은 요즘 말하는 애드웨어의 원조 격인 소프트웨어라고 할 수 있다. 그러한 소프트웨어의 존재는 애드웨어가 셰어웨어의 일종이라는 주장에 근거를 제공한다.

그 반면에 애드웨어는 그 프로그램이 작동할 때 광고를 보여준다는 점에서 그러한 고전적인 애드웨어와는 구별된다. 고전적인 애드웨어는 실행 과정에서는 아무런 광고도 보여주지 못함에 반해, 애드웨어는 실행하는 도중에 줄곧 광고를 보아야 한다는 점이 다르다. 좀 더 효율적인 광고 시스템으로 볼 수도 있고, 광고를 보여주지만 프리웨어인 경우와의 다른 점이라고 볼 수도 있다. 다시 말해 광고가 나타나더라도 그 광고가 소프트웨어의 사용에 직간접적인 영향을 주지 않는다면 애드웨어가 아닌 프리웨어로 해석할 수도 있다는 점이 고전적 애드웨어와 요즘의 애드웨어의 차이점이라고 할 수 있다.

한편 고전적 애드웨어는 처음부터 셰어웨어로서 광고와 함께 등록 메시지(Nag Screen)를 출력하는데 반해 요즘의 애드웨어는 대부분 등록 화면은 나타나지 않는다. 이때 (요금을 지불하라는) 등록 화면이 나타난다면 그 애드웨어는 셰어웨어로도 볼 수 있다. 반대의 경우로, 광고 화면을 보여주더라도 환경 설정 등에서 별다른 등록 과정 없이 그 광고 화면을 제거할 수 있다면, 그 소프트웨어는 애드웨어이지만 프리웨어로 볼 수 있다.

기타

클릭랩 라이선스(Click-wrap license)는 시링크랩 라이선스(Shrink-wrap license)를 컴퓨터 프로그램에 적용한 것으로도 볼 수 있다.

윈도용 응용프로그램 가운데 GPL로 배포되는 많은 프로그램이 이 클릭랩 라이선스 방식을 취하고 있다.

Code::Blocks 설치 화면에 나타난 클릭랩 라이선스 방식

Code::Blocks 설치 화면에 나타난 클릭랩 라이선스 방식

위 화면에서 보면 GNU GENERAL PUBLIC LICENSE Version 3(29 June 2007)를 따르는 소프트웨어임을 확연히 알 수 있게 할 목적으로 클릭랩 라이선스 방식을 취하고 있다. 이때 [I Agree] 단추를 클릭하게 되면, 거기에 적힌 말 그대로 "나는 동의한다."라는 뜻이 된다.

이러한 클릭랩 라이선스 방식은 비단 소프트웨어의 배포에만 쓰이지 않고, 웹사이트의 회원 등록 양식에서도 자주 쓰인다. 그때는 동의 단추가 아닌 동의 여부를 기록하는 체크 박스를 이용하는 경우가 많다.

한편 클릭랩 라이선스를 이용하여 경고문이나 안내말 등을 출력할 수도 있다. 한국의 프로그램 가운데에는 이 클릭랩 방식을 거치지 않고, 무조건 동의로 간주하고 프로그램을 설치해 버리는 경우도 있는데, 엄밀히 말해서 그러한 프로그램 설치 및 배포 방식은 사생활 침해에 해당한다. S사와 L사의 휴대폰 관련 프로그램을 설치할 때 그러한 클릭랩 라이선스 방식을 거치지 않고 바로 설치하는 경우가 있으므로 주의할 필요가 있다.

결론

프리웨어란 그 소프트웨어를 사용할 때 금전적 대가를 직접적으로 지불하지 않음은 물론이고 간접적으로도 지불하지 않는 소프트웨어를 가리킨다. 이것은 대가를 간접적으로 지불하는 애드웨어나, 후불제 방식을 주로 취하는 셰어웨어와 구별되는 소프트웨어 사용 허가 방식이다.

관련 문서

이 글은 스프링노트에서 작성되었습니다.


  1. 내 지식이 부족한 탓인지 애드웨어임에도 "무료 제공"이라는 표현을 사용한 소프트웨어는 알툴즈가 유일하다고 알고 있었다. 최근 확인한 결과 그레텍에서도 자사의 곰플레이어와 곰TV를 프리웨어처럼 배포하고 있었다. [본문으로]

'미쳐보자' 카테고리의 다른 글

테스트 - 글자 손상 테스트  (0) 2010.01.03
글자 그대로  (0) 2009.12.24
알까기 2 - 알 없다  (2) 2009.11.26
알까기 1 - 알툴즈 까기  (28) 2009.11.18
IE6 No More 동참하기  (1) 2009.11.11
글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

읽기에 앞서

네트워크와 관련한 부분은 알약의 벌레가 아니었음을 밝힙니다. 시스템의 내장 랜 모듈에 과부하가 걸려 일시적으로 정지되는 현상이었음을 확인하였습니다.

벌레의 유형

  • 벌레를 발견한 프로그램 및 버전 : 알약 1.32 버전(2009년 3월 12일자)에서 나타난 벌레이다. 그 이전 버전에서는 확인하지 못하였다.
  • 사용한 선택사항 : 검사하기 >> 정밀 검색
  • 벌레의 위험도/중요도 : 2단계 (중요) / 기초적인 벌레
  • 벌레의 특징 : 이 벌레는 기본기가 허술한 알약의 약점을 찌르고 있다.

벌레의 발견

알약이 가진 벌레는 크게 두 가지이다.

  • 특정 경로에서 알약이 압축파일을 열려고 하면, 알약을 얼려 버리는 벌레.

    • 그와 함께 알약이 얼면 네트워크를 죽여 버리는 벌레.
    • 또한 얼어버린 알약을 종료하면 화면에서만 사라지고, 실제로는 백그라운드에서 동작하고 있다.
  • 바이러스 검사가 끝난 뒤 결과 화면에서 다른 메뉴를 선택하면, 바이러스 검사 결과를 먹어치워서 없애 버리는 벌레

앞서 알약 웹페이지에 3월 27일 글을 올려서 그날 바로 답장을 받았다. 그러나 좀 더 정확한 사항을 알기 위해 다시 질문을 올렸으나 아직 답변을 받지 못했다. 아마도 주말이라서 해당 업무를 보지 않았기 때문으로 여겨진다. 아무튼 그날의 답변만을 올리겠다.

이것을 하나하나 분석하면 다음과 같다.

  • 압축 파일 자체는 이상이 없었다. : 이것은 나도 같은 의견이다.
  • 검사 중 이상 현상은 발견하지 못했다. : 그런데 내 컴퓨터에서는 발생했다. 알약의 프로그램 오류 여부는 답변 없음.
  • 검사 완료 후 다른 메뉴로 이동하는 경우 검사가 초기화 되니 다시 하라. : 설마 4시간 동안 검사했던 것을 다시? 조금 어이없는 답변이다.
  • 광고창은 일시적인 전송 실패이다. : 그런데 왜 네트워크 기능 전체를 죽이는지? 답변이 없었다.
  • 쿠키 삭제 등을 했으나 그대로였다. : 삭제 전 1메가에서 삭제 후 900킬로바이트였다. 다시 말해 쿠키 등을 삭제해도 결과는 같았다.
  • 지속적으로 발생하여 추가 문의하였다. : 이것에 대해서는 3월 31일 현재 답변이 없다.

과정 재현

우선 검사 과정을 재현해 보자.

분명히 정밀검사를 선택했다.

검사 시작 3분 만에 잡은 화면이다.

6분 만에 잡은 화면 일부. 오른쪽 아래에 보이는 시간과 요일을 잘 기억해야 한다. (전체화면은 http://salm.springnote.com/pages/3015544/attachments/1352626 또는 오른쪽 작은 그림 클릭) 

55분을 앞두고 드디어 문제의 파일 등장! 벌써 새벽 2시잖아. 난 언제 자냐? 그냥 자자. (전체 화면은 http://salm.springnote.com/pages/3015544/attachments/1352628 또는 오른쪽 작은 그림 클릭)

잠 자고 일어나도 똑같은 그 파일! 문제의 네트워크 죽이기 현상도 발생했다. (전체화면은 http://salm.springnote.com/pages/3015544/attachments/1352630 또는 오른쪽 작은 그림 클릭)

여기까지 보고는 그냥 종료했다. 오른쪽 위의 X 표시를 클릭하여 종료하는 방법을 택했다. (밥 먹고 왔다.)

이때 돌발 상황이 발생했다. 아무리 봐도 CPU 사용량이 너무 많았다. 거의 50%에 육박하고 있지 않은가?

위의 그림에서 오른쪽 아래에 보면 아이콘이 5개 보인다. 그 가운데 윗줄 가운데가 작업 관리자로서 CPU 사용률을 보여주고 있다. 현재 연두색 막대가 절반쯤 보이므로 약 50%임을 짐작할 수 있다. 그런데 실행된 프로그래은 오픈캡처 하나뿐? 못 믿겠다는 사람은 전체화면을 보라. (전체화면은 http://salm.springnote.com/pages/3015544/attachments/1352642 또는 오른쪽 작은 그림 클릭)

이미 종료되었어야 할 알약이 살아남아서 CPU 점유율 50%를 꿋꿋히 지키고 있었다. 알약은 불사신이라 말인가?

알약을 얼리는 벌레→파일 열기 벌레

이 알약의 벌레가 치명적이라 여겼는데, 그보다 한 단계 낮추어 2단계(중요)로 보았다. 왜냐하면 네트워크 기능을 죽이지 않는 한 정상 작동한다고 여겼기 때문이다. 그런데 이때 기본적인 벌레를 발견할 수 있었다.

일단 지난 번에 awardeco.arj 파일에서 수십 분에서 몇 시간에 걸쳐 검사가 중지된 벌레를 소개했다. 그것을 유심히 살펴보다가 아주 황당한 사실을 하나 발견했다. 설마 이런 벌레가 아직까지 멸종하지 않고 살아남았다는 사실에 경의를 표하고 싶어질 정도로 황당한 벌레였다. 위에서 유심히 살펴보면 유독 awardeco.arj 파일에서 문제가 발생하고 있다. 그런데 이 파일은 아무런 문제가 없는 파일이었다. 이것은 이스트소프트에서도 인정했다.

그럼 도대체 무엇이 문제였을까?

우선 지난번에 보았던 화면을 다시 게시하겠다.

20090327-filelist.png

위에서 보면 경로명이 유난히 길고, 폴더의 중첩이 심함을 알 수 있다. 아래 그림을 보자.

위에서 보면 무려 9단계에 이르고 있다. 이때 awardeco 폴더를 C:\ 로 옮기면 아무런 문제가 생기지 않고, 바이러스 검사도 무사히 마쳤다.

조금 오래전부터 준비하던 기사 내용이 머릿속을 번개처럼 스치고 지나갔다. 2009/03/30 - [배치파일&스크립트] - 이런저런 이야기 참조.

  • 도스에서는 디렉터리를 7단계까지 만들 수 있다. 윈도에서는 255자 한계 안에서 얼마든지 만들 수 있다. 예컨대 C:\A11\B22\C33\D44\E55\F66\G77\H88\FILE.EXT 파일은 도스에서는 읽지 못할 수도 있다. 그러나 윈도에서는 문제 없이 읽을 수 있다.
  • 도스에서는 파일이름을 포함한 경로가 66자이거나 그보다 짧아야 한다.

그렇다. 도스에서는 디렉터리를 7단계까지 만들 수 있다. 그런데 이 황당한 벌레는 도스와 윈도를 착각하고, 윈도에서도 버젓히 살아남아 버렸다.

어이, 이스트소프트! 도대체 왜 이 벌레를 키웠단 말이더냐?! 윈도95가 나온 지 벌써 14년인데, 아직까지 이게 멸종을 안 했다니 놀라울 따름이다.

벌레의 원인 및 퇴치

벌레가 생긴 원인은 알 수 없었다. 다만 위에서 말한 지나치게 긴 경로명이 문제가 되었고, 다른 하나는 이스트소프트에서 배포하는 프로그램 폴더에 있었다.

알툴즈 설치 폴더는 보통 %ProgramFiles%\ESTsoft 이다. 내 경우에는 D:\Bin\ESTsoft 폴더이며, 보통은 C:\Program Files\ESTsoft 폴더이다. 이때 알약 프로그램 폴더는 %ProgramFiles%\ESTsoft\ALYac 이다.

이 벌레를 퇴치하고자 이것저것 만지다가 레지스트리를 날려보기도 했다. 물론 실행될 턱이 없으니 백업본을 이용해서 바로 복구시켰다. 폴더를 다른 곳에 복사해놓은 뒤에 하나씩 지워보기도 했다. 그러다가 알게 된 사실은 전혀 엉뚱하게도 알약 프로그램이 아닌 알툴즈 전체의 업데이트 프로그램 또는 폴더에서 발생했거나, 적어도 이 벌레와 관련이 있다는 사실을 알게 되었다.

이것을 쉽게 발견하지 못한 데에는 이유가 있었다. 바로 그 폴더 또는 파일에 손상을 입었음에도 알약 프로그램의 업데이트를 정상적으로 수행했다. 다시 말해 3월 12일에 엔진 업데이트도 정상적으로 수행했고, 그 뒤에 여러 차례 수행한 DB 업데이트도 정상적으로 수행했기 때문에 그 폴더가 원인이라는 사실을 알 수 없었다. 하지만 그것이 직접적인 원인인지는 여전히 알 수 없다. 다만 어떤 이유에서인지 업데이트 프로그램이 있는 %ProgramFiles%\ESTsoft\ALUpdate 폴더가 손상되었고, 그에 따라 알약도 이상 증상을 보였음을 알게 되었을 뿐이다.

아무튼 그 폴더를 아예 지워버린 뒤 알약을 실행시키면 알아서 복구를 해준다. 그 뒤로는 이 벌레를 만날 수 없었다.

또한 업데이트 프로그램 폴더를 삭제한 뒤 복구되면, 업데이트를 수동으로 해 두었더라도 자동으로 바뀌는 경우가 있었다. 수동으로 해놓았던 사람은 반드시 확인하기 바란다.

또한 업데이트 프로그램 또는 폴더에 이상이 생겨서 발생했으리라는 유추가 가능하므로, 아예 알약 프로그램을 제거했다가 다시 설치해도 정상 작동하리라는 추측이 가능하다. 그러나 그냥 업데이트 폴더만 지우기를 권장한다. 간혹 업데이트 받는 데 시간이 오래 걸릴 수도 있기 때문이다.

너무 황당하게 벌레가 잡히는 바람에 재현조차 못하였다. 그래서 업데이트 폴더를 지운 뒤의 자료 화면만 첨부한다.

결과적 이 벌레는 두 가지가 복합적으로 작용하여 발생했다.

  1. 업데이트 프로그램 또는 폴더(%ProgramFiles%\ESTsoft\ALUpdate)가 손상될 경우
  2. 경로의 단계가 7단계를 넘어서는 경우
  3. 그리고 위의 두 상황이 동시에 발생해야 한다.

검사 결과를 먹어치우는 벌레

이 벌레에 대해서는 이스트소프트 측에서는 다음과 같이 답변했다.

검사 결과에 등록되는 내역은 검사 후 치료된 결과를 나타냅니다.
사용하시는 검사 과정의 로그를 남기진 않음을 알려 드립니다.

그런데 에브리존의 터보백신이나, 안철수 바이러스연구소의 V3 등에서는 모두 "검사 과정의 로그"를 남겼다. 치료를 하지 않은 경우에는 검사 과정 자체가 정보라는 사실을 깨닫지 못한단 말인가? 아무튼 기본적으로 검사 과정의 로그를 남기는 터보백신이나 V3가 이상한 것일까? 아니면 해달라고 해도 남기지 않는다는 말을 버젓히 하는 알약이 이상한 것일까?

이스트소프트에서 보내온 답변으로는 그것은 벌레가 아니라, 처음부터 그렇게 설계되었기 때문이다. 하지만 그것 때문에 사용자 불편을 겪고 있는 마당에 위와 같은 답변은 조금 문제가 있다고 생각한다.

네트워크를 죽이는 벌레+허깨비 벌레

네트워크 기능을 죽이는 벌레는 이번에도 나타났다. 그와 함께 알약을 종료했음에도 그 프로세스가 남아서 여전히 CPU 점유율을 50% 이상으로 유지시키는 희한한 벌레마저 등장했다. 아마도 지난번에 내가 발견하지 못하고 지나쳤나 보다.

아울러 위와 같은 현상의 원인도 업데이트 폴더(%ProgramFiles%\ESTsoft\ALUpdate)와 관련이 있음을 알게 되었다. 몇 시간 지나면 알아서 꺼져 버리던 네트워크 기능이 잘 살아 있었기 때문이다. (물론 바이러스 검사를 그렇게 오래 할 일이 다시 생기지 않았기 때문일 수도 있다.)

허깨비 현상의 원인은 아주 확실히 알약에 숨어 있는 벌레였다.

위와 같이 기본 실행모드에서는 트레이에 아이콘 표시가 뜨기 때문에 실행 여부를 판단할 수 있었다.

위의 두 그림 가운데 하나처럼 나타난다. 왼쪽의 빨간 알약과 연두색 알약은 동작하고 있다는 표시이고, 오른쪽의 회색 V3는 현재 동작을 하지 않고 있다는 표시이다.

문제는 최소 실행모드에서 발생한다. 저 알약 아이콘이 모두 사라져 버린다. 기본 실행모드에서는 바이러스를 검사하고 있다가 오른쪽 위의 X 표시를 클릭하여 종료해도 트레이에 아이콘이 그대로 남아 있으므로 아직 종료하지 않았다고 알게 되지만, 최소 실행모드에서는 전혀 알 수가 없다. 말그대로 허깨비가 되어 버린다.

결국 허깨비 벌레를 퇴치하려면, 반드시 종료할 때 바이러스 검사를 먼저 종료한 뒤에야 알약 프로그램을 종료해야만 한다. 그렇지 않다면, 나중에 다시 알약을 실행시켰을 때 아까 종료했던 화면으로 시작하게 된다. 이것은 백그라운드에서 계속하여 바이러스를 검사를 하고 있기 때문에 생기는 현상이다. 이것에 대해서는 아무런 도움말을 얻을 수 없었다. 결국 프로그램 종료에 대한 처리 오류 때문에 발생한 벌레인 셈이다.

제작자/제공자의 답변

추가 질문에 대한 답변은 아직 없다.

관련 문서

 

이 글은 스프링노트에서 작성되었습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

벌레의 유형

  • 벌레를 발견한 프로그램 및 버전 : 알약 1.32 버전(2009년 3월 12일자)에서 나타난 벌레이다. 그 이전 버전에서는 확인하지 못하였다.
  • 사용한 선택사항 : 검사하기 >> 정밀 검색
  • 벌레의 위험도 : 1단계 (매우 위험)
  • 벌레의 특징 : 이 벌레는 매우 독특하다. 벌레 잡는 알약에 숨어서 알약을 잡아먹고 있기 때문이다. 그밖에 자잘한 벌레도 거느리고 있다.

벌레의 발견

알약이 가진 벌레는 크게 두 가지이다.

  • 알약이 압축파일을 열려고 하면, 알약을 얼려 버리는 벌레.

    • 알약이 얼면 네트워크를 죽여 버리는 벌레.
  • 바이러스 검사가 끝난 뒤 결과 화면에서 다른 메뉴를 선택하면, 바이러스 검사 결과를 먹어치워서 없애 버리는 벌레.

알약을 얼리는 벌레

일단 다른 벌레도 있는데, 알약의 벌레를, 특히 이 벌레를 먼저 소개하는 이유는 매우 치명적이라고 여겼기 때문이다.

20090325ALYac_err10.png

5시간 52분 경과! 그런데 화면에서 보이는 저 파일( awardeco.arj )에서만 50분째다. 저 파일이 크냐? 그것도 아니다. 겨우 수십 킬로바이트이다. 1메가도 안 된다는 말이다. 

20090327-filelist.png

44,668 바이트짜리 awardeco.arj 파일을 50분이 넘게 처리하고 있다니.

일단 문제를 알게 되었으니 바이러스 파일만 먼저 치료하기로 하고 정지 뒤 종료했다. 이때 실수로 다른 메뉴(시스템 정리)를 클릭했다가 다시 검사하기를 누르니 검사 결과가 사라져 버렸다. 검사 결과를 먹어치우는 벌레 참조.

 

일단 엔진에도 문제가 있다고 생각하여 업데이트를 하였다. D 드라이브만 검사하기 >> 정밀검사를 시켰다.

그리고 6시간 뒤... 

20090325ALYac_err11.png

아까 압축을 풀어 두었기 때문에 압축파일에서는 안 걸렸지만, 그 압축 파일 안에 있던 저 파일에서 저대로 멈추어 버렸다. 참고로 내가 사용한 컴퓨터 바이러스 백신 프로그램에서는 저 파일을 바이러스로 잡은 백신은 없었다. (하우리, 안철수, 에브리존 모두 바이러스가 아니었다.)

문제는 저 오른쪽이다. 원래는 광고가 떠야 했지만, 어쩐 일인지 저렇게 되어 버렸다. 물론 인터넷이 되지 않았다. 아니 아예 네트워크 기능 전체가 죽어 버렸다.

도대체 바이러스 잡으라니까 파일 열다가 얼어 버린 주제에 왜 네트워크 기능은 죽여 버린단 말인가?

참고로 업데이트를 했지만, 엔진은 그대로였고, DB만 3월 25일자로 바뀌었다.

검사 결과를 먹어치우는 벌레

위의 벌레에 비하면 치료 결과를 먹어치우는 벌레는 애교라고 생각한다. 하지만 이것 역시 위험하기는 마찬가지이다.

C 드라이브만 검사하였다. 드디어 검사가 끝나고, 혹시나 하는 마음에 화면을 잡았다...이면 좋겠다만, 아래 화면은 바이러스 검사를 한 번 더 실행하여 잡은 화면이다. 치료는? 또 4시간을 기다리라고? 그냥 내가 직접 그 폴더에 있는 파일을 지우고, 그 레지스트리를 지웠다.

일단 화면을 보라. 내가 클릭한 메뉴는 결과보기 >> 검사하기 >> 결과보기, 이런 순서이다.

20090325ALYac_err01.png 20090325ALYac_err02.png 20090325ALYac_err03.png 20090325ALYac_err04.png

보면 알겠지만, 일단 검사가 끝난 뒤 검사 결과는 저장하지 않고 있다. 물론 바이러스가 있다면 바로 치료하면 된다고 할 수도 있으나, 클릭 실수가 발생할 수도 있으니, 검사 결과 자체를 저장해 둘 필요도 있다는 점을 간과하지 않았나 생각한다.

그렇다고 검사 결과 저장이 매우 많은 용량을 차지하지도 않는다. 치료 결과에 병합하여 저장하면 되기 때문에 그다지 데이터가 늘지도 않는다. 그저 치료 결과에 저장하되, "발견했지만, 치료하지 않았음"이라고 해도 되기 때문이다.

추가

네트워크 기능을 죽이는 벌레는 나타날 때도 있고 나타나지 않을 때도 있다. 위에서 보듯이 첫째 검사화면과 셋째 검사화면에서는 나타나지 않았지만, 둘째 검사화면에서만 나타났다. 그렇다고 중요도가 낮다고 볼 수도 없는 벌레이다. 왜냐하면 이게 알약의 기능(일정 시간이 지나면 네트워크 자체를 차단하는 기능)인지, 아니면 외부 바이러스가 알약의 보안버그를 틈타 침투한 것인지 알 수 없기 때문이다. 물론 항상 발생하는 현상이 아님을 볼 때 보안버그일 가능성이 더 높다.

제작자/제공자의 답변

알약 웹페이지에 3월 27일 글을 올려서 그날 바로 답장을 받았다. 그러나 좀 더 정확한 사항을 알기 위해 다시 질문을 올렸으나 아직 답변을 받지 못했다. 아마도 주말이라서 해당 업무를 보지 않았기 때문으로 여겨진다. 아무튼 그날의 답변만을 올리겠다.

하나하나 분석하면 다음과 같다.

  • 압축 파일 자체는 이상이 없었다. : 이것은 나도 같은 의견이다.
  • 검사 중 이상 현상은 발견하지 못했다. : 그런데 내 컴퓨터에서는 발생했다.
  • 검사 완료 후 다른 메뉴로 이동하는 경우 검사가 초기화 되니 다시 하라. : 설마 4시간 동안 검사했던 것을 다시?
  • 광고창은 일시적인 전송 실패이다. : 그런데 왜 네트워크 기능 전체를 죽이는지?
  • 쿠키 삭제 등을 했으나 그대로였다. : 삭제 전 1메가에서 삭제 후 900킬로바이트였다.
  • 지속적으로 발생하여 추가 문의하였다.

현재 벌레 잡는 알약, 벌레에 먹히다 2를 준비하고 있는 중이다.

관련 문서

 

이 글은 스프링노트에서 작성되었습니다.

글쓴이는 koc/SALM입니다.
본문에 저작권에 대한 사항이 나타나지 않거나, 저작권이 BY-SA로 표기되어 있다면,
이 글은 GFDL로 공개한 글입니다.

카테고리

분류 전체보기 (1005)
스크립트 (22)
벌레와 팁 (126)
소프트웨어 (240)
하드웨어 (6)
이야기 (24)
말의 나무 (506)
미쳐보자 (22)
일기 (48)
아이폰 (10)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

달력

«   2024/03   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

글 보관함