理解が難しい情報セキュリティの用語

応用情報技術者試験午後問題問一（必須）の**情報セキュリティ**の問題から、ポイントをまとめた。

#内部不正防止ガイドライン
###①犯行を難しくする（やりにくくする）
対策を強化することで犯罪行為を難しくする
###②捕まるリスクを高める（やると見つかる）
管理や監視を強化することで捕まるリスクを高める
###③犯行の見返りを減らす（割に合わない）
標的を隠したり、排除したり、利益を得にくくすることで犯行を防ぐ
###④犯行の誘因を減らす（その気にさせない）
犯罪を行う気持ちにさせないことで犯行を抑止する
###⑤犯罪の弁明をさせない（言い訳させない）
犯行者による自らの行為の正当化理由を排除する


#頻出攻撃一覧

##ディレクトリトラバーサル
名前が覚えにくい。「ディレクトラルサーバ」と間違えがちである。
尚、サーバは関係ない。

午後の記述で注意が必要である。
相対パスなどを使って、ディレクトリを**横断する**ことで、非公開のディレクトリに不正にアクセスすること。
ディレクトリをトラバーサル（「横断する」という意味）すること。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1651134/aec6c363-7389-a49e-a225-36df0b21ecbc.png)

**対処法**：ユーザに入力させるパラメタのチェック

##バッファオーバーフロー攻撃
後述あり。
名前をミスしやすい。
バッファの許容範囲を超えるデータ量を送りつけて、意図的にオーバーフローにすること。

**オーバーフロー**
数値演算を行う際に計算可能な範囲を超えてしまう事を指す。

**対処法**：許容範囲を超えたデータの入力を禁止する

##SQLインジェクション
入力時にSQL文の一部を入れて、DBを不正に削除した離、入手する攻撃方法。

**対処法**
1. **サニタイジング**
データベースへの問い合わせや操作において特別な意味を持つ文字を無効にする

2. **バインド機構**
プレースホルダ―（変数）を使用したSQLを準備し、実行の際には入力値をプレースホルダーに入れて実行する。
 
##フィッシング
実際の企業を装ったメールで個人情報を抜き取る
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1651134/1b60a430-935d-4134-42a1-01127149ff4e.png)

##DNSキャッシュポイズニング
「ポイジング」とミスしないようにしよう。

DNSに偽のドメイン情報を一時的に覚え込ませる攻撃。
成功すると、利用者は偽のwebサイトへ誘導される。

**対処法**：DNS問い合わせに対する応答に、ディジタル署名をつけて正当性を確認する（DNSSEC）


##クロスサイトスクリプティング
「スプリッティング」ではないので注意。
攻撃者が用意した「スクリプト」を閲覧者のブラウザを通じて脆弱なサイトに送り込み、閲覧者のブラウザ上でスクリプトを実行する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1651134/299c4971-b322-88bf-4a11-034bea0c729b.png)

#ISMS


#サイバーセキュリティ経営ガイドライン
経営者が認識する必要のある「3原則」、及び経営者が情報セキュリティ対策を実施する上での責任者となる担当幹部（CISO等）に指示すべき「重要10項目」をまとめたもの。

cf:情報セキュリティ方針
経営者が，「情報セキュリティについて方針」を示し，マネジメントシステムの要求事項を満たすルールを定め，組織が保有する情報を「CIA」の観点から維持し，継続的に見直すためのプロセス及び管理策を体系的に規定したもの

#危殆化する
脆弱でない、頑丈なという意味。
記述で使うかもしれないので記載しておく。

#ハッシュ関数
ハッシュ値から元の値を見つけることはほぼ不可能だが、**ハッシュ関数**とハッシュ後の値がわかっている場合であれば、元の値になりうる前パターンをハッシュ関数にかけ、ハッシュ後の値と比較すれば、わかってしまう！



#プロキシサーバ
プロキシサーバとは、アプリケーションゲートウェイ型ファイアウォールのうち、特にhttpを扱うもの。
といってもピンと来ないのだが、この図は非常にわかりやすい。

[プロキシを利用したウェブサイト表示の流れ]
<img src="https://ascii.jp/img/2020/10/16/3108094/l/5cb585bc4fd70a7e.jpg">
出典：ESET/マルウェア情報局「リバースプロキシとプロキシ、その仕組みと役割の違い」



