【試験直前ッ】基本情報・応用情報の午前チートシート|セキュリティ編
このコンテンツは、基本情報技術者試験・応用情報技術者試験に挑む方向けの午前チートシート(随時更新)です。
前日や試験直前に一瞬見るだけでも良いと思います。「おかげで2問解けた!見といて助かった!」となるコンテンツを目指します。
また、何の略語であるかをできるだけ記載しました。役立てていただけると幸いです。
他の記事はこちらをご覧ください。
【試験直前ッ】基本情報・応用情報の午前チートシート|ネットワーク編
【試験直前ッ】基本情報・応用情報の午前チートシート|システム編
【試験直前ッ】基本情報・応用情報の午前チートシート|データベース&プログラミング編
【試験直前ッ】基本情報・応用情報の午前チートシート|テクノロジー編
【試験直前ッ】基本情報・応用情報の午前チートシート|開発・マネジメント編
セキュリティ
エクスプロイトキット(exploit kit)
エクスプロイトを利用した攻撃を簡単に行うために複数の不正プログラムを使った攻撃や感染拡大を構築できるソフトウェアパッケージです。ちなみにエクスプロイトとは、アプリケーションやOSの脆弱性を利用して攻撃する不正なプログラムコードです。
レインボー攻撃
攻撃者が任意の文字列とその文字列に対するハッシュ値をリスト化します。これをRテーブル(raindow table)と呼びます。不正にハッシュ値を入手できたらそのRテーブルからもとのパスワードを求めるという手法です。パスワードにソルトと呼ばれる任意の文字列を加えてハッシュ化すれば、不正にハッシュ値を入手されたとしても、Rテーブルを作ることが難しくなり、レインボー攻撃を防ぐことができます。
IDS(instruction detection system)
detectionなので、検知する役割です。侵入検知システムのことです。ネットワークを監視して、不正な侵入やその兆候を検知した場合にネットワークの管理者に警告を通知します。IPSとは違い、検知するだけです。
マルウェアソフトの誤検知と見逃しについて
上にあげたIDSやIPSなどのセキュリティソフトには誤検知や見逃しが発生してしまう場合もあります。下の図のように、誤検知(fasle positive)と見逃し(false negative)は区別されています。
不正 | 不正ではない | |
検知 | OK | フォールスポジティブ(誤検知) |
未検知 | フォールスネガティブ(見逃し) | OK |
統計の仮説検定の分野では、第一種の過誤や第二種の過誤と呼ばれる部分です。
気になった方は【統計検定2級】第一種の過誤と第二種の過誤についてをご覧ください。
WAF(webapplication firewall)
パケットのヘッダ情報の検査だけでなく、通信先のアプリケーションプログラムを識別して通信を制御します。ファイヤーウォールだけでは防ぐことができない、webアプリケーションの脆弱性を狙った攻撃に対して有効です。
WAFやFWは何を検知しているのか
WAFとFWとでは、通信パケットの通過を許可するために調べるものが異なります。WAFは、webアプリケーションに渡されるPOSTデータを用います。それに対して、FWは送信元と宛先のIPアドレスとポート番号を用います。ちなみに利用者のPCから送信されたURLは、コンテンツフィルタリングが用いる材料です。
SPF(sender policy framework)
メールを送信してきたサーバーのIPアドレスから電子メールの送信元ドメインの詐称がないことを検査して、確認するための仕組みです。効果として、なりすましを検知することができます。ちなみにですがSPFでは、送信ドメインの詐称の確認にデジタル署名は利用しません。
サイドチャネル攻撃
IT機器に対する攻撃手法の一つです。機器自体の物理的な特性の変化を外部から検知して本来読み取れない情報を盗み取る手法です。暗号機の盗聴などに使われます。
クリックジャッキング攻撃(click jacking attack)
罠ページの上に別のWebサイトのiFrameを利用して表示させ、透明なページを重ね合わせることで不正なクリックを誘導する攻撃のことです。対策としては、HTTPレスポンスヘッダに、X-Frame-Optionsヘッダフィールドを出力し、他のドメインのサイトからのframe要素やiframe要素の読み込みを制限することが挙げられます。
C&Cサーバ(command and control server)
悪いやつです。ボット感染したコンピュータに対して他のコンピュータへの攻撃などの不正な操作を外部から指示し、ターゲットとなるコンピュータを攻撃するサーバです。
プロキシサーバの利用者認証を窃取されると、プロキシサーバを経由して内部のネットワークと外部のネットワークとの間で通信が可能になり、C&Cサーバが野放しになってしまいます。
カミンスキーアタック
悪意のあるサイトに誘導することを目的にDNSのキャッシュに誘導するための偽情報を埋め込む攻撃です。DNSキャッシュポイズニングの一つです。ちなみにDNSは、domain name serverであり、IPアドレスからホスト名を取得したり、ホスト名からIPアドレスを取得したりするシステムです。
チャレンジレスポンス認証方式(challenge response authorization)
目的としては、通信途中にパスワードが盗聴されないようにすることです。サーバが作成した乱数(これをチャレンジと呼びます)とパスワードから発生させた一方向関数を使って計算させたレスポンスを作成してサーバに返し、クライアントの認証を行います。わかりやすくいうと、乱数とレスポンスを返せば、「パスワードを知っていることの証明」になるので、通信そのものにパスワードを流す必要がなく、そもそも盗聴の余地がなくなるということです。
RSA
公開鍵暗号方式の一つで、非常に大きな数の素因数分解が困難なことを利用しています。開発に関わった3人の頭文字が入っているだけで、何か意味のある略ではないです。SSL(secure socket layer)で用いられています。
これに対して、楕円曲線暗号という公開鍵暗号方式の一つがあり、RSAに比べて短い鍵長で強度の高い暗号化が可能です。ネットワーク型電子マネービットコインの暗号化で用いられています。
静的解析
解析する検体をネットワーク上の通信データから抽出して、さらに逆コンパイルして取得したコードから検体の機能を調べます。
サンドボックス(sand box)
システムに影響を及ぼさないように隔離されている領域のことで動的解析に使います。他のプロセスやファイル等のリソースから隔絶し、安全に実行させる技術です。静的解析には使わないのでご注意ください。
ポートスキャン(port scan)
各ポートにアクセスして、脆弱性のある侵入口を探す行為です。OSの種類やバージョンを知られると攻撃に繋がります。ファイヤーウォール(fire wall)で防ぐことができます。他にも不要なサービスを停止しておくなどの根本的な解決方法もあります。
ボットネット(bot net)
C&Cサーバーと一緒に覚えてください。まず感染したコンピュータを乗っ取ります。その後、遠隔操作を行うボットというマルウェアに感染した多数のゾンビコンピュータと遠隔操作を行うC&Cサーバで構成されたネットワークのことです。
SSLサーバ証明書を埋め込むのはどこ?
下の図において、SSLサーバ証明書(公開鍵付き)を埋め込むのはどこでしょうか?正解は、ロードバランサです。ロードバランサは外部のインターネットからの通信を、HTTP通信化HTPPS通信かで区別し、別のリバースプロキシに振り分けてくれます。証明書を埋め込む機器には、秘密鍵がついていないとマズイので、ロードバランサには秘密鍵も導入されます。
ロードバランサがHTTP/HTTPSかどうかを区別するには、クライアントから送られてきたCookieのデータが平文として復号されている必要があります。そして、SSLサーバ証明書とクライアントの間の通信は、暗号化されています。つまり、ロードバランサにSSLを導入しなければ通信の振り分けができないということになります。
余談ですが、SSLサーバ証明書には公開鍵が付与されていると先ほど説明しましたが、実際SSLでやり取りされるデータの暗号化は共通鍵暗号方式です。秘密鍵と公開鍵は、共通鍵の生成のために使われるという、「公開鍵暗号方式と共通鍵暗号方式のハイブリッド」みたいな構造になっています。
SSL/TLSアクセラレータ(secure socket layer transport layer security accelerator)
Webサーバの機能の一つ。通信を暗号化するSSLやその後継であるTLSを利用するときに、Webコンテンツの暗号化と復号を行う、専門の機器やソフトウェアのことです。
ファジング(fuzzing)
検査対象の製品に問題を起こす可能性のあるテストデータを大量に送り、その応答や挙動を監視することで、脆弱性を発見するブラックボックステストです。ソフトウェアの内部構造を考慮しないのでホワイトボックステストではありません。
RADIUS(remote authentication dial in user service)
ネットワーク上のユーザ認証や承認、権利付与などを行うためのプロトコルです。ユーザ情報を一元的に管理するRADIUSサーバガ、ユーザからの接続要求を受け取るRADIUSクライアントとの通信を行います。
SSH(secure shell)
他のコンピュータに安全にログオンして操作するためのプロトコルで、公開鍵暗号と秘密鍵暗号を組み合わせた通信経路の暗号化を行います。ユーザー認証に一般的なパスワード認証やワンタイムパスワードなども使用可能です。
CRYPTREC(Cryptography Research and Evaluation Committees)
結構細かい知識。電子政府推奨暗号の安全性を評価、監視し、暗号技術の適切な実装方法や運用方法を調査するプロジェクトです。客観的な評価により安全性及び実装性に優れると判断された暗号技術をリスト化し、日本をセキュリティに優れたIT先進国にしていこう!という目的があります。
バッファオーバーフロー攻撃
ソフトウェアの脆弱性を利用してシステムに侵入し、内部のメモリ領域に悪意を持つコードが含まれるデータを送り込み、意図的に領域を溢れさせる攻撃です。
IPsec(security architecture for Internet protocol)
IPパケットの機密性や完全性を暗号技術を使って実現する仕組みです。改ざんを防止するパケット認証を行う「認証ヘッダ(authentication header)」と認証と暗号化までを行う「暗号ペイロード(encapsulated security payload)」の二つのプロトコルを含みます。IPの拡張に当たるのでOSI基本参照モデルのうちネットワーク層のプロトコルであり、トランスポート層のプロトコルである、SSL/TLS(secure sockets layer / transport layer security)とは異なります。
OP25B(out bound port 25 blocking)
迷惑メールを減少させるために、ウィルス感染者や迷惑メール受信者が自分のPCまたはサーバから故意あるいは無意識に行うメール送信を規制する対策のことです。25というのは、TCP25番ポートへの通信を禁止することという意味です。
自身のISPにOP25Bを導入すると、管理下の動的IPアドレスからSMTPサーバを通さずに相手のサーバにメールを送ることはできなくなります。
クリプトジャッキング(crypto jacking)
暗号通貨を採掘させるために他人のコンピュータを不正に使用することです。悪意のある第三者が、電子メールやオンライン広告などによって被害者をWebサイトに導き出し、そのPCを使ってマルウェアや自動実行スクリプトで暗号資産取引承認に必要となる計算をさせて報酬を得る方法です。
エスケープ処理
文字列を扱う際に、特別な意味を持つ記号や文字を別の文字列として解釈されるようにする置き換えする処理のことです。入力値に適切にエスケープ処理を施すことで、SQLインジェクションなどに有効な方法です。
似た内容として、サニタイジング(sanitizing)というものがあります。サニタイジングは、webアプリケーションの入力フォームへの入力データに含まれるHTMLタグやSQL文などを他の文字列に置き換えることで、入力フォームに含まれる悪意のある入力からアプリケーションを守ることができます。
コンペア法(compare method)
検体のハッシュ値を計算し、オンラインデータベースに登録された既知のマルウェアのハッシュ値のリストと照合してマルウェアを特定します。比較しているだけですね。わかりやすい。
NISC(National center of Incident readiness and Strategy for Cybersecurity)
内閣サイバーセキュリティセンターです。サイバーセキュリティ基本法に基づき、2015年に設置されました。類似カテゴリとして、JPCERT/CC(Japan Computer Emergency Response Team Coordination Center )が挙げられますが、これは情報セキュリティに関する注意喚起を行う、一般社団法人です。
TLS通信(transport layer security)
SSL通信に暗号化をかけたものです。暗号化通信を開始する前に、利用者のPCがwebサイトのサーバ証明書を第三者の公開鍵で復号できること、その期限を確認した上で通信を開始します。そして、webサーバ側が利用者に対してディジタル証明書の提出を求め、利用者の認証を求めます。
では、実際の暗号化の仕組みをご説明します。特徴的なのは、「公開鍵暗号方式を使って共通鍵を受け渡し、通信を暗号化する」点にあります。ちなみに楕円曲線暗号方式もTLS通信で使われる暗号通信の一種です。
デジタルフォレンジックス(digital forensics)
利用者による不正な操作や情報の漏洩などが発覚した場合に、原因究明や証拠のために記録を保全し、分析することです。具体例としては、社内の重要情報のアクセスや利用者の操作に関わる情報セキュリティ対策として、ログの取得やメールアーカイブ機能のの有効化などが挙げられます。
WPA2-PSK(wifi protected access 2 pre shared key)
アクセスポイントに設定されているのと同じSSIDパスワード(pre shared key)が設定されている端末だけに接続を許可する。8~63文字のパスワードを共有して通信を行います。
PGP(pretty good privacy)
覚えやすいですね。メールやデータを暗号化するためのソフトウェア公開鍵暗号と共通鍵暗号とを組み合わせた仕組みです。
AES(advanced encryption standard)
鍵長が短く脆弱となったDES(data encryption standard)後継の共通鍵暗号で、データベースで管理されるデータの暗号化に用いることができます。身近では無線LANの暗号化に使われています。
セキュリティやネットワークなど、範囲を横断して確認したい方は【忙しい人のための】基本情報・応用情報の午前チートシート|総集編をご覧ください。