2007年3月31日土曜日

誤爆メール連続



実家の従業員さんからメール誤爆で図面が届く。


さらに、妹から飲み会の待ち合わせ場所のメールが誤爆で届く。


しかも同日。


なんか、設定間違えた?


わけでもないのになぁ、、、不思議な日です。





2007年3月28日水曜日

あのロイディはこのロイディ?



私はオリジナル??のロイディとしかしゃべった事がないんだけど。。。。


やっぱりよそのロイディはよそのロイディなんよねぇ。。。


ロイディたまに、ある場所のロイディと、別の場所のロイディを会話させて


間接的な学習データのコピーとかすると楽しそうだなぁ。。


http://blog.japan.cnet.com/kenn/archives/003712.html


http://d.hatena.ne.jp/Gimite/20070325/1174830426





それはともかく。。。昔あったgtalkを使った読み上げボット。。。


最近ほしいのだけど、、、誰かまだ持ってるかなぁ?


自分で作れという意見は尤もなんだけど。。。めどい。





2007年3月22日木曜日

システムコールツール制限ツールの名前は暫定UMALにしました



User Mode API Limiterです。


https://sourceforge.jp/projects/umal/


まだ、FreeBSD i386用の実験コードしかUPしてないけど。


まぁ、ここまでやってればふつーにCでプログラム書ければOSの知識はそんなになくても


以後完成させられるはず。





2007年3月21日水曜日

続システムコール制限ツール



linprocfsだとcwdっていうエントリあるのね。。。それがらくかな~





実は最近佐世保ってメジャー?



今日京都駅で4組ライブやってて、それをαステーションで中継してるんだけど。。。


そのうち2組佐世保出身。。。実は最近メジャーなのかしら。





中途半端はよくないのかの~。



ぽけーとアニメをみながらコーディングしていて気がついた。


たしかに私はいわゆる一般人には理解できない事を 仕事でも、趣味でも、日常でもやっている変人の部類だとは思う。


でも、そのプロセスに対してアウトプットがちと普通過ぎる。


もうちょっとがんばんなきゃなぁ。。。





続システムコール制限ツール



結局linprocfsとprocfsの両方が必要になっちゃったけど、root権限不要でAPIを制限するツールができました。


っていうか、まだ各要素だけど。


あと、SourceFogeに申請だけしといた。





2007年3月20日火曜日

実はFreeBSDのptraceもsystemcall時にトラップをしかけられる???



/sys/i386/i386/tace.cにこんな記述が。。。



PTRACESTOP_SC(p, td, S_PT_SCE);



なんだトラップしかけられるっぽい。


manが正しいとするならばアーキテクチャ依存ってことになるんだろうけどIA32しかもってないので関係ないし。


/sys/kern/sys_process.cのkern_ptraceをみるかぎり


ptrace(2)にPT_STEPを渡すのと同じようにPT_TO_SCX,PT_TO_SCEをわたせばよいらしい。





ちなみにuser mode linuxってこれに、さらに引数書き換えをやって動いてるらしい。


たしかにrootである必要すらないね~。





ちなみにptraceつかっても、システムコールでのstop時点でシステムコールの引数書き換えはむりぽ


/sys/kern/sys_process.cのptraceを読む限り、td(スレッドディスクリプタ?)アクセスする方法はなさげ。





続システムコール制限ツール



どーやってリモートシステムのcwdを取得しよう。。。バイナリ流し込んでそれを実行させるのって、、multiProcessorな環境でやると下手なメモリに書き込むと競合おこしてしにそうな予感。


避けたい。


プロセスの停止中に限ってcwdとか取得できるカーネルモジュールでもつくるか??


でもそれだと売りであるユーザモードってのが。。。


ユーザモード中は、単純にopenの引数にたいするパタンまっちのみの提供ってのも手っちゃ手だけどねぇ。。。


cd すればつける穴になるんだよね。


chdirをみてればいいじゃんって思う人は man fchdirしてみよー。


とおもったけどfstatってどーやってるんやろ。ちぇきですー。