一言で表すと、社内LANなどの内部からインターネットにつながるときの中継役です。

「そんな面倒なことをしないで、インターネットに直接つなげばいいのに」と思ったため、メリットも調べてみました。

・キャッシュを保存できるため、表示を高速化できる
・プロキシサーバにユーザ認証機能をつければ、社内のユーザーのみの利用制限や、不正なネットワークの利用の予防になる。



後者の認証機能を持つプロキシを「認証プロキシ」と呼ぶらしいです。
しかし、認証プロキシを導入しても、ブラウザの「認証パスワードの保存」や「オートコンプリート機能」などによりID／パスワードが端末に保存されている環境では、マルウェアにID／パスワードを入手されてしまうため、そのセキュリティ効果が薄れてしまいます。

このため、認証プロキシを導入した際には**ブラウザのオートコンプリート機能を無効にする**必要があります。



ちなみに、リバースプロキシサーバとは、**内部サーバ**の代理として、クライアントからの要求にこたえるサーバ。


[リバースプロキシを利用したウェブサイト表示の流れ]
<img src="https://ascii.jp/img/2020/10/16/3108093/l/e7e85b3cb879ec80.jpg">
出典：ESET/マルウェア情報局「リバースプロキシとプロキシ、その仕組みと役割の違い」


プロキシサーバと流れの向きが逆になっているので「リバース」です。


**◎プロキシサーバは、ブラウザの代理。
リバースサーバは、サーバの代理。**

#DMZ
ファイアウォールの外部と内部の両ネットワークの中間に設けられたネットワーク領域のこと。

DMZには、外部からアクセスを受け付けるサーバを置きます。
会社でいうと、たとえば社外メールを受け取るサーバや、会社の情報を消費者向けに公開するためのWebサーバなどが該当しますね。


外部との接触があるサーバ群をDMZにて隔離することで、内部の極秘情報などが誤って漏洩してしまうことを防げます。



#WAF（Web Application Firewall）
WAFとは、Wabアプリケーションのやり取りを監視し、アプリケーションレベルの不正なアクセスを阻止するファイアウォール。

Webブラウザからの通信内容を検査し、不正とみなされたアクセスを遮断します。


###TLSアクセラレータとWAF
試験では、WAFをどこに設置するかが問われやすいです。
そこで大事になるのが<b>TLSアクセラレータ</b>。

TLS(Transport Layer Security)とは、インターネットなどのTCP/IPネットワークで<b>データを暗号化して送受信するプロトコル（通信手順）</b>の一つです。
プロトコルとは、通信するときに使う約束のことなので、データを暗号化して送るというル―ルの一つということですね。

TLSアクセラレータは、暗号化と復号の処理を行い、HTTP→HTTPSに、HTTPS→HTTPにそれぞれ変更します。

つまり、TLSアクセラレータの前後でHTTPS通信とHTTP通信が切り替わります。
WAFはTLSアクセラレータとWebサーバの間に設置します。



#VPN（Virtual Private Network）
VPNとは、仮想専用線とも訳される、インターネットを専用線のように使う技術です。

通信の内容が暗号化されているので、通信経路としてネットを利用しても、途中でパケットを解読することができません。


VPNを構築する時に利用されているのが、ネットワーク層のプロトコルである<b>Ipsec(IP Security)</b>です
Ipsecは、IPレベルでの暗号化や認証を行います。


#レインボー攻撃
よく使われる単語や記憶しやすい文字列など、パスワードとなりうる文字列のハッシュ値を事前に計算し、パスワードを効率よく見つける方法。

総当たり攻撃（ブルートフォース攻撃）と違い、効率重視な攻撃ですね。




#ディジタルフォレンジックス
ログやアーカイブなどによって法的な証拠性を明らかにすること

#S/MIME
メールのセキュリティをパワーアップさせる仕組み
（MIME＝メールで日本語や画像を使うために作られたお約束事）

Sは、Secure(安全な)のS。
メールを<b>暗号化</b>して電子署名をつけたことでメールのセキュリティをアップさせる。

#SSL/TLS
SSLもしくはTLSだよという意味。

SSＬとは、インターネット上の通信を暗号化する仕組み。Ｐが付いていないが、プロトコルの一種。

TLSとは、SSLの後継者的ポジションのやつ。

#アクセスポイント

