5 ポイント 投稿者 GN⁺ 2024-07-16 | 1件のコメント | WhatsAppで共有
  • コンピュータセキュリティは製品・会議・書籍・法案が増え続ける分野だが、繰り返される失敗の根には Default PermitEnumerating Badness のような誤った基本前提がある
  • 核心的な問題は、「許可するもの」を狭く定義せず、「防ぐべきもの」を際限なく追いかける構造にあり、ファイアウォール・コード実行・ワーム対策で Default Deny を選ばなければ、攻撃者との軍拡競争に陥る
  • 悪いものの列挙は、75,000種以上のウイルスと毎月200〜700件の新たな脅威を追跡する方式であり、実際に必要な30個前後の正常なアプリケーションを管理する Enumerating Goodness より非効率である
  • 脆弱性を見つけてパッチを当てるやり方、ハッキングを格好よく消費する文化、ユーザー教育に依存する戦略は、いずれも設計上の欠陥を減らすより 事後対応 を繰り返すことになる
  • 新技術はすぐに導入するより、待って検証したほうが安全な場合があり、セキュリティ実務者は流行より 常識的な設計 と疑う姿勢を優先すべきである

セキュリティの失敗を生む「反・良いアイデア」

  • コンピュータセキュリティでは新製品、新しい会議、新しい本、新しい法案が次々に登場するが、問題は繰り返される
  • 「愚かなアイデア」とは、良いアイデアの反対側にあるアプローチであり、不可能なことをやろうとしたり、現実を無視したりすると生まれる
  • こうしたアプローチは善意の誤解から出てくることもあれば、手早く金を稼ごうとする、よく包装された製品から出てくることもある
  • 6つのアイデアはよく見かける順に整理されており、とくに最初の3つを避けられるなら、少数の優れたセキュリティ実務者に入ると考えられる

1. Default Permit: デフォルト許可

  • Default Permit は、明示的に禁止していないものをすべて許可する方式であり、ファイアウォールのルールで最も見分けやすい
    • 初期のネットワーク管理者は、入ってくる telnet、rlogin、FTP だけを遮断し、それ以外は許可していた
    • 新しい脆弱性が見つかるたびに、管理者は遮断するかどうかを決めなければならず、侵害される前に追いつく必要があった
    • 1990年代のワーム登場で消えているべきだったが、多くのネットワークはいまも細かな分離のない開放的なコア構造を持っている
  • コード実行でも同じ問題が繰り返される
    • ユーザーがクリックすれば、基本的には何でも実行され、アンチウイルスやスパイウェア対策ソフトが止めた場合にだけ実行が拒否される
    • 実際によく使うアプリケーションは15個程度、ときどき使うものを含めても20〜30個程度なのに、OS はウイルスやスパイウェアの実行をデフォルトで許可している
  • E-banking セキュリティプロジェクトでは逆のアプローチを使っている
    • ロードバランサーが既知の攻撃だけをブラックホールへ送る代わりに、正しい URL の一覧と一致しないすべてのトラフィックを、画像と 404 ページを返すロックされたサーバーへ送る
    • 既知の攻撃だけを止める Default Permit ではなく、正常な構造から外れたリクエストを拒否する方式である
  • 攻撃者との軍拡競争 をしているなら、Default Permit に陥っているサインである
  • 反対概念である Default Deny は、実装への献身、思考、理解を必要とするが、より良いアプローチである