とりあえずkvmをつかうらしいです~。get_procしてそのなかから、ファイルディスクリプタテーブルのポインタとってきてkreadでよみこんでるです~。


rootが必要か~。微妙だなぁ。まぁ、しょうがないのかなぁ。他にも調査するか





2007年3月19日月曜日

プログラミングなんて曖昧な言葉やめようよ。立花先生。



http://www.nikkeibp.co.jp/style/biz/feature/tachibana/media/070316_rotei/index.html


プログラミングって会社では、仕様・設計書ができあがったあとのコーディングと動作確認だけを意味したりするし。


ちゃうよね、いくらC言語使えても、プログラマの本質はそこじゃなくて、


アルゴリズムを考える能力とか綺麗なコードを書くセンスだよね。。





とはいえ、そんなのを教育できる教員。。。??大学ならまだしも中高じゃ、無理そう。


数学が趣味な先生ぐらいにしかできないだろうなぁ。


やっぱgeekが集まれるサークルとかがあるのが一番効率的なんじゃないのかなぁ?





所属グループ変更



部署内でのグループ編成がかわって私の所属グループがアルゴリズムなんかの開発をするグループになりました。


ちょっと研究よりの生活ができます。


ふぉっふぉっふぉ。順調にダメ人間として真っ当な方向に進んでいます。


管理職とか無縁だぜいコースをがんばって目指すデシ。





続:システムコール制限ツール



うーん、引数オーバーライド。。。よくみるとできないじゃん。


どしたもんかね,普通に違反したら違反理由をlogにはいてSIG_KILLでころすかにょ。


それが楽だねぇ。。。。よっぽどの異常を検知するんだからそれでいいのかも。





2007年3月18日日曜日

蔵前工業会総会にいってきた。



