こんばんわ!
本日もCNDの勉強をしていきます!
お付き合いいただけると嬉しいです♪
前回は、ネットワークレベルでの攻撃についてまとめました。
興味ある方は下記を読んでみてください~
今回は第3回「アプリケーションレベルの攻撃」についてまとめていきます!
アプリケーション攻撃用語
SQLインジェクション
一連の悪意のあるSQLクエリを使用してデータベースを直接操作する攻撃
XSS攻撃 (クロスサイトスクリプト)
攻撃者が、他ユーザが閲覧するサイトにスクリプトを注入できるようにする攻撃
ディレクトリートラバーサル攻撃
ソースコードや設定ファイルのようなアクセス制限をさせたディレクトにアクセスして、参照したり利用したりする攻撃
CSRF攻撃
攻撃者が、疑いをもたないユーザのブラウザから悪意のあるリクエストを送信させる攻撃
アプリケーションのDos攻撃
大きな画像、動的な処理を利用し、大量のリソースを消費する要求を何度も行いシステム障害を起こさせる
セッションハイジャック
攻撃者が2台のコンピュータ間の有効なTCP通信セッションを乗っ取り、不正ログイン等を行う
パラメータ改ざん攻撃
WEBサービスを利用している際に、入力した値が攻撃者に置き換えられてしまう攻撃が存在してます。これがパラメータ改ざんの攻撃です。
クライアントとサーバ間に受け渡すデータを書き換える方法が主に使用されています。
これは、XSSやSQLインジェクションを引き起こす可能性があるロジック検証メカニズムの脆弱性を悪用しているのです。
この攻撃で改ざんされる可能性のある情報の例は以下です。
・ユーザ資格情報
・アクセス権
・商品の価格や数量(ECの場合)
SQLインジェクションについて
この攻撃はとても有名で、ITを勉強したことがある方なら一度は聞いたことがあるのではないでしょうか。。
サイト内の実行されやすい箇所は以下です。
・アドレスバー
・申し込みフィールド
最も有効な対策は、プログラミングでSQLを呼び出す際にプレースホルダという置き換えの技法(?)を使用することです。
XSS攻撃について
この攻撃もとても有名なのではないかと思います。
この攻撃で使用される可能性のある技術の例は以下があげられます。
・Javascript
・VBscript
・ActiveX
・Flash
対策としては、入力値に対する検証(サニタイジング)が有効だと思います!
アプリケーションのDOS攻撃について
この攻撃でターゲットとなりやすいものは下記になります。
・CPU、メモリ、ソケット
・ディスクの帯域幅
・データベースの帯域幅
・ワーカプロセス
脆弱となるポイントは下記です。
・環境のボトルネック
・実装の欠陥
・データ検証の不足
・期待値の合理的な使用
まとめ
本日はここまでです。
アプリケーションにも色々な攻撃があるということを学ぶことができましたね!
なのでアプリケーションを作ったりする際は、「できること」に意識するのではなく、「できていけないこと」に意識を向けるといいのではないでしょうか。
ここまで読んでいただきありがとうございました!