글

해킹 통로 RDP 지키기

원격 데스크톱 이용한 해킹 증가 추세 IC3(Internet Crime Complaint Center)가 RDP(Remote Desktop Protocol, 원격 데스크톱)를 이용한 해킹에 대해 주의보를 내렸다. 최근 이를 이용한 해킹과 악성코드가 급증하는 추세이기 때문이다(관련 자료 2~4). 원격제어는 회사 PC에서 하던 업무를 집에서 처리하는 등 유용하게 사용할 수 있다. 반면 해커가 접속하게 되면 PC를 완전히 제어할 수 있게 되는 위험성도 있다. 원격 데스크톱을 안전하게 이용하는 방법은 다음과 같다. RDP 서버를 인터넷에 직접 노출시키지 않는다 서버라고 해서 거창하게 생각할 필요는 없다. 개인이 2대의 PC를 가지고 PC A에 있는 자료를 PC B에서 처리하면, A는 서버(server)이고 B는 클라이언트(client)이다. Windows 10 Home edition은 서버 기능을 지원하지 않는다. 해커는 쇼단 같은 검색 툴을 이용해 RDP 포트가 열린 기기를 탐색하여 공격 대상으로 삼는다. 따라서 인터넷에 직접 노출되지 않도록 VPN이나 방화벽을 통해 연결한다. 여기서 말하는 방화벽은 PC에 설치된 소프트웨어 방화벽이 아니라, PC 앞에 있는 라우터(공유기)나 하드웨어 방화벽을 말한다. 이렇게 VPN이나 방화벽 뒤에 숨기면, 쉽게 탐색되지 않을 뿐더러 VPN이나 내부 네트워크에 접속할 수 있는 사람만이 RDP에 접근할 수 있다. 따라서 브루트 포스 공격을 할 수도 없다. RDP는 보통 3389 포트를 사용하는데, 다른 포트를 사용하도록 설정하면 해커를 살짝 귀찮게 할 수 있다, 그러나 해커 역시 다른 포트들도 탐색을 하므로 큰 효과를 기대할 수는 없다. 강력한 암호와 2단계 인증을 설정한다 해커는 보통 원격 접속을 위해 Brute force 공격을 한다 따라서 원격 데스크톱 접속에 필요한 로그인 암호를 강력하게 설정한다. 조직이라면 2단계 인증을 도입하면 더 좋다. 잘 알려진 조직의 로그인 정보는 암시장에서 거래...

구글 플레이에서 크립토재킹 악성코드 발견

Google Play store에서 사용자 몰래 가상화폐를 채굴하는 cryptojacking 악성 앱이 발견됐다. 총 25개로 게임, 유틸리티, 교육용(SAT 준비 등) 앱 등 다양한 앱으로 위장하고 있었다. Coinhive라는 채굴 스크립트를 포함한 HTML 페이지를 포함한 것들이 많았고, 오픈소스 채굴 툴인 XMRig를 포함한 것들도 있었다. 일반적으로 크립토재킹 악성코드에 감염되면 기기 속도 저하, 심한 발열, 빠른 배터리 소모 등의 증상을 보인다. 그러나 이번에 발견된 것을 포함해 최근의 cryptojacking malware들은 CPU 사용량을 적당히 제한해서 이런 증상들을 보이지 않는다. 들키지 않고 오래 살아남기 위해서다. 구글 플레이는 악성 앱을 상당히 빨리 솎아내고 있으며, 많은 경우 해를 끼치기 전에 제거된다. 그럼에도 불구하고 악성 앱은 꾸준히 발견되고 있다. 물론 플레이에서 발견되는 악성 앱은 위험도 면에서 비교적 경미한 경우가 많다. 채굴 앱의 경우에도 가장 악랄한 히든마이너는 비공식적인 경로를 통해 유포됐다. 관련 자료 HiddenMiner(히든마이너) 악성코드, 악랄한 가상화폐 채굴 앱 참고 자료 Cryptojacking Android Apps Continue To Plague Google Play Store  

페이스북 해킹, 5천만명 개인정보 위험

