VSCodeは、Visual Studio Codeです。
Microsoftが開発しているWindows、Linux、macOS、Web用のソースコードエディタです。
多くのプログラミング言語に対応していて、人気のあるエディタです。
基本的にエディタ機能のみを持っているのですが、拡張機能を使うことで、統合開発環境として利用することもできます。
この拡張機能がVSCode Extensionです。
そして、拡張機能を提供しているWebサイトがVisual Studio Marketplaceです。
ここには、多数の拡張機能が公開されています。
VSCodeの単体での使いやすさだけでなく、膨大な拡張機能で自分好みの環境を構築できるという点も、VSCodeの人気の理由なのでしょう。
このVisual Studio Marketplace、便利なのですが、セキュリティの面で心配している研究者がいます。
研究者はVisual Studio Marketplaceを悪用する検証を実施し、大いに成功してしまいました。
どのような取り組みだったのでしょうか。
- 検証用の拡張機能を作る
作る拡張機能は、人気の拡張機能のタイポスクワッティングとなるように名前を設定しました。
正規の拡張機能は「Dracula Official」です。
そして、用意した検証用の拡張機能は「Darcula Official」です。 - 検証用拡張機能の中身
拡張機能の説明文には、中身がどのようなものなのかを説明してあります。
しかし、実際の中身は、拡張機能の内容であると記載している内容とは異なるものが含まれます。
被害者がエディターでドキュメントを開くたびに、コードが読み取られ、Retoolサーバーに送信され、さらに、ホスト名、ドメイン、プラットフォーム、拡張子の数など、ホストマシンの情報を含むビーコンがサーバーに送信されるという内容を含んでいます。 - 検証用の拡張機能のためのドメインを用意する
VSCode Marketplaceで認証済みのパブリッシャーになるためにドメインの認証が必要だったのですが、それだけで認証されてしまいました。
他には何ら審査などはありませんでした。
こうして、研究者は検証用の拡張機能を公開しました。
なんら広告などは実施しなかったのですが、たった1日で100人以上の被害者が発生してしまいました。
多数のビーコン情報が集まってきたのです。
そして、さらにその数日後、いくつもの巨大企業のネットワークの中にも、被害者がいることがわかりました。
そして、ついに、なんと、そのままこの検証用の拡張機能はVisual Studio Marketplaceのトレンドにランクインしてしまいました。
Visual Studio Marketplaceでタイポスクワッティングを使った拡張機能を公開して利用者を集めることの簡単さが立証されてしまいました。
調査の結果、膨大な数の公開されている拡張機能の中に、悪意あるものが多数含まれていることが分かりました。
- 既知の悪意のあるコードがパッケージ化されている拡張機能は1,283個ある
- ホストシステム上の/etc/passwdファイルを読み取ろうとする拡張機能は87個ある
- ハードコードされたIPアドレスと通信する拡張機能は8,161個ある
- ホストマシン上で不明な実行可能バイナリまたはDLLを実行する拡張機能は1,452個ある
どれもこれも非常に刺激的なものです。
いろいろなツールで拡張機能を使う場面があると思います。
利用を開始しようとしている拡張機能がどのようなものであるのかをきっちり確認してから利用を開始したいものですね。
1/6 | How We Hacked Multi-Billion Dollar Companies in 30 Minutes Using a Fake VSCode Extension
https://medium.com/@amitassaraf/the-story-of-extensiontotal-how-we-hacked-the-vscode-marketplace-5c6e66a0e9d7
2/6 | Exposing Malicious Extensions: Shocking Statistics from the VS Code Marketplace
https://medium.com/@amitassaraf/2-6-exposing-malicious-extensions-shocking-statistics-from-the-vs-code-marketplace-cf88b7a7f38f
この記事をシェア |
---|