uchan note

プログラミングや電子工作の話題を書きます

ccコマンドが無いとIntel Pinが実行できない

新規にインストールした Ubuntu 20.04 上で Intel Pin 3.13 (March 25, 2020) が上手く動かなかったので原因究明したメモです。 make と g++ パッケージのみを導入した状態では /usr/bin/cc が存在せず,それが原因で Intel Pin ツールのビルドが上手くいっていない問題に遭遇しました。

続きを読む

ベクタークロックと競合検査

ベクタークロック(vector clock)という名前は,クロック(時計)を並べたベクターというところからきています。 マルチスレッドプログラムの競合検査の分野で言うベクタークロックは,各スレッドの論理時刻を並べたものです。

uchan がベクタークロックをちょっと勉強したので,メモがてら解説を書いてみます。 最終的に,競合状態を検出する実例を示すところまでをゴールとします。

続きを読む

技術書典応援祭 自作OS関連の頒布物一覧

技術書典 応援祭 が 3 月 7 日に開始しましたね。 サークル単位の頒布物一覧を探しにくいようなので,サークル「bitnos」の頒布物をまとめておきます。 この記事を読む方は自作 OS に興味があると思うので,他サークルの自作 OS 関連物も後半にまとめています。(会期中随時更新します)

techbookfest.org

技術書典8 『マイクロカーネルの設計と実装』 は電子版が無料配布!

続きを読む

人々が OS を自作するきっかけは何だろう

OS 自作はとてもニッチな趣味ですが,ときどきやっている人を見かけます。 「OS を自作してみよう」と思うまでには,まずコンピュータに触れる経験が必要で,加えて OS の存在に気付く必要があるはずです。 業務命令で OS を自作するようなケースを除けば,OS の存在に気づいた上で,さらに OS に興味を持つ必要があります。 彼ら/彼女らはなぜ「OS の自作」に興味を持つのかを調査してみました。

続きを読む

【技術書典 応援祭】OS 自作技術 ステップアップ問題集を出します

技術書オンリーの同人誌即売会技術書典 応援祭」が,2020/03/07(土)からオンライン開催されます。 『OS 自作技術 ステップアップ問題集』と『マイクロカーネルの設計と実装』を頒布しますのでお知らせします。

頒布情報

技術書典 8 は開催中止です。 その代わり「技術書典 応援祭」に出展します!以下,応援祭の情報です。

  • 日時 2020 年 3 月 7 日(土) - 4 月 5 日(日)
  • 場所 特設サイト
  • ブース 「bitnos」 OS自作技術ステップアップ問題集
  • 新刊1『OS自作技術 ステップアップ問題集』(@uchan_nos 著)
  • 新刊2『マイクロカーネルの設計と実装』(怒田晟也著)
  • bitnos ブースではその他の既刊も展示・頒布します。

f:id:uchan_nos:20200217102209j:plainf:id:uchan_nos:20200217102227p:plain
新刊の表紙画像

続きを読む

ファジングツール syzkaller は何を検査するものなの?

OSSセキュリティ技術の会 第七回勉強会 に参加してきました。 syzkaller が何を,どうやって検査するのか,原理を忘れないうちにメモします。

ファジング

ファジングはプログラム解析手法の 1 つです。入力値をいろいろ変えて与えてみてバグが発生するかどうかをテストします。 バグ=脆弱性バグではありませんが,バグがあれば脆弱性に繋がる可能性があり,脆弱性を見つけたい人たち(防御側および攻撃側)に人気があるそうです。

「入力」にはさまざまなものがあり得ます。Linuxコマンドラインツールであればコマンドライン引数や標準入力,ファイル,ネットワークなどが入力経路として一般的かと思います。 今回の OSS セキュリティ技術の会で取り上げられていた Linux カーネルに対するファジングツールである syzkaller(濁らせずに「シスコーラー」と読むらしい)は,Linuxシステムコールを色々な引数で呼んでみてバグを検査します。

続きを読む