1월, 2020의 게시물 표시

Mac PC 10%를 공격한 Shlayer 악성코드

이미지
프로그램 설치 유도 Kaspersky의 보고서(참1)에 따르면, 2019년에 애플 macOS에서 가장 많이 탐지된 악성코드는 Shlayer였다. 전체 맥 컴퓨터의 10%가 이를 경험했다고 한다. Shlayer는 주로 동영상 사이트를 통해 유포됐다. 인기 TV 쇼나 스포츠 동영상을 스트리밍하는 사이트에서, 플래시 플레이어 등 소프트웨어를 업데이트하라는 식으로 사용자들을 속였다. 아래 그림(참1)은 한 예다. 이런 악성 사이트로는 주로 인기있는 동영상을 검색하는 과정에서 흘러들어가게 된다. 그리고 유튜브 영상의 설명 부분이나 위키피디아의 주석에 링크로 걸려있는 경우도 발견됐다. 제휴 프로그램 형식으로 다른 사이트에서 홍보되기도 한다. Shlayer는 설치 건당 비교적 높은 수수료를 지급해서, 제휴 사이트가 많다고 한다. 신뢰할 수 있는 사이트가 아니라면, 프로그램 설치를 요구하면 바로 빠져나오는 것이 좋다. 악성 사이트라면 각종 버튼도 가짜일 수 있으므로, 아무 것도 클릭하지 말고 브라우저 탭 자체를 닫아버린다. 시스템 알림 우회 가짜 메시지에 속아 업데이트나 설치 버튼을 누르면, Shlayer가 실행된다. 아래 그림(참1)처럼 평범한 인스톨러로 보이지만, 사실은 사용자가 거부(skip)를 누르든, 허락(next)을 누르든 상관없이 악성코드가 설치된다. 이 단계까지 왔으면 이미 늦은 것이다. 아까는 아무 것도 누르지 말고 바로 빠져나오면 안전하다고 헀는데, 왜 그럴까. 아까는 악성 사이트에서 어떤 코드가 실행되기 전에 빠져나온 것이기 때문이다. 지금 단계는 이미 가짜 메시지에 속아 Shlayer를 실행한 후이다. Shlayer는 downloader(dropper)이다. 시스템 정보를 수집해서, 그에 알맞은 payload(악성코드 본체)를 다운로드한다. Shlayer는 여러 가지 악성코드를 설치하는 데 이용됐는데, 이들 모두 2019년 맥용 악성코드 탐지 횟수에서 상위권을 차지했다. 그 중에서도 특이한 것은 AdWa...

Windows 10 UAC 우회하는 TrickBot 악성코드

