タイガーチームセキュリティレポート Buffer Overflow脆弱性の動的パッチの方法 - Part 3 今回は前回紹介したSystemTapを使ってbuffer overflow脆弱性にパッチを当てる方法を実装してみます。 -基本の考え方- buffer overflowに対する攻撃は、対象となる関数の実行中にその関数の戻りアドレスを書き換えることでプログラムの実行フローを外部から変更するものなので関数の出入り口で戻りアドレスをチェックし、戻りアドレスが書き換えられていた場合にエラーとして処理すれば攻撃の成立をかなり難しくすることができます。 同様の考え方で実装されたSSP(Stack Smashing Protection)はすでに存在しており、あとで紹介するようにgcc等のコンパイラの機能として利用することができます。しかし今回は実行中のプログラムに動的にパッチをあてる方法を実装
Understanding How Systemtap Works SystemTapは実行中のLinuxシステムを、単純なスクリプトで詳細に調査出来るように設計されている。 SystemTapスクリプトの裏側にある主なアイデアは、イベントとハンドラである。 SystemTapがスクリプトを実行すると、SystemTapはイベントを監視し、 そしてイベントが発生するとハンドラを高速なサブルーチンとして実行し、そしてまた監視に戻る。 SystemTapは関数の出入、タイマーの発火、セッションの切断など、多様なイベントを監視出来る。 ハンドラは、一種のスクリプト言語として、イベント発生時の処理を記述出来る。 3.1 Architecture SystemTapスクリプトの実行は、以下のように進行する。 スクリプトをチェックして、tapsetsをtapsetライブラリに置き換える。 スクリプトを
第1回 知られざるセキュリティフレームワーク「LSM」の役割 Linuxカーネルには、バージョン2.6から「Linux Security Module」(LSM)というセキュリティフレームワークが導入されています。この連載ではLSMの仕組みを紹介するとともに、これを活用してオリジナルのセキュリティモジュールを作り上げていきます(編集部) 村上 純一 株式会社フォティーンフォティ技術研究所 研究開発部 αUnit シニア・リサーチエンジニア 2008/3/18 ITインフラを語る上でセキュリティは欠かせない要素です。Linuxにも、セキュリティを強化する「LSM」(Linux Security Module)という枠組みが用意されています。 実はこのLSMは、これまで何かと物議を醸してきました。本稿ではSELinuxやそのほかのセキュリティモジュールの紹介に始まり、Linuxカーネルに実装さ
kprobは、実行カーネル内を再コンパイルすることなく、任意のアドレスにブレイクを設定できる。そしてそのブレイクした時のデバック処理を記述することで、カーネルデバッグを行うというもの。 以下のstatic struct kprobe kpにブレイクする位置(シンボル又はアドレスの指定およびオフセット)、ブレイクした時の処理、ブレイクしたコードを実行した後の処理、必要なら、上記の処理で例外が発生した時の処理を記述して、register_kprobe()をコールするだけである。 struct kprobe { /* location of the probe point */ kprobe_opcode_t *addr; /* Allow user to indicate symbol name of the probe point */ const char *symbol_name; /*
COMPについて 2015年からCOMPを支える主力製品はいわゆる「完全食」と呼ばれるトータルバランスドモデルのパウダータイプ(プレーン)です。 本製品はメジャー・マイナーアップデートを繰り返し、2022年夏現在では製品バージョンが5.1となります。 また、完全食をコンセプトとしたトータルバランスドモデル製品の開発で得た知見をいかし、 2020年には糖質調整モデル、 2021年にはアスリート向けのプレワークアウトバー「OUTLIER v.1.0」や砂糖不使用、 0kcal、炭酸なしのエナジードリンク「DETECTIVE v.1.0」をリリースするなど、ブランドの強化、製品力の拡大を進めています。 詳しくはこちら
Why gRPC?gRPC is a modern open source high performance Remote Procedure Call (RPC) framework that can run in any environment. It can efficiently connect services in and across data centers with pluggable support for load balancing, tracing, health checking and authentication. It is also applicable in last mile of distributed computing to connect devices, mobile applications and browsers to backend
Macのデフォルトの日本語入力ソース「ことえり」が微妙にアレなので、「Google日本語入力」なるものを使ってますが、なんかメニューバーのアイコンがアレなんですよ。なもんで、変えちゃおうというアレです。 アプリの中のアイコン画像を差し替えるだけでOK。 というわけで、必要なことは「元アイコンの場所を見つけること」と「差し替え用アイコンを用意すること」となります。 元アイコンの入ってる場所を開く Finder > 移動 > フォルダへ移動で出てきた入力欄に/Library/Input Methods/GoogleJapaneseInput.app/Contents/Resourcesをコピペして「移動」。 または、ターミナルで open /Library/Input\ Methods/GoogleJapaneseInput.app/Contents/Resources Finderのウィンド
静電容量無接点方式を採用する高品質キーボードとして人気の東プレ「RealForce」シリーズから、静音仕様のフルキーボード「REALFORCE 108P-S」(型番:SI01TS)とテンキーレス「REALFORCE 91UG-S」(型番:NG31BS)が発売された。 東プレ「RealForce」シリーズから発売された、静音仕様のフルキーボード「REALFORCE 108P-S」とテンキーレス「REALFORCE 91UG-S」 「REALFORCE 108P-S」は、PS/2接続に対応するのが特長の日本語108配列フルキーボード。荷重は55、45、30gの変荷重で、キー耐久性は5000万回、キーストロークは約4.0mm、Nキーロールオーバーに対応する。 キートップは白+グレーで、印字された文字が消えにくい昇華印刷を採用。サイズは456(W)×169(D)×39(H)mm、重量は約1.4kg
WiGig (Wireless Gigabit、ワイギグ) は、主に60GHz帯の無線を用いる無線通信規格であり、無線通信仕様のMAC層および物理層を規定している。2009年12月に最初の正式仕様が決まった。 比較的利用の少ないミリ波に属する60GHzの電波帯を使用することで、7-9GHzもの広い帯域を使い、最大では7Gビット/秒の高速デジタル無線伝送を行う。 従来の無線通信方式に比べて通信可能な距離は10mほどと短く、HDTV動画の実時間での非圧縮伝送が可能な大容量・高速通信が特長である。60GHz帯は直進性が強いために遮蔽物を越えられず、複数のアンテナによる指向性制御を取り入れることで送受信特性を向上させる [1]。なお、60GHz帯のみを用いるシングルバンドの他に、デュアルバンド(2.4GHz + 60GHz または 5GHz + 60GHz)、トライバンド(2.4GHz + 5GH
Free software, open standards, and web services for interactive computing across all programming languages JupyterLab: A Next-Generation Notebook Interface JupyterLab is the latest web-based interactive development environment for notebooks, code, and data. Its flexible interface allows users to configure and arrange workflows in data science, scientific computing, computational journalism, and ma
IPython provides a rich architecture for interactive computing with: A powerful interactive shell. A kernel for Jupyter. Support for interactive data visualization and use of GUI toolkits. Flexible, embeddable interpreters to load into your own projects. Easy to use, high performance tools for parallel computing. To get started with IPython in the Jupyter Notebook, see our official example collect
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く