二十台後半が数名と定年後の人がたくさん。不思議な会です(笑


で大山崎山荘美術館でちょーーーかっこいい時計。というか時計のテンプを発見。


ひもについた錘をぶんまわして棒に巻き付けるっていう動作を繰り返すテンプ。


テンプ=調整が簡単じゃないと =剛体


という発想はみじんも有りません。かっこいいです。


年甲斐もなくはしゃいでしまいました。。。だって、工学部だもの。





その後宴会だったわけだけども、若者組のテーブルでも非妻帯者は私だけらしい。


いや~、少子化対策なんて言われてもね・・・すまんね日本政府。(笑)


というか最近の預金残高を眺めてると、家庭どころか、彼女も難しいのではないかと。





2007年3月16日金曜日

続:システムコール制限ツール



turss自体のできが微妙なので、やっぱりフルスクラッチで起こすことけてーい。


turssには多分バグがあるんだけどマルチプロセッサ環境じゃないと検証できないのでほーち。





2007年3月11日日曜日

これだから、教育者って聞くと眉唾ものでみられるのかと。。。



http://www.asahi.com/life/update/0310/007.html


なに、この激しく痴話げんか。。。そんなものがニュースになるだけ平和なのか?(笑





システムコール制限ツール



そろそろ名前を考えなきゃ。


やることは



cgiなどを動かすときにシステムコールをユーザ定義のスクリプトで制限できるとセキュアになってうれしい。


cgiの中身もそんなにかえることもなく、ユーザランドで動くものが欲しい。


使いかたのイメージとしてはcgiの先頭に 


#!/usr/bin/perl


とかく変わりに


#!/usr/bin/limit [制限条件] /usr/bin/perl


とすると、制限条件に違反するシステムこーるは実行できなくなる。


この制限はOSレベルでかかるので、バッファオーバーフローでやられても大丈夫なはず。






とりあえず実装方法として




  • 一番簡単なのは、アクセス違反をみつけたらプロセスを強制的に殺す。


ってのを考えてみたけど。。。cgiなんかに適用するとlockしっぱなしのファイルとかできていやげだね。


やっぱり




  • アクセス違反のシステムコールは失敗する。


のほうがスマートだね。


実際に制御したいのはopen,exec,socketぐらいなもんだとおもう。


で、このツールの元になるソースはFreeBSDのtrussコマンド





違反検知


違反検知はsyscall.cで行う。


i386_syscall_entryのところでeaxレジスタの中身でシステムコールの種類を取得しているので


それで各検知ハンドラを起動。


lseek(Procfd, parm_offset, SEEK_SET);


read(Procfd, &syscall_num, sizeof(int));


のところでスタックのなかみをコピーしてるので、その内容にぱたんまっちをかければよい


違反システムコールのreject方法


setup.cでopen("/proc/curproc/mem", O_WRONLY);してるのをReadwriteに書き換えておく。


引数が無効になるように、改変してわざとしっぱいさせるのがよいでせう。


とりあえず使えるのはこれかな?



[EINVAL] O_RDONLY, O_WRONLY および O_RDWR の不正な組合わせで記


述子をオープンしようとしました。



execに関してはたいして実害ないところを目指すと、ファイル名の先頭に「#」でもたすかな


ファイル名が書いてあるアドレスをいじる方法は、syscalls.cのget_string関数参照.


(こいつだけは実行中アプリの変数に影響をあたえる)


socketにかんしてはぜんぜん関係ないドメインを指定してこけさせよう。





2007年3月10日土曜日

リップシンク@ごっすん ごっすん ごすんくぎ



なんとなく、「ごっすん」のパクリflashを見てたら、、、、なんか違和感。


パクリ物はコマ数がすくない???


とおもってあらためてみなおしてると、、、ごっすんくぎってこんな少ない工数で


細かい表情とかはちゃんとつくってるのね。


そういや、先輩が音声から自動で口のうごきをおこす研究してるっていってたなぁ。


これを音声から自動でおこなおうなんぞ、感情音声としてあつかっても難しそうだねぇ。。。





FreeBSD 4系でopensslがBus error



mod_sslがcoreをはいてきがついたんだけど。


最新のopensslはgcc2.95ではコンパイルできないっぽ。


キャストまわりにばぐがあるらしい。


対処方は3つ




  1. すなおにFreeBSDをバージョンアップ

  2. opensslにパッチをあてる(ぐぐりゃでてくる)

  3. gccのバージョンアップ


で、私の選択肢は。




  • サバ、引越しを期にマシンごとアップグレード





がんばることスタックに追加



octaveとmaximaがそつなく使えるかっこいい人になる!


コードの記述量をへらさなきゃなぁ。生産性あげなきゃ。





dnscacheからBINDへののりかえ tinyDNSはのこしててもえんちゃうの?



イントラネットキャッシュサーバにdnscache+tinyDNSでDNSサバをくんでたんだけど、、、


dnscacheをデフォルトでつかってるとUDPパケットに収まらない返答がうまく処理できず


しょぼーんでした。


ま、なんか設定ひろってくればいいのかもしれないけど、、BINDでいいやーってことで


dnscacheの設定にちかいnamed.confをつくる。



options {
directory "/etc/namedb";
pid-file "/var/run/named/pid";
dump-file "/var/dump/named_dump.db";
statistics-file "/var/stats/named.stats";
listen-on { 192.168.10.1; }; //イントラ用うけぐち
};
zone "." {//ここはデフォルトのまま
type hint;
file "named.root";
};
zone "0.0.127.IN-ADDR.ARPA" {//ここもデフォルトのまま(zoneファイルはmake-localhostでつくる)
type master;
file "master/localhost.rev";
allow-query{192.168.10.0/24;127.0.0.1;};

};

// RFC 3152 ここもデフォルト
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.IP6.ARPA" {
type master;
file "master/localhost-v6.rev";
};

//イントラ内でDNSをフックして書き換えたいので、tinyDNSに飛ばす
zone "saifes.dip.jp" {
type forward;
forwarders { 127.0.0.1;};
};
//おなじく飛ばす
zone "jh-zizake.ddo.jp" {
type forward;
forwarders { 127.0.0.1;};
};
//フレッツのDNSをひくにはBBルータ様にきいたほうが楽(うちはAはルータ様のアドレス)
zone "fletsnet.com" {
type forward;
forwarders { 192.168.10.A;};
};

zone "flets" {
type forward;
forwarders { 192.168.10.A;};
};





FreeBSDでシステムコールをフックする方法



参考になるソースはusr.bin/trussとsys/pioctl.h


システムコールをフック出きれば、jailみたいなざっくりとしたフレームじゃなくてもっと細粒度のアクセス制御ができるはずだよね。きっと。


うんうん.





2007年3月8日木曜日

ウェアラブルファッション普及に関する仮説



とりあえず軍服にしてみたらどうだろう。


被服関係でなんか新しい素材がすぐに採用されるのて、スポーツとか軍服とかやと思うのね(ここ検証必要)


そう考えたとき、軍服由来のファッションて多くてしかも根付いてるよね。


コートとかめっちゃ軍服由来多い。


新しい素材(てかメカだけど)を定着するファッションとしてもっていくには、


軍服に採用させる???





似非ジンジャーティーの作り方



ふと職場で試したら結構うまかった、似非ジンジャーティーの作り方。


用意するもの




  • 紅茶ティーバッグ(ダージリン@TWINGを使った)

  • ショウガ湯の素(とろみが少なめの)


作り方




  1. マグカップ一杯の紅茶をほんのわずか苦めに出す。(普通のこさでもOKかと)

  2. ショウガ湯の素を半分投入。(多分もともとは湯飲みサイズ用?)

  3. よく混ぜる。


こんな簡単だけど、けっこう美味。


ショウガ湯の温まる効果はあるのに、口の中がべたつかない。ちゃんとお茶なのです。





2007年3月7日水曜日

風邪引いた



ライブいこうとおもったのに。orz


もー花粉症と風邪両方きてて終わってる。くらっくらっす。





2007年3月6日火曜日

このデータほしいなぁ。



http://www.iat.jaxa.jp/res/adtrg/a03_01_02.html


面白そうな研究だよね。しかもデブリ対策って夢があるよねぇ。。。


せっかく公的機関でやってるんだからデータばばーんと公開しちゃえば。


趣味人が勝手にアルゴリズム開発するとおもうんだけど、公開してくれないかなぁ?





coreファイルを一か所にまとめて吐く方法@FreeBSD



/etc/sysctl.confに



kern.corefile="/ext4/core/%U_%P_%N.core"



手な感じでファイル名をしていする%UはUID,%PはPID,%Nには実行ファイル名が入る


coreをいれるでぃれくとりは chmod 1777しておく必要がありんす。(/tmpと同じ)


あとapacheとかroot様が起動して他のユーザ権限で動く奴は以下もかいとかないとだめっす。



kern.sugid_coredump=1






2007年3月5日月曜日

2007年3月4日日曜日

カオリン





  • 日本の水道水質基準における濁度


「度」で示し,水質基準は2度。精製水1Lに標準カオリン1mgを加えたときの濁りを1度とし,場合によっては1mg/Lと表します。





カオリン。。。人の名前かと。。。というかね。もう。滅。





のまのまイェイの少年



http://www.youtube.com/watch?v=Dcphn_hl3Q0&NR


なつかしい。


そして。。。。なんか新作もちゃんとやってるんだねこの人。


http://www.youtube.com/watch?v=3gg5LOd_Zus





2007年3月1日木曜日

ものは言いよう フレキシブルルーラー



100円ショップでかったステンレス製の定規、やけに薄くてぺらぺら。


でも、定規本体に「Flexible Stainless Steel Ruler」と書いてあると。


なるほどそう言う用途もあるのか。って。。。。。


結構マイナーな用途な気がするんだけどなぁ。そんな用途。


まっ100円なりの愛嬌なのかなぁ。





ろうそくで発電。



いやーすごいね。新発見だね。是非ご家庭でも。


http://zz7.blog52.fc2.com/blog-entry-4228.html














とかいって、だませるのかなぁ。