글

Windows 10 원격 데스크톱 해킹 취약점

CVE-2019-1181, 1182 8.13일 마이크로소프트는 윈도우의 원격 데스크톱 서비스(RDS)에서 발견된 원격코드 실행 취약점을 패치했다. 이는 RDS를 실행 중인 PC에 특별하게 조작된 요청을 보내는 것만으로 임의의 코드를 실행할 수 있는 아주 위험한 것이다. 피해자의 어떠한 상호작용도 필요없기 때문에, 이를 악용한 악성코드는 웜(worm, 자가증식형 악성코드)처럼 네트워크를 타고 저절로 퍼질 수 있다(wormable). BlueKeep의 변종 5월에는 Windows 7 등 구형 윈도우의 RDS에서 원격코드 실행 취약점이 발견됐으며, 블루킵이라는 별명을 얻었다(관1). 이번 취약점은 내용, 악용 방법, wormable 특성 등 여러 가지 면에서 블루킵과 비슷하다. 다만 윈도우 10을 비롯한 최신 윈도우 버전에도 해당된다는 점이 다를 뿐이다. 대응책으로 NLA 활성화가 도움이 된다는 점도 같다. 관련 자료 BlueKeep, 구식 윈도우의 원격 데스크톱 위험하다 참고 자료 Patch new wormable vulnerabilities in Remote Desktop Services (CVE-2019-1181/1182)

안드로이드, 악성 동영상 보면 해킹된다

이미지
CVE-2019-2107 안드로이드 스마트폰에서 특별하게 가공된 동영상 파일을 열면, 원격의 해커가 임의의 코드를 실행할 수 있는 취약점이 발견됐다. Android 7.0~9.0에 해당하며, media framework에 있는 취약점이다. 구글은 2019.7월 보안 업데이트에서 이 문제를 해결했다. 패치는 나왔지만, 안드로이드 업데이트는 기기 제조사에서 담당하기 때문에, 기종에 따라 늦거나 제공되지 않을 수도 있다. 따라서 출처가 의심스러운 파일은 열지 않도록 주의해야 한다. 그리고 exploit code를 탐지할 수 있도록 보안 앱을 잘 사용해야 한다. 스테이지프라이트와 유사 미디어 프레임워크는 오디오, 비디오 파일을 처리하는 부분이다. 이와 비슷한 취약점은 매달 발견되는 단골 손님인데, 이번에는 PoC(Proof of Concept, 샘플 악성코드)가 공개되어 주목을 받았다(참3). PoC 개발자는 이 취약점을 스테이지프라이트(Stagefright), PNG 취약점과 비견되는 위험한 것으로 평가했다. 이번에 공개된 PoC는 인터넷에서 다운로드하거나 이메일의 첨부 파일로 받는 등, 악성 동영상 파일을 직접 실행하는 경우에만 작동한다. WhatsApp, Facebook messenger 등 메신저 앱은 대부분 트래픽 용량을 줄이기 위해 동영상을 압축한다. 이 과정에서 악성 동영상에 삽입된 익스플로잇 코드가 손상될 수 있다. Youtube, Twitter 등 플랫폼을 이용하는 경우도 마찬가지이다. 카카오톡은 그림처럼 기본 설정상 사진과 동영상 파일을 압축한다. 관련 자료 안드로이드, PNG 이미지 파일 보기만 해도 해킹될 수 있다 참고 자료 Your Android Phone Can Get Hacked Just By Playing This Video Android Security Bulletin—July 2019 CVE-2019-2107

보안 앱을 못쓰게 만드는 Vonteera 악성코드

