Wins blog

글로벌 정보보안 파트너! Global Security  No.1 윈스는 국가대표 정보보안 기업에서 글로벌 강소기업으로 도약합니다.

보안 정보

앞 내용 보기 다음 내용 보기
취약점 정보Electron 원격 코드 실행 취약점 #Exodus [CVE-2018-1000006]
작성일 2018-02-01 조회 2756

 

KRCert 보안공지 (https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=26996)

 

 

 

 

가상화폐 지갑소프트웨어에도 사용된 Electron 원격 코드 실행 취약점 업데이트 권고

 

Skype, Slack 및 기타 앱이 Electron사 취약성에 노출
어플리케이션 개발자들은 Protocol Handling 과정에 취약점 노출되는지 확인필요

필요시 제공되는 패치 즉시 적용

 


Electron사에서 제공하는 프레임워크를 이용해 개발한 Windows 응용 프로그램이 원격 코드 실행 취약점이 노출 될 수도 있는 문제점이 발견되었습니다.

 

※ Electron : Node.js 및 Chromium 엔진을 기반으로 하는 오픈 소스 프레임워크로, 각 운영체제에 사용되는 프로그래밍 언어에 대한 지식 없이도 Windows, MacOS, Linux용 응용 프로그램 개발 가능하여 Skype, Signal, Wordpress, Signal 등 다양한 응용 프로그램에서 사용

 

이번에 발표된 Electron사 Electron Framewrok 원격코드 실행 취약점은 Windows 환경에서만 발생되며, MacOS 및 Linux 기반의 응용 프로그램은 취약점에 영향을 받지 않습니다.


이에 마이크로소프는 공식적으로 Slag 사용자에게 버전 3.0.3 이상으로 업데이트 할 것을 권고하고, 윈도우용 스카이프 최신 버전에 대해서는 취약점에 안전하다고 전했습니다.

 

 

 

취약점 대응방안

► Electron사는 1.8.2-beta.4, 1.7.11 및 1.6.16의 두 가지 패치 버전을 발표했습니다.
(https://electronjs.org/blog/protocol-handler-fix)

 

► 사이트 사정으로 패치가 불가능 할 경우 아래와 같은 방법을 이용합니다.

app.setAsDefaultProtocolClient 호출시 매개변수에 마지막 인수에 '--'(Double Dash)를 추가해 Chromium이 추가 옵션 구문 분석 하는 것을 방지 할 수 있습니다.


'--'(Double Dash)은 명령 옵션의 끝을 나타내며, 그 후에는 위치 매개 변수만 허용됩니다.
app.setAsDefaultProtocolClient와 관련된 자세한 사항은 아래 링크를 참조하시기 바랍니다.(https://electronjs.org/docs/api/app#appsetasdefaultprotocolclientprotocol-path-args-macos-windows)

 

app.setAsDefaultProtocolClient(protocol, process.execPath, [
  '--your-switches-here',
  '--'
])

 

 

► 또한 Electron apps 개발시 보안지침에 대한 내용은 아래 사이트에서 확인 가능합니다.

[그림 1.] Electron apps 개발시 보안지침(https://electronjs.org/docs/tutorial/security)

 

 


ElectronJS Framework Exodus Wallet RCE

[그림 2.] ElectronJS Framework로 개발된 Exodus 가상화폐 지갑

 

Electron사의 ElectronJS Framework로 개발된 Exodus는 최근 가상화폐 열풍에 이번 취약점과 연관되 이슈가 되고 있습니다.
공식적으로 2016년 7월 29일에 출시된 Exodus는 가상화폐를 저장하는 코인지갑으로 사용자가 cryptocurrency 지갑에 액세스하여 전송할 수있는 클라이언트 인터페이스를 제공하는 소프트웨어 지갑입니다.

 

저장되는 가상화폐의 종류는 다음과 같습니다.

Bitcoin
Litecoin
Ethereum
Dash
Golem
Augur
Decred
EOS
OmiseGo
+10 more coins

 

취약점 여부를 떠나 인터넷에 연결된 소프트웨어 지갑인 Exodus는 Ledger나 Trezor와 같은 하드웨어 지갑 보다 본질적으로 사용하기가 위험합니다.

 

[그림 3.] Exodus Protocol 처리기 취약점을 이용한 원격 코드 실행 취약점 공격 트래픽

 

 


CVE-2018-1000006 공개된 POC

[그림 4.] Github에 공개된 Electron 원격 코드 실행 취약점 POC (https://github.com/CHYbeta/CVE-2018-1000006-DEMO/)

 


Electron의 Protocol Handler는 잘못된 설계로 공격자가 삽입한 임의코드 구문을 실행할 수 있습니다.
gpu -lancher 등과 같은 옵션을 사용하여 cmd.exe를 호출해 임의의 코드를 실행하게 됩니다.


공격자는 Electron Framework로 개발된 다양한 어플리케이션을 이용해 공격에 활용할 수 있습니다.

 

 

 

 

WINS Sniper 제품군 대응방안

[Sniper-IPS]
[001004052] ElectronJS Framework Protocol Handler RCE
[001004053] ElectronJS Framework Exodus Wallet RCE
[Sniper-UTM]
[805374416] ElectronJS Framework Protocol Handler RCE
[805374417] ElectronJS Framework Exodus Wallet RCE
[Sniper-APTX]
[3282] ElectronJS Framework Protocol Handler RCE
[3283] ElectronJS Framework Exodus Wallet RCE

 

 

관련 페이지
https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=26996
https://www.exploit-db.com/exploits/43899/
https://github.com/CHYbeta/CVE-2018-1000006-DEMO/
http://kazu1130-h.hatenablog.jp/entry/2018/01/26/223022
https://hackernoon.com/exploiting-electron-rce-in-exodus-wallet-d9e6db13c374
https://github.com/electron/electron/releases

첨부파일 첨부파일이 없습니다.
태그   CVE-2018-1000006  ElectronJS Framework  Exodus