タグ: S

  • SPF、DKIM、DMARCとは

    メール送信の信頼性を高めてセキュリティーの強化を図る

    1.SPF(Sender Policy Framework)

     あるドメインのメールを送信することが許可されている
       サーバーのリストをDNSに登録する仕組み

     メールを受信したサーバーは、
       送信元のIPアドレスとDNSに登録されたリストを照合する
         リストに含まれていれば「PASS」
         リストに含まれていなければ「FAIL」

     SPFレコードの例
       v=spf1 include:_spf.google.com ~all

    v=spf1SPFバージョン1を使用(必須)
    include:_spf.google.comGoogleのメールサーバーからの送信を許可
    ~allリスト外のサーバーからの送信はソフトフェイル(受信するが疑わしいとマーク)
    -allリスト外のサーバーからの送信はハードフェイル(拒否)

    2.DKIM(DomainKeys Identified Mail)

     電子署名を使ってメールの正当性を証明する仕組み

     送信サーバーはメールに秘密鍵で電子署名を付けて送信する
       受信サーバーはDNSに公開されている公開鍵を使ってその署名を検証する
       署名が一致すれば「メールが改ざんされていない」ことが証明される

     仕組みのポイント(メールが転送された場合でも署名は維持される)
       送信時:メールの本文・ヘッダー情報をハッシュ化し、秘密鍵で署名
       DNSに公開鍵を登録(TXTレコード)
       受信時:公開鍵で署名を検証し、改ざんの有無を確認

    3.DMARC(Domain-based Message Authentication, Reporting, and Conformance)

     SPFまたはDKIMの認証が失敗した場合に、
       受信サーバーがどう処理すべきかを指示する仕組み

     「ヘッダーFrom」のドメインとSPF/DKIMが認証したドメインが
       一致しているか(アライメント)を確認することで、なりすましを防ぐ

     DMARCレコードの例
       v=DMARC1; p=quarantine; rua=mailto:dmarc-report@example.com; pct=100

    v=DMARC1DMARCバージョン(必須)
    p=none認証失敗でも何もしない(モニタリング用)
    p=quarantine認証失敗メールを迷惑メールフォルダへ
    p=reject認証失敗メールを完全に拒否
    rua=mailto:…集計レポートの送付先
    pct=100ポリシー適用割合(%)

    4.3つセットの必要性

     SPFは「どのサーバーから送っていいか」を定義する
       ヘッダーFromのなりすましを防げない
       メール転送時にSPFが失敗してしまう

     DKIMは「メールが本物で改ざんされていないか」を証明
       なりすましメールでも正規の署名が付いてしまう可能性がある
       認証失敗時の処理を指示できない

     DMARは「認証失敗時にどうするか」を指示し、なりすましの最終判定を行う
       SPFとDKIMの認証結果がなければ機能しない

  • virus、spyware、worm、Trojan horse、logic bomb、bot virusとは

    1.ウィルス(virus)

     実行されると他のプログラムやファイルに寄生し
       別のプログラムに移れるようにする独自のコードを書き込み、
       プログラムからプログラムへと感染を広げるプログラム

     ほとんどのウイルスは実行ファイルに添付されている
       ウイルスがコンピュータ上に入り込んだとしても、
       ユーザーが悪意のあるプログラムをクリックしたり実行したり開いたり
       しない限り、コンピュータに感染することはない

     感染したファイルを共有する、ウイルスを添付した E メールを送信する等
       無意識のうちにコンピュータウイルスを拡散し続けていく

    2.スパイウェア(spyware)

     ブラウザの閲覧履歴やキー入力などユーザーに関する情報を収集し、
       情報収集者である特定のコンピュータへ自動的に送信するプログラム

    3.ワーム(worm)

     寄生することなく独自に活動し他のコンピュータに感染する
       自己増殖型のプログラム

     自分自身の複製を作り、他のコンピュータに感染を広める
       単独で動作し、他のプログラムに寄生する必要がない

     ウイルスまたはトロイの木馬の下位分類にあたる
       コンピュータからコンピュータへと拡散するが、ウイルスとは異なり、
       ホストプログラムに寄生することなく移動し単体で動作する能力を持つ

     システム上のファイルや情報の転送機能を利用して単独で移動できる
       インターネットや LAN の接続を通じて感染する

     ワームの例
       E メールのアドレス帳に登録されている全員に自分自身のコピーを送信する
       受信者 1 人 1 人 のところでもワームは自己複製し、
       それぞれのアドレス帳に登録されている人全員に自分自身を送信し、
       その連鎖を広げていく

    4.トロイの木馬(Trojan horse)

          (参考:トロイの木馬)

     有用なソフトウェアを偽ってコンピュータへ侵入し、
       データ消去やファイルの外部流出などを行うプログラム

     一見正規のアプリケーションやソフトウェアのように見え
       意図をユーザーに誤解させるマルウェアの総称

     自己複製はしないが、破壊的な活動を行う
       コンピュータにバックドアを仕込み、悪意のある攻撃者にコマンドを与え
       悪意のあるユーザーやプログラムがシステムにアクセスできる様にする

    5.ロジックボム(logic bomb)

     サイバー攻撃などに用いられるマルウェアの一種
       標的システムの内部に潜伏し、あらかじめ設定された条件が満たされると
       自動的に起動してデータの破壊活動などを行う
         コンピュータに仕掛けられた論理的な時限爆弾

     対象のコンピュータに自身の複製を記録(感染)し、
       システム稼働時に常駐するか一定間隔で起動するよう
       OSの設定などを不正に書き換える

     感染時点では何もせずに潜伏しており、
       攻撃者が指定した条件が満たされると行動を開始し、
       あらかじめ設定された破壊活動などを行う

     例えば、
       ある日時になったらコンピュータの記憶装置の内容をすべて抹消する
       特定の利用者のログインが一定期間途絶えたらファイルの内容を消去する
       最後の自分自身やシステムに残る痕跡を削除し、後からの検証を妨害する

    6.ボットウイルス(bot virus)

     外部から端末を遠隔操作できるウイルス
       気づかれないよう端末に侵入して悪事を働く
       知らないところで端末が遠隔操作され、犯罪行為に加担することになる

     感染経路別に8種類
       ネットワーク感染型
         OSやソフトウェアなどの脆弱性を突き、
         ネットワークから端末へと侵入するボットウイルス

         インターネットに接続されていれば、
         ネットワークを通じてボットウイルスに感染するリスクがある

       メール添付型
         ウイルスを仕込んだファイルを添付したメールを送りつけ、
         ユーザーが添付ファイルを開くと端末が感染するボットウイルス

         明らかに不審なメールもあれば、
         仕事の関係者を装ったメールが送られてくる

       SMS添付型
         スマートフォンのSMS宛てに不正なリンクを送信し、
         添付ファイルやリンクをタップすることで感染するボットウイルス

         実在するサービス名や企業名をかたって送られてくる
         不審なアドレスから送られてきたSMSは開封せずに削除する

       Web閲覧型
         ウイルスが仕掛けられたWebサイトを閲覧したり、
         サイト上のリンクをクリックすると感染するボットウイルス

         正規のWebサイトでも、ボットウイルスが仕込まれている場合があり
         ボットウイルスに感染する可能性がある

       Web誘導型
         不正なWebサイトにを誘導し、感染させるボットウイルスです

         サイトにアクセスするだけで
           不正なプログラムをインストールさせる
         Webサイト上の改ざんされたリンクから、
           不正なWebサイトへと誘導する

       ラウドストレージ型
         クラウドストレージ上に不正なファイルを保存し、
         共有フォルダなどを通じて感染させるボットウイルス

         一見すると、通常のファイルと同じ形式・名称が用いられ
         ファイルを開くことで、端末にボットウイルスが侵入する

       外部記憶媒体感染型
         USBメモリなどの外部記憶媒体にウイルスを仕込んで
         端末を感染させるボットウイルス

         外部記憶媒体の接続を検知すると自動的にその内容を表示する
         そのため、ファイルを開かなくても、挿した時点で感染する

       アプリケーション型
         アプリケーションにウイルスを仕込み、
         アプリをインストールすることで感染するボットウイルス

         正規のアプリにボットウイルスが仕掛けられているケースもあれば
         正規のアプリを装った、偽のアプリが配布されることもある

    7.まとめ

    ウィルスプログラムやファイルに寄生する
    自己増殖が可能
    スパイウェア破壊するより、隠密に活動する
    情報を盗み出すことが目的
    ワーム単体で動作可能
    自己増殖も可能
    トロイの木馬単体で動作可能
    有益なプログラムへなりすます
    ロジックボム設定された条件になると発動する
    データの破壊やシステム障害を起こす
    ボットウィルス外部からの遠隔操作が可能
    ボットの集まりを形成、サイバー攻撃へ悪用される

  • OTP、Basic認証、Digest認証、Session-based認証、Token-based認証、OAuth、OpenID、SSO、SAML認証、Kerberos認証とは

    1.OTP(one time password)

     1度だけ、あるいは短期間だけ利用できるパスワードを利用した認証
       正しいIDとパスワードを入力した後、
       事前に登録した電話番号のスマートフォンなどに対し、
       ワンタイムパスワードを送信する

       送信されたワンタイムパスワードも正しく入力すれば、
       正当なユーザーであると判断する

     メリット
       毎回ランダムに生成され、時間が経過すると二度と使用できない
         第三者に読み取られても、不正アクセスされる可能性が低い
       毎回文字列が変化するという特性上
         従業員全員分のID・パスワードを管理する手間が省ける

     デメリット
       不正アクセスを100%防ぐ力がない
         端末がすでにマルウェアに感染している場合は情報を抜き取られる
         パソコンやスマホ端末自体の乗っ取り被害に弱い
         パスワードの送付先がバレていると読み取られる
         ログイン情報そのものが流出すると防ぎきれない

    2.Basic Auth(Basic Authentication)

     HTTPのプロトコル上で
       事前に設定したIDとパスワードを入力することで認証する
         最も基本となる認証方式

     認証に用いる情報を入手するだけで、かんたんに乗っ取ることが可能
       簡易的な機能でしかないため、そのほかのセキュリティ対策が必要

     デメリット
       セキュリティレベルが低く、暗号化に非対応
         リクエストごとに毎回認証を行うので煩わしい

    3.Digest認証

     IDやパスワードを入力してログインを行う認証方法
       入力したIDやパスワードをハッシュ化した上でサーバー側に送信する

       ベーシック認証にあったセキュリティレベルの脆弱性が改善される

       ハッシュ化とは、入力した文字を別の値に変換した上で送信すること
         一度変換した値は元の文字に復元できない

       送信時に入力した文字をハッシュ化して別の値に変換すれば
         第三者が入手できたとしても、アカウントが奪われることはない

     メリット
       ベーシック認証にあった脆弱性を改善し、セキュリティレベルが高い

     デメリット
       ユーザー側が誤って元のIDやパスワード情報を保管せず、
         ハッシュ化した後の値の方を保管してしまっていた場合では
         ハッシュ化した後の値は、元の文字に復元できないので
         元のIDやパスワードを忘れてしまった場合には再設定が必要

    4.Session-based認証

     Webサイトは一人一人にセッションIDと呼ばれる番号を割り当てる
       セッションIDによって一人ひとりの行動がすべて把握でき
       Webサイトにいるときはずっと同じセッションIDを持ち続ける

     Webサイトはを閲覧した履歴や情報をcookieに保存する
       cookieを使ってセッションIDを保存しておけば、
       ログイン時の認証を行うことなくスムーズに入ることが可能

     メリット
       ログインの度に認証を行う手間が省ける
         サイト側のログイン後の処理も高速で行えるようになる

     デメリット
       cookieを用いていることで、第三者が勝手にユーザーの電子機器を
         使った際には簡単に悪用ができてしまう

    5.Token-based認証

     cookieの代わりに、トークンを利用する方法
       トークンとは使い捨てのパスワードで
       30秒程度の短い時間しか使えないパスワードを発行し
       時間内に入力することで、ログインを可能にする

     トークンの種類
       ハードウェアトークン
         物理的な電子機器を用いたもの
           USB型や、キーホルダー型、カード型がこれに該当する

       ソフトウェアトークン
         PCやスマホなどで使用することのできるトークンアプリ
           アプリをインストールし、パスワードを発行し
           短時間だけ使用できるパスワードを表示する
           パスワードを入力することで認証がされる

     メリット
       高いレベルのセキュリティを保持できる
         パスワードがその都度使い捨てになるため、
         仮に第三者にパスワードを知られようと不正ログインを防止できる

       ユーザーがパスワードを記憶している必要や、再設定をする必要がない
       
     デメリット
       PCやスマホがウイルスに感染している場合には
         トークンで発行したパスワードをユーザーよりも早く使用できる

       毎回使い捨てのパスワードを発行するのが手間になる

    6.OAuth(Open Authorization)

     ユーザー本人以外に権限管理機能を持たせる
       自身の情報を扱う権利をサイト側に与える

       ユーザー本人以外にアカウントの権限管理機能を持たせる
         サービスやアプリ間の連携が可能となる

         Xで投稿した写真をFB等に自動で投稿できるようになる等々
           多岐に渡った使い方ができる

     メリット
       ユーザー登録の手間が省け、アプリ間の連携が可能になる
         他者にアカウントの権限を与える際も、
         ユーザー自身で行使する権限の範囲内や、
         行使可能な期限を設定できるため、
         セキュリティの安全性を維持できる

     デメリット
       他者に権限を与える際に、悪用される可能性がある
         権限を与える際は注意事項をしっかりと確認する 

    7.OpenID(オープンID)

     一つのIDとパスワードを使って複数のサービスやアプリが使える
       OpenIDとOAuthとの違いは、
         OpenIDは他者が利用できるのはログイン機能だけに限定されている

     メリット
       ユーザー登録の手間が省け利便性が向上する

     デメリット
       OAuthほどではないにしろ、
         アカウントの権限を他者に与えるので情報漏洩に注意する

    8.SSO(Single Sigh-On)

     一つのIDとパスワードだけで複数のWebサービスやアプリの認証を行う
       複数のIDやパスワードを作成する手間がなくなり、
       認証情報を一元化できる

     メリット
       一つのアカウント情報だけで一元管理できる

     デメリット
       万が一パスワードが流出してしまった場合は被害が拡大する

       SSO認証システムが停止してしまった場合には
         関連するすべてのサービスやアプリにログインできなくなる

    9.SAML(Security Assertion Markup Language)認証

     XMLベースの標準規格(サムル)を用いた認証方式

     SSO認証を実現させるための(SSO認証の一部)技術
       一つのIDやパスワードで複数のサービスやアプリの認証を行うこが出来る

       高いセキュリティレベルを持っている認証方法の一つ
         アクセス要求をしてきたユーザーに対して、
         なりすましを行っていないか登録しているユーザー情報と
         一致するか確認をした上で認証を行う

     メリット
       一度認証を行うだけで複数のサービスやアプリの認証を行わなくて済む
         利便性が非常に高くなる

     デメリット
       一度IDやパスワードが漏洩してしまうと被害が拡大する

    10.Kerberos認証

     ギリシャ神話の地獄の番犬(Greek:ケルベロス)に由来する

     SSO認証を実現させるための(SSO認証の一部)技術
       一つのIDやパスワードで複数のサービスやアプリの認証を行うこが出来る

       特徴は、チケットと呼ばれる機能(有効期限付き鍵)がある
         チケットには時刻同期の仕組みやタイムスタンプが記録されており
         万が一第三者が盗み見を行っていたとしても、
         有効期限内になりすましを行うのが難しい状態を作り出す
         
         チケットを持っているユーザーだけが認証される仕組み

     メリット
       一元管理や、管理の手間が省ける

     デメリット
       万が一チケットを第三者に奪われた際には、被害が拡大する