0. はじめに カーネルエクスプロイト入門記事part2です。 前回part1では、環境構築とLinuxカーネルのメモリ管理の基礎について、実際のエクスプロイトでのユースケースを通して説明しました。 rkx1209.hatenablog.com さて、part2では実際にLinuxカーネルエクスプロイトを書いて行きます。 とはいえ既存の脆弱性を利用するエクスプロイトを記述するのはあまりよろしくないので、今回は学習用に脆弱なドライバを用意し、エクスプロイトを書いていきます。 まあ基本的なロジックは実際の脆弱性のそれと同じなので、意義はあるはずです。 学習用ドライバとエクスプロイトコードは以下のレポジトリに置いてありますので、各節ごとに逐次参照 してください。 github.com 1. 特権モードでの権限昇格 脆弱性を悪用して権限昇格を行うにはいくつか常套手段があり、中でも典型的な物がスタッ
しばらく前に私は、「 C言語でシェルを書く方法 」というタイトルで、皆さんが日常的に使っているツールの内部動作を理解するのに役立つチュートリアルを書きました。単純なシェルであっても、数例を挙げるだけでも read 、 fork 、 exec 、 wait 、 write それから chdir など多数のシステムコールが呼び出されていました。この探索に続く次なる旅として、今回はLinux環境においてシステムコールがどのように実装されているのかについて学んでいきましょう。 システムコールとは何か システムコールを実装するに当たって、それが何なのかをまずきちんと理解しておきましょう。そう遠くない昔の私がそうでしたが、素直なプログラマならシステムコールをCライブラリで提供されている関数のことだと定義するかもしれません。しかしこれは全く正しくありません。確かにCライブラリに含まれる関数群はシステムコ
TLPI (The Linux Programming Interface) 再々。 TLPI の輪読の際に @matsumotory よりシグナルセットあたりをまとめるようにと指令が出たので、拙遅な感じでまとめました。 シグナルとは プロセス間通信の一種。「プロセスにシグナルを送信すると、そのプロセスの正常処理に割り込んで、シグナル固有の処理(シグナルハンドラ) が実行される」プロセス側では、シグナルを受信した際の動作(シグナルハンドラ) を設定することや、シグナルをブロックすることも可能。 コンソールで、プロセスを終了させるためにkill -9 <PID>とかCtrl+Cとかした際にも、対象プロセスにシグナルが送信されている。 ちなみに、PID「1」の init や systemd にkill -9 1しても何も起らない。(そういえば昔、oom-killer に init を殺された覚
Fiddler for Linux Beta is now available for download. Try out our free web debugging proxy on Linux today and let us know what you think. After introducing Fiddler for OS X a few months ago, we focused on delivering the same for Linux. We are strong believers in the benefits of running Fiddler on the same system that generates/accepts the traffic being watched. Now Fiddler for Linux Beta is availa
こんばんは、 @matsumotoryです。 hb.matsumoto-r.jp 上記エントリにおいて、プロセスの大量メモリ確保に伴うページテーブルサイズとベージテーブルエントリ数の肥大化によるcloneやexecveの性能劣化とCPU使用時間の専有問題、および、それらの解決方法についてシステムコールレベルで確認しました。 そこで今回は、システムコールやそのカーネル内部の処理の性能、というよりは、より実践的な環境であるApache httpdとmod_cgiを用いて、phpinfo()を実行するだけのCGIに対してベンチマークをかけた時にどれぐらいCPUのidleが空くか、システムCPUの使用量が変わるかを、前回示した解決方法の1つであるHugePagesを使うかどうかの観点で比較してみましょう。 特定条件下のWebサーバ環境のシステムCPUに起因する高負荷問題から、システムコールやカーネ
Nix as OS X Package Manager May 25, 2016 3 min read #nix #os x #technology #tip Power users on OS X are familiar with Homebrew or MacPorts for installing and managing software packages conveniently. Yet, those two well-known tools are not the exclusive players. There is a growing interest in Nix, particularly for its use on OS X. Package management using Nix is quite simple and intuitive. It does
High Performance Messaging and Market Data API Unlocking the raw performance and scalability of Market Data systems for both proprietary and Open Source messaging solutions via a single API with bindings for C, C++, C# and Java. Latest Release 6.3.0 OpenMAMA is an open source project that provides a high performance middleware agnostic messaging API that interfaces with a variety of message orient
Motto: Plan your installation, and FAI installs your plan. About FAI FAI is a tool for unattended mass deployment of Linux. It's a system to install and configure Linux systems and software packages on computers as well as virtual machines, from small labs to large-scale infrastructures like clusters and virtual environments. You can take one or more virgin PC's, turn on the power, and after a few
Linuxのファイアウォール「iptables」について入門から実践まで解説 数回に分けてLinuxのファイアウォール「iptables(アイピーテーブルズ)」について解説します。 ネット上に有益な設定が溢れているので、あまり理解しないままコピーペーストで運用している方も多いはず。 しかしそれでは実際に攻撃された際に対処できません。 そこでこのページでは、初めてファイアーウォールについて学ぶ方でも理解できるように、全体像と細かな設定の意味について解説します。 目次 ファイアーウォールの種類 NATについて パケットフィルタリングの概要と書式 テーブルについて チェインについて オプションについて パラメータについて 拡張パラメータについて iptablesの記述順序とルールの適用順について ポリシーについて ファイアーウォールの種類 ファイアウォールと聞いて、まず何を思い浮かべるでしょうか
Talk for PerconaLive 2016 by Brendan Gregg. Video: https://www.youtube.com/watch?v=CbmEDXq7es0 . "Systems performance provides a different perspective for analysis and tuning, and can help you find performance wins for your databases, applications, and the kernel. However, most of us are not performance or kernel engineers, and have limited time to study this topic. This talk summarizes six import
初めまして、新卒入社の桑折(@2k0ri)と申します。 入社から今日まで約3ヶ月間、研修およびOJTを受けさせて頂いておりました。 その初OJTのステージング環境で、デプロイ先ディレクトリのシンボリックリンクを消すつもりが デプロイディレクトリを中身ごとrm -rfする という重度のやらかしをしでかしました。 30秒うちひしがれた後、ググって extundeleteというコマンドを見つけてからの 自分が行ったリカバリーの手順を残します。 なお、このコマンドはext3/ext4フォーマット専用になります。 1. サーバーへのアクセスを出来る限り抑えるように周知 最近のLinuxのデファクトFSであるext4フォーマットは、rmされたデータの跡地に 待ったなしで容赦なく新しいデータが書き込まれていきます。 そのため、何よりもまず失われたデータが上書きされないように、 該当サーバーでやらかしたこ
ip コマンド チートシート for Red Hat Enterprise Linux IP クエリ サブコマンド 説明およびタスク addr (アドレスの省略形) IP アドレスとプロパティ情報を 表示する ip addr すべてのアドレスの情報を表示する ip addr show dev em1 em1 デバイスの情報を表示する link すべてのネッ トワークインターフェイスの状態を管 理および表示する ip link すべてのインター フェイスの情報を表示する ip link show dev em1 em1 デバイスの情報を表示する ip -s link インターフェイス統計を表示する route ルーティ ングテーブルを表示および変更する ip route カーネルのルートエントリをすべて表示する maddr マルチキャストの IP アドレスを管理および表示する ip madd
/etc/network/interfacesを以下のように編集してタグVLANがついたbondインターフェースを構成する場合、一度再起動する必要があると、ずっと思っていた。 $ cat /etc/network/interfaces auto lo iface lo inet loopback auto bond0 iface bond0 inet manual mtu 1500 bond-mode balance-alb bond-miimon 100 bond-slaves em1 em2 auto bond0.1234 iface bond0.1234 inet static address 10.x.y.50 netmask 255.255.255.0 gateway 10.x.y.1 network 10.x.y.0 vlan_raw_device bond0 auto em1
ページが見つかりません。 目的のページは、移動または削除によって無効になっている可能性があります。申し訳ありませんが、検索またはリンク先よりお探しください。
スケーラブルWebシステム工房 第4回 LinuxとVLANで作る、シンプル&スケーラブルネットワークの極意 更新日: 2023-11-07 19:20:41 +0900 公開日: 2011/05/25 発売日: 2007/10/25 この文書は2007/10/25に書かれたもので、ソフトウエアの名称、バージョン、設定項目、社名などの固有名詞などなどは当時のまま掲載しています。 ですので、インストール手順や設定内容は最新版のドキュメントを参照していただき、この文書からは理論や考え方、構成のヒントなどを読み取っていただければと思います。 今回は、スケールしやすく運用もしやすいネットワーク構成とはどういうものか、という話をしたいと思います。 深く考えずに設計したネットワークにサーバをじゃんじゃん追加していくと、そのうち破綻します。筆者らもそうでした。が、脳みそをふりしぼって考えて、ときには失敗
NetflixのシニアパフォーマンスアーキテクトであるBrendan Gregg氏による、Linuxサーバにログインして60秒でまず調べることのまとめ。 パフォーマンス問題でLinuxサーバーにログインしたとして、最初の1分で何を調べますか? Netflixには、多数のEC2 Linuxからなるクラウドがあり、そのパフォーマンスを監視したり調査したりするための数々のパフォーマンス分析ツールがあります。その中には、クラウド全体にわたる監視を行うAtlasや、オンデマンドにインスタンスの分析を行うVectorがあります。これらのツールは多くの問題を解決する手助けをしてくれますが、各インスタンスにログインし、標準的なLinuxパフォーマンスツールを実行する必要がある場合もあります。 この記事では、すぐ使えるはずの標準的Linuxツールを使いコマンドラインにおいて、最適化されたパフォーマンス調査を
原文へのリンクはこちらです。 ソリッド ステート ドライブ (Solid State Drive: SSD) を使用する Linux ユーザーの大半は、OS 格納用には小容量の SSD を使い、データ格納用には低速だが低価格・大容量の HDD ドライブを用いているでしょう。可能な限り最速のシステムを構築しようとすると、データ格納用に最速の SSD を用意しなければなりませんが、問題は大容量 SSD が非常に高価格なことです。それでは、どうすれば良いでしょうか。その答えが bcache です。これは、低速・大容量の HDD のキャッシュとして、高速・小容量の SSD を利用する機能です。これにより、 (1) OS を格納する劇的に速い SSD (2) 大容量 HDD データ ドライブのキャッシュとして bcache 化した SSD を実現します。 Bcache は、カーネル 3.10 から実
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く