タグ

ブックマーク / rkx1209.hatenablog.com (7)

  • システムソフトウェアに対する攻撃の歴史と傾向 - 高度標的型攻撃や国家に支援された攻撃の仕組み - - るくすの日記 ~ Out_Of_Range ~

    A History of system-level offensive security researches: How is your system compromised by nation state hacking, APT attack はじめに 企業や個人に対するサイバー攻撃の頻度は年々増加の一途を辿っているが、これらはskiddyによる悪戯程度の物から、企業を標的とした高度な標的型攻撃、あるいは政府による諜報活動に至るまで多岐にわたっている。 特に大規模な組織や政府による綿密に練られたサイバー攻撃は、確実に目的を果たすために高度な手段が講じられる事が多い。 記事では高度標的型攻撃や政府による諜報活動で用いられる手法の一つとして、"システムソフトウェアに対する攻撃"について紹介する。 これはオペレーティングシステム (OS) や仮想マシン、ファームウェアといった基盤システムを

    システムソフトウェアに対する攻撃の歴史と傾向 - 高度標的型攻撃や国家に支援された攻撃の仕組み - - るくすの日記 ~ Out_Of_Range ~
    labunix
    labunix 2018/06/21
  • カーネルエクスプロイト入門2 - 特権モードを利用した権限昇格の仕組み - - るくすの日記 ~ Out_Of_Range ~

    0. はじめに カーネルエクスプロイト入門記事part2です。 前回part1では、環境構築とLinuxカーネルのメモリ管理の基礎について、実際のエクスプロイトでのユースケースを通して説明しました。 rkx1209.hatenablog.com さて、part2では実際にLinuxカーネルエクスプロイトを書いて行きます。 とはいえ既存の脆弱性を利用するエクスプロイトを記述するのはあまりよろしくないので、今回は学習用に脆弱なドライバを用意し、エクスプロイトを書いていきます。 まあ基的なロジックは実際の脆弱性のそれと同じなので、意義はあるはずです。 学習用ドライバとエクスプロイトコードは以下のレポジトリに置いてありますので、各節ごとに逐次参照 してください。 github.com 1. 特権モードでの権限昇格 脆弱性を悪用して権限昇格を行うにはいくつか常套手段があり、中でも典型的な物がスタッ

    カーネルエクスプロイト入門2 - 特権モードを利用した権限昇格の仕組み - - るくすの日記 ~ Out_Of_Range ~
    labunix
    labunix 2017/07/21
  • カーネルエクスプロイト入門 - Linuxカーネル解析の基礎 - - るくすの日記 ~ Out_Of_Range ~

    0. はじめに 記事は、Linuxを対象としたカーネルエクスプロイトの入門記事です。 カーネルエクスプロイトというのは、Linuxや*BSD、Windowsを始めとするカーネル自身の脆弱性を突くエクスプロイトです。 基的にカーネルはシステム内で最高権限を持つ特権モードで動作しているので、ここを悪用されるとシステムの大部分(ほぼ全て)を掌握されてしまいます。 エクスプロイトと言うと、普通はユーザー空間で動作しているアプリケーションのバグをつく物が多いですが、これだと限られたレベルの権限しか奪えません。 SELinuxやjailを始めとする、OSレベルでの保護機構に阻まれるとたちまち効力を失ったりします。 しかし、カーネル自体の脆弱性をつくカーネルエクスプロイトを利用すると最高権限での任意コード実行が可能なため、大抵の保護機構はものともしません。 このカーネルエクスプロイトが特に効力を発揮

    カーネルエクスプロイト入門 - Linuxカーネル解析の基礎 - - るくすの日記 ~ Out_Of_Range ~
    labunix
    labunix 2017/07/14
  • 参照カウンタオーバーフローを利用したLinuxカーネルエクスプロイト(CVE-2016-0728) - るくすの日記 ~ Out_Of_Range ~

    記事では、Linuxカーネルの鍵保存サービスの脆弱性(CVE-2016-0728)、およびそれを利用した権限昇格エクスプロイトについて解説します。 Linuxカーネルの参照カウンタオーバーフローはCVE-2016-0728とCVE-2014-2851が有名ですが、今回は前者を題材に扱います。 参考: Exploiting COF Vulnerabilities in the Linux kernel https://ruxcon.org.au/assets/2016/slides/ruxcon2016-Vitaly.pdf 0. セキュリティキャンプ2017応募課題 セキュリティキャンプというIPAが主催しているイベントがあるのですが、私がそこの応募課題の一つ(A-5)としてこの脆弱性を出題していたので、 Write upを兼ねて、今更ですがCVE-2016-0728について説明しようと

    参照カウンタオーバーフローを利用したLinuxカーネルエクスプロイト(CVE-2016-0728) - るくすの日記 ~ Out_Of_Range ~
    labunix
    labunix 2017/06/20
  • 低レイヤーの歩き方 - るくすの日記 ~ Out_Of_Range ~

    この記事は Kobe University Advent Calendar25日目の記事です。 低レイヤー技術(後述)をこれから学びたい人向けの入門記事です。 自身の経験を踏まえ、より多くの人達にこのレイヤーに興味を持ってほしくて書きました。 決して卒論がやばくてAdvent calendarのネタが作れなかったわけでは(ry なぜこんな記事を書いたか いわゆるシステムプログラミングのような低レイヤー(と言って差し支えない)ジャンルって一体何から始めれば良いのかいまいちピンと来ないし、何が面白いのかも分からないと思われている事が多いと思います。 にもかかわらず低レイヤーの魅力や学び方の指針みたいな物を示した、いわゆる入門記事ってかなり少ないんですよね。 記事はこれからシステムプログラミングを始めたい方や、既にかじってみたが中々先が見えてこない、将来何の役に立つのか不安という方達に読んでい

    低レイヤーの歩き方 - るくすの日記 ~ Out_Of_Range ~
    labunix
    labunix 2016/12/25
  • KVMのなかみ(KVM internals) - るくすの日記 ~ Out_Of_Range ~

    VMMの高速化について学ぶ過程でKVMのコードを読んだので、 メモ代わりに内部構造の解説記事を書きました。 KVMはqemuと連携して動作するため、以前私が書いたQEMU internals( http://rkx1209.hatenablog.com/entry/2015/11/15/214404 ) も合わせてご参照ください。また記事はある程度システムプログラムに慣れており、 VT-xや仮想化の基アーキテクチャは知っている物として進めます。 1.qemu-kvm,kvmの初期化 では早速見て行きましょう。まずはKVMの初期化の入り口となるqemu-kvmサイドから見ていきます。(ちなみに現在qemu-kvmはqemu家に統合されておりconfigを変えることでkvmを有効化する仕様になっています) qemuは/dev/kvmを通してKVMとやり取りを行います。全体的なアーキテクチ

    KVMのなかみ(KVM internals) - るくすの日記 ~ Out_Of_Range ~
    labunix
    labunix 2016/01/02
  • 30日でできない 自作Linuxクローン開発 - るくすの日記 ~ Out_Of_Range ~

    この記事は 自作OS Advent Calendar 2014 - Adventar 12/25の記事です。 一ヶ月程前からLinuxカーネルのコードを読み始めたので、解読ついでに自分でもカーネルを作ってみました。 とはいっても、まだ半分も完成してないです() 当初は、30日でできる 自作Linuxクローン開発 を予定していたのですが、 予想以上の規模で、解読とフルスクラッチ開発を併行するのは結構大変でした... という訳で、現在実装できている所まで紹介します。 開発レポジトリはこちらです。 RKX1209/Abyon · GitHub (インストール方法や実行方法はここに書いてます) 実装した機能 プロセススケジューラー Runキュー ハードウェア割り込み(PIC 8259A) 遅延割り込み Tasklet グローバルタイマー(PIT) タイマーリスト 仮想ページング(IA-32 MMU

    30日でできない 自作Linuxクローン開発 - るくすの日記 ~ Out_Of_Range ~
    labunix
    labunix 2014/12/27
  • 1