SESエンジニアの自己研鑽ブログ

自由気ままにアウトプットします。

ベイジアンフィルタリング

ベイジアンフィルタリングとは?

迷惑メールフィルターの仕組みであり、機械学習アルゴリズム

ベイジアンフィルタの基本的な考え方は、「手がかり」を洗い出すというもの。ベイジアンフィルタは計算処理を通して、自然言語の文章を構成する多数の言葉の中から「手がかり」となる言葉を選び抜く。

言葉を洗い出したら、「分類辞書」に記録する。

手がかりとなる単語を見つけたら、「分類辞書」と照らし合わせて「判定用スコア」を加算する。

最終的に「判定用スコア」が一定値を超えていたら迷惑メールと判断する。

 

SPF(Sender Policy Framework)

SPF(Sender Policy Framework)とは?

SMTP接続してきたメールサーバの IPアドレスを基に、正規のサーバから送られた電子メールか否かを検証する技術。

受信メールサーバ側で電子メールの送信基ドメインが詐称されていないかを検査する。

 

SPFの認証手順

1.送信側は、送信側ドメインDNSサーバのSPFレコード(TXTレコード)に正当なメールサーバのIPアドレスやホスト名を登録し、公開する。

2.送信側から受信側へSMTPメールが送信される。

3.受信側メールサーバは、受信側ドメインDNSサーバを通じて、MAIL FROMコマンドに記載された送信者メールアドレスのドメインを管理するDNSサーバに問い合わせ、SPF情報を取得する。

4.SPF情報との称号で、SMTP接続してきたメールサーバのIPアドレスの確認に成功すれば、正当なドメインが送信されたと判断する。

 

ルートキット(rootkit)って?

rootkitとは?

システムへのアクセスを確保した攻撃者が、そのあとの不英な活動を行いやすくするために作動中のプロセスやファイル、ログやシステムデータを隠蔽するためのソフトウェア群。

ユーザやシステム管理者に見られたとしても、rootkitが侵入の痕跡を隠蔽することで、

攻撃者はroot権限を確保し続ける可能性が高まる。

 

rootkit攻撃を受けるとどうなる?

・遠隔操作によって他のコンピュータへのサイバー犯罪の踏み台にされる。

・オンラインバンキングやクレジットカード情報を盗み取られる。

 

対策は?

1.セキュリティソフトによる検出・・・基本的な対策

2.ルートスキットスキャンの実施・・・セキュリティソフトで検出できない場合に使用

【有名どころのツール】

ノートンルートキットパワーイレイサー

トレンドマイクロルートキットバスター

カスペルスキー:アンチルートきっとユーティリティ

3. OSの再インストール・・・最終手段

 

予防対策が一番効果的

1.セキュリティソフトの更新

2.OSのアップデートを実施

3.不審なメールファイルを開封しない

4.不審なリンクを踏まない

5.怪しいプログラムはインストールしない

 

 

IPsecのSA(Security Association)とIKE(Internet Key Exchange)

 IPsecにおけるSA(Security Association)とは?

VPNゲートウェイ間のコネクションのこと。IPsecのすべての通信はこのSAをしよいします。SAは一方通行のトンネルであるため、パケットを送受信するためには送信用のSAと受信用のSAが必要になります。

また、SAはIPsecのカプセルかプロトコルに対して独自のものになるため、AHとESPを併用する場合、4つのSAが必要になります。

 

この性質により、IPsecの機器の間には多くのSAが発生しますが、あるIPsecのパケットがどのSAかを判断するためには、AHやESPパケットフィールドのSPIで判断ができます。同じパラメータを使用しないとIPsec通信ができないためです。

また、VPNゲートウェイでは、SADというローカールDBのなかに有効なな全てのSAを保存しています。

 

IPsecの通信において、処理を行うパケット、行わないパケットを決めるルールセットのことをSPDといい、CiscoルータのコンフィグにおいてはIPsec処理の対象を指定するACLを指している。

 

このSAを自動的に生成、管理、更新することを可能にしたのがIKE。

 

IKE(Internet Key Exchange)とは?

SAを生成するために、 IKEという鍵交換プロトコルを使用する。

認証用のセッション鍵(HMAC)と暗号化用のセッション鍵の生成、交換、更新を自動的に行う。

IKEによるSAの生成はフェーズ1とフェーズ2に2ステップで、フェーズ1では各種パラメータを交換し、ISAKMP SAを生成する。フェーズ2ではそのISAKMP SA上で各種パラメータを交換してIPsec SAを生成する。

IPsec(トランスポートモードとトンネルモード)

IPsecの通信モード

IPsecの通信モードにはトランスポートモードとトンネルモードがあります。

■トランスポートモード

【特徴】

・パケットのIPヘッダは変更されない。

・パケットのレイヤー4以上のデータ部のみを暗号化する

・認証の範囲はAHとESPにより異なる。

・パケットの元のIPヘッダに基づいてパケットが転送される。

