すべてのセキュリティの脅威はソフトウェアのバグによって引き起こされていますか?


13

私が聞いたほとんどのセキュリティの脅威は、ソフトウェアのバグが原因で発生しました(たとえば、すべての入力が適切に健全性チェックされていない、スタックオーバーフローなど)。ソーシャルハッキングをすべて除外すると、すべてのセキュリティ上の脅威はバグによるものですか?言い換えると、バグがなければ、セキュリティ上の脅威はありませんか(再び、パスワードの開示などの人間の過失を除く)。または、バグが原因ではない方法でシステムを悪用できますか?


4
弱いパスワードを推測できる可能性をソフトウェアのバグと呼びますか?どちらかといえば、それは設計上の問題ですが、おそらくこれよりもさらに根本的なものです。
ヨアヒムザウアー

4
貧弱なデザインをバグと定義しますか?
StuperUser

1
@StuperUserをサポートするには、リンク " security.stackexchange.com/questions/25585/… "にDaveのスクリプトにバグはありません。しかし、それは愚かなデザインです。
マノジR

1
バグを除くセキュリティ問題のすべての理由を除外する場合は、はい。
andho

回答:


25

バグは、仕様まで動作していないソフトウェアとして定義されます。仕様に欠陥がある場合、ソフトウェアのバグではありません。愚かな顧客が、すべてのパスワードが3桁のコードであり、障害のあるエントリ間の猶予期間がないことを要求する場合、非難されるのはソフトウェアではありません。

多くのシステムには、セキュリティを無効にできる「サービスモード」があり、アクセスは安全である必要がありますが、多くの場合、コードは公開されます。

数学の進歩は、古い暗号法を妥協します。30年前に実行可能なセキュリティであったものが、最近では弱くなっています。

しばしば見過ごされるデータ盗難のさまざまな方法があります。ワイヤレスキーボードは、小さなアンテナのために約2mの範囲があり、送信されるコードは暗号化されていません。良いアンテナで通りの向こうからそれを読むことはよく知られた方法です。

結果を完全に認識してセキュリティのトレードオフが行われる場合があります-暗号システムは電力とCPU時間を消費します。組み込みの監視アプリケーションは、多くの場合、最初にデータを危険にさらすことの価値は無視できるため、セキュリティを実装するための追加コストは不要であるため、一般にわかりやすい方法でデータを送信します。

すべてのセキュリティは信頼に基づいています。任命された管理者が悪意を持ってメールを読むのにソーシャルエンジニアリングは必要ありません。

そして最後に、野球のバットを膝に当てることは社会的な手法と考えることができますか?


2
「仕様に欠陥がある場合、それはバグではありません」この言い回しは滑りやすいように聞こえます。代わりに「仕様にバグがある」と言います。私がテスターだったとき、数十個のそのようなバグの修正を提出し、検証しました。そして、開発者として、私は私は維持するために割り当てられたAPIドキュメントに対するテスターによって報告されたように、「スペックバグ」の一部を修正する機会が...持っていた
ブヨ

8
@gnat-ただし、「仕様のバグ」はソフトウェアのバグではなく、設計のバグです。もちろん、ソフトウェアの一部として設計することができなければ。それはすべて、線を描く場所に依存します。
ChrisF

1
@ChrisF:言いたいことを言葉で書いてくれてありがとう。明確にするために回答を編集しました。
SF。

仕様に記載されている特定の機能が障害であることは必ずしも明確ではありません。
ドックブラウン

1
@DocBrown:はい-コストパフォーマンスのトレードオフとしてセキュリティの削減が必要になることがあります...
SF。

12

ハードウェアのバグがセキュリティの問題を引き起こす場合もあります。「isAdmin」ビットを自発的に反転させる障害のあるRAMチップを考えてください。

または、メモリ保護が期待どおりに機能せず、あるプロセスが割り込みをトリガーせずに別のプロセスのメモリを上書きできるという仮想のハードウェアバグを考えてみましょう。

あなたの読書の喜びのために:ハードウェア障害によって損なわれたコンピューターセキュリティ


RAMチップがisAdminを正確に反転させる可能性はどのくらいですか?
m3th0dman

1
非常に小さいのは明らかですが、それが発生した場合、ソフトウェアのバグが原因ではないセキュリティスレッドです。
user281377

コンピュータシステムがランダムファイルのアクセス許可ビットを破損する可能性は完全にあります。グローバルに書き込み可能でSUIDルートであるファイルは、ユーザーのアクセス許可を高めるために簡単に編集できます。
SF。

@ user281377 4 GBのRAMを搭載したマシンの場合、すべてのビットからisAdminビットを正確に選択する確率は1/34359738368にすぎません。これは、間違ったチップの反転の可能性を無視します。
m3th0dman

