次にどんなことをしようかとか、どんなことを勉強してみようかとか考え始めると、だんだんと本質を見失うことがよくある。
コンピュータエンジニアとして働いていると、なんとなく常に何か新しいことを覚えなくてはとか、新しいものを使えるようにならなくてはという思いがどこかにある。そんなことを考えていると、じゃあ今後必要になる技術はなんなのかとか、価値のある(希少性のある)技術や、なかなか手に入れられないような技術とは何なのかということを考え出す。・・・そうしているうちに、だんだんとそれらの物に対する本質的な興味とは別に、「やらなくてはいけない」のではないかというような思いになる。
でも、この時点で何かを見失っていることに気づく。そもそも自分は何をやりたいのかということから来た物ではないということに気づく。いまセキュリティ関係の仕事をしているけれども、僕は本当に日本をそして世界を安全にしたいのか。それともコンピュータが好きだから、これをしているのか。それともお金が必要だからやっているのか。何をしたくて、今何をしているのだろうか。
就職とか転職とかでも「スキルアップ」なんて言葉がやたらと並ぶ。もともと僕はこの言葉を現実社会の目標とかの中に使うのがそんなに好きじゃない。なんかファミコンでRPGでもやっているみたいだ。レベル上げしなきゃみたいな。
そういうときにちょっと思いを巡らせると、だいたい結局は誰かの役に立つことをしたいんだという思いに至る。誰かが、それを喜んでくれればいい。対象はなんでもいい。でも僕はコンピュータが好きだし、コンピュータのことで困っている人がいたら、助けられそうだから、こういう仕事をしているんだということに気づく。
あまり表面的な技術とか、流行とかそういう物に自分の考えを奪われてしまわないようにしないと、やっていることがなんなんだか分からなくなってしまう。
でも、上に書いたこともいつかは自分の動機としてはなくなってしまうかもしれない。やっぱり僕の中にある順番は、「コンピュータが好き」→「それなら人の役に立てそう」だから。コンピュータが好きなのは、知らないことが多いから。どうなっているのか分からないけど、なんかすごいから。自分でいろんなものが作れるから。そんな理由。もしかしたらあるときコンピュータに興味がなくなってしまうかもしれない・・・というかたぶんなくなる。このままいったら確実になくなる。
その前にもっと本質的な、自分が人のためにできることを見つけたい
My Daily Programming Life...
RTX1000 その2
RTX1000届きました。
さっそくつなげてみた。Webに設定例とかのPDFがあったのでそれを参考に。
うちはCATVなので、まあ簡単なIPマスカレード設定と、DHCP設定とDNS設定程度。
いまのところ、自宅内にサーバーとかはないのだけれど、いまMac miniが余っているのでそれをサーバーとして使ってDMZに置いてみようかと・・・。うーん、今頭の中でイメージしている物がDMZとというのかどうかわからないけど、たぶん大丈夫。
外部からの接続は・・・Dynamic DNSか・・・。なんかもっといい方法内のだろうか。
さっそくつなげてみた。Webに設定例とかのPDFがあったのでそれを参考に。
うちはCATVなので、まあ簡単なIPマスカレード設定と、DHCP設定とDNS設定程度。
いまのところ、自宅内にサーバーとかはないのだけれど、いまMac miniが余っているのでそれをサーバーとして使ってDMZに置いてみようかと・・・。うーん、今頭の中でイメージしている物がDMZとというのかどうかわからないけど、たぶん大丈夫。
外部からの接続は・・・Dynamic DNSか・・・。なんかもっといい方法内のだろうか。
RTX1000
YAMAHAのルータRTX1000を買ってしまった。まだ届いてないけど。
前にいた会社でたぶん同じやつ使っていたんだけど、とってもよかったので、自宅用にと思って。今のルータがだめだめなので。やっぱ業務用の方が安定してるっぽいし。
RTX1000はかなり評判がいいみたい。
しかも定価は11万ぐらいするんだけど、中古で買ったら18000円だった。これは安い。しかもいろいろ遊べそうだし。いろんな設定を試して遊んでみよう。
こういう業務用の中古を買うって言うのは意外にいいのかも。おすすめですね。
問題は設定するのがが難しいこと。このルータも一応簡単なWebインターフェースは持っているけど、きちんと設定するにはコンソールでコマンドたたかなくちゃいけない。しかもかなりたくさんの設定があって、それこそTCP/IPの知識がフルで必要になる。初期設定でLAN側のIPアドレスとかも設定されていないらしいから、自分で設定しなくちゃいけない。さすがに一般家庭じゃ使えないよなぁ。技術者で一通りネットワークの勉強したい人にはいいかも。
前にいた会社でたぶん同じやつ使っていたんだけど、とってもよかったので、自宅用にと思って。今のルータがだめだめなので。やっぱ業務用の方が安定してるっぽいし。
RTX1000はかなり評判がいいみたい。
しかも定価は11万ぐらいするんだけど、中古で買ったら18000円だった。これは安い。しかもいろいろ遊べそうだし。いろんな設定を試して遊んでみよう。
こういう業務用の中古を買うって言うのは意外にいいのかも。おすすめですね。
問題は設定するのがが難しいこと。このルータも一応簡単なWebインターフェースは持っているけど、きちんと設定するにはコンソールでコマンドたたかなくちゃいけない。しかもかなりたくさんの設定があって、それこそTCP/IPの知識がフルで必要になる。初期設定でLAN側のIPアドレスとかも設定されていないらしいから、自分で設定しなくちゃいけない。さすがに一般家庭じゃ使えないよなぁ。技術者で一通りネットワークの勉強したい人にはいいかも。
SEH and SEHOP 現在の疑問 とりあえず解決?
前の投稿からちょっとしか時間がたってないけど、もう一度読み返して解決したかなぁといった感じ。
uninformedの方のPDFには、スタック上の_EXCEPTION_REGISTRATION_RECORDのnextを0xffffffffに攻撃者が書き換えたらどうなるか、ということを考察してあって、その場合はpop,pop,ret命令に飛ばすことで、このnextのコードを実行するという利点が生かせなくなるため、そうする意味がなくなると書いてある。これが僕の考えていたことであって、そうなんだったら、わざわざ終端用フレームを入れる必要がない。でも、さらに付け加えて、それでも何らかのコードを任意に実行されることは確かなので、念のためにランダムな終端フレームを入れてチェックするように下ほうがいい、と言っている。
つまりは念のためにそうしているという感じなのかもしれない。まあ、pop,pop,retを利用できないとなれば、基本的にはスタックオーバーフローならリターンアドレス書き換えの方が素直な方法だし、SEH Overwritingの利点がなくなっちゃうし。
とりあえず、こんな感じで解決と言うことにしておきます。
uninformedの方のPDFには、スタック上の_EXCEPTION_REGISTRATION_RECORDのnextを0xffffffffに攻撃者が書き換えたらどうなるか、ということを考察してあって、その場合はpop,pop,ret命令に飛ばすことで、このnextのコードを実行するという利点が生かせなくなるため、そうする意味がなくなると書いてある。これが僕の考えていたことであって、そうなんだったら、わざわざ終端用フレームを入れる必要がない。でも、さらに付け加えて、それでも何らかのコードを任意に実行されることは確かなので、念のためにランダムな終端フレームを入れてチェックするように下ほうがいい、と言っている。
つまりは念のためにそうしているという感じなのかもしれない。まあ、pop,pop,retを利用できないとなれば、基本的にはスタックオーバーフローならリターンアドレス書き換えの方が素直な方法だし、SEH Overwritingの利点がなくなっちゃうし。
とりあえず、こんな感じで解決と言うことにしておきます。
SEH and SEHOP 現在の疑問
SEHについて今いろいろ調べている。そのうちまとめてこのサイトにも載せる予定。
最初は単純にSEHの仕組みを知りたかったのだけれど、だんだんと深くなってしまい、
まずは下のを読んで
http://uninformed.org/?v=5&a=2&t=pdf
それから
http://blogs.technet.com/srd/archive/2009/02/02/preventing-the-exploitation-of-seh-overwrites-with-sehop.aspx
を読んだ。
他にもいろいろ読んだのだけれど、とりあえずこの二つで今のところ疑問なのは、
なぜスレッドの開始時に終端例外フレームを挿入しておかないといけないのかということ。例外フレーム(_EXCEPTION_REGISTRATION_RECORD)のnextポインタが0xffffffffに突き当たればそれでOKなんじゃないのか?と思った。でもきっと違うんだろう。入れておかないといけないんだろうなぁ。でもなんでだか今のところよく分からない。
誰か分かる人教えてください。
最初は単純にSEHの仕組みを知りたかったのだけれど、だんだんと深くなってしまい、
まずは下のを読んで
http://uninformed.org/?v=5&a=2&t=pdf
それから
http://blogs.technet.com/srd/archive/2009/02/02/preventing-the-exploitation-of-seh-overwrites-with-sehop.aspx
を読んだ。
他にもいろいろ読んだのだけれど、とりあえずこの二つで今のところ疑問なのは、
なぜスレッドの開始時に終端例外フレームを挿入しておかないといけないのかということ。例外フレーム(_EXCEPTION_REGISTRATION_RECORD)のnextポインタが0xffffffffに突き当たればそれでOKなんじゃないのか?と思った。でもきっと違うんだろう。入れておかないといけないんだろうなぁ。でもなんでだか今のところよく分からない。
誰か分かる人教えてください。
BLOGGERでFTP公開ブログに最近のコメントを載せる
ブログを少し改良した。Recent Commentsというのをサイドバーにのせるようにした。
そんなの最近のブログなら当然できるだろと思うのが普通だと思うのですが、
BLOGGERを利用していて、それをFTP公開(自分のサーバーを利用して使う)場合には簡単にはいかない。基本的には、最近の投稿とアーカイブの部分のサイドバーしか用意されていない。ラベルとかもない(これは後で付ける予定)。
さすがに最近のコメントというのはほしいと思って、探したら見つかった。
http://www.bloggerbuster.com/2008/06/update-ftp-blogs-do-publish-comment.html
要点は、JavaScriptを使って、Blogspotにある、自分のブログのフィードを読み込んでそれをそのサイトに合わせて表示させるということ。自分のブログのフィードのありかは上のサイトにかいてあるように、一定の形をしていて、自分のBlogIDというものを入れればアドレスができあがる。BlogIDはダッシュボードに入ったときにURLにblogID=...と表示される20桁ぐらいの数字。
あとは、上のサイトで公開されているJavaScriptを使って、その部分にスクリプトを埋め込めばいいだけ。
このブログではスクリプトそのままだと見た目がおかしかったのでスクリプトで出力しているタグを少し修正した。
そんなの最近のブログなら当然できるだろと思うのが普通だと思うのですが、
BLOGGERを利用していて、それをFTP公開(自分のサーバーを利用して使う)場合には簡単にはいかない。基本的には、最近の投稿とアーカイブの部分のサイドバーしか用意されていない。ラベルとかもない(これは後で付ける予定)。
さすがに最近のコメントというのはほしいと思って、探したら見つかった。
http://www.bloggerbuster.com/2008/06/update-ftp-blogs-do-publish-comment.html
要点は、JavaScriptを使って、Blogspotにある、自分のブログのフィードを読み込んでそれをそのサイトに合わせて表示させるということ。自分のブログのフィードのありかは上のサイトにかいてあるように、一定の形をしていて、自分のBlogIDというものを入れればアドレスができあがる。BlogIDはダッシュボードに入ったときにURLにblogID=...と表示される20桁ぐらいの数字。
あとは、上のサイトで公開されているJavaScriptを使って、その部分にスクリプトを埋め込めばいいだけ。
このブログではスクリプトそのままだと見た目がおかしかったのでスクリプトで出力しているタグを少し修正した。
失敗
Deskmanというプログラムを公開し始めたけど、CのランタイムをDLLのままにしてしまった。今はStaticになっているのでどのPCでも動くはず。まだVistaでのテストができていないので、近々やる予定。まだまだBetaなので、お許しください。
ちょっとずついいソフトにしていきた。
ちょっとずついいソフトにしていきた。
