問題タブ [veracode]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc - MVC セキュリティ違反 - 動的に決定されるオブジェクト属性の不適切に制御された変更
MVC 5 アプリケーションを開発しています。Veracodeを使用してセキュリティ スキャンを実行しているときに、次のような欠陥が表示されます。
「動的に決定されるオブジェクト属性の不適切に制御された変更」
そして、修正への参照としてこのリンクを追加しました。
HTTP Post を使用してコントローラー関数にBind Attributeを実装しようとしましたが、問題は修正されました。
したがって、ASP.NET MVCでは、セキュリティ違反を回避するために、すべての Post にバインド属性を使用することが必須ですか?
または、この欠陥を無視するか、ハード コーディングとバインド属性の維持がリアルタイム アプリケーションで非常に困難になるため、これに対処できる他の代替方法を無視できますか。
あなたの意見を共有してください。
static-analysis - Veracode の静的スキャンによるサードパーティ ライブラリのスキャンの回避
アプリケーションの Veracode 静的スキャン結果から欠陥を修正していて、ソース コードに加えてサード パーティのライブラリを分析していることに気付きました。たとえば、Apache Commons ライブラリを調べて、その中の欠陥を見つけています。
これらのサードパーティ ライブラリをスキャンしないように Veracode に指示するにはどうすればよいですか?
java - セキュリティ: CWE-201: openStream を使用してプロパティ ファイルを安全に読み取る正しい方法は?
Veracode からフラグが立てられた CWE-201 の解決策を考案中です。
バックグラウンド:
CWE-201: 送信データによる情報漏えい
送信データによる情報 漏えい 弱点 ID: 201 (弱点バリアント) ステータス: ドラフト + 説明 説明 概要 送信データによる機密情報の偶発的な漏えいは、それ自体が機密であるか、またはさらなる悪用に役立つデータの送信を指します。標準データチャネルを介してシステム。
フェーズ: アーキテクチャと設計 戦略: 特権の分離 システムを区画化して、信頼境界を明確に描画できる「安全な」領域を確保します。機密データが信頼境界の外に出ることを許可しないでください。また、安全な領域の外にあるコンパートメントとやり取りするときは常に注意してください。適切な区画化がシステム設計に組み込まれていること、および区画化が特権分離機能を可能にし、さらに強化するのに役立つことを確認してください。アーキテクトと設計者は、最小特権の原則に基づいて、いつシステム特権を使用して削除するのが適切かを判断する必要があります。
その上...コードを書く人にとって一体何を意味するのか、私はJavaを使ってこの問題を解決する実用的な解決策を見つけようとしています。
私が言えることは、次のコードによりベラコードがcwe-201にフラグを立てるということです:
詳しくは:
フェーズ: 実装 要件で指定されている可能性のある機密データが設計者によって検証され、それが計算されたリスクであるか、他の場所で軽減されていることを確認します。機能に必要のない情報はすべて削除して、オーバーヘッドとセキュリティ機密データが送信される可能性の両方を下げる必要があります。
フェーズ: システム構成 予期しないエラーによって機密情報が開示されないように、デフォルトのエラー メッセージをセットアップします。
ここでIOExceptionを飲み込むカスタムランタイム例外を作成することにより、システム構成に記載されている推奨事項を実行しました...しかし、Veracodeはまだフラグを立てています。
そのコードは次のようになります。
}
そして、メソッドを次のように更新しました。
veracodeレポートを調べたところ、次のことがわかりました。
攻撃ベクトル: java.net.URL.openStream
説明: アプリケーションが java.net.URL.openStream() 関数を呼び出すと、データがアプリケーションから (ネットワークまたは別のメディアを介して) 転送されます。このデータには機密情報が含まれています。openStream() が filePath オブジェクトで呼び出されました。このオブジェクトには機密データが含まれている可能性があります。潜在的に機密性の高いデータは、 java.lang.system.getpropertyへの以前の呼び出しに由来します。
修復:機密データの転送が意図されたものであり、アプリケーションのセキュリティ ポリシーに違反していないことを確認します。この欠陥は、機密性のみに影響し、整合性や可用性には影響しないため、重大度は低に分類されます。ただし、モバイル アプリケーションのコンテキストでは、特にユーザーの期待やデータ プライバシー ポリシーと一致していない場合、情報漏えいの重大性ははるかに大きくなる可能性があります。
質問 この方法でサーバーに常駐するプロパティ ファイルを読み取る場合、System.getProperties() を間接的に使用していることがわかります。
これをストリームとして公開することは、セキュリティ上の脅威と見なされます
そうは言っても、ベラコードが「安全」と見なす方法でアプリケーションが環境構成情報をロードできるように、プロパティファイルをロードする正しい方法は何ですか?
c# - 「信頼されていない初期化」の欠陥 - SQL 接続の作成中
私は次のことをしました...
クライアントはコード分析を行うためにVERACODEツールを使用しており、VERACODEは「信頼されていない初期化」の欠陥を検出しました
また、dbConfig
以下に示すように初期化されています...
この欠陥を修正するには、他に何をする必要がありますか? また、このリンクに従って、接続文字列をSqlConnectionStringBuilder
安全に作成できる を使用して接続文字列を作成しています。
前もって感謝します...
java - CWE 117 問題の解決方法
製品で報告された CWE 117 の問題があります。
CWE 117 の問題は、ソフトウェアがログに書き込まれる出力を適切にサニタイズしないか、誤ってサニタイズすることです。考えられる解決策の 1 つは、ログ記録中に以下を追加することでした。
私の質問は、単一の変更でこの問題を解決できる中心的な場所が log4j にあるかどうかです。
java - Veracode XML External Entity Reference (XXE)
I've got the next finding in my veracode report: Improper Restriction of XML External Entity Reference ('XXE') (CWE ID 611) referring the next code bellow
...
...
I've been researching but I haven't found out a reason for this finding or a way of making it disappear. Could you tell me how to do it?
.net - HTTP ヘッダーの CRLF シーケンスの不適切な中和 (「HTTP 応答分割」)
研究開発の後、私はこれを解決しませんでした。以下のコードを見つけて、このベラコードの欠陥を手伝ってください。
説明- 関数呼び出しに、HTTP 応答分割の欠陥が含まれています。サニタイズされていないユーザー入力を HTTP ヘッダーに書き込むと、攻撃者はブラウザーによってレンダリングされた HTTP 応答を操作できるようになり、キャッシュ ポイズニングやクロスサイト スクリプティング攻撃につながる可能性があります。