(57)【要約】【課題】情報処理装置のライフサイクルを通じて、デバッグ機構を利用した攻撃を排除するための技術を提供する。【解決手段】デバッガと接続可能な情報処理装置であって、情報処理装置を制御する制御部と、情報処理装置の設置位置を検出する位置検出部と、設置位置に基づいて制御部とデバッガとの接続可否を判定する判定部と、判定部による判定結果に基づいて制御部とデバッガとを接続又は切断する接続制御部とを備える。【選択図】  図１
2020177467.tif 000002
【特許請求の範囲】
【請求項１】
デバッガと接続可能な情報処理装置であって、
前記情報処理装置を制御する制御手段と、
前記情報処理装置の設置位置を検出する位置検出手段と、
前記設置位置に基づいて前記制御手段と前記デバッガとの接続可否を判定する判定手段と、
前記判定手段による判定結果に基づいて前記制御手段と前記デバッガとを接続又は切断する接続制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記制御手段は、前記デバッガと接続可能なデバッグＩＦを備えており、
前記判定手段は、
予め基準位置を記憶しておく記憶手段と、
前記設置位置と前記基準位置とを比較して比較結果を出力する比較手段と、
を含み、
前記接続制御手段は、
前記デバッグＩＦと前記デバッガとを接続する信号中継手段と、
前記設置位置と前記基準位置とが整合しない場合、前記信号中継手段の端子接続を切断する信号中継制御手段と、
を含むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記デバッグＩＦは、ＪＴＡＧ ＩＦであることを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記位置検出手段は、位置検出制御手段と、計測手段とを含み、
前記位置検出制御手段は、前記接続制御手段からの指示に従って前記計測手段を制御し、
前記計測手段は、前記位置検出制御手段からの指示に従ってＧＰＳ計測により前記設置位置を計測することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記基準位置及び前記設置位置は、少なくとも緯度および経度の情報を含み、
前記比較手段は、前記基準位置と前記設置位置とのユークリッド距離が所定値未満である場合に、前記設置位置と前記基準位置とが整合すると判定することを特徴とする請求項２又は３に記載の情報処理装置。
【請求項６】
前記基準位置及び前記設置位置は、さらに高度の情報を含むことを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記位置検出手段は、グローバルＩＰ検出制御手段と、グローバルＩＰ検出手段とを含み、
前記グローバルＩＰ検出制御手段は、前記接続制御手段からの指示に従って前記グローバルＩＰ検出手段を制御し、
前記グローバルＩＰ検出手段は、前記グローバルＩＰ検出制御手段からの指示に従って前記情報処理装置が接続されているネットワークのグローバルＩＰを前記設置位置として計測することを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項８】
デバッガと接続可能であって情報処理装置を制御する制御手段を備える前記情報処理装置の制御方法であって、
前記情報処理装置の設置位置を検出する位置検出工程と、
前記設置位置に基づいて前記制御手段と前記デバッガとの接続可否を判定する判定工程と、
前記判定工程による判定結果に基づいて前記制御手段と前記デバッガとを接続又は切断する接続制御工程とを、
を有することを特徴とする情報処理装置の制御方法。
【請求項９】
コンピュータを、請求項１乃至７の何れか１項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法およびプログラムに関する。
【背景技術】
【０００２】
近年、組み込み機器を含むあらゆる情報処理装置において、悪意のある第三者からの攻撃からソフトウェアを保護する仕組みが要求されている。このような攻撃では、情報処理装置が持つ脆弱性を利用してシステム内部へ侵入を試みることが行われる。脆弱性の露出点の集合は、一般的に攻撃面（アタックサーフェス）と呼ばれており、各々の脆弱性に応じた保護対策が取られる。攻撃面の中でも破られた時の被害が大きいものの一つにデバッグ機能が挙げられる。
【０００３】
デバッグ機能が抱える脆弱性を保護するための技術として、特許文献１では、リセット解除直後はデバッグＩＦとデバッガとの接続を無効にしておき、その間にＣＰＵが所定の命令を実行した時だけ接続を有効にする技術が開示されている。また、特許文献２では、通常はデバッグＩＦを無効にしておき、接続されたデバッガの認証が成功した時のみデバッグＩＦを有効とする技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−７６１０６号公報
【特許文献２】特開２００４−２１３２１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術では、製品開発、製造、輸送、及び顧客使用時に至る全ての過程を通して、何らかのセキュア資源漏えい或いは人為的なミスに起因する、デバッグ機構を利用した攻撃を避けることができない。特許文献１の技術では、顧客使用時に生じた不具合をデバッグするためにはデバッグ有効化命令を含んだファームに置き換える必要がある。そのため、人為的なミスによりファームの再更新を忘れると、デバッグ機能が市場で開放されたままになってしまうことがある。
【０００６】
また、特許文献２の技術では、悪意のある関係者による漏えい、または第三者のハッキングによる盗難などにより、認証情報が盗用されることでデバッグ機能が開放されてしまうことがある。
【０００７】
本発明は、上記の課題に鑑みてなされたものであり、情報処理装置のライフサイクルを通じて、デバッグ機構を利用した攻撃を排除するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成する本発明に係る情報処理装置は、
デバッガと接続可能な情報処理装置であって、
前記情報処理装置を制御する制御手段と、
前記情報処理装置の設置位置を検出する位置検出手段と、
前記設置位置に基づいて前記制御手段と前記デバッガとの接続可否を判定する判定手段と、
前記判定手段による判定結果に基づいて前記制御手段と前記デバッガとを接続又は切断する接続制御手段と、
を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、情報処理装置のライフサイクルを通じて、デバッグ機構を利用した攻撃を排除することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】実施形態１に係る構成を表すブロック図。
【図２】実施形態２に係る動作を表すフローチャート。
【図３】実施形態２に係る構成を表すブロック図。
【図４】実施形態２に係る動作を表すフローチャート。
【図５】実施形態３に係る構成を表すブロック図。
【図６】実施形態４に係る構成の第一の例を表すブロック図。
【図７】実施形態４に係る構成の第二の例を表すブロック図。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照して実施形態を詳しく説明する。尚、以下の実施形態は特許請求の範囲に係る発明を限定するものでない。実施形態には複数の特徴が記載されているが、これらの複数の特徴の全てが発明に必須のものとは限らず、また、複数の特徴は任意に組み合わせられてもよい。さらに、添付図面においては、同一若しくは同様の構成に同一の参照番号を付し、重複した説明は省略する。
【００１２】
（実施形態１）
＜構成＞
まず、実施形態１について説明する。本実施形態に係る情報処理装置の構成について説明する。図１は本実施形態に係る情報処理装置の構成を表すブロック図である。図１において１００は情報処理装置であり、１５０は情報処理装置１００のデバッグを行うためのデバッガである。情報処理装置１００において、１０４はシステム制御部であり、ＣＰＵやメモリなどを含む。１０１は位置検出部であり、情報処理装置１００の設置位置を検出する。１０２は判定部であり、位置検出部１０１が検出した位置情報を解析し、設置位置がデバッグ許可領域であるかどうかを判定する。そして、設置位置に基づいてデバッガ１５０との接続可否を判定する。１０３はデバッガ接続制御部であり、判定部１０２の判定結果に基づいてシステム制御部１０４とデバッガ１５０を接続又は切断するように制御する。
【００１３】
＜処理＞
次に本実施形態の動作について詳細に説明する。図２は、本実施形態に係る情報処理装置の動作を表すフローチャートである。情報処理装置１００が動作を開始すると、Ｓ２０１において、デバッガ接続制御部１０３は、デバッガ１５０が電気的に接続されているかどうかを確認する。接続されていない時はＳ２０８を経て、再びＳ２０１に戻って接続の監視を続ける。デバッガ１５０の接続を電気的に検出した場合、デバッガ接続制御部１０３は位置検出部１０１に対して設置位置検出を指示する。
【００１４】
Ｓ２０２において、位置検出部１０１は、情報処理装置１００の設置位置を測定する。次に、位置検出部１０１は、測定した位置情報を判定部１０２へ出力し、設置位置判定を指示する。
【００１５】
Ｓ２０３において、判定部１０２は、位置検出部１０１から取得した位置情報を解析する。そして、情報処理装置１００の位置がデバッグ許可領域に含まれるかどうかを判定し、その判定結果をデバッガ接続制御部１０３へ出力する。デバッガ接続制御部１０３は、判定部１０２から取得した判定結果に応じてＳ２０３で示された分岐処理を行う。デバッグ許可領域に含まれていた場合は接続可能であり、Ｓ２０４へ分岐する。逆にデバッグ許可領域に含まれていない場合は接続不可能であり、Ｓ２０８を経てＳ２０１へ戻って接続監視処理を続ける。
【００１６】
Ｓ２０４において、デバッガ接続制御部１０３は、デバッガ接続処理を行い、デバッガ１５０とシステム制御部１０４との通信を可能にする。デバッガ接続制御部１０３の処理によってデバッガ１５０とシステム制御部１０４の通信が可能となり、Ｓ２０５において、システム制御部１０４は、デバッガ１５０による実際のデバッグ操作を受け付ける。Ｓ２０５におけるデバッグ操作は、一般的に行い得る任意のデバッグ操作を含む。
【００１７】
Ｓ２０６において、デバッガ接続制御部１０３は、デバッグが完了後のユーザによるデバッガ１５０の取り外しを電気的に検出する。Ｓ２０７において、デバッガ接続制御部１０３は、システム制御部１０４を切り離して、デバッガ接続を無効化する。その後、Ｓ２０８で処理終了判定を行い、処理を継続する場合、Ｓ２０１におけるデバッガ接続監視処理に戻る。一方、電源オフなどにより処理を終了する場合、一連の処理を終了する。
【００１８】
以上説明したように、本実施形態によれば、情報処理装置が所定位置にある時のみデバッグ機能を有効にするため、情報処理装置のライフサイクルを通じ、セキュア資源漏えいや人為的なミスに起因するデバッグ機構を利用した攻撃を排除することが可能となる。
【００１９】
（実施形態２）
次に、実施形態２について説明する。なお、本実施形態の説明に用いる図面に関し、同じ機能を持つものについては同じ参照符号をつけ、説明を省略する。最初に本実施形態の構成について説明する。
【００２０】
＜構成＞
本実施形態に係る情報処理装置の構成について、図３のブロック図を用いて説明する。最初に、判定部１０２の構成について説明する。図３において、３０２は基準位置記憶部であり、デバッグ許可領域の基準位置情報を記憶している。３０１は位置比較部であり、位置検出部１０１が検出した位置情報が、基準位置記憶部３０２に保持された基準位置情報と整合（例えば一致）するかどうかを比較する。
【００２１】
次に、システム制御部１０４の構成について説明する。３２０はＣＰＵであり、情報処理装置１００の全てまたは一部の機能を制御する。３２１はＪＴＡＧ ＩＦであり、ＣＰＵ３２０の一部として機能し、ＣＰＵ３２０におけるデバッグ機能とデバッガ接続制御部１０３とを接続するものである。
【００２２】
最後に、デバッガ接続制御部１０３の構成について説明する。３１１はＪＴＡＧ信号中継部であり、ＪＴＡＧ ＩＦ３２１とデバッガ１５０とを接続する。３１０はＪＴＡＧ信号中継制御部であり、位置比較部３０１からの出力に応じてＪＴＡＧ信号中継部３１１の接続を制御する。
【００２３】
＜処理＞
次に、図４のフローチャートを用いて、本実施形態に係る情報処理装置の動作について詳細に説明する。情報処理装置１０１が起動すると、Ｓ４０１において、基準位置記憶部３０２は、位置情報の入力処理を行う。この時の入力方法としては、任意の方法を用いることが可能である。例えば基準位置記憶部３０２がユーザＩＦを備え、ユーザがユーザＩＦを介してキーボード等の任意の入力装置から必要な情報を入力する。或いは、遠隔的な接続方法を用いて基準位置記憶部３０２と任意の入力装置を接続して情報を入力する方法であってもよい。また、Ｓ４０１の処理は情報処理装置１００の起動時に行う場合に限らず、システム制御部１０４の制御のもとで、任意の状態から開始することも可能である。
【００２４】
以降、Ｓ２０１からＳ２０８の処理は図２における処理と同じ内容であるため詳細な説明は省略し、図３の情報処理装置１００の構成要素との関連のみ示すことにする。Ｓ２０１におけるデバッガ接続検出処理では、ＪＴＡＧ信号中継部３１１がデバッガ１５０の接続を電気的に検出し、ＪＴＡＧ信号中継制御部３１０へ通知する。そしてＪＴＡＧ信号中継制御部３１０は、更に位置検出部１０１へ通知する。Ｓ２０２における位置検出処理は実施形態１と同じ構成要素が処理する。Ｓ２０３における判定処理は、位置比較部３０１が行う。まず位置比較部３０１が基準位置記憶部３０２から基準位置の情報を読み込む。次に位置比較部３０１は、読み込んだ基準位置と位置検出部１０１が検出した設置位置との比較を行う。ここで行う設置位置の比較では、基準位置として一定の範囲を含むことが可能である。即ち下記の論理を用いて判断する。
【００２５】
【数１】
2020177467.tif 000003
【００２６】
ここで、ＲはＳ２０２において位置検出部１０１が検出した位置ベクトルであり、Ｒｒｅｆは基準位置記憶部３０２が保持する基準位置である。またΔｒは、上述した基準位置の範囲であり、ＲとＲｒｅｆとの間のユークリッド距離がΔｒより小さければデバッグ許可領域にいることを表す。すなわち、ユークリッド距離が所定値未満である場合に、設置位置と基準位置とが整合すると判定することができる。なお、Ｒ及びＲｒｅｆを表す物理量は少なくとも緯度、経度の情報を含む。またそれに加えて高度の情報を含むことが可能である。なお、高度の基準点（高度０の地点）は任意である。
【００２７】
Ｓ２０４におけるデバッガ接続処理では、ＪＴＡＧ信号中継制御部３１０が位置比較部３０１からの比較結果に基づいてＪＴＡＧ信号中継部３１１の端子接続の制御を行う。ここで、接続制御処理は、電気的（ゲートなど）或いは機械的（スイッチ、接点など）に、ＪＴＡＧ信号中継部３１１内部におけるＪＴＡＧ ＩＦ３２１とデバッガ１５０とを接続または切断するものである。ここで、接続か或いは切断かを決定する条件は実施形態１と同じである。
【００２８】
最後にＳ２０５からＳ２０８の処理は、実施形態１と同じ構成要素による処理なので、説明を省略する。
【００２９】
以上説明したように、本実施形態によれば、情報処理装置が所定の位置範囲にある時のみデバッグ機能を有効にするため、情報処理装置のライフサイクルを通じて、デバッグ機構を利用した攻撃を排除することが可能となる。
【００３０】
（実施形態３）
続いて、実施形態３について説明する。なお、本実施形態の説明に用いる図面に関し、同じ機能を持つものについては同じ参照符号をつけ、説明を省略する。
【００３１】
＜構成＞
本実施形態に係る情報処理装置の構成について、図５を用いて説明する。他の実施形態との差異は位置検出部１０１の内部構成のみであるため、差異点を中心に説明する。図５において５１１は位置検出制御部であり、位置検出部１０１、後述のＧＰＳ計測部５１２の動作を制御する。５１２はＧＰＳ計測部であり、位置検出制御部５１１の指示に従い情報処理装置１００の設置位置を測定する。
【００３２】
＜処理＞
次に、本実施形態に係る情報処理装置の動作について図４を再び参照して詳細に説明する。Ｓ２０１において、デバッガ接続制御部１０３がデバッガ１５０の接続を検知すると、位置検出制御部５１１に対して設置位置測定の指示が出される。
【００３３】
Ｓ２０２において、位置検出制御部５１１は、その指示に従って、ＧＰＳ計測部５１２を用いて現在位置の測定を行う。ここでＧＰＳ計測部５１２の測定結果は、どのような形態であっても本発明の範囲を限定するものではない。例えば、測定結果として緯度と経度を出力しても良い。或いは、更に高位な変換を施して住所などを出力することも考えられる。
【００３４】
Ｓ２０３において、位置比較部３０１は、測定した位置情報を用いて比較処理を行う。この時、基準位置記憶部３０２が保持する基準位置情報は、位置検出部１０１が出力する設置位置情報と同種の情報である必要がある。そのため、本実施形態において基準位置記憶部３０２が保持する基準位置情報は、ＧＰＳ計測部５１２の出力と同じ形式を持っている。例えば、デバッグ許可領域として認められた緯度・経度範囲の上下限値を保持しても良い。或いは、デバッグ許可領域として認められた地域の住所範囲を保持しても良い。なお、基準位置情報は、Ｓ４０１において入力されたものである。
【００３５】
以上説明したように、本実施形態によれば、ＧＰＳ情報を用いて、情報処理装置が所定の位置範囲にある時のみデバッグ機能を有効にするため、情報処理装置のライフサイクルを通じて、デバッグ機構を利用した攻撃を排除することが可能となる。
【００３６】
（実施形態４）
さらに、実施形態４について説明する。なお、本実施形態の説明に用いる図面に関し、同じ機能を持つものについては同じ参照符号をつけ、説明を省略する。
【００３７】
＜構成＞
本実施形態に係る情報処理装置の構成について、図６を用いて説明する。他の実施形態との差異は位置検出部１０１の内部構成のみであるため、差異点を中心に説明する。図６において６１１はグローバルＩＰ検出制御部であり、位置検出部１０１、後述のグローバルＩＰ検出部６１２の動作を制御する。６１２はグローバルＩＰ検出部であり、グローバルＩＰ検出制御部６１１の指示に従い情報処理装置１００が接続されたネットワークのグローバルＩＰを検出する。なお、本実施形態では情報処理装置１００の設置位置情報として情報処理装置１００が接続されたネットワークにおけるグローバルＩＰを用いている。グローバルＩＰは一般的に拠点とみなせるような単位でユニークであるため、特殊な場合を除けば基準位置として十分に使用可能である。
【００３８】
＜処理＞
次に、本実施形態に係る情報処理装置の動作について、図４を再び参照して詳細に説明する。Ｓ２０１において、デバッガ接続制御部１０３は、デバッガ１５０の接続を検知すると、グローバルＩＰ検出制御部６１１に対して設置位置測定の指示が出される。Ｓ２０２において、グローバルＩＰ検出制御部６１１はその指示に従って、グローバルＩＰ検出部６１２を用いて情報処理装置１００が接続されているネットワークのグローバルＩＰを検出する。ここでグローバルＩＰ検出部６１２が用いる検出方法は、どのような形態であっても本発明の範囲を限定するものではない。例えばＬｉｎｕｘであればｃｕｒｌコマンドを用いて簡単に調べることができる。また、ブラウザベースで動作するＷＥＢアプリも多数存在する。
【００３９】
Ｓ２０３において、位置比較部３０１は、ここで測定したグローバルＩＰを用いて比較処理を行う。この時、基準位置記憶部３０２が保持する基準位置は、位置検出部１０１が出力する設置位置情報と同じ情報である必要がある。そのため、本実施形態において基準位置記憶部３０２が保持する基準位置情報は、デバッグ許可領域で用いられているグローバルＩＰである。例えば、デバッグ許可領域として認められた一つまたは複数のグローバルＩＰを保持しても良い。
【００４０】
[変径例]
なお、本実施形態ではグローバルＩＰ検出部６１２が直接ネットワークへアクセスする例を説明した。しかし、情報処理装置１００とネットワークとの接続形態は多様である。例えば、図７に示したようにネットワークとの接続ＩＦはシステム制御部１０４に統合されており、グローバルＩＰ検出部６１２はシステム制御部１０４が提供する機能を用いて接続ネットワークのグローバルＩＰを検出することも可能である。また他のいかなる接続形態であっても本発明の範囲を限定することにはならない。
【００４１】
以上説明したように、本実施形態によれば、グローバルＩＰを用いて、情報処理装置が所定の位置にある時のみデバッグ機能を有効にするため、情報処理装置のライフサイクルを通じて、デバッグ機構を利用した攻撃を排除することが可能となる。
【００４２】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００４３】
発明は上記実施形態に制限されるものではなく、発明の精神及び範囲から離脱することなく、様々な変更及び変形が可能である。従って、発明の範囲を公にするために請求項を添付する。
【符号の説明】
【００４４】
１００：情報処理装置、１０１：位置検出部、１０２：判定部、１０３：デバッガ接続制御部、１０４：システム制御部、１５０：デバッガ
【図１】
2020177467.tif 000004
【図２】
2020177467.tif 000005
【図３】
2020177467.tif 000006
【図４】
2020177467.tif 000007
【図５】
2020177467.tif 000008
【図６】
2020177467.tif 000009
【図７】
2020177467.tif 000010