徳丸浩氏との長年の議論に終止符 – 論理的/体系的セキュリティとそれ以外

私が長年徳丸さんと議論していることをご存知の方も多いと思います。徳丸さんがなぜ論理的に矛盾する主張、明らかにセキュリティ標準規格/ベストプラクティスに反する主張を繰り返えしたのか、その理由が判明しました。それと同時に長年の議論に終止符が打たれ、徳丸さんの考えを完全に理解することができたと思われます。

徳丸さんがセキュリティ対策製品であるWAF(Web Application Firewall)を販売/推奨しつつ、アプリケーション側のファイアーウォールと言える「入力バリデーション」を「セキュリティ対策ではない」と主張されるのは、ジョブセキュリティやステスルマーケティングの類ではないのか?と思えるほどでした。アプリケーションがバリデーションしなければしないほどWAFの有効性は上がり、WAFが売れるでしょう。「WAFはセキュリティ対策」「アプリのバリデーションはセキュリティ対策ではない」としている方がWAFを売りやすいからです。

徳丸さんにもこのブログを書いたことを連絡し、もし誤解している部分があるのであれば反映したいと思います。これから紹介するように論理矛盾が明らかになった直後、今後議論をされないことを表明されましたが、この長いブログでも手法や論理的矛盾の誤りを指摘し尽くしていないので議論いたします。徳丸さん、反論を書かれるようであればご連絡ください。

追記:”原理/原則などに根拠がない”ことが判ったので議論することは無いのですが、IPAが誤りを正した後の2017年に間違ったセキュアコーディングを啓蒙されていました。これは指摘せざるを得ないのでブログに書きました。

科学的に出鱈目なセキュリティ対策で得をするのは、サイバー犯罪者とセキュリティ業者だけす。

TL;DR;

論理的思考で導ける必要条件と十分条件を理解している方にはここで解説している内容は読まずとも理解されていると思います。

“徳丸浩氏との長年の議論に終止符 – 論理的/体系的セキュリティとそれ以外” の続きを読む

謹賀新年 平成27年

謹賀新年 平成27年
謹賀新年 平成27年

新年明けましておめでとうございます!

旧年中に大変お世話になった皆様、本当にありがとうございました。本年もよろしくお願いいたします。

ChatWorkのコピーサイトを調べてみました

ChatWorkをまるごとコピーしたコピーサイトが中国に登場で紹介したように、まるごとコピーしたサイトが現れました。こういうコピーサイトが現れると、内部のソースコードが漏洩したのでは?と不安になる方も居ると思います。調べてみたので参考にして下さい。

ChatWorkの画面
chatwork_capture

コピーサイトのWokingIMの画面
workingim

“ChatWorkのコピーサイトを調べてみました” の続きを読む

PHP逆引きレシピ 第2版

翔泳社さんよりPHP逆引きレシピを献本いただきました。
870ページ以上もある大作です!

PHPを使ってアレがしたい、コレがしたい、といった項目が網羅されています。Webで検索するのも良いですが、私のように詳しく書かない人も多い(?!)ので、PHPでWeb開発している会社さんなら一冊手元に置いておいて損はないと思います。


Facebookのコメントプラグインを追加しました

大量に送信されてくるコメントスパムに対処できなかった為、コメント機能を無効にしていましたがFacebookのコメントプラグインを利用してコメントできるようにしました。このプラグインの導入はとても簡単でした。

https://developers.facebook.com/

にアクセスしてFacebookデベロッパーになり、画面上部の「Apps」メニューからコメントアプリを新規に作成し、

https://developers.facebook.com/docs/plugins/comments/

でページに挿入するコードを生成し、ブログテンプレートの適当な場所にペーストするだけで完了です。

1つだけ問題になったのはサードパーティークッキーです。

普段利用するWebブラウザではサードパーティークッキーを無効にしていたのですが、このプラグインにサードパーティークッキーは必須です。無効な場合、アバターは表示されていてもコメントを保存できません。なぜ「ログインしていない」とエラーになるのか、しばらく考えてしまいました。ご注意ください。

 

徹底攻略 PHP5技術者認定上級試験 問題集

徹底攻略 PHP5 技術者認定 [上級] 試験問題集 [PJ0-200]対応 が手元に届きました。

  

私はPHP技術者認定機構として試験範囲に対応しているか、例として解説されている問題が適切であるか、などを監修者の1人としてお手伝いさせて頂きました。

試験対策本ですが、PHP開発者が自分の知識のチェック、より深くPHPを知るための本としても適していると思います。プログラミングを始めたばかり、PHPを始めたばかりの方にも、既にPHPでバリバリ開発されている方でも、どのレベルまでを習得すれば上級者と言えるのか?目標を定めるガイドラインとしても役立つと思います。

本書はPHPの使い方やPHPを使ったアプリの作り方を学ぶ本ではありませんが、技術者認定試験を受験するしないに関わらず、全てのPHP開発者にお勧めできる本だと思います。

