| [주말판] 두느냐 죽이느냐, 그것이 문제로다 : 그레이웨어 | 2018.11.10 |
나쁜 멀웨어도 아니요, 좋은 소프트웨어도 아닌 그레이웨어
조잡한 기능성과 낮은 투명성 - 공격 표면 높이고 노이즈 심화시켜 [보안뉴스 문가용 기자] 그레이웨어(grayware) 혹은 잠재적 비요구 프로그램(Potentially Unwanted Program, PUP)은 이름이 조금 어렵긴 해도 누구나 한 번쯤 본 것들이다. 어디서 많이 들어본 이름을 가졌거나 익숙한 기능을 선보이지만 개발사가 원래의 그 개발사가 아닌 경우라거나, 새 장비들에 다양하게 설치되어 있지만 사용자 입장에서는 그 이름이나 기능이 낯선 경우, 우리가 보는 그런 프로그램들이 바로 그레이웨어다. ![]() [이미지 = iclickart] 그런데 이 그레이웨어가 적잖은 보안 문제를 일으키고 있다. 그렇다고 그레이웨어의 관리가 쉬운 것도 아니다. 회사 규정으로 막을 수도 없고, 명확한 멀웨어가 아니니 백신으로 차단할 수도 없다. 시스코 탈로스(Cisco Talos) 팀의 수석 보안 연구원인 비토 벤투라(Vitor Ventura)는 “그레이웨어는 기술적인 문제가 아니라, 분류와 분별의 문제”라고 말한다. “악성과 정상을 구분하는 선은 매우 얇고 미묘한데, 그레이웨어는 이 선 위에서 아슬아슬하게 작동합니다. 그래서 오히려 보안 기술과 법령들을 피해가는 것이죠.” 그래서 일부 보안 전문가들은 그레이웨어를 완전히 무시하기도 한다. 그리고 확실하게 ‘위험하다’고 판단이 되는 멀웨어들에 집중한다. 여태까지 그래도 됐을지도 모르지만, 지금은 아니다. 보안 업체 소포스(Sophos)의 수석 연구 과학자인 쳇 위즈니우스키(Chet Wisniewski)는 그 이유에 대해 “먼저는 사용자 경험을 매우 짜증스럽게 만들고, 그 다음은 공격 표면을 두세 배로 늘리기 때문”이라고 설명한다. “게다가 프라이버시 침해와 생산성 저하는 PUP들의 기본 효과죠.” 그 외 보안 전문가들이 알아야 하는 그레이웨어의 특징은 무엇일까? 이번 주 주말판을 위해 본지가 전문가들에게 그레이웨어에 대해 묻고 정리했다. 1. 그레이웨어는 민감한 정보를 수집할 수 있다 그레이웨어는 멀웨어가 아니다. 그러므로 정상적인 기능들을 멀끔하게 수행할 수 있다. 다만 세상 모든 것에는 대가가 있다. 정상적인 워드 프로세서를 사용하려면 돈을 내듯, 그레이웨어의 특정 기능을 사용하려면 뭔가를 지불해야 한다. 그레이웨어가 대가로서 취하는 건 대부분 ‘정보’다. 소프트웨어로서의 기능을 발휘하면서 가져갈 수 있는 정보들을 수확하는 건데, 이 작업은 은밀히 진행된다. 하지만 최근 들어 이러한 정보 수집을 공개적으로 하는 그레이웨어가 늘어나고 있다. 애플리케이션 코드 내에 그런 기능을 눈에 띄게 박아두는 경우도 자주 나온다. 거슬러 올라가 보면 높은 확률로 사용자가 이를 허락했을 것이다. 제품 설명이나 라이선스 내용, 설치 시 요구되는 허용 항목을 제대로 읽지 않고 ‘확인’이나 ‘다음’ 버튼을 누른 것이다. 찾아보면 분명히 ‘대가로 당신의 정보를 취할 것이다’라는 내용을 어렵게 풀어놓은 말을 찾을 수 있을 것이다. 또한 개발자 자신의 실수나 무지로 추적용 쿠키를 여기 저기 흩뿌려놓거나, 키로깅 기능을 추가하고 나서 깜빡 잊고 아무 곳에도 명시하지 않은 경우도 있다. 그레이웨어의 가장 근본적인 문제 중 하나는 프로그램으로서의 질이 조잡하다는 것이다. 그래서 중요한 정보가 원치 않게 새나가는 경우가 자주 생긴다. 개발자의 의도가 무엇이든, 이러한 결과는 바람직하지 않다. 2. 그레이웨어는 노이즈를 더 많이 만든다 보안 전문가들의 가장 골칫거리 중 하나는 그 엄청난 경보와 데이터, 첩보다. 그 때문에 분석해야 할 게 너무 많고, 진짜로 찾아야 할 것을 찾지 못한다. 그런데 그레이웨어가 있으면 이 문제가 더 심각해진다. 그레이웨어 및 PUP 자체도 그렇지만, 이런 프로그램들이 생성하는 데이터들 역시 분석을 필요로 하는 것처럼 보이거나, 실제로 그런 데이터이기 때문이다. 그레이웨어는 그 자체로 ‘추가된 소프트웨어’다. 보안 담당자에서 있어서 시스템 내 애플리케이션이 많으면 많을수록 분석할 게 많아진다. 분석만이 아니라 평소에도 설정하고 관리해야 하는 대상이 된다. 그리고 그레이웨어의 대부분은 ‘광고를 노출시키고’, ‘데이터를 수집하는’ 행위를 한다. 둘 다 하거나 둘 중 하나인 경우가 많다. 그런데 이렇게 하려면 외부에 있는 C&C 서버와의 통신을 필요로 한다. 즉 네트워크 트래픽이 발생하는 것이다. 보안 전문가가 반드시 분석해야 하는 성질의 것이다. 노이즈는 더 심각해지고, 분석가가 진짜 위험한 것에 도달하기 위해 헤쳐 나가야 할 것이 더 많아진다. 이런 점에 있어서 그레이웨어가 악성 요소를 가지고 있느냐 없느냐는 큰 문제처럼 보이지 않을 정도다. 3. 그레이웨어는 멀웨어를 숨기기도 한다 앞에서도 언급했듯이 그레이웨어는 조잡하고 엉성하게 만들어진 게 많기 때문에 멀웨어가 숨기 딱 좋다. 심지어 멀웨어가 교묘하게 탑재된 채 배포되는 그레이웨어도 많다. 그레이웨어 개발 및 배포자의 의도와 상관없이, 현재의 그레이웨어는 멀웨어와 뗄 수 없는 관계에 있는 것이 사실이다. 그레이웨어에 탑재된 멀웨어 중 가장 많이 발견되는 건 백신이나 브라우저 도우미 등으로 위장한 트로이목마다. 그레이웨어를 설치하기 전에 설명서를 읽어보는 사용자들을 위해 정상 소프트웨어로 보이게끔 그럴듯한 포장을 한 것인데, 이 때문에 사실 설명서를 꼼꼼하게 읽어보는 건 큰 도움이 되지 않을 때가 많다. 이러한 류의 멀웨어들은 대부분 실제 시스템에 설치된 백신이나 멀웨어 보호 솔루션을 통해 잡아낼 수 있다. 그러나 그레이웨어를 다량으로 동원해 소프트웨어 설치 과정을 일부러 길게 함으로써, 교묘하게 백신을 비껴가는 경우도 많다. 긴 설치 과정 동안 빠르게 루트 권한을 가져간다든지, 시스템으로 다시 들어올 수 있는 경로를 마련하는 등의 일을 처리하면 백신에 걸려 삭제가 되더라도 다시 공격을 실시할 수 있기 때문이다. 4. 그레이웨어는 가짜 애플리케이션에 숨어들기도 한다 예를 들어 당신이 컴퓨터에 아이튠즈를 설치하려고 했다고 하자. 그래서 인터넷 브라우저를 켜고 아이튠즈 소프트웨어를 검색했다. 그리고 검색 결과 목록에서 위에 있는 걸 별 생각 없이 클릭해서 설치했다. 그랬더니 아이튠즈와 흡사한 아이프룬즈(iPrunes)라는 뮤직 플레이어가 같이 설치됐다. 뭐, 아이튠즈니 아이프룬즈니, 뮤직 플레이어로서는 둘 다 다를 게 없으니 괜찮지 않을까? 많은 사람들에게 소프트웨어 공식 개발사로부터 소프트웨어를 다운로드 받으라고 권하는 이유는, 대부분의 정상적인 개발사들은 자신들이 배포하는 소프트웨어들을 투명하게 관리하기 때문이다. 그렇기 때문에 이들이 사용자 정보를 얼마나 수집하고, 어디에 사용하는지도 알 수가 있다. 하지만 기본 기능만 가지고 있는 가짜 애플리케이션의 경우는 이런 투명성을 가지고 있지 않다. 애플리케이션으로서 필요한 것보다 훨씬 많은 정보를 수집하고, 이 정보를 훨씬 더 공격적으로 사용한다. 여기서 중요한 건 ‘기본 기능만 가지고 있다’는 점이다. 오늘 날 유통되는 복잡한 기능의 현대 소프트웨어들을 개발한다는 건 쉽지 않은 일이다. 그저 기능 수행만이 아니라, 다른 소프트웨어와의 호환 및 충돌, 안정성, 다양한 환경까지 고려해야 하는데, 이는 대형 개발사들도 어려운 일이다. 하지만 ‘기본 기능만 가지고 있는’ 그레이웨어는 상대적으로 개발이 쉽고, 개발 조금만 할 수 있으면 아무나 만들 수 있다. 그러나 안정성이나 호환성, 환경에 대한 고려는 없다. 이런 소프트웨어를 설치한다는 건, 멀웨어가 없다고 하더라도 위엄한 일이다. 5. 그레이웨어는 브라우저 기능들을 망가트릴 수 있다 현대의 브라우저들은 점점 더 탄탄해지고 있다. 특히 각종 플러그인이 남발하고, 이 때문에 문제가 되던 시대를 지나오면서 ‘비요구 헬퍼’ 혹은 ‘비요구 플러그인’에 대해 보다 엄격해지고 있다. 그럼에도 많은 사용자들이 플러그인 설치가 용이한 오래된 브라우저를 그대로 사용하고 있다. 손쉬운 먹잇감이 되는 것이다. 악성 플러그인을 통한 브라우저 공격은 크게 두 가지 형태로 나타난다. 하나는 승인되지 않은 정보를 수집하는 것이고, 다른 하나는 원하지 않는 곳으로 요청을 보내는 것이다. 승인되지 않는 정보를 수집하는 게 위험한 것은 당연하다. 원치 않는 곳으로 요청을 보내는 공격이 위험한 것은, 각종 그레이웨어가 호스팅 된 곳으로 요청이 닿는 바람에 브라우저를 통한 그레이웨어 내지는 멀웨어가 설치될 수 있기 때문이다. 또, 현대의 웹사이트들 대부분은 서드파티 광고로 뒤덮여 있는데, 이 때문에 사용자는 서드파티 플러그인 때문에 자신이 원하는 페이지로 이동하기 전에 여러 번 우회되고 또 우회될 수 있지만, 이를 전혀 눈치 채지 못한다. 6. 그레이웨어는 대역폭을 잡아먹는다 많인 일반 사용자들은 대역폭이 무한한 자원인 것으로 여긴다. 그러므로 공짜로 사용할 수 있는 것이라고 생각한다. 그러나 이는 사실이 아니다. 대역폭을 사용한다는 건 어디선가 값을 내고 있다는 소리다. 그레이웨어는 대부분 외부의 C&C 서버와 끊임없이 통신을 하기 때문에 대역폭을 사용할 수밖에 없는데, 그렇다는 건 어디선가 사용자가 알 수 없는 비용이 새나가고 있다는 뜻이 된다. 그레이웨어 개발자들은 데이터를 빼돌리거나 전송할 때, ‘한 번에 조금씩’ 전략을 사용한다. 그래서 트래픽 분석 때 눈에 띄지 않게 하기 위해서다. 그러므로 그레이웨어 하나 둘 존재한다고 해서 트래픽이 갑자기 치솟지는 않을 것이다. 하지만 이 그레이웨어가 늘어나고, 네트워크 내에서 복제되기 시작한다면, 그 결과는 굉장히 무서울 수 있다. 한 방울 한 방울 떨어지던 게 커다란 물줄기가 되는 건 순식간이다. 그렇다면 조직 전체의 네트워크 속도가 느려져 업무를 하는 게 불가능한 수준에 이를 수도 있다. 그레이웨어, 어떻게 처리해야 할까? 그레이웨어는 기술적으로 명확히 정의된 소프트웨어가 아니라 개념적인 용어에 가깝기 때문에 ‘그레이웨어를 처리한다’는 건 말처럼 간단하고 깔끔하게 딱 떨어지지 않는다. 그러므로 어떤 백신에서는 그레이웨어가 잡히기도 하지만, 어떤 것에서는 그렇지 않다. 사용자 기업이 규칙을 어떻게 설정하느냐에 따라서 결과가 달라지기도 한다. 탈로스의 비토 벤투라는 “그레이웨어를 기술적으로 잡아주는 솔루션은 당분간 나오지 않을 것”이라며 “사용자 기업들이 어떤 식으로 ‘원치 않는 프로그램’을 정의하고 규정하느냐가 중요한 해결책”이라고 말한다. 또 하나 중요한 건 소프트웨어 다운로드 습관이다. 소포스의 위즈니우스키는 “필요한 소프트웨어가 그때 그때 달라질 수 있다”고 말을 시작한다. “하지만 그 소프트웨어를 어떤 과정으로, 어디서 받느냐는 습관의 문제입니다. 포털 검색을 통해 아무 링크나 클릭하는지, 혹은 프로그램의 개발사가 누구인지 알아내서 그 개발사 공식 홈페이지를 통해 다운로드 받는지, 이건 충분히 만들어질 수 있는 습관입니다. 그리고 보안에 있어서 큰 차이를 만들 수도 있지요.” 그러면서 “그레이웨어를 전문적으로 유통시키는 이들은 검색 엔진 최적화 기술을 아주 잘 사용하는 것이 대부분”이라고 경고하기도 했다. 마지막으로는 소프트웨어를 설치하기 전에 보안 팀의 점검과 허락을 먼저 받는 절차를 조직 내에 정착시켜야 한다고 두 사람은 입을 모았다. “보안 사고는 빠르고 많이 생산하려는 현대 기업들의 욕구로부터 나오는 부산물입니다. 빠르고 싶기 때문에 생기는 사고라면, 속도를 줄이는 게 현명하겠지요. 필요한 소프트웨어를 미리 조직 차원에서 파악하고 제공해주며, 모든 소프트웨어 설치를 보안 팀이 하도록 한다면, 그레이웨어 문제는 대폭 줄일 수 있습니다.” [국제부 문가용 기자(globoan@boannews.com)] Copyrighted 2015. UBM-Tech. 117153:0515BC |
|
|
|