9월, 2019의 게시물 표시

Windows 원격 데스크톱 클라이언트의 해킹 취약점

CVE-2019-0787 근래 윈도우의 자체 원격제어 기능인 원격 데스크톱을 이용한 해킹이 증가 추세이다. 그리고 주로 서버(server)를 표적으로, 취약한 암호를 공략하는 브루트포스 공격이 대부분이다. 참고로 원격 데스크톱과 관련해 여러 용어가 혼란스럽게 쓰인다. RDC(Remote Desktop Connection), RDS(Remote Desktop Service), RDP(Remote Desktop Protocol) 등이 그것이다. RDC는 원격 데스크톱용 앱을, RDS는 원격 데스크톱 기능 자체를 말하는 것이고, RDP는 원격 데스크톱 연결에 사용되는 통신 프로토콜이다. 게다가 BlueKeep이라 불리는, 원격 데스크톱 서버에 대한 자동화된(wormable) 공격 가능성이 알려지면서, WannaCry급의 위협으로 평가됐다. 블루킵은 처음엔 구형 윈도우에만 해당하는 것으로 알려졌지만, Windows 10을 비롯한 최신 윈도우 버전 역시 유사한 취약점을 갖고 있음이 밝혀졌다(관2). Reverse RDP attack 그런데 2019.2월 거꾸로 클라이언트(client)가 표적이 될 수 있다는 것이 입증됐다. 이런 역 RDP 공격에 대한 첫 보고서에서는 오픈소스 원격제어 앱들이 취약하다는 것이 밝혀졌지만, 윈도우는 비교적 견고한 것으로 평가됐다(관1). 그러나 해킹에 100% 안전한 것은 없다. Windows Remote Desktop Client에서도 취약점이 발견됐다. MS는 2019.9.10일 정기 보안 업데이트를 통해 이와 관련된 4개의 취약점을 패치했다. CVE-2019-0787, 0788, 1290, 1291이 그것이다. 이들은 원격코드 실행 취약점이다. 해커는 원격으로 임의의 코드를 실행할 수 있다. 대표적으로 프로그램 설치, 파일 보기/편집/삭제, 계정 생성 등을 예로 들 수 있다. 클라이언트의 취약점이므로 자동화(wormable)할 수는 없다. 해커는 표적이 악성 원격 데스크톱 서버에 접속하도록 유도해야 한다.

안드로이드의 저장 공간 부족 경고

이미지
임시 파일 지우기 안드로이드 스마트폰을 사용하다 보면 저장 공간이 부족하다는 경고 메시지가 나오는 경우가 있다. 앱이나 사진, 동영상 같은 것을 많이 깔거나 저장했다면 당연할 수 있다. 그러나 앱을 많이 깔지 않고, 개인 데이터는 외장 SD 카드에 저장하는 데도 이런 메시지가 나타난다면 의아해 할 수 있다. 이 현상의 주범은 임시 파일이다. 앱이 생성하는 파일은 '데이터'와 임시 파일'로 나눌 수 있다. 데이터는 계정, 설정, 문서나 메모, 사진, 동영상, 음악, 브라우저의 쿠키와 북마크 등 지속 저장용 파일을 말한다. 갤러리 등 공용 폴더에 저장된 것은 포함되지 않고, 해당 앱의 폴더에 저장된 것만을 말한다. 반면 임시 파일은 앱이 실행되는 과정에서 임시로 만들어지는 것들이다. 임시 파일은 일정 시간이 지나거나 일정 크기에 도달하면, 앱이나 운영체제 차원에서 자동으로 삭제되는 것이 보통이지만, 실제 사용하다 보면 점점 커지게 된다. 이것이 누적되면 내부 메모리가 작은 보급형 스마트폰에서는 저장 공간이 부족하다는 경고가 나오고, 내부 메모리가 큰 주력 기종에서는 경고는 나오지 않더라도 값비싼 메모리를 낭비하는 결과를 가져온다. 안드로이드 6.0 기준으로, 설정/저장 공간으로 들어가면 다음 그림과 같은 메뉴가 나온다. 여기서 '앱'을 클릭하면, 설치된 앱이 크기별로 정렬돼 나열된다. 그래서 어떤 앱이 저장 공간을 많이 사용하고 있는지 쉽게 알 수 있다. 여기서 특정 앱을 클릭하면 세부 정보가 표시되며, 임시 파일을 삭제할 수 있다. '임시 파일'을 클릭해서 모든 앱의 임시 파일을 한꺼번에 삭제할 수도 있다. 경험적으로 'Google Play 스토어' 앱이 임시 파일을 많이 만들어 낸다. 수시로 앱을 체크하고 업데이트하는 과정에서 그런 것 같다. 또한 임시 파일이 지나치게 빨리 커져 버린다면, 어떤 앱이 비정상적으로 작동하고 있다고 볼 수 있으므로, 스마트폰을 껐

