当前位置: 首页 >> 矿业资料 >> 46破碎机报价,オッファー

46破碎机报价,オッファー

关于46破碎机报价,オッファー的信息展示:

「オッファー」を含む例文一覧該当件数2件通信装置は、小売商から通信を受信し、小売商がオッファーを訂正または改善することができるように、潜在オッファーを示す通信を小売商に返送する可能性を有する。 (这贴应该会秒沉的把otz) ()概要編集バッファオーバーランは、入力データ(多くはデータサイズ)を検査しないプログラムの脆弱性によって、バッファ領域として設定されているアドレス範囲を超えたメモリが上書きされ、誤動作が引き起こされる。 バッファオーバーランが起きた場合、通常は該当プログラム(ないしオペレーティングシステム)の動作が不安定になったり停止したりする。

しかし、しばしばそのようなバグを含むプログラムに対して、意図的に悪意のあるデータ(コード)を与えることにより、コンピュータの動作を乗っ取ってしまえる可能性が問題となる。

バッファオーバーフローは、上書きされる領域の対象によって、スタックバッファオーバーフロー、ヒープオーバーフローとに大別される。 スタック、ヒープとも、プログラムの実行に不可欠なデータ(例えばサブルーチンのリターンアドレスや、ヒープ内のコード)を内包することがある。 これらに近接するバッファにおいてオーバーランを引き起こすことで、これらのデータを意図的に上書きさせ、意図したコードを実行させることが可能になる。 具体例編集簡単な例編集以下の例では、プログラム中の隣接したアドレスに2つのデータ項目が定義されている。 一つは 8 バイトの文字列バッファ A、もう一つは 2 バイトの整数 B である。 初期状態では、A は 0 で初期化されており可読な文字は入っていない。 また、B には整数1979が格納されている。 ここで、プログラムがバッファ A にヌル終端文字列「excessive」を書きこもうとした場合を考える。 文字列の長さチェックが行われていないと、この処理で B の値が上書きされてしまう。 プログラマとしては B を変更する意図はなかったが、B の値は文字列の一部で置き換えられてしまった。 この例ではビッグエンディアンと ASCII コードを仮定しているため、文字「e」とゼロというバイト列は整数 25,856 として解釈される。 ここで、仮にプログラム中で A と B 以外にデータ項目変数が定義されていないとものすると、さらに長い文字列を書き込んで B の終端を超えた場合にはセグメンテーション違反などのエラーが発生してプロセスが終了する。 電子メールアドレスを題材にした例編集コンピュータプログラムを作るとき、固定長のバッファとよばれる領域を確保してそこにデータを保存するという手法がよく使われる。 たとえば、電子メールアドレスは200文字を超えないだろうと予想して200文字分の領域をバッファとして用意する。 ユーザが200文字より長いメールアドレスを入力する。

プログラムがバッファの大きさをチェックせずに入力データを書き込む。 バッファとして確保した領域をはみだしてデータが書き込まれてしまう。

仮にはみ出した部分にプログラムの動作上意味を持つデータがあれば、これを上書きして破壊することにより、プログラムはユーザの意図しない挙動を示すであろう。

このようにバッファオーバーランは、プログラムが用意したバッファの大きさを超えてデータを書き込んでしまうバグである。

C言語特有の例編集C言語の標準入出力関数であるgets関数はバッファ長のチェックを行わないで標準入力をバッファに書き込むので、この関数を使う全てのプログラムには、バッファオーバーランによる不正動作の危険性がある。 また使い方が分かりやすいという理由でC言語初心者向けの入門プログラミングでしばしば用いられるscanf関数も書式指定を誤った場合は同じ危険性を持っている1。 これらの関数を実用的なプログラムで用いる場合には注意が必要である。

ファー

次のプログラムはgets関数を用いた例である(セキュリティ上、gets関数はそれ自体をテストする以外の目的で使用されるべきではない。 Linux Programmer's Manualには「gets()は絶対に使用してはならない。 バッファ長として200バイト確保されている。 gets関数はバッファの長さについては関知しないため、200バイトを超えても改行文字かEOFが現れなければバッファオーバーランが発生する。

ファー

gets関数の代わりにfgets関数を用いることで、この問題を回避できる(fgets#getsを置き換える例等を参照)。 fgets関数にはバッファのサイズを渡すことができ、このバイト数を超えてバッファに書き込みを行わない。 したがってバッファサイズが正しく設定されていれば、fgets関数においてバッファオーバーランは起こり得ない。

これ以外のC言語の標準文字列処理関数の多くにも同様の問題(脆弱性)がある。 バッファオーバーランが起こす問題編集オペレーティングシステム(OS)によっては、プログラムのコード領域とデータ領域を区別せず、コードがデータ領域に書かれていてもそのまま実行してしまう物がある。

もっとも典型的なバッファオーバーランは、データ領域のうちでもスタック領域に対するものである。 前述のバッファがスタック領域に割り当てられたものである場合(この割当てはC言語の自動変数で典型的である)、はみ出したデータがスタック領域の当該バッファ割当て部分よりも外の部分を書き換えてしまう。 一方、スタック領域にはプログラムカウンタにリストアされるべきサブルーチンからのリターンアドレスが格納されているが、そのリターンアドレスをバッファーオーバーランしたデータで書き換えてしまうことになる。 これを利用した攻撃をReturn-to-libc攻撃と呼ぶ。

バッファーオーバーラン等の不正動作に対する保護機能がないようなOS上で実行されるアプリケーションソフトウェアでは、プログラム作成者ないし利用ユーザの意図の有無に関わらず、常にこの危険性を含んでいる。

現在大衆向けに販売されているOSの多くは、このようなメモリ保護機能を持たないことが問題の根底にある。

悪用編集クラッカーは、このバッファオーバーランを意図的に起こしてデータの改竄やコンピュータシステムの損壊につながる操作をおこなう(通常は、ワームウイルス等の不正プログラムを作成し、それに攻撃を実行させる)。

版权所有:上海选矿机器设备有限公司