web-dev-qa-db-ja.com

「ハッキング」はどの時点で違法になりますか? (我ら)

仮定の状況: Web開発会社を雇う前に、以前のクライアントのWebサイトを表示して、安全なWebアプリを設計する能力をテストしたいと思います。

問題:この状況は重大な赤信号を発生させます。ウェブサイトの表示に関して、法律の範囲内にあるものとないものは何ですか?または言い換えると:Webサイトのポーキングはどの時点で違法になりますか

  • Firebugでソースを表示しますか?当然それは合法です。
  • しかし、(送信前の非表示のフォーム値のように)HTMLを変更するとどうなりますか?
  • おそらく、クライアント側の検証スクリプトのように、JavaScriptを編集または削除します。それは合法でしょうか?
  • URLの最後に%3Cscript%3Ealert(1)%3C/script%3Eを配置するとどうなりますか?.
  • または、URLを入力します。example.com/ scripts /で、アクセス許可の設定に誤りがあるため、ディレクトリを表示できますか?
  • HTTPヘッダーで渡されたデータ、たとえば、負の商品の数量/価格を操作して、サーバー側の検証を行うかどうかを確認するとどうなりますか(当然、チェックアウトを完了しません)。

私にとって、これらすべては完全に無害であるように見えます。

  1. スパムを送信したり、wgetでサイトをミラーリングしたり、潜在的に危険なSQLを挿入したりして、サーバーに過度のストレスを与えていません。
  2. 潜在的な損失や金銭的損害は引き起こしていません。脆弱性を悪用することはないため、脆弱性の存在をテストするだけです(概念実証)。
  3. 私の行動のいずれも、ユーザーデータのプライバシーに影響を与えることはありません。私の行動が誰かに関する機密情報や個人情報を明らかにすることは決してありません。
  4. 何か見つけた場合は、すぐにWebマスターに潜在的なエクスプロイトを通知して、パッチを適用できるようにします。

しかし、サイトをテストする理由を論理的に正当化することができたとしても、それが私の行動を必ずしも合法にするわけではありません。実際、米国ではサイバー法が悪名を馳せており、非常に些細なことでもハッキングと見なすことができます。

質問:不正なハッキングと「許可のないテスト」を区別する定義された行が砂にありますか?または、このシナリオ全体が、私が避けなければならない灰色の領域ですか?この完全に灰色の領域で私の知識を拡張できるリンク可能なオンラインリソースはありますか?これを処理する特定のactsまたはlawsは何ですか?

最も論理的な選択肢の1つは、単純に許可を求めることです。ただし、重い時間の制約があるため、私が許可を得るまでに、すべてが無意味になります。

58
Moses

やめろ!やめろ!あなたが米国にいる場合、法律は非常に広いです。あなたはラインまでつま先まで行きたくありません。

関連する法律は、コンピューター詐欺および虐待法(18 U.S.C. 1030)です。簡単に言えば(そして少し単純化して)、CFAAの下では、「許可なしに意図的にコンピューターにアクセスするか、許可されたアクセスを超える」ことは連邦犯罪です。この言語は非常に広範であり、野心的な検察官が#1(ソースを表示)を除いてリストのすべてを追いかけるためにそれを使用しようとする可能性があると思います。

この地域の主要な法学者の1人であるOrin Kerrは、この像を「あいまい」および 「非常に広い」 と呼び、 "実際に禁止されていることは誰にもわかりません"

そして、@ Robert David Grahamが説明しているように、人々が起訴されたり、起訴の脅迫されたり、テキストボックスに単一引用符を入力するだけで../をURLに変更するか、仮名でFacebookにサインアップします。悪意がなくても、これだけで連邦政府の犯罪となるのはかなり野生です。しかし、それは私たちが住んでいる法的環境です。

チャンスをとらないでください。テストするWebサイトを持つ会社から書面による承認を取得します。

45
D.W.

法律は不明確です。どんなに無実であっても、あなたが行うことは何でも犯罪と見なされる可能性があります。ウェブサイトの所有者がしなければならないことは、「私はそれが起こりたくなかった」と言うだけであり、あなたは犯罪で有罪となる可能性があります。

津波救援ウェブサイトに寄付する前に、ダニエルカスバートは../../../をURLに含めます。彼は「ハッキングする意図」(イギリス)で有罪判決を受けた。