2. Enumerating Badness: 悪いものの列挙

  • Enumerating Badness は、既知の悪いものをすべて一覧化したうえで検知または遮断する方式である
  • 初期には既知のセキュリティホールが少なく、可能に見えたが、1992年ごろからインターネット上の「悪いもの」は「良いもの」よりはるかに多くなった
    • 典型的なアンチウイルス製品は 75,000 種以上のウイルスを把握している
    • 1台の個人用コンピュータにインストールされた正常なアプリケーションは約30個とみなせる
    • 正常なアプリケーション30個を追跡し、それ以外を実行させなければ、スパイウェア、ウイルス、リモート制御トロイの木馬、あまり使われないプリインストールコード実行型エクスプロイトの問題をまとめて減らせる
  • 一部の業界分析によれば、毎月200〜700件の新しい「悪いもの」がインターネットに現れる
  • 企業ネットワークは複雑なので正常なアプリケーションを把握するのは難しい、という反論に対しては、CTO が技術が何をしているか大まかにすら分からないなら、容量計画・災害計画・セキュリティ計画は立てられないと反論している
  • 1994年のファイアウォール製品のログ分析は、最初は悪い条件を探す方式だったが、第2版では Artificial Ignorance を使った
    • 興味がないと分かっているログを捨てる
    • 残ったログを興味深いものとみなす
    • このアプローチは、思いつけなかったはずの運用条件やエラーを検知した
  • アンチウイルス、侵入検知、侵入防止、アプリケーションセキュリティ、ディープパケットインスペクション型ファイアウォールは、この方式に頼ることが多い
  • 定期的な シグネチャ更新 が必要だったり、初見のワームを通してしまったりするシステムは、Enumerating Badness の兆候である
  • 治療法は Enumerating Goodness だが、OS にはこうしたソフトウェアレベルの制御を支える仕組みがほとんどないと見ている

3. Penetrate and Patch: 侵入してパッチを当てる

  • Penetrate and Patch は、外部からファイアウォール・ソフトウェア・Web サイトなどを攻撃して欠陥を見つけ、その欠陥を直したうえでまた探すという循環型の方式である
  • この方式が作るのは、設計上より優れたシステムではなく、試行錯誤で固くなったシステムにすぎない
  • Richard Feynman の Personal Observations on the Reliability of the Space Shuttle は、複雑なシステムの信頼性をどう達成すべきかを示す読み物である
    • 核心的なメッセージは、「ハックできるように設計したシステムでない限り、ハックできてはならない」という考えに近い
  • 脆弱性公開とパッチ更新の流行も、このアプローチに基づいている
    • 脆弱性研究者は、ハッカーより先に穴を見つけて修正させることで共同体を助けていると考える
    • ベンダーは、ハッカーやワーム作成者に悪用される前にパッチを出すので、正しいことをしていると考える
    • しかし、最初から安全で信頼性高く設計されたコードなら、脆弱性発見は退屈で報われにくい作業になる
  • Internet Explorer で10年間、毎月2〜3件のセキュリティバグが出ていたのなら、Penetrate and Patch が有効だったとは言いがたい
  • PostFix、Qmail のような一部アプリケーションは、権限と処理をモジュール化・区画化するよう設計されており、セキュリティバグの履歴が非常に少ないとされる
  • 侵入テストにも同じ限界がある
    • 根本設計やセキュリティ慣行が間違っているネットワークは、何度侵入テストを受けても侵害され続ける
    • 最初から特定方向・特定トラフィック・慎重に構成されたサーバーだけを通すよう設計されたネットワークでは、一般的な侵入テストは無意味になりうる
  • 毎回「今週のバグ」に脆弱なら、Penetrate and Patch に陥っている状態である
  • ソフトウェアとシステムは secure by design であるべきであり、欠陥への対処を念頭に置いて設計されるべきである

4. Hacking is Cool: ハッキングは格好いいという考え

  • Hacking is Cool は、ハッカーにストックオプション、本、講座、高額な侵入テスト報酬を与えたり、美化したりする文化への批判である
  • Donn Parker は、リモートコンピューティングが犯罪における物理的接近の必要性をなくし、匿名性と被害者と対面しないことが犯罪への心理的障壁を下げたと見ている
  • ハッキングは技術的問題というより 社会的問題 に近い
    • インターネットは、社会性に乏しい人々に新しい活動空間を与える
    • セキュリティ実務者がハッカーを英雄化すれば、ハッキングを暗黙に奨励することになる
    • メディアはハッカーを「whiz kids」や「brilliant technologists」として描くことがある
  • セキュリティ実務者がハッキング技術を学ぶことも、このアイデアの一部とみなされる
    • エクスプロイトとその使い方は、その穴がパッチされればすぐ古くなる
    • 専門能力が Penetrate and Patch の軍拡競争に依存することになる
    • ハック可能なシステムを見つける方法より、ハックに強いセキュリティシステムを設計する方法を学ぶほうが合理的である
  • 「Hacking is Cool」は10年以内に消えると予測する一方で、その反対の「Good Engineering is Cool」が置き換わる兆しはないと見ている

