IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.
ここで述べるのは、脆弱性が生まれにくいWebアプリケーションを構築するために設計段階、あるいはそれ以前の段階で考慮しておくとよい事項の例である。 (1) 開発環境の選択 1) プログラマが脆弱性をつくり易い環境を避ける 今日のWEBアプリケーション開発環境は、プログラミング言語の処理系に加えて、開発フレームワークやコンテンツ管理システム(CMS)、さらに外部のテンプレート言語までを加えた総合的な環境となってきている。 短時日で素早くサイトを立ち上げることを目的として、「軽量言語」と呼ばれる各種スクリプト言語が標準で備えているWEBアプリケーションを手軽に開発するための機能やライブラリをそのまま利用することは悪くない。しかし、その手軽さ故に、セキュリティの観点からは多くの脆弱性を生んできた経緯がある。 例えば、下記の事例が挙げられる。 PHPの4.1以前のバージョンの環境は、「registe
たいていのWEBアプリはユーザ名とパスワードを聞かれて認証を行います。これはちょうど家に鍵をかけるようなもの。それほど重要でない情報のみのサイトならこれで十分ですが、貴重な情報があるとなるとそうはいきません。 この物騒な世の中、鍵ひとつじゃ安心できないわという声も聞こえてきます。最近セキュリティの高いところでは、やれ指紋やら静脈やら虹彩やらで個人を識別して鍵が開くようになってきていますね。WEBアプリにもユーザ名とパスワードの鍵以外に、端末の識別番号を使って認証する方法があります。 さて今日は携帯電話に焦点を当てて、ユーザ名とパスワード+自分の携帯からしかアクセスできないというように変える方法をご紹介。 携帯端末には一台一台に電話番号とは別の個体識別番号があります。この番号を、ユーザがサイトにアクセスしてきたときにプログラムで取得することができます。個体識別番号をサーバ側に保存しておき、認
Webアプリケーションが攻撃者に付け込まれる脆弱性の多くは、設計者や開発者のレベルで排除することができます。実装に忙しい方も、最近よく狙われる脆弱性のトップ10を知ることで手っ取り早く概要を知り、開発の際にその存在を意識してセキュアなWebアプリケーションにしていただければ幸いです。 Webの世界を脅かす脆弱性を順位付け OWASP(Open Web Application Security Project)は、主にWebアプリケーションのセキュリティ向上を目的としたコミュニティで、そこでの調査や開発の成果物を誰でも利用できるように公開しています。 その中の「OWASP Top Ten Project」というプロジェクトでは、年に1回Webアプリケーションの脆弱性トップ10を掲載しています。2004年版は日本語を含む各国語版が提供されていますが、2007年版は現在のところ英語版のみが提供さ
ウェブアプリケーションセキュリティとバッドノウハウ、そしてグッドラッパーの関係 by 金床 ---------------------------------- はじめに ---------------------------------- 筆者はウェブアプリケーション開発者であると同時にセキュリティ技術にも興味がある。自身がSeaSurfers MLというウェブアプリケーションセキュリティをテーマとしたメーリングリストを主催しており、またセキュリティコミュニティに多くの知人、友人がいる。しかし彼らとウェブアプリケーションなどのセキュリティ対策について意見を交換すると、違和感をおぼえることが多い。 彼らは脆弱性の原理についてとても詳しいのだが、以下のような会話が頻繁に発生するのである。 「…つまり原理的に考えて、このようにすればXSSは発生しないんだよ」 「な
基本的に、まともな国際化ライブラリを使っていれば、上記のような不正な文字コードはきちんと処理してくれるはずです。実際、 Opera, Firefox, IE ともに適切にエスケープしてくれました。また、 UCS に変換した後にエスケープ処理を行うことでも対処できるかもしれません。しかし、複数のモジュールで構成されるような規模の大きいアプリケーションでは、そのすべてが適切な処理を行っていると保証するのも、なかなか難しいかと思います。ここはやはり、すべての外部入力に含まれる不正なシーケンスを、水際で正規化するという処理を徹底するのが一番かと思います。 例えば Ruby の場合、不正な UTF-8 コードを検出する最も簡単な方法は、 String#unpack を使って UCS へ変換してみることです(昨日の記事への kazutanaka さんからのはてぶコメントにて、 iconv でも同様なこ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く