【ネットワークへの適用例】

IPsecが実装されたホスト間でのIPsec-VPN

 

■トンネルモード

【特徴】

・パケットの元のIPヘッダは暗号化される

・パケットのレイヤー4以上のデータ部も暗号化する

・認証の範囲はAHとESPにより異なる

・元のパケットに新たなIPヘッダが付加される

・新に加えられたIPヘッダに基づいてパケットが転送される。

【ネットワークへの適用例】

IPsecが実装されたルータ間でもIPsec-VPN

 

 

IPsecとは何か

IPsecとは

IPsecはデータのセキュリティ保護を目的としてネットワーク層で使用される暗号化技術です。AH,ESP,IKEなどのプロトコルで構成されており、これを使用したVPN接続によってインターネットでの安全な通信が実現できます。

 

IPsecの動作

IPsecネットワーク層で動作します。上位層のトランスポート層UDP,TCPどちらでも問題なく動作し、制限もないため、アプリケーションに依存しません。

ネットワーク層はIPである必要があります。

 

IPsecを構成するプロトコルと鍵交換のプロトコル

IPsec自体はセキュリティのアーキテクチャです。

 IPsecは以下のようなプロトコルから構成されています。

 

・AH(Authentication Header)・・・認証機能

役割:パケットが改竄されていないかどうか認証を行う。(HMAC)

   パケットの暗号化はできない。

プロトコル種別:IPプロトコル番号51

 

・ESP(Encapsulated Security Payload)・・・暗号化(ペイロード部)

役割:パケットが改竄されていないかどうか認証を行う。(HMAC)

   パケットのペイロード部の暗号化(DES or 3DES or AES)を行う。

プロトコル種別:IPプロトコル番号50

 

・IKE(Internet Key Exchange)・・・鍵交換

役割:秘密鍵情報の交換を安全に行う。IKEは[ISAKMP/Oakley]のこと。

   つまり、ISAKMPプロトコル上でOakley鍵交換の手順を実装したもの。

   Diffie-Hellman鍵交換のアルゴリズムはOakleyのコンポーネントの一つ。

プロトコル種別:UDPポート番号500

 

ちなみにESPのRFC2406と4303には認証トレーラ機能があり、AHを使用せずに改竄を防ぐことができる。

AHを使用する理由としては、IPヘッダの部分までの完全性を保証するためです。

また、AHがESPより負荷がかからない。AHに輸出規制がない。AHはIPv6コンプライアンスに必須であるということも理由に挙げられます。

 

IPsecの全体イメージ

IPsec自体はセキュリティアーキテクチャのため、以下の枠組みを規定しているだけとなります。そのため、実際にIPsec通信の際に使用するプロトコルや、暗号化アルゴリズムは選択する必要があります。

 

IPsecフレームワーク

1.IPsecプロトコル・・・AH or ESP or AH+ESP

2.暗号化・・・DES or 3DES or AES

3.認証・・・MD5 or SHA

4.鍵交換・・・DH1 or DH2 or DH3

 

実際にルータなどで設定を行う場合は上記のキーワードを入力することになる。

 

 

SQLインジェクション

dbwaです。

今回は SQLインジェクションについて書いていきます。

 

SQLインジェクションとは?

データベースを操作するSQLを使って不正な命令を攻撃対象のWebサイトに投げかけるのが、SQLインジェクションです。

 

例えば、Webサイト内の検索欄に不正なSQLを入力し、検索することで、データの漏洩や、webサイトの改竄が行われていしまいます。

 

クロスサイトスクリプティングXSS)との違い

巷でSQLインジェクションと並んで話題に出てくるのがクロスサイトスクリプティングです。この二つの共通点と違いは以下の通りとなります。

■共通点:Webサイトの脆弱性を突いた攻撃

■相違点:攻撃手法

SQLインジェクションSQLでの攻撃

クロスサイトスクリプティング:Webサイトに悪意のあるスクリプトを仕込み、訪問者が罠にかかるのを待つ。

 

SQLインジェクションへの対策

1.WAF(Webアプリケーションファイアウォール)の導入

 WAFはレイヤ7レベルでの詳細なリクエストの検知が可能のため、仮に不正なSQLがリクエストとして送られてきたとしてもWAFが検知してくれます。

2.エスケープ処理

SQLインジェクション対策で最もメジャーな対策になります。

エスケープ処理を導入することで、プログラム言語を扱う上で、特別な意味を持つ文字や記号を異なる文字列に書き換えてくれます。

3.脆弱性診断サービスの利用

脆弱性診断サービスは、Webサイトに対するあらゆる攻撃を診断してくれるサービスとなります。有名どころでは「OWASPZAP」というウェブアプリケーション脆弱性診断サービスがあります。

4.その他

基本的な対策は上記1〜3で十分なのですが、さらに安全性を向上させるためには、

データベースアクセス権限を最低限にすることや、データベースから出力されたエラーをそのまま表示しないようにする等あります。