駆け出しエンジニアの気ままにブログ

このブログでは、駆け出しエンジニアの私が興味をもったトピックについて不定期に発信しています。

スポンサーサイト  

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

category: スポンサー広告

tb: --   cm: --

【まとめ】Androidの概要について改めてまとめてみる。  

最近、Androidについて考える機会があったのですが、改めて考えてみるとAndroidってわかっているようであまりわかってないことが多い
そこで、改めて特徴や動向などまとめよういうことで今回のエントリーのテーマは、Androidです。

とは言ったものの、Androidは範囲も広いし内容も深い。
そこで、「まとめサイト」をまとめることで、全体を俯瞰する、といったアプロートをとりたいと思います。

そもそもAndroidって何だっけ?というところから、まとめていきたいと思います。

Androidとは・・・

Wikipediaによると・・・
Android(アンドロイド)は、Googleによってスマートフォンやタブレットなどの携帯情報端末を主なターゲットとして開発されたプラットフォームである。カスタマイズ版Linuxカーネル、ライブラリやフレームワークその他のミドルウェア、ART仮想マシン、主要なアプリケーションからなるソフトウェアスタック(集合)パッケージで構成されている。

# https://ja.wikipedia.org/wiki/Android

要はモバイル端末を主ターゲットとしたプラットフォームということですね。
また、「Android」という名前は、2003年にアンディ・ルービンらが設立した開発会社(Android社)に由来しています。


Androidの特徴

