web-dev-qa-db-ja.com

バックドアはどのように機能しますか?

私は常にバックドアについて耳にし、主な目的を理解していますが、いくつか質問があります。

  • どのようなソフトウェア/ Webアプリケーション/ OSでそれらを見つけることができますか?
  • どうすれば認識できますか?
  • それらを防ぐにはどうすればよいですか?
  • (Linuxの方法で)rootアクセスを持つためにそれらを比較することの類推は良いですか?
  • それらに関するより関連性の高い情報。
15
Kruncho

どのようなソフトウェア/ウェブアプリケーション/ OSでそれらを見つけることができますか?

文字通り何でも。

どうすれば認識できますか?

ソフトウェアをリバースエンジニアリングし、認証とアクセス制御の欠陥、およびネイティブアプリケーションでのメモリアクセスの問題について慎重に分析する。これは、他の脆弱性を見つけるのと同じプロセスです。これは簡単な仕事ではなく、本全体がこの主題について書かれています。

一般的なセキュリティの脆弱性とバックドアの違いを知りたい場合、違いはそれをそこに置いたプログラマの意図です。証拠を見つけ、直感を使用して、それが意図的であったかどうかを識別する必要があります。通常、これははい/いいえの答えではありません。

それらを防ぐにはどうすればよいですか?

基本的にできません。ソフトウェアが壊れることを期待し、(a)最新の状態に保つこと、および(b)違反があった場合に対処することを計画しているだけです。 ifについてではなく、-whenについてです。

(Linuxの方法で)rootアクセスを持つためにそれらを比較することの類推は良いですか?

ではない正確に。バックドアとは、権限の低いユーザーに、許可されていないものへのアクセスを提供するものです。バックドアは、認証されていないユーザーへのフルアクセスを許可したり、認証されていないユーザーへの制限付きアクセスを許可したり、認証された低特権ユーザーがより高い特権レベルで何かへのアクセスを許可したりする場合があります。

それらに関するこれ以上の関連情報。

本当にたくさんありません。バックドアは、誰かが通常のセキュリティモデルの外部にアクセスできるようにするためにコードに入れられた意図的な障害です。

38
Polynomial

バックドアはソフトウェア自体の一部です。最初からソースコード(またはハードウェア)に配置されます。元のコーダーに、ソフトウェアまたはハードウェアを介した何らかのアクセスを許可します。それを念頭に置いて:

  1. どのようなソフトウェア/ウェブアプリケーション/ OSでそれらを見つけることができますか?

バックドアの性質上、特にバックドアを備えたソフトウェアはありません種類。それらは、任意のプラットフォーム上の任意のソフトウェアまたはハードウェアに含めることができます。

  1. どうすれば認識できますか?

ハードウェアまたはソフトウェアの一部にバックドアがあると思われる場合は、それを分析する必要があります。バイナリをリバースエンジニアリングして異常を見つけます。これには時間がかかる場合があります。この質問と回答で説明されているテクニックの多くは、 ソフトウェアの分析 にも当てはまります。

  1. それらを防ぐにはどうすればよいですか?

バックドアは、発信者によって意図的にコンピュータシステムに挿入されます。 防止はありません。バックドアを見つけた場合、自分でパッチを適用できる可能性があります。ただし、コード署名されたバイナリの量が増えると、これはさらに困難になる可能性があります。

  1. (Linuxの方法で)rootアクセスを持つためにそれらを比較することの類推は良いですか?

バックドアはrootアクセスを与えることができますが、それは実際には類推ではありません。よりよい例えは、鍵屋に家に鍵を設置するように依頼することです。彼がそこにいる間、彼は特別な錠を設置します。

  1. それらに関するこれ以上の関連情報。

バックドアについて覚えておくべき重要なことは、それらがdeliberateであることです。それらはコードのバグではありません。開発者/設計者は意図的にシステム内に脆弱性を配置しました。一部のバックドアは簡単に見つけることができます。たとえば、ルーターを購入し、作成していない追加の管理者アカウントがあることに気付きました。他の人はそれを活用するためにソフトウェアの脆弱性の特定の悪用を要求するかもしれません。 (他の脆弱性と同様に)すべての形とサイズがあります。

オープンソースプロジェクトのバックドアの例
Webバックドアの例

12
RoraΖ