本書はPHPを始めたばかりの方には難しすぎるかも知れません。PHPを始めたばかり方は「PHP公式資格教科書 PHP5技術者認定初級試験対応 (EXPERT EXPASS) 」、「徹底攻略 PHP5技術者認定[初級]試験 問題集 [PJ0-100]対応 (ITプロ/ITエンジニアのための徹底攻略) 」こちらも参考になると思います。PHP開発者として必要な基本的知識を持っているか、確認できます。

 

PHP技術者認定認定試験についてはこちらを参照してください。

http://www.phpexam.jp/summary/

初級認定にくらべ、上級認定はかなりの難関となっています。既に上級認定に合格された方は、論文審査によるウィザード認定にチャレンジしてください。現在、論文を受付中です。まだウィザード認定を受けた方は1人も居ません。最初の認定者となるのは貴方かも知れません。

PHP技術者認定試験はオンライン試験で全国どこでも、何時でも受験できます。上級認定試験を今から受けても間に合います。

 

「PHP徹底構築」を頂きました

廣川類さんが執筆された「PHP徹底構築」を頂きました。3/29日発売らしくアマゾンでも予約受付中の出来たてホヤホヤの本です。書籍イメージも無かったので自分の携帯で撮った写真を載せておきます。

最新版のPHP 5.4にも対応しています。先程届いたばかりなので読むのはこれからですが、内容を簡単に紹介します。

“「PHP徹底構築」を頂きました” の続きを読む

Mac PortでApache/PostgreSQL/MySQL/PHPを使えるように設定する

OSX標準のApache/PHPでPostgreSQLやMySQLを使えるようにしても良いのですが、いろいろカスタマイズしたい場合はMacPortsの方が便利だったりします。インストール手順が古かったりするブログもあったので(手順が抜けているかも知れませんが)最初から書きます。
“Mac PortでApache/PostgreSQL/MySQL/PHPを使えるように設定する” の続きを読む

OSX+Android(Xperia)+オープンソースでテザリング

Xperiaを購入したのでOSXを無料でテザリングする方法探してやってみました。流石にテザリングソフトを購入した方が簡単ですが、一旦環境を作ってしまえば使うのはそれほど手間ではありません。

Wikiに手順をまとめておいたので興味がある方はどうぞ。

必要な物は、Android SDK, Azilink(Android側のVPNアプリ), OpenBlick(Mac OSX用のVPN GUI – openvpnだけでも何とかなるがこれが無いとネットワーク設定が面倒)です。詳しくはWikiを見てください。

制限事項

  • ping はできない(UDP pingでエミュレーションしているため)
  • USB接続(Wifi, Bluethooth接続は無理)
  • 自己責任。パケホーダイなら最大約1万3千円のようですが、スマートフォンの最大金額(約6000円)を超えるかもしれません。自己責任で使用してください

速度は計測していませんが、それほど遅くないような気がします。

同じような手順でLinuxでもテザリングできます。OpenVPNやルーティングテーブルを手動で調整するだけです。

しばらくXperiaを使ってみた感想は、普通にスマートフォンとして使うには良いのではないか、と思いました。時々アプリが落ちたりするのは愛嬌でしょう。iPhoneよりも無料アプリが充実しているので、Androidならとりあえず無料アプリでほとんど何とかなると思います。

弄りたおそうと思ってXperiaを購入した訳ではないので私は特に困りはしませんが、弄り倒したい人にはrootが取れないのは痛いです。テザリングもrootが取れるならWifiのアクセスポイントとしてAndroid携帯を設定する方法が一番便利だと思います。

XperiaがマルチタッチにH/W的に対応していないのは訴訟リスクの回避だとは思いますが、「これをマルチタッチにして実装すれば..」と思える操作がいくつかあります。H/Wだけは対応しておけば良かったのにと思います。

電池の持ちですが、直ぐに自動的にアイドルタスクを終了させるアプリを入れたせいか困る程は消耗しないです。あまり使いすぎると1日は持ちませんが、USBで一応充電できるのでPCと一緒に使っている人なら特に問題とはならないと思います。

追記:
USENのスピードテストでは岡山大学の構内で1.6Mbpsから3.1 Mbps程でした。

「実践iPhoneアプリケーション開発講座」を6月に岡山・高松で開催

iPhone/iPad/iPodアプリ開発のブートキャンプと言える「実践iPhoneアプリケーション開発講座」を6月に岡山&高松でオープンウィンドさんと私の会社で開催します。今回はちょっと高い有料セミナーです。

有料なだけあって至れり尽くせりで、セミナーテキスト500ページ、複数のハンズオンセッションで実際にiPhoneの開発を体験できるセミナーになっています。開発環境からObjective-Cの解説、開発フレームワークの解説からデバッグ手法、実際のアプリ構築を行う4日間の集中講座です。iPhoneアプリ開発にはMacが必須ですが、Macが初めての方でも無理なく受講できる講座になっています。

