質問:Webアプリケーションのメモリリークとバッファオーバーフローについて説明してください。また、具体的な例でこれらのテスト方法を教えてください。
これらはWebアプリケーションにとって厄介な問題だ。「Code Red」ワームのようなバッファオーバーフロー攻撃は、重大なデータセキュリティ問題やシステム侵入を引き起こした。
まず、メモリリークから見ていくことにしよう。というのも、これはバッファオーバーフローの理解の一助になるからだ。メモリリークは、プログラマーがある種の変数にメモリ領域を動的に割り当て、プログラムの終了後にその領域を解放しない場合に起きる。その結果、システムが使用できる空きメモリが少なくなる。こういったメモリ損失を引き起こすプログラムや関数を繰り返し実行すると、最終的にシステムがクラッシュしたり、サービス不能になったりする。メモリ損失を引き起こす単純なコードの例を以下に示す。
int main(int argc, char **argv)
{
char * memoryA = new char[10];
memoryA [0] = 'A';
printf("%cn", memoryA [0]);
}
このプログラムは、10文字の配列を格納するためにmemoryAという変数にメモリを割り当てているが、メモリを明示的に解放していない。
SASのCMOが語る マーケティング部門が社内の生成AI活用のけん引役に適している理由
データとアナリティクスの世界で半世紀近くにわたり知見を培ってきたSAS。同社のCMOに、...
SALES ROBOTICSが「カスタマーサクセス支援サービス」を提供
SALES ROBOTICSは、カスタマーサクセスを実現する新サービスの提供を開始した。
「Fortnite」を活用 朝日広告社がメタバース空間制作サービスとマーケティング支援を開始
朝日広告社は、人気ゲーム「Fortnite」に新たなゲームメタバース空間を公開した。また、...