web-dev-qa-db-ja.com

ソフトウェアが合法であるかどうかを確認する方法

新しいソフトウェアをインストールしたい開発者がいて、インストールする前にこのソフトウェアのセキュリティを確認するように求められた場合はどうすればよいですか?

1
P3nT3ster

ここで多くの質問の1つを尋ねている可能性があります。

  • 「ここにあるソフトウェアがベンダーが作成したものであることをどうやって知ることができますか?入手する前に変更されていた可能性がありますか?」次に、所有しているもののハッシュを、ベンダーが公開していると仮定して、ベンダーが公開しているものと比較する必要があります。 (最近はほとんどの人がそうしています。)

  • 「ベンダーがマルウェアまたはバックドアをこのソフトウェアに組み込んだかどうかを確認するにはどうすればよいですか?」と質問している場合。次に考慮すべき重要なことは、ベンダーをどれだけ信頼するかです。 (それは保証ではありません。大企業はこれまでに誤ってゴールドマスターにウイルスを感染させており、あなたが大きくなればなるほど、政府はあなたに頼って裏口を開く可能性が高くなります。)もちろんあなたはネットワークに配置したものと同じように、いくつかのAVスキャナーでスキャンしました。他のユーザーと話し、問題がないか確認してください。オープンソースの場合は、コンパイルする前にソースを読むことができますが、それは膨大な作業です。最後に、サンドボックスでしばらく実行して、その機能、特にネットワークアクティビティを監視して、自宅に電話がかかっているかどうかを確認できます。

  • 「攻撃に対して脆弱になるプログラミングミスがあるかどうかをどのように判断できますか?」と質問している場合。次に、さまざまなアプローチがあります。以前と同様に、ベンダーの評判を考慮してください。他のユーザーと話す。オープンソースであり、リソースがある場合は、ソースを確認してください。これが公開されている場合はバグ追跡システムと過去のリリースノートを確認して、セキュリティの問題がどの程度適切に対処されているかを確認してください。それが何をするのか、どのような脅威に直面するのかを考え、それを回避できる他のセキュリティ制御を特定します。

8
Graham Hill

(答えるグラハムヒルのアプローチが好きでした):

あなたが考えることができるもう一つの質問/答え:

  • 「ソフトウェアが信頼できない場合に何を保護したいのか」と尋ねる場合。次に、ネットワークに接続されていない仮想マシンにソフトウェアをインストールして、脆弱性が他のコンピューターからデータを取得できないようにすることができると考えるかもしれません。そして、ユーザーがプログラムに「秘密の」データを入れても、それを送信することはできません。
2
woliveirajr