タグ付けされた質問 「vulnerabilities」

13
ランダムな見知らぬ人からのソースコードをコンパイルすることはどれくらい安全ですか?[閉まっている]
求職者がスキルを証明するために送信するコードをレビューするとします。明らかに、彼らが送信する実行可能ファイルを実行したくない。それほど明確ではありませんが、コードのコンパイル結果を実行したくないのです(たとえば、Javaではコメント内の実行可能なコードを非表示にできます)。 コードをコンパイルするのはどうですか?私のコンパイラを悪用する巧妙な文字シーケンスがコードに含まれていて、コンパイラがマシンを危険にさらしている場合はどうでしょうか? 「コンパイラーの脆弱性」をGoogleで検索すると、コンパイラーの最適化とコードの発行、および発行されたコードが元のソースコードの意図どおりに安全であるかどうかがヒットします。 コンパイラーは通常、いくつかの巧妙なコードをコンパイルするときにユーザーマシンを危険にさらさないように検証されていますか?見知らぬ人からのコードをコンパイルすることはどれくらい安全ですか?

14
競合他社のサイトに脆弱性が見つかった場合はどうすればよいですか?
私の会社のプロジェクトに取り組んでいる間、ユーザーが競合他社のサイトとの間でデータをインポート/エクスポートできる機能を構築する必要がありました。これを行っている最中に、要するに、競合他社のWebサイトでスクリプトを実行できる非常に深刻なセキュリティ上の悪用を発見しました。 私の自然な気持ちは、善意の精神で彼らに問題を報告することです。利益を得るために問題を利用することは私の心を越えましたが、私はその道をたどりたくありません。 それで、私の質問は、彼らを助けるためにあなたの直接の競争に深刻な脆弱性を報告しますか?または、口を閉じたままにしますか?おそらく、私が問題を報告することで彼らを助けているという事実から少なくともいくつかの利点を得るために、これについてより良い方法がありますか? 更新(明確化): これまでのすべてのフィードバックに感謝します。感謝します。問題の競争が市場の巨大なもの(複数の大陸の数百人の従業員)であり、私の会社がほんの数週間前(3人の従業員)に始まったと付け加えれば、あなたの答えは変わりますか?言うまでもなく、彼らは間違いなく私たちを覚えていないでしょうし、もしあれば、彼らのサイトが仕事を必要としていることに気づくだけです(それが私たちが最初にこの市場に参入した理由です)。 これは、道徳的対ビジネス的なやり取りの1つかもしれませんが、すべてのアドバイスに感謝しています。

9
Cがバッファオーバーフローを起こしにくくするのはなぜ難しいのですか?
私は大学でコースを行っています。ラボの1つでは、提供されたコードに対してバッファオーバーフローエクスプロイトを実行しています。これは、スタック上の関数の戻りアドレスを変更して別の関数に戻るなどの単純な悪用から、プログラムのレジスタ/メモリ状態を変更してから呼び出した関数に戻るコードまでの範囲です。あなたが呼び出した関数は、エクスプロイトを完全に忘れています。 私はこれについていくつか調査を行いましたが、この種のエクスプロイトは、Wiiでhomebrewを実行したり、iOS 4.3.1のテザーなしのジェイルブレイクを実行したりするなど、今でもどこでも使用されています。 私の質問は、なぜこの問題を修正するのがとても難しいのですか?これが何百ものものをハッキングするために使用される主要なエクスプロイトの1つであることは明らかですが、許可された長さを超えて入力を切り捨て、取得したすべての入力を単純にサニタイズするだけで修正するのは非常に簡単だと思われます。 編集:私は考慮すべき答えが欲しい別の視点-なぜCの作成者はライブラリを再実装することでこれらの問題を修正しないのですか?

4
すべてのCプログラマーが認識しなければならないセキュリティリスク/脆弱性は何ですか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 4年前に閉鎖されました。 高度なプログラミング言語の十分にテストされ、実証されたAPIを使用するのではなく、ハードウェアに密接に接触することから生じる多くのセキュリティリスクがあります。Javaなどの言語よりもCでバッファオーバーフローを引き起こす方がはるかに簡単です。 すべてのCプログラマが知っておくべきリスクまたは脆弱性(バッファオーバーフローなど)とは何ですか(Cプログラマに関連するIEの脆弱性)。これらはどのような問題につながる可能性がありますか?それらを回避する方法、およびプログラムでこれらを発生させる一般的な間違いは何ですか?

3
安全でないコードが誤って使用されないようにする
関数f()は、プログラムを実行eval()しlocal_fileているマシンに作成して保存したデータを使用します(または危険なものです)。 import local_file def f(str_to_eval): # code.... # .... eval(str_to_eval) # .... # .... return None a = f(local_file.some_str) f() 私が提供する文字列は自分のものなので、実行しても安全です。 しかし、私がこれを安全ではないもの(ユーザー入力など)に使用することを決定した場合、事態はひどく間違ったものになる可能性があります。また、local_file停止がローカルになると、そのファイルを提供するマシンも信頼する必要があるため、脆弱性が発生します。 (特定の基準が満たされない限り)この関数の使用が安全でないことを「忘れない」ようにするにはどうすればよいですか? 注:eval()危険であり、通常は安全なものに置き換えることができます。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.