情報セキュリティ

よくわかるサイバー攻撃の種類!

最近、情報セキュリテイに興味が出てきて、本を読んだので、学んだことをまとめていこうと思う。私自身も初学者なのでわかりやすく説明できたらいいなと思っている。

今回読んだ本はこちら。

created by Rinker
¥858
(2019/10/24 14:10:25時点 Amazon調べ-詳細)

サイバー攻撃の内容を主にまとめていこうと思っている。こちらの本の古いバージョンも参照しました。

 

セキュリティの原則

情報セキュリティ(Information Securityは、情報の「機密性」(Confidentiality)、「完全性」(Integrity)、「可用性」(Availability) の3要素からなると定義しています。

 

「機密性」(Confidentiality)とは、権限者(アクセスを許可された者)と無権限者を明確に区別し、許可された範囲で活動できるようにする特性である。

 

「完全性」(Integrity)とは、データの正当性・正確性・網羅性・一貫性を維持する特性である。

 

「可用性」(Availability)とは、情報システムが必要な時にいつでも正常なサービスを提供できる状態を維持する特性である。

 

脆弱性(セキュリティ ホール)

 

脆弱性とは、コンピューターやソフトウェアにおいて、プログラムの不具合や設計上のミスが原因で発生したセキュリティ 上の欠陥。基本的には、プログラム作成上副次的に生じることが多く、脆弱性を完全にゼロの状態で製品を作るのは非常に難しい。

そのまま放置すると不正にアクセスされたり、ウィルスに感染したりして非常に危険である。

 

ゼロデイ期間

ゼロデイ期間とは、脆弱性を解消する手段がない状態で脅威にさらされる状況をいう。

脆弱性が発見されて修正プログラムが提供される日(ワンデイ:One day)より前にその脆弱性を攻略する攻撃は、ゼロデイ攻撃と呼ばれている。

 

開発企業は脆弱性を発見したらすぐに対策するべきであるが、パッチ(脆弱性が悪用されるのを防ぐ者)の作成にはある程度時間がかかってしまうので、このような期間が生じてします。

 

バッファオーバーフロー(BOF: buffer overflow )

バッファオーバーフローとは、入力データの処理に関するバグを突いて、コンピューターメモリに不正なデータを書き込み、システムへの侵入や管理者権限の取得を試みる攻撃手法である。

 

メモリには、スタック領域ヒープ領域があるが、基本的にはスタックBOFが行われる。

スタックとは、データ記憶構造の一種であり、最後に書き込んだデータが最初に読み出される後入れ後出し(LIFO:last in first out)となっている。

 

BOF攻撃の実行イメージは、メインルーチンからサブルーチンが呼び出されて、その中の変数がスタックに読み込まれるが、入力データがはるかに大きい場合、入力データをメモリ内の変数領域にコピーしてしまう。

この時サブルーチンの処理を終了したのに、戻り値が上書きされてしまっている。

攻撃者は、この入力データに不正なプログラムのアドレスをセットして攻撃する。

 

クロスサイトスクリプティング(XSS:cross site scripting)

一番多いサイバー攻撃。

クロスサイトスクリプティングとは、webサイト用に独自に作成されたアプリケーションプログラムに存在する脆弱性を利用した攻撃手法のひとつ。

 

ユーザーが入力データをもとに、webアプリケーションが動的にHTMLを生成する仕組みになっているページにおいて、入力データのチェックに不備があるために、意図的に仕組まれた不正コードが実行されてしまうという脆弱性を悪用した攻撃がある。

 

SQLインジェクション

(SQL文とは、データベースを動かすために使う文である。クエリとは、ソフトウェアに対するデータの問い合わせや要求などを一定の形式で文字に表現することを意味します)

SQLインジェクションとは、ユーザーが入力データをもとにSQL文を編集して、データベースにクエリを発行し、その結果を表示する仕組みになっているwebページにおいて、不正なSQL文を入力することでデータベースを操作したり、データベースに登録された個人情報などを不正に取得したりする攻撃手法である。

 

DoS攻撃(Denial of service)

 

DoS攻撃とは、ターゲットサイトに対して意図的に不正なパケットや膨大なパケットを送りつけることで、特定のサービスやターゲットサイトのネットワーク全体が正常動作ができない状態に陥れる行為である。

 

次のような攻撃の種類がある。2が比較的よく行われる手法である。

1CPUやメモリなどシステムリソースを過負荷状態、又はオーバーフロー状態にする。
2大量のパケットを送りつけ、ネットワークの領域をあふれされる。
3ホストのセキュリティホールを突いてOSや特定のアプリケーションを異常終了させる。

 

 

今回は、サイバー攻撃の種類について簡単にまとめました。これからも少しづつセキュリティのことについて学んでいこうと思ってます。少しでも皆さんのセキュリティ意識が向上すればいいなと思っております。