토큰(세션 쿠키) 탈취 28일 Facebook이 해킹 당해 5천만 명의 access token(로그인 자격증명 정보를 담은 작은 파일)이 탈취됐다. 페이스북은 이 사실을 25일 발견하여 시스템을 패치하고 탈취된 토큰을 무효화했다. 또한 예방 조치로 지난 1년간 위험에 노출됐을 가능성이 있는 4천만 명의 토큰도 무효화했다. 페이스북의 token은 자격증명을 사용자의 기기에 저장하여 매번 로그인하지 않아도 로그인 상태가 유지되는 편리함을 제공한다. 물론 다른 사이트들도 대부분 로그인 유지 기능을 제공한다. 그리고 이런 토큰은 Session Cookie(세션 쿠키)라고도 한다. 토큰은 편리함도 있지만 해커에게 탈취당하면 계정에 완전한 접근 권한을 주게 되는 위험도 따른다. 토큰을 노리는 악성코드도 많다. 만약 토큰을 탈취당했다고 생각되면 암호를 변경하여 기존 토큰을 무효화하면 된다. 연결된 계정도 위험 Access Token을 가진 사람은 계정에 대한 완전한 통제권을 갖는다. 따라서 '페이스북 계정으로 로그인' 기능으로 연동된 앱이나 사이트에도 로그인할 수 있다. 연동된 계정도 위험에 고스란히 노출돼 있는 것이다. 페이스북은 현재 위험에 노출된 사람들의 토큰을 무효화하고 개별 통보하고 있지만, 사용자가 직접 해킹 여부를 알아볼 수도 있다. <계정 설정/보안 및 로그인/로그인한 기기 및 장소>를 확인하여 내가 하지 않은 로그인이 있었는지 살펴보면 된다. 계정이 침해당한 것으로 의심되는 경우, 암호를 변경하여 토큰을 초기화한 후에, 연결된 계정의 연결을 끊었다가 다시 연결하여 연결 상태를 초기화한다. <설정/앱/페이스북 계정으로 로그인>에서 연동된 계정을 관리할 수 있다. 주의할 점은, 일단 계정의 연결을 끊으면 이용하던 앱이나 사이트의 정보가 삭제된다는 것이다. 마일리지나 게임의 업적, 아이템 등이 사라지는 것이다. 계정 연동은 대형 포털, SNS에서 대부분 제공하고 있다. 계정을 새로 만들 필요가 ...

LoJax Rootkit, UEFI로 침투하는 악성코드

탐지 및 제거가 어려운 루트킷 예전에 쓰이던 구형 바이오스를 Legacy BIOS라고 하고, 확장성과 보안성을 개선한 새로운 바이오스를 UEFI(Unified Extensible Firmware Interface)라고 한다. 메인보드의 플래시 메모리에 존재하는 펌웨어이다. 그런데 UEFI를 감염시켜 탐지와 삭제를 어렵게 하는 악성코드가 발견됐다. 바이오스 혹은 펌웨어는 하드웨어와 운영체제의 중간에 위치하여 이를 연결시켜 주는 역할을 하므로, 운영체제보다 한 단계 더 시스템의 심층부에 해당한다. 따라서 UEFI에 있는 악성코드는 운영체제 위에서 구동되는 일반적인 보안 소프트웨어에서 탐지와 제거가 어렵다. 또한 부팅 시 운영체제보다 먼저 실행되기 때문에, 하드디스크를 포맷하거나 운영체제를 재설치해도 심지어 아예 새 디스크로 교체를 해도 다시 감염되게 된다. 고도의 루트킷 ESET에서 발견하여 로잭스(LoJax)라고 이름 붙였는데, 실전에서 활용된 최초의 UEFI 루트킷이다. 물론 이전에도 유사한 기술을 CIA나 Hacking Team(정부 기관을 상대로 고도의 스파이웨어를 판매하는 회사)에서 일부 기능에 활용한 적은 있다. 루트킷은 시스템의 깊은 곳에 숨어 탐지와 제거가 어려운 악성코드를 통칭하여 부르는 말이다. 이에 대응하여 보안회사들은 특수한 툴을 사용한다. 예를 들어 Symantec은 Norton Power Eraser라는 별도의 툴을 제공하고, Windows Defender는 Windows Defender Offline이라는 모듈을 통합하여 제공한다. 매달 정기 업데이트 때 실행되는 악성 소프트웨어 제거도구도 이런 역할을 한다. 로잭스는 일반적인 루트킷보다 한 수 위의 것이라고 보면 되겠다. 로잭스 공격은 고도의 공격 기법이고 흔히 접할 수 있는 것이 아니다. ESET 연구팀은 러시아의 국가 차원 지원을 받는 해커단 Sednit의 소행으로 봤다. 이들은 APT28, Fancy Bear, Strontium, Sofacy 등 무수한 이름으...

GandCrab v5 랜섬웨어, 윈도우의 권한 상승 취약점 이용

