バッファオーバーフロー とは

バッファが知りたかった。ただのコピペ。
ソース読んでたら buffer という名の変数が出てきて、何のためにやっているか不明だったので。

CPUバッファ領域を超えて情報格納してしまうこと。

 

バッファ とは

バッファ:衝撃をやわらげる装置や液。データを一時的に記憶する場所。
緩衝:間に立って、不和・衝突を和らげること。またそのもの。

 

コンピュータのプログラムは、情報を格納するための領域をメモリ上に確保する。
特に、文字情報を格納する場合その文字数に応じて連続したメモリ領域を確保する。

このように同じ形式のデータを複数格納するために、
メモリ上に確保する領域のことをバッファという。

ex ) バッファへの情報格納方法。
ネットワークからの入力、ファイルからの入力、
キーボードなどの入力デバイスを介してのユーザーからの入力など。

 

 

バッファオーバーフロー

バッファの容量には限界がある。
バッファ領域の上限はプログラムが規定出来ても、
プログラムを実行する CPU はバッファ領域の上限がわからない
故に、
情報をバッファ領域に格納する際、格納する情報の大きさが
バッファ領域の上限を超えてしまうことがある。これがバッファーフロー

バッファオーバーフローが起こってしまうと、
メモリ上の不正な場所に情報を格納することになってしまうため、
プログラムが誤動作したり、ほかの領域に保存されているなデータを
破壊してしまったりする。

クラッカーは、このバッファオーバーフローをわざと起こして
データの改竄・コンピュータシステムの損壊につながる操作をおこなう。

 

セキュアなコード:
バッファーオーバフローなどによる脆弱性への対策を行っているコードのこと。

セキュアプログラミング:
セキュアなコードのプログラミングを行うこと。

 

 

こちらから。
http://c-lang.sevendays-study.com/column-9.html

以上。