Lori Drew はMySpaceのハッキングで有罪判決を受けました。彼女が偽のアカウントを作成することでMySpaceの利用規約に違反したためです。このアカウントは、後で14歳の娘が別の少女に嫌がらせをして、自殺しました。信念は後で覆され、政府は上訴しないことを決定しました-しかしそれはまだ避けるべき経験です。

Andrew "weev" Auernheimerは、IDの盗難の罪で有罪とされました。AT&TがウェブサイトでiPadの初期の所有者に顧客アカウント情報を提供し、URLを列挙してダウンロードするだけのスクリプトを書いたためです。

ブライアンK.ウェストは、新聞のWebサイトで「編集」というラベルの付いたボタンをクリックしたため、起訴の脅迫を受けました。これにより、実際のWebページを編集できることに驚いたのです。問題を新聞に報告した後、FBIは彼を調査し(Westの職場の捜索およびいくつかの資料の押収を含む)、検察官は明らかに重罪の起訴で彼を脅迫した。

最近のケースでは、受信トレイをスパムでいっぱいにしてDoSingすると、コンピューターの不正行為と虐待行為で定義されているように、それを「ハッキング」したことが判明しました。

私はあなたが説明するすべてのことをします。交差しない行があります。SQLインジェクションをテストしますが、データベースにはアクセスしません。しかし、私がこれを行うのは、高額な弁護士に私を弁護する余裕があるからです。また、バカなことはしません。たとえば、ダニエル・カスバートは「ハッキングの意図」で有罪判決を受けました。理由を尋ねられたとき、彼は自分の話を変え続けたため、裁判所はどんな話も信じていませんでした。

54

多くの管轄区域での1つの定数は、リストでの唯一の安全なアクションはナンバー1であるように思われます。

一部の領域では、データを変更しても問題ありませんが、実際には危険を冒すべきではありません。

あなたがこれに完全に間違った方法で取り組んでいると言ってしまうほどです。

より良いアプローチ:

Web開発会社に、ビジネスが必要な場合は、アプリケーションが特定の標準でテストされていることの証明を提供する必要があることを通知します。英国では、CRESTまたはCHECKで承認された個人またはチームによるテストを要求することでこれを行うことができます。または、Big-4監査会社の1つを使用して保証を得ることができます。彼らにテストがあった場合、方法論と結果の可視性を要求できます。

最善のアプローチ:

開発ライフサイクルでのセキュリティとガバナンスの制御を実証するように依頼します。セキュリティが成熟している組織は、完全なSDLCを使用して、脆弱性の可能性を減らし、さらにはクラス全体の脆弱性を削除します。侵入テストは、プロセスの最後の確認にすぎません。

11
Rory Alsop

警告:私は弁護士ではありません。オタクが警告を示唆しているだけです。

違法なハッキングと「許可のないテスト」を区別する明確な境界線はありますか?または、このシナリオ全体が、私が避けなければならない灰色の領域ですか?この完全に灰色の領域で私の知識を拡張できるリンク可能なオンラインリソースはありますか?これを処理する特定の行為または法律は何ですか?

いいえ。どの管轄区域が適用されるかについて、それらの管轄区域内のどの法律が適用されるかについての合意さえありません。刑事罰を無視しても、民事罰のためにこれを行うことは避けてください。

このリストの半分のことを行うと、利用規約に違反する可能性が高くなり、コンピューターリソースの不正使用は、民事訴訟の危険にさらされる可能性があります。過度のリソースを使用していないというあなたの主張は、合理的なエンジニアがシステムを設計/展開する方法についての推測に基づいています。あなたは非常に正しいかもしれませんが、それらのアサーションを事前に確認したり、それらに対して保証したりすることはできません。彼らのサーバールームでのメルトダウンが単に調査と一致する場合、それが原因ではないことを証明する立場になりたくはありません。

一見無害なペイロードは、多くの訪問者が掛け合わせると問題になる可能性があります。たとえば、注入されたalert(1)ペイロードは無害に見えるかもしれませんが、永続的なXSS脆弱性が見つかり、ホームページに表示された場合、xの潜在的な顧客によってd日間見られます。 xとdの値によっては、無害ではなく、これらの変数を軽減する権限がありません。

"侵入テスト:サードパーティのハッカー" に従って、契約のペンテスターでさえ、許可を得て作業している場合は賠償責任保険に加入する必要があります。

