17

最近のPCI監査中に、監査人は、次の理由でセキュリティ上の大きなリスクがあると述べました。

  1. 事前の認証なしで、画像cssやjavascriptなどの静的リソースを当社のWebサイトからダウンロードすることが可能でした。
  2. 私たちのJavaScriptにはコメントが含まれていました。

個人的には、これはセキュリティ上のリスクではないと思います。画像cssとjavascriptは動的に作成されておらず、バックエンド、顧客の詳細、メカニズムに関するデータは含まれていません。

javascript内のコメントは、javascriptファイルのメソッドが何をしたかを単に説明しているだけです。とにかく、JSを読んだ人なら誰でも知ることができたでしょう。

それは「情報漏えい」をどのように示していますか?

javascript内のコメントは本当にセキュリティリスクですか?

4

5 に答える 5

17

監査の厳格さによっては、認証なしで画像をダウンロードするなど、セキュリティリスクと見なされる可能性があります(図、チャート、グラフなどを考えてください)。

javascriptでコメントを削除することは、コードを難読化するようなものです。少し難しくなりますが、何が起こっているのかを理解することは不可能ではありません。JavaScriptは拡張機能と見なす必要があります。とにかく、すべてのセキュリティはサーバー側で(複製)する必要があります。JSが何をするかを誰かに理解させることは、リスクと見なされるべきではありません

于 2010-07-05T08:59:47.230 に答える
16

解説内容によります。人間の介入なしにコメントの内容を調べてリスクがあるかどうかを判断する方法はないため、これを監査する最も効率的な方法は、クライアント向けのソースコード内のすべてのコメントをリスクがあると宣言することです。

以下は、潜在的に危険なコメントの例です。

// doesn't really authenticate, placeholder for when we implement it.
myServer.authenticate(user,pass);

また

// don't forget to include the length, 
//the server complains if it gets NaN or undefined.
function send_stuff(stuff, length) {
...
}

また

function doSomething() {
    querystring = ""
    //querystring = "?TRACING_MODE=true&"
    ...
    //print_server_trace();
}

別の例として、ソースコードの履歴ヘッダーを含めると、修正されたバグの種類を調べることで、セキュリティ上の弱点を見つけることができる場合があります。少なくとも、クラッカーは、どの攻撃ベクトルがすでに閉じられているかを知っていれば、攻撃をより的確に標的にできる可能性があります。

さて、これらの例はすべて(コメントとコードの両方で)とにかく悪い習慣であり、それを防ぐための最良の方法は、コードレビューと優れたプログラマーを持つことです。最初の例は特に悪いですが、2番目の例のようなチームメイトへの無実の警告、または3番目の例のようなコメントアウトされたデバッグコードは、ネットをすり抜ける可能性のある種類のセキュリティホールです。

于 2010-07-05T09:52:27.777 に答える
5

それらがセキュリティリスクであるかどうかに関係なく、本番環境でJSを縮小します。これにより、「情報漏えい」が防止され、(少なくとも何らかの方法で)Webサイトの情報を保護するのに役立ちます。

セキュリティリスクに関しては、JSのコメントはリスクではないと思います。すべてのWebサイトのコンテンツ(静的)は認証なしでダウンロードできます。(特に定義されていない限り)

于 2010-07-05T08:59:52.857 に答える
5

コードがどのように機能するかを明らかにするだけではありません。十分に決心した人なら誰でもそれをとにかく見つけることができます。

そうは言っても、JavaScriptを縮小することはおそらく良い考えです。セキュリティのためではなく、ダウンロード時間が短縮されるため、サイトの応答性が少し向上します。

于 2010-07-05T09:00:12.110 に答える
3

JavaScriptのコメントは可能です。ロジックによって異なりますが、確かに公開されているため、コードの動作をより明確にすることができます。

これを削除する理由は他にもあります。たとえば、ファイルサイズ、結果としてダウンロードサイズなどです。

d JSMinなどのツールは、コメントを削除し、コードの大まかな難読化を実行するのに役立ちます。

于 2010-07-05T09:02:06.543 に答える