JP2006018765A - ソフトウエアの一時的な修正方法およびプログラム - Google Patents
ソフトウエアの一時的な修正方法およびプログラム Download PDFInfo
- Publication number
- JP2006018765A JP2006018765A JP2004198413A JP2004198413A JP2006018765A JP 2006018765 A JP2006018765 A JP 2006018765A JP 2004198413 A JP2004198413 A JP 2004198413A JP 2004198413 A JP2004198413 A JP 2004198413A JP 2006018765 A JP2006018765 A JP 2006018765A
- Authority
- JP
- Japan
- Prior art keywords
- argument
- routine
- range
- passing
- software
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
【課題】セキュリティーホールなどの欠陥に対し、パッチが配布されるまでの間、セキュリティを確保する。
【解決手段】引数を関数に渡す前に受け取る段階と、該引数を対応する関数に渡す段階とを有し、受け取った引数が関数のセキュリティーホールまたは異常動作をする範囲内のときは、該範囲に該当しない値に当該引数を変更して渡すことにより、ソフトウエアの欠陥を一時的に修正する。
【選択図】 図1
【解決手段】引数を関数に渡す前に受け取る段階と、該引数を対応する関数に渡す段階とを有し、受け取った引数が関数のセキュリティーホールまたは異常動作をする範囲内のときは、該範囲に該当しない値に当該引数を変更して渡すことにより、ソフトウエアの欠陥を一時的に修正する。
【選択図】 図1
Description
本発明はソフトウエアにセキュリティーホールまたはバグ等の欠陥が発見された際に、パッチ等の修正プログラムを配布するまでの間の期間に、一時的にこれらの欠陥を修正する方法およびプログラムに関する。
現在、コンピュータシステムでは、データやシステムに不正アクセスが可能となるいわゆるセキュリティーホールが問題となっている。これはオペレーティングシステムやアプリケーションに存在する欠陥が原因であり、これを解決するには修正プログラム、いわゆるパッチを配布する必要がある。
しかしながらパッチは、修正された部分が他のアプリケーションに影響を及ぼすことがあるため、パッチの影響をテストして動作確認を行った後に配布しなければならない。
パッチのテストには時間がかかるためパッチを適用するまでの間はシステムは修正されないままになり、セキュリティーホールへの侵入に対して脆弱となる。また重要なシステムにはパッチを適用することが事実上不可能であったり、すぐには適用できない場合も多く、その間に不正アクセスの被害を受ける場合がある。
特開平5−181664
特開平5−241813
特開平5−150972
特開平5−143314
従って、正式なパッチが配布されシステムに適用されるまでの間に、一時的にセキュリティーホール等の欠陥に対して適切な対処を取ることが要求されている。
上述のような問題に鑑みて、本発明は、ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取った引数がルーチンのセキュリティーホールまたは異常動作をする範囲内のときは、該範囲に該当しない値に当該引数を変更して渡すことによりルーチンの動作を制御する方法を提供する。これによってセキュリティーホールによる不正進入などの場合でも引数を変更してシステムを保護することが出来る。
本発明の他の実施形態として、ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取った引数がルーチンのセキュリティーホールまたは異常動作をする範囲であるとき、警告メッセージを管理者に送信する方法も提供する。警告メッセージを管理者に送信することにより、システム等をネットワークから一時的に遮断するなどの応急的な処置を施すことが出来る。警告メッセージの送信には、電子メール、SNMPトラップ、各種インスタント・メッセージング・サービス、HTTPプロトコル、各種TCPコネクション、各種UDPパケット、シリアル通信、携帯電話、ポケットベル等が使用できる。
本発明は引数を関数に渡す前にチェックすることが特徴であるため、受け取った引数が関数のセキュリティーホールまたは異常動作をする範囲内のときに、呼び出しを行ったプロセスがネットワーク経由で他のシステムと接続している場合、接続先のシステムからの通信を遮断してネットワークの保護を行う方法も提供できる。通信を遮断する手段としては、ファイアウォールのポリシーを変更、ルータのアクセス制御リストを変更、スイッチングハブのVLANの設定を変更、等が可能である。
また引数がルーチンの異常動作を引き起こす範囲内の時に引数を変更せず、呼び出し元にエラーコードを入れて返す方法も提供する。これと類似の方法として、当該引数を変更せずに対応するルーチンに渡し警告メッセージを表示することもできる。同様に引数を変更してメッセージを表示することもできる。また、本発明において、ルーチンとは関数またはシステムコールを想定しているが、これに類するものにも対応することができる。
さらに、上記のそれぞれの方法を実現するコンピュータプログラムを提供する。これによって実際にコンピュータ、或いはインターネットなどのネットワークにおいて、セキュリティーホールを一時的に修正することが出来る。またこのようなプログラムを配布する方法として、あらかじめソフトウエアに組み込む方法を提供する。この場合、あるルーチンにセキュリティーホールが発生した場合には、そのルーチンを指定するパラメータと、そのルーチンの引数のチェック方法を指定するパラメータ、ならびに受け取った引数がチェックでルーチンのセキュリティーホールまたは異常動作をする範囲であると判定された際に行うべき処理を指定するパラメータ等をそのプログラムに設定することで、毎回、プログラムをインストールすること無く、上記のそれぞれの方法を実現することも可能である。ここで指定する各種パラメータをこのプログラムを使用する第三者に配布する場合、パラメータの内容が改ざんされたり悪意の第三者が作成していないことを保証するために、暗号化したり電子署名を行った上で配布することも可能である。
以下に本発明を図を用いて説明する。図1は本発明の引数チェックの方法を示したブロック図である。まずセキュリティーホールやバグなどの欠陥が見つかった場合、参照番号1で示されているように、該当するルーチンが異常動作をする引数の範囲を設定する。まだ欠陥が見つかっていない場合は設定する必要がないので、このブロックの処理は省略する。
次に参照番号2で示されているように引数および引数関連情報を取得する。通常、ソフトウエアでは多くの引数を使用するため、引数を渡すルーチンを識別するための引数関連情報も同時に取得する。この引数関連情報は例えば、ルーチン名、ルーチンのアドレス、ルーチンのハンドルなどである。また、ルーチンは関数またはシステムコールである。しかしながら、これらに限定されるものではなく、引数関連情報は引数とルーチンを関連づけることができる情報であればよく、ルーチンはメインルーチンから呼び出され、引数を受け取るものであればよい。
次の段階では、参照番号3で示されているように引数の値が設定されているか否かを調べる。ここで引数の値が設定されていなければ、参照番号5で示されているように引数を対応するルーチンに渡す。引数の値が設定されていれば次の段階の処理を行う。
次の段階4では、引数関連情報に基づいて取得した引数が、参照番号1の段階で設定された範囲内であるか否かを調べる。設定された範囲外である場合には、参照番号5で示されたように、引数を引数関連情報に基づいて対応するルーチンに渡す。引数が設定された範囲内である時は次の段階の処理を行う。
最後の段階6ではセキュリティーホールやバグなどに対応できるように適切な処理を行う。この処理は以下の処理のいずれかを行う。
(1) 引数を設定した範囲外に変更して、対応するルーチンに渡す。
(2) 警告メッセージを表示する。
(3) 呼び出しを行ったプロセスがネットワークを経由して他のシステムと接続しているとき、接続先のシステムからの通信を遮断する。
(4) 引数を変更せずに、呼び出し元にエラーコードを入れて値を返す。
(5) 引数を変更せずに対応するルーチンに渡して、警告メッセージを表示する。
(1) 引数を設定した範囲外に変更して、対応するルーチンに渡す。
(2) 警告メッセージを表示する。
(3) 呼び出しを行ったプロセスがネットワークを経由して他のシステムと接続しているとき、接続先のシステムからの通信を遮断する。
(4) 引数を変更せずに、呼び出し元にエラーコードを入れて値を返す。
(5) 引数を変更せずに対応するルーチンに渡して、警告メッセージを表示する。
以上のように、引数をルーチンに渡す前に受け取り、値をチェックすることによってソフトウエアの欠陥に対して、パッチを配布するまでの間、適切な処置を施すことができる。このような各処理をプログラムとして実装することによってセキュリティーホールやバグなどによるソフトウエアの異常動作を一時的に修正することができる。また本発明のプログラムを配布する方法としては、あらかじめソフトウエアに組み込んでおくことが好ましい。しかしながらこれに限定されるものではなく、例えば各種ローダブルモジュールや実行モジュールで実装して、CDROMなどの媒体やインターネット等のネットワーク経由で配布することもできる。
本発明の引数チェックプログラムの動作において、引数および引数関連情報を記憶するために、これらの情報を蓄える参照テーブルを用いることができる。引数チェックにはこの参照テーブルを用いて引数の範囲をチェックする。また、ソフトウエアに欠陥が見つかった場合は参照テーブルに記憶させる情報のみを送信する。これによってより迅速にソフトウエアの欠陥に対応することができる。
このように本発明の方法は引数をルーチンに渡す前に受け取り、値の範囲をチェックするものであるため、パッチ等の開発に比べて早く開発できる利点を有している。また処理のロジックを変更することがないため、引数チェックプログラムをカーネル等に組み込んだ場合の他の処理への影響が無く、事前テストも不要となる。さらに、セキュリティホールなどが発生した時にのみ引数チェックを行うのでシステムのパフォーマンスに影響を及ぼすことがない。従って、新たに開発する製品にこのようなプログラムまたは方法を組み込むだけでなく、従来の製品にも本発明のプログラムまたは方法を組み込んで配布することもできる。
1 引数の値、引数関連情報を設定する段階
2 引数および引数関連情報を取得する段階
3 引数の値が設定されているか否かを判断する段階
4 引数が設定された範囲内にあるか否かを判断する段階
5 引数を、引数関連情報に基づいて対応する関数に渡す段階
6 適切な処理を行う段階
2 引数および引数関連情報を取得する段階
3 引数の値が設定されているか否かを判断する段階
4 引数が設定された範囲内にあるか否かを判断する段階
5 引数を、引数関連情報に基づいて対応する関数に渡す段階
6 適切な処理を行う段階
Claims (15)
- ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取った引数がルーチンのセキュリティーホールまたは異常動作をする範囲内のときは、該範囲に該当しない値に当該引数を変更して渡すことによりルーチンの動作を制御する方法。
- ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取った引数がルーチンのセキュリティーホールまたは異常動作をする範囲内であるとき、警告メッセージを管理者に送信する方法。
- ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取った引数が関数のセキュリティーホールまたは異常動作をする範囲内のときに、呼び出しを行ったプロセスがネットワーク経由で他のシステムと接続しているとき、接続先のシステムからの通信を遮断してネットワークの保護を行う方法。
- ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取ったルーチンが関数のセキュリティーホールまたは異常動作をする範囲内のときは、引数を変更せず呼び出し元にエラーコードを入れて返す方法。
- 引数が前記範囲内の時は、当該引数を変更せずに対応するルーチンに渡し警告メッセージを表示する請求項2に記載の方法。
- 引数が前記範囲内の時は、当該引数を変更して対応するルーチンに渡し警告メッセージを表示する請求項2に記載の方法。
- 前記ルーチンは関数またはシステムコールである請求項1ないし7のいずれか1項に記載の方法。
- ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取った引数がルーチンのセキュリティーホールまたは異常動作をする範囲内のときは、該範囲に該当しない値に当該引数を変更して渡すことによりルーチンの動作を制御するプログラム。
- ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取った引数がルーチンのセキュリティーホールまたは異常動作をする範囲内であるとき、警告メッセージを管理者に送信するプログラム。
- ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取った引数が関数のセキュリティーホールまたは異常動作をする範囲内のときに、呼び出しを行ったプロセスがネットワーク経由で他のシステムと接続しているとき、接続先のシステムからの通信を遮断してネットワークの保護を行うプログラム。
- ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取ったルーチンが関数のセキュリティーホールまたは異常動作をする範囲内のときは、引数を変更せず呼び出し元にエラーコードを入れて返すプログラム。
- 引数が前記範囲内の時は、当該引数を変更せずに対応するルーチンに渡し警告メッセージを表示する請求項2に記載のプログラム。
- 引数が前記範囲内の時は、当該引数を変更して対応するルーチンに渡し警告メッセージを表示する請求項2に記載のプログラム。
- 前記ルーチンは関数またはシステムコールである請求項1ないし7のいずれか1項に記載のプログラム。
- ソフトウエアの一時的な修正方法であって、請求項8ないし14のいずれか1項に記載のプログラムをあらかじめソフトウエアに組み込む方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004198413A JP2006018765A (ja) | 2004-07-05 | 2004-07-05 | ソフトウエアの一時的な修正方法およびプログラム |
| PCT/JP2005/012312 WO2006004082A1 (ja) | 2004-07-05 | 2005-07-04 | ソフトウエアの一時的な修正方法およびプログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2004198413A JP2006018765A (ja) | 2004-07-05 | 2004-07-05 | ソフトウエアの一時的な修正方法およびプログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2006018765A true JP2006018765A (ja) | 2006-01-19 |
Family
ID=35782883
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2004198413A Pending JP2006018765A (ja) | 2004-07-05 | 2004-07-05 | ソフトウエアの一時的な修正方法およびプログラム |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP2006018765A (ja) |
| WO (1) | WO2006004082A1 (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2009102006A1 (ja) * | 2008-02-14 | 2009-08-20 | Nec Corporation | アクセス制御装置、その方法及び情報記録媒体 |
| JP2010528376A (ja) * | 2007-05-25 | 2010-08-19 | マイクロソフト コーポレーション | クローズドシステム用のプログラミングフレームワーク |
| JP2015535997A (ja) * | 2012-09-28 | 2015-12-17 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | アプリケーションセキュリティ検査 |
| JP2019160270A (ja) * | 2018-03-14 | 2019-09-19 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | 欠陥関数を検査する方法、装置、サーバ及びプログラム |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4958734B2 (ja) * | 2007-10-31 | 2012-06-20 | 京セラドキュメントソリュ−ションズ株式会社 | 電気機器、障害防止方法及び障害防止プログラム |
| CN102073818A (zh) * | 2011-01-17 | 2011-05-25 | 北京神州绿盟信息安全科技股份有限公司 | 一种漏洞检测设备和方法 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0823846B2 (ja) * | 1991-10-11 | 1996-03-06 | 清治 村上 | コンピュータウィルス侵入防止装置 |
| JPH05265772A (ja) * | 1992-02-26 | 1993-10-15 | Nec Corp | プログラム間インタフェース処理方式 |
| JPH10124350A (ja) * | 1996-10-22 | 1998-05-15 | Toshiba Microelectron Corp | マイクロコンピュータ用プログラムのデバッグ方法及びデバッグ装置 |
| DE19944991B4 (de) * | 1999-09-20 | 2004-04-29 | Giesecke & Devrient Gmbh | Verfahren zur Sicherung eines Programmablaufs |
| JP2003015899A (ja) * | 2001-07-05 | 2003-01-17 | Hitachi Information Systems Ltd | コンピュータウィルス検出時対処支援装置とその方法およびその処理プログラム |
| JP2003067210A (ja) * | 2001-08-22 | 2003-03-07 | Just Syst Corp | プログラム実行防止装置、プログラム実行防止方法、その方法をコンピュータに実行させるプログラムおよびそのプログラムを記録したコンピュータ読み取り可能な記録媒体 |
| JP4088082B2 (ja) * | 2002-02-15 | 2008-05-21 | 株式会社東芝 | 未知コンピュータウイルスの感染を防止する装置およびプログラム |
| JP4660056B2 (ja) * | 2002-08-05 | 2011-03-30 | 株式会社セキュアウェア | データ処理装置 |
| JP2004164554A (ja) * | 2002-09-24 | 2004-06-10 | Hitachi Ltd | プログラム実行監視装置および方法 |
| JP2004126854A (ja) * | 2002-10-01 | 2004-04-22 | Mitsubishi Electric Corp | 攻撃対策装置 |
| JP4020376B2 (ja) * | 2002-10-02 | 2007-12-12 | 日立ソフトウエアエンジニアリング株式会社 | Wwwサーバシステム保護方法 |
-
2004
- 2004-07-05 JP JP2004198413A patent/JP2006018765A/ja active Pending
-
2005
- 2005-07-04 WO PCT/JP2005/012312 patent/WO2006004082A1/ja not_active Ceased
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2010528376A (ja) * | 2007-05-25 | 2010-08-19 | マイクロソフト コーポレーション | クローズドシステム用のプログラミングフレームワーク |
| US8523666B2 (en) | 2007-05-25 | 2013-09-03 | Microsoft Corporation | Programming framework for closed systems |
| WO2009102006A1 (ja) * | 2008-02-14 | 2009-08-20 | Nec Corporation | アクセス制御装置、その方法及び情報記録媒体 |
| JP5382450B2 (ja) * | 2008-02-14 | 2014-01-08 | 日本電気株式会社 | アクセス制御装置、その方法及び情報記録媒体 |
| JP2015535997A (ja) * | 2012-09-28 | 2015-12-17 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | アプリケーションセキュリティ検査 |
| US9438617B2 (en) | 2012-09-28 | 2016-09-06 | Hewlett Packard Enterprise Development Lp | Application security testing |
| JP2019160270A (ja) * | 2018-03-14 | 2019-09-19 | バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド | 欠陥関数を検査する方法、装置、サーバ及びプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| WO2006004082A1 (ja) | 2006-01-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP3095224B1 (en) | Dynamic filtering for sdn api calls across a security boundary | |
| JP4914052B2 (ja) | セキュリティポリシーを配布するための方法およびシステム | |
| EP1569413B1 (en) | Method and system for filtering communications to prevent exploitation of a software vulnerability | |
| US7814543B2 (en) | System and method for securing a computer system connected to a network from attacks | |
| JP4741255B2 (ja) | ネットワーク化環境を介し保護された通信で配信されるコンピュータエクスプロイトからコンピューティングデバイスを保護するシステムおよび方法 | |
| CN104025103B (zh) | 用于在网络环境中恶意软件攻击期间转变到白列表模式的系统和方法 | |
| CN101676876B (zh) | 受威胁计算机的自动的基于硬件的恢复 | |
| US9756074B2 (en) | System and method for IPS and VM-based detection of suspicious objects | |
| US7603714B2 (en) | Method, system and computer program product for computer system vulnerability analysis and fortification | |
| US20060282896A1 (en) | Critical period protection | |
| JP2008535053A (ja) | パッチが当てられていないマシンの動的な保護 | |
| US20130014265A1 (en) | Universal patching machine | |
| US20050182967A1 (en) | Network security device and method for protecting a computing device in a networked environment | |
| US11803647B2 (en) | Computer system vulnerability lockdown mode | |
| US8234711B2 (en) | Apparatus and method for checking PC security | |
| US7603706B2 (en) | System security using human authorization | |
| JP2006018765A (ja) | ソフトウエアの一時的な修正方法およびプログラム | |
| US7845010B2 (en) | Terminal control apparatus and terminal control method | |
| US7617538B2 (en) | Configuration information protection using cost based analysis | |
| JP2009169781A (ja) | ネットワーク検疫システム | |
| JP2006018766A (ja) | ネットワーク接続管理システム | |
| CN114116118A (zh) | 容器应用程序安全监测方法、装置、电子设备及介质 | |
| US20090158386A1 (en) | Method and apparatus for checking firewall policy | |
| CN120654229B (zh) | 一种基于容器隔离的软件补丁安全执行方法及系统 | |
| CN120150971A (zh) | 防护系统的多协议兼容处理方法、装置、设备及存储介质 |