5. Educating Users: ユーザー教育

  • Educating Users は、人間に適用される Penetrate and Patch に近い
  • 教育そのものは良さそうに見えるが、効果があるならすでに結果が出ているはずだ
    • いくつもの研究で、相当な割合のユーザーがキャンディ1個でパスワードを渡してしまうという結果があったという
    • Anna Kournikova ワームは、人類のほぼ半分が、やや有名な女性のヌード写真が入っていそうに見えるものなら何でもクリックすることを示す事例として使われる
    • ユーザー教育を戦略にするなら、毎週ユーザーを「パッチ」しなければならないかもしれない
  • 本当の問いは、「ユーザーをもっと安全に教育できるか」ではなく、「そもそもなぜユーザーを教育しなければならないのか」である
    • なぜユーザーは実行ファイル添付を受け取るのか
    • なぜユーザーは、口座すら持っていない銀行からのメールを期待するのか
  • 添付ファイルとフィッシング対策も Default Permit の問題である
    • すべてのユーザーがメール添付を受け取れるようにすると、送られてくるすべてをデフォルトで許可することになる
    • より良い方法として、すべての添付ファイルを隔離し、実行ファイルは削除し、許可したファイル形式だけをステージングサーバーに保存することができる
    • ユーザーは SSL 対応ブラウザでログインしてファイルを取得するようにでき、パスワード要求は多くのワーム拡散メカニズムを即座に弱体化させる
  • MIMEDefang のような無料ツールは、受信メールから添付ファイルを切り離してユーザーごとのディレクトリに保存し、メール中の添付ファイルをその URL に置き換える用途に使える
  • 小規模なセキュリティスタートアップを運営していた当時、Windows を使いたい社員は自分でインストールと管理ができなければならず、そうでなければ採用されなかった
  • 10年以内に、教育が必要なユーザーはハイテク労働市場から脱落するか、競争力を維持するために自宅で自ら訓練するようになると予測している

6. Action is Better Than Inaction: 行動は無行動よりましだという信念

  • IT 幹部は「early adopters」と「pause and thinkers」に分かれ、成功し安全なミッションクリティカルシステムを作ったのは後者に近いと見ている
  • 新技術が出たらすぐ導入するより、待って、ほかの初期導入者の結果を見て、経験者が出てきてから展開するほうが安全な場合がある
    • ある上級 IT 幹部は、企業向け無線ネットワーク導入計画を「2年待った後、自社より大きな会社で無線展開を成功させた人を採用する」と定めた
    • その間に技術はより整理され、価格も大幅に下がる
  • 核心となる補助命題は、「賢いことをするより、愚かなことをしないほうが簡単な場合が多い」というものだ
  • セキュリティのアウトソーシングも1〜2年先送りし、生き残った組織の推薦や意見を聞けという助言が続く
  • 検証なしに大金を使おうとしていた顧客の事例では、関連カンファレンス LISA に社員を送り、実運用経験者を探すよう提案している
    • その社員は、製品経験者を夕食に招いて非公式な評価を聞くことができた
    • 200ドルの夕食代が40万ドル以上の技術的苦痛を減らしたと IT 管理者は語った
  • プロフェッショナルな「カンフー」とは、何もしないことで愚かなことを避け、その回避の功績を上司に認めさせることである