가짜 업데이트 알림 주의

이미지
Domen toolkit 9.3일 맬웨어바이츠(MalwareBytes)는 최근 활발히 유포되고 있는 악성 툴킷에 대한 보고서를 발표했다. 도멘 툴킷이란 것으로, 해킹된 사이트에 설치돼, 방문자에게 가짜 업데이트 알림을 내보낸다. 가짜 알림은 해킹된 사이트의 가장 전면에 노출되며, 정교한 모양새를 갖추고 있다. 데스크탑과 모바일, 운영체제, 브라우저, 사용 언어에 따라 맞춤형으로 알림을 내보내는 등 교묘하게 작동한다. 이에 속아서 내용물을 클릭하면 악성코드가 설치된다. 아래 그림들(출처는 참1)은 실제 사례이다. 주로 합법적인 사이트를 해킹해 이용하기 때문에, 정상적인 사이트 방문 중에도 마주칠 수 있다. 거부해도 소용없다 모양만으로 알림의 진위를 가리기는 어렵다고 생각한다. 주로 표적이 되는 브라우저나 플래시 플레이어 같은 것은 자동 업데이트를 설정해 놓아서 항상 최신 상태를 유지하는 것이 좋다. 수동으로 업데이트를 하려면, 직접 해당 프로그램의 설정 메뉴에서 하는 것이 확실하게 안전한 방법이다. 또 하나 주의할 점은, 알림이 가짜라면 그 안의 버튼도 가짜라는 것이다. 즉 동의 버튼을 누르건 거부 버튼을 누르건 혹은 그 안의 어떠한 것을 누르건 마찬가지로 악성코드가 설치된다. 가짜 알림에 마주치면, 해당 브라우저 탭이나 창 자체를 아예 닫아버리자. 참고 자료 New social engineering toolkit draws inspiration from previous web campaigns  

안드로이드, SMS 메시지로 설정 변경될 수 있다

이미지
OMA CP 취약점을 이용한 피싱(phishing) 2019.9.4일 체크 포인트(Check Point)는 문자 메시지로 안드로이드 스마트폰의 설정을 무단 변경할 수 있는 취약점을 공개했다. 이 연구는 삼성, LG, 화웨이, 소니의 일부 기종만을 대상으로 했고, 모두 취약한 것으로 나타났다. 삼성과 LG는 이에 대한 패치를 내놨다. 그러나 안드로이드 업데이트는 모든 기종에 일괄적으로 제공되는 것이 아니므로, 대부분의 안드로이드 스마트폰은 여전히 위험한 상태로 볼 수 있다. 통신사는 자신의 환경에 최적화된 설정을 OTA(over-the-air, 4G/5G 같은 무선 데이터 통신) 방식으로 고객의 기기에 전송할 수 있다. 이때 사용되는 산업 표준 중의 하나가 OMA CP다. OMA CP는 조직에서 구성원의 기기를 일괄적으로 설정하기 위해 사용되기도 한다. 문제는 OMA CP 규격 자체가 보안성이 낮다는 것이다. 인증 수단이 제한적인데다가 의무적이지도 않다. 따라서 수신자로서는 진짜로 통신사에서 온 것인지 확인할 수가 없다. 해커는 10달러 짜리 모뎀을 사용해, 아무에게나 가짜 OMA CP 메시지를 보낼 수 있다. 규격 자체가 취약한 것이기 때문에, 이번 연구가 모든 스마트폰을 대상으로 한 것이 아님에도 불구하고, 대부분의 기기가 같은 취약점을 갖고 있을 것으로 판단됐다. 아래 그림들은 OMA CP 메시지의 예이다(출처는 참2). 기종에 따라 다르다. OMA CP는 기술적으로 단순한 문자 메시지이지만, 마치 시스템 메시지인 것처럼 보인다. 속기 쉬운 부분이다. OMA CP의 인증 수단은 강제적이 아니기 때문에 취약한 정도는 기종에 따라 다르다. 삼성 폰은 인증 수단이 전혀 없었으므로 가장 취약했다. 다른 것들은 IMSI로 인증된다. IMSI는 모바일 네트워크에서 기기를 식별하는 가상의 번호로, IP 주소와 비슷한 역할을 한다. 이것은 기밀에 속하지만, 악성코드 등에 의해 탈취될 수 있다. 해커가 IMSI를 알아내지 못해

