DoS(Denial Of Service攻撃とDDoS(Distributed Denial Of Service)攻撃は,Webサーバに対して,大量のアクセスを発生させてサーバのリソースを消費させ続け,実質的にサービスの提供を不能にする攻撃である. DDoS攻撃は,協調分散型DoS攻撃と呼ばれ,踏み台と呼ばれる複数のコンピュータを用いて標的とされたサーバ等に対して攻撃を行う.
SIMスワップまたはSIMハイジャックは,犯罪者が他者のSIMカードの複製を入手し,それを自分の端末へ挿入することにより他者になりすましアカウントの支配権を握る犯罪である.通話記録やメッセージ履歴など,アカウント上の情報やデータへアクセスできるようになり,銀行口座の操作まで行えることもある.
犯罪者は被害者のID,電話番号,フルネームなどの個人情報をフィッシングなどにより手に入れて,SIMカードの再発行を図る.このため,SIMスワップを防ぐには,個人情報の漏洩対策が重要になる.
多くのWebアプリケーションではデータベースの操作にSQLという言語を利用しており,ユーザから送信された検索語などのパラメータを受け取り,これをSQL文に埋め込んでデータベースへの問い合わせや操作を行っている.
SQLインジェクションは,このデータベースの操作を行うプログラムにパラメータとしてSQL文の断片を与えることにより,プログラムが想定していないSQL文を合成し,不正にデータベースの内容を削除したり,本来アクセスできない情報を表示させたりする攻撃である.また,そのような攻撃を許してしまうプログラムの脆弱性のことである.「インジェクション」とは「注入」という意味である.
SQLインジェクションは,パラメータをSQL文へ埋め込む際にチェックが行われていないために起こる.パラメータ中にSQL構文やSQL文で特殊な意味を持つ文字が含まれていないか調べ,含まれていた場合はこれを削除したり別の文字列に変換(エスケープ)するといった処理を組み込む必要がある.
コンピュータセキュリティにおけるインシデントとは,「情報および制御システムの運用におけるセキュリティ上の問題として捉えられる事象」である.情報流出,フィッシング詐欺,不正侵入,マルウエア感染,Webサイト改ざんなどがインシデントの例である.
国内が関連するインシデントに対応することを目的とした JPCERT/CC という組織があり,インシデント対応活動としてインシデントに関する報告の受け付け,対応の支援,発生状況の把握、手口の分析,再発防止のための助言などを行っている.
ウィルスは自己増殖型のプログラムである.ウィルスが実行されると自分自身を他のプログラムにコピーしようとする.ウィルスは実行可能ファイルの空きエリア等に入りこみ,実行開始アドレスであるエントリポイントを書き換えるなどして,ウィルスの本体部分が実行されるようにする.ウィルスは機械語プログラムばかりでなくシェルスクリプトによるものもある. このようにウィルスは独立したプログラムではなく,他のプログラムに寄生して動作するものである.
一方,ワームは独立したプログラムである.ネットワークを介して自らをコンピュータからコンピュータへと複写し増殖するのはウィルスと同様である.ワームは単独で存在し他のプログラムを変更することはほとんどない.ワームの多くは,他のデータやプログラムを破壊することは少なく自己を増殖させるためにネットワーク内の資源を消費し続ける.
CAPTCHAという語は,Completely Automated Public Turing test to tell Computers and Humans
Apart
(コンピュータと人間を区別する完全に自動化された公開チューリングテスト)の頭文字である.
プログラムにより自動で不正なログインをしたり,大量登録,迷惑な書き込みなどが行われるのを防ぐためのものである.ログインや登録で次のステップに進むとき確認のため文字入力を要求して,人間の目ではなんとか読み取れてもプログラムでは自動的に判読が難しい変形した文字の画像を表示している.正しく文字が認識できた場合,システムはそのユーザーがプログラムではなく人間であると判断する.
クレジットカード番号の規則性を利用して他人のクレジットカード番号を推定して不正利用する犯罪行為である.
クレジットカード番号 (16桁) は,ISO/IEC 7812規格とBINと呼ばれる銀行識別番号(6桁) によって構成されている.この規則性からクレジットカード番号を生成し,セキュリティコード,有効期限と組み合わせて何度もテストをすることで番号を割り出す攻撃手法である.
対策としては,入力制限を設けたり,reCAPTCHA などのボット対策が有効である.
クロスサイト・スクリプティングとは,アンケート、,掲示板,サイト内検索など,ユーザからの入力内容をウェブページに表示するウェブアプリケーションに対し,悪意のあるスクリプト(命令)を埋め込むことである. 攻撃者が対象となるサイトとは異なるサイトからスクリプトを送り込み,訪問者に実行せしめることからクロスサイト・スクリプティングと呼ばれる. これにより,ウェブページを表示した訪問者のプラウザ環境でスクリプトが実行されてしまい,次のようなことが起きる.
クロスサイト・スクリプティングの対策の基本は,動的にWebページを生成するアプリケーションにおいて,出力値のエスケープを適切に施すことである (出力中に存在するタグ等の文字がそのままHTMLとして解釈されないようにする).
受動的攻撃とは,攻撃側が悪意のある情報を攻撃対象に送信する積極的な攻撃ではなく,攻撃側が悪意のある情報をアクセスしてきた攻撃対象に返信する攻撃である.攻撃の起点の違いから受動的と呼ばれる.攻撃側が起点なら能動的攻撃,攻撃対象が起点なら受動的攻撃である.
攻撃対象が Webページの取得要求を攻撃側に送信すると,攻撃側はブラウザのぜい弱性を利用する悪意のある情報を含むWebページを攻撃対象に返信する場合などである.その結果,ブラウザのぜい弱性が突かれ,攻撃対象側で不正な処理が実行されてしまう.
通信回線を監視し,ネットワークへの侵入を検知して通報するシステムである.
侵入の検出アルゴリズムは,不正検出(Misuse detection)と異常検出(Anomaly detection)に分類することができる.不正検出は,あらかじめ登録されたシグネチャと呼ばれる侵入手口のパターンと照合することにより検出する手法である.既知の侵入手口を使った攻撃のみ検出することができる.一方,異常検出は,通常とは異なる振る舞いを検出する方法であり,未知の手法による攻撃も発見することができる.ログイン時刻や使用コマンド,ネットワークトラフィックの状況などが判断基準となる.
ユーザーに関する情報を収集し,外部の特定の情報収集者に送信するソフトウェアである.
スパイウェアには,次のようなものがある.
スパム (spam) とはインターネットを利用して,無差別かつ大量に不特定多数のアドレスに対して送信される電子メールなどのメッセージのことである.迷惑メールと呼ばれる場合が多い.
送りつけられるのを防ぐことは出来ないが,スパムメールを自動で判断し破棄してくれるスパムフィルターというツールでスパムの被害を軽減することはできる.
メールアドレスは不用意に公開しないこと,また,スパムメールには返事をしないで直ちに破棄するのが重要である.
セキュリティホールは,プログラムを開発する上で作り込まれてしまう欠陥(バグの一種)である.通常の利用では問題は発生しないが,攻撃者が悪用することでセキュリティ上の弱点になるものである.また,プログラムの運用や設定のミスにより引き起こされるセキュリティホールもある.個人情報をアクセス可能な場所に置いたり,ネットワークで使用していないポートを空けたままにしておくなどである.
セキュリティホールが発見されたら,すみやかにコンピュータの設定を変更したり,修正パッチなどでセキュリティホールを塞ぐことが重要である.
プログラムに存在するセキュリティ上の欠陥や不備であり,予期しない動作や結果をもたらす.セキュリティホールとも呼ばれる.
プログラム開発段階での設計,製造上のミス (バグ) が原因で発生する問題であり,これを悪用することにより,不正プログラムに感染させたり,不正アクセスが行われたりする.
ゼロデイ攻撃は,「OSやアプリケーションのセキュリティ・ホールを修正するパッチが提供されるより前に,実際にそのホールを突いて攻撃が行われたり,悪用する不正プログラムが出現している状態」を表す言葉として使われている. ゼロデイという言葉は,修正パッチが提供された日を1日(目)とすると,それ以前に攻撃が始まったという意味でそう呼ばれている.
ゼロトラストは,「決して信頼せず必ず確認せよ」を前提に対策を講じるセキュリティの考え方である. 従来のファイアウォールなどの境界型防御ではなく,ネットワークの内部と外部を区別することなく,重要な情報資産やシステムにアクセスするものは全てその正当性や安全性を検証することで,脅威を防ぐ. 具体的には,通信経路の暗号化や多要素認証の利用などによるユーザ認証の強化,ネットワークやそれに接続される各種デバイスの統合的なログ監視などを行う.
ネットワークやコンピュータへ侵入するために必要なパスワードなどのセキュリティ上重要な情報を,IT 技術を利用せずに盗み出す方法である.ソーシャルとは「社会」を表す言葉で,実社会における行動を通して情報を盗み出すことを意味している.次のような手口がある.
ネットワークへ物理的に接続し,通信の内容を盗み見ることである.物理的な侵入がなされなくとも,ネットワークに接続されたホストコンピュータへ侵入し,root権限を取得すれば同等のことができる.平文で流れているパスワードなどは簡単に入手されてしまう.
Webブラウザで参照するサイトは次の3つに分類できる.
中間者攻撃とは,通信しているユーザ A,B の間に第三者 X が介在し,A に対しては B ,B に対しては A になりすましてユーザが気付かないうちに通信を盗聴したり,通信内容を改竄したりする攻撃である.
中間者攻撃を防止するには,ディジタル署名により本人確認を行ったり,通信内容が改変されていないかどうかを確認するといった対策を講じる必要がある.
不正アクセスや機密情報漏洩などコンピュータに関する犯罪や法的紛争・訴訟が生じた際に,電子的記録の証拠保全や収集・分析を行うとともに,電子的記録の改ざん・毀損等の分析に関する一連の科学的調査手法・技術の総称である.
"forensics" には「法医学」,「科学捜査」,「鑑識」といった意味がある. ディジタル・フォレンジックはコンピュータ・フォレンジックとも呼ばれ,コンピュータ内部を調査して法的証拠を見つける手法である.
トロイの木馬とは,他のプログラムのふりをしてそれを実行する人を騙し,別の機能を実行してしまうもののことである.典型的な例がloginのまねをするプログラムである.このプログラムは,ログイン名とパスワードを受け付けてから,''login incorrect''のメッセージを出力し,本物のloginプログラムに制御を移行しユーザにパスワードを誤入力したと思わせる.これによりユーザのパスワードが取得されてしまう.
Webブラウザなどを介して,ユーザに気付かれないようにマルウェアなどの悪意のあるソフトウェアをダウンロードさせる攻撃である.DBD攻撃では,ダウンロードに用いられるスクリプトやコードが埋め込まれて改ざんされたWebサイトを閲覧するだけで感染してしまうこともあり,被害を受けたことに気付かないことが多い.
主にWebブラウザ,OSやその他のソフトウェアの脆弱性やセキュリティーホールを突くようにして行われることが多いため,この攻撃を回避するためには,ウイルス対策ソフトやファイアウォールの導入などと共に,搭載ソフトウェアを最新状態を保つことが重要である.
ハッキングとは,コンピュータ技術に熟知した者が行うハードウェア・ソフトウェアのエンジニアリングを意味する.一般的に知られた方法とは異なる手法や意外な手法により問題を効率的に解いたり,それまでできないと思われていたようなことを可能にしたりする. ハッキングとは,特定の技術ではなく,対象となるハードウェアやソフトウェアにより必要な知識や具体的な技術は異なる.
ハッキングの技能は元来深い知識と高度な技術を必要とするものであり,そのような技術者がハッカー(hacker)と呼ばれている.ハッキングという言葉自体は善悪の要素を持っていないが,ハッキングの結果として他人のコンピューターに不正に侵入するなどの行為を行えば犯罪になる.これはハッキングとは呼ばず,クラッキングと呼ぶのが本来の用語の使い方である (クラッキングを行う者がクラッカー). しかし,犯罪行為を行う者が自らを「ハッカー」と称したりしたため,ハッカーとはこのような者たちであると言う認識が広まり,ハッカーとクラッカーが同一視される事も多くなっている.
バック・ドアとは裏口のことで,プログラム内にデバグ用途などのために通常のルートとは別に設けられたアクセスルートのことである.このようなバック・ドアを経由したアクセスでは,正規のアクセスでは行なわれるチェックが省略されていたり,デバグ用の特殊な機能が実行できたりする.
デバグが終了し一般に提供される段階でもバック・ドアが残っていることは通常無いが,システムに外部から侵入されバック・ドアが仕掛けられることはあり得る.
バッファ・オーバフローとは,プログラムの実行においてスタックに確保されたデータ領域を超えてデータを書き換えてしまうことである.通常は,メモリー違反を起こしプログラムが停止してしまう.しかし,バッファ・オーバフローを利用してスタック上のプログラムのリターンアドレスを書き換えることで,プログラマが意図しない処理(悪意あるプログラム)を実行できてしまう.バッファ・オーバフローは,セキュリティホールの一種である.
バッファ・オーバフローは,主に C/C++ 言語のプログラムで起こる.コンパイラやツールを使って,バッファ・オーバフローを発生させる可能性がある箇所を検出する.
特定の個人や組織を狙った攻撃である.典型例は,標的とした企業の社員に向けて関係者や別の社員を装ってウィルスメールを送信して標的のパソコンをマルウエアに感染させる手法である.実在する部署や社員の名前などを記載することで相手を信用させて攻撃の成功率を高めている.また,ターゲットとなる組織の情報が盗み出せるまで様々な手口を使って攻撃が行われる.
マルウエアへの感染には,しばしばメールの添付ファイルが使われる.添付ファイルは,ごく一般的なPDF形式等のファイルであり,ファイルの内容にも不自然さはない.ただし,そのファイルに罠(バックドア)が仕掛けられている点が本物とは異なる.添付ファイルを参照したりすると感染するものである.
外部の信頼できないネットワークから内部のコンピュータネットワークへ不正に侵入しようとするクラッキング行為を火事に例え,それを食い止める役目を果たすソフトウェア(あるいはそのソフトウェアを搭載したハードウェア)をファイアウォール (防火壁:Firewall) という.
ファイアウォールを導入すれば,外部の攻撃から内部ネットワークを守り,セキュリティを大幅に高めることができる.しかし,ファイアウォールですべての攻撃を完全に防げるわけではない.例えば,コンピュータウイルスの侵入や,ファイアウォールをバイパスするコネクションや未知の脅威などは保護することができない.
フィッシングは造語で,fishing(釣り)ではなく,phishingと書く.
騙して釣り上げることと,手口が洗練されているという意味が含まれている.
実在する企業(銀行やクレジットカード会社などの金融機関,電子商取引をする事業者)のWebサイトを模して作り上げた偽サイト(フィッシングサイト)へユーザーを誘導し,クレジットカードに関する詳細な情報や,登録してあるID・パスワードなどを入力させて騙し取るのがフィッシング詐欺である.
特定の個人や団体を狙うフィッシング詐欺をスピアフィッシング(spear phishing)という.相手の素性を調べた上で,関係者を装ってパスワードなどの個人情報を聞き出すなどの手口が採られる.スピア型攻撃とも言う.
Webページの訪問者に対して,連続的に新しいウィンドウを開いたり,電子メールのメッセージウィンドウを開いたりすることで,訪問者のコンピュータに異常な動作をさせる Webページのこと(ブラクラと略称される).コンピュータが過負荷状態になり,キーボードもマウスも動かなくなり,停止してしまうこともある.
JavaScript で処理を無限ループさせる,電子メールの作成画面を起動するマークアップを大量に記述しメール作成画面を無限に開かせる等,の種々の手段が採られる.
通信プロトコルの TCP あるいは UDP には,0~65535 までの番号が振られたポートと呼ばれる仮想的な情報の受信口/送信口がある.通信の種類によって利用されるポートが決まっている.ポートの中には,異常な動作や安全上の問題があると目されるポートも幾つか存在している. 欠陥のあるポートは,外部からの攻撃に悪用される危険性があるため,使用しているネットワークやサービスに関する情報を調べて不用意に問題のあるポートは使用しないよう設定しておく必要がある.
ポートスキャンは,現在通信に利用可能な開いているポートを探すため,一通り信号を送ってチェックする操作である.本来管理者が空いているポート等を確認するために使うものであるが,悪意ある攻撃者が侵入できるポートを探すためにも使われる.
コンピュータウイルスの一種であり,コンピュータに感染し,そのコンピュータをインターネットを通じて外部から操ることを目的として作成されたプログラムである.
感染すると,悪意を持った攻撃者がコンピュータを操り,迷惑メールの大量配信,特定サイトの攻撃,DDoS攻撃等の迷惑行為の他,コンピュータ内の情報を盗み出すスパイ活動など深刻な被害をもたらす.この操られる動作が,ロボット(Robot)に似ているところから,ボット(BOT)と呼ばれている.
ボットは,感染したとしても従来のウイルス/ワームに比べて目に見える特別な症状が現れ難く,ユーザに感染を気づかせない特徴がある.
マルウェアの一種であり,感染したコンピュータをロックしたり,ファイルを暗号化したりして,コンピュータの動作を制限ないし使用不能にする.その後,元に戻すことと引き換えに利用者へ身代金を要求する.身代金要求型不正プログラムとも呼ばれる.
管理者(ルート) の権限を奪うためシステムに侵入したクラッカが,継続的にシステムを支配するため利用するソフトウェアパッケージ(キット)のことである.
セキュリティホールなどを利用して他人のコンピュータに不正侵入を行った攻撃者が,侵入の痕跡を示すログを削除するツール,侵入口が塞がれても再び侵入できるようにする裏口(バックドア)ツール,侵入に気付かれないための改ざんされたシステムコマンド群などが含まれる.
マルウェアは,「悪意のある」と「ソフトウェア」を組み合わせた造語であり,不正かつ有害な動作を行う意図で作成されたソフトウェアの総称である.いわゆる「悪意のある不正ソフトウェア」または「不正プログラム」と呼ばれるものである.
マルウェアの例としては,ウイルス,バックドア,スパイウェア,キーロガー,トロイの木馬などがある.
利用者に何らかのセキュリティリスクを負わせる可能性のあるプログラムの総称である(悪意が潜在するソフトウェア).
本来は,正当な利用を前提としたものであるが,ある特定の条件で使用したり,悪意を持ってそのソフトウェアを使用すれば,セキュリティ上の脅威となる.
リスクベース認証は,リスク・レベルを各ログイン・リクエストに割り当てることで,従来のパスワード・ベースのシステムを強化する多要素認証システムである.各アクセス・リクエストに関連づけられたリスクを判断,評価し,認証方式を変更する.
具体的には,ユーザが利用している環境を総合的に分析し,普段と異なる環境からのアクセスと判断した場合に,ユーザ ID・ログインパスワードによる認証に加え,合言葉 (秘密の質問と答え) などによる追加認証を行う.これにより,フィッシング詐欺などでパスワードなどが盗まれた場合でも,第三者の不正利用を防止することができる.
事前に用意したアカウント情報(IDとパスワードの組合せ)を元にログインを試みる不正アクセス手法である.
この攻撃で用いられるアカウント情報は,他のサービスなどから不正に入手したリストである.総当たり攻撃よりもユーザが実際に使っている文字列の組合せに当たり易く,不正ログインが成功し易い.ユーザがアカウント情報の使い回しをしている可能性があるからである.
ネット上のWEBサイトにおいて,クリックしただけで「ご入会ありがとうございます」,「登録完了」などと表示し,ネットの初心者を騙してお金を巻き上げる詐欺である.
ただ単にサイトにアクセスしただけなので,実際には会員登録などはされておらず,無視するのが良い.心配して連絡などすると相手の思う壺になり易い.
ワンタイムパスワード(OTP:One Time
Password)は,パスワードを一度きりの使い捨てにし,認証が必要なシステムにアクセスするたび毎回異なるパスワードを使うようにするものである.万一パスワードが盗み見られても,次回はそれを使わないので安全性が保たれる.
OTP
の基本的な考え方は,あらかじめ認証し合う両者がパスワードの一覧表を持っておき,表中のパスワードを順番に使っていくというものである.実際には,表を持つ代わりにあらかじめ決められた規則に従って,双方でパスワードを生成して認証するようになっている.