글

Sea Turtle, 고도의 DNS hijacking과 MItM attack

DNS 하이재킹 DNS(Domain Name System)는 사용자가 입력한 사이트로의 인터넷 트래픽을, 실제 그 사이트의 서버로 인도하는 주소록 같은 것이다. 이와 관련된 데이터를 DNS record(DNS 정보)라 하는데, 여러 단계의 계층 구조로 관리된다. 이러한 체계를 해킹하면 사용자가 원한 사이트가 아닌 악의적인 사이트로 도달하게 할 수 있다. 이것을 DNS hijacking이라 한다. DNS 하이재킹은 인터넷의 근간을 흔드는 심각한 사안이다. 가짜 사이트로 유도한다는 점에서 피싱(phishing)과 비슷한 면도 있다. 다만 피싱은 주소 바와 SSL 인증서를 잘 살피면 알아챌 수 있다. 그러나 DNS hijacking은 주소 바에 정확하게 정상인 것처럼 보인다. 인증서를 가장하거나 탈취하면, 인증서 오류도 나타나지 않는다. 눈치 채기가 아주 어렵다. DNS 상부 체계에 대한 공격 DNS hijacking은 새로운 수법은 아니다. PC나 공유기, 기업이나 통신사의 라우터에 악성코드를 심어 DNS 관련 설정을 변경하는 사례는 많다. 이런 것은 DNS 체계의 하층부에 대한 공격이라 할 수 있다. 그런데 근래 DNS의 상층부, 핵심적인 부분에 대한 공격이 늘고 있다. 물론 이것은 아무나 할 수 있는 것은 아니고, 국가 차원의 지원을 받는 해커단의 소행이다. 1월에는 미국이 DNS hijacking에 관해 긴급 경보를 발표하기도 했다. Cisco Talos의 보안팀은 2017년부터 2019년 1분기까지 진행된 고도의 DNS 하이재킹 작전을 발견했다. 13개 국가, 40개 이상의 조직이 희생됐다. 이를 Sea Turtle operation이라고 이름붙였고, 4.17일 상세한 보고서를 발표했다. 주 표적은 국가 기관 바다 거북 작전은 주로 중동과 북아프리카를 겨냥해 이뤄졌다. 그리고 주된 표적은 첩보, 군사, 외교 등을 담당하는 국가 기관과 에너지 기업이었다. 이들에 종사하는 사람들의 각종 credential(자격증명 즉 로그인 정...

Magellan 취약점, 안드로이드와 크롬 위협한다

이미지
SQLite의 취약점 마젤란 취약점은 원래 데이터베이스 프로그램인 SQLite에 있는 취약점이다. 그런데 이것이 주요 운영체제와 프로그램의 일부분으로 많이 사용되므로, 영향권은 광범위하다. 대표적으로 크롬과 이를 기반으로 한 오페라 등 브라우저가 그렇다. 이 취약점들은 2018.12.21일에 CVE-2018-20346, CVE-2018-20505, CVE-2018-20506로 등록됐다. 그 이전에 Google과 SQLite는 업데이트를 내놓았다. 마젤란은 원격 코드 실행, 메모리에서 정보 유출, 프로그램 충돌을 일으킬 수 있다. 크롬 브라우저와 Google Home에 대한 원격 코드 실행은 샘플 악성코드가 나왔다. 다만 보고서 발표 시점을 기준으로, 실제 악용 사례는 확인되지 않았다. 크롬 등 브라우저에서 원격 코드 실행은, 단지 악의적인 사이트에 방문하는 것만으로 악성코드에 감염될 수 있기에 상당히 위험하다. 다만 크롬은 sandbox에서 실행되기 때문에, 랜섬웨어 설치 같은 치명적인 악성 행위가 가능하기 위해서는 샌드박스 탈출이 필요하다. 물론 샌드박스 탈출을 가능케 하는 크롬의 취약점이나 Windows Kernel의 취약점은 많이 알려져 있다. 언제나 업데이트에 게을러서는 안되는 이유이다. 업데이트 적용 마젤란의 영향권에 있는 프로그램은 다음과 같다. 취약점이 공개된 지 꽤 됐으므로 패치는 대부분 발표됐을 것이다. 크롬, 오페라를 비롯해 Chromium 엔진을 사용하는 브라우저와 여타 프로그램. Chrome, Chromium을 사용하는 IoT 기기. 예컨대 구글 홈. Android WebView를 사용하는 앱. FTS3가 활성화되고 Sql 명령어의 외부 입력을 허용하도록 설정된 SQLite와 이를 이용하는 프로그램. 안드로이드도 해당 이 보고서를 처음 봤을 때는, 안드로이드의 경우 크롬 브라우저와 웹뷰만 업데이트하면 문제 없을 거라고 생각했다. 이들은 Google Play에서 자동 업데이트를 설정하면 수시로 업데이트된...

Anubis 악성코드, Google Play에 지속적으로 출현

이미지
downloader, dropper 전성 시대 근래 들어 구글 플레이에서 뱅킹 트로이 목마가 많이 발견되고 있다. 광고 띄우기를 주목적으로 하는 애드웨어 류가 주류를 이루던 이전에 비해 위험이 커진 것이다. 그 중에서도 아누비스가 눈에 자주 띈다. 많은 보안 회사와 전문가들에 의해 꾸준히 발견되고 있다. 스토어에서 발각돼 삭제돼도 또다시 다른 앱으로 위장하여 업로드 되기를 반복하고 있다. 이렇게 구글의 보안 수단을 농락하는 방법은 다운로더 혹은 드로퍼를 사용하는 것이다. 이것은 나중에 악성코드 본체 즉 payload를 다운로드하는 역할을 할 뿐, 그 자체로는 무해한 것처럼 보인다. 대부분의 앱이 인터넷에 연결해 각종 데이터를 다운로드하므로, Play Protect로서는 어떤 데이터가 악성인지를 판단하기 어렵다. 게다가 악성행위를 바로 시작하지 않고, 조용히 잠복기를 거쳐 어느 순간에 페이로드를 다운로드한다. 그렇기 때문에 VirusTotal로 테스트해 보면, 대다수의 보안 앱이 탐지를 하지 못하고 있다. 보안 회사들은 신뢰할 수 있는 개발자의 앱만을 다운로드하라고 권고하고 있다. 씁쓸한 말이다. 앱 스토어는 능력은 있지만 자금력과 유통망을 갖추지 못한 개발자들이 성공할 수 있는 곳이어야 한다. 그런데 이런 권고는 결국 유명 대기업의 앱만 사용하라는 말과 다를 바 없다. 물을 흐리는 일부 범죄자들 때문에 대다수 선량한 개발자들이 설 곳을 잃어가는 느낌이라 안타깝다. 앱의 업데이트 알림에 응답하지 않는 것이 다운로더에 대처하는 좋은 방법일 수도 있다(관2). 단순 뱅킹 트로이 목마가 아니다 아누비스 역시 다양한 가짜 앱을 다운로더로 활용하고 있다. 아누비스는 은행이나 결제 앱 등의 로그인 정보를 비롯한 입력 정보를 훔치는 banking trojan이다. 그러나 이에 그치지 않고, 심각한 추가 악행을 한다. 스팸 문자 보내기, RAT(Remote Access Tool) 기능과 랜섬웨어 기능도 있다. RAT 즉 원격제어 기능은 해커가 기기를 ...

Exodus 모바일 악성코드

고도의 스파이웨어 엑소더스는 기기의 각종 데이터를 훔치는 스파이웨어다. 안드로이드용과 iOS용 모두 있다. 다만 iOS용은 안드로이드용 보다는 기능이 약하고, 공식 스토어가 아닌 피싱 사이트를 통해 유통되는 것이 다른 점이다. Google Play에서 발견 안드로이드 버전은 구글 플레이에서 2년 넘도록 발견돼 왔다. 여러 앱들을 통해 나타났다 사라졌다 다시 업로드되기를 반복했다. 감염은 3단계로 진행된다. 1단계는 전화번호와 IMEI 같은 기본적인 정보를 수집하고 본격적인 payload를 다운로드하는 dropper이다. 2단계는 고도의 기능을 갖춘 스파이웨어로, 각종 데이터를 수집하여 해커에게 전송한다. 3단계는 기기의 통제권을 완전히 접수한다. DirtyCOW(CVE-2016-5195)라는 악명 높은 취약점을 이용하는데, root 권한을 탈취하는 권한 상승 취약점이다. Apple Developer Enterprise Program 악용 iOS 버전은 공식 스토어가 아닌, 피싱 사이트를 비롯한 외부 경로를 통해 유통됐다. 아이폰은 탈옥하지 않는 한, 스토어 외부에서 앱을 설치할 수 없다. 그러나 예외적으로, 기업들이 직원들에게 스토어를 거치지 않고 바로 앱을 제공할 수 있도록 했는데, 이것이 Apple Developer Enterprise Program이다. 이를 이용하려면 애플에 기업용 계정을 등록해서 인증서를 받아야 한다. 엑소더스는 Connexxa S.R.L.이라는 이탈리아 회사를 통해 유통됐다. 애플은 이 회사의 인증서를 철회했으므로, 더 이상은 설치할 수도 실행할 수도 없다. 안드로이드 버전보다 기능이 약하다고는 하지만, 주소록, 음성 녹음 파일, 사진, 동영상, 위치 정보, 기기 정보 등 다양한 데이터를 유출한다. 참고 자료 'Exodus' Surveillance Malware Found Targeting Apple iOS Users  

새 Edge 브라우저, 관리자 권한으로 실행하면 경고

이미지
엣지도 크롬 엔진 사용 마이크로소프트는 엣지 브라우저에서 자체 엔진을 포기하고 구글의 크롬 엔진을 사용키로 했다. 현재 한창 개발 중인데, 이렇게 되면 크롬의 다양한 확장 프로그램을 쓸 수 있는 등 장점이 있다. 그렇다고 크롬과 똑같아 지는 것은 아니다. 독자적인 개량도 이루어지는데, 관리자 권한으로 실행되면 경고를 나타내는 것도 그 중 하나다. 관리자 권한으로 실행 앱을 관리자 권한으로 실행하면, 시스템 파일을 수정하거나 설정을 변경하는 등 고급 작업을 수행할 수 있다. 반면 악성코드에 악용되면 더 심각한 위험을 초래할 수 있다. 따라서 평상시엔 이렇게 사용하지 않도록 한다. Windows 10에서 앱을 관리자 권한으로 실행하려면, 앱 아이콘을 마우스 오른쪽 버튼으로 클릭하여 '자세히'를 선택하면 항목을 볼 수 있다. UWP 앱, 즉 스토어 앱은 관리자 권한으로 실행될 수 없다. 윈도우 10 1803 버전에서 웹 브라우저를 예로 들면, 익스플로러와 크롬은 관리자 권한으로 실행할 수 있지만, 엣지는 안된다. 새 엣지는 된다. 권한 상속에 주의 웹 브라우저를 일부러 관리자 권한으로 실행할 일은 없을 것이다. 그러나 권한 상속으로 인하여, 사용자 모르게 자동으로 그렇게 될 수가 있다. 예를 들어 본다. 윈도우 설정 파일 중 .ini 같이 단순 텍스트로 된 것을 편집할 때, 메모장을 많이 사용한다. 윈도우 10 1903 버전에는 메모장에 'Bing으로 검색' 기능이 들어간다. 편집 중 텍스트를 선택하여 바로 검색할 수 있도록 한 것이다. 메모장으로 hosts 파일을 수정하려고 한다. 이 파일은 시스템 파일이므로, 수정하려면 메모장을 관리자 권한으로 실행해야 한다. 이때 잘 모르는 것이 있어서 빙 검색 기능을 사용하면 연결된 브라우저가 실행된다. 이 브라우저는 메모장의 권한을 이어받아 관리자 권한으로 실행된다. 브라우저에서 파일을 다운로드하여 실행할 때도 마찬가지다. 브라우저를 관리자 권한으로 실행 ...

광고 차단기 Adblock 이용해 악성코드 실행 가능

Adblock, Adblock Plus, uBlocker에 해당 광고를 차단하는 브라우저 확장 프로그램으로 인기를 끌고 있는 애드블럭, 애드블럭 플러스, 유블로커를 악용해, 오히려 악성코드를 실행할 수 있는 문제점이 발견됐다. 이들은 일반적인 광고 차단 외에, 광고를 다른 내용으로 대체할 수 있는 $rewrite라는 기능을 갖고 있는 데서 비롯됐다. 광고 차단 앱들은 차단 목록(filter list)를 기반으로 작동한다. 문제의 앱에서는 목록에서 $rewrite 옵션을 이용해, 특정 사이트에서 임의의 외부 스크립트를 실행할 수 있었다. 물론 이 기능이 그리 허술한 것은 아니어서, 원칙적으로 다른 도메인의 스크립트는 실행할 수 없다. 그러나 XMLHttpRequest, Fetch to download, open redirect 등 특수한 조건을 갖춘 사이트에서는 외부 스크립트 실행이 가능하다. 구글 맵에서 악성 스크립트 실행 언뜻 보면 이론적인 가능성에 불과하고, 실현 가능성은 낮게 보일 수 있다. 그러나 대부분의 사람들이 믿고 사용하는 Google Map이 바로 여기에 해당한다. 구글 맵 이용만으로 악성코드에 감염된다고 생각해 보자. 현실적이고 치명적인 위협이다. 취약점 책임 소재 애매 이 사실을 통보받은 구글은, 특정 확장 프로그램의 문제일 뿐 사이트의 결함은 없다는 입장이다. 일리가 있다. 그렇다고 애드블럭의 결함이라고 단정하기도 애매하다. 결국 특정한 조건들이 결합하여 발생하는 예외적인 경우라고 볼 수 밖에 없다. 그리고 이런 위험을 최소화하기 위해서는, 앱을 너무 무분별하게 설치하지 말고, 꼭 필요한 것들만 설치하는 것이 좋은 습괸이다. 애드블럭 측은 일단 $rewrite 옵션을 제거한 업데이트 버전을 내놓겠다는 입장을 밝혔다. 악의적인 차단 목록 가능 광고 차단기의 filter list는 개발자가 직접 제공하기도 하지만, 제3자(third-party)가 제공하는 것을 다운로드할 수도 있다. 따라서 악의적으로 조작된 차단...

기업용 VPN 앱도 취약하다

인증 쿠키를 암호화하지 않았다 외근이나 재택 근무처럼 회사 외부에서 회사 내부에 있는 네트워크에 안전하게 접근하려면 VPN 사용은 필수다. 그런데 VPN을 구동하는 프로그램들이 기본적인 보안 수칙도 지키지 않은 취약점을 갖고 있음이 밝혀졌다. 주로 개인용 VPN 서비스를 제공하는 앱들의 신뢰성이 바닥을 치고 있는 것에 더해, 네트워크 및 보안 분야의 거대 기업들까지 엉성한 면모를 드러냈다. 최근 CERT의 보고서에 따르면, 시스코, 팔로 알토 네트웍스, Purse Secure, F5 Networks 등 대기업의 VPN 앱이 세션 쿠키를 안전하지 않게 저장했다. Session cookie는 정당한 사용자임을 증명하는 표식으로, 흔히 토큰이라고 불린다. 이것을 해커가 훔쳐가면, 다른 인증 수단을 우회하여 VPN에 접근할 수 있다. 즉 조직 내부 네트워크에 접속하여 도용된 사용자의 권한으로 이용할 수 있는 것이다. 문제된 앱들은 세션 쿠키를 암호화하지 않은 채, 로그 파일이나 메모리에 저장했다. 따라서 PC를 해킹하거나 악성코드를 사용하여 세션 쿠키를 탈취한 후, 나중에 아무 때나 재사용할 수 있다(session replay). 이번 보고서에서 모든 기업용 VPN 앱을 조사한 것은 아니다. 그러나 연구팀은 이런 식의 허술한 처리 방식이 널리 퍼져 있을 것으로 추측했다. 관련 자료 VPN은 보안회사의 것을 이용해야 한다 참고 자료 VPN applications insecurely store session cookies