タグ

CodeReadingとSecurityに関するraimon49のブックマーク (23)

  • gitoliteはどうやってユーザを判別しているか - SELECT * FROM life;

    ちょっとしたコネタの紹介 gitリポジトリを複数人で共有する時に、AさんはこのリポジトリにコミットできるがBさんはダメ、といった風にアクセス制御をしたくなるが、それを実現するソフトウェアでgitoliteというモノがある。 gitoliteを`host`に`git`というユーザ名でインストールし`reponame`というgitリポジトリを登録すると`ssh://git@host:reponame.git`でアクセス制御をすることができる。 当然ながらこれは`host`に`git`というユーザ名でSSH接続することを意味する。 で、不思議なのはgitoliteは一体どうやってユーザの判別をしているのか、ということだ。 なんせgitoliteはサーバ上にインストールされているのだから、gitoliteから見たらどのアクセスも`git`というユーザなのだ。どうやってgitoliteは「このアクセ

    gitoliteはどうやってユーザを判別しているか - SELECT * FROM life;
    raimon49
    raimon49 2012/04/21
    gitoliteユーザのauthorized_keys command
  • 大垣本を読んで「バリデーションはセキュリティ対策」について検討した - ockeghem(徳丸浩)の日記

    このエントリでは、セキュリティの観点から、バリデーション実装について検討します。大垣さんのを読んで「大垣流バリデーション」について勉強した結果を報告します。 はじめに 大垣さんの記事「入力バリデーションはセキュリティ対策」では、「入力バリデーションはセキュリティ対策である」が力説されています。この記事はおそらくid:ajiyoshiさんのブログ記事「妥当性とは仕様の所作 - SQLインジェクション対策とバリデーション」を受けてのことだと思います。id:ajiyoshiさんのエントリでは、「妥当性検証は仕様の問題であってセキュリティ対策ではありません」と明言されています。私はid:ajiyoshiさんに近い考えを持っていますので、大垣さんの主張について、私なりに考えてみました。 記事を書くにあたり、徳丸の立場を明確にしておきたいと思います。 バリデーションの基準は仕様の問題 バリデーション

    大垣本を読んで「バリデーションはセキュリティ対策」について検討した - ockeghem(徳丸浩)の日記
    raimon49
    raimon49 2011/12/28
    タフなユーザー体験w
  • PHP5.3.7のcrypt関数のバグはこうして生まれた

    昨日のブログエントリ「PHP5.3.7のcrypt関数に致命的な脆弱性(Bug #55439)」にて、crypt関数の重大な脆弱性について報告しました。脆弱性の出方が近年まれに見るほどのものだったので、twitterやブクマなどを見ても、「どうしてこうなった」という疑問を多数目にしました。 そこで、このエントリでは、この脆弱性がどのように混入したのかを追ってみたいと思います。 PHPのレポジトリのログや公開されているソースの状況から、PHP5.3.7RC4までこのバグはなく、PHP5.3.7RC5でこのバグが混入した模様です。RC5はPHP5.3.7最後のRelease Candidateですから、まさに正式リリースの直前でバグが入ったことになります。 バグの入る直前のソースは、ここの関数php_md5_crypt_rから参照することができます。以下に、おおまかな流れを図示します。まずはバ

    PHP5.3.7のcrypt関数のバグはこうして生まれた
    raimon49
    raimon49 2011/08/24
    コミットログから追う今回の文字列操作ミス混入の経緯。