無線LANを使うノードは、アクセスポイントと呼ばれる無線LANと有線LANの中継点を介してネットワークに参加する。

#家庭無線LANのセキュリティ対策ポイント
1. ESSIDの設定
ESSIDとは、アクセスポイントの識別子。どのアクセスポイントにつなぐかを設定できる。

2. MACアドレスフィルタリング
端末のMACアドレスで接続の可否を制御。

3. 暗号化方式の設定

#WEP
（Wired Equivalent Privacy）
暗号化方式。W
EPキーという**共通鍵**を用いて無線LANのアクセスポイントとクライアント間で送信するパケットを暗号化する。
ただし、現在は脆弱性が発見されたため、使用は推奨されていない。

#WPA
代わりに出たのが<b>WPA（Wi-Fi　Protected Access）</b>。
ESSIDに加え、<b>TKIP（セッションごとに暗号カギを自動で更新するプロトコル）</b>を採用し、一定期間ごとに更新する。

###WPAの二つのモード
認証モードが二つある。
1. パーソナルモード：家庭用。PSK（Pre-Shared Keyと呼ばれるパスワード）を使う
**※アクセスポイントに設定されているのと同じSSIDとパスワードが設定されている端末だけを接続！**

2. エンタープライズモード：IEEE802.1Xを使う。




#パスワードを盗む系の攻撃（パスワードクラック）
###➀辞書攻撃
辞書にある単語を片っ端から入れていく。
対策：辞書にある単語を入れない

###②ブルートフォース攻撃
総当たり攻撃。文字の組み合わせであらゆるパスワードでログインを何度もする。
対策：ログインの試行回数に制限を設ける

#認証関係
##チャレンジレスポンス認証
➀サーバで生成される**チャレンジコード**と②互いに補完されるパスワードとチャレンジコードから作られた**ハッシュ値**だけがネット上を流れる。
↓↓
パスワードがネット上に流れないので、盗聴に効果〇。
ハッシュ値はハッシュ関数によって得られるので、**ハッシュ値だけを盗聴されてもパスワードは復元できない。**（不可逆関数）

##シングルサインオン
ユーザ認証を一度だけ行うことで、複数のサーバへのアクセスについても認証する
+ Cookie型
    + サーバが認証のための情報を生成し、クライアントに送信。
    + クライアントはこれを保存し、他サーバでの認証の際に自動で送る。
+ リバースプロキシ型
    + ユーザはリバースプロキシ（サーバの代わり）にアクセスし、認証を受ける。
    + ユーザは、このリバースプロキシを通じて他サーバに接続するため、リバースプロキシが自動で認証する。
    
##バイオメトリクス認証
→本人を間違えて拒否する確率と、他人を間違えて許可する確率の双方を勘案すべき。

##リスクベース認証
**普段とは異なる環境からの認証要求**に対しては、追加の認証をする。

##２要素認証
パスワードなどの知識による認証、ＩＣカードなどの所有による認証、指紋などの特徴による認証の3つの中から2つを組み合わせて認証を行う。

##CAPTCHA認証
ゆがめたり一部を画したりした画像から文字を判読させ、入力させることで、人間以外による自動入力を排除する。

#リモートアクセス関係
##PPP
リモートアクセスのプロトコル。
二点間の通信を行うためのデータリンク層のプロトコルで、HDLC手順がベースになっている。


##RADIUS認証システム
アクセスサーバと認証サーバを**分離**すること。
DＭＺとほとんど同じ考えで、IDやパスワードと言った大事な情報は認証サーバにおいておき、外には出さない方法。

#デジタル署名
**➀改ざん②なりすまし➂否認防止（主張された事象又は処置の発生）**を防ぐ

##（頻出）デジタル署名の方法
公開鍵暗号化方式では、送信者が**受信者の公開鍵**を用いて暗号化したが、ディジタル署名では、送信者が**送信者の秘密鍵**で署名をつくり、平文と共に受信者に送る。

受信者は、送信者の公開鍵で復号化する。

##メッセージダイジェスト（ハッシュ値）
メッセージが長いとディジタル署名も大きくなることを防ぐため、平文に対してハッシュ演算を行い、得られた**固定長**のメッセージからディジタル署名を作る。

#PKI
公開鍵基盤。
公開鍵暗号方式を利用した認証および盗聴防止基盤の事。
証明書の作成や管理。
PKIによって、第三者である**認証局（CA）**が**ディジタル証明書**を発行することで、**公開鍵が送信者のものかどうか**を証明。

