るくすの日記 ~ Out_Of_Range ~

主にプログラミング関係

Security

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

A History of system-level offensive security researches: How is your system compromised by nation state hacking, APT attack はじめに 企業や個人に対するサイバー攻撃の頻度は年々増加の一途を辿っているが、これらはskiddyによる悪戯程度の物から、…

SAT/SMTソルバを自作してみる話

この記事は Kobe University Advent Calendar 2017 - Adventar 17日目の記事です。 1年ぐらい前にC3というSMTソルバをC言語でスクラッチから作ったので、その話でもします。 よりによってなぜSMTソルバをCで書いたかというと、若気の至りでハイパーバイザに…

カーネルエクスプロイト入門2 - 特権モードを利用した権限昇格の仕組み -

0. はじめに カーネルエクスプロイト入門記事part2です。 前回part1では、環境構築とLinuxカーネルのメモリ管理の基礎について、実際のエクスプロイトでのユースケースを通して説明しました。rkx1209.hatenablog.comさて、part2では実際にLinuxカーネルエク…

高機能バイナリトレーサqiraはどのように実装されているのか

1. qiraとは qiraとは世界的なハッカー、George Hotz氏 (ジョージ・ホッツ - Wikipedia) によって開発された高機能バイナリトレーサーであり、qiraという名は(QEMU Interactive Runtime Analyser)の略である。GitHub - BinaryAnalysisPlatform/qira: QEMU …

パイプラインモデルを用いたシンボリックテイント解析の高速化

この記事は情報セキュリティ系論文紹介 Advent Calendar 2015 - Adventar9日の記事です。 TaintPipe: Pipelined Symbolic Taint Analysis [Ming,et al. USENIX SEC' 15] https://www.usenix.org/system/files/conference/usenixsecurity15/sec15-paper-ming.…

フォーマット文字列による攻撃

printf()関数の脆弱性を利用した攻撃手法です。とりあえず以下のコードを見てください。 #include <stdio.h> #include <stdlib.h> #include <string.h> int main(int argc, char *argv[]) { //お客様の名前を表示---- char text[1000]; strcpy(text,argv[1]); printf(text); printf("\n");</string.h></stdlib.h></stdio.h>…

バッファオーバーフロー

競技やったりセキュリティ勉強したりといろいろな分野に手を出しすぎている感は否めませんが、とりあえず今回はセキュリティのことについて書きます。脆弱性としてもっとも基本的なものとして「バッファオーバーフロー」が挙げられます。自分の書いたプログ…