owasp zap(脆弱性診断ツール) と 法律

# はじめに
法律の専門家ではありませんので正確性にかけるかもしれません。
ただ私が知りたかったことが明確化したのでここに書いています。
もし解釈が違うなどあればご指摘頂けると嬉しいです！

**参考URLですが本家で表示されないものアーカイブ用のURLに変更しています。**

では早速！ヽ(´▽｀)/

# 追記(とても大事)
<img width="503" alt="スクリーンショット 2020-02-28 21.33.21.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/133940/1b109f93-57b1-0c48-1d16-a3291708ead2.png">

モードはプロテクトモードで！
コンテキストに追加するときは私は既存のコンテキストを使うようにしました。
なぜなら最初から既存コンテキストはスコープで選択されているため。

コンテキスト…正規表現の集合版ととらえてもらえればいいかと思います！ここに一致するもののみクロールされます
スコープ…コンテキストを選択すると言った感じ。

※履歴部分にあるとHTMLレポート生成時に反映されるので動的スキャン開始前に履歴部分削除しておいたほうがいいかもです！

# owasp zapとは と ちょっと必要知識等々
webサイト脆弱性を判断するため無料で提供されているツールです。
正式名称は『OWASP Zed Attack Proxy』です。

[Open Web Application Security Project（OWASP）](https://owasp.org/)のという団体が無料で提供してくれているツールと思っていたのですが、少し違うようです。
あくまでこのツールはOWASP保護管理下的な立ち位置で提供されている模様です。難しいですね〜〜〜。

OWASPとWASP Zed Attack Proxyの心はつながっているということでしょう！:sunny:

ちなみにOWASP Zed Attack Proxyのサイトは以下です。
https://www.zaproxy.org/

ちなみにこのowasp zapは、IPAでも推奨されています。
ただここで注意なのがIPAで推奨といってもこれで診断すればいいというものではありません。

あくまで無料版でもこんなに脆弱性がでるんだから、ちゃんと専門の会社に検査してもらいなよって上の人におうかがいをたてるための材料ぐらいに思って欲しいとのこと。

ただ、専門の会社に検査してもらえば完璧かというとそうでもないという、、、専門の会社に検査は自分たちで対応をしてからさらなる予防としてって感じで書いてあるのをよく見るので、、、

とりあえずみんな何を言いたいかというと、、、
<b>『完璧はない！みんなで精一杯を尽くそう』 </b> という感じと思っています。

『脆弱性診断しましたから大丈夫です！』や『脆弱性専門の会社に検査してもらって大丈夫です!』というわけではないということです、、、

本気で逃げたいのなら自分が関わっているプロジェクトの作成された時点で、現在のIPAの[安全なウ ェ ブ サ イ ト の作り方 ](https://www.ipa.go.jp/security/vuln/websecurity/ug65p900000196e2-att/000017316.pdf)に書かれている対策を行うことかと思います。抜け漏れなく、、、そしてその証拠を残しておくですかね。

ちなみに上記内容は更新されるかもなので、資料探すときは[こちらから](https://www.ipa.go.jp/security/vuln/websecurity.html)の方が良いと思います！

ちなみに、
[セキュリティ対策はどこまでやる？](https://www.tribeck.jp/column/opinion/technology/20180501/)の記事にも

<details><summary><font color=green>引用(クリックで開けます)</font></summary>そのときの基準となったものがIPAの『安全なウェブサイトの作り方』を参照した経産省の注意喚起でした。つまり、『安全なウェブサイトの作り方』は裁判の際にも基準として使われるものだということになります。</details>

と書かれています。

[情報システム等の脆弱性情報の取扱いにおける法律面の調査　報告書改訂版.pdf](https://warp.ndl.go.jp/info:ndljp/pid/12446699/www.ipa.go.jp/files/000072543.pdf)　

<details><summary><font color=green>引用(クリックで開けます)</font></summary>脆弱性」については、まず、上述の製造物責任法の「欠陥」概念の基準時をめぐる概念 でも指摘されているが、その要因が、提供時において通常備えられている「セキュリティ」 を欠いているかどうかということが一つのポイントとなる。この「セキュリティ」を欠いて いるかどうかは、設計上、開発上、指示・警告上の各観点から、当該ソフトウエアの特性、 その通常予見される使用形態、その開発者等が当該ソフトウエアを提供した時期その他の 当該ソフトウエアに係る事情を考慮して判断されることになろう。
</details>

と書かれています。

<details><summary><font color=green>引用(クリックで開けます)</font></summary>これについては、後日のトラブルを未然に防止すべく、新たに判明 する欠点・脆弱性に関しては瑕疵担保責任の対象外であることを契約上明記しておくべき であろう</details>

と書かれています。

```memo.
瑕疵担保責任(かしたんぽせきにん)とは…傷物（欠陥品）. を売ったり作ったりしたときに負うことになる. 責任
参考:http://www.kokusen.go.jp/wko/pdf/wko-202004_11.pdf
```
なのに、なのに、owasp zapで脆弱性診断したら法に抵触しちゃうなんてことが〜あるんですよ〜〜〜(｡･ω･｡)な〜〜〜〜に〜〜〜〜。ということで、、、、

調べたので書きました！というものです！

# 脆弱性診断ではどのような法に抵触する恐れがあるか
ちなみにここで説明するものは[情報システム等の脆弱性情報の取扱いにおける法律面の調査 報告書改訂版](https://warp.ndl.go.jp/info:ndljp/pid/12446699/www.ipa.go.jp/files/000072543.pdf)を参考にしています。
〇〇法と書かれていなくても違反すると法の裁(さば)きにあうものは書いています。

- **不正アクセス禁止法**

- **秘密保持契約違反**

- **不正指令電磁的記録作成等の罪**


# それぞれの法について解説
ちなみにここで説明するものは[情報システム等の脆弱性情報の取扱いにおける法律面の調査 報告書改訂版](https://warp.ndl.go.jp/info:ndljp/pid/12446699/www.ipa.go.jp/files/000072543.pdf)を参考にしています。

- **不正アクセス禁止法(不正アクセス罪)**

<font color=red>**本来アクセスすべきじゃない所にアクセスしてしまった場合アウト！**</font>

そもそも不正アクセスってどこまでをいうの？に関してですが、以下引用を参考するに、
自分でない人のアカウントを入力して他人の情報をみたり、特別な入力をして本来サイトの運営側が見せるべきでないものをみてしまうというものです。

すごいとんでもない言い方をしてしまえば、アクセスしてやろうと色々な入力をしても、その入力が本来自分がみてはいけないところまで突破しなければ不正アクセス禁止法に抵触しないということ。


<details><summary><font color=green>引用(クリックで開けます)</font></summary>同法により規制される「不正アクセス行為」の法的な意義としては、「他人の識別 符号を入力して」または、「特定利用の制限を免れることができる情報(識別符号であるも のを除く。)又は指令を入力して」「アクセス制御機能により制限されている特定利用をし 得る状態にさせる行為」(不正アクセス禁止法 2 条 4 項)である</details>

<details><summary><font color=green>引用(クリックで開けます)</font></summary>その行為において、脆弱性の情報の検証をするためというような意図があったと しても、犯罪の成否には、関係はない。</details>



- **秘密保持契約違反**

<font color=red>**脆弱性があったからみんなにお知らせしちゃお！て容易に脆弱情報を公開するのはアウト！になるかもしれない。個人、会社共に**</font>

これは脆弱性診断会社設立しました〜という会社が、脆弱性の診断お願いします！って言われて発見した脆弱性を公の場で発表してはいかんよ！というものです。通常は『調査の結果判明した脆弱性情報についてはベンダ以外の第三者には開示しない』という契約あるでしょ！公開ってそれやぶってんじゃん！というものです。

ただし、、、、
その脆弱性が生命の危機に直結する内容とかで、言っても放置しっぱなしとかならちょっと考えもんだぜ、、とも言っています。


<b>ちなみに個人で脆弱性発見しちゃった！公開！</b>の場合については、そもそも秘密保持契約があったかが大きいとのこと。
さらにいうとその契約方法に左右されるとのこと。『知り得た情報一切を秘密にしろ！』の場合は法に触れる可能性あり、逆に『これは秘密にして』と秘密の範囲が狭いものであれば違反とならないだろうとのこと！

ここで会社を持っている方は思うでしょう、とりあえず全部秘密にしてって書いておこうと、、、
しかし以下引用分があるのでなんでも秘密にすると独占禁止法に抵触するかも！？

ちなみにむやみに会社の脆弱性公開した場合『<b>名誉毀損罪</b>』に抵触する可能性があります。
なのでどこかの会社の脆弱性を発見したら、公に公開ぜずその会社に直に教えてあげて下さい。🙇‍♀️
例外もあるみたいですが結構あやふやで自分で判断するのは難しいと感じたため説明は省きます。
詳細は以下引用をご参考下さい。

<details><summary><font color=green>引用(クリックで開けます)</font></summary>ただし、刑法 230 条の 2 は、公共の利害に関する場合の特例として、事実の摘示行為が、 1公共の利害に関する事実に係り、2目的が専ら公益を図ることになったと認める場合に は、3事実の真否を判断し、真実であることの証明があったときは、これを罰しないと定め ているため、上記1ないし3の要件を満たす場合は、処罰はされないことになる。1に関し ては、対象ソフトウエアの性質、ユーザ数、マーケットシェア、脆弱性の程度等、2に関し ては、開示者の開示意図が個々のケース毎に判断されることになろう。</details>

さらにその脆弱性が事実でない場合は『信用毀損罪』(嘘を言って信用を落とす)に抵触する恐れありです。
なのでどこかの会社の脆弱性を発見したら、公に公開ぜずその会社に直に教えてあげて下さい。🙇‍♀️
大事なことなので2回言いました。


- **不正指令電磁的記録作成等の罪**

<font color=red>**JavaScriptコードが入れられるような脆弱性サイトに本来させるべき処理でない処理をさせた、それを教えるような行為はアウト**</font>

以下の引用文を参考にまとめると、本来Aの画面を表示させるべき所B画面を表示させてしまうような行為は罪になりますとのことです。

<details><summary><font color=green>引用(クリックで開けます)</font></summary>法的な観点から、「攻撃コード」の問題を考えるときに、我が国においては、「人の電子 計算機における実行の用に供する目的で、人の使用する電子計算機についてその意図に沿 うべき動作をさせず、又はその意図に反する動作をさせる不正な指令に係る電磁的記録そ の他の記録を作成し、又は提供した者」は「不正指令電磁的記録作成等の罪」(刑法 168 条 の 2 第 1 項)として処罰される。</details>

偽計業務妨害罪、電子計算機損壊等業務妨害罪、器物損壊罪に抵触する可能性もあるとのこと。


# なぜ抵触する恐れがあるか


- **不正アクセス禁止法**

owasp_zapの攻撃コードが見事的中し本来見えるべきでない所にアクセスしてしまうことがゼロではないから。

- **秘密保持契約違反**

owasp_zapなどで得られた情報を良かれと思って公開してしまうなどあるため。

- **不正指令電磁的記録作成等の罪**

owasp_zapの攻撃コードが見事的中し他サイトに意図とはんした処理をさせてしまうかもしれないから。

:sun_with_face:正直なところ、なかなかそんなことはないだろうと思っています。しかし可能性はゼロではないということです。

# 抵触しないように気をつけること

以下リンクのように他のサイトがインポート文である場合は、他のサイトに行かないようネットワークを調整してとのことです。誰か調整に関していい方法あれば教えていただきたいです。🙇‍♀️

または、制限するためのコンテキストを作成、設定して、プロテクトモードで行うこと。

<details><summary><font color=green>引用(クリックで開けます)</font></summary>脆弱性検査ツールによっては、検査対象のウェブサイト内のリンクを辿り、リンク先
のサイトにも検査をしてくれるものもある。そのため、検査対象ウェブサイトに自組織
管理外のウェブサイトのリンクが張られている場合、自組織管理外のウェブサイトへ無
断で検査をしてしまう危険性がある。このことから、検証環境は、外部や自組織のネッ
トワークと繋がっていない独立したネットワーク環境になっていることを推奨する。
参考:https://www.ipa.go.jp/files/000054737.pdf</details>

~~ちなみにowaspzapのコンテキスト設定してスコープ設定してプロテクトモードのすればいいのでしょ！っと思いましたがあくまでurlで表示される内部ページの制限ではなさそうです、、、、~~
私の設定がうまくいっていないだけでした。すみません。🙇‍♀️

# 主な参考URL

https://warp.ndl.go.jp/info:ndljp/pid/12446699/www.ipa.go.jp/files/000072543.pdf

https://warp.ndl.go.jp/info:ndljp/pid/12446699/www.ipa.go.jp/files/000054737.pdf


# メモ的なもの
いつか頑張れたら[情報処理の促進に関する法律](https://elaws.e-gov.go.jp/search/elawsSearch/elaws_search/lsg0500/detail?lawId=345AC0000000090)の内容を一読したい希望、、、

総務省のサイトこれいいのでこれも時間ある時みたい
https://www.soumu.go.jp/main_sosiki/joho_tsusin/security/basic/service/index.html

>そして、議論の結果、脆弱性について、IP A および JPCERT/CC が、その手続きにしたがって、脆弱性の検証をなして、脆弱性情報の深 刻さを評価し、適切な公表方法・公表態様により公表した場合には、そのような公表は、社 会的に相当なものとして認識される。
引用:https://warp.ndl.go.jp/info:ndljp/pid/12446699/www.ipa.go.jp/files/000072543.pdf

や


>無償の脆弱性検査ツールは、ツールの性能や検査精度等、全てを保証している訳ではな
い。全ての脆弱性パターンについて調査することは不可能であることや、発見できない脆
弱性もあることを認識して使用してほしい。検査実施後、検査結果に問題がないか判断で
きない場合には、検査結果についてセキュリティベンダーに相談することも検討して頂き
たい。
なお、セキュリティベンダーに有償で依頼しても同様に、全ての脆弱性を調査できる訳
ではないが、ある程度経験のある診断担当者が脆弱性検査を行うため、より精度が高い検
査を行える可能性が高い。そのため、費用対効果を分析し、重要度が高いウェブサイトに
対しては、セキュリティベンダーのサービスを利用する等の検討をしても良いだろう。
引用:https://warp.ndl.go.jp/info:ndljp/pid/12446699/www.ipa.go.jp/files/000054737.pdf