@ m3th0dmanあなたはおそらく私を誤解しています。これは誰もが気にしなければならない大きな問題だと言っているのではありません。これは、ハードウェアの問題セキュリティスレッドを作成する可能性があるという理論的証明に似ています。とはいえ、サーバー上の欠陥ビットを発見した攻撃者が、重要な何かがそれらのメモリ位置に置かれるまで入力を埋める方法を見つけるかもしれないと想像できます。
user281377

6

多くのセキュリティ上の脅威は、バグではなくソフトウェア機能から発生します。非常に便利なソフトウェア機能の多くは、ユーザーの意図のみに応じて、善悪の用途を持つことが判明しました。


ある人の近道は、別の人のバックドアエクスプロイトです。
ダニエルホリンレイク

5

分散型サービス拒否攻撃(DDOS)を検討してください。これはセキュリティリスクになる可能性がありますが、ソフトウェアのバグが原因ではなく、システムの設計対象の制限を超えた攻撃者が原因です。そして、すべてのシステムには制限があります。

あなたの質問に対する答えは、いいえ、すべてのセキュリティ脅威がソフトウェアのバグによって引き起こされるわけではありません。


それはセキュリティ上のリスク?それは確かにあなたのサイトを破ることができますが、あなたのサイトのセキュリティを破ることはできますか?
Carson63000

1
それは、セキュリティリスクの定義の幅によって異なります。
ピーターB

4

ソーシャルエンジニアリング。

こんにちは、IT部門のXXです。現在、コンピューターは他のオフィスコンピューターにウイルスを拡散しています。削除するには、ユーザー名とパスワードが必要です。

ハッカーがユーザー名/パスワードを取得したら、トロイの木馬などを安全にインストールできます。

ソーシャルエンジニアリングはいくつかの方法で適用できますが、それを使用してセキュリティを回避することも1つです。


4
これがこれ以上支持されない理由としては、質問者が明示的に「ソーシャルハッキング」を除外したことが考えられます。
ヨアヒムザウアー

@JoachimSauer良い点。それを見なかった。
jgauffin

3

共有ワイヤレスネットワークで送信されるCookieを盗むFirefoxアドオンFiresheepのようなものはどうですか?

そのような攻撃に対する脆弱性はバグであると主張することもできますが、同様に反論することもできます。HTTPSを介してすべての通信を実行する以外に、ユーザーが侵害されないようにするためにWebサイトでできることはあまりありません。WebサイトでHTTP通信を受け入れるのはバグだと言えますか?


1
重要な個人情報を暗号化されていない媒体に転送するという決定を、設計エラーに分類します。私の意見では、これを「ソフトウェアのバグ」と見なすべきかどうかは別の議論です。
ヨアヒムザウアー

@ JoachimSauer、WebサイトがHTTPを介した情報の転送を拒否し、実際にHTTPをHTTPSにマッピングしているのがMITMである場合はどうなりますか?ブラウザはHTTPをサポートし、ルーターはHTTPの通過を許可しますが、非常にセキュリティを重視するクライアントによってのみ回避できるスニッフィングに対する脆弱性があります。本当に質問は次のようになります:HTTPをサポートするWebブラウザーのバグですか?
ピーターテイラー

@PeterTaylor:この問題には、HTTP Strict Transport Securityがあります。これは、基本的に、安全な接続を介してのみサイトにアクセスする必要あることをブラウザーが認識することを保証します。また、質問者は「ソーシャルハッキング」を明示的に除外し、ユーザーに応じて保護されていない行を無視することは、その側面に含まれていると見なすことができます。
ヨアヒムザウアー

@JoachimSauerすべてのトラフィックを厳格なトランスポートサイトにプロキシするだけで、クライアントへのHTTP接続を許可する場合はどうなりますか?
ジョシュアドレーク

@JoachimSauer:確かに、私はあなたに同意します。この脆弱性を引き起こすのは、賢明でないアーキテクチャ設計上の決定です。コードに間違って実装されているものはありません。これを「バグ」と呼びます。
Carson63000

1

はい、ソフトウェアのセキュリティの障害が、最も近い原因が何であれ、ソフトウェアがその要件を満たしていない場合に限ります。

私はこれが単なるトートロジーであることを認めますが、それはその尺度です。


セキュリティは単に(定義された)要件ではない場合があります。また、セキュリティ違反後に要件のリストに追加された場合、「バグ」とは呼びません。
ヨアヒムザウアー

プロジェクトの開始時に要件が引き出されなかったからといって、@ JoachimSauerは、要件が不要であったという意味ではありません。ソフトウェア業界は、その事実に対処するために私の生涯よりも長い間費やしてきました。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.