마우스 우클릭 제한 해제하기

이미지
사이트 권한 설정 어떤 웹 사이트는, 마우스를 이용해 콘텐츠를 선택/복사하거나 오른쪽 버튼을 사용하지 못하게 하기도 한다. 콘텐츠를 무단으로 복제하는 것을 막기 위한 것이지만, 썩 좋은 방법은 아니다. 정당한 이용을 방해하기도 하지만, 쉽게 우회할 수 있어서 실용성도 별로다. 이런 제한은 자바 스크립트로 구현된다. 따라서 자바 스크립트의 실행을 차단하면 무력화된다. 이를 위한 전용 유틸리티들도 있지만, 쓰지 않는 것이 좋다. 이런 걸 찾다가 신뢰할 수 없는 프로그램을 깔게 될 위험이 있기 때문이다. 자바 스크립트 차단 크롬 브라우저에서는 사이트 권한 설정에서 자바 스크립트 실행을 차단할 수 있다. 다만 자바 스크립트를 차단하면 해당 사이트가 제대로 작동하지 않을 수도 있다. 주소 바에서 자물쇠 아이콘을 클릭하면 해당 사이트의 정보를 볼 수 있다. 여기서 '사이트 설정'을 클릭하면 권한을 개별적으로 설정할 수 있다. 인터넷 익스플로러는 사이트를 4개의 카테고리로 분류하여, 각각에 적당한 권한을 설정해 놓았다. '제한된 사이트'에서는 자바 스크립트를 포함해서 잠재적 위험성이 있는 요소들은 실행되지 않는다. 따라서 해당 사이트를 제한된 사이트로 등록하면 자바 스크립트를 차단할 수 있다. 엣지 브라우저는 2019.9월 기준으로 자바 스크립트를 차단하는 옵션이 없다. 그러나 다음 버전은 크로미엄 기반으로 완전히 새로운 모습으로 바뀐다. 이때는 크롬과 비슷한 옵션을 제공할 것이다.

악성코드가 UAC 알림을 계속 나타낸다

이미지
Sodinokibi 랜섬웨어의 변종 소디노키비 랜섬웨어는 근래 가장 활발한 활동을 보이는 악성코드 중의 하나다. 안랩(AhnLab)은 최근 감염 시도시 UAC(User Account Control, 사용자 계정 컨트롤) 경고를 무한 반복하는 변종을 발견했다. 안랩은 이를 BlueCrab이라고 불렀다. 블루크랩은 Fallout exploit kit을 이용해 설치된다. 악의적인 혹은 해킹된 사이트에 폴아웃 익스플로잇 키트를 설치해 두고, 방문자 PC의 Flash Player 취약점(CVE-2018-15982)을 이용해 드라이브 바이 다운로드(drive-by download) 방식으로 감염시킨다. 즉 악성 사이트를 보는 것만으로 악성코드가 자동으로 설치된다. CVE-2018-8453 악용 악성코드가 시스템의 중요 설정을 변경하여 PC에 지속적으로 머물고, 보안 앱을 종료하고, VSC(Volume Shadow Copy) 등 백업 파일까지도 삭제하려면 관리자 권한이 필요하다. 전형적인 소디노키비 랜섬웨어는 이를 위해 CVE-2018-8453 취약점을 이용했다. 이 취약점은 권한 상승 취약점이다. 악용에 성공하면 해커는 커널 모드에서 임의의 코드를 실행할 수 있다. 즉 사용자의 모든 권한을 활용해 앱 설치, 파일 보기/변경/삭제, 계정 만들기 등을 할 수 있다. 이 취약점을 악용하려면 PC에 접근할 수 있어야 한다. 물리적으로 직접 PC에 로그인하거나, RCE(Remote Code Execution) 취약점을 이용해 원격으로 악성코드를 실행하거나, 피해자를 속여 악성코드를 설치하도록 유도해야 한다. 이렇게 해서 취약점을 공격하는 악성 앱을 실행하면, 해커는 해당 PC를 완전히 통제할 수 있다. UAC 알림 무한 반복 이번에 안랩이 발견한 블루크랩 랜섬웨어는 위의 취약점을 악용하는 코드가 제거돼 있었다. 대신 관리자 권한을 요구하는 사용자 계정 컨트롤 창을 허용할 때까지 계속해서 띄운다. UAC 알림이 뜨면 다른 조작은 할 수 없으므로, 사실상