XZ Utilsのインシデントを教訓に、ソーシャルエンジニアリングによるオープンソースプロジェクトの乗っ取りに関する注意喚起。OpenSSFとOpenJS Foundationsが共同で

今回は「XZ Utilsのインシデントを教訓に、ソーシャルエンジニアリングによるオープンソースプロジェクトの乗っ取りに関する注意喚起。OpenSSFとOpenJS Foundationsが共同で」についてご紹介します。

関連ワード (不甲斐、細工、難読化等) についても参考にしながら、ぜひ本記事について議論していってくださいね。

本記事は、Publickey様で掲載されている内容を参考にしておりますので、より詳しく内容を知りたい方は、ページ下の元記事リンクより参照ください。


Open Source Security(OpenSSF)とOpen JS Foundationは、先日発生したXZ Utilsのインシデントを教訓に、ソーシャルエンジニアリングによるオープンソースプロジェクトの乗っ取りに関する注意喚起を行っています。

注意喚起の中では、オープンソースプロジェクトの乗っ取りをはかる動きは現在もいくつかのプロジェクトで起きつつある可能性があることが示され、ソーシャルエンジニアリングによる乗っ取りを防ぐためのガイドラインが紹介されています。

Open Source Security (OpenSSF) and OpenJS Foundations Issue Alert for Social Engineering Takeovers of Open Source Projects

XZ Utilsのようなプロジェクトの乗っ取りはいまも起きている

XZ Utilsのインシデントでは、正体不明の人物がメンテナとしてプロジェクトに入り込み、その権限を利用して巧妙なバックドアを仕掛けたと見られています。

この種の攻撃は、ソーシャルエンジニアリングによって築いた信頼を利用しているため、プログラムで検知したり防御したりすることは困難です。

そしてOpenJS Foundation Cross Project Council はある別のプロジェクトで、そのプロジェクトにほとんど関与していないにもかかわらず自分を新しいメンテナに指名することを望む、XZ utilsの手口に似た不審なメールを受け取っていることを明らかにしました。

つまりXZ utilsのようなインシデントはこれ1つではなく、似たようなことが別のプロジェクトでも起こりうるということです。

そこでOpenSSFとOpenJS Foundation はすべてのオープンソースメンテナに対し、ソーシャルエンジニアリングによる乗っ取りの試みに警戒し、兆候となるパターンを認識し、オープンソースプロジェクトを保護するための対策を講じるよう呼びかけています。

プロジェクト乗っ取りの兆候となる不審なパターン

今回説明された、ソーシャルエンジニアリングによるオープンソースプロジェクトの乗っ取りの兆候となる不審なパターンは以下です。

  • Friendly yet aggressive and persistent pursuit of maintainer or their hosted entity (foundation or company) by relatively unknown members of the community.
    (コミュニティの比較的無名のメンバーが、メンテナやその主催団体(財団や企業)を、友好的でありながら積極的かつ執拗に追求する)
  • Request to be elevated to maintainer status by new or unknown persons.
    (新規または未知の人物によるメンテナへの昇格要求がある)
  • Endorsement coming from other unknown members of the community who may also be using false identities, also known as “sock puppets.”
    (”ソックパペット(靴下人形≒雑に作った人形の意味か)”とも呼ばれる偽のIDを使用している可能性のある、コミュニティの未知のメンバーからの何らかのエンドースメント)
  • PRs containing blobs as artifacts.
    (Blobを成果物とするプルリクエスト)
  • For example, the XZ backdoor was a cleverly crafted file as part of the test suite that wasn’t human readable, as opposed to source code.
    (例として、XZバックドアはソースコードとは対照的に、テストスイートの一部として人間が読めないように巧妙に細工されたファイルであった)
  • Intentionally obfuscated or difficult to understand source code.
    (意図的に難読化された、あるいは理解しにくいソースコード)
  • Gradually escalating security issues.
    (セキュリティの問題が徐々にエスカレートする)
  • For example, the XZ issue started off with a relatively innocuous replacement of safe_fprintf() with fprintf() to see who would notice.
    (例として、XZでは誰かが気づくかどうかを確かめるために、比較的無害なsafe_fprintf()をfprintf()に置き換えることから始まっている)
  • Deviation from typical project compile, build, and deployment practices that could allow the insertion of external malicious payloads into blobs, zips, or other binary artifacts.
    (典型的なプロジェクトのコンパイル、ビルド、デプロイの慣行から逸脱し、外部の悪意のあるペイロードをBlobやzipファイルなどをバイナリの成果物に挿入できる可能性があること)
  • A false sense of urgency, especially if the implied urgency forces a maintainer to reduce the thoroughness of a review or bypass a control.
    (誤った緊急時の認識、特に暗黙的な緊急性によって、メンテナンス担当者がレビューの徹底度を下げたり管理を迂回したりせざるを得なくなる場合)

このようなソーシャル・エンジニアリング攻撃は、メンテナがプロジェクトやコミュニティに対して抱いている義務感を悪用して、彼らを操ろうとしていると説明されています

