(57)【要約】  本発明は、脆弱性攻撃を受けやすいソーステキスト脆弱箇所１４を認識するステップを有する、ソーステキスト１０を解析するための方法に関する。当該ソーステキスト脆弱箇所１４の認識は、能動的なソーステキスト開発中にプログラムコンパイルの必要性なしに実行される。
2021533476.tif 000002
【特許請求の範囲】
【請求項１】
−脆弱性攻撃を受けやすいソーステキスト脆弱箇所（１４）を認識するステップを有する、ソーステキスト（１０）を解析するための方法において、
前記ソーステキスト脆弱箇所（１４）の認識は、能動的なソーステキスト開発中にプログラムコンパイルの必要性なしに実行されることを特徴とする当該方法。
【請求項２】
当該脆弱性攻撃を受けやすいソーステキスト脆弱箇所（１４）の認識は、以下の
−サイドチャネル攻撃を受けやすいソーステキスト脆弱箇所（１４）を認識するステップと、
−故障利用攻撃を受けやすいソーステキスト脆弱箇所（１４）を認識するステップとのうちの少なくとも１つのステップを含むことを特徴とする請求項１に記載の方法。
【請求項３】
−当該認識されたソーステキスト脆弱箇所（１４）を視覚的に強調するステップであって、
当該認識されたソーステキスト脆弱箇所（１４）の視覚的な強調が、前記能動的なソーステキスト開発中にプログラムコンパイルの必要性なしに実行されることを特徴とする請求項１又は２に記載の方法。
【請求項４】
当該ソーステキスト脆弱箇所（１４）の認識及び／又は当該認識されたソーステキスト脆弱箇所（１４）の視覚的な強調は、前記能動的なソーステキスト開発中にリアルタイムに実行されることを特徴とする請求項１〜３のいずれか１項に記載の方法。
【請求項５】
以下の
−認識されたソーステキスト脆弱箇所（１４）に関して格納された説明を自動的にロードするステップと、
−認識されたソーステキスト脆弱箇所（１４）に関する説明を自動的に生成するステップと、
−当該認識されたソーステキスト脆弱箇所（１４）に関してロード又は生成された説明を自動的に表示するステップとのうちの少なくとも１つのステップを特徴とする請求項１〜４のいずれか１項に記載の方法。
【請求項６】
以下の
−認識されたソーステキスト脆弱箇所（１４）に関する代わりのソーステキストを自動的に生成するステップと、
−当該認識されたソーステキスト脆弱箇所（１４）に関して生成された代わりのソーステキストを自動的に表示するステップとのうちの少なくとも１つのステップを特徴とする請求項１〜５のいずれか１項に記載の方法。
【請求項７】
−ソーステキスト開発者によって入力される修正命令に基づいて、当該認識されたソーステキスト脆弱箇所（１４）を当該生成された代わりのソーステキストに自動的に置換するステップを特徴とする請求項６に記載の方法。
【請求項８】
請求項１〜７のいずれか１項に記載の方法を実行するように構成されているプロセッサを有する、データを処理するための装置。
【請求項９】
コンピュータによるプログラム実行時に請求項１〜８のいずれか１項に記載の方法をこのコンピュータに実行させる命令を含むコンピュータプログラム製品。
【請求項１０】
請求項９に記載のコンピュータプログラム製品が記憶されているコンピュータ読み取り可能なデータキャリア。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、脆弱性攻撃を受けやすいソーステキスト脆弱箇所を認識するステップによってソーステキストを解析するための方法に関する。
【０００２】
さらに、本発明は、データを処理するための装置、コンピュータプログラム製品及びコンピュータ読み取り可能なデータキャリアに関する。
【背景技術】
【０００３】
例えば統合開発環境を使用してソーステキストを開発する場合、ソーステキストの開発が加速され、その後のソフトウェアのエラー発生頻度が減少するように、ソーステキスト開発者が、ソーステキストの作成時に適切に支援される。従来の技術において公知の開発支援は、ソーステキストが能動的なソーステキスト開発中にシンタックスチェックされるシンタックスハイライトである。その結果、ソーステキストエラーが、当該能動的なソーステキスト開発中に認識され得る。当該ソーステキスト開発者は、当該能動的なソーステキスト開発中に当該認識されたソーステキスト部分の視覚的な強調によって当該ソーステキスト部に気づく。コンパイル段階で発生するエラーが、当該シンタックスハイライトによって減少する。その結果、ソフトウェア開発が加速される。
【０００４】
当該シンタックスハイライトに加えて、ソーステキスト・リアルタイムチェックが公知である。当該ソーステキスト・リアルタイムチェックは、能動的なソーステキスト開発中にソーステキストのｓｔｒｃｐｙ又はｐｒｉｎｔｆのような不確定の標準関数をチェックする。この場合、当該ソーステキストが、例えばある種の辞書に予め規定された不確定の複数の標準関数と比較され得る。この場合、当該チェックは、脆弱性攻撃を受けやすいソーステキスト脆弱が認識され得ない静的なチェックにすぎない。
【０００５】
従来では、脆弱性攻撃を受けやすいソーステキスト脆弱箇所が、専らプログラムの実行期間中に、すなわちプログラミング及び実装の完了後に認識され得る。このため、例えばソフトウェアエミュレーション又はテストシステムの解析が必要である。したがって、対応するソーステキスト脆弱箇所を認識するためには、プログラムコンパイル又はバイナリデータが必要である。したがって、対応するソーステキスト脆弱箇所が認識されるときは、ソーステキストの開発に新たに取り組むことが必要である。このため、時間のかかる、すなわちコストのかかる開発期間が、当該認識された脆弱箇所を除去するために必要である。
【０００６】
さらに、バイナリデータを解析するための当該公知の方法の場合、大抵は、ソーステキスト開発者は、対応する脆弱箇所のパターン（Ｓｃｈｗａｃｈｓｔｅｌｌｅｎｍｕｓｔｅｒ）に気づきにくい。したがって、当該公知の方法は、当該ソーステキスト開発者を学習によって進歩させることもない。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
したがって、本発明の課題は、脆弱性攻撃を受けにくいソーステキストの開発を加速させること及び／又は簡略化することにある。
【課題を解決するための手段】
【０００８】
この課題は、冒頭で述べた種類の方法によって解決される。この場合、ソーステキスト脆弱箇所の認識が、能動的なソーステキスト開発中にプログラムコンパイルの必要性なしに実行される。
【０００９】
本発明には、能動的なソーステキスト開発中に脆弱性攻撃を受けやすいソーステキスト脆弱箇所を認識することによって、ソフトウェアのエミュレーション又はテストシステムの解析に起因する時間とコストのかかる開発期間が回避され得るという利点がある。さらに、当該能動的なソーステキスト開発中の対応するソーステキスト脆弱箇所の認識は、ソーステキスト開発者に対する直接のフィードバックを可能にする。これにより、当該ソーステキスト開発者は、対応するソーステキスト脆弱箇所に気づくことができる。
【００１０】
したがって、ソーステキスト解析は、ソーステキストの動的な実行挙動に及び、ｓｔｒｃｐｙ又はｐｒｉｎｔｆのような不確定の標準関数だけに及ばない。したがって、本発明では、用語の脆弱性攻撃は、専らソフトウェアレベルで起こる攻撃を含まない。当該方法は、特に部分的に又は完全に統合開発環境で実行される。特に、対応するソーステキスト脆弱箇所を認識するためのバイナリデータは不要である。したがって、開発工程が、大幅に加速され、脆弱性攻撃に対するソーステキストの脆弱性が、大幅に改善される。
【００１１】
本発明の方法の好適な実施の形態では、脆弱性攻撃を受けやすいソーステキスト脆弱箇所の認識は、サイドチャネル攻撃を受けやすいソーステキスト脆弱箇所の認識を含み、及び／又は故障利用攻撃を受けやすいソーステキスト脆弱箇所の認識を含む。サイドチャネル攻撃及び故障利用攻撃は、脆弱性攻撃の亜種である。サイドチャネル攻撃は、Ｓｉｄｅ  Ｃｈａｎｎｅｌ  Ａｔｔａｃｋ（ＳＣＡ）とも呼ばれ得る。サイドチャネル攻撃は、機器又はソフトウェアにおける暗号システムの物理的な実装を利用する。この場合、機器が、暗号アルゴリズム実行時に観察され、当該観察された情報と使用された鍵との間の相関が解析される。対応するサイドチャネル攻撃は、例えばアルゴリズム実行時間の解析、計算工程中のエネルギー消費の解析又は電磁放射の解析に基づく。故障利用攻撃は、Ｆａｕｌｔ  Ｉｎｊｅｃｔｉｏｎ  Ａｔｔａｃｋ（ＦＩＡ）とも呼ばれ得る。故障利用攻撃の場合、例えば外乱（グリッチ）が、機器の供給電圧に入力され得る。別の故障利用攻撃では、外乱が、機器のクロック信号に入力される。さらに、攻撃されている機器が放射線に曝される故障利用攻撃が公知である。
【００１２】
さらに、認識されたソーステキスト脆弱箇所が、視覚的に強調されることによって、本発明の方法は有益に改良される。この場合、当該認識されたソーステキスト脆弱箇所の自覚的な強調は、能動的なソーステキスト開発中にプログラムコンパイルの必要性なしに実行される。当該視覚的な強調は、例えば彩色された背景、変更された文字色の調整及び／又は変更されたフォント型の調整若しくは変更されたフォントスタイルの調整によって実行され得る。代わりに又はさらに、対応するソーステキスト脆弱箇所の認識時に、ソーステキスト開発者に当該認識されたソーステキスト脆弱箇所を指摘する子画面が表示され得る。当該視覚的な強調又は当該認識されたソーステキスト脆弱箇所の指摘によって、学習効果が、当該ソーステキスト開発者に対して得られる。当該ソーステキスト開発者は、脆弱性攻撃を受けやすいソーステキスト脆弱箇所に気づく。
【００１３】
本発明の方法の別の好適な実施の形態では、当該ソーステキスト脆弱箇所の認識及び／又は当該認識されたソーステキスト脆弱箇所の視覚的な強調は、能動的なソーステキスト開発中にリアルタイムに実行される。こうして、対応するソーステキスト脆弱箇所が、プログラミング時にソーステキスト開発者によって即座に修正又は書き換えされ得る。こうして、全ての開発工程が大幅に加速される。
【００１４】
さらに、認識されたソーステキスト脆弱箇所に関して格納された説明が、自動的にロードされることによって、本発明の方法は有益に改良される。代わりに又はさらに、当該認識されたソーステキスト脆弱箇所に関する説明が自動的に生成される。当該認識されたソーステキスト脆弱箇所の複雑度に依存して、格納された説明によって当該ソーステキスト開発者に当該ソーステキスト脆弱箇所を気づかせるだけで済み、及び／又は格納された説明によって当該ソーステキスト開発者に当該認識されたソーステキスト脆弱箇所に関して追加された情報を提供するだけで済む。別の場合には、当該認識されたソーステキスト脆弱箇所は、対応する説明を生成するために使用され得る。その結果、当該生成された説明は、当該ソーステキスト開発者によって実際に作成されたソーステキストに関するソーステキストに固有の要素を含む。代わりに又はさらに、当該方法は、当該認識されたソーステキスト脆弱箇所に関してロード又は生成された説明を自動的に表示してもよい。
【００１５】
本発明の好適な実施の形態では、当該認識されたソーステキスト脆弱箇所に対する代わりのソーステキストが自動的に生成され、及び／又は、当該認識されたソーステキスト脆弱箇所に対する当該生成された代わりのソーステキストが自動的に表示される。特に、当該代わりのソーステキストは、脆弱性攻撃を受けやすいソーステキスト脆弱箇所を含まない。特に、当該代わりのソーステキストは、新しいソーステキスト構造を有し得る。
【００１６】
さらに、認識されたソーステキスト脆弱箇所が、ソーステキスト開発者によって入力される修正命令に基づいて、生成された代わりのソーステキストに置換される場合に、本発明の方法は有益である。こうして、認識されたソーステキスト脆弱箇所を除去するための、当該ソーステキストの面倒な手動の適合が省略される。こうして、ソーステキスト開発がさらに加速される。
【００１７】
本発明の方法は、車両、特に自動車で使用されるソーステキストを解析するために使用され得る。特に、当該ソーステキストは、車両内の制御装置用に使用される。別の使用分野は、スマートカードの開発、モノのインターネット（ＩｏＴ）に関する開発、第４次産業、及び機器同士が相互に作用し、高い信頼性が必要である分野のための別の開発である。
【００１８】
さらに、本発明の課題は、データを処理するための、プロセッサを有する装置に関する。当該プロセッサが、上記の複数の実施の形態のうちの１つの実施の形態にしたがってソーステキストを解析するための方法を実行するように、当該プロセッサは構成されている。本発明の装置の利点及び変更に関しては、本発明の方法の利点及び変更を参照のこと。
【００１９】
さらに、本発明の課題は、コンピュータプログラム製品によって解決される。当該コンピュータプログラム製品は、コンピュータによるプログラム実行時に上記の複数の実施の形態のうちの１つの実施の形態にしたがってソーステキストを解析するための方法をこのコンピュータに実行させる命令を含む。本発明のコンピュータプログラム製品の利点及び変更に関しては、本発明の方法の利点及び変更を参照のこと。
【００２０】
さらに、本発明の課題は、上記のコンピュータプログラム製品が記憶されているコンピュータ読み取り可能なデータキャリアによって解決される。
【００２１】
以下に、本発明の好適な実施の形態を、添付図面を参照して詳しく説明する。
【図面の簡単な説明】
【００２２】
【図１】データを処理するための本発明の装置によって呼び出し可能な統合開発環境の一部を示す。
【発明を実施するための形態】
【００２３】
図１に示された統合開発環境は、ソーステキスト１０を解析するための本発明の方法の実施の形態を概略的に示す。
【００２４】
当該方法は、データを処理するための装置によって実行される。この場合、当該装置は、プロセッサを有する。このプロセッサが、以下で説明する方法を実行できるように、このプロセッサは構成されている。当該方法は、コンピュータによる当該プログラムの実行時に当該方法をこのコンピュータに適切に実行させる命令を含むコンピュータプログラム製品に基づく。
【００２５】
ソーステキスト開発者によって入力されるソーステキスト１０中のソーステキスト脆弱箇所１４が、当該方法中に認識される。当該ソーステキスト開発者は、キーボードとして構成された入力装置によってソーステキスト１０をエディタ１２に入力する。ソーステキスト脆弱箇所１４の当該認識は、能動的なソーステキスト開発中にリアルタイムに実行され、且つプログラムコンパイルの必要性なしに実行される。
【００２６】
当該方法の範囲内では、例えばサイドチャネル攻撃又は故障利用攻撃のような脆弱性攻撃を受けやすいソーステキスト脆弱箇所１４が認識される。したがって、当該ソーステキスト解析は、ｓｔｒｃｐｙ又はｐｒｉｎｔｆのような不確定の標準関数に及ぶのではなくて、むしろソーステキスト１０の実行挙動に及ぶ。
【００２７】
脆弱性攻撃を受けやすいソーステキスト脆弱箇所１４が認識されると、ソーステキスト開発者が、能動的なソーステキスト開発中に当該ソーステキスト脆弱箇所１４に気づくように、当該認識されたソーステキスト脆弱箇所１４が視覚的に強調される。したがって、当該認識されたソーステキスト脆弱箇所１４の当該視覚的な強調は、同様に即座に、すなわち能動的なソーステキスト開発中にプログラムコンパイルの必要性なしに実行される。
【００２８】
この場合、ソーステキスト１０は、ｆｏｒ命令及びｉｆ命令を含む。両命令は、脆弱性攻撃を受けやすい命令として認識され視覚的に強調される。
【００２９】
当該方法の範囲内では、ｉｆ命令は、サイドチャネル攻撃を受けやすいソーステキスト脆弱箇所１４として認識される。セグメント１８ａ，１８ｂを含むウィンドウ１６ａが、ｉｆ命令に対して開かれる。セグメント１８ａでは、当該認識されたソーステキスト脆弱箇所１４に関して格納された説明が、ソーステキスト開発者に通知される、すなわちｉｆ命令が修正されていなく、したがって不安定な時間応答（ｍｉｓｓｂｒａｕｃｈｂａｒｅｓ  Ｚｅｉｔｖｅｒｈａｌｔｅｎ）が発生し得ることが、ソーステキスト開発者に通知される。セグメント１８ｂでは、ソーステキスト脆弱箇所１４を除去するための修正提案が、当該ソーステキスト開発中に通知される、すなわちｉｆ命令が、ｅｌｓｅ命令と組み合わされなければならないことが当該ソーステキスト開発中に通知される。
【００３０】
当該方法の範囲内では、ｆｏｒ命令が、脆弱性攻撃を受けやすいソーステキスト脆弱箇所１４として認識される。セグメント２０ａ，２０ｂを含むウィンドウ１６ｂが、当該ｆｏｒ命令に対して開かれる。セグメント２０ａでは、当該認識されたソーステキスト脆弱箇所１４に対して格納された説明が、ソーステキスト開発者に通知される、すなわち終了が、ｆｏｒループに対して既定されていなく、したがって不安定な制御フロー操作（ｍｉｓｓｂｒａｕｃｈｂａｒｅ  Ｋｏｎｔｒｏｌｌｆｌｕｓｓｍａｎｉｐｕｌａｔｉｏｎ）が起こり得ることが、ソーステキスト開発者に通知される。セグメント２０ｂでは、ソーステキスト脆弱箇所１４を除去するための修正提案が、当該ソーステキスト開発中に通知される、すなわち当該ｆｏｒループの全ての繰り返しが実行されたか否かを検査する第２計数値を挿入することが、当該ソーステキスト開発中に通知される。さらに、セグメント２０ｂでは、ソーステキスト脆弱箇所１４を除去するためのｅｌｓｅ命令を挿入することが提案される。
【００３１】
したがって、当該通知された代わりのソーステキストは、修正されたソーステキスト構造及び／又は追加されたソーステキスト構造を有し得る。ソーステキスト開発者は、対応する修正命令を入力することによって当該認識されたソーステキスト脆弱箇所１４を当該通知された代わりのソーステキストに置換できる。
【符号の説明】
【００３２】
１０            ソーステキスト
１２            エディタ
１４            ソーステキスト脆弱箇所
１６ａ、１６ｂ  ウィンドウ
１８ａ、１８ｂ  セグメント
２０ａ、２０ｂ  セグメント
【図１】
2021533476.tif 000003
【国際調査報告】
2021533476.tif 000004
2021533476.tif 000005
2021533476.tif 000006
2021533476.tif 000007