이미지
인증서로 보안 앱 차단 Vonteera는 주기적으로 광고를 표시하는 악성코드이다. 그러나 일반적인 애드웨어와 달리 시스템에 많은 변경을 가하여, 잠재적인 위험성이 크기 때문에 트로이목마로 분류된다. 본티라는 그림(참1)처럼 MalwareBytes, McAfee 등 주요 보안 회사의 인증서를 신뢰할 수 없는 인증서 위치에 설치한다. 이렇게 되면, 이들 인증서를 사용하는 보안 앱은 그림(참1)처럼 UAC(User Account Control)에 의해 차단된다. 해당 인증서를 사용하는 보안 사이트에 접속하면 인증서 오류를 유발한다. 악성 서비스 추가 Vonteera는 AppInf라는 서비스를 설치한다. 이는 인증서 저장소를 주기적으로 확인해서, 만약 보안 회사의 인증서가 신뢰할 수 없는 인증서 저장소에서 삭제되면 다시 설치한다. 크롬 정책 악용 본티라는 주기적으로 광고 창을 띄우기 위해 작업 스케줄러에 수많은 작업을 추가한다. 인터넷 익스플로러에는 추가 기능(add-on)을 설치한다. 크롬 브라우저에서는 정책 설정을 악용해 옵션을 변경하거나 확장 프로그램을 설치한다. 크롬의 정책 설정은 사용자 모르게 강제로 작동하므로, 악성코드에 악용될 위험이 있다(관1). 바탕 화면이나 시작 메뉴의 브라우저 아이콘을 조작해, 시작시 특정 사이트를 열게 한다. 이 사이트는 사용자를 무작위한 사이트로 리다이랙트한다. 작업 스케줄러로 UAC 우회 Vonteera에 감염되면 보안 앱이 UAC에 의해 차단되어 실행되지 않는다. 보안 앱 실행을 위해 UAC를 일시적으로 해제하는 방법이 있지만, 이는 더 큰 위험을 초래할 수도 있으므로 좋지 않다. 인증서 관리자를 통해, 보안 인증서를 신뢰할 수 없는 인증서 저장소에서 삭제하는 방법도 있다. 이 경우 악성 서비스에 의해 다시 되살아날 수 있으므로, 재빨리 보안 앱을 실행해 악성코드를 제거해야 한다. 인증서 관리자는 [윈도우 키]+[S]를 눌러 "인증서 관리"를 검색...

DNS 설정을 바꾸는 Extenbro 악성코드

이미지
DNS 하이재킹 Extenbro DNS-changer는 PC의 DNS 서버 설정을 바꿔, 해커의 DNS 서버를 이용하게 만드는 악성코드다. 가장 기본적인 DNS hijacking 방법이다. 이런 짓을 하는 이유는, 피해자가 원하는 사이트 대신 악성 사이트로 연결시키거나 특정 사이트에 접속하지 못하게 하는 것이다. Extenbro는 다른 악성코드, 주로 애드웨어와 함께 배포되어 이를 지원하는 역할을 한다. DNS 설정을 조작해서 보안 사이트에 접속하지 못하게 한다. 따라서 피해자는 애드웨어 감염을 알게 돼도, 보안 앱을 다운로드할 수가 없다. 이미 설치된 보안 앱은 업데이트를 할 수가 없다. 4개의 악성 DNS 서버 설정 Windows 10은 여러 개의 DNS 서버를 지정할 수 있는데, 보통은 2개만 사용한다. DNS 설정을 하는 방법은 (관1)에서 자세히 썼다. (관1)의 그림처럼, 기본과 보조 2개를 설정하는 게 일반적이다. 그런데 익스텐브로는 4개를 해커의 것으로 설정한다. 따라서 확인하려면 반드시 '고급' 버튼을 눌러야 한다. '고급' 버튼을 누르면 아래 그림(참1)처럼 4개 모두를 볼 수 있다. 작업 스케줄러에 추가 익스텐브로는 작업 스케줄러에 예약된 작업을 추가하여, 주기적으로 DNS 설정을 확인한다. 따라서 이 악성코드를 제거하지 않고 DNS 설정을 복구하기만 하면, 재부팅시나 일정 시간 후에 다시 악성 설정으로 바뀌게 된다. 또한 이 작업은 무작위의 폴더와 실행 파일 이름을 사용하므로, 찾아내기 어렵다. 루트 인증서 설치 익스텐브로는 임의의 인증서를 root certificate로 설치한다. 이것은 https 통신을 가로채기 위해서다(관2). 재부팅은 금물 Extenbro에 감염된 경우에는 보안 관련 사이트에 접속할 수 없으므로, 보안 앱을 설치하거나 업데이트할 수가 없다. 따라서 먼저 DNS 설정을 복구해서 보안 사이트에 접근할 수 있게 해야 한다. '자동으로 DNS 서...