そのため、メンテナに対して自責の念や、不甲斐なさ、プロジェクトのために十分なことをしていないという感情などを生み出すようなやりとりは、ソーシャルエンジニアリング攻撃の一部かもしれないと警戒すべきとしています。

と同時に、メンテナンス担当者を確実にサポートすることが、このようなソーシャルエンジニアリング攻撃に対する第一の抑止力となるとも説明しています。

プロジェクトのセキュリティを向上させるベストプラクティス

今回の注意喚起では、前述の乗っ取りの兆候の説明に加えて、プロジェクトのセキュリティを向上させることができるベストプラクティスの推奨事項も説明されました。

これらの推奨事項はソーシャルエンジニアリング攻撃を阻止することはできませんが、プロジェクトの全体的なセキュリティ体制を改善するのに役立つ可能性があるとのことです。

  • Consider following industry-standard security best practices such as OpenSSF Guides.
    (OpenSSF Guideなどの業界標準のセキュリティベストプラクティスに従うことを検討する)
  • Use strong authentication.
    (強力な認証を使用する)
  • Enable two-factor authentication (2FA) or Multifactor Authentication (MFA).
    (二要素認証(2FA)または多要素認証(MFA)を有効にする)
  • Use a secure password manager.
    (セキュアなパスワードマネージャーを使用する)
  • Preserve your recovery codes in a safe, preferably offline place.
    (リカバリーコードを安全な、できればオフラインの場所に保管する)
  • Do not reuse credentials/passwords across different services.
    (異なるサービス間で認証情報/パスワードを再利用しない)
  • Have a security policy including a “coordinated disclosure” process for reports.
    (報告書の「協調的開示」プロセスを含むセキュリティポリシーを持つ)
  • Use best practices for merging new code.
    (新しいコードをマージするためのベストプラクティスを使用する)
  • Enable branch protections and signed commits.
    (ブランチ保護と署名付きコミットを有効にする)
  • If possible, have a second developer conduct code reviews before merging, even when the PR comes from a maintainer.
    (可能であれば、メンテナからのPRであっても、マージする前に二人目の開発者にコードレビューを行ってもらう)
  • Enforce readability requirements to ensure new PRs are not obfuscated, and use of opaque binaries is minimized.
    (新しいプルリクエストが難読化されず、不透明なバイナリの使用が最小化されるように、可読性要件を実施する)
  • Limit who has npm publish rights.
    (npmへの発行権限を持つ人を制限する)
  • Know your committers and maintainers, and do a periodic review. Have you seen them in your working group meetings or met them at events, for example?
    (コミッターやメンテナを把握し、定期的なレビューを行なう。例えば、ワーキンググループのミーティングで彼らを見かけたり、イベントで彼らに会ったりしましたか?)
  • If you run a repo, consider adopting Principles for Package Repository Security.
    (もしあなたがリポジトリを運営しているならば、パッケージリポジトリのセキュリティのための原則の採用を検討してください)

COMMENTS


Recommended

TITLE
CATEGORY
DATE
デジタルコンサルのモンスターラボ、2030年度に1000億円目指す–20カ国以上で事業を展開
IT関連
2023-08-04 19:09
「Android」で「Gmail」アプリのスワイプの動作を設定するには
IT関連
2022-09-25 05:08
重要インフラのセキュリティに注力するOPSWAT–「無害化が重要」と創業者
IT関連
2023-11-03 21:22
世界中のITエンジニアが悩まされている原因不明でテストが失敗する「フレイキーテスト」問題。対策の最新動向をJenkins作者の川口氏が解説(前編)。DevOps Days Tokyo 2022
CI/CD
2022-06-06 20:34
湖池屋「プライドポテト」の素材を巡る仮想ツアー
IT関連
2021-07-14 12:10
ウイングアーク1st、自治体向けの公共施設予約システムを開発
IT関連
2024-01-27 19:12
Facebookを独禁法でFTCと48州が提訴した裁判、連邦地裁が棄却
企業・業界動向
2021-06-30 22:34
鳥獣の捕獲・加工情報を管理する「ジビエクラウド」が鳥獣捕獲確認書の自動作成機能提供、自治体の獣害対策DX目指す
ネットサービス
2021-05-19 12:33
あと払いサービスのPaidy、脆弱性管理ツール「Snyk」導入–脆弱性の平均修理時間73%減
IT関連
2022-03-23 23:47
AWS、エッジにおけるJavaScript実行環境に本格参入 CloudflareやDenoなどの競合に
クラウドユーザー
2021-05-09 22:33
JA共済、セールスフォースの金融機関向けクラウドを導入
IT関連
2021-05-12 13:56
KubernetesをGoogleが開発し、オープンソース化し、成功した経緯。関係者らが肉声で語るドキュメンタリー映像「Kubernetes: The Documentary」YouTubeで公開
Cloud Native
2022-02-08 07:41
[速報]AWS上で開発環境一式、フレームワーク、初期コード、IDE、ビルド環境、CI/CDなど提供する「Amazon CodeCatalyst」発表。AWS re:Invent 2022
AWS
2022-12-02 06:01
マッチングアプリのTinderが「スワイプ・ナイト」の第2弾を発表、前回は2000万ユーザーが参加
IT関連
2021-08-13 07:00