以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。図面の説明において、同一又は同等の要素には同一符号を用い、重複する説明を省略する。
図1は、本実施形態に係るルール作成装置10の機能ブロック図を含む、システム1の全体構成を模式的に示す図である。図1に示されるように、システム1は、ルール作成装置10と、SS7(Common Channel Signaling SystemNo.7)ネットワーク50と、国際共通線ネットワーク100と、海外事業者ネットワーク200と、を備えている。システム1では、国際共通線ネットワーク100を介して、SS7ネットワーク50及び海外事業者ネットワーク200間のモバイル通信が行われる。
SS7ネットワーク50は、例えばモバイル通信の国際間ローミングを実現するネットワークである。SS7ネットワーク50は、国際共通線ネットワーク100を介して海外事業者ネットワーク200から通信信号を受信すると共に、国際共通線ネットワーク100を介して海外事業者ネットワーク200に通信信号を送信する。SS7ネットワーク50は、STP(Signal Transfer Point)51と、SS7IDS(IntrusionDetection System)52と、SS7FW(FireWall)53と、HLR(Home Location Register)54と、MSC(Mobile-servicesSwitching Center)/VLR(Visitor Location Register)55と、SGSN(Serving GPRS Support Node)56と、SMS−C(SMSCenter)57と、信号キャプチャ装置58と、を有する。なお、海外事業者ネットワーク200について図1に記載されたHLR201、MSC/VLR202、及びSGSN203の機能は、上述したSS7ネットワーク50のHLR54、MSC/VLR55、及びSGSN56の機能と同様であるため、説明を省略する。
STP51は、SS7ネットワーク50におけるルータ及びゲートウェイとして機能する構成である。HLR54は、モバイル通信に必要な携帯電話番号及び端末識別番号等のユーザ情報を管理するデータベースを有している。MSC/VLR55は、モバイル通信の中継装置(移動体通信交換局)であって、モバイル通信に必要な携帯電話番号及び端末識別番号等のユーザ情報を管理するデータベースを有している。SGSN56は、パケット網を構成するノードの一つであり、GPRS環境で無線アクセス・ネットワークに接続するための構成である。SMS−C57は、送受信したショートメッセージを中継(転送)する構成である。
SS7IDS52は、SS7ネットワーク50における進入検知システムとして機能する構成であり、ネットワーク上を流れるパケットを監視して不正アクセス等を検知する構成である。SS7IDS52は、ルールDB60を有している。ルールDB60には、コールフロー単位で、通信信号を通過させるか又は遮断するかを定めた信号遮断ルール500(図4参照)が記憶されている。信号遮断ルール500の詳細については後述する。SS7FW53は、SS7ネットワーク50におけるファイアウォールとして機能する構成である。SS7FW53は、ルールDB70を有している。ルールDB70には、上述したルールDB60と同様の信号遮断ルール500が記憶されている。信号遮断ルール500の詳細について後述する。なお、SS7IDS52及びSS7FW53は、上述したルールDB60,70に替えて(或いは加えて)、遮断する信号のみを規定したブラックリストを保持していてもよい。
信号キャプチャ装置58は、STP51から各ノード装置(HLR54、MSC/VLR55、SGSN56、及びSMS−C57)に送信される通信パケット、及び、各ノード装置からSTP51に送信される通信パケットを収集する構成である。信号キャプチャ装置58は、例えば、上記の各ノード装置の前段に設けられたタップ59a,59b,59cから分岐される通信パケットを収集する。なお、信号キャプチャ装置58は、例えばSS7FW53内に設けられて各通信パケットを収集してもよい。
信号キャプチャ装置58は、上述した方法で各通信パケットを収集することにより、国際共通線ネットワーク100とSS7ネットワーク50の各ノード装置との間で送受信した通信信号(通信パケット)をリアルタイムに蓄積し、蓄積した通信信号に基づきコールフローを生成する。コールフローとは、国際共通線ネットワーク100(外部)からの通信信号を少なくとも1つ含んだ判定対象信号群である。例えば図2に示される例では、コールフローには、国際共通線ネットワーク100から受信した通信信号である信号A、信号Aにつづいて国際共通線ネットワーク100に送信された通信信号である信号B、信号Bにつづいて国際共通線ネットワーク100から受信した通信信号である信号C、信号Cにつづいて国際共通線ネットワーク100に送信された信号Dの4つの信号が含まれている。信号キャプチャ装置58は、生成したコールフローをルール作成装置10の入力受付部11(後述)に送信する。
次に、図1を参照して、ルール作成装置10の機能の詳細について説明する。ルール作成装置10は、信号キャプチャ装置58によって取得されたコールフロー(トラフィック)を監視し、SS7ネットワーク50に影響を与える可能性のある未知のトラフィックを自動推定し、新規に遮断ルールを自動作成する装置である。ルール作成装置10は、入力受付部11と、前処理部12(抽出部)と、未知信号判定部13(判定部)と、機械学習ルールDB14と、閾値判定DB15と、新規ルール作成部16(ルール作成部)と、新規ルール投入部17及び新規ルール判定部18(更新部)と、を有する。
入力受付部11は、信号キャプチャ装置58に入力されたコールフロー(送受信信号のログ情報)を受け付ける機能である。入力受付部11は、受け付けたコールフローを前処理部12に出力する。以下では、入力受付部11によって受け付けられて前処理部12に出力されるコールフローを判定対象コールフローと記載する場合がある。
前処理部12は、外部からの通信信号を少なくとも1つ含んだ判定対象コールフローの特徴量を抽出する機能である。判定対象コールフローの特徴量とは、未知信号判定部13による判定(判定対象コールフローが未知信号群であるか否かの判定。詳細は後述)が可能となるように、判定対象コールフローの特徴を示すものである。コールフローの特徴量は、例えばベクトルで示されてもよいし、単なる数値で示されてもよい。前処理部12は、抽出した特徴量を未知信号判定部13に出力する。
図2は、受信した判定対象コールフローから特徴量を抽出する処理を説明する図である。前処理部12は、例えば、判定対象コールフローに含まれる通信信号の名称に基づき、判定対象コールフローの特徴量を抽出する。例えば図2に示される例では、判定対象コールフローに、国際共通線ネットワーク100から受信した通信信号である信号A、信号Aにつづいて国際共通線ネットワーク100に送信された通信信号である信号B、信号Bにつづいて国際共通線ネットワーク100から受信した通信信号である信号C、信号Cにつづいて国際共通線ネットワーク100に送信された信号Dの4つの信号が含まれている。この場合、前処理部12は、判定対象コールフローに含まれる4つの信号の名称である、信号A、信号B、信号C、及び信号Dに基づき、判定対象コールフローの特徴量を抽出する。なお、前処理部12は、判定対象コールフローに含まれる通信信号の名称の組み合わせが同じものを全て同じ特徴量としてもよいし、判定対象コールフローに含まれる通信信号の名称の組み合わせが同じであっても送受信の順番が異なるものを異なる特徴量としてもよい。
また、前処理部12は、例えば、判定対象コールフローに含まれる通信信号の送受信タイミングに基づき、判定対象コールフローの特徴量を抽出してもよい。例えば図2に示される例では、前処理部12は、信号Aを受信した時間を基準として、信号Bが送信された時間をタイミングβ、信号Cを受信した時間をタイミングγ、信号Dが送信された時間をタイミングαとして特定する。そして、前処理部12は、送受信タイミングであるタイミングβ,γ,αに基づき、判定対象コールフローの特徴量を抽出する。なお、上述した説明では信号Aを受信した時間を基準として、信号Aを受信した時間から各信号を送受信した時間までの差を「タイミング」とするとしたが、これに限定されず、前処理部12は、単に各信号の送受信時間を「タイミング」として特定してもよい。
また、前処理部12は、例えば、判定対象コールフローに含まれる通信信号のパラメータに基づき、判定対象コールフローの特徴量を抽出してもよい。通信信号のパラメータとは、例えば、ユーザ情報を特定する情報(IMSI、電話番号等)、ルーティングに用いる情報等、通信信号に含まれて通信信号の内容を示す情報である。例えば図2に示される例では、前処理部12は、受信信号である、信号AのパラメータX及び信号CのパラメータZを特定し、特定したパラメータに基づき判定対象コールフローの特徴量を抽出する。なお、上述した説明では受信信号である信号A及び信号Cのパラメータを特定するとしたが、これに限定されず、前処理部12は、送受信される全ての信号のパラメータを特定してもよいし、送信信号のみのパラメータを特定してもよい。
未知信号判定部13は、正常な通信信号を少なくとも1つ含んだ正常コールフロー(正常信号群)の特徴量、及び、異常な通信信号を少なくとも1つ含んだ異常コールフロー(異常信号群)を予め学習させた学習モデル(学習データ)と、前処理部12によって抽出された判定対象コールフローの特徴量とに基づき、判定対象コールフローが未知のコールフローである未知コールフロー(未知信号群)であるか否かを判定する。正常コールフローとは、海外事業者ネットワーク200とのモバイル通信において用いられる既知の正常なコールフローであり、例えば、着信系信号を含むコールフロー、位置登録信号を含むコールフロー、及びSMSに係る信号を含むコールフロー等である。また、異常コールフローとは、外部からの攻撃に係る信号を含む既知の攻撃コールフローである。学習モデルは、例えば最近傍、SVM(Sapport Vector Machine)、及びニューラルネットワーク等の1つ以上の機械学習技術を用いて生成されたものである。なお、用いられる機械学習技術は、上述したものに限られない。未知信号判定部13は、機械学習ルールDB14に格納されている学習モデルを参照することにより、判定対象コールフローについての判定を行う。なお、未知信号判定部13は、信号キャプチャ装置58により生成されたコールフローの情報に加えて、SS7IDS52から取得されるログ情報を、未知コールフローの判定に用いてもよい。
図3は、機械学習により作成された学習モデルを模式的に示す図である。図3に示される例では、ある特徴量A及び特徴量Bを二軸として、各コールフローの特徴量の領域が示されている。例えば、図3において「〇」で示された5か所の特徴量の領域は着信系信号を含む正常コールフローの特徴量の領域であり、「△」で示された4か所の特徴量の領域は位置登録信号を含む正常コールフローの特徴量の領域であり、「□」で示された4か所の特徴量の領域はSMSに係る信号を含む正常コールフローの領域であり、「☆」で示された2か所の特徴量の領域は攻撃に係る信号を含む既知の攻撃フローの特徴量の領域である。このようなコールフローの種別(カテゴリ)は、予め学習モデルが作成される際に定義されている。そして、図3に示されるように、同じ種別のコールフローの特徴量を囲むように、各種別のコールフローの特徴量の範囲が推定されている。このように、機械学習を行うことによって、実際に学習させた特徴量の領域だけでなく、同じ種別のコールフローの特徴量の領域であると推定される領域を含めて、各種別のコールフローの特徴量の範囲を画定することができる。なお、学習モデルに学習させる特徴量は、例えば、信号種別、信号送受信タイミング、送受信方向、及びキーとなる信号パラメータ等である。
例えば、判定対象コールフローの特徴量が、図3において「コールフローA」で示される特徴量であるとき、未知信号判定部13は、「コールフローA」が位置登録信号を含む正常コールフローの特徴量の範囲に属すると特定し、「コールフローA」が未知コールフローではないと判定する。また、例えば、判定対象コールフローの特徴量が、図3において「コールフローB」で示される特徴量であるとき、未知信号判定部13は、「コールフローB」が攻撃に係る信号を含む既知の攻撃コールフローの特徴量の範囲に属すると特定し、「コールフローB」が未知コールフローではないと判定する。一方で、例えば、判定対象コールフローの特徴量が、図3において「コールフローC」で示される特徴量であるとき、未知信号判定部13は、「コールフローC」がいずれの既知のコールフローの特徴量の範囲にも属さないと特定し、「コールフローC」が未知コールフローであると判定する。
また、未知信号判定部13は、判定対象コールフローの特徴量と学習モデルの各特徴量とを比較することにより、判定対象コールフローが正常コールフローである確信度、判定対象コールフローが異常コールフローである確信度、並びに、判定対象コールフローが正常コールフロー及び異常コールフローのいずれでもなく未知コールフローである確信度を導出し、各確信度に基づき判定対象コールフローが未知コールフローであるか否かを判定してもよい。ここでの確信度とは、そうである尤もらしさ(信頼性)を示す値であり、例えば「%」で示される。未知信号判定部13は、例えば、各確信度の中で、未知コールフローである確信度が最も高い場合に、判定対象コールフローが未知コールフローであると判定してもよい。
また、未知信号判定部13は、正常コールフローである確信度、及び、既知の異常コールフローである確信度を導出することなく、単に、判定対象コールフローが未知コールフローである確信度のみを導出し、該確信度に基づき判定対象コールフローが未知コールフローであるか否かを判定してもよい。未知信号判定部13は、例えば、判定対象コールフローが未知コールフローである確信度が所定値以上(例えば80%以上)である場合に、判定対象コールフローが未知コールフローであると判定してもよい。この場合、未知信号判定部13は、閾値判定DB15に格納されている確信度の閾値を参照することにより、上述した判定を行ってもよい。
未知信号判定部13は、判定対象コールフローが未知コールフローであると判定した場合、新規ルール作成依頼を新規ルール作成部16に出力する。新規ルール作成依頼には、判定対象コールフローが未知コールフローであることを示す情報(推定ラベル)及び判定対象コールフローの特徴量が含まれている。また、判定対象コールフローについて正常コールフローである確信度が導出されている場合には、各正常コールフローのうち最も確信度が高い(すなわち類似する)正常コールフローを特定する情報についても、新規ルール作成依頼に含まれている。以下では、新規ルール作成依頼には、上述した推定ラベル、判定態様コールフローの特徴量、及び、最も確信度が高い(類似する)正常コールフローを特定する情報(ID)が含まれているとして説明する。
新規ルール作成部16は、未知信号判定部13によって判定対象コールフローが未知コールフローであると判定された場合に、未知コールフローに含まれる外部からの通信信号を遮断するための新規ルールを作成する。新規ルール作成部16は、未知信号判定部13から入力された情報と、機械学習ルールDB14に記憶されている信号遮断ルール500(図4参照)を参照することにより取得される情報とに基づき、新規ルールを作成する。なお、以下では、機械学習ルールDB14には、ルールDB60及びルールDB70に記憶された信号遮断ルール500と同じ信号遮断ルール500が記憶されているとして説明するが、これに限られず、これらの信号遮断ルール500は一部が互いに異なるものであってもよい。
図4に示されるように、信号遮断ルールでは、各コールフロー毎に、例えば、IDと、分類と、コール分類と、信号名称と、タイミングと、パラメータと、FW状態とが関連付けられている。IDは、ルールを一意に特定する情報である。分類は、コールフローが「正常」であるか「既知攻撃(異常)」であるかを示す情報である。コール分類は、「位置登録系」「着信系」「SMS系」等、コールフローの詳細な種別を示す情報である。信号名称、タイミング、パラメータは、それぞれ、コールフローに含まれる通信信号の名称、送受信タイミング、パラメータである。FW状態は、コールフローに含まれる通信信号を通過させるか遮断するかを示す情報である。なお、例えば図4におけるID:4の既知攻撃については、3つの信号(信号名称:受信E−送信F−受信X)のうち、最後に規定されている受信信号である受信Xが遮断する信号である。
新規ルール作成部16は、まず、新規ルール作成依頼に含まれている、判定対象コールフローと最も類似する(確信度が高い)正常コールフローの情報を取得する。例えば図4に支援される信号遮断ルール500が用いられる場合において、新規ルール作成依頼に、類似する正常コールフローを特定する「ID:1」が含まれていた場合、新規ルール作成部16は、信号遮断ルール500を参照し、類似する正常コールフローが、位置登録信号を含む正常コールフロー(図4に示す「ID:1」の正常コールフロー)であると特定する。
つづいて、新規ルール作成部16は、特定した、類似する正常コールフローに含まれる通信信号の名称を特定する。図4に示される例では、新規ルール作成部16は、位置登録信号を含む正常コールフローに含まれる4つの通信信号の名称である、「受信A−送信B−受信C−送信D」を特定する。そして、新規ルール作成部16は、類似する正常コールフローに含まれる通信信号と、判定対象コールフロー(すなわち未知コールフロー)との差分であって類似する正常コールフローに含まれていない通信信号を抽出する。例えば、判定対象コールフローに3つの通信信号「受信A−送信B−受信Z」が含まれている場合、新規ルール作成部16は、差分であって正常コールフローに含まれていない通信信号である、「受信Z」を抽出し、当該「受信Z」が遮断(ブロック)されるように、新規ルールを作成する。新規ルール作成部16は、作成した新規ルールを新規ルール投入部17に出力する。
新規ルール投入部17は、新規ルール作成部16によって作成された新規ルールを、機械学習ルールDB14、ルールDB60、及びルールDB70の信号遮断ルール500に書き込む。新規ルール投入部17は、図4に示されるように、新規ルールに新たなID:7を割り当て、信号名称を「受信A−送信B−受信Z」とする。なお、この時点においては、新規ルール判定部18によって判定対象コールフロー(すなわち未知コールフロー)を遮断するか否か(すなわち、異常コールフローとするか否か)が判定されていない(詳細は後述)ため、図4に示されるように、新規ルールにおける分類及びFW状態(通過させるか、遮断させるか)の情報は入力されておらず、まだ新規ルールは有効化されていない。
また、新規ルール投入部17は、新規ルール判定部18によって、判定対象コールフロー(すなわち未知コールフロー)が外部からの攻撃に係る攻撃コールフロー(異常コールフロー)であると特定し、判定対象コールフローを遮断すると判定された場合(詳細は後述)、図5に示されるように、新規ルールのFW状態を「遮断」とすると共に、コール分類に、類似する正常コールフローの分類(この例では「位置登録系」)を入力し、機械学習ルールDB14、ルールDB60、及びルールDB70の信号遮断ルール500の状態を更新する。これにより、新規ルール作成部16によって作成された新規ルールが有効化される。この場合、新規ルールが登録されて既知の異常コールフローが追加されているため、機械学習ルールDB14においては、学習モデルが再学習される。新規ルール投入部17は、新規ルール判定部18によって判定対象コールフローを遮断しないと判定された場合には、信号遮断ルール500から新規ルールを削除してもよいし、後に再度の判定が可能となるように信号遮断ルール500に新規ルールを残してもよい。
新規ルール判定部18は、新規ルールが作成された判定対象コールフロー(すなわち未知コールフロー)に含まれる外部からの通信信号が例えば所定時間に所定回数以上受信されたか否かを判定し、所定時間に所定回数以上受信されている場合に、未知コールフローを外部からの攻撃に係る攻撃コールフロー(異常コールフロー)であると特定する。新規ルール判定部18は、信号キャプチャ装置58からリアルタイムに通信信号を受信し、機械学習ルールDB14の信号遮断ルール500を参照することにより、新規ルールが作成された判定対象コールフローに含まれる外部からの通信信号が所定時間に所定回数以上受信されたか否かを判定する。なお、新規ルール判定部18は、時間の条件を設けず、単に所定回数以上、判定対象コールフローに含まれる通信信号が受信された場合に、未知コールフローを攻撃コールフローであると特定してもよい。新規ルール判定部18は、判定結果を新規ルール投入部17に出力する。
次に、ルール作成装置10による制御処理について、図6〜図9を参照して説明する。
図6は、ルール作成装置10による制御処理の一例を示すフローチャートである。図6に示されるように、ルール作成装置10は、最初に、信号キャプチャ装置58によって入力された判定対象コールフローを受け付ける(ステップS1)。つづいて、ルール作成装置10は、判定態様コールフローの特徴量を抽出する(ステップS2)。具体的には、ルール作成装置10の前処理部12が、判定対象コールフローに含まれる通信信号の名称、判定対象コールフローに含まれる通信信号の送受信タイミング、及び、判定対象コールフローに含まれる通信信号のパラメータ等に基づき、判定対象コールフローの特徴量を抽出する。なお、前処理部12は、通信信号の名称、送受信タイミング、及びパラメータのうち1つ又は2つから特徴量を抽出してもよいし、それ以外から特徴量を抽出してもよい。
つづいて、ルール作成装置10は、抽出された判定対象コールフローの特徴量に基づき、判定対象コールフローが未知コールフローであるか否かを判定する(ステップS3)。ルール作成装置10の未知信号判定部13によって行われる判定処理については、図7を参照して後述する。
ステップS3において、判定対象コールフローが未知コールフローでないと判定された場合には、制御処理が終了する。一方で、ステップS3において、判定対象コールフローが未知コールフローであると判定された場合には、ルール作成装置10は、未知コールフローに含まれる外部からの通信信号を遮断するための新規ルールを作成する(ステップS4)。ルール作成装置10の新規ルール作成部16によって行われる新規ルール作成処理(一部、新規ルール投入部17によるDB更新処理を含む)については、図8を参照して後述する。
つづいて、ルール作成装置10は、新規ルールの有効性(未知コールフローが攻撃コールフローであり遮断すべきかどうか)を判定する(ステップS5)。ルール作成装置10の新規ルール判定部18によって行われる新規ルールの有効性判定処理については、図9を参照して後述する。最後に、ルール作成装置10は、新規ルールが有効化されるように、機械学習ルールDB14、ルールDB60、及びルールDB70の信号遮断ルール500の状態を更新する(ステップS6)。以上が、ルール作成装置10による制御処理である。
図7は、図6を用いて説明した制御処理のうち、未知信号判定部13によって行われる判定処理の詳細を示すフローチャートである。図7に示されるように、未知信号判定部13は、最初に、判定対象コールフローの特徴量と、学習モデルの各特徴量とから、判定対象コールフローが各カテゴリに属する確信度を導出する(ステップS31)。各カテゴリとは、例えば、着信系信号を含む正常コールフロー、位置登録信号を含む正常コールフロー、SMSに係る信号を含む正常コールフロー、攻撃に係る信号を含む既知の攻撃フロー、及び、未知コールフロー等である。
そして、未知信号判定部13は、判定対象コールフローが未知コールフローである確信度が所定値以上(例えば80%以上)であるか否かを判定する(ステップS32)。ステップS32において、未知コールフローである確信度が所定値以上でないと判定された場合には、未知信号判定部13は、判定対象コールフローが未知コールフローでないと判定する(ステップS34)。一方で、ステップS32において、未知コールフローである確信度が所定値以上であると判定された場合には、未知信号判定部13は、判定対象コールフローが未知コールフローであると判定する(ステップS33)。以上が、未知信号判定部13によって行われる判定処理の詳細である。
図8は、図6を用いて説明した制御処理のうち、新規ルール作成部16及び新規ルール投入部17によって行われる新規ルール作成処理の詳細を示すフローチャートである。図8に示されるように、新規ルール作成部16は、最初に、判定対象コールフローと最も類似する(確信度が高い)正常コールフローの情報を取得する(ステップS41)。つづいて、新規ルール作成部16は、類似する正常コールフローに含まれる通信信号と、判定対象コールフロー(すなわち未知コールフロー)との差分であって類似する正常コールフローに含まれていない通信信号を抽出する(ステップS42)。
つづいて、新規ルール作成部16は、判定対象コールフローに含まれる、抽出した差分の信号が遮断(ブロック)されるように、新規ルールを作成する(ステップS43)。最後に、新規ルール投入部17は、新規ルール作成部16によって作成された新規ルールを、機械学習ルールDB14、ルールDB60、及びルールDB70の信号遮断ルール500に書き込み、各ルールDBを更新する(ステップS44)。以上が、新規ルール作成部16及び新規ルール投入部17によって行われる新規ルール作成処理の詳細である。
図9は、図6を用いて説明した制御処理のうち、新規ルール判定部18によって行われる新規ルールの有効性判定処理の詳細を示すフローチャートである。図9に示されるように、新規ルール判定部18は、最初に、未知コールフローに含まれる外部からの通信信号(詳細には、遮断することとした差分の信号)が所定時間内において所定回数以上受信されているか否かを判定する(ステップS51)。ステップS51において所定回数以上受信されていないと判定された場合には、新規ルール判定部18は、未知コールフローに含まれる外部からの通信信号は攻撃に係る信号でない(例えば偶発的に送信された準正常系の信号である)と判断し、新規ルールを無効と判定する(ステップS54)。一方で、ステップS51において所定回数以上受信されていると判定された場合には、新規ルール判定部18は、未知コールフローを外部からの攻撃に係る攻撃コールフローであると特定し(ステップS52)、新規ルールを有効と判定する(ステップS53)。以上が、新規ルール判定部18によって行われる新規ルールの有効性判定処理の詳細である。
次に、本実施形態に係るルール作成装置10の作用効果について説明する。
本実施形態に係るルール作成装置10は、外部からの通信信号を少なくとも1つ含んだ判定対象コールフローの特徴量を抽出する前処理部12と、正常な通信信号を少なくとも1つ含んだ正常コールフローの特徴量及び異常な通信信号を少なくとも1つ含んだ異常コールフローの特徴量を学習させた学習モデルと、前処理部12によって抽出された判定対象コールフローの特徴量とに基づき、判定対象コールフローが未知の信号群である未知コールフローであるか否かを判定する未知信号判定部13と、未知信号判定部13によって判定対象コールフローが未知コールフローであると判定された場合に、未知コールフローに含まれる外部からの通信信号を遮断するための新規ルールを作成する新規ルール作成部16と、を備える。
このようなルール作成装置10では、複数種類の正常コールフローの特徴量及び異常コールフローの特徴量を学習させた学習モデルと、判定対象コールフローの特徴量とから、判定対象コールフローが未知コールフローであるか否かが判定されている。このように、既知のコールフローの特徴量が学習された学習モデルが用いられることにより、判定対象コールフローが未知コールフローであるか否かを容易且つ高精度に判定することができる。そして、未知コールフローである場合に、未知コールフローに含まれる外部からの通信信号を遮断する新規ルールが自動で作成されることにより、学習されていないイレギュラーな信号(例えば外部からの攻撃に係る信号)を容易且つ確実に遮断することができる。
未知信号判定部13は、判定対象コールフローの特徴量と学習データの各特徴量とを比較することにより、判定対象コールフローが未知コールフローである確信度を導出し、該確信度に基づき判定対象コールフローが未知コールフローであるか否かを判定する。このように、特徴量を比較して、判定対象コールフローが未知コールフローである確からしさ(確信度)を導出することにより、判定対象コールフローが未知コールフローであるか否かの判定を容易且つ高精度に行うことができる。
未知信号判定部13は、判定対象コールフローの特徴量と学習モデルの各特徴量とを比較することにより、判定対象コールフローが正常コールフローに係る信号群である確信度、判定対象コールフローが異常コールフローに係る信号群である確信度、並びに、判定対象コールフローが正常コールフローに係る信号群及び異常コールフローに係る信号群のいずれでもなく未知コールフローである確信度を導出し、各確信度に基づき判定対象コールフローが未知コールフローであるか否かを判定する。このように、特徴量を比較して、判定対象コールフローが各種コールフローである確からしさ(確信度)を導出することにより、より高精度に、判定対象コールフローが未知コールフローであるか否かの判定を行うことができる。
ルール作成装置10は、未知コールフローに含まれる外部からの通信信号が所定回数以上受信されたか否かを判定し、所定回数以上受信されている場合に、未知コールフローを外部からの攻撃に係るコールフローであると特定する新規ルール判定部18と、新規ルール判定部18の判定結果に応じて、新規ルール作成部16により作成された新規ルールが有効化されるように学習モデルを更新する新規ルール投入部17と、備える。未知コールフローであると判定された判定対象コールフローの通信信号については、例えば外部からの攻撃に係る通信信号である場合と、攻撃の意図がなく偶発的に送信された通信信号である場合とが考えられる。この点、未知コールフローであるとして新規ルールが作成された通信信号が所定回数以上受信された場合には、当該通信信号は、偶発的に送信された通信信号ではなく、外部からの攻撃に係る通信信号であると判断することができる。このため、所定回数受信された通信信号を含む未知コールフローについては外部からの攻撃に係るコールフローであると特定し新規ルールを有効化することにより、外部からの攻撃に係る通信信号を容易且つ確実に遮断することができる。
前処理部12は、判定対象コールフローに含まれる通信信号の名称に基づき、判定対象コールフローの特徴量を抽出してもよい。通信信号を一意に特定する名称を特徴量として抽出することにより、判定対象コールフローの特徴量を適切に取得し、判定対象コールフローが未知コールフローであるか否かを高精度に判定することができる。
前処理部12は、判定対象コールフローに含まれる通信信号の送受信タイミングに基づき、判定対象コールフローの特徴量を抽出してもよい。これにより、通信信号の送受信タイミングを考慮して、既知のコールフローであるか未知コールフローであるかを特定することが可能になり、判定対象コールフローが未知コールフローであるか否かを高精度に判定することができる。
前処理部12は、判定対象コールフローに含まれる通信信号のパラメータに基づき、判定対象コールフローの特徴量を抽出してもよい。これにより、通信信号に含まれる内容(例えばルーティングの情報等)を考慮して、既知のコールフローであるか未知コールフローであるかを特定することが可能になり、判定対象コールフローが未知コールフローであるか否かを高精度に判定することができる。
最後に、ルール作成装置10のハードウェア構成について、図10を参照して説明する。上述のルール作成装置10は、物理的には、プロセッサ1001、メモリ1002、ストレージ1003、通信装置1004、入力装置1005、出力装置1006、バス1007などを含むコンピュータ装置として構成されてもよい。
なお、以下の説明では、「装置」という文言は、回路、デバイス、ユニットなどに読み替えることができる。ルール作成装置10のハードウェア構成は、図に示した各装置を1つ又は複数含むように構成されてもよいし、一部の装置を含まずに構成されてもよい。
ルール作成装置10における各機能は、プロセッサ1001、メモリ1002などのハードウェア上に所定のソフトウェア(プログラム)を読み込ませることで、プロセッサ1001が演算を行い、通信装置1004による通信や、メモリ1002及びストレージ1003におけるデータの読み出し及び/又は書き込みを制御することで実現される。
プロセッサ1001は、例えば、オペレーティングシステムを動作させてコンピュータ全体を制御する。プロセッサ1001は、周辺装置とのインターフェース、制御装置、演算装置、レジスタなどを含む中央処理装置(CPU:Central Processing Unit)で構成されてもよい。例えば、ルール作成装置10の開閉器制御部105等の制御機能はプロセッサ1001で実現されてもよい。
また、プロセッサ1001は、プログラム(プログラムコード)、ソフトウェアモジュールやデータを、ストレージ1003及び/又は通信装置1004からメモリ1002に読み出し、これらに従って各種の処理を実行する。プログラムとしては、上述の実施の形態で説明した動作の少なくとも一部をコンピュータに実行させるプログラムが用いられる。例えば、ルール作成装置10の未知信号判定部13等の制御機能は、メモリ1002に格納され、プロセッサ1001で動作する制御プログラムによって実現されてもよく、他の機能ブロックについても同様に実現されてもよい。上述の各種処理は、1つのプロセッサ1001で実行される旨を説明してきたが、2以上のプロセッサ1001により同時又は逐次に実行されてもよい。プロセッサ1001は、1以上のチップで実装されてもよい。なお、プログラムは、電気通信回線を介してネットワークから送信されても良い。
メモリ1002は、コンピュータ読み取り可能な記録媒体であり、例えば、ROM(Read Only Memory)、EPROM(Erasable Programmable ROM)、EEPROM(Electrically Erasable Programmable ROM)、RAM(Random Access Memory)などの少なくとも1つで構成されてもよい。メモリ1002は、レジスタ、キャッシュ、メインメモリ(主記憶装置)などと呼ばれてもよい。メモリ1002は、本発明の一実施の形態に係る無線通信方法を実施するために実行可能なプログラム(プログラムコード)、ソフトウェアモジュールなどを保存することができる。
ストレージ1003は、コンピュータ読み取り可能な記録媒体であり、例えば、CD−ROM(Compact Disc ROM)などの光ディスク、ハードディスクドライブ、フレキシブルディスク、光磁気ディスク(例えば、コンパクトディスク、デジタル多用途ディスク、Blu−ray(登録商標)ディスク)、スマートカード、フラッシュメモリ(例えば、カード、スティック、キードライブ)、フロッピー(登録商標)ディスク、磁気ストリップなどの少なくとも1つで構成されてもよい。ストレージ1003は、補助記憶装置と呼ばれてもよい。上述の記憶媒体は、例えば、メモリ1002及び/又はストレージ1003を含むデータベース、サーバその他の適切な媒体であってもよい。
通信装置1004は、有線及び/又は無線ネットワークを介してコンピュータ間の通信を行うためのハードウェア(送受信デバイス)であり、例えばネットワークデバイス、ネットワークコントローラ、ネットワークカード、通信モジュールなどともいう。
入力装置1005は、外部からの入力を受け付ける入力デバイス(例えば、キーボード、マウス、マイクロフォン、スイッチ、ボタン、センサなど)である。出力装置1006は、外部への出力を実施する出力デバイス(例えば、ディスプレイ、スピーカー、LEDランプなど)である。なお、入力装置1005及び出力装置1006は、一体となった構成(例えば、タッチパネル)であってもよい。
また、プロセッサ1001やメモリ1002などの各装置は、情報を通信するためのバス1007で接続される。バス1007は、単一のバスで構成されてもよいし、装置間で異なるバスで構成されてもよい。
また、ルール作成装置10は、マイクロプロセッサ、デジタル信号プロセッサ(DSP:Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)、FPGA(Field Programmable Gate Array)などのハードウェアを含んで構成されてもよく、当該ハードウェアにより、各機能ブロックの一部又は全てが実現されてもよい。例えば、プロセッサ1001は、これらのハードウェアの少なくとも1つで実装されてもよい。
以上、本実施形態について詳細に説明したが、当業者にとっては、本実施形態が本明細書中に説明した実施形態に限定されるものではないということは明らかである。本実施形態は、特許請求の範囲の記載により定まる本発明の趣旨及び範囲を逸脱することなく修正及び変更態様として実施することができる。したがって、本明細書の記載は、例示説明を目的とするものであり、本実施形態に対して何ら制限的な意味を有するものではない。
例えば、SS7IDS52及びSS7FW53とは異なる装置としてルール作成装置10を設けるとして説明したがこれに限定されず、ルール作成装置10は、SS7IDS52又はSS7FW53内に含まれていてもよい(すなわち、ルール作成装置10とは、SS7IDS52又はSS7FW53内に含まれるプログラムであってもよい)。
本明細書で説明した各態様/実施形態は、LTE(Long Term Evolution)、LTE−A(LTE-Advanced)、SUPER 3G、IMT−Advanced、4G、5G、FRA(Future Radio Access)、W−CDMA(登録商標)、GSM(登録商標)、CDMA2000、UMB(Ultra Mobile Broad-band)、IEEE 802.11(Wi−Fi)、IEEE 802.16(WiMAX)、IEEE 802.20、UWB(Ultra-Wide Band)、Bluetooth(登録商標)、その他の適切なシステムを利用するシステム及び/又はこれらに基づいて拡張された次世代システムに適用されてもよい。
本明細書で説明した各態様/実施形態の処理手順、シーケンス、フローチャートなどは、矛盾の無い限り、順序を入れ替えてもよい。例えば、本明細書で説明した方法については、例示的な順序で様々なステップの要素を提示しており、提示した特定の順序に限定されない。
入出力された情報等は特定の場所(例えば、メモリ)に保存されてもよいし、管理テーブルで管理してもよい。入出力される情報等は、上書き、更新、または追記され得る。出力された情報等は削除されてもよい。入力された情報等は他の装置へ送信されてもよい。
判定は、1ビットで表される値(0か1か)によって行われてもよいし、真偽値(Boolean:trueまたはfalse)によって行われてもよいし、数値の比較(例えば、所定の値との比較)によって行われてもよい。
本明細書で説明した各態様/実施形態は単独で用いてもよいし、組み合わせて用いてもよいし、実行に伴って切り替えて用いてもよい。また、所定の情報の通知(例えば、「Xであること」の通知)は、明示的に行うものに限られず、暗黙的(例えば、当該所定の情報の通知を行わない)ことによって行われてもよい。
ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、他の名称で呼ばれるかを問わず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行可能ファイル、実行スレッド、手順、機能などを意味するよう広く解釈されるべきである。
また、ソフトウェア、命令などは、伝送媒体を介して送受信されてもよい。例えば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア及びデジタル加入者回線(DSL)などの有線技術及び/又は赤外線、無線及びマイクロ波などの無線技術を使用してウェブサイト、サーバ、又は他のリモートソースから送信される場合、これらの有線技術及び/又は無線技術は、伝送媒体の定義内に含まれる。
本明細書で説明した情報、信号などは、様々な異なる技術のいずれかを使用して表されてもよい。例えば、上記の説明全体に渡って言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、チップなどは、電圧、電流、電磁波、磁界若しくは磁性粒子、光場若しくは光子、又はこれらの任意の組み合わせによって表されてもよい。
なお、本明細書で説明した用語及び/又は本明細書の理解に必要な用語については、同一の又は類似する意味を有する用語と置き換えてもよい。
また、本明細書で説明した情報、パラメータなどは、絶対値で表されてもよいし、所定の値からの相対値で表されてもよいし、対応する別の情報で表されてもよい。
ユーザ端末は、当業者によって、移動通信端末、加入者局、モバイルユニット、加入者ユニット、ワイヤレスユニット、リモートユニット、モバイルデバイス、ワイヤレスデバイス、ワイヤレス通信デバイス、リモートデバイス、モバイル加入者局、アクセス端末、モバイル端末、ワイヤレス端末、リモート端末、ハンドセット、ユーザエージェント、モバイルクライアント、クライアント、またはいくつかの他の適切な用語で呼ばれる場合もある。
本明細書で使用する「判断(determining)」、「決定(determining)」という用語は、多種多様な動作を包含する場合がある。「判断」、「決定」は、例えば、計算(calculating)、算出(computing)、処理(processing)、導出(deriving)、調査(investigating)、探索(looking up)(例えば、テーブル、データベースまたは別のデータ構造での探索)、確認(ascertaining)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、受信(receiving)(例えば、情報を受信すること)、送信(transmitting)(例えば、情報を送信すること)、入力(input)、出力(output)、アクセス(accessing)(例えば、メモリ中のデータにアクセスすること)した事を「判断」「決定」したとみなす事などを含み得る。また、「判断」、「決定」は、解決(resolving)、選択(selecting)、選定(choosing)、確立(establishing)、比較(comparing)などした事を「判断」「決定」したとみなす事を含み得る。つまり、「判断」「決定」は、何らかの動作を「判断」「決定」したとみなす事を含み得る。
本明細書で使用する「に基づいて」という記載は、別段に明記されていない限り、「のみに基づいて」を意味しない。言い換えれば、「に基づいて」という記載は、「のみに基づいて」と「に少なくとも基づいて」の両方を意味する。
本明細書で「第1の」、「第2の」などの呼称を使用した場合においては、その要素へのいかなる参照も、それらの要素の量または順序を全般的に限定するものではない。これらの呼称は、2つ以上の要素間を区別する便利な方法として本明細書で使用され得る。したがって、第1および第2の要素への参照は、2つの要素のみがそこで採用され得ること、または何らかの形で第1の要素が第2の要素に先行しなければならないことを意味しない。
「含む(include)」、「含んでいる(including)」、およびそれらの変形が、本明細書あるいは特許請求の範囲で使用されている限り、これら用語は、用語「備える(comprising)」と同様に、包括的であることが意図される。さらに、本明細書あるいは特許請求の範囲において使用されている用語「または(or)」は、排他的論理和ではないことが意図される。
本明細書において、文脈または技術的に明らかに1つのみしか存在しない装置である場合以外は、複数の装置をも含むものとする。
本開示の全体において、文脈から明らかに単数を示したものではなければ、複数のものを含むものとする。