카자흐스탄이 모든 HTTPS 통신을 검열하기 시작했다

이미지
정부 발행 루트 인증서 설치 강요 최근 카자흐스탄 정부가 자국 ISP(Internet Service Provider, 통신사)들에게, 고객의 기기에 정부가 발행한 root certificate(루트 인증서)를 의무적으로 설치하도록 하라는 권고안을 발표했다. 카자흐스탄의 통신법은, 통신사에게 암호화된 https 트래픽을 모니터링할 의무를 규정하고 있다. 따라서 정부 발행 인증서를 사용하지 않는 https 트래픽은 차단할 모양이다. root certificate를 사용하면 다른 인증서를 발행할 수 있다. 특정 루트 인증서를 사용해 발행된 인증서는, 같은 루트 인증서가 설치된 기기에서 신뢰할 수 있는 것으로 간주된다. 따라서 루트 인증서를 이용해 임의의 도메인에 대한 인증서를 발행하면, 같은 루트 인증서가 있는 모든 기기의 해당 도메인과의 https 트래픽을 엿보거나 변조할 수 있다. 아래 그림(참1)은 페이스북 도메인에 대한 인증서를 비교한 것이다. 왼쪽은 정식 인증서로 DigiCert에서 발급한 것이다. 페이스북에 직접 접속하면 확인할 수 있다. 오른쪽은 카자흐스탄 정부에서 발행한 인증서로, Security Certificate라는 이름을 쓰고 있다. 중간자 공격(MITM attack) 카자흐스탄이 실제 어떤 방식을 사용하는지는 모르겠지만, 가장 간단한 시나리오는 다음과 같다. 통신사는 모든 https 트래픽이 특정 프록시 서버를 통과하도록 구성한다. 사용자가 페이스북에 접속하면 사실은 프록시 서버에 있는 복제 사이트를 보게 된다. 복제 사이트는 정부 방침에 따라 security certificate라는 인증서를 갖고 있다. 이는 정부의 루트 인증서를 사용해 발행된 것으로, 운영체제나 브라우저에서 기본으로 신뢰하는 인증서가 아니므로, 인증서 오류를 유발한다. 그러나 정부가 발행한 루트 인증서를 설치한 사용자의 기기는, 같은 루트 인증서로 발행된 security certificate를 신뢰하게 된다. 결국 아무런 경고 없이 복제 사이트를...

FaceApp, 사진 무단 전송 논란