そのほかの小さな愚かさ

  • 「うちは標的ではない」
    • ワームは、Web サイトやホームネットワークが面白いかどうかを判断できるほど賢くない
  • 「みんなが特定の流行のセキュア OS を使えば安全になる」
    • OS は複雑なのでセキュリティ問題があり、システム管理はまだ解決済みの問題ではない
    • 流行に乗って切り替えると、管理者が時間をかけて蓄積する専門性を得にくくなる場合がある
  • 「ホストのセキュリティが十分ならファイアウォールは不要だ」
    • ネットワーク基盤を信頼できないなら、ネットワークを流れるすべてのアプリケーションが潜在的な標的である
    • 例として Domain Naming System が挙げられる
  • 「良いファイアウォールがあるからホストセキュリティは不要だ」
    • ファイアウォールが背後のホストへトラフィックを通すなら、それらシステムのホストセキュリティも考えなければならない
  • 「今すぐ本番に載せて、セキュリティは後でやろう」
    • 今きちんとやる時間がないなら、壊れた後にやり直す時間があるのかと問うべきだ
    • 最初の数日を惜しんだせいで、その後何年も修正し続ける状況になりうる
  • 「たまに起きる問題は防げない」
    • 航空業界が命を預かるのにそんなアプローチを取っていたら、民間旅客機に乗れるだろうかという問い返しにつながる

セキュリティ実務者に求められる姿勢

  • コンピュータセキュリティは、「今週の新技術」に過度に夢中になり、常識を捨ててしまったと見ている
  • セキュリティ実務者の仕事は、通念と現状に疑問を投げかけ、必要なら真正面から挑戦することである
  • 通念が有効なら、システム侵害率は下がっているはずだという問題意識で締めくくられる

