2018年05月10日 10時23分 セキュリティ

Excelに追加されたJavaScriptカスタム関数機能を悪用してさっそく仮想通貨マイニングスクリプトが埋め込まれる



Microsoftは2018年5月7日に、ExcelにJavaScriptカスタム関数を加えることを発表しましたが、この機能を悪用して仮想通貨マイニングスクリプトを仕込む概念実証デモがセキュリティ専門家によって行われています。



JavaScript Coinhive in Excel – Charles Dardaman

https://charles.dardaman.com/js_coinhive_in_excel



Microsoft Adds Support for JavaScript in Excel—What Could Possibly Go Wrong?

https://thehackernews.com/2018/05/javascript-function-excel.html



開発者がExcelの組み込み式関数セットを拡張できるように、InsiderプログラムのExcel(build 9325)でJavaScriptカスタム関数がサポートされました。





セキュリティ研究者のチャールズ・ダーダマン氏が、さっそくこの機能を悪用してExcelスプレッドシート内に仮想通貨マイニングによって収益化するツール「CoinHive」のマイニングスクリプトを埋め込んでみると、あっけなく成功したそうです。





手順は「Office Insiderプログラムに参加して、build 9325(Macの場合は13.329)のExcelをインストールする」→「レポートのREADME.mdの指示通りにExcelアドインを起動して、コードを変更、デバッグする」→「任意のセルに『=CONTOSO.ADD42(1,2)』と入力し、エンターキーを押してカスタム関数を起動する」という3ステップだとのこと。「Microsoftのドキュメント通りに機能を追加しただけ」で簡単にマイニングスクリプトの埋め込みに成功したとダーダマン氏は報告しています。





なお、JavaScriptカスタム関数を実行するAPI自体は、スプレッドシートを開いた直後には起動されず、Excelアドイン機能を使ってJavaScript関数を手動でロードして実行する必要があるとのこと。また、外部サーバーに接続するExcelスプレッドシートでJavaScript関数を実行しようとすると、接続の許可が要求されるので不正なコードの実行を予防できるそうです。



このため、ユーザー側の操作なしでJavaScriptカスタム関数を悪用した仮想通貨マイニングスクリプトを実行する方法が編み出されるまでは、「知らないうちにマイニングさせられていた」という事態にはならないとのことなので、今のところは過敏になる必要はなさそうです。