※ただし、そのディジタル署名が正当な秘密鍵によって作成されたものであることはわかるが、**秘密鍵を使ったのが正当な送信者かどうかは不明**。

#コンピュータウイルス対策
###➀ウイルスチェックソフト
###②セキュリティパッチ
　cf:ゼロデイ攻撃（セキュリティパッチが提供される前に攻撃
）
###➂ビヘイビア法
→未知なウイルスやポリモーフィック型ウイルスへも対応可能。
検証対象の挙動を監視し、よく見られるウイルスの行動なら検知する。

#ネットワークセキュリティ
##IDS
（Intrusion　Detection　System）
侵入検知システム。
システムに対する侵入侵害を検知する。

##IPS
（Intrusion　Prevention　System）
IPS侵入防止


#アクセスコントロール
機密性のために、ユーザの識別や認証などを行うこと

#★ポートスキャン
攻撃を行うコンピュータの全てのポートにパケットを送信し、応答の有無を確認することで、そのコンピュータが**どのようなサービスを動かすか**を推測。
脆弱性の調査をして攻撃。
例）TCPスキャン・UDPスキャン


#バッファオーバフロー攻撃
バッファの許容範囲を超えるデータを送りつけ、意図的にバッファをオーバフローさせ、悪意のある行動をする。

#セッション管理
セッションとは、通信などにおける論理的な意味での開始から終了まで（を意図する単位）の事。

「整理番号を払い出しちゃうぜ作戦」によって、一期一会だったのを「あぁ、また来たのね」と分かるようにして論理的な意味での開始から終了までを管理するぜ！
がセッション管理です。

#代表的な有名なドメイン認証技術
##SPF
あらかじめ正当な送信メールサーバのIPアドレス情報を**SPFレコード**に書いておき、受信者はDNSへの問い合わせを通じて確認することで正当な送信者か判断する仕組み。

##DIKM
送信元が**ディジタル署名**を行い、受信者がそれを検証する。

###送信元メールアドレスのなりすまし
標的型メール攻撃では攻撃者の身元を隠ぺいするため、**送信元メールアドレスが詐称されている**（実在しないドメインを使用している）ことがほとんどです。

実在しないドメインに対してSPFの検証が行われた場合、SPFレコードが見つからないため「None」と評価され、その結果はメールヘッダの Received-SPF フィールドに記録されます。

SPFの検証結果が「None」のときにアラートの表示・通知などを行えば、送信元メールアドレスのなりすまし行為を検知できます。また、設定によって受信拒否することも可能です。

#ランサムウェア
 感染した端末やそこに保存されているファイルを使用不能にし、その解除と引き換えに身代金（Ransome）を要求するマルウェア*（Malware） のことです

+ 暗号化型：
端末に保存されている文書や画像などのファイルを暗号化するタイプ
+  端末ロック型：
端末（OS）そのものを操作不能にするタイプ

#マルウェア感染リスクを抑えるには
利用時間外はLANから切り離す。
感染したPCを直ちに隔離するのと同じ考え。


# コンピュータウイルスの分類
##ウイルス
他のプログラムに寄生する。

##ワーム
独立して破壊活動を行い、自己の増殖もする。

##トロイの木馬
通常は有用なプログラムとして動作するが、きっかけが与えられると破壊や増殖する


#サンドボックス
システムに影響が及ばないよう保護された特別な領域。

###ハニーポット
ダミーとして扱われるサーバやネットワーク機器。
攻撃のログをとることで、攻撃者の特定をする。

#SEIM
**ログデータ**を管理し、怪しい動きは**通知**する係。

#不正検知方法
##シグネチャ方式
既知の攻撃パターンと合致するものを探す。
→検知は少ない。

##アノマリー方式
正しいパターン以外を検出する。
→検知が多い

###フォールスネガティブ
→間違えた・否定的
→本当はマルウェアなのに、**マルウェアではない**と判断すること


###フォールスポジティブ
本当はマルウェアではないのに、**マルウェアである**と判断すること


#セキュリティ概念
1. 機密性：正当なユーザだけがアクセスできる
2. 完全性：情報が完全で、改ざんや破壊がない
3. 可用性：ユーザが情報が必要な時に使える