IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
ひとつ前のエントリ id:naoya:20070924:1190653790 では Linux のコンテキストスイッチにおける、主にハードウェアコンテキストの退避/復帰の処理を追ってみました。その中で カーネルスタック (switch_to() 内で pushl %ebp とかして値が積まれるスタック)とはそのときの実行コンテキストに紐づくカーネルプロセススタックという理解でよいか。 という疑問がもやもや湧いて出てきました。ここ数日 はじめて読む486―32ビットコンピュータをやさしく語る を読んでいたのですが、その中にこの疑問への答えへの入り口が載っていまして、そこを糸口に調べてみました。で、結果としては 答え: 良い でした。 x86 は特権レベルの移行と連動してスタックポインタを切り替える仕組みを持っています。Linux の場合モードはカーネルモード(特権レベル0) とユーザーモード
作成日:2005年05月19日 1はじめに 侵入行為に繋がるバッファオーバフローを利用した攻撃は、下記のようなものに分類される。 ・スタックオーバフローを利用した攻撃 ・ヒープオーバフローを利用した侵入行為 ・フォーマットストリングを利用した侵入行為 これらについて、攻撃の仕組みと直接的な因果関係を示すことが侵入行為に対する知識を深めることと、対策技術が何故このように分類されるかを理解する上で重要であると考える。 2計算機に対する侵入行為 2.1スタックオーバフローを利用した攻撃 以下に、スタックオーバフローを利用する攻撃コードの例を示す。ただし、CPUはIntel32ビットアーキテクチャのものを利用しており、OSはLinuxカーネルを使用しているものと仮定している。 1: 2: char shellcode[] = 3: "\xeb\x1f\x5e\x89\x76\x08\x31\xc0
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く