이미지
사용자 몰래 서버에 업로드 얼굴 사진에 여러 효과를 적용하는 FaceApp이 근래 폭발적인 인기를 누리고 있다. 많은 다운로드 수와 좋은 평점은 물론 구글의 추천까지 받고 있다. 그런데 이 앱이 프라이버시 논쟁에 휩싸였다. 처음엔 이 앱이 기기에 있는 모든 사진을 임의로 개발사 서버에 업로드한다는 의혹이 제기됐지만, 코드와 트래픽을 상세히 분석한 몇몇 보안 전문가에 의해 사실이 아닌 것으로 일단 밝혀졌다. 그러나 사용자가 선택해 필터를 적용 중인 사진은 개발사 서버로 업로드되는 것으로 확인됐다. 페이스앱 측의 해명에 따르면, 업로드된 사진은 영구 저장되는 것이 아니라, 대부분 48시간 내에 삭제된다고 한다. 하지만 어떻게 검증할 것인가. 이 자체만으로도 큰 문제라고 생각한다. 파일 변환 서비스 같은 것은 크게 2가지 방법으로 제공된다. 웹 사이트에서 바로 처리하는 방식과 앱을 설치해서 하는 방식이다. 웹에서 하는 것이라면 당연히 파일을 업로드해야 한다. 그러나 앱에서 하는 경우에는 사용자의 기기에서 처리하는 것이 맞다. 아니면 뭐하러 앱을 설치하겠는가. FaceApp 측에 따르면, 필터 적용을 위해 클라우드를 이용할 기술적인 필요성이 있다고 한다. 그렇다고 치자. 그러나 파일을 서버에 업로드하는 것은 악의적이든 관리 소홀이든 개인정보 유출로 이어질 수 있으므로, 사용자의 동의 아니면 최소한 인지는 필요하다. 따라서 명확하게 서버로 전송되어 처리된다고 알려야 한다. 전체 사진을 서버로 전송(탈취)하는 것이 아니라 선택한 사진만을 전송하는 것은 이런 앱에서 일반적으로 예상할 수 있는 작동 방식이라는 견해(참2)가 있지만, 동의할 수 없다. 앱은 기기에서 작동하는 것이 원칙이다. 비슷한 문제는 2019년 초에 이미 제기된 적이 있다(관1). 또한 페이스앱은 기기 ID와 모델 등 기기 관련 정보도 수집하는데, 이것도 (참2)에서는 일반적으로 예상할 수 있는 일이라며 두둔하고 있다. 그러나 이 점에도 동의할 수 없다. 이런 일이 흔하다는...

WhatsApp과 Telegram의 사진, 변조될 수 있다

Media File Jacking 안드로이드용 왓츠앱과 텔레그램 앱에서 수신한 미디어 파일이, 기기에 있는 다른 앱에 의해 엿보거나 변조될 수 있는 취약점이 발견됐다. 수신된 미디어 파일은 즉시 저장 공간에 임시로 저장되는데, 사용자가 보기도 전에 가로챌 수 있는 것이다. Symantec은 이를 미디어 파일 재킹이라고 불렀다. 왓츠앱, 텔레그램 등 IM(instant message) 앱은 대부분 종단간 암호화(end-to-end encryption)를 지원한다. 따라서 일반 SMS에 비해 보안성이 뛰어나다. 그러나 이 취약점은 종단간 암호화의 보호 범위 밖의 일이다. 종단간 암호화는 네트워크 상에서 통신 중간에 가로채는 것을 방지하는 것이므로, 수신자의 기기에 안전하게 전달하면 임무는 끝이다. MITD(Man-In-The-Disk)와 같은 취약점 안드로이드의 저장 공간은 내부 저장소(internal storage)와 외부 저장소(external storage)로 구별된다. 내부 저장소는 기기의 기본 저장 공간으로, 운영체제에 의해 보호받는다. 앱은 다른 앱의 데이터에 접근할 수 없다. 외부 저장소는 외장 SD카드 등 기타 저장 공간을 말한다. 이런 구분은 논리적인 것으로, 기기 내부에 고정된 저장 공간이라도 외부 저장소로 파티션할 수 있다. 외부 저장소는 외부 저장소 접근 권한만 있으면 앱이 자유롭게 사용할 수 있다. 다른 앱의 데이터에 접근할 수 있음은 물론이다. 이 권한은 널리 사용되며, 시만텍의 자료에 따르면 50% 이상의 앱이 이 권한을 필요로 한다. media file jacking은 앱이 민감한 데이터를 외부 저장소에 저장할 때 문제가 된다. 왓츠앱과 텔레그램은 어떤 저장소를 사용할지 선택할 옵션을 제공하는데, 왓츠앱은 기본적으로 외부 저장소를 사용한다. 텔레그램은 save to gallery 옵션을 켜야 외부 저장소를 사용한다. 이들 앱은 외부 저장소에 미디어 파일을 저장할 때, 암호화 등 별도의 보안 조치를 하지 않는다....