1件のコメント

 
GN⁺ 2024-07-16
Hacker News のコメント
  • またこの話をするのか、という感じ: https://hn.algolia.com/?q=six+dumbest+ideas+in+computer+secu...
    この記事には突っ込みどころが多いが、いつも指摘したいのは、Ranum が反対していた脆弱性研究に対する本音だ。90年代末〜2000年代初頭、Marcus Ranum と Bruce Schneier は、脆弱性の公開は利益より害が大きく、外部研究者ではなくベンダーがそれを担うべきだという立場の代表的な論者だった。その見方は結局正しくなかった。2002年には、外部による完全公開型の脆弱性研究を「ハッキング」の下にまとめることもできたが、今ではまったくそうではない。セキュリティ分野の4大カンファレンスはもちろん、暗号学の文献まで攻撃研究を扱っている

    • 当時は彼らが正しかったのかもしれない。過去の判断を後から評価するなら、その時点の証拠を基準に見るべきだ。その後、ネットワークの規模と参加者数が爆発的に増えた
    • セキュリティ分野の「4大カンファレンス」がどこを指すのか気になる
    • 攻撃研究が主要な学会で中心的なテーマになったのは確かだ。その結果、公開後の実際の悪用という負の外部性を継続的に目にしており、ベンダーが学術界の公開に適切に対応する能力や意志を持たない場合も多い。学術界にも改善の余地があり、方向性が逆戻りするというよりは、主要学会が公開による被害を減らすために、より具体的な期待値を置く可能性が高い。たとえば「ベンダー」の範囲を、OS やファイアウォールのベンダーのような緩和を担う主体まで広げる、といった形だ
  • 見落としているのかもしれないが、パスワードの話がないのには驚いた。最小長を除く強制的な文字種ルール、定期変更、「パスワード代替」への試みは、本質的に愚かだと思う。文字種ルールは、紙に書く、同じパスワードを使い回す、末尾に 1 を付けるといった結果を生み、代替手段は UX がひどいか分かりにくく、結局パスワードに戻ってくる。ただ自分で選んだ文字で X 文字以上のパスワードを作らせてくれれば、スマートフォンやコンピュータがなくても、海外にいても、実際に覚えていられる

    • 定期的なパスワード変更は、当時は良い考えだったのかもしれない。数十年前はパスワードを平文で送るなど、セキュリティ慣行が非常に悪く、改善されるまでにも長い時間がかかった。また、パスワードを飴のように気軽に共有する人たちもいる。ここで言っているのはストリーミングアカウントの共有ではなく、組織内の重要なリソースへのアクセス権を同僚と共有することだ。だから、エンドユーザー教育を軽視することには同意しない。一部は技術的に解決可能だが、パスワード共有のような社会的問題は技術だけではうまく解決できない
    • 毎月や2か月ごとの強制的なパスワード変更を推奨しているところは、規制当局の最新のセキュリティ慣行にすら追いついていない場合だ。米国の NIST(https://pages.nist.gov/800-63-FAQ/) と英国の NCSC(https://www.ncsc.gov.uk/collection/passwords/updating-your-a...) はどちらも、そうした要求を含まない、かなりまともなガイドラインを出している
    • このメッセージを何年も言い続けてきた。パスワード生成器は実質的に覚えられない鍵を作り、その結果パスワードマネージャーが生まれ、それらすべてがたった1つのパスワードで保護される。今や単一障害点は1つのパスワードになり、攻撃者がそれを手に入れればすべてのパスワードにアクセスできる。どうせ n 回試行後のロックアウト規則が、ほとんどの場合ブルートフォース攻撃の経路を断つので、そちらの方がはるかに効果的だ。セキュリティ専門家ではないので、複雑で長いパスワードが差を生む場合はあるかもしれないが、多要素認証があれば、この議論の大半は無意味になる
    • パスワードについても言うつもりだったが、今ではパスキーの方が、より愚かなアイデアの候補に見える。平均的なユーザーには終わりのない混乱を生む気がする
    • パスワードポリシーは冗談みたいなものだ。Web サイトを5つ使えば、ポリシーも5つになる。銀行のようなところは特殊文字を「ハッキングの試み」としてブロックするので、Firefox のパスワード生成機能も通らず、ユーザーは回避して suckmyDICK123!! のようなものを入力する。それでもたいていはブルートフォースの処理量が足りないか、5回失敗するとアカウントがロックされるので、そう簡単には破られない。最近では「ボットが超人的な速度でパスワードを試す」くらいのことは多くの人が知っており、どんなパスワードポリシーも悪いパスワード選択を防げない。「責任感のある」人たちが現実を解決しようとして膨大な時間を浪費している例だ。銀行のような機密性の高い1〜2件を除けば、1分だけ遊んだゲーム80本のように無理やりアカウントを要求するサービスには、同じパスワードを使いたくなる。独自 GUI で貼り付けもできないことが多く、パスワードマネージャーを使うこともできるが、わざわざそうする理由がない
  • ハッキングはかっこいいこともある。他人のデータやシステムにアクセスすることではないが、自分が所有するシステムを深く理解し、自分に有利な形で誤動作させる方法を見つけるのはかっこいい。隣家の鍵をピッキングするのは良くないが、自分の鍵をピッキングするのはかっこいいし、リモートのコンピュータを操作して不当なアクセス権を得るのは良くないが、自分のコンピュータに本来できないことをさせるのはかっこいい。可能性の縁を探る姿勢が世界を前に進めるのであって、枠の中にとどまることを称賛した成功した人間社会はほとんどなかったはずだ

    • 犯罪はかっこよくないと言えるが、鍵開け、車の直結始動、武器製作、John the Ripper の実行のような反体制的なことを知っていることには、確かに魅力がある。皆が信じるルールに縛られない、一種の魔法使いになるような効果がある
    • リモートのコンピュータが、ボイスフィッシング組織によって多数の高齢被害者の個人情報を入れるために使われていたなら、許可のないアクセスもかっこいいことがあり得る。そのアクセスで詐欺ビジネスを妨害するなら、とてもかっこよく、笑えることでもある。技術的には違法で、自警団的な正義に当たるだろうが、ここで話しているのは合法性ではなく「かっこよさ」だ。自警団は個人的な正義感で動くとき、たいていかっこよく見える
  • この記事には非常に悪い判断が多い。「自分のシステムは慎重に設計・実装・設定したのだから、テストする必要はない」という趣旨の文は、実際に聞いた中で最悪のセキュリティ観かもしれない。「ハッキングは社会的問題であって技術的問題ではない」という言葉も、隠蔽によるセキュリティに近く、常に社会的問題であるわけでもない。企業スパイ活動や国家主体を見ればそうではない

  • 核心的な問題はたいてい、ユーザビリティ vs セキュリティという不幸なトレードオフであり、ここで愚かなアイデアとして挙げられているものの多くは、平均的なユーザーの不便を減らそうとしてセキュリティを犠牲にした結果である。たとえばデフォルト許可はセキュリティ上最悪で、Windows の多くの問題の原因でもあるが、ユーザーは新しいプログラムごとに明示的に許可しなければならないのを嫌う。Microsoft が確認ダイアログを追加したときも、多くの人はソフトウェアをずっと面倒にした悪い設計だと考えた。だから「デフォルト許可」「悪いものの列挙」「侵入後のパッチ」がデフォルトになったのだ。個人的には、パスワードそのものがセキュリティにおける最も愚かなアイデアの1つだと思う。良いパスワードの定義が、すなわち覚えにくく、まともなキーボードのないデバイスでは入力しにくく、ユーザーにとってほぼあらゆる面で不便なものだからだ。しかし現実的な代替案もない。メールリンクはメールへのアクセス権が奪われれば全部奪われるし、パスワードリセットもたいてい同じだ。物理認証デバイスは、ユーザーが外出先でログインできなかったり、アクセサリを常に持ち歩かなければならなかったりする。ほぼすべての方式が良いセキュリティ習慣を要求するが、人口の99.9%はほとんど関心がない

    • その洞察からパスキーが生まれ、シングルログインと二要素認証だけでログインする要素を備えている。Apple はクラウド同期パスキーを完全に統合しており、Apple デバイスではデバイス内で、Apple デバイスを持っていれば二要素認証だけで動作する。Chrome もパスキーとして機能でき、BitWarden も可能だ。だまされず、迂回できず、プロバイダーを選べて、サイトが登録したプロバイダー名を知らせてくれるので、覚えることもない
    • 評判の良いブラウザベースのパスワードマネージャーを強力なパスワードで保護し、覚えるつもりのない強力なパスワードを生成させる方式を勧める。パスワード入力欄で JavaScript によってこれを妨げる Web サイトは、損害賠償と加重罰を負うべきだ。特に銀行だ
    • パスワードは長い間、良いアイデアだった。最初の10年、場合によっては20年の間は、まともなキーボードのないデバイスは存在しなかった。より大きな問題は、パスワードはランダムな英数字と特殊文字を混ぜ、12文字以上でなければならないといった具合に、複雑で長くあるべきだという考え方で、いくつかの単語を使うほうがよかった。スマートフォン導入以降、技術環境がどれほど変わったかはしばしば過小評価されるが、それ以前のコンピュータやノート PC の環境では、パスワードは良い選択だった
  • 「複数のエクスプロイトと使い方を学ぶのは、すぐにパッチが当たれば古くなってしまうツールや技術を学ぶことに時間を費やすだけだ」という言い方は間違っている。実際には理論とともに実務的側面を学んでいるのであり、非常に有用だ

    • この部分も問題だと思う。読むことを学ばずに作家にはなれない。本を出したからといって、読むことの有用性が下がるわけではない。既知のエクスプロイトがどのように動くかを学んでこそ、未知のエクスプロイトも発見できる。既知の脆弱性がパッチされても、それがどのように発生したかについての知識の価値は下がらない。もう使えないかもしれないが、そもそもそれを使うことが学習の目的ではなかったはずだ
    • 必ずしもそうではない。TCP が何か、HTTP リクエストがどのようなものかをまったく知らないまま、LOIC でサイトを落とす方法だけを知っているスクリプトキディも多い
  • このリストから「ハッキングはかっこいい」を外して、クライアント信頼を入れたい。最近、クライアントを信頼しようとする試みが増えている。モバイルアプリが OS が改変されていないことの証明を要求したり、Google が Web に似たような DRM を入れようとした事例がそうだ。ネットワークセキュリティモデルがクライアントソフトウェアを信頼することに依存しているなら、すでに壊れている

    • それはセキュリティではなく統制の問題だ。改変されたシステムは広告ブロックのような邪悪な目的に使われる可能性があり、Google はそれを好まないだろう
  • 「デフォルト拒否」について「デフォルト許可よりはるかに難しいわけではなく、夜もよく眠れる」とあるが、IT セキュリティ担当者はよく眠れるだろうが、会社のほかの人たちは、何をするにも IT 部門と3往復しなければならず、非常にいら立つ。そして人がいら立つほど、セキュリティの概念を崩す迂回策を使う可能性も高まる。毎月パスワード変更を強制すると、password1password2password3 のようなものを使う、といった具合だ。良い IT セキュリティは単にネットワークケーブルを抜くことではなく、ユーザーにとって魔法のように見えず、邪魔にならないものであるべきだ

    • 友人の部署で非常に重要なベンダーアプリがある時点から動かなくなり、IT にチケットを出したが、複雑すぎたため、最終的に Microsoft のパケットキャプチャを実行する許可を得た。キャプチャしても IT は解決できず、困り果てて私に送ってきた。開発者なので私のノート PC には管理者権限と MSDN があり、Microsoft のツールをダウンロードしてキャプチャを見たところ、そのアプリはローカルマシン内のクライアント/サーバー実装だった。フロントエンドがネットワークポートでバックエンドと通信し、バックエンドがベンダーのサーバーと通信する構造だった。会社が「デフォルト拒否」を始めたことで、私の開発フローもいくつもの形で壊れ、私も IT が知らない迂回策を見つけた。IT に何を伝え、どうホワイトリストに入れればよいかを教えたが、彼はいまだに問題を抱えている。細部をぼかしているのは機密のためだけでなく、友人がこの時点に至るまで IT と1年以上やり取りしており、それが2年前のことなので多くの詳細を忘れているからでもある。レガシーな製造業企業で「デフォルト拒否」を始めると、「追加で3往復」は控えめな見積もりだ
    • もっと多くの IT 管理者がシートベルトとエアバッグをセキュリティモデルにしてほしい。普段車を使うときにはごく小さな不便しか与えないが、事故が起きれば存在価値は非常に大きい。その代わり、多くの管理者は自分の無知と非専門性を隠すために、業務そのものを止めることを普通だと考えている
    • 良い IT セキュリティは見えないものではない。無制限のアウトバウンドインターネットアクセスを要求するひどいアプリケーションの配布を防ぐために存在する。多要素認証を推進し、利害関係者と最初から協力して、開始段階からセキュリティを確保すべきだ。大半はビジネスリスクを特定し、緩和するためのものだ。すべてのアプリケーションが責任要素と見なされ、標準から外れた新しいアプリケーションはケースごとに扱う必要があることを考えてみるべきだ
    • ワークステーション周辺のセキュリティインフラには、「デフォルト拒否」ポリシーは良い考えだと思う。新しいポートなどを使う新しいツールが入ってきたときに IT がセキュリティプロファイルを変更する手間は、特定のワークステーションの内容が流出するコストよりはるかに低い。ただし、アプリケーションサーバーと公開インフラは必ずデフォルト拒否で動作すべきだと思う。そうでなくてもよい状況はあまり思い浮かばない
    • 会社の IT は会社のために存在する。利益よりコストが大きくなってはならない。バランスが必要だ。ポートを1つ開けるのに1週間かかってはいけないが、人々が会社のデスクトップで Web サーバーを動かし、その横に独自の計画ファイルが偶然置かれるようなことも望まない
  • セキュリティ中心の記事はたいてい、セキュリティを極端に重視する人が書いており、純粋なセキュリティ中心のアプローチが安全なソフトウェアの利用者にもたらす不便さを無視しがちです。セキュリティは常に、安全性と利便性のスライダーとして見るべきです。完全に安全な設計は不便すぎて利用者がほとんどおらず、完全に便利な設計も十分に安全ではないため、結局同じ結末に至りかねません。それでもこの記事はおおむね読む価値がありますが、セキュリティ専門家がエクスプロイトを書いてみたり、特定のシステムを悪用する方法を学んだりするのは愚かだという考えには強く反対します。「安全な設計」を学んだことよりも、脆弱性とエクスプロイトを研究し、自分でホワイトハット的に実装してみることで、セキュリティについてはるかに多くを学びました。「敵を知るには敵になってみる必要がある」という言葉に近いです

    • この比喩のほうが受け入れられやすいでしょうが、私はもう少し攻撃的に言うことが多いです。セキュリティばかりを主張する人たちと議論するときは、「一番安全なのは明日店を閉めることでしょうが、それは承認されにくいでしょうね」といった言葉で切り出します。一緒に笑った後で、どんな妥協をするかを話し合えます。また、「ダメだと言うなら、あなた方抜きで進めるだけです。そのときセキュリティは私が入れる分だけになります。方法はいくらでも見つけられるので、より安全な道へ導いてくれると助かります」と基本姿勢を変えさせ、効果があったこともあります。ただし反感を買いやすいので、できれば避けるようにしています
  • これはほとんど、19年前のひどいリストです。「ソフトウェアとシステムは設計段階から安全であるべきで、欠陥への対処まで考慮して設計されているべきだった」というのは、「完璧な世界なら、すべてが最初から安全だったはずだ」という意味です。そんなことは絶対に起きないので、発見後にパッチを当てる手法を使う必要があり、発見された脆弱性を実際に修正し、その失敗から今後のコーディング慣行を学ぶ企業では、うまく機能してきました。また、ほとんどのシステムは静的ではありません。安全なシステムを一度リリースして二度と更新しないわけではなく、ほとんどのアプリケーションやシステムは頻繁に更新され、その際に新しい脆弱性が入り込みます

    • できるだけ好意的に解釈すると、著者が言いたいのは、脆弱性を生んだ誤った設計慣行を直さず、過度に狭く狙った「パッチ」だけを当てる問題のことのようです。たとえば、Webアプリケーションのクロスサイトスクリプティング脆弱性を、scriptonclick のようなキーワードを含むリクエストをブロックすることで「修正」するような場合です
    • 自信満々に愚かなことを言うと、多くの人が賢いと思ってしまうという例です
    • 記事自体も露骨に愚かです。「気弱な人が犯罪者になりうる」という文は、ハッキング、犯罪性、人間の本性をすべて誤解しています。犯罪者は金のあるところへ行きますし、ATMの前で銃を突きつけて金を奪うのに巨体のレスラーである必要はありません。コンピュータを理解するのに典型的なナードである必要もありません。1980年代の最低なコメディ映画から飛び出してきたような愚かさです。「リモートコンピューティングが、犯罪者にとって犯罪現場の近くにいなければならないという歴史的要件をなくした」という主張も意味不明です。郵便が可能にしたことを考えればわかります。スペインの囚人詐欺は数世紀前から存在し、419詐欺と同じ構造です。匿名性や被害者と対面しないことが犯罪の感情的難度を下げるという話も誇張です。犯罪者は顔を見ていても詐欺を働いたり、暴力を使ったり、口座を空にするよう脅したりできます。最後に、「最初から完全に正しくやれ、このバカ」は実行可能な計画ではありません
    • 頻繁な更新は、不適切な工学慣行を覆い隠し、不適切な製品を助長する面が大きいです。世の中は静的ではありませんが、たいていの場合、識別して対処すべきパターンがあります。MVPの迅速な修正から次の迅速な修正へと走り続けていては、その時間を確保できません
    • 価値のある核心もいくつかはありますが、少なくとも半分は、会社の忘年会の終盤に酔った新人ヘルプデスクのインターンから聞かされそうな、気まずい長広舌のように読めます。主題の専門家が書き、20年にわたって自分のWebサイトに載せ続け、しかもこれほど多く推薦されてきたというのは驚きです