仮想パッチ
別名:バーチャルパッチ
仮想パッチとは、ソフトウェアの脆弱性を狙う攻撃を阻止するために講じられるセキュリティ対策の仕組みやソリューションの通称である。
仮想パッチは、ネットワーク外から脆弱性を突いて攻撃しようとするパケットを検知して遮断する仕組みを中心とする。ソフトウェアの脆弱性をあらかじめ診断し、その脆弱性を狙うパケットのパターンを検知して遮断することで、システム自体にパッチが適用されていなくても水際で攻撃を食い止めることができる。ただし、ネットワーク外部からのアクセスを検知する仕組みである以上、ネットワーク内部からのアクセスは関知できない。また仮想パッチは暫定的な対処法であり、脆弱性の根本的解決を図るには仮想パッチではなくソフトウェアベンダーが配布する修正パッチを適用必要があることに変わりはない。
仮想パッチは、パッチ処理の実施をすぐには実施できない企業や組織の業務システムのセキュリティ対策手段として主に用いられている。
セキュリティ対策: | ESET Heartbleedバグ パターンロック 仮想パッチ 非武装地帯 評価保証レベル ピクチャーパスワード |
パッチ
(仮想パッチ から転送)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/01/20 04:52 UTC 版)
![]() | この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。2011年11月) ( |
パッチ(英: patch)とは、コンピュータにおいてプログラムの一部分を更新してバグ修正や機能変更を行うためのデータのこと。「修正プログラム」や「アップデート(プログラム)」などとも呼ばれる。実際に変更を施す際は「パッチを当てる」、「パッチを適用する」と言う。同名のUNIXコマンドpatchのことも指す。ゲームのグラフィックや様々なデータを改造するプログラムやファイルを後から追加するパッチはModと呼ばれる。
概要
コンピュータネットワークがまだ低速だった時代、プログラムの一部を変更するために全体を再度ダウンロードすることは非常に効率が悪かった。そこで、部分的な変更を施すために必要な部分のみを差分データとして抽出し配布するパッチ形式が慣習となった。プログラム全体をダウンロードすれば何時間も要するが、必要部分だけであれば数分程度でダウンロードを完了することができる。これは前述のとおりネットワークがまだまだ低速であったことのほか、常時接続環境がまだ普及しておらず、ダウンロード時間が長時間に及ぶことで回線使用料がかさむのを避けるという面においても有用であった。なお、差分の抽出やそれを使用してのプログラム更新には専用のソフトウェアを必要とする。また、手動で更新を行う際には元のプログラムのバージョンを確認し、専用のパッチを適用しなければ不具合を生じる場合がある。
今日においては、ネットワークのブロードバンド化や常時接続環境の普及に伴い、数十メガバイト単位のコンパイル済みアプリケーションであっても更新時にはその都度全体を再度ダウンロードする形態が多く見られる。しかし、商用ソフトやOSのバグ修正、オープンソースのソフトウェアで変更点をポストする際には依然としてパッチが利用される。また、主に UNIX コミュニティで、個々の環境に合わせてソースコードを調整するような場合もパッチ形式が一般的である。これは、常時接続環境が普及した現在においても、サーバの転送量を軽減し、全体としてのダウンロード時間を軽減する目的には変わりない。
バイナリ
バイナリファイルのパッチは、オンラインゲームのバージョンアップ、オンラインソフトウェアの日本語化などで広く使われている。
バイナリファイルのパッチには、テキストファイルとは別のアルゴリズムで作ることにより、より効率化する。bsdiff[1]の作者によると、bsdiff の作成するパッチは xdelta[2] よりも 50 % - 80 % 小さく、RTPatch[3]よりも 15 % 小さい。
語源
初期のコンピュータでプログラムが紙テープに記録されていた時代にプログラムを修正する時に穴をパッチ(あて布)で塞いでいたことに由来する[4]。
右の写真はハーバード大学自然史博物館に展示されている1940年代に使われていたHarvard Mark I用の紙テープで、写真上部の水色で260と書かれた数字の上下の穴を灰色のパッチで塞いだ上で別の穴を開けている様子が分かる。
脚注
出典
- ^ bsdiff, bspatch
- ^ Xdelta
- ^ RTPatch
- ^ GIGAZINE (2017年1月16日). “ソフトウェアの修正プログラムのことをなぜ「パッチ(当て布)」と呼ぶのか?”. BBC 2017年1月17日閲覧。
関連項目
- 仮想パッチのページへのリンク