이미지
fodhelper.exe 악용 요즘 맹활약 중인 트로이 목마 트릭봇이 스텔스 기능을 추가했다. 자신이나 추가 악성코드가 설치될 때 UAC 경고가 나오지 않게 하여, 사용자 몰래 침투하는 기법이다. UAC(User Account Control, 사용자 계정 컨트롤)은 프로그램 설치나 시스템에 중요한 변경을 가할 때 관리자의 확인을 거치는 것이다. 확인된 디지털 사인(code sign)이 있는 프로그램일 경우 파란 창으로, 아닐 경우 노란 창으로 표시된다. Windows 사용자 계정의 유형에는 '관리자'와 '표준 사용자'가 있다. 관리자는 시스템의 모든 설정을 변경할 수 있는 권한을 갖고, 표준 사용자는 제한된 권한만을 갖는다. 그러나 관리자 계정으로 로그인한 경우라도 평상시에는 표준 권한만으로 작동한다. 프로그램을 설치하거나 설정을 변경하는 등 상승된 권한이 필요할 때만, UAC 확인을 거쳐 관리자 권한을 행사한다. 이때 관리자 계정에서는 확인만 하면 되지만, 표준 사용자 계정에서는 관리자의 암호를 입력해야 한다. UAC는 이렇게 사용자에게 시스템에 변경이 생기는 것을 알리고, 허용할 지 여부를 묻는 보안 수단이다. 그러나 허점이 많다. 쉽게 우회할 수 있는 방법이 여럿 알려져 있다. 트릿봇은 fodhelper.exe라는 프로그램을 악용한다. 이는 윈도우에 기본 내장된 유틸리티이다. 윈도우에 의해 기본적으로 신뢰되어, UAC 확인 없이 자동으로 관리자 권한으로 실행된다(자동 권한 상승, auto-elevation). fodhelper는 특정한 레지스트리 값을 읽어, 지정된 명령을 실행할 수 있다. fodhelper에 의해 실행된 코드 역시 관리자 권한을 물려받는다. 트릭봇은 그 레지스트리 값을 수정하여, fodhelper를 통해 UAC 확인 없이 악성코드를 실행한다. 원칙적으로 레지스트리를 수정하는 것 자체가 관리자 권한이 필요해서 UAC 알림을 촉발한다. 그러나 HKCU(HKEY Current U...

안드로이드 무료 VPN 앱 리뷰

이미지
위험성은 알고 사용하자 주로 개인을 상대로 영업하는 소규모 VPN 서비스들의 신뢰성은 바닥권이고, 차라리 이용하지 않는 편이 더 낫다. 이제 웬만한 사이트는 HTTPS 암호화 통신을 지원하고, 이 경우 공공 와이파이 등 안전하지 않은 네트워크에서도 보호되기 때문에 필요성도 크지 않다. 그러나 여전히 VPN 앱이 필요한 경우가 있다. 접속이 차단된 사이트에 우회적으로 접속하거나, 지역 제한으로 볼 수 없는 콘텐츠를 볼 수 있기 때문이다. 그렇다고 잠깐씩 사용하려고 유료 서비스를 이용하는 것은 비경제적이다. 그래서 그나마 쓸 만한 것이 있을까 찾아봤다. VPN 앱과 서버는 모든 통신이 거쳐가기 때문에 보안상 중요하다. 앱은 악성 행위를 하게 되면 보안 앱에 차단될 수 있다. 그러나 서버에서 개인의 인터넷 활동을 추적할 수 있는 각종 정보를 수집하고 제3자에게 전송한다면, 개인 사용자로서는 알 수도 없고 막을 수도 없다. 따라서 무료 VPN 앱을 쓸 때는 보안상 중요하지 않은 연결에만 사용하고, 사용 후에는 VPN 연결을 해제해야 한다. 백그라운드에서도 통신은 계속되기 때문에 VPN을 통과하는 통신을 완전히 제어할 수는 없지만, 구글 데이터 동기화나 업데이트 같은 것은 암호화된 통신을 하기 때문에 안전할 것이다. VPN 앱을 설치하고 처음 실행하면, 안드로이드 운영체제에서 경고를 보인다. VPN 연결이 시작될 때도 경고가 나온다. 이제 실제로 Google Play 스토어에서 VPN을 검색했을 때 나오는 상위 앱 몇 개를 살펴본다. Turbo VPN은 전에 Top10VPN.com이라는 전문 사이트의 보고서에서 혹평을 받았다. 서버에서 과도한 정보를 수집하고, 이를 중국에 전송할 가능성이 있다는 것이었다. 그런데 앞서 말했듯 이 문제는 검증하기 힘들고, 이 문제에서 자유로운 중소 규모 서비스는 거의 없다. 여기서는 잠재적 위험성을 감수하고 제한적으로 사용할 앱을 찾는 것이 목적이므로 그냥 넘어가자. 요구 권한...

Windows Server 원격 데스크톱 게이트웨이 취약점

CVE-2020-0609, 0610 1.14일 마이크로소프트는 윈도우 서버 제품군에 있는 원격 데스크톱 게이트웨이(RD Gateway)의 취약점 3개를 패치했다. Windows Server 2012, 2016, 2019가 해당된다. 0609와 0610은 원격 코드 실행 취약점이다. 해커는 RD Gateway에 RDP(Remote Desktop Protocol)로 접속해, 특별하게 조작된 요청을 보내는 것만으로 임의의 코드를 실행할 수 있다. 이는 시스템의 완전한 제어로 이어지는데, 대표적으로 프로그램 설치, 데이터 보기 및 수정, 계정 생성 등이 가능하다. 이 해킹은 인증 단계 이전에 이루어지기 때문에, 해커는 로그인 자격증명을 전혀 필요로 하지 않는다. 또한 피해자 쪽의 어떠한 상호작용도 필요 없다. CVE-2020-0612 0612는 DOS(Denial of Service) 취약점이다. 악용 방법은 0609와 같이 특수한 요청을 보내기만 하면 된다. 악용에 성공하면 RD Gateway는 먹통이 된다. 해커에겐 DOS 공격용 프로그램이 필요하다. Remote Desktop Gateway Remote Desktop Gateway(RD Gateway, RDG)는 Windows Server 제품군에 있는 기능이다. VPN과 같은 역할을 하기 때문에, RD Gateway를 사용하면 별도로 VPN을 구성할 필요가 없다. RD Gateway는 외부 네트워크에 있는 사용자가, 마이크로소프트 애저 클라우드 서비스에 호스팅된 데스크탑과 응용 프로그램에 접근할 수 있는 관문이다. 통신은 SSL로 암호화된다. 참고 자료 CVE-2020-0609 | Windows Remote Desktop Gateway (RD Gateway) Remote Code Execution Vulnerability CVE-2020-0610 | Windows Remote Desktop Gateway (RD Gateway) Remote Code Execution Vu...

WOL 악용하는 Ryuk 랜섬웨어

이미지
네트워크 전체를 노린다 파일을 암호화해서 열지 못하게 만들고, 이를 풀어주는 대가를 요구하는 악성코드 유형인 ransomware가 더 지독하게 변하고 있다. 단순히 암호화만 할 경우, 피해자는 백업본이 있다면 아무런 피해를 입지 않는다. 백업본이 없더라도 해당 파일들을 잃는 것으로 끝난다. 그러나 최근엔 암호화하기 전에 파일을 훔쳐내는 쪽으로 바뀌고 있다. 돈을 주지 않을 경우 유출한 파일을 온세상에 공개해 버리겠다는 것이다. 이것은 개인정보 유출 사건으로 발전되기 때문에, 기업 등 조직 입장에서는 파일 손실보다 훨씬 큰 타격을 받게 된다. 이처럼 랜섬웨어의 주 표적이 조직으로 집중되면서, 네트워크를 얼마나 많이 장악하느냐가 중요해졌다. 근래 활발히 활동하는 Ryuk ransomware는 WOL(Wake On Lan)을 이용해, 잠자는 PC까지 깨워 감염시키려 하고 있다. 류크 랜섬웨어는 WOL 기능을 이용해 절전모드에 들어가 있는 PC들을 깨운다. 그리고 SMB를 통해 이들을 네트워크 드라이브로 마운트하고, 암호화한다. 이 방법이 새로운 취약점을 이용한 것은 아니다. 즉 WOL 기능이 특히 더 위험한 것은 아니다. 해당 네트워크는 이미 해킹됐고, 악성코드는 퍼지고 있다. 절전 모드에 있던 PC들도 감염되는 것은 시간 문제다. 다만 감염 속도를 더 빨리 하는 정도의 효과는 있다. WOL 설정 방법 WOL(Wake On Lan)은 흔히 magic packet이라 불리는 특수한 신호를 보내, 절전 모드에 있는 PC를 원격으로 깨우는 것이다. 조직의 네트워크 관리자에겐 필수적이다. 웨이크 온 랜 기능을 사용하려면 장치 관리자에서 네트워크 어댑터를 설정해야 한다. 그림은 리얼텍 랜카드의 경우이다. '매직 패킷 웨이크 온'이라는 속성을 사용하고 있는데, 이름은 장치마다 다를 수 있다. WOL을 활성화한 다음, 전원 설정을 바꿔서 랜카드 자체가 꺼지지 않도록 해야 한다. 랜카드 자체가 꺼지면 매직 패킷조차 받을 수 없...

Windows 10 인증서 위조 취약점

CVE-2020-0601 윈도우 10을 비롯한 최신 윈도우 버전에서, 디지털 인증서(certificate)를 위조할 수 있는 취약점이 발견됐다. 이것은 2020.1.14일 패치됐다. 이 취약점은 Windows의 CryptoAPI가 ECC(Elliptic Curve Cryptography) certificate를 제대로 검증하지 못하는 데서 비롯됐다. 즉 위조된 가짜 인증서를 판별하지 못한다는 것이다. 악용에 성공할 경우, 해커는 인증서의 용도에 따라 크게 2가지의 공격을 펼칠 수 있다. 해커는 위조한 인증서를 코드 사인(code-signing)에 사용할 수 있다. 악성코드에 MS나 구글 같은 신뢰할 수 있는 공급자의 인증서로 가장한 가짜 인증서로 서명하면, 사용자는 정상적인 프로그램으로 생각하여 실행을 허락하게 된다. HTTPS 등 암호화 통신에 사용되는 SSL/TLS 인증서를 위조할 경우에는 중간자 공격(MITM, Man-In-The-Middle attack)을 할 수 있다. 안전한 것처럼 보이는 통신을 중간에서 가로채 엿보거나, 악성코드를 삽입하는 등 변조를 할 수 있다. 참고 자료 Microsoft Fixes Windows CryptoAPI Spoofing Flaw Reported by NSA CVE-2020-0601 | Windows CryptoAPI Spoofing Vulnerability

Play Protect를 중지시키는 Shopper 악성코드

이미지
시스템 앱으로 위장한 트로이 목마 Kaspersky가 발견한 Trojan-Dropper.AndroidOS.Shopper.a는 안드로이드의 시스템 서비스로 위장해 실행된다. 시스템 아이콘과 ConfigAPKs라는 이름을 사용한다. 그리고 다른 악성코드를 다운로드하는 dropper 혹은 downloader이다. 접근성 권한 악용 쇼퍼a는 안드로이드의 기본 보안 수단인 Google Play Protect를 끈다. 그리고 '출처를 알 수 없는 앱 설치'를 허용으로 바꾼다. 이렇게 사용자 몰래 기기의 보안을 해제하는데, 이는 안드로이드의 접근성(accessibility) 권한을 통해 가능했다. 접근성 권한을 이용하면 시스템 인터페이스와 다른 앱들을 맘대로 다룰 수 있다. 예컨대 화면에 표시되는 데이터를 가로채고, 버튼을 클릭하고, 사용자 제스처를 흉내낼 수 있다. 악성코드에 악용되면 사실상 루팅한 것과 같은 효과를 낸다(관1). 쇼퍼a는 접근성 권한을 얻을 때까지, 계속해서 가짜 메시지를 띄운다. 보안 앱 역시 기기의 포괄적인 모니터링을 위해 접근성 권한을 요구하기도 한다. 아래 그림은 Norton mobile security에 접근성 권한을 허용하는 과정이다. 공신력있는 보안 앱에는 허용해도 괜찮다고 생각한다. 설정에서 접근성 권한을 사용할 수 있는 앱 목록을 볼 수 있다. 앱이 접근성 권한을 요청하는 모습이다. 안드로이드 운영체제의 경고 문구. 모든 앱에 동일한 내용으로 표시되는, 고정된 것이다. 악성 앱 홍보 수단 쇼퍼a가 다운로드한 페이로드 즉 악성코드 본체는 기기에 대한 상세한 정보를 수집해 해커에게 전달한다. 국가, 네트워크 유형, 제조사, 모델명, 이메일 주소, IMEI, IMSI 등이 포함된다. 그리고 해커의 명령에 따라 여러 가지 악행을 수행한다. 그 주된 용도는 다른 악성 앱을 홍보하는 것이다. 플레이 스토어에 있는 앱들의 사용자 평점을 올리고, 가짜 리뷰를 등록한다. 다...

CamScanner 악성코드 사건

이미지
지금은 안전 이 사건은 2019.8월에 있었던 것으로, 바로 해결됐고 지금까지 정상적으로 서비스되고 있다. 지난 일이지만 비슷한 사건은 언제라도 일어날 수 있는 유형이다. CamScanner는 문서를 스마트폰 카메라로 찍어 pdf 파일로 저장하는 앱이다. Google Play 스토어에서 1억 건 이상의 다운로드 수와 4.5가 넘는 평점을 받고 있는 인기있는 앱이며, 에디터 추천 목록에도 올라있는 신뢰할 수 있는 앱이다. 광고 모듈에 dropper 그런데 어느 순간 업데이트 시에 악성코드가 삽입됐다. 캠스캐너 개발자가 부도덕한 광고주와 파트너십을 맺은 것이 화근이었다. 무료 버전에는 광고가 들어가는데, 악의적인 광고주가 제공한 광고 라이브러리에 dropper 혹은 downloader 악성코드가 있었다. 다운로더라고도 불리는 드로퍼는 다른 악성코드를 다운로드하여 설치하는 악성코드 유형으로, 근래 구글 플레이 스토어의 보안 검색을 통과하는 방법으로 많이 이용되고 있다. 캠스캐너에서 발견된 드로퍼는 지독하게 광고를 표시하고, 사용자 몰래 유료 서비스에 가입하여 돈을 훔치는 역할을 한다. 저가 중국제 스마트폰들에 사전 설치된 적도 있다. 이런 경우는 사용자 입장에선 대책이 없다. 가짜 앱이 아니라 신뢰할 수 있는 앱을 이용하기 때문이다. 잘 사용하던 정상적인 앱이 어느 순간에 악성코드로 돌변할 수 있다. 공급망 공격의 일종이므로, 개발자가 자신의 명예와 비즈니스를 지키기 위해 더 노력해야 한다. 리뷰의 신뢰성 당시 구글은 문제된 버전을 스토어에서 삭제했고, 개발자는 바로 업데이트된 버전을 내놓았다. 그런데 안드로이드 앱은 기기에 따라, 즉 안드로이드 버전에 따라 다른 버전의 앱이 설치될 수 있으므로 주의가 요구됐다. 그리고 사용자 리뷰의 중요성이 강조됐다. 악성코드가 들어있음이 발견된 계기가, 이상한 행동을 한다는 불평 리뷰들이 특정 시점에 집중적으로 올라온 것이었다. 그런데 사용자 리뷰를 참고한다는 것이 말처럼 쉬운 것은 ...