[-]=======================================================================[-] Wizard Bible vol.18 (2005,6,7) [-]=======================================================================[-] x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ---- 第0章:目次 --- x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ○第1章:CSRF 金床 著 ○第2章:チューブラー錠の開錠 Defolos 著 ○第3章:OllyDbgの脆弱性について Will 著 ○第4章:ハニーポットを作ろう 〜 第3回 〜 Narusase 著 ○第5章:Micro$○ft社が嫌いな理由 Taka John Brunkhorst 著 ○第6章:アカデメイア流読書法 IPUSIRON 著 ○第7章:お知らせ ○第8章:著者プロフィール x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x --- 第1章: CSRF --- 著者:金床 x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ■0x01.) はじめに  mixiにおいて「はまちちゃん」騒動を起こしたCSRF(Cross Site Request For geries)攻撃。先日Kenji氏とeagle0wl氏との席で話題に上がりました。 金床「シーエスアール…えーっと、なんだっけ?はまちちゃん」 eagle0wl氏「Cross Site Request Forgeriesですね」 金床「そうそう、それ。めんどいから日本語訳は『はまちちゃん』でいいよね」  ということで読みにくさが目立つこの攻撃ですが、実は発音としては「シーサ ーフ」というのが正しいらしいです。 ○参照URL http://www.tux.org/~peterw/csrf.txt  さてこのシーサーフですが、ワタクシ実ははまちちゃん事件が起こるまで全く 意識しておりませんでした。全くダメダメ。普段ウェブアプリのセキュリティが うんぬんとかほざいているくせにこのていたらくです。ということで、今回は個 人的に新ネタ(わら)であるシーサーフについて書いてみます。 ■0x02.) ウェブブラウザとHTTPリクエスト  僕たちがウェブサイトを訪れるときには、ウェブサーバーに対してHTTPリクエ ストを送信し、HTTPレスポンスを受信します。HTTPレスポンスはヘッダー部とボ ディ部に分かれていて、ボディ部は僕らがアクセスしようとしたページのHTML部 分であったり、そこに含まれる画像のデータだったりします。ブックマークを選 んだり、URL入力欄に目的のURLを入力してウェブサイトにアクセスした場合、一 番最初に送信されてくるHTTPレスポンスは、このURLに対応したものになります。  もう数年前になってしまいますが、「ハッキングツール・プログラミング大全」 という本を書かせて頂いたことがあります。この本の付属CD-ROMに収録されてい る小さなプログラム、httpc.exeを持っている方はぜひここで使ってください。持 っていない方はtelnetクライアントでHTTPリクエストを送信するか、あるいはwget のようなHTTPクライアントプログラムを使ってもよいでしょう。  これらの簡易HTTPクライアントプログラムを使って、http://www.microsoft.com/ というURLにアクセスしてみます。HTTPリクエストがマイクロソフトのウェブサー バーに対して送信され、レスポンスとして22,000バイト程度のHTMLファイルが返 信され、通信が終了します。ここで注目して欲しいのは、送受信されたデータは すべてテキストやHTMLであり、画像データのようなバイナリデータは含まれてい ないということです。  次に、IEなどの通常のウェブブラウザを使って、同じようにhttp://www.microsoft.com/ にアクセスしてみます。すると、画像ファイルをいくつも含む、きれに整形され たウェブページが表示されます。簡易HTTPクライアントプログラムを使った場合 と通常のウェブブラウザを使った場合とで、このような違いがあるのは何故でし ょうか。この違いを確かめるために、同じく拙著「ハッキングツール・プログラ ミング大全」のCD-ROMに収録されているhttpproxy.exeか、あるいはEtherealなど のパケットスニッファを使い、通常のウェブブラウザでアクセスしたときの様子 を観察してみます。すると、通常のウェブブラウザを使ってアクセスした場合に は、HTTPリクエストの送信とHTTPレスポンスの受信(以後HTTPセッションと呼び ます)が24回も発生していることが分かります。このうち大部分は画像ファイル を取得するもので、例えば以下のようなURLに対するHTTPセッションが発生してい ることがわかります。 http://i.microsoft.com/h/en-us/i/drivers2_2_8.jpg http://i.microsoft.com/h/en-us/i/the_boss_4_8.jpg http://i.microsoft.com/h/en-us/i/travel_tips_4_8.jpg http://i.microsoft.com/h/en-us/r/popular_downloads.gif http://i.microsoft.com/h/en-us/r/b.gif http://i.microsoft.com/h/en-us/r/popular_searches.gif http://i.microsoft.com/h/en-us/r/support.gif http://i.microsoft.com/h/en-us/r/for_your_home.gif  http://www.microsoft.com/というひとつのURLにアクセスするように操作した だけにもかかわらず、ウェブブラウザは結果的には24もの異なるURLに対してリソ ースの取得を行います。これは、一体どうしてでしょうか。  これは、ウェブブラウザがその機能を果たすために、ある意味勝手に行ってい ることなのです。つまり、最初に取得したhttp://www.microsoft.com/のHTMLを解 釈し、その中にIMGタグなどがあれば、それに対応するリソースの取得を自動的に 行うのです。ちなみに、これらの画像の自動取得はオプションからオフにできる 場合があります。  このように、通常のウェブブラウザを使う限り、僕たちが意識しないHTTPセッ ションが裏で大量に発生することを覚悟しなければなりません。また、上にいく つかあげた画像ファイルのURLのホスト名に注目してみると、"i.microsoft.com" となっており、これは最初にウェブブラウザに対して指定したURLのホスト名"ww w.microsoft.com"とは異なっています。このように、IMGタグなどがあれば、全く 別のホストに対してでもHTTPセッションが発生してしまうというのが、現在一般 的に使われているウェブブラウザの仕組みなのです。ウェブブラウザはユーザが 指定した以外のホストとも、裏で勝手に通信を行ってしまいます。これは通常の ウェブブラウザが便利(自動的に画像を表示してくれたりする)であることの代 償であるともいえます。  IMGタグ以外にも、JavaScriptを使うなど、ユーザが意識しないHTTPセッション を発生させる方法はたくさんあります。 ■0x03.) CSRF  このように、IMGタグなどによって、ユーザが意識しないうちにウェブブラウザ がネットワーク上の色々なウェブサーバーと通信を行ってしまう可能性があるこ とがわかりました。CSRFはこの原理を利用した攻撃です。通常、ユーザが意識し ないうちに発生するHTTPセッションは、画像ファイルやCSSファイルなどを取得 してくるだけであり、特に害はありません。しかし、これがウェブアプリケーシ ョンなどに対するリクエストとして仕組まれていると、非常に面白いことになっ てきます。  先日mixiで発生したはまちちゃん騒動では、この「ユーザが意識しないうちに 発生するHTTPセッション」が、mixiの「日記を書く」という機能に対するものと して仕組まれていました。僕の記憶では、このHTTPセッションはIMGタグを使った ものではなく、JavaScriptを使ってフォームをsubmitさせることで実現されてい たように思います。  CSRFの特徴は、発生するHTTPセッションが、攻撃者のものではなく、被害者の ウェブブラウザによるものであるということです。そのため、いわゆる「ログオ ン」してから色々な操作をするウェブアプリケーションの、内部に対しての攻撃 が可能になっています。  mixiを例に取りましょう。mixiではまず最初にユーザIDとパスワードを入力し てログオンします。その後、自分のアカウントに対して日記を書いたり、さまざ まな操作が可能になります。一度ログオンするとウェブサーバーとウェブブラウ ザの間ではCookieを通じて認証が確認されるようになり、意図的にログオフした りウェブブラウザを閉じたりしない限り、その後のHTTPセッションはすべて認証 済みの状態で行われます。  攻撃者は被害者のユーザIDやパスワードはわかりませんが、被害者のログオン 済みのウェブブラウザに対して「日記を書け!」と命令します。被害者のウェブ ブラウザは認証を通り抜けて日記を書いてしまい、攻撃が成功します。攻撃者は 被害者のアカウントを乗っ取る必要はありません。なぜなら、攻撃となる通信を 行うのは他ならぬ被害者自身だからです。mixiのようにCookieを認証に使用して いるサイトの場合、この攻撃は非常に有効です。 ■0x04.) ローカルを攻撃  CSRFによってmixiのようなごく普通のウェブアプリケーションに対する攻撃が 行われることがありますが、さらに興味深いのは、被害者のローカル環境で動作 しているウェブアプリケーションに対しても攻撃が行われる可能性があるという ことです。ローカル環境で動作しているウェブアプリケーションとは、http://1 27.0.0.1/hogeやhttp://192.168.0.1/fugaのような、プライベートIPアドレスで 動作しているウェブアプリケーションを指します。企業や学校などのイントラネ ットで動作しているものや、ウェブブラウザを使って設定できるルータなどの機 器もこれに当たります。通常これらのローカル環境で動作しているウェブアプリ ケーションには攻撃者は直接はアクセスできないため、攻撃の標的とはならない ように思えますが、CSRFは被害者のウェブブラウザがアクションを起こすことに より達成される攻撃であるため、これらのローカル環境で動作するウェブアプリ ケーションが格好の標的となります。そこで、今回はローカル環境で動作してい るウェブアプリケーションに対して、CSRFが有効であるかどうかを検証してみま した。 ■0x05.) ルータ設定画面にCSRF  まず、我が家で使用しているADSLルータの設定画面にCSRFしてみました。この ルータはNEC製のAtermという機種で、telnetでログインできるようになっていま すが、普通はウェブブラウザを使って80番ポートにアクセスし、各種の設定を行 うようになっています。この80番ポートで提供されるウェブアプリケーションは 認証にBasic認証を用いており、一度ログオンするとその後はAuthorizationフィ ールドが自動的にHTTPヘッダーに追加され、ユーザが意識することなくログオン 状態を保ったままで操作が行われることになります。CSRFの視点からすると、Ba sic認証を用いたウェブアプリケーションはCookieを使用しているものと同じよう な感じで、どちらもCSRF向き(CSRFによる攻撃に弱い)といえます。  ADSLルータの設定画面で行うことのできる操作は数多くありますが、その中で も特に攻撃者に狙われそうなものとして、次のようなものがあげられます。 ・DNSサーバーのIPアドレスの設定 ・パケットフィルタの設定 ・ポートマッピングの設定 ・ルーティングの設定 ・通信の切断  今回はこのうち「パケットフィルタの設定」に対して攻撃を仕掛け、通常では 遮断されるはずの、外部(WAN側)からのADSLルータのtelnetポートへのアクセス を可能にしてみます。つまり、CSRFを使って攻撃によって、インターネット側の 23番ポートをこじ開けてみます。  Atermのパケットフィルタの設定は、あらかじめ設定されたポート番号ごとのフ ィルタが「エントリ」として列挙されており、それぞれのエントリについてLAN側 とWAN側それぞれの拒否・許可をチェックボックスによって選択し、「適用」と書 かれたボタンを押すことでルータの設定が変更されます。この設定の変更はルー タの再起動後に有効になります。  デフォルトの状態で23番ポートの通信を制御するフィルタが4番目のエントリと して登録されており、LAN側は許可、WAN側は拒否するようになっています。管理 者として正しくこの設定画面にアクセスし、WAN側の設定を「許可」にする場合、 ADSLルータに対してPOSTメソッドを使ったHTTPリクエストが発生します。このHT TPリクエストのボディ部はa=b&c=dのような形になっており、CGIプログラムを作 った人ならばお馴染みのとおり、「パラメータ名=パラメータの値」を&で繋いだ ものとなっています。これらのパラメータの名前と値が分かりやすいように整形 すると、以下のようになることがわかりました。 ----- No0001F011str=PPPoE No00A21051str=1 No00301000=22 No00301212= No00302000=1 No00302112= No00801000=22 No00801211=1 No00802000=1 No00802111=1 No00818071str=0 No00450000dummy=%93K%97p No00802120=1 No00802120=2 No00802120=3 No00801220=5 No00801220=7 No00802120=8 No00802120=9 No00802120=10 No00802120=11 No00802120=12 No00802120=13 No00801220=14 No00801220=15 No00801220=16 No00801220=17 No00801220=18 No00450000= No00450011=sys -----  CSRF攻撃を仕掛ける側は、これらの「フォームによってsubmitされるパラメー タの名前と値のペア」を事前に把握し、HTMLファイルに仕組んでおきます。そし て被害者がそのHTMLファイルにアクセスするよう仕向け、アクセスした瞬間にJa vaScriptを使ってフォームをsubmitしてしまえばよいというわけです。  上のパラメータ一覧を見て注意して欲しいのは、このパラメータの一覧には認 証に使われるものが何一つ含まれていないということです。前述したとおりこの ルータの設定画面において認証にはBasic認証が使われており、フォームからsub mitされるパラメータは認証には一切使用されません。そのため、ユーザ名とパス ワードがどんなものであっても、これらのパラメータ一覧は常に同じ値を取り、 攻撃者は正確な内容のパラメータを用意することができます。攻撃者が用意する HTMLファイルは以下のようなものになります。 -----
-----  ここで、仮にADSLルータの設定画面のURLがhttp://192.168.0.1/であるとして います。このURLは普通、ルータの出荷時の状態のものがそのまま使われます。家 庭内ネットワークのアドレスをわざわざ変更している場合にはこのURLが攻撃者 にとって予測できないものになるため、CSRF攻撃に対する防御として有効なもの になります。  さて上に示したHTMLファイルにアクセスすると、すぐにフォームがsubmitされ、 ADSLルータの設定画面(ウェブアプリケーション)に対してPOSTリクエストが送 信されます。ここで攻撃が成功するかどうかは、被害者のウェブブラウザがルー タの設定画面にログオンしているかどうかによります。一度Basic認証をパスした 後であれば、このPOSTリクエストによってルータの設定が変更され、再起動後に は23番ポートがWAN側に開け放たれてしまうことになります。そうでない場合には、 CSRF攻撃と同時にBasic認証に使用されるログオン用のダイアログが表示されます。 このダイアログの出現を不審に思い、キャンセルボタンを押せば攻撃は回避され ます。  以上のことからまとめると、ルータの設定画面のウェブアプリケーションに対 するCSRF攻撃は、以下の条件がすべて整ったときに成功すると考えられます。 ・攻撃者が被害者のADSLルータの種類を正確に把握していること ・攻撃者が被害者のADSLルータの設定画面のURLを把握しているか、あるいはデフ ォルトのURLが使用され、攻撃者もそのように想定していること ・被害者がADSLルータの設定画面にログオンしていること  現実的には、これらの条件は整いにくいと思われるので、この攻撃は少し難し い(おそらく成功しない)のではないかと思われます。…つまらない結論ですみ ません(笑。 ■0x06.) POPFileにCSRF  次に、POPFileの設定画面に対するCSRF攻撃を試みてみました。POPFileは最近 よく見かけるSPAMメールを避けるためのソフトウェアで、特徴的なのは各種の設 定操作がすべてウェブブラウザによって行われる点です。つまり、設定画面がウ ェブアプリケーションとして動作しています。デフォルトの状態で設定画面のURL はhttp://127.0.0.1:8080/となります。ADSLルータの場合と同様、このデフォル トのポート番号を変更していれば、CSRF攻撃に対して有効な防御となります。  POPFileの設定画面でできる各種の操作のうち、攻撃者が興味を持ちそうなもの として、リモートサーバー(POP3サーバー)のIPアドレスの変更があげられます。 POP3サーバーのIPアドレスを攻撃者が運用するプロキシサーバーなどに変更して しまえば、メールの受信に必要なアカウントとパスワードが手に入るからです。 POPFileの設定画面においてPOP3サーバーのアドレスを変更する操作を行うと、以 下の3つのパラメータを含むPOSTリクエストが発生します。 ----- server=mail.jumperz.net update_server=%C5%AC%CD%D1 session=JCfCU7Xu49 -----  ひとつ目が変更後のPOP3サーバーのアドレス(もしくはホスト名)、2つ目はボ タンに書かれている「適用」の文字(おそらく意味は持ちません)、3つ目がセッ ションIDです。ここで重要なのが3つ目のセッションIDです。このセッションIDは 一定ではなく、POPFileを再起動すれば異なる値になります。このため、攻撃者は 正しい値を事前に用意することができません(ただし、クロスサイトスクリプテ ィングの脆弱性があれば用意できます)。そのため、結論として、CSRF攻撃は成 立しません。POPFileの設定画面のウェブアプリケーションにはCSRF攻撃は通用し ないのです。  このように、認証をCookieやBasic認証ではなく、フォームの要素として用いる ウェブアプリケーションは、CSRF攻撃に強いと言えます。 ■0x07.) まとめ  このように、イントラネットで稼働しているウェブアプリケーションに対して CSRF攻撃を仕掛け、どんな条件ならば攻撃が成立するのか、あるいは攻撃によっ てどんなことが可能なのかを簡単に見てきました。ADSLルータに対する攻撃では 事前に被害者のルータの種類などを把握している必要があります。例えば某Yah● ●BBのような、多くのユーザを抱えるISPなどの場合、みなが同じルータで同じよ うな設定をしている可能性が高く、そのような状況では無差別に大量のユーザに 対して仕掛けられるCSRF攻撃が成功する可能性もそれほど低くはないのではない かと思います。  CSRF攻撃に対する防御はウェブアプリケーションを作る側の責任のように思わ れがちですが、ユーザ側でも ・あやしいものを踏まない ・ログオンするタイプのアプリケーションでは、用が済んだらログオフする、Ba sic認証の場合にはブラウザを再起動する ・ローカルプロキシ上でリファラーチェックを行い、異なるホスト間でフォーム がsubmitされた場合には通信を切断する などの手段で防御することが可能です。ウェブアプリケーションあるところにCS RF攻撃あり。今後ありとあらゆるアプリケーションがますますウェブ化すること が予想されますので、みなさん充分に気をつけてください。 x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x --- 第2章: チューブラー錠の開錠 --- 著者:Defolos x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ■0x01.) はじめに  こんにちは、またピッキングネタのDefolosです。  今回は以前からやってみたかったチューブラー錠に挑戦します。チューブラー 錠の開錠には、専用のチューブラーピックを使った開錠方法もありますが、私は 身近にあるもので開錠できなければ実用的な技術とはいえないと考えております ので、チューブラーピックなどの特殊な用具は使用しないこととします。何が実 用的、実用的でないかは人によって異なると思いますが、私の場合ピッキングを 行うときは練習を除いて、鍵を忘れたりなくしたりしたときで、有り合わせの道 具でピッキングを行わなければならない状況が間々あります。ですので、一般的 に入手が難しくないものを使ってのピッキングを想定して読んでもらえれば幸い です。 ■0x02.) チューブラー錠とは  チューブラー錠は一般的に高い安全性を誇っており、ディンプルキーが普及す るまでは多くのセキュリティを要求される場所に使われていました。自動販売機 などは一昔前まではチューブラーが標準(現在はマグネットロック、サイドバー、 ディンプルなど)でしたし、ゲームセンターのゲーム機の錠は現在でもチューブ ラーであることが多いです。このようにセキュリティが重視される場所に設置さ れており、開錠の困難さは高いレベルにあると言ってよいでしょう。外見は円周 上の鍵穴に6〜8本のピンが露出しており、一見して見慣れない感じがするが実は 構造的に見てピンタンブラー錠の一種です。呼び名はチューブラー、八万ロック、 丸鍵などまちまちです。 ■0x03.) チューブラー錠の構造  チューブラー錠の構造はピンタンブラー錠と非常に似ています。異なっている のは、ピンタンブラー錠のピンは円筒の側面に設けられているのに対し、チュー ブラー錠はピンが上面に円周上に並べられている点です。内部の構造は次の図に 書き表してありますので、そちらも参考に読み進めてもらえれば幸いです。 ○figure1 http://scel.fc2web.com/figure/wb_frigure.jpg ○figure2 http://scel.fc2web.com/figure/wb_frigure2.jpg  非常にいい加減な図で申し訳ありません。figure2を参照してください。この図 の灰色の部分を回せば錠が開いたと判断できます。しかし、ボトムピンがスプリ ングに押されてタンブラーと本体との間にある間は回転させることができないた め、施錠された状態ということになります。このボトムピンとトップピンの間を タンブラーと本体の間に合わせれば、そのピンのタンブラーを解除できます。す べてのピンのタンブラーを解除すれば錠を開けることができます。この部分はピ ンタンブラー錠と構造的に同じといえますので、Wizard Bible vol.7を参照して ください。ただし、チューブラー錠の鍵穴は円形であり、今までのL型テンション レンチですと微妙なズレができてしま、いうまくテンションをかけることができ ないようです。詳細は後述します。 ■0x04.) チューブラー錠の開錠手順  チューブラー錠のピッキングも開錠手順自体はピンタンブラー錠と大きな差は なく、鍵穴にテンションを挿し込み、テンションをかけてタンブラーと本体の間 にわずかなズレを作ります。  そして、ピンタンブラー錠と同じようにすべてのピンをこのズレに引っ掛けれ ば開錠できます。チューブラー錠の鍵穴にはテンションを引っ掛けられる窪みが ありますので、その窪みにテンションを引っ掛けてテンションをかけます。後は この状態のままピンを針状のもので押していきます。ボトムピンがタンブラーと 本体の間に引っ掛かる感覚はピンタンブラー錠と同じです。  また、ピンの押し込み過ぎにも気をつけましょう。 ■0x05.) ピッキングレポート  ここでは私が実際に行ったチューブラー錠のピッキングレポートを掲載したい と思います。しかし、チューブラー錠というのは難しい錠でして、その…期待せ ずに読んでください。(つД`)。*.゜* ●用意したもの ・チューブラー錠 ・ヘアピン ・刺繍用の縫い針 ・指あて ●figure3 http://scel.fc2web.com/figure/050527_0217~001.jpg  チューブラー錠はホームセンターで錠の部分だけが890円で売られていましたの で、それを利用しました。  ヘアピンは家にありました。少し幅が広めのものが使いやすいと思います。  刺繍用の縫い針は手芸の丸十で10本セット100円で購入。先っぽが丸まってて、 到底刺繍に使えるようには思えない針でしたが、丈夫で安いのでピックにいいと 思います。  また、素手でピンを押し込めるのは痛いので丸十で指あてを購入しておくこと をオススメします。 ●実際のピッキング  結論を先に言いますと…ピッキングできませんでした(i´Д`) すいません。 もともとの難しさに加え用意をいい加減にしたのが敗因と思われます。せっかく ここまで解説しましたので、とりあえず過程を記述していきます。  ヘアピンで作ったテンションをチューブラー錠の鍵穴の窪みに引っ掛けて右回 りのテンションをかけてズレを作ります。  次に、ピンをひとつひとつゆっくりと押し込んで行きます。やはりピンタンブ ラーと同じく非常にわずかな感覚を頼りにズレに引っ掛けていきます。ひとつ目 のピンはどうにか解除できるんです。ですが、テンションのかけ方に問題がある ようです。 ○figure4 http://scel.fc2web.com/figure/050527_0214~001.jpg  携帯の荒い画像で申し訳ありません。私はこのようにテンションをかけていま したが、このようにテンションをかけると円周方向へのテンションのほかに下方 向へのテンションもかかってしまいうまくズレに引っ掛けられないようです。ユ ニバーサルテンションや円周方向のみにテンションがかけられるように下にガイ ドを設ければうまくテンションをかけられそうです。 ●まとめ  少しの間ですがチューブラー錠のピッキングに挑戦してみて感じたことは、確 かに難しいが不可能ではなさそうだということです。テンションのかけ方を改善 し、練習し続けていけば何とかなりそうなかんじでした。今度挑戦するときはし っかり備えをして挑みたいと思います。 ■0x05.) さいごに  結果としてピッキングができずに終わってしまって申し訳ないです。まとめの ところで書いたように、まったく手ごたえがなかった訳ではありませんので、い ずれ準備をしっかりとして再挑戦してみたいと思います。  また、チューブラー錠は以前までの原稿でとりあげた錠よりもセキュリティが 高く、比較的信頼性のおける錠であると言えることを体感しました。  最後になりましたが、こんな原稿であっても少しでも読者の皆様の参考になっ てもらえれば幸いです。 x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x --- 第3章: OllyDbgの脆弱性について --- 著者:Will x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ■0x01.) OllyDbgとは  OllyDbgは32bitアプリケーションをデバッグすることができるソフトウェアで す。他にも有名なデバッガとしてIDA Pro、DriverStudioに含まれるSoft ICEなど がありますが、DriverStudioは20万以上というかなり高額なソフトウェアです。  しかし、OllyDbgはフリーでSoft ICEには劣るところもありますが、かなり高機 能です。手軽に使えることからソフトウェアの解析などにも用いられています。 ■0x02.) 今回の脆弱性について  2004年07月21日に、OllyDbgはOutputDebugStringの引数に多数の書式指定文字 列が含まれると発生するセキュリティホールが存在することが発見されました。 この問題が悪用されると、任意のコードを実行される、またはOllyDbgをクラッシ ュされるおそれがあります。かなり前に発見された脆弱性ですが、OllyDbgの作者 の方が修正していないので最新版でもこの脆弱性を回避できません。 ■0x03.) どんな感じになるか体験してみる。  まずはOllyDbgを以下のURLからダウンロードします。 http://home.t-online.de/home/Ollydbg/  そして、以下のURLは今回解析するcrackmeです。 http://will.wbjapan.com/cCrackme/crackme0x1.zip  Ollyでcrackmeを開いたら、F9を押して実行してみてください。crackmeが起動 します。そして、適当に何か数字を入力してボタンを押すと…見事にOllyDbgがク ラッシュします。何が原因か、もちろんOutputDebugStringがクラッシュの原因で す。  もう一度Ollyで開いてCtrl+Nを押して、OutputDebugStringAを見つけたら(ou tまで打ち込んだら飛びます)、カーソルをあわせて右クリック→set breakpoint on every referenceをクリックすれば準備OKです。F9を押してcrackmeを実行さ せます。そして、適当に入力した後、ボタンを押すとブレークポイントで止まり ます。 ----- 0040141A . 6A 01 PUSH 1 ; TimerID = 1 0040141C . 50 PUSH EAX ; hWnd 0040141D . FF15 2C834100 CALL NEAR DWORD PTR DS:[<&USER32.KillTim>; KillTimer 00401423 . 68 28AF4100 PUSH crackme.0041AF28 ; String = "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s" 00401428 . FF15 38824100 CALL NEAR DWORD PTR DS:[<&KERNEL32.Outpu>; OutputDebugStringA 0040142E . E8 DDFEFFFF CALL crackme.00401310 00401433 > C2 0400 RETN 4 -----  原因はOutputDebugStringAの引数である"%s%s%s%s…"という文字列です。実際 にここでF8を押すと実際にクラッシュします。それではどうしたらいいのか?  答えはこの文字列を変更すればOKです。「00401423 . 68 28AF4100 PUSH c rackme.0041AF28」にカーソルをあわせてスペースボタンを押して、「PUSH 0041 AF28」をPUSH 4198E4に変更すれば引数が"System"に変更されます。変更が終了し たら右クリックしてCopy to excutableのAll modifycationsを押すとダイアログ が表示されるので、Copy Allをクリックします。すると別のウインドウが表示さ れるので、そのウインドウ上で右クリックしてSave Fileで保存すればOKです。  ここまでできたら一度OllyDbgを終了して、保存したファイルを開いて実行して みるとクラッシュしなくなりました。  以上が今回の脆弱性の回避の方法です。 ■0x04.) この脆弱性の対応策  作者の方はVer 2.0の開発を行っており、修正される可能性は低いと思われます。  対応策としては次が考えられます。 ・毎回OutputDebugStringの引数を調べる ・Ollyのplug-inで回避する ■0x05.) ついでに  一応crackmeなので、解析してみてください。チェックルーチンはかなり簡単な ので初心者の方でもできると思います。パッチだとあまりにも簡単なので、でき ればkeygenでも作ってみてください(笑。このcrackmeについて質問等があればサ イトのBBSにでもどうぞ。おそらく一日程度で返信がくるとおもいますので。  それでは。 x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x --- 第4章: ハニーポットを作ろう 〜 第3回 〜 --- 著者:Narusase x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ■0x01.) はじめに  前回はOSのインストールと初期設定について説明しました。今回はiptablesの 設定と、sambaのインストール及び設定です。  まず、それぞれを用いる理由から簡単に説明しましょう。  iptablesは内部のLANからインターネットへアクセスするために必要となります 。また、不要な通信を遮断するファイアウォールなどとして今後利用する予定で す。  sambaはWindowsとファイル共有を行うために必要となります。各種の設定ファ イルのコピーや、Windows上での編集を行う場合にあると便利であるため使用する ことにしました。よって、すべての作業をLinux上で行うと言う方はインストール は不要です。 ■0x02.) iptablesの設定  iptablesとはNATやファイアウォールなどの様々な機能を持ったパケットフィル タです。基本的にiptablesは最新のLinuxディストリビューションであれば最初か ら導入されています。そのため、インストールは不要の場合がほとんどのはずで すので、インストールについてはここでは説明を行いません。  今回は第一回の前提にある「ルータとしても使用」の部分を満たすために、ip tablesのNAT機能を利用したいと思います。簡単に説明すると、NAT機能とは指定 されたプライベートIPアドレスとグローバルIPアドレスを相互に変換することで プライベートIPアドレスを持ったPCがインターネットへアクセスできるようにす る機能です。ここでNAT機能を利用するのは通常のISPはグローバルIPアドレスを ひとつしか与えてくれないために、LAN内のPCへはプライベートIPアドレスを使う 必要があるためです。  NAT機能を有効にするには次の3つの作業が必要となります。 1:/etc/sysconfig/networkファイルの編集(設定) 2:/etc/sysctl.confファイルの編集(設定) 3:iptableの設定  では、実際の作業に入りたいと思います。 1:/etc/sysconfig/networkファイルの編集(設定)  まず、/etc/sysconfig/networkファイルの編集を行います。行う作業は「FORW ARD_IPV4=yes」と言う行を追加することです。/etc/sysconfig/networkファイル にFORWARD_IPV4の行が存在しない場合は次のコマンドを実行することで編集・設 定が終了します。 ----- echo "FORWARD_IPV4=yes" >> /etc/sysconfig/network -----  すでに、FORWARD_IPV4の行が存在する場合はエディタなどを用いて値を「yes」 に書き換えてください。  この設定によって、NAT機能に必要なIPフォワーディング機能が有効になります。 2:/etc/sysctl.confファイルの編集(設定)  次に、/etc/sysctl.confファイルの編集を行います。  まず、/etc/sysctl.confファイルを適当なエディタで開き、「net.ipv4.ip_fo rward = 0」となっている行を探し「net.ipv4.ip_forward = 1」と書き換えてく ださい。  もし、すでに「net.ipv4.ip_forward = 1」となっていた場合は何もしなくてか まいません。  この設定によって、再起動時にIPフォワーディング機能が無効になるのを防ぐ ことができいます。 3:iptableの設定  ここでようやくメインディッシュの登場です。NAT機能を有効にするためには次 のようなコマンド群を実行する必要があります。このままコマンド群コピーして シェルスクリプトにしてもかまいません。ただし、次のシェルスクリプトは行番 号が入っているので、実際に利用するときはそれを除外しておいてください。 ----- 01 LANG=en 02 03 LAN_NIC="eth0" 04 LAN_NET=200.100.50.0/24 05 LAN_ADDR=`ifconfig ${LAN_NIC} | grep 'inet addr' | cut -d ':' -f 2-2 | cut -d ' ' -f 1-1` 06 07 WAN_NIC="eth1" 08 WAN_NET=192.168.1.0/24 09 WAN_ADDR=`ifconfig ${WAN_NIC} | grep 'inet addr' | cut -d ':' -f 2-2 | cut -d ' ' -f 1-1` 10 11 # IPフォワーディングを一時停止 12 echo 0 > /proc/sys/net/ipv4/ip_forward 13 14 # 初期化 15 iptables -t filter -F 16 iptables -t filter -X 17 iptables -t filter -Z 18 iptables -t nat -F 19 iptables -t nat -X 20 iptables -t nat -Z 21 22 # デフォルトの設定 23 iptables -P INPUT ACCEPT 24 iptables -P FORWARD ACCEPT 25 iptables -P OUTPUT ACCEPT 26 27 # NAT の設定 28 iptables -t nat -A POSTROUTING -s ${LAN_NET} -o ${WAN_NIC} -j SNAT --to ${WAN_ADDR} 29 30 # FTPへの外部からのデータ接続を許可 31 modprobe ip_nat_ftp 32 modprobe ip_conntrack_ftp 33 34 # FireWall ( OutSide LocalAddress ) 35 # 192.168.1.0/24からの外部からの接続を拒否する。 36 iptables -t filter -A INPUT -i ${WAN_NIC} -s 192.168.1.0/24 -j DROP 37 38 # IPフォワーディングを再開 39 echo 1 > /proc/sys/net/ipv4/ip_forward 40 41 # 日本語環境に戻す 42 LANG=ja_JP.eucJP 43 44 # 設定を保存 45 iptables-save > /etc/sysconfig/iptables -----  まず、01行目では環境変数LANGをenにすることで英語環境へ移行しており、42 行目ではそれを元に戻しています。  03〜09行目まではそれぞれLAN側、WAN側のNICの名称、ネットワークアドレス、 IPアドレスを設定しています。なお、この部分は各自の環境によって変更してく ださい。通常はネットワークアドレスの修正だけで問題ないはずです。  12行目はIPフォワーディングを一時停止させており、39行目で再開させていま す。  15〜20行目ではiptablesの初期化を行っており、23〜25行目ではデフォルトの 設定を行っています。  28行目は実際にNATを行う設定を行っており、31〜32行目ではNATを行うことで 使用できなくなるFTPを使用できるように設定を行っています。  36行目はWAN側からLAN側のIPアドレスを持ったパケットが来た場合に破棄する ように設定しています。  最後の、45行目ですがこのコマンドを実行することでiptablesの設定をセーブ することができます。これは忘れやすいので注意してください。このコマンドを 実行しないと、毎回再起動するごとにiptablesの設定が初期化されてしまい、NA T機能が全く働かなくなってしまいます。  以上で、NAT機能の設定は終了です。  しかし、今回のiptablesの設定はNAT機能を使うという目的のみのための設定で す。したがって、セキュリティ的にはいろいろと問題のある設定も行っています ので注意が必要です。ファイアウォールなどの機能に関しては今後サーバアプリ ケーションの追加やその他のタイミングで少しずつ設定していきたいと思います。 ■0x03.) sambaのインストール及び設定  sambaとはWindowsのファイル共有やドメインをLinux上で実現するためのサーバ アプリケーションです。sambaはWindowsとLinuxの双方の環境を持っている方の多 くが使用しているかと思います。ここでは、共有するフォルダは、個人のフォル ダと家族などいろいろな人がファイルを共有できるフォルダ(以下、家族フォル ダと呼称)の2つを用意します。 1:sambaのインストール  ではさっそく、sambaのインストールを行いましょう。と、その前にsambaが関 連するパッケージをapt-cacheコマンドを用いて検索します。 ---- # apt-cache search samba samba - Samba サーバー samba-client - Samba (SMB) クライアントプログラム samba-common - Samba サーバーとクライアントの両方に使用されるファイル samba-libsmbclient - Samba (SMB) クライアントライブラリ samba-swat - The Samba SMB server configuration program. webmin - Web ベースのシステム管理ツール ----  コマンドを実行するといろいろと表示されました。  今回は普通にファイル共有が出来ればよいので基本的なもののみをインストー ルしますので、samba、samba-common、samba-client、samba-libsmbclientがあれ ば十分です。  sambaのインストールにはapt-getコマンドを次のように実行します。 ---- apt-get install samba samba-common samba-client samba-libsmbclient ----  コマンドを実行すると本当にインストールを行うのかと聞いてきますのでyesと 答えてください。回線や処理速度によっては少し時間がかかりますが特に問題な くインストールできるはずです。 2:準備  次に、共有するディレクトリの準備を行います。  まず、個人のフォルダに関してはユーザのホームディレクトリを使いますので 特に事前の準備は必要ありません。家族フォルダに関してはフォルダをどこかに 作成し、そのフォルダを家族が自由に使えるようにしなければなりません。  そこで、下記のようなコマンド群を用いて/home/publicを家族フォルダにしま す。 ---- mkdir /home/public chmod 777 /home/public chown nobody:nobody /home/public ----  これで、/home/publicディレクトリは自由にファイルをおくことができるよう になります。 3:設定  ここで、/etc/samba/smb.confを編集し設定を行います。  下記にセクションごとにすでにある設定を変更あるいは追加する必要のありそ うな項のみを列挙しました。 ----- 01 [global] 02 unix charset = eucJP-ms 03 dos charset = cp932 04 display charset = eucJP-ms 05 workgroup = ${WORKGROUP} 06 server string = ${SERVER_STRING} 07 security = user 08 bind interfaces only = Yes 09 hosts allow = 127.0.0.1 ${HOSTS_ALLOW} 10 interfaces = 127.0.0.1/24 ${INTERFACES} 11 remote announce = 127.0.0.255 ${REMOTE_ANNOUNCE} 12 13 [homes] 14 comment = %U's Home Directory 15 browseable = No 16 writeable = Yes 17 create mask = 0644 18 directory mask = 0744 19 force user = %S 20 force group = %S 21 22 [public] 23 comment = Public file space 24 path = /home/public 25 browseable = Yes 26 writeable = Yes 27 public = No 28 guest ok = No 29 create mask = 0644 30 directory mask = 0744 31 force user = nobody 32 force group = nobody ----  まず、globalセッションの02〜04行目までは日本語ファイルを扱うための設定 です。  05〜06行目はワークグループとサーバの説明の設定です。環境に合わせて${WO RKGROUP}、${SERVER_STRING}の部分を書き換えてください。  次に07行目はユーザ単位で認証を行う設定です。  08行目から11行目まではインターフェースや、接続を許可するIPアドレスの設 定で${HOSTS_ALLOW}には接続を許可するIPアドレスを、${INTERFACES}には共有サ ービスを提供するNICのIPアドレスを指定し、${REMOTE_ANNOUNCE}には共有サービ スを提供するネットワークのブロードキャストアドレスを指定します。  連載第二回の環境ではそれぞれの設定は次のようになるかと思います。 ${HOSTS_ALLOW} = 192.168.1. ${INTERFACES} = 192.168.1.1/24 ${REMOTE_ANNOUNCE} = 192.168.1.255  ここで${HOSTS_ALLOW}の設定については少し説明が必要かと思います。この設 定では「192.168.1.1」と記述した場合、「192.168.1.1」からの接続を許可しま す。対して「192.168.1.」と記述した場合「192.168.1.1〜255」からの、「192. 168.」と記述した場合「192.168.1〜255.1〜255」からの接続を許可します。  homesセッションは個人のフォルダの設定で、これによって個人のフォルダが使 用できるようになります。細かい説明については自分で調べてみてください。  publicセッションは家族フォルダの設定で、これによって家族フォルダが使用 できるようになります。個々で重要なのは24行目と31〜32行目です。24行目では 家族フォルダの位置を設定しています。31〜32行目の設定では家族フォルダへの 書き込みはすべてnobodyユーザが行っているようにすることで、他のユーザが自 由にファイルを操作できるようになります。その他の、細かい説明については自 分で調べてみてください。  これで設定は終了しました。  最後に、細かい事後処理を行います 4:事後処理  sambaのインストールと設定が完了しました。それでは、残った細かい設定を行 います。  まずは、sambaのアカウントを作成します。ここではuser1を作成すると仮定し て話を進めます。user1アカウントを作成するには次のようにsmbpasswdコマンド を使用します。 ---- smbpasswd -a user1 ----  コマンドを実行するとパスワードを二度聞いてきますので正確に入力してくだ さい。また、Linuxのアカウントとして存在しないアカウントに対してこのコマン ドを行っても成功しませんので注意してください。  次に、chkconfigコマンドを使用し、再起動時に自動的にsambaサーバが起動す るようにします。 ---- chkconfig --level 35 smb on chkconfig --level 01246 smb off ----  最後に、次のコマンドを実行しsambaサーバを起動しきちんと動くかテストしま す。 ---- /etc/init.d/smb ----  Windowsからsambaサーバにサクセスし、ファイルのコピーや削除などいろいろ と試してみてください。ここでエラーや問題が発生しなければ以上で、sambaの設 定はすべて終了です。 ■0x04.) まとめ  今回はiptablesとsambaの設定に関して簡単に説明しました。  次回はいよいよハニーポットの本体であるhoneyedについて説明したいと思いま す。 x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x --- 第5章:Micro$○ft社が嫌いな理由 --- 著者:Taka John Brunkhorst x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ■0x01.) はじめに  Micro$○ftは皆様もご存知のように巨大ソフトウェア会社です。彼らが発売し ているソフトウェアでMicro$○ft Wind○wzというOSがあります。また彼らのソフ トウェアは80%以上のシェアを常に保ち、成功した会社といえます。しかし、世の 中はMicro$○ft製品ばかりではありません。当然Micro$○ftソフトウェアが嫌い な人たちもいます。今回は何故Micro$○ftソフトウェアが嫌いであるかについて 語っていきたいと思います。 ■0x02.) Micro$○ft Wind○wz  Micro$○ft Wind○wzは世界一最も利用され、最も有名なオペレーティングシス テムです。Windowsが世界的に有名になり始めたのはMicro$○ft Wind○wz 95が発 売されたころだと思います。基本的にMicro$○ft Wind○wz 95からMicro$○ft社 が嫌いになる人が目立ってきたようです。  全般的なWind○wzに対する嫌いな理由は以下のとおりです。 ●値段 ・これは最も指摘されるであろう理由だと思います。Wind○wz XPなどになってく るとProが$500を超えWind○wz 2oo3 Serverになると$1000を余裕で超えています。 ●動作不良 ・Wind○wzはその他のOSに比べ爆発的にバグが多いです(Coverity調査)。 ・Wind○wz 95, Wind○wz 98系は一日2,3回クラッシュすることが多いです。 ・Wind○wz 3.1では少なくとも1時間に1度クラッシュしたそうです。 ・また、新しいデバイスを接続するとブルースクリーンというエラー画面に行き、 再起動しざる終えない状態になります。 ・基本的にWind○wzはすべて動作が大変遅いです。デスクトップで右クリックし、 メニューを出してください。数秒かかるはずです。右クリックメニューをだすの に数秒。メモリが少ないのかな? と思われる方もいいですがOSは遅く動作する ように作られておりません。 ・Wind○wzはメモリを有効に使えません。メモリークリーナーなどで定期的に不 要なものを掃除する必要があります。 ・Wind○wzはディスクを有効に使えません。ファイルがあっちこっちにばらまか れるのでデフラグツールなどでメンテナンスする必要があります。 ・Wind○wzは再起動を多数必要とします。ソフトウェアのインストールで再起動、 ドライバのインストールで再起動などなどです。 ●その他のOSとの互換性 ・Wind○wzはその他のOSのことはまったく気にしません。 ・Micro$○ft社が開発したファイルシステム以外は何がなんだろうと無視します。 その証拠にWindows以外のOSをインストールした後 ・Wind○wzをインストールしようとすると壊れます(単純にいうと)。 ・また、MBRにNTLOADER以外のものが入っているとWind○wzはMBRを勝手に置き換 える場合があります。 ・Micro$○ft社はいろいろなハードウェアベンダーにお金をたくさん払い、店で 売られるPCには必ず同社のOSがインストールされている状態にしろと命令してい ます。例え同社のOSを使用したくないユーザーでも同社のOSを購入しなければな らないというのはどう考えてもおかしいです。 ●自由性 ・Wind○wzは奥までカスタマイズすることができません。 ・グラフィカルインターフェースは固定、ログはまともなものはないです。 ・Wind○wz LongP○rnからはブラックボックスという機能を標準で付けるそうで す。今回は今までの個人情報送信とは一味違いブラウザで表示しているウェブサ イト、開いているドキュメントなどを全て送信するみたいです。 ・MS社は「われわれが協力して何が起こったのかを診断できる」といっています が果たしてどうでしょうか? 一歩間違えれば大変危険な機能だといえます。「 何も送信しない」というオプションを選択できるみたいですが、今までの傾向か らいえば「何も送信しないが選択されました」などが送信されると思います。 ・バグ情報は絶対に隠されます。また、バグフィックスはまとめてサービスパッ クでリリースされます。しかもバグ情報はまともにかかれておりません。        ●その他 ・Micro$○ftは他社製品を真似てMicro$○ftというブランドを付けて販売すると いうループ行為が目立っています。 ・Wind○wz発売時は操作方法がまさしくMacintoshそっくりでした。 ・Wind○wz XP/2000に入っているTCP/IP stackはBSDライセンスのものからそのま まコピーしたものといわれています。 ●余談 ・Micro$○ft社は中国などの海賊版防止のためにWind○wz XP Starter Editionを 発売しました。値段は50-80ドルほどするらしいです。そこでStarter Editionの 制限をリストアップしてみました。 1:複数のユーザーアカウントの禁止 2:PC - PCのネットワーキング禁止 3:ネットワークプリンターの禁止 4:デスクトップのカスタマイズを禁止 5:解像度は800x600まで 6:メモリーは128MBまで 7:HDDは40GBまで 8:CPUはCeleronなどの低スペックのみで動作 9:噂によると「この機能を使用するにはMicrosoft Windows XPを購入してくださ い」とのメッセージが表示される 10:システムアップデートの禁止 11:同時起動、マルチタスク同時作動可能アプリケーションは3つまで。となっ ております。  よって、Micro$○ftはWind○wzに50〜80ドルほどしか金を払わないやつにはこれ くらいの制限があって当たり前とおもっているみたいです。まだ8ドルほどの海賊 版を購入したほうがずーっと得だと思います。 ■0x03.) 注意  これらは個人的な意見を述べたもので100%あっているというわけではございま せん。 また、実際にMicro$○ft社が好きな人もいますので好きだからどーのこーのなど はありません。 CREDITS: Credits goes to Taka John Brunkhorst, Al Wong, F.W. van Wensveen thanks to: my friend exp,nefut,KOP and also some ideas from daihado x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x --- 第6章:アカデメイア流読書法 --- 著者:IPUSIRON x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ■0x01.) はじめに  コンピュータやセキュリティに限らず何かを学ぼうとするときお世話になる媒 体のひとつは書籍だと思います。他の媒体だとネットのWeb情報などが考えられま すが、これらの情報を活用するのは何かちょっとした調べ物をするときなどが多 いのではないでしょうか。もちろんコンピュータのことに限れば、RFCや第一情 報源にあたるWeb情報を調べるのが理想的ですが、多くの人はやはり書籍を読む 方を選択するでしょう。  そこで、ここでは読書法について言及してみます。読書法に関する文献は多数 存在し、様々な方法が存在しますが、あくまで私の方法(アカデメイア流読書法 と勝手に名付けることにする)を紹介します。人はそれぞれ学習能力も違うし、 あらかじめ持っている知識や経験も異なります。つまり、私の方法が万人にうま く適用できるわけではありません。あくまで参考程度に読んでもらえたらと思い ます。  本当にどうでもいいネタ(自己満足ネタ)で申し訳ないです…。 ■0x02.) 多読 vs 精読  読書法を大きく分けると多読と精読に分けられます。どちらもメリット・デメ リットがあり、読書を行う人によっても好みが分かれるところです。つまり、自 分がどちらの方法にあっているのかを把握しておく必要があるでしょう。 ○多読の特徴 ・精読ほど読むべき本を見極める必要性がない ・本をたくさん用意しておく必要があるので、金銭面で負担が高い ・あらゆるジャンルの本に手を出すことによって、何一つ極めることができない 可能性がある ○精読の特徴 ・読むべき本を決定する必要がある。本選びに重点を置く必要がある ・1冊をじっくり読むので、飽きっぽい人には不向き ・狭い視野に陥る可能性がある  まだまだ色々な特徴があると思いますが、ざっと挙げるとこんなところです。 何かを習得しようとしているなら、一般に良書と呼ばれている本をじっくり何度 も読むのが無難だと考えられます。しかしながら、「一般に良書と呼ばれる」と いうところがポイントで、著名な人がこの本を良書だといっても、読者にとって はまったく良書ではなく逆に悪書になることもあります。なぜならば、紹介者側 と読者側には考え方や好みはもちろん、学習能力の差が存在するからです。さら に、時間軸も存在します。例えば、いくら『解析概論』(数学の解析という分野 の古典)が良書だと多くの人がいっていたとしても、小学生に『解析概論』を読 ませようとしたり、初学者に『解析概論』を読ませるのは、誰が考えても愚策で す。ということは、どういう能力を持っていて、前提となる知識や経験を明確に してこそ、良書の判断が正しく行われるということになります(とはいえ推薦者 の独断が入っているから、完全に正しいとはいい切れない)。  そういう危険性に陥る可能性があるなら、多読を選択した方がよいと考える人 もいるでしょう。実際に私もそう考え、アカデメイア流読書法は多読をベースに しています。 ■0x03.) アカデメイア流読書法  では、実際にアカデメイア流読書法を紹介します。アカデメイア流読書法は、 超多読法ともいえ、多読をベースにしながら多読の欠点を補っています。  まず、特徴を挙げてみます。 ・本の選択に時間をかけない。その時間があるならば読書に時間を費やす ・並行して複数の本を読む。場合によっては10冊以上を並行することもある ・読む本のジャンルにこだわらない。むしろ自分がまったく興味がないジャンル の本に手を伸ばす。それでも気になるなら、目をつぶって本を選んでもよいし、 本棚の端から順に読むという機械的に作業するのもよい ・同じ本を再読することはまったく問題ないが、それは新しい本を読んでいると いう感覚で読む。前回読んだときと時間や能力は異なっているわけなので、新し い自分で再読するということは新しい本を読んでいると考えてもよいはず ・世界中のすべての言語のすべての本を読むという意気込みで実行すること ・それが物理的に無理なことは承知だが、それはあまり重要ではない ・1冊を読んでひとつの発見があれば十分という考えで読む。そうすると読書時と しての悪書を読んだとしても、まったく損をした気分にならない  すべての本を読むことを大目標とすることはとてつもなく無謀なことですが、 本を選択するという無駄な行為を完全に排除できることができます。どうせ全部 読むつもりなのだから、選ぶ必要がないということです(迷うところに魅力を感 じる人もいると思いますが)。  ただ、この読書法には最大の欠点があって、それは時間が足りないということ です。仮に1日に20冊読んだとしても、1日に100冊以上が世界で出版され、しかも 古典には読むべき本がたまっているわけなので、すべての本を読む前に寿命が尽 きてしまうことは必死です。そこで、大きな仮定を持ち出します。寿命を計算に 入れない、または寿命を無限大と仮定することです。町を歩けば車に轢かれる可 能性はあるし(宝くじが当たる可能性の30倍以上で車に轢かれて死ぬ)、家に閉 じこもっていたとしても火事の可能性だってありますし、事故で死ななくても病 死・老衰がまっているわけで、死からは誰であっても逃れられません。ただ死ば かりを考えていれば、精読や多読以前に読書自体をやらなくていいことになって しまいます。そういうことで読書のおいて、死については無視することにします (自明の理すぎて、考えてもどうにもならない)。 ■0x04.) 重ね合わせの原理によって本質を見抜く  超多読法の最大のメリットは、読んだ多数の本が悪書であっても、良書に勝る 可能性があるということです。どういうからくりかというと、本Aにおいて、ある 部分で見当はずれのことをいっていたとしても、ある部分でまともなことをいっ ていることが考えられます。一方、本Bにおいては、本Aのまともな部分と見当は ずれの部分が逆になっていたとします。そうしたとしても、本Aと本Bの2冊を読め ば、まともな部分が2つ浮き上がってくることがわかります。これは読めば読むほ ど、まともな部分、即ち本質が浮かび上がってくるわけです。  よって、いくら悪書と呼ばれている本であっても、100冊分(100という数字は 例え)の読書をこなせば、良書に勝ると思っています。これで安心して良書・悪 書を気にせずに多読ができますね。 ■0x05.) アカデメイア流読書法の始め方  極めてまれだと思いますが、アカデメイア流読書法に興味を持って始めようと 思っている人のために、解説します。  まったく読書癖のない人なら、まず読書癖をつけなければなりません。いざ読 書をするとして興味のある本はいくつかあると思いますが、読書癖や活字慣れし ていなければ小説をオススメします。小説といっても純文学や古典ではなく、最 近の読みやすい内容のもので十分です。例えば、ミステリーなどをオススメしま す。ミステリーの場合、作者が気に入れば、どんどんシリーズものを読んでいく 楽しみもできるからです。同じ作者の本をずっと読んでいくと、展開が読めたり、 文体に慣れるので、読書スピードの加速度が上昇するでしょう。  とりあえず1日1冊を目標にしましょう。読めば読むほど読書スピードが上がり、 1日3冊、1日5冊も不可能ではありません(俗にいう速読法を使わずに)。もし1日 1冊読んだとすると、単純計算で1年間で365冊です。まあまあの結果だと思います。 1年間で365冊をクリアできたら、次に1年間で1,000冊を目標にしましょう。どん な人でも訓練さえ積めば、1年間1,000冊は達成できると思います。  ところで、1日1冊を目標としている時期であっても、ミステリーや読みやすい 現代小説以外に実用書や分厚い本を読みたいと思うこともあるでしょう。むしろ それが自然だと思います。そんな場合には並行読みでしのぎます。1日1冊をいつ も通りこなしながら、ハードだと思われる本の方は1日20ページぐらいずつ読んで いくわけです。そうすると、20日で20冊+ハードな本の400ページこなせることに なります。読書の魅力に取り付かれていくと、読みたい本は何十冊にもなるはず です。そんな場合、そのうちの数冊(場合によっては十数冊)を並行読みしてこ なしつつ、ノルマを達成していけばよいことになります。  多読をすると心に決めたら、寸分を惜しんで読書しなければなりません。極端 にいえば、1分でも空き時間があるとわかっているなら、本を取り出して読む必要 があります。例えば、ホームで電車を待つとき、電車内で移動するとき、マック で注文して品物が出てくるまでの間(少々時間がかかるといわれたときだけでOK)、 スロットで朝並んでいるときなどなど。そのためには必ずいつも持ち歩くバック やカバンには本を1冊以上入れておく必要があります。2冊入れておくと1冊を読み 終わったときでも読書を続けることができるため、安心です。  小説は単に読めばいいだけですが、実用書や専門書の場合は目的がちょっと違 うでしょう。その本を読んで何かを習得したいという目的が大きいはずです。つ まり、自分の知っている内容以上のことを知りたくて、その本を読もうとするの だと思います。こういうタイプの本はなかなかページが進まないはずです。数学 書の場合はノートを取らないと頭に入らないだろうし、プログラミングの場合は 実際にコーディングしなければ力にならないでしょう。そこで活用するのが付箋 (ポストイット)です。本を読んで自分が知らない部分や記録したい部分を見つ けたら、そこの始まりの行に付箋を貼っておくのです。そして、難しいところは 飛ばしてもいいので、付箋を貼りながら一旦通読します。通読後は、付箋のとこ ろを重点的に再読して、ノートを取るなりメモを取るなりします。私の場合は、 ノートに記録するというアプローチは捨てて、HTMLファイルに更新するというア プローチを選んで実行しています。このアプローチについては次の項で詳しく言 及します。ノートを取って満足したら、付箋をはがしていきます。最初は付箋だ らけだった本もどんどん付箋がなくなり、付箋が最終的になくなったらその本は 一応こなしたことになるでしょう。完全にマスターではなく、8割ぐらいマスター すれば十分。後の2割は多読のメリットである他の本で補います。よって、本を持 ち歩くと同時に付箋も必須ということになりますね。付箋は文房具店で売ってま すが、100円ショップで購入した方が安いです。余白の面積が広いものではなく、 小さくたくさん入っている付箋を選択する方がよいでしょう。 ■0x06.) ネットとの融合  0x03のところでも述べたように、私はHTMLファイルにノートするアプローチを 取っています。元々はノートやルーズリーフにメモや記録していたのですが、後 で見返すことがまったくなく単に書きっぱなしが多く、さらにメモしていた紙の 量が膨大(数学の紙だけで積み上げて1mぐらいあった)になって保管できなくな ってしまったからです。そんなときに、Webサイトを更新するという手法に出会い、 そこに今までノートにメモしてきたことをすべて書き込めばいいのではないかと 思いつきました。ただ、HTMLファイルに記録していくということは、様々な困難 が待ち受けています。実際に実感したものを次に列挙してみます。 ・目の前にPCがないとメモが取れない ・数式や図を気軽にかけない ・メモしたいものが多すぎて、付箋が貼ってある本がたまる  しかし、この困難をクリアすれば、自分にとって完璧なノートができあがるわ けです。この魅力に取り付かれました。ネットに繋がる環境があれば、いつでも Webブラウザでノートの中身をチェックできるわけです。  また、以前に記録した部分に追加して記録するといった作業を繰り返すことに よって、前後の内容の復習にもなり、しかもノートの充実に磨きをかけることが できるというメリットもあります。  ただし、データが膨大になった後でディレクトリ構成を変更したりすると、リ ンク切れが多数出てそれを把握できないということもおきます。なので、実践し ようと思った人は最初にディレクトリ構成をしっかり決めておくことをオススメ します。特に、トップページのindex.html(index.htm)ファイルを設置するディ レクトリにメモ用のHTMLファイルは設置してはいけません。そのメモ用のHTMLフ ァイルが数百となった場合、FTPクライアントでそのディレクトリに飛ぶとフリー ズしてしまう可能性があるからです。実際、私はこれを体験して、後でディレク トリ構成を変更し始めたので、アカデメイア内にリンク切れが発生しています( 見つけ次第徐々に直していますが…)。 ■0x07.) 終わりに  今回のネタですが、技術ネタでなくてごめんなさい。5月は技術的なことはあま りしてなく、ずっと本を読んでたのでそれに関して書いた次第です。たまに読書 に関してメールなどで質問があるからというのもあります。  今回の記事では超多読法を紹介しましたが、精読派の人に嬉しい知らせがあり ます。近いうちに、WBなどで活躍している人たち(他にもいる)によるオススメ のコンピュータ書籍の紹介本がデータハウスで出ます。実際にプログラムばりば りの人やネットワークに強い人たちも参加しているので、WBの読者の人にも興味 深い内容になると思います。まだ詳細な発売日は決まっていませんが、楽しみに 待っていてください。 x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x --- 第7章:お知らせ --- x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ○Wizard Bible(http://akademeia.info/wizardbible/)では随時、執筆ライタ ーを募集しています。  扱う内容のテーマは広義での「under ground」です。例えば、ハッキングから サリンガスの合成法などと幅広い内容を考えています。また、各種、特殊な職業 や趣味を持った方のレクチャーなども含まれます。  一回きりでも構いません。また、必ず、毎回連載する義務もありませんのでで きる範囲で構いません。気軽に声をかけてください。もちろん一回書いたことが ある人も気軽に声をかけてください(全く気にしていない性格なので)。 ○Kenji AikoさんがQ&Aを作ってくれました。初めて参加する人でもわかりやすく 書かれていますので、参考にしてください。 http://akademeia.info/wizardbible/wbQandA.html ○支援者、参加希望者用のスレッドを立てました。 http://ruffnex.oc.to/ipusiron/cgi/forum/patio.cgi?mode=view&no=17 x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x ---- 第8章:著者プロフィール --- x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x x0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0xx0xXx0x  今回は、各著者によく見る2chのスレやカテゴリーを紹介してもらいました。 ■金床 ●Job: プログラマー ●Web: http://guardian.jumperz.net/、http://www.jumperz.net/ ●Mail: anvil@jumperz.net ●Team(Group):JUMPERZ.NET ●よく見る2chのカテゴリやスレ: ここ数ヶ月はすっかり2chはごぶさたです。と いうことで「よく見る」というわけではありませんが、強いて上げればプログラ マー板、プログラミング板、あとは(食品の)サプリメント関係などでしょうか。 プログラミング板ではJava関係の新しいテクノロジを使っている人たちの感想な どを見て、雑誌などで言われている「凄いテクノロジ」「イノベーション(笑)」 みたいなのが本当に良いものなのか、使えるものなのかを判断する材料にしてい ます。しかし、印象として最近はすっかりノイズが増えたというか、S/N比がひ どくて参考にならないスレが増えましたね。サプリメント関係は比較的S/N比が 高くて気に入っています。2chではありませんが一時期は地元のまちBBSにどはま りしていました。どこのラーメン屋が潰れたとかあそこのパンが旨いとか、ロー カルネタは楽しいですね。最近ずっと見に行っていないので、後で久しぶりにの ぞきにいこうと思います(笑)。 ■Defolos ●Job:Student ●Web:http://scel.fc2web.com/ ●Mail:pan1124@luck.ocn.ne.jp ●Team(Group):none ●Comment:  こんにちは、Defolosです。ピッキングとナイフメーキングとナイフファイティ ングの訓練(最近できてません)、PCが趣味のごく普通の学生です。  今回は更にテクニカルじゃない内容となってしまいました。ピッキング自体も 失敗に終わってしまい、非常に遺憾に思います。次は良いテキストを目指してが んばっていきたいと思います。  結構前になりますが、WEBページを作ってみました。デザインはSurfriderさん のページが素晴らしかったので、真似させていただきました^^; 内容も充実し てるとは言いがたいですが、よかったら覗いてやってください。 ●よく見る2chのカテゴリやスレ:2ch自体見ない  えと、こんなのでいいのかな?(´・ω・`)  基本的に2chは見ませんので、このプロフィールを書くに際し、見てきました。 刃物なんて板があったんですね!驚きです。2chを見るとしたら、刃物板とPC、ネ ット関連の板を見ると思います。という訳で、興味のあるカテゴリ、スレという ことにさせていただきました。 ■Will ●Job:Student ●Web:http://will.wbjapan.com/ ●Mail:Will_net@hotmail.co.jp ●Team(Group): Anti-WMAC ●Comment: 前回の時に、次回はプログラミング関係について書きたいと言っていましたが、 パソコンが故障してコーディングする時間がなかったのでプログラミングつなが りで、Ollyについて書いてみました。次回こそはC#についてでも書いてみるかな …といいながらも無理だなぁと思う今日この頃…。 ●よく見る2chのカテゴリ:???  2chは好きじゃないのであんまり見ません。たまにPCニュースやプログラム板を みるぐらいです。 ■Narusase ●Job: Student ●Web: (裏)雑学の博物館(http://k-o-m.hp.infoseek.co.jp/) ●Mail: narusase@mcn.ne.jp ●Team(Group): N/A ●Comment:  こんにちわ、Narusase(ナルサス)です。前回は個人的な問題で原稿を落として しまい、期待して待っていた方々には申し訳ありませんでした。・・・え、期待して ないって(笑  今回でハニーポットの導入準備が完了し、ようやく次回ハニーポットの本体が 出てくる予定です。  GW中はなんだかんだとこの原稿の作成に追われどこにも遊びに行けませんでし た。最近はmixi(ミクシィ)とかソーシャル・ネットワーキングに興味があるの ですが、招待してくれる方もおらず村八分状態で凹んでいます。と、思っていた ら昨日、師匠から誘いを受けmixiを始めました、mixiやっている方は探してみて ください(笑  そんなわけで、はてなダイアリーとかも始めてみました。不定期更新になると 思うんで探さないでください(汗  サイトの方はまあ、ヘタレな文章と、未熟な技術、ヘボいプログラムを紹介す るサイトということで、暇があったらあら探しでもしてみてください。誤植とか ミスとかはBBSにでも書いてくだされば、こっそり修正しときます(笑 ●よく見る2chのカテゴリやスレ:  実はあんまり2ch行かないんです・・・。しかし、そういう訳にも行かないので何 か見たかなーと考えてみたらひとつありました。就職活動ブラックリストとかの スレです(編注)。・・・というのも、私は今月まで就職活動をしてまして、その関 係でヤバイところを除外するために何回も利用しました。まあ、除外するにはそ の他にも要素はあるんですが、ここの上位にのってるところはハナから考えない ことにしましょう(笑。 【編注】就職カテ(http://money3.2ch.net/recruit/)に「■2005ブラック 就職偏差値ランキング○○■」といったスレがありますが、それです。テンプレ にアカデメイアがあるのは内緒です(笑)。でも、ある意味ブラックリストに載 ってない企業を探す方が大変かも…。 ■Taka John Brunkhorst ●Job: Training Flight Pilot ●Web: http://www.antiwmac.com/ ●Mail: contact[@]antiwmac[.]com ●Team(Group): Anti-WMAC,XlusiveHosting,AXX,EndorphineCoding etc ●Comment:先月はあるものの新規発行などで忙しくすっかりWizardBibleのことを 忘れていました。今回は前回のとはまったく関係のないものとなってしまいまし たがお許しください。  次号はInternet Explaterなどについて書いてみたいと思います(予定)。 ●よく見る2chのカテゴリやスレ:  こちらの2chでは中国語の番組が流されています。カテゴリはドラマです。よく 日本のドラマなどがDual Soundでやっているのでたまに見ます。それ以外は知り ません。 ■IPUSIRON ●Job:サイト更新 ●Web:http://akademeia.info/ ●Mail:ipusiron@ruffnex.oc.to ●Team(Group): ruffnex,h@cksection,backsection ●Comment: 『ハッカーの教科書・完全版』は大体6kと高額なので、こんなの買う人いるの かなと心配してたのですが、思った以上に売れてデータハウスに貢献できて嬉し く思っています。今回のネタでもわかりますが、どの本を読むか迷ったら、どっ ちも読んだ方がいいかもしれません。金銭的につらいときは、図書館に買わせて しまいましょう(笑)。  後、WB18のリリース遅れてしまい申し訳ありませんでした。今回のリリース時 期が大幅にずれてしまったので、次回への間があまりないように感じますね…。  子供の頃、毎月『科学』と『学習』の発売日はドキドキしたものです。WBはネ ット版の『科学』と『学習』のような存在にしたいと思っています。そのために は、多くの人の参加者、また幅広いジャンルの内容、初心者向けの内容から上級 者向けの内容までを必要とします。よって、WBを書いてみたいという人や興味あ る人は、気軽にご相談ください。 ●よく見る2chのカテゴリ:  ロボット板の「素人が1からロボットを作るスレ」や、電子工作板の「使える 100均グッズin電気電子板」スレをよく見てます。セキュリティ板とかは、た まに見るぐらいでほとんど見てません。数学板は学生の頃はたまに見てましたが、 今は全然見てません。  ちなみに、2chブラウザはホットゾヌ使ってます。