[go: up one dir, main page]

JP2006018765A - ソフトウエアの一時的な修正方法およびプログラム - Google Patents

ソフトウエアの一時的な修正方法およびプログラム Download PDF

Info

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
Application number
JP2004198413A
Other languages
English (en)
Inventor
Yoshihiko Mori
義彦 森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infocom Corp
Original Assignee
Infocom Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Infocom Corp filed Critical Infocom Corp
Priority to JP2004198413A priority Critical patent/JP2006018765A/ja
Priority to PCT/JP2005/012312 priority patent/WO2006004082A1/ja
Publication of JP2006018765A publication Critical patent/JP2006018765A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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

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) 引数を変更せずに対応するルーチンに渡して、警告メッセージを表示する。
以上のように、引数をルーチンに渡す前に受け取り、値をチェックすることによってソフトウエアの欠陥に対して、パッチを配布するまでの間、適切な処置を施すことができる。このような各処理をプログラムとして実装することによってセキュリティーホールやバグなどによるソフトウエアの異常動作を一時的に修正することができる。また本発明のプログラムを配布する方法としては、あらかじめソフトウエアに組み込んでおくことが好ましい。しかしながらこれに限定されるものではなく、例えば各種ローダブルモジュールや実行モジュールで実装して、CDROMなどの媒体やインターネット等のネットワーク経由で配布することもできる。
本発明の引数チェックプログラムの動作において、引数および引数関連情報を記憶するために、これらの情報を蓄える参照テーブルを用いることができる。引数チェックにはこの参照テーブルを用いて引数の範囲をチェックする。また、ソフトウエアに欠陥が見つかった場合は参照テーブルに記憶させる情報のみを送信する。これによってより迅速にソフトウエアの欠陥に対応することができる。
このように本発明の方法は引数をルーチンに渡す前に受け取り、値の範囲をチェックするものであるため、パッチ等の開発に比べて早く開発できる利点を有している。また処理のロジックを変更することがないため、引数チェックプログラムをカーネル等に組み込んだ場合の他の処理への影響が無く、事前テストも不要となる。さらに、セキュリティホールなどが発生した時にのみ引数チェックを行うのでシステムのパフォーマンスに影響を及ぼすことがない。従って、新たに開発する製品にこのようなプログラムまたは方法を組み込むだけでなく、従来の製品にも本発明のプログラムまたは方法を組み込んで配布することもできる。
図1は本発明の方法を示したブロック図である。
符号の説明
1 引数の値、引数関連情報を設定する段階
2 引数および引数関連情報を取得する段階
3 引数の値が設定されているか否かを判断する段階
4 引数が設定された範囲内にあるか否かを判断する段階
5 引数を、引数関連情報に基づいて対応する関数に渡す段階
6 適切な処理を行う段階

Claims (15)

  1. ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取った引数がルーチンのセキュリティーホールまたは異常動作をする範囲内のときは、該範囲に該当しない値に当該引数を変更して渡すことによりルーチンの動作を制御する方法。
  2. ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取った引数がルーチンのセキュリティーホールまたは異常動作をする範囲内であるとき、警告メッセージを管理者に送信する方法。
  3. ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取った引数が関数のセキュリティーホールまたは異常動作をする範囲内のときに、呼び出しを行ったプロセスがネットワーク経由で他のシステムと接続しているとき、接続先のシステムからの通信を遮断してネットワークの保護を行う方法。
  4. ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取ったルーチンが関数のセキュリティーホールまたは異常動作をする範囲内のときは、引数を変更せず呼び出し元にエラーコードを入れて返す方法。
  5. 引数が前記範囲内の時は、当該引数を変更せずに対応するルーチンに渡し警告メッセージを表示する請求項2に記載の方法。
  6. 引数が前記範囲内の時は、当該引数を変更して対応するルーチンに渡し警告メッセージを表示する請求項2に記載の方法。
  7. 前記ルーチンは関数またはシステムコールである請求項1ないし7のいずれか1項に記載の方法。
  8. ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取った引数がルーチンのセキュリティーホールまたは異常動作をする範囲内のときは、該範囲に該当しない値に当該引数を変更して渡すことによりルーチンの動作を制御するプログラム。
  9. ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取った引数がルーチンのセキュリティーホールまたは異常動作をする範囲内であるとき、警告メッセージを管理者に送信するプログラム。
  10. ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取った引数が関数のセキュリティーホールまたは異常動作をする範囲内のときに、呼び出しを行ったプロセスがネットワーク経由で他のシステムと接続しているとき、接続先のシステムからの通信を遮断してネットワークの保護を行うプログラム。
  11. ソフトウエアの一時的な修正方法であって、引数をルーチンに渡す前に受け取る段階と、引数を対応するルーチンに渡す段階とを有し、受け取ったルーチンが関数のセキュリティーホールまたは異常動作をする範囲内のときは、引数を変更せず呼び出し元にエラーコードを入れて返すプログラム。
  12. 引数が前記範囲内の時は、当該引数を変更せずに対応するルーチンに渡し警告メッセージを表示する請求項2に記載のプログラム。
  13. 引数が前記範囲内の時は、当該引数を変更して対応するルーチンに渡し警告メッセージを表示する請求項2に記載のプログラム。
  14. 前記ルーチンは関数またはシステムコールである請求項1ないし7のいずれか1項に記載のプログラム。
  15. ソフトウエアの一時的な修正方法であって、請求項8ないし14のいずれか1項に記載のプログラムをあらかじめソフトウエアに組み込む方法。
JP2004198413A 2004-07-05 2004-07-05 ソフトウエアの一時的な修正方法およびプログラム Pending JP2006018765A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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サーバシステム保護方法

Cited By (7)

* Cited by examiner, † Cited by third party
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) 防护系统的多协议兼容处理方法、装置、设备及存储介质