問題の予防
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/07/21 13:43 UTC 版)
特に問題とされやすいのは、地域社会との接点を持たない独居老人宅である。これらの人々は経済的・健康面・犯罪に巻き込まれても周囲に助けを求めにくい傾向があるため、この相談相手を身近に持つことは重要である。 この中には老人会のような高齢者コミュニティへの積極的参加や近所付き合いの積極化、あるいは高齢者同士の結婚(再婚)のような新しい形態の家族への参加といった行為も有効だろう。しかし高齢者同士の再婚は老老介護のような問題も派生させかねないため、訪問介護の利用などといった方向性に解決を求めることも出来る。 また訪問介護のようなサービスを必要としない健康な人でも趣味のサークルやボランティア活動など何等かのコミュニティに属することで、日常のちょっとした問題を気軽に相談できる友人を持つことは重要な問題予防の要素となるだろう。
※この「問題の予防」の解説は、「独居老人」の解説の一部です。
「問題の予防」を含む「独居老人」の記事については、「独居老人」の概要を参照ください。
問題の予防
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/11/30 15:41 UTC 版)
「インジェクション攻撃」の記事における「問題の予防」の解説
インジェクション攻撃を防ぐために、以下に挙げるような安全な入出力処理をする必要がある。 適切に利用すれば任意の文字入力に対してセキュアであるようなAPIを用いる。パラメータ化クエリ(コンパイル済みクエリ、プリペアドステートメント、バインド変数などとも)を用いてユーザデータが解釈実行されることを防ぐことができる。加えてクライテリアAPIや類似のAPIを用いることでコマンド文字列を生成・解釈実行するという考え方から解放される。 型システムにより言語間の分離を強制する[要出典]。 既知の適切な値のみをホワイトリスト化するなどの入力バリデーションを行う。 危険な文字をエスケープするなど、入力のエンコーディングを行う。例えば、PHPでは、htmlspecialchars()関数によりHTMLにおけるテキスト中の特別な文字を安全な出力にエスケープしたり、mysqli::real_escape_string()関数によりSQLリクエストに含まれるであろうデータを分離しSQLインジェクションを防いだりする。 出力をエンコーディングし、ウェブサイトの訪問者へのクロスサイトスクリプティング(XSS)攻撃を防ぐ。 HttpOnlyフラグを立てるとクライアントサイドのスクリプトはHTTP cookieの情報にアクセスできなくなり、ある種のXSS攻撃を防ぐことができる。 シェルのモジュールをカーネルから分離する。 SQLインジェクションについては、パラメータ化クエリ、ストアドプロシージャ、ホワイトリスト入力バリデーションなどにより、コードインジェクションの問題を緩和することができる。 上述の解決策は主にウェブのHTMLやスクリプトからサーバサイドアプリケーションへのコードインジェクションについてのものである。しかし、権限昇格攻撃を引き起こすような、計算機上におけるユーザのコードによるインジェクション攻撃を取り扱うには、別のアプローチが必要である。管理されたあるいは管理されていない[訳語疑問点]インジェクション攻撃を検知・隔離するためのアプローチには次のようなものがある。 ランタイムイメージのハッシュ検査 - メモリに読み込まれた実行可能イメージの全部または一部のハッシュを生成し、予め記憶済みの期待されるハッシュ値と比較する。 NXビット - 全てのユーザデータを実行ができないようにした特別な記憶領域に保存する。プロセッサにその領域には一切のコードが存在しないことを伝達し、その領域内のあらゆるデータの実行を拒否させる。 カナリア(英語版) - スタックにランダムに値を配置する。実行時、関数が値を返す際にカナリアの値が確認される。カナリアに変更が加えられれば、そのプログラムは実行を停止・終了する。これはスタックオーバーフロー時などに生じる。 (C言語における) Code Pointer Masking (CPM) - (変更が加えられる可能性のある)コードへのポインタをレジスタに読み込んだ後に、ポインタにマスクをすることで、ポインタが指し示すアドレスを効果的に隠すことが出来る。
※この「問題の予防」の解説は、「インジェクション攻撃」の解説の一部です。
「問題の予防」を含む「インジェクション攻撃」の記事については、「インジェクション攻撃」の概要を参照ください。
- 問題の予防のページへのリンク