セキュリティ研究者らは、既知の脆弱性に関するGitHubの概念実証(PoC)そのものに、10%の頻度でマルウェアが含まれている可能性があることを突き止めた。
ライデン先端コンピューター科学研究所の研究者らは、セキュリティ専門家に警告した。GitHubやpastebinなど、既知の脆弱性を悪用する公開PoCをホストするプラットフォームに伴うリスクについて。
こうしたPoCは通常、教育目的のみで利用されるものだが、研究者が調査したところ、47,300件のリポジトリのうち4,893件に「悪意のあるコンテンツの兆候」があり、分析対象となったPoC全体の10%強を占めていた。
これらの「概念実証」は、2017年から2021年の間に公開された脆弱性に対するエクスプロイトを宣伝していた。
以下も参照:脆弱性管理の主要ツール
悪意のあるPoCの兆候
リポジトリが悪意のあるものかどうかを判断するため、研究者らは具体的な基準を用いた。
- PoC公開者のIPが VTやAbuseIPDBなどの一般的なブロックリストに登録されているか確認した
- 提供されたバイナリとexecのハッシュがVirus Totalで検出されているか確認した
- 難読化されたコード(16進数、base64)を分析した。
研究者らは、正規のPoCを装った情報窃取ツール、PowerShellコマンド内の難読化されたPythonスクリプト、そして作成者によって有効化される可能性のある、活動していない悪意のあるコンポーネントを発見した。
一部のリポジトリには、HoudiniなどのRAT(リモートアクセス型トロイの木馬)や、コマンド&コントロール(C&C)サーバー(例:Cobalt Strike)への予期しないリクエストが含まれているようだ。
こちらも参照:サイバーセキュリティ機関、PowerShellのセキュリティに関するガイダンスを公開
正規ツールの乗っ取り
サイバー犯罪者が正規のツールを悪用して、用心を怠ったテスターをだますことは、決して新しい手口ではない。私自身も仕事の中でそれを経験している。
私は少し前にリポジトリを作成し、サイバーセキュリティの初心者をだますことがいかに簡単かを示した。コードには外部リクエストのような悪意のあるコードは含まれていないが、特にPythonでは簡単に追加できただろう。
ブラックハットハッカーは、正規のマルウェアをホストするためにGitHubなどのサービスを利用することがある。こうしたサービスを使えば、ほとんどの検出ツールを回避できるためだ。多くのチームが正当な目的で同じプラットフォームを利用しているため、これは対処が難しい既知の手口である。
しかし、何をするコードなのかを知らずに盲目的に実行することは、まさにスクリプトキディの定義そのものだ。問題は、セキュリティ専門家が業務を迅速化しようとして、無謀な行動に走りかねないことである。
悪意のあるPoCを避ける方法
明白だが今なお有用な提案は、コードをマシン上で実行する前に、特にエクスプロイトキットやランサムウェアを実行する場合は確認することだ。
コードがあまりにも難読化されている場合は警告サインだ。もちろん、エクスプロイトコードの作成では難読化が必須になることも多いが、テスターは時間をかけて難読化を解除し、正確に何をするコードなのか理解すべきである。
Virus Totalなどの強力なプラットフォームや他のデータベースを活用し、サンプルや実行ファイルを確認しよう。
これに加えて、テスターは必ず隔離された環境を用意すべきだ。例えば仮想マシンやKali Linuxのような専用OSを使えば、ラボの構築は最近でははるかに容易になっている。
ほとんどのセキュリティ専門家は、機密性の高い活動と日常的な作業に別々の環境を使うことを推奨している。
もちろん、外部との通信には同じネットワークを使うことになる可能性が高いため、実際のIPアドレスを使わないようにし(例えばVPNを利用する)、仮想マシンとデフォルトのシステム間で共有する権限やフォルダーを増やしすぎないようにする必要がある。
機密性の高い操作専用のマシンを用意するのは少し高くつくように思えるかもしれないが、セキュリティの観点からは理にかなっている。
最後に、PoCを信頼できるかどうか判断できない場合は、コミュニティーの他の専門家に助けを求めるか、その人たちのメモを読もう。バイナリー分析には深い知識と適切なツールが必要だ。
以下も参照:最適な脆弱性スキャナー





