メインコンテンツにスキップ
ブログセキュリティLinodeセキュリティ・ダイジェスト 2022年5月9日~15日

Linodeセキュリティダイジェスト 2022年5月9日から2022年5月15日

Linodeセキュリティダイジェスト

今週は、Rubygems と Rsyslogs に存在する、深刻度の高い脆弱性を取り上げます。また、セキュアコーディングの実践を定義することの重要性についても議論します。

Rubygemsにおける不正なgemの乗っ取りについて

Rubygems は、Ruby 言語エコシステム用のソフトウェアを提供するために使用されるパッケージレジストリです。yank アクションのバグにより、RubyGems.org の利用者であれば誰でも、特定の gems を削除したり置き換えたりすることが可能です(ただし、そのような権限がない場合もあります)。 

弱くなるために、必要な逸品。 

  • 名前に1つ以上のダッシュがある 
  • ダッシュの前に名前がある攻撃者制御のgem 
  • 30日以内の作成 OR 100日以上の更新なし

ミティゲーション 

Bundlerチームによると、継続的インテグレーションやデプロイ時にBundlerを-frozenまたは-deployment モードで使用することで、アプリケーションがこの悪用によって作成されたバージョンに静かに切り替わらないことを保証するとのことです。 

アプリケーションの履歴を監査し、過去に悪用された可能性を調べるには、Gemfile.lock を確認し、バージョン番号が変更されていないのにプラットフォームが変更された gem を探します。例えば、gemname-3.1.2gemname-3.1.2-javaに更新されている場合、この脆弱性を悪用した可能性があります。RubyGems.org はパッチを適用しており、この問題に対する脆弱性はなくなりました。

Rsyslogにおけるヒープベースのバッファオーバーフローの可能性

Rsyslogは、ログ処理のためのロケットエンジン的な高速化システムです。TCP syslog 受信のためのいくつかのモジュールでは、オクテットカウントフレームが使用されると、ヒープバッファのオーバーフローが発生します。オクテットカウント」フレーミングでは、各メッセージの前に実際のメッセージ長を付けるため、受信者はメッセージの終了位置を正確に知ることができます。攻撃者は、ヒープ値を破損させることができ、データの整合性の問題や可用性への影響につながる。リモートでのコード実行は起こりにくいですが、不可能ではありません。バージョン8.2204.0およびそれ以下のバージョンが、この脆弱性の影響を受けます。

ミティゲーション

オクテットカウントのフレーミングはあまり一般的ではありません。通常、送信側で特別に有効にする必要があります。もしユーザーがそれを必要としないのであれば、最も重要なモジュールについてそれをオフにすることができます。これにより、脆弱性が緩和されます。この方法は、モジュールによって異なります。影響を受けるモジュールおよびモジュールに応じた設定の詳細については、こちらを参照してください。本パッチは、バージョン8.2204.1で提供されています。

セキュアコードを定義することの重要性

セキュアコーディングとは、ソフトウェア開発ライフサイクル(SDLC)の最初から、熟練した開発者が脆弱性のないコードを書くという実践です。この実践が定義されてはじめて、開発者コミュニティはその目標に向かって努力することができるのです。Secure Code Warriorは、2021年12月にEvans Data Corpと共同でThe state of developer-driven security survey, 2022を実施し、世界中の1200人の開発者を対象に、セキュアコーディングの実践に関するスキル、認識、行動、SDLCにおける影響や関連性の認識について調査を実施しました。

以下、調査結果のポイントです。

  • 1,200人のうち、セキュアコーディングを最優先事項としている現役のソフトウェア開発者はわずか14%にすぎません。 
  • この調査では、37%の開発者が、既知の脆弱性を修正したり、最初から適切にコーディングするための時間を、厳しい納期で確保できないため、コード内に放置していると回答しています。
  • また、調査回答者の36%が、コードから脆弱性を取り除きたいと考えているが、そのためのスキルや知識がないと回答しています。 
  • 多くの場合、開発者が安全なコードを書くための問題は、彼らが働く組織が安全なコードを生成するために必要なベストプラクティスを特定せず、開発者がその目標を達成するためのトレーニングや実現に十分なリソースを投入していないことにあります。 

したがって、セキュアコーディングの実践とは何かを適切に定義するとともに、組織は、開発者が適切にコーディングするための十分な時間を与えるために締め切りを長くし、コードの脆弱性を効率的に特定し修正するための実践的なトレーニングを提供する必要があります。
本調査の詳細については、こちらでご覧いただけます。


コメント 

コメントを残す

あなたのメールアドレスは公開されません。