Wikipediaの説明でプラットフォームだということはわかりましたが、どんなプラットフォームなのか?、今度は、Androidの特徴についてみていきます。日本Androidの会(※)の資料がよくできているので、こちらを紹介したいと思います。
※日本Androidの会という団体は、Androidに興味を持つ人が集まるユーザーコミュニティ(http://www.android-group.jp/)です。

# http://qcontokyo.com/tokyo-2009/pdf/RIA-Android.pdf

Androidの特徴は、「オープンソース」、「クラウドコンピューティング」、「携帯端末向け」、「(KernelからApplicationまで)フルセットプラットフォーム」であること。また、これらの特徴からAndroidを語るときには、「PF提供」、「アプリ開発」、「ユーザー」それぞれの視点があるということがポイントですね。
Android関連の記事を読むとき、上記のどの目線で書かれたものなのかを意識(他のプレイヤーとの関係を想像)することによって、より理解が深まりそうです。


Androidの仕組み

続いて、Androidがどのような仕組みで動いているかの概要が書かれたITProさんの記事の紹介です。
少し古いですが、基本は今も変わっておらず、Androidアーキテクチャやアプリケーションフレームワーク、アプリケーションの主要コンポーネントなど、抑えておくべき基本が盛りだくさんです。調べれば調べるほど奥の深い、勉強のし甲斐のあるエリアですね。

# http://itpro.nikkeibp.co.jp/article/COLUMN/20091126/341182/?rt=nocnt


Andoridの起動プロセス

Androidの仕組みの一部ですが、Powerボタンを押してからAndroid端末が起動するまでの処理についても確認したいところ。英語ですが参考になる記事を見つけたのでここで紹介しておきます。

# http://www.kpbird.com/2012/11/in-depth-android-boot-sequence-process.html

プロセスは、ざっくり書くと以下の通りといった感じですね。この流れはおさえておきたいところです。

BootROM → BootLoader → Kerne → Init → Demon/Zygote-DalvikVM/Runtime → ...


GoogleのAndroid戦略

最後に最近の動向、GoogleのAndroid戦略についてです。いろんなまとめサイトや本がでていますが、やはり、原点はGoogle I/Oでしょう。
ここでは要点をまとめたGigazineさんのサイトを紹介します。Google I/O の動画を全部みると数時間を要しますが、Gigazineさんのサイトはコンパクトにまとまっているので、数十分で確認できます

Google I/O 2016(http://gigazine.net/news/20160519-googleio2016-matome/)
Google I/O 2015(http://gigazine.net/news/20150529-google-io-2015/)
Google I/O 2014(http://gigazine.net/news/20140626-google-io-2014/)


ということで、今回は、以下5つの視点からAndroidをまとめてみました。
・Androidとは...
・Androidの特徴
・Androidの仕組み
・Androidの起動プロセス
・GoogleのAndroid戦略

Androidというプラットフォームは、年々広く奥が深いものになっています。Android Wear, Android Auto, Android TV, ... と、今後のIoT全盛期で活躍していくプラットフォームになるでしょう。
Androidというプラットフォームを理解し、Androidと共存していく未来を思い描く力が、より求められる時代になってきそうです。

ということで、今回は以上です。


スポンサーサイト

category: Android

tb: 0   cm: 0

【試験対策】情報セキュリティスペシャリスト試験の頻出用語のまとめ  

明日は情報セキュリティスペシャリスト試験ですね。

情報セキュリティスペシャリストは、主に以下の分野について体系的な知識が必要となります。
・脅威と脆弱性
・情報セキュリティ技術(侵入検知・防御、認証、暗号)
・リスクマネジメント
・法規制

今回は情報セキュリティスペシャリスト試験の直前レビュー用に用語をまとめていきます。

脅威

脅威とは損失発生の直接原因となるものであり、大きく以下のように分類することができる。
環境:災害(地震、落雷などの天災)、障害(機器の故障、SW/HW障害)
人間:意図的(不正アクセス、盗聴、改ざん)、偶発的(操作ミス、紛失)

以下、脅威となる主な攻撃手法です。

攻撃 内容
アドレススキャン アドレス・スキャンは,ターゲットとなるネットワーク内に,順番にpingパケットを送って応答が返ってくる機器のIPアドレスを調査する手法。あらかじめpingパケットに応答しないように設定している機器を除けば,ping要求に対する応答が返ってくるため,これを元に稼働中の機器のIPアドレスがわかる。
ポートスキャン ターゲットとなるホスト上で開いているポートをスキャンする手法。TCPコネクトスキャン、TCPハーススキャン、UDPスキャンなどの種類がある。ポートスキャンツールにはnmapなどがある。
スタックフィンガープリンティング ターゲットホストが返すバナー情報から、そのポートに対応したサービスを提供しているアプリの種類やバージョンなどを確認する手法。また、稼働しているアプリの種類や、ターゲットホストの振る舞い(アクセス要求への応答など)から、OSの種類やバージョンなどを確認する。
パケット盗聴 各種データや認証情報などがネットワーク上をクリアテキスト(平文)で流れている場合、経路上でこれらの情報を盗聴する手法。
DNSサーバからの情報収集(不正なゾーン転送) DNSサーバはプライマリ、セカンダリの2台構成で運用する必要があり、双方のサーバの登録内容を同期させるためにゾーン転送(登録内容の一括転送)という機能がある。ゾーン転送要求は54/TCPポートで行われ、セカンダリのDNSサーバから、プライマリDNSサーバに対して定期的に実行される。そのため、ゾーン転送要求を行うことにより、ターゲットサイトのネットワーク構成やサーバ構成を知ることができる。
ソーシャルエンジニアリング 偽の電話をかけたり、建物に侵入してゴミの中から情報を盗み出したりするという、物理環境で行われる不正な情報収集活動全般のこと。
フィッシング 銀行、クレジットカード、ショッピングサイトからの連絡を装ったメールを送付し、そこに本物のサイトに酷似した悪意あるページへのリンクを貼り付け、口座番号やクレジット番号、パスワードなどを入力させて盗む詐欺行為。
DNSキャッシュポイズニング DNSサーバのキャッシュに偽の情報を登録することで、多くの一般ユーザを次々に偽のサイトに誘導する手法。ファーミングとも呼ばれる。
ウォードライビング 無線LANのアクセスポイントに不正に侵入するために、無線LANが利用できるノートパソコンなどを車に積み込み、侵入できるアクセスポイントを求めてオフィス街などを走り回る手法。
パスワードクラック OSやアプリに設定されたパスワードを破ることを目的として攻撃。辞書ファイルやレインボーテーブルを用いたパスワードクラック、ブルーとフォース攻撃、パスワードリスト攻撃などがある。
セッションハイジャック クライアントとサーバのセッションの間に割り込んで、セッションを奪い取る行為。IPスプーフィング(信頼するホストにechoコマンドで+*を追加)を使ったTCPのセッションハイジャック、盗聴情報を利用したUDPのセッションハイジャックなどがある。
ARPスプーフィング 攻撃者のMACアドレストと正規ホストのIPアドレスとを組み合わせた偽のARP応答パケットを総員することでAPRキャッシュのニアようを書き換え、セッションをハイジャックする方法。
セッションIDの固定化攻撃 Webアプににおけるセッションハイジャックの手法。ターゲットに対して、攻撃者が生成したセッションIDを含む不正なURLを送りつけることで意図的にセッションを確立させ、そのセッションをハイジャックする。
バッファオーバフロー攻撃 CやC++で開発されたOSやアプリの入力データの処理に関するバグをついてコンピュータのメモリに不正なデータを書き込み、システム侵入や管理者権限の取得をする攻撃。
クロスサイトスクリプティング WebアプリやWebを操作するJavaScrpit等に存在する脆弱性を悪用し、ユーザのPC上で不正なスクリプトを実行させる攻撃。
SQLインジェクション ユーザの入力データをもとにSQLクエリを発行する仕組みのあるWebページにおいて、不正なSQL文を入力することでDBを操作したり、DBの個人情報なっどを不正取得する攻撃。
OSコマンドインジェクション ユーザの入力データをもとにOSコマンドを呼び出して処理するWebページにおいて、不正なコマンドを入力することで任意のファイルを読出し、変更、削除、パスワードの不正取得を行う攻撃手法。
HTTPヘッダインジェクション ユーザの入力データをもとに、HTTPメッセージのレスポンスを構成するWebアプリにおいて不正データを入力することで、任意のヘッダフィールドやメッセージボディを追加したり、複数のレスポンスに分割したりするなどの攻撃を行う手法。
メールヘッダインジェクション ユーザがフォームに入力したデータをもとにメールを送信するWebアプリにおいて、不正なメールヘッダを混入させることにより、意図していないアドレスに迷惑メールを送信するなど、メール送信機能を悪用した攻撃。
ディレクトリトラバーサル攻撃 ユーザの入力データなど、外部からファイル名として使用する文字列を受け取り、Webサーバ内のファイルにアクセする仕組みになっているWebアプリにおいて、ファイル名の先頭に「../」や「..¥]など、上位のディレクトリを意味するモヂレツを用いることにより、公開を意図していなファイルに不正アクセスする攻撃。
クロスサイトリクエストフォージェリ CSRFとは、Webアプリのユーザ認証やセッション管理の不備をついて、サイト利用者にWebアプリに対する不正な要求処理を行わせる攻撃手法。
DoS攻撃 ターゲットに対して意図的に不正なパケットや膨大なパケットを送りつけることで、特定のサービスやたゲットのネットワーク全体が正常動作できない状態に陥れること。SYN Flood、UDP Flood、ICMP Flood、smurf攻撃などがある。
スパムメール いわゆる、迷惑メール。スパムメールが横行する原因となっているのが、旧バージョンのメールサーバソフトウェアの仕様における脆弱性。
マルフェア コンピュータウィルス、ワーム、トロイの木馬、スパイウェア、ボットなど、利用者の意図に反する不正な振る舞いをするように作らられた悪意あるプログラムやスクリプト。
クリックジャッキング攻撃 Webコンテンツ上にiframeなどで透明化した例やに標的サイトのコンテンツを重ねて配置することにより、利用者を視覚的に騙して不正な操作を実行させる攻撃手法。
標的型攻撃 特定の組織や団体などをターゲットとして、その取引先や関係者、公的機関などを騙してマルウェアや不正なリンクが埋め込まれたメールを送信することで相手を騙し情報を盗もうとする手法。
SEOポイズニング SEOとはSearch Engine Optimizationの略で、対象サイトのHTMLに検索キーワードを効果的に埋め込むなどして、検索エンジンの検索結果の上位に表示されるようにすること。SEOポイズニングとは、検索エンジンの順位付けアルゴリズムを悪用し、閲覧者をマルウェアに感染させるような悪意あるサイトを検索結果の上位に表示させるようにする行為。
 

脆弱性

脆弱性とはリスクを発生しやすくするものであり、主なプロトコルの脆弱性には以下のものがあります。

プロトコル 脆弱性 リスク 対策
SMTP メール送信時のユーザ認証の仕組みがない スパムの踏み台 SMTP-AUTH、POP before SMTP、発信元アドレス制限、SMTP over TLS
SMTP 送信データが平文でNWを流れる パケット盗聴(情報漏えい) Submission over TLS、SMTP over TLS、メール暗号化ツール
POP3 認証情報が平文でNWをながられる パケット盗聴(認証情報漏えい) APOP
POP3 受信データが平文でNWを流れる パケット盗聴(情報漏えい) POP over TLS、SSH
HTTP 送受信データが平文でNWを流れる パケット盗聴(情報漏えい) HTTP ove TLS
HTTP BASIC認証においてほぼ平文で認証情報がNWを流れる パケット盗聴(認証情報漏えい) フォームを用いた認証+TLS、ダイジェスト認証
HTTP プロトコルにはセッション管理の仕組みがない セッション管理機能の脆弱性による認証情報の漏えい、セッションハイジャックによるなりすまし等 アプリ仕様、クライアント環境に応じた適切なセッション管理
FTP 認証情報が平文でNWを流れる パケット盗聴(認証情報漏えい) SSH、FTP over TLS
FTP 送受信データが平文でNWを流れる パケット盗聴(情報漏えい) SSH、FTP over TLS
DNS ゾーン転送要求(53/TCP)によって登録内容を取得可能 NW生成情報の漏えい ゾーン転送が不要な場合には停止、ゾーン転送をセカンダリDNSのみ許可、ゾーンデータ中の不要レコードの削除
DNS キャッシュに不正なデータが書き込まれる 偽のサイトへび誘導 ソフトウェアバージョン最新化、DNSSEC
TELNET 簡易なユーザ認証によって遠隔地からサーバを操作可能 サーバへの不正侵入 SSH、TELNET over TLS
TELNET 認証情報が平文でNWを流れる パケット盗聴(認証情報漏えい) SSH、TELNET over TLS
TELNET データが平文でNWを流れる パケット盗聴(情報漏えい) SSH、TELNET over TLS
 

リスクアセスメント

リスクアセスメントの目的は、効果的なセキュリティ対策プランを導き出すこと。限られた予算で、最大の効果を得ることです。
リスクアセスメント策定時のポイントは、守るべき情報資産を名確認することとなります。
※ 情報資産:企業や組織の財産である情報。(個人情報や機密情報など)

リスク対応には、リスクコントロール(抑止、低減)とリスクファイナンス(有時への備え)があり、リスクの対応戦略には回避、転嫁、軽減、受容の4つがあります。

暗号

暗号方式は、大きく以下の2つに分類できる。
共通鍵暗号方式:暗号化と復合に同じ鍵を用いる方式。DES、IDEAなど。ストリム暗号とブロック暗号に大別できる。
公開鍵暗号方式:暗号化と復号に別々の鍵を用いる方式。RSA、楕円曲線暗号など。

以下、主な暗号関連技術用語をまとめます。

用語 説明
ストリーム暗号 平文をビット、バイトあるいは文字ごとに処理する暗号化方式。RC4、SEALなど。通信に適している。
ブロック暗号 平文を一定サイズに分割し、ブロックごとに暗号処理する方式。DES、AES、IDEAなど。AESといったブロック暗号では、暗号化対象を一定サイズで区切ったブロックに対し、暗号化を行う「ラウンド関数」を複数回適用する。
RSA 桁数の大きな整数の素因数分解が困難であることを安全の根拠にしている公開鍵暗号方式。
楕円曲線暗号 楕円曲線上の離散対数問題の難しさを根拠にする公開鍵暗号方式。
ハッシュ関数 任意の長さの入力データ"x"をもとに、固定長のビット列であるハッシュ値"y=H(x)"を出力する関数。メッセージダイジェスト(MD)
TPM Trusted Platform Moduleの略。耐タンパ性に優れたセキュリティであり、マザーボードに直付けされる。
VPN パブリックネットワーク上に、暗号化技術などを用いて仮想的なプライベートネットワークを実現する技術の総称。
IPsec IPを拡張してセキュリティを高めるプロトコルであり、IETFで標準化が行われている。パケットをインターネット層でカプセル化し、暗号化する。
SSL Secure Socket Layerの略。Netscape社が開発した、認証と暗号化を行うための方式であり、主にWebブラウザとWebサーバ間でデータを安全にやりとりするための業界標準プロトコル。
TLS Transport Layer Securityの略。SSLのバージョン3.0に基づいて、IETFによる標準化が行われたトランスポート層における暗号化プロトコルを中心にした規格。
PPTP Point to Point Tunneling Protocolの略。MSが開発したプロトコルで、データリンク層に当たるPPPパケットをIPでトンネリングする方式。
L2TP Layer 2 Tunneling Protocolの略。データリンク層におけるトンネリングプロトコル。シスコが開発したL2FをベースにPPTPとの統合かが図られたもの。
S/MIME Secured Multipurpose Internet Mail Extensionsの略。暗号化電子メール方式。画像、音声などのバイナリファイルを送信するための規格。MIMEを拡張したもの。
PGP Prety Good Privacyの略。電子メールの暗号化ツール。暗号アルゴリズムとして、RSAとIDEAが用いられる。
WEP Wired Equivalent Privacyの略。無線LANの暗号化方式。APごとに共有するWEPキーとシステムが自動生成するデータをもとに暗号化する。
WPA/WPA2 WiFi Protected Accessの略。暗号化機能を強化したもの。
デジタル証明書 個人や組織に関する電子式の身分証明書であり、CA(認証局)と呼ばれる第三者期間によって発行される。TLSプロトコルにおいて、通信データ暗号化のための鍵交換や通信相手の認証に利用される。
デジタル署名 ハッシュ関数とPKIの技術を組み合わせて作り出された電子的な署名。発信者の確からしさ、改ざんがないことを確認できる。公開鍵暗号方式を応用した技術。
タイムスタンスタンプ 電子文書に対して、信頼される第三者期間である時刻認証曲が付する時刻情報を含んだデータ。
ヒステリシス署名 デジタル署名を付与する際、過去に生成したすべての署名情報を取り込んで、署名間の連鎖構造をつくる技術。
 

その他

その他、午前問題などで気になった単語たちを以下にまとめます。

用語 説明
サイドチャネル攻撃 物理デバイスにおける処理時間や電力、エラーメッセーゾなどから機密情報を取得する攻撃。
テンペスト攻撃 漏洩電磁波を傍受してデータを盗聴する方式。
ポリモーフィック型ウィルス ウィルス本体のコードを、感染するごとに異なる鍵で暗号化するウィルス。
RLO 文字の表示順を左から右ではなく、右から左へ変更するもの。
ハニーポット 攻撃観察のためにあえて公開するホストのこと。
ダイナミックパケットフィルタリング 過去に通過したリクエストパケットに対応するものだけを通過させるフィルタリング。
WAF Web Application Firewallの略。Webアプリの通信内容から、通信可否判断をするファイアウォール。
ペネトレーションテスト 外部から実際に侵入を試みるテスト。
MXレコード DNSサーバで、メールサーバを指定する。「レコード」とは、DNSで管理される設定項目。
DNSSEC デジタル署名によって、応答の正当性を確認できるようにしたDNSの拡張仕様。
デジタルフォレンジング 不正アクセスなど履歴など、犯罪の証拠となる情報を保全、収集すること。
耐タンパ性 電気的もしくは、物理的な解析に対する安全性のこと。
CRYPTREC 複数の公的機関が共同運営する暗号化技術の評価プロジェクト。
CVSS 基本評価基準、現状評価基準、環境評価基準の3つの基準で脆弱性を評価する手法。
OP25B ISP管理下の動的IPアドレスから外部のグローバルIPアドレスへのSMTP通信(Port:25)を拒否する。
DKIM 送信側メールサーバで電子メールのヘッダにデジタル署名を付与し、それを送信側で検証する。
トリプルDES DESのアルゴリズムを暗号化、復号、暗号化の順に3回繰り返す手法。
衝突発見困難性 ハッシュ値が一致する2つのメッセージの探索困難性のこと。
現像計算困難性 ハッシュ値から元のメッセージの探索困難性のこと。
ステがノグラフィ 画像データや音声データなどに、別のデータを埋め込む技術。
チャレンジレスポンス 利用者が入力したパスワードとサーバから送られてきたランダムなデータをクライアントで演算し、結果を認証に利用する方式。
ベーシック認証 利用者IDとパスワードを「:」で連結し、BASE64でエンコードする認証方式。
ダイジェスト認証 利用者IDとパスワードに加え、サーバクライアント間んでやりとりされるデータのハッシュ値に基づいた認証方式。
Oauth 複数サービス間でリソースなどへのアクセス権をやりとりするための仕組み。
 

ということで今回は以上です。

みなさん、明日の試験頑張ってくださいませー。


category: 資格対策

tb: 0   cm: 0

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。