2008-01-06

超訳 つくったものを悪意からまもる十の所作

http://blog.livedoor.jp/dankogai/archives/50979976.html

試訳 - コードをセキュアにする10の作法

セキュアとかいまだに和製単語がないの……? 根付かないわけだわ。

この10の作法みてても、まるっとただのwebコーディングの話しなのであまりピンとこなかった。

つーか、なんか、ほんとはてブってLLな人ばっかりだよね。

せっかくの内容なので、ちと裾野を広げて考えてみたよ。

1.なにをするのか決めましょう

どのような操作をうけつけるのか、どのようなデータをうけつけるのかまず最初に決めましょう。

そして受けとったものをもとになにをしたいのか明確になっているのはもっとも重要なことです。

お金を受け取って商品を返すのか?サービスを返すのか。

お金だって日本円なのかドルなのか。

お金のかわりに注文をうけるだけなんていうのもありますよね。

まず最初に決めておくのが重要なことです。

2.構造に問題があるのかあいての挙動に問題があるのか切り分けしましょう

1で決めたように挙動の想定なしには規定外のデータの受け渡しなどは追うことができません。

想定内以外はすべて想定外に落とすのが悪意から身を守りやすいです。

構造的エラーはtryで括るなり、error procでおとすなりし、

構造エラーが起きたときにどこでどのようなエラーが起きたのかは最低限いつでも追えるようにしましょう。

PHPとかでtryつかってるひといる?)

3匹の子豚の童話をおもいだしてください。

ドアには鍵をかけられるようにして、暖炉には火をともせるようする必要があります。

そしてなによりその前提は建物が頑丈であることです。

3.家を建てるまえに治安を調査しましょう。

その場所に狼が住んでいるのかいないのかは家の設計に大きな影響を与えます。

また狼がいるのがわかったら家を建てる必要があるのか吟味するのはとても重要なことです。

社内のLANで済ませれるシステムをわざわざon Webな設計で建てる必要はありませんよね。

4.窓の数や暖炉の数は吟味してください。

部品が増えれば大工さんの工数は増えますし、住んだあともお掃除が大変です。

家を建てるのにいくら掛かるのか?

そのサイズの家を建てたら家政婦さんにはいってもらわなければならないのか?

家政婦さんがいいのかメイドがいいのか?

庭師をいれなければならない大きさなのか?

警備員を雇わなければいけないのか?

自宅警備員はやくにたつのかたたないのか?

部品がふえるだけで指数関数的に費用が増します。

お財布と相談するのは非常に重要なことです。

本当は1Kで十分なんじゃないですか?

見栄はときに判断を見誤らせます。

もしあなたが建てるのを手伝う側だとしてもお客さんを諭すのは大切な仕事です。

5.最初にためしてみなよ。

家を建てるまえにその地域にすんでみるのも必要です。

甘い言葉に騙されていきなり30年のローンとか抱えないでください。

完成例ばかりに目を奪われると完璧なものばかりに目がいき真似したくなります。

もしあなたが商売を始めようとして、そこに経験がなかったらどうしますか?

路面店を構える前に自転車の後ろに商材つんで売ってみてからでも遅くはないのでは?

最初からすべてを用意しようとすると取り返しがつきません。

「だってみんなやってるよ!」

そういったときに親からなんていわれたか思い出しましょう。

規模に応ずることは非常に重要なことです。

システムキッチンをつかったこともないのに新しく建てようとする家に入れたいのはどうしてですか?

ほんとうに自分にあった家をたてたいのであれば、まずはあれこれ使ってみることが重要です。

まずは小さなモデルをつくってテストしてみてください。

6.火事には気をつけて

あなたのつくった木造の小屋がもし火事になった場合どのような被害を出すか考えておく必要があります。

どんなに頑丈な設計をしていたとしても、地震台風放火など”ありえない”なにかの災害はおきうることです。

そのときにあなたのつくったものはどうなりますか?

まわりの建物に火がまわってしまいませんか?

危険というものはすべてを排除しようとするのは困難です。

もしもの時にそなえる方法はいくつかあります。

火災保険にはいるだけではなく、消火器などを用意して被害を最低限に抑えるということも重要になります。

数千円の消火器で家の全焼が防げるならコストパフォーマンスは悪くないですよね。

Hedgeとassessmentは別々(並列)にもうけることができる性質のものです。

ヘッジばかりで満足していませんか?

あと、風の強い日に焚き火をしないとか、そういうわきまえも大切ですよね。

(risk deterって言葉ないね? こーゆーのなんていうん?)

7.なにかがおきてしまったら

割られてしまった窓ガラスはさらにわられないために早めに直しましょう。

できるだけ早く「対応した」と見せかけるだけで大きな効果があります。

次なる悪意から身を守る術はできるだけ早い対処です。

8.定期的に補修してください

検収さえのりきって瑕疵責任だけまぬがれるような糞システムねじこんだらいいやとおもってるから、いつまでたっても糞なんだよだぼがぁあ!!

・・・ゴホン。

失礼しました。

つくったものは古くなります。

建物の場合だってニスを塗り替えるだけで経年劣化は相当防げます。

そのために既成関数などをラップ関数差し替えて最初に書いておくのも実はメンテナンス効率をあげる手段だとおもいます。

言語仕様がかわったときとかも対応がらくちんだよ。

9.盗られたら大変なもんはおくな

財産を引き出しに入れておくとか、そういうことはしてはだめですよ。

個人情報だってそもそも集めなければ取られる必要がありません。

不必要なものを保持しておくのは初期費用も保守費用も莫大に押し上げます。

使用用途ができてからでも遅くはありません。

部屋を綺麗にしておきたいなら要らないものは買うな!!

(部屋汚くてごめんなさい……。)

10.人が書いたものをうのみにするな

成功例、失敗例、参考にするのは非常に有意義なことです。

ですが、その意味もわからず模倣することほど意味もなく危険なことはありません。

あなたがだれかの真似をして飛ぼうとするまえに、自分の足元を確認する必要があります。

あとで読むとか、必読とか、タグをうつのは自由です・・・。

でも自分と他人というものは違います。

相手がどんなものであれ、それをもとに自分を磨かなければ意味がありません。

また相手がどんな体験をしたのであれ自分を磨くことの役に立てることはできます。

人のせいにするのは簡単な事です。×××でよんだから、×××で見たから。

でも、そもそもこの記事だって猫が偶然キーボードの上で暴れて書いたものかもしれないのですからニャー。

参考文献

うるおぼえ脳内より

キーワード

日本円を受けるところでインドルピーうけてちゃレートもわからなければ偽札も区別できないよ!

リスクアセスメント(リスクアクセスメントだと思ってたのは内緒

テストファースト

ブロークンウインドウ理論

未病

やずややずや

いいえケフィアです

みんなってダレ?

ヨソはヨソ、ウチはウチ。

炎上

全焼

火の用心!

いいえ、あなたの心です

他山の石

増田ねこ

  • 超訳 つくったものを悪意からまもる十の所作は、ものづくり全体の話に一般化したんだね。 一方元エントリは、ソフトウェアシステムをつくるうちの、コーディングという段階だけに限...

記事への反応(ブックマークコメント)

ログイン ユーザー登録
ようこそ ゲスト さん