今売れすぎて手に入らないiPadやiPod touchのアプリはiPhoneアプリと同じ開発手法で開発できます。

個人的には、iPadを使ったスマートな営業支援システム(タッチパネルとワイヤレスキーボード)などは非常に面白いのではと思っています。PCを買うより安く、機能が限定されている分安全で、しかも使い易い、GPSも装備されているので管理者も実績などを管理し易く(される方は大変?)、ある意味最強(?)のSFA端末になるのではないかと思っています。

セミナー会場は岡山駅と高松駅の直ぐ近くです。

岡山会場: ままかりフォーラム   6/1(火) – 6/4(金)

高松会場: サンポート高松  6/15(火)- 6/18(金)

http://www.es-i.jp/seminar/

募集を開始したばかりです。5/1までに申し込みされた方は早期申し込み割引5000円です。募集定員は16名です。受講をご希望の方はお早めに登録してください。

 

「オープンセミナー2009@徳島」 開催のお知らせ

恒例の「オープンセミナー2009@徳島」が10/3(土曜)に開催されます。毎年パワーアップしている無料セミナーです。徳島近郊の方は是非ご参加ください。転載自由です。興味がある方へお知らせ、転送頂けると助かります。

追記:懇親会費が変更されました!4000円→4500円です。ご注意ください。

“「オープンセミナー2009@徳島」 開催のお知らせ” の続きを読む

ブログアプリ(b2evolution)をアップグレード

お願い: 特定のページが文字化けする問題があります。一応確認したのですが残っていた場合、教えてください。(追記:恐らく「ツール」-「いろいろ」-「Delete pre-renderered item cache.」でキャッシュを削除すると文字化けしなくなると思います。これからアップグレードする人は試してみて下さい)

b2evolutionというマイナー(?)なブログアプリを使っています。しばらく、アップグレードを怠っている間にサポート対象のバージョンでは無くなっていたので連休を機会にアップグレードしました。b2evolutionを選択したのは当時入力のバリデーションをしていたブログアプリはこれしか無かった事が理由です。

2.4.xの最終版から3.3.1にバージョンアップしました。非常に簡単でいつもの通り、新しいバージョンのファイルを上書きしてインストールスクリプトを動かしアップグレードを選択するだけです。データが多いと変換に長い時間がかかります。気長に待ちましょう。念のためにphp.iniのmax_execution_timeの設定を確認しておいた方が良いでしょう。変更不可能に設定されている場合、アップグレードに失敗する可能性があります。

このバージョンでは気になっていた部分が改善されているようです。ユーザビリティもWYSIWYGエディがが付いたり最近のブログらしくなっています。細かい機能アップは非常に便利です。画像の場所がエントリの先頭に固定であることを除けば、画像サイズの自動調整も入ったようで、写真や画像を貼る人には便利になっています。添付ファイルも同じようにエントリに添付として付けると先頭にリンクを表示してくれるのではないかと思います。

日本語周りはそのまま利用するには問題が多かったのですが、動作をみる限りでは随分よくなったようです。現状のステイブル版(3.3.1)をインストールして基本の設定ファイル(conf/_basic_config.php)を通常通りに設定すると同時に、ロケールファイル(conf/_locale.php)を少しだけ修正して使っています。ロケールファイルの修正は文字エンコーディング設定を全て”utf-8″に設定しただけです。

この為、もしかすると問題が発生するかも知れません。もし、文字化けなどの問題に気がついた方がいらしたら教えていただけると助かります。

 

余裕がなくて日本語化を全くしないで使っていましたが、今回は日本語ファイルも入れました。

http://blogs.da-cha.jp/momokuri.php/2008/10/13/b2evolution_2-4-5_japanese_message_trans

en-USロケールがデフォルトにしていますが、ja-JPロケールファイルを見てくれるようです。三浦さん日本語ファイルありがとうございます。

b2evolution 3.3は編集が便利になっているので日本語さえキチンと使えればアップグレードする価値はあります。問題は日本語が問題なく使えるか?ですが、まだテストできていません…

追記:

ブラウザの言語設定によってはいつもの、おかしな文字化けが発生するようです。言語設定を色々替えて試してみました。特に問題はないようです。文字化けしている、と勘違いしたのはバリデーションサービスの方の問題でした。コメントからメールを送信してみましたがコンタクトやフィードバックはutf-8で送信しThunderbirdでは読める形で送ってくれました。一応、日本語環境で使う為に大きな不自由はない状態にはなっているようです。

随分長い間放置していた、Linux版Firefoxではテキストボックスとテキストエリアが大きくなる理由を調べてみましたが、Linux版では一文字の幅を全角で計算しているようです。この為、テキストボックスとテキストエリアのcols等の文字数で指定すると横幅が倍になるようです。これ、FAQだったような… Googleの検索ボックスはスキンのCSSで強制的に横幅を設定してしまいましたが、テキストエリアの出力はスキンではないので修正するかどうか迷っています。プログラムの出力を修正するとバージョンアップの度に修正が必用となるからです。