【Webセキュリティ対策①】脆弱性とバグ
こんにちは、ペンギン男です🐧
以前、同じ著者のSQLインジェクション関連本をひもときました。分からないなりに、なんとはなく、ニュアンスが伝わってきただけでも、好印象でした↓とにかく、脆弱性とバグが強調された、力の入った作品でした。
penguinotokonoseikatsu.hatenablog.com
ここでは、より総括的にセキュリティが取り扱われています。おそらくは、私では手も足もでないものが多いと思いますで、つまみ食い的な感じのアプローチになろうかと思います💦あと、Linuxあたりが分かっていないと、いろいろ不便なイメージありますが、そういった不便は大前提として進めます💦
体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践
- 作者: 徳丸浩
- 出版社/メーカー: SBクリエイティブ
- 発売日: 2011/03/01
- メディア: 単行本
- 購入: 119人 クリック: 4,283回
- この商品を含むブログ (146件) を見る
出典はアマゾンさん。
そもそも脆弱性って?
P-2
悪用できるバグ
だそうです。同じバグでも、悪用の可否がポイントですね。とは言え、バグとはプログラム中の誤りだそうですが、その中でも、悪用するための攻撃方法が開発されたものなのですね。とすると、ハッカー側の関心や技術によって、内容は常に変化するものなのですね。
https://kotobank.jp/word/%25E3%2583%2590%25E3%2582%25B0-7302
悪用の例
P-2
- 個人情報などの秘密情報を勝手に閲覧する
- ウェブサイトの内容を書き換える
- サイトを閲覧した利用者のPCをウイルスに感染させる
- 別の利用者になりすまし、秘密情報の閲覧、投稿、買い物、送金などを行う
- Webサイトを利用不能にする
- オンラインゲームなどで無敵になることができる、アイテムを好きなだけとれる
- 自分の個人情報を確認したら、他人の個人情報が見えてしまう
脆弱性はバグから生まれるのが大前提だとか。通常のバグが決して特殊ではなく、一般的なものだとすると、脆弱性も身近なのかもしれません💦脆弱性のリスクが常に身近にあるというのは、一度ならず耳にしたことはあるわけですが、改めて解説されると、なかなか恐怖ですね💦しかも、自分だけが被害者であることだけでもキツイのに、ユーザーの方や利用しているネットワークにも悪影響を与える懸念ある点、さらに怖いですね。
P-5
攻撃者は、脆弱性のあるWebサイトの内容を改ざんして、サイトを閲覧した利用者のPCがボットに感染する仕掛けを組み込みます(中略)ボットネットワークは、ネットワーク犯罪者の大きな収入源になっていると言われています
💦💦💦
HTTPの各種メッセージへの慣れ
ネットワークに関して言えば、ブラウザとWebサーバの間の、会話に近いやりとりが頻繁に起こります。そんな中、
- リクエストメッセージ
- レスポンスメッセージ
- ステータスライン
- レスポンスヘッダ
が主な要素だそうです。
Googleがよく「I/O」という表現を使うイメージありますが、InputとOutputのこと。ネットワークに当てはめれば、
Input =(サーバへの)リクエスト
Output= (サーバからの)レスポンス
といったイメージでしょうか。とすると、常に発生するやりとりですね。慣れるしかなさそうです。
リクエストメッセージほか
ネットワーク系のやりとりは、とかく、情報量が多いもの。個人の実感としてもそうですし、書店に並んでいる書籍の異常な厚さからも、容易に想像できます。そんなこんなで、割に情報量が少な目のリクエストメッセージだけ、例を挙げておきます。
例)
GET /31/31-001.php HTTP/1.1
- GET→メソッド。これは、見ての通り、必要となった「リソース」の取得を意味します。
- /31/31-001.php→GETの対象となる「リソース」のURL
- HTTP/1.1→ネットワークが基づいているプロトコルのバージョン
もちろん、リクエスト内容が詳細になると、リクエストメッセージは、どんどんボリュームは増えていくようです。
脆弱性の学習はネットワークの学習
脆弱性の学習を進めると、ネットワークそのものの理解も促進させるイメージがあります。一石二鳥のような、負担大きめのような💦しかし、Webに詳しい方にお伺いする機会あり、デジタルの世界をある程度把握しようとすれば
- プログラミング
- データベース
- ネットワーク
は、ある程度カバーしておく必要あるだろうとおっしゃってました。今、思えば、かなりハードルが高いコメントでしたが、Webのだいたいのイメージを獲得したいのであれば、この三分野を多少なりとも囓っておく必要あるのは、なんとなく分かります💦
#安全なWebアプリケーションの作り方
#セキュリティ
#HTTP
#バグ
#脆弱性