CVE-2018-8440 악용 올해 지속적인 변종 출현과 다양한 유포 경로로 많은 피해를 입힌 갠드크랩 랜섬웨어의 최신 버전 v5가 Windows의 작업 스케쥴러에 있는 권한 상승 취약점을 이용하기 시작했다. 이 취약점은 CVE-2018-8440으로, 제로데이 취약점으로 악용됐으며 9.11일 패치됐다. 일반적인 보안 수칙에 따르면, 평상시에는 관리자 권한이 아닌 제한된 계정으로 로그인해 사용하는 것이 보다 안전하다. 시스템에 중요한 변경을 가할 수 없기 때문이다.악성코드의 활동에도 제약이 있음은 물론이다. 그러나 권한 상승 취약점을 이용하면 이 수칙은 의미가 없어진다. 제한된 계정에서도 취약점을 악용하면 관리자 권한으로 모든 일을 할 수 있기 때문이다. 랜섬웨어는 복구를 어렵게 하기 위해 Shadow volume copies 같은 백업 파일까지 삭제하는데, 제한된 계정에서는 이런 시스템 수준의 명령은 실행되지 않는다. 그러나 권한 상승 취약점을 이용하면 가능해 진다. 패치를 통해 시스템을 최신 상태로 유지함으로써 이런 위험을 방지할 수 있다. 그런데 항상 지적돼 듯이 패치를 제때 적용하지 않는 경우가 제법 있다는 것이 문제다. 대표적으로 2017년의 WannaCry 랜섬웨어 대란을 예로 들 수 있다. 특히나 기업체의 경우 업무용 프로그램의 호환성 때문에 업데이트에 소극적인 경우가 많다. 관련 자료 해커가 윈도우의 제로데이 취약점을 공개했다 참고 자료 GandCrab v5 Ransomware Utilizing the ALPC Task Scheduler Exploit  

Hide and Seek Botnet, 안드로이드 기기 노린다

ADB로 감염 올해 초에 발견되어 빠른 성장 속도로 주목받은 Hide and Seek(숨바꼭질) 봇넷이 infection vector(감염 매개체)를 추가했다. ADB(Android Debug Bridge) over network를 이용하기 시작한 것이다. ADB는 제조사나 개발자가 커스터마이징이나 디버깅을 위해 사용하는 기능으로, 이것이 활성화되면 해킹에 취약한 상태가 된다. 따라서 기본적으로 비활성화되어 있다. 그러나 제조사나 사용자의 부주의로 이것이 활성화되는 경우가 있는데, 이렇게 잘못 설정된 기기를 탐색하여 감염시키는 것이다. 비트디펜더에서 쇼단을 통해 탐색해 본 결과, 4만 대 가량의 기기에서 ADB 포트가 열려 있었으며 대부분 한국, 중국, 대만에서 탐지됐다. ADB를 통해 감염되는 악성코드로는 가상화폐를 채굴하는 ADB.miner가 유명하다. 다양한 표적과 감염 경로 숨바꼭질 봇넷은 정보 유출이나 코드 실행 같은 기능을 갖고 있지만, 이렇게 활용된 사례는 발견되지 않았다. 아직은 덩치를 키우는 단계라고 할 수 있다. 이를 위해 대상을 가리지 않고 공격하고 있다. IP 카메라, DVR(Digital Video Recorder), NVR(Network Video Recorder), IPTV 셋톱박스, 안드로이드 스마트폰 등 닥치는 대로 감염시킨다. 감염된 기기를 재부팅해도 살아남는다. 대상 플랫폼도 일반적인 PC나 스마트폰(x86, x64, ARM) 뿐만 아니라 MIPS, PowerPC 등 특수한 용도로 사용되는 기기까지 다양하다. 감염 벡터로는 텔넷 스캐닝과 브루트 포스 공격, 특정 기기의 취약점, 열린 ADB 포트 등을 폭넓게 활용하고 있다. 참고 자료 Hide and Seek Botnet Adds Infection Vector for Android Devices  

Razdel, 은행 앱 노리는 악성코드

Play에서 발견 구글의 공식 스토어인 플레이에서 뱅킹 트로이목마가 발견됐다. QRecorder라는 통화 및 음성 녹음 앱에 숨어 있었다. 이 앱은 원래 합법적인 것인데, 마지막 업데이트 시 악성코드가 삽입됐다. 녹음 기능은 제대로 작동하여 사용자의 의심을 피한다. 그러나 실상은 금융 정보를 탈취하는 트로이 목마이다. 현재는 독일, 폴란드, 체코의 은행을 표적으로 하고 있지만, 해커의 의도에 따라 쉽게 바뀔 수 있다. BankBot의 변종 이 악성코드는 라즈델로 판명됐는데, 뱅크봇의 변종이다. 아직 많이 퍼진 family는 아니다. 라즈델은 SMS에 대한 접근 권한과 다른 앱 위에 그리기(drawing over other apps) 권한을 요구한다. SMS 접근 권한은 SMS를 통한 2단계 인증 코드를 가로채기 위한 것이며, 다른 앱 위에 그리기 권한은 표적이 된 정상 뱅킹 앱 위에 가짜 화면을 띄워 암호 등의 정보를 탈취하기 위한 것이다. 다른 앱 위에 그리기 권한 주의 악성 앱은 설치 시에, 통화 녹음 위젯이 전화 앱 위에 표시돼야 정상적으로 작동한다는 그럴 듯한 이유를 들어 다른 앱 위에 그리기 권한을 허락하도록 유도한다. 이 권한은 정보 탈취형 악성코드에서 많이 활용하므로 주의해야 한다. 참고 자료 Trojanized App In Google Play Steals Bank Customers' Euros