Ask The Expert

【Q&A】Webアプリのバッファオーバーフローとメモリリークの原因は?

質問:Webアプリケーションのメモリリークとバッファオーバーフローについて説明してください。また、具体的な例でこれらのテスト方法を教えてください。

 これらはWebアプリケーションにとって厄介な問題だ。「Code Red」ワームのようなバッファオーバーフロー攻撃は、重大なデータセキュリティ問題やシステム侵入を引き起こした。

メモリリーク

 まず、メモリリークから見ていくことにしよう。というのも、これはバッファオーバーフローの理解の一助になるからだ。メモリリークは、プログラマーがある種の変数にメモリ領域を動的に割り当て、プログラムの終了後にその領域を解放しない場合に起きる。その結果、システムが使用できる空きメモリが少なくなる。こういったメモリ損失を引き起こすプログラムや関数を繰り返し実行すると、最終的にシステムがクラッシュしたり、サービス不能になったりする。メモリ損失を引き起こす単純なコードの例を以下に示す。

int main(int argc, char **argv)

{

char * memoryA = new char[10];

memoryA [0] = 'A';

printf("%cn", memoryA [0]);

}

 このプログラムは、10文字の配列を格納するためにmemoryAという変数にメモリを割り当てているが、メモリを明示的に解放していない。

印刷する
SNSでシェア

この記事の著者

こんなメディアも見られています

TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。

無料会員登録
最新情報をいち早くチェック!

製品カタログや技術資料、導入事例など、IT導入の課題解決に役立つ資料を簡単に入手できます(メディアごとに文章は変更)

いますぐ無料会員登録

ベンダーコンテンツ PR

From Informa TechTarget

アクセスランキング

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10

ホワイトペーパーランキング PR

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10

TechTargetジャパン SNS

X @techtarget_itmをフォロー

インフォメーション

TechTargetジャパンをフォロー