すべての侵入テストサービスプロバイダーは、クライアントの専有情報を失うリスクに関連するコストと、彼らの活動によって引き起こされた予期しないダウンタイムから生じる可能性のある収益の損失の可能性をカバーするのに十分な賠償責任保険に加入する必要があります。サービスプロバイダーが賠償責任保険に加入していない場合は、「契約条件」で責任をどのように指定するかに注意してください。また、管理者は、テストの開始前に開発および検証された適切なインシデント対応および災害復旧計画を実施することにより、テスト中にデータの損失から復旧できることを保証する必要があります。

会社と契約している場合、プロービングで本番システムがダウンすると、データやビジネスが失われる可能性があります。契約または事前の関係なしに行動し、自分自身の利益のために、彼らのシステム(調査を開始する前にバックアップすることを知らなかったシステム)に欠陥がある場合、訴訟のリスクがさらに高まります。

あなたが先に進み、それが民事訴訟につながるとしましょう。彼らがあなたに和解するよう圧力をかけたい場合、彼らは刑事罰の恐ろしさを上げたり、あなたの行動を刑事罰があるものに例えることによって懲罰的損害を得ようとするかもしれません。裁判官や陪審員は、大まかに "Cyber​​ Vandalism and Internet 'Hacktivism'" に基づいた次の議論の影響を受けやすいかもしれません。

「錠前屋が購入する錠を決定したいと想像して、錠前屋に顧客のリストを要求します。錠前屋は自分の錠を使用しているコンビニに行き、その店が夜間閉鎖されているのを見つけます。彼は錠をいじります、そしてそれを損傷します。店のオーナーは翌朝到着し、錠が壊れているので開けられないので、その朝はコーヒーを販売していません。ほとんどの管轄区域では破壊行為に対する法律があり、錠前屋に対して使用できます。懲罰的損害賠償は社会は破壊者を罰することに関心を持っているので、錠前屋に適用します。」

錠前を購入したい錠前屋があなたに良いアナロジーであるかどうかに関係なく、裁判官や陪審員はそうかもしれません、そして「ハッカー」(ゆるく定義された)は、上記のリンク。

TLDR:カウボーイに行くことによって高価な訴訟のためにあなた自身を設定しないでください。

10
Mike Samuel

これはあなたの特定の質問に答えるものではありませんが、仮にあなたのアプリケーションのセキュリティをテストする許可を持っている場合、上記のすべては100%合法です。さらに、受験者にテストシステム(実際のWebサイトではない)をセットアップしてもらい、そのテストシステムを攻撃するように依頼することをお勧めします。このようにして、テストで誤って稼働中のシステムが停止した場合(または誰かが脅威に気づいてシステムを停止した場合)は、損傷の責任を負いません。

提携していないシステムの場合、侵入テストを要求していません。私はセキュリティの欠陥をテストすることはしません。はい、会社のXYZのWebサイトがテストなしでSQLインジェクション攻撃から保護されていることを実際に知ることはできませんが、テストする必要があることに同意しない限り、テストするのはあなたの仕事ではありません。それはあなたを起訴することができ、起訴すべきです。

尋ねるのと同じように、隣人の家がロックされているかどうかを確認してみてもいいですか?または、ドアを開けて中に入ることなく、簡単にロックを選択できるかどうかを確認してください。または、絞り込めるウィンドウを開くことができるかどうかをテストしますか?あなたの隣人または警察があなたがそれらの何かをしていることに気づき、告訴を強要されたと感じた場合、あなたは正当な理由がない限りあなたはねじ込まれています雨の中で外に置きたいので、ドアを開けられるかどうか試してみました)。

6
dr jimbob

あなたがあなたの会社に代わってウェブ開発会社を雇っていると仮定して、私はあなたの会社の法務部門に助言を求めます。あなたが会社に代わってセキュリティを調査していて、誰かが訴訟を起こしたいと思った場合、彼らはほぼ間違いなくあなたより個人的にあなたの会社のより深いポケットを訴訟するでしょう。それが起こった場合、あなたの法務部門があなたの後ろに立つことは間違いありません。

あなたの会社の法務部門は、あなたの国および州の法律が何を許可するかを知るのにはるかに良い立場にあります。何らかの犯罪捜査があったとしても、あなたがあなたの法廷に相談したという事実はあなたを補償しませんが、それは間違いなくあなたに有利な点です。

5
Justin Cave