タグ付けされた質問 「security」

アプリケーションのセキュリティとソフトウェアに対する攻撃に関するトピック。このタグを単独で使用しないでください。あいまいになる可能性があります。質問が特定のプログラミングの問題に関するものでない場合は、代わりにInformation Security SEで質問することを検討してください:https://security.stackexchange.com

12
フォームベースのWebサイト認証の決定的なガイド[終了]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 3年前休業。 Webサイトのフォームベースの認証 スタックオーバーフローは、非常に具体的な技術的な質問だけでなく、一般的な問題のバリエーションを解決する方法に関する一般的なガイドラインにも役立つはずです。「Webサイトのフォームベースの認証」は、このような実験に適したトピックです。 次のようなトピックを含める必要があります。 ログイン方法 ログアウトする方法 ログインしたままにする方法 Cookieの管理(推奨設定を含む) SSL / HTTPS暗号化 パスワードを保存する方法 秘密の質問を使う 忘れられたユーザー名/パスワード機能 noncesを使用したクロスサイトリクエストフォージェリ(CSRF)の防止 OpenID 「記憶」チェックボックス ユーザー名とパスワードのブラウザ自動補完 シークレットURL(ダイジェストで保護されたパブリックURL) パスワードの強度を確認する 電子メールの検証 そして、はるかに関する ベースの認証を構成します ... 次のようなものは含めないでください。 役割と承認 HTTP基本認証 私たちを助けてください: サブトピックの提案 このテーマに関する良い記事を提出する 公式回答を編集する

7
Googleがwhile(1)を付加する理由 彼らのJSON応答に?
Googleが付加する理由 while(1);(プライベート)JSON応答をするのですか? たとえば、Googleカレンダーでカレンダーをオンまたはオフにしたときの応答は次のとおりです。 while (1); [ ['u', [ ['smsSentFlag', 'false'], ['hideInvitations', 'false'], ['remindOnRespondedEventsOnly', 'true'], ['hideInvitations_remindOnRespondedEventsOnly', 'false_true'], ['Calendar ID stripped for privacy', 'false'], ['smsVerifiedFlag', 'true'] ]] ] これは人々がそれをするのを防ぐためeval()だと思いますが、あなたが本当にしなければならないことはwhile、それを交換するだけです。評価の防止は、人々が安全なJSON解析コードを書くようにすることだと思います。 私も他の場所のカップルで使用される、これを見てきましたが、より多くのようにグーグル(メール、カレンダー、連絡先など)とは不思議なことに、Googleドキュメントは、で始まる&&&START&&&代わりに、とGoogleコンタクトを開始するようですwhile(1); &&&START&&&。 何が起きてる?
4077 javascript  json  ajax  security 

17
パスワードの文字列よりもchar []が推奨されるのはなぜですか?
スイングでは、パスワードフィールドには持っているgetPassword()(リターンchar[]の代わりに通常の)方法getText()(リターンString)メソッドを。同様に、Stringパスワードの処理に使用しないという提案を見つけました。 Stringパスワードに関して、なぜセキュリティを脅かすのですか?使い勝手が悪いchar[]です。
3422 java  string  security  passwords  char 

28
PHPでSQLインジェクションを防ぐにはどうすればよいですか?
この質問の答えはコミュニティの努力です。この投稿を改善するには、既存の回答を編集してください。現在、新しい回答や相互作用を受け入れていません。 OverаэтотвопросестьответынаStack Overflowнарусском:КакимобразомизбежатьSQL-инъекцийвPHP? ユーザー入力を変更せずにSQLクエリに挿入すると、次の例のように、アプリケーションがSQLインジェクションに対して脆弱になります。 $unsafe_variable = $_POST['user_input']; mysql_query("INSERT INTO `table` (`column`) VALUES ('$unsafe_variable')"); これは、ユーザーがのようなものを入力できvalue'); DROP TABLE table;--、クエリが次のようになるためです。 INSERT INTO `table` (`column`) VALUES('value'); DROP TABLE table;--') これを防ぐために何ができますか?

26
後でプレーンテキストを取得するために、ユーザーパスワードの保存に倫理的にどのように取り組みますか?
ロックされています。質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答や相互作用を受け入れていません。 私はますます多くのWebサイトとWebアプリケーションを構築しているので、ユーザーに問題が発生した場合(またはパスワードリンクを忘れた場合にメールで送信するか、電話など)私はこの慣習に対して激しく戦うことができ、実際のパスワードを保存せずにパスワードのリセットと管理支援を可能にするために、多くの「追加の」プログラミングを行います。 私はそれと戦うことができない(または勝つことができない)ときは、少なくとも何らかの方法でパスワードを常にエンコードして、少なくともデータベースにプレーンテキストとして保存されないようにします。ただし、DBがハッキングされた場合は、犯人がパスワードを解読するのにそれほど時間はかからないので、私は不快になります。 完璧な世界では、人々はパスワードを頻繁に更新し、多くの異なるサイト間でそれらを複製しません。残念ながら、同じwork / home / email / bankパスワードを持っている多くの人々を知っており、支援が必要なときに自由にそれを私に提供してくれました。私のDBセキュリティ手順が何らかの理由で失敗した場合、私は彼らの経済的破綻の責任者になりたくありません。 道徳的かつ倫理的に私は、たとえ一部のユーザーにとって、彼らがはるかに少ない敬意でそれを扱っているとしても、彼らの生計を保護する責任があると感じています。ソルティングハッシュとさまざまなエンコーディングオプションについては、多くの方法と議論の余地があると確信していますが、それらを保存する必要がある場合、単一の「ベストプラクティス」はありますか?ほとんどすべての場合、PHPとMySQLを使用しています。これにより、詳細の処理方法に違いが生じます。 バウンティの追加情報 これがあなたがしたいことではないことを知っていることを明確にしたいと思います、そしてほとんどの場合そうすることを拒否することが最善です。しかし、私はこのアプローチを取ることのメリットについての講義を探していません。このアプローチを取る場合に取るべき最善のステップを探しています。 以下のメモで、主に高齢者、精神障害者、または非常に若年者向けのWebサイトは、安全なパスワード回復ルーチンを実行するように求められると混乱する可能性があることを指摘しました。そのような場合、それは単純でありふれたものであると思われるかもしれませんが、一部のユーザーは、サービス技術者にシステムを手伝ってもらったり、電子メールで直接表示したりするなど、追加の支援が必要です。 このようなシステムでは、ユーザーにこのレベルのアクセス支援が与えられない場合、これらの人口統計からの減少率によってアプリケーションが妨害される可能性があるため、そのような設定を念頭に置いて回答してください。 皆に感謝します これは多くの議論の中で楽しい質問であり、私はそれを楽しんだ。結局、私は両方ともパスワードセキュリティを保持する(プレーンテキストまたは回復可能なパスワードを保持する必要がない)回答を選択しましたが、指定したユーザーベースがシステムにログインすることも可能にしました。通常のパスワード回復。 いつものように、さまざまな理由で正解としてマークしたい約5つの回答がありましたが、最良のものを選択する必要がありました。残りはすべて+1でした。みんな、ありがとう! また、この質問に投票したりお気に入りとしてマークしたりしたStackコミュニティの全員に感謝します。私は賛辞として100票を投じており、この議論が私と同じ懸念を持つ他の誰かの役に立ったことを願っています。

14
PHPパスワードの安全なハッシュとソルト
現在、MD5は部分的に安全ではないと言われています。これを考慮して、パスワード保護に使用するメカニズムを知りたいのですが。 この質問は、「ダブルハッシュ」は1回だけハッシュするよりも安全性が低いですか。 複数回のハッシュが良い考えかもしれないが、個々のファイルにパスワード保護を実装する方法は?塩の使用を提案しています。 PHPを使用しています。安全で高速なパスワード暗号化システムが必要です。パスワードを100万回ハッシュする方が安全な場合がありますが、速度も遅くなります。速度と安全性のバランスをどのようにして実現するのですか?また、結果の文字数が一定であることを望みます。 ハッシュメカニズムがPHPで使用可能である必要があります 安全である必要があります 塩を使用できます(この場合、すべての塩が同等に良いですか?良い塩を生成する方法はありますか?) また、データベースに2つのフィールドを保存する必要がありますか(たとえば、1つはMD5を使用し、もう1つはSHAを使用)。それはそれをより安全または安全ではないでしょうか? 私が十分に明確でない場合は、安全で高速なパスワード保護メカニズムを実現するために、使用するハッシュ関数と適切なソルトを選択する方法を知りたいです。 私の質問を完全にカバーしない関連質問: PHPのSHAとMD5の違いは何ですか? 単純なパスワード暗号化 キー、asp.netのパスワードを保存する安全な方法Tomcat 5.5 でソルトパスワードを どのように実装しますか



18
REST API / Webサービスを保護するためのベストプラクティス[終了]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 2年前休業。 REST APIまたはサービスを設計するときに、セキュリティ(認証、承認、ID管理)を処理するための確立されたベストプラクティスはありますか? SOAP APIを構築する場合、ガイドとしてWS-Securityがあり、このトピックに関する多くの文献が存在します。RESTエンドポイントの保護に関する情報が少なくなりました。 RESTにはWS- *に類似した仕様が意図的にないことを理解していますが、ベストプラクティスまたは推奨パターンが浮かび上がってきたことを願っています。 議論や関連文書へのリンクは非常に高く評価されます。必要に応じて、.NET Frameworkのv3.5を使用して構築されたREST API /サービスのPOX / JSONシリアル化メッセージでWCFを使用します。

30
APKファイルのリバースエンジニアリングを回避する方法
Android向けの支払い処理アプリを開発していますが、ハッカーがAPKファイルのリソース、アセット、ソースコードにアクセスできないようにしたいと考えています。 誰かが.apk拡張子を.zipに変更すると、解凍してアプリのすべてのリソースとアセットに簡単にアクセスでき、dex2jarとJavaデコンパイラーを使用して、ソースコードにもアクセスできます。Android APKファイルのリバースエンジニアリングは非常に簡単です。詳しくは、Stack Overflowの質問APKファイルからプロジェクトへのリバースエンジニアリングをご覧ください。 Android SDKに付属のProguardツールを使用しました。署名付きキーストアとProguardを使用して生成されたAPKファイルをリバースエンジニアリングすると、難読化されたコードが表示されます。 ただし、Androidコンポーネントの名前は変更されず、アプリで使用されるKey-Valueなどの一部のコードは変更されません。Proguardのドキュメントに従って、このツールはマニフェストファイルに記載されているコンポーネントを難読化できません。 今私の質問は: Android APKのリバースエンジニアリングを完全に防ぐにはどうすればよいですか?これは可能ですか? ハッカーがAPKファイルをハッキングできないように、アプリのすべてのリソース、アセット、ソースコードをどのように保護できますか? ハッキングをより困難または不可能にする方法はありますか?APKファイルのソースコードを保護するには、他に何ができますか?

7
PDOの準備済みステートメントはSQLインジェクションを防ぐのに十分ですか?
私がこのようなコードを持っているとしましょう: $dbh = new PDO("blahblah"); $stmt = $dbh->prepare('SELECT * FROM users where username = :username'); $stmt->execute( array(':username' => $_REQUEST['username']) ); PDOドキュメントは言う: 準備済みステートメントのパラメーターは引用符で囲む必要はありません。ドライバーが処理します。 SQLインジェクションを回避するために本当に必要なことはそれだけですか?本当にそんなに簡単ですか? それが違いを生む場合、MySQLを想定できます。また、SQLインジェクションに対するプリペアドステートメントの使用についてのみ興味があります。このコンテキストでは、XSSやその他の考えられる脆弱性については気にしません。

14
OAuth v2にアクセストークンと更新トークンの両方があるのはなぜですか?
ドラフトOAuth 2.0プロトコルのセクション4.2は、承認サーバーがaccess_token(リソースで自分自身を認証するために使用される)と、refresh_token単にを作成するためだけに使用されるを返すことができることを示していますaccess_token: https://tools.ietf.org/html/rfc6749#section-4.2 なぜ両方あるの?持っていないaccess_token限り、最後だけを作ってみませんか?refresh_tokenrefresh_token

4
mysql_real_escape_string()を回避するSQLインジェクション
mysql_real_escape_string()関数を使用してもSQLインジェクションの可能性はありますか? このサンプル状況を考えてみましょう。SQLはPHPで次のように構築されます。 $login = mysql_real_escape_string(GetFromPost('login')); $password = mysql_real_escape_string(GetFromPost('password')); $sql = "SELECT * FROM table WHERE login='$login' AND password='$password'"; そのようなコードは依然として危険であり、mysql_real_escape_string()関数を使用してもハッキングする可能性があると多くの人々が私に言うのを聞いたことがあります。しかし、私は可能性のある悪用を考えることができませんか? このような古典的な注射: aaa' OR 1=1 -- 動作しない。 上記のPHPコードを通過する可能性のあるインジェクションを知っていますか?

11
認証と承認
Webアプリケーションのコンテキストの違いは何ですか?「auth」という略語がよく見られます。それがために立っていAUTH -enticationまたは認証 -orization?それとも両方ですか?

4
bcryptに組み込みのソルトを含めるにはどうすればよいですか
Coda Haleの記事「パスワードを安全に保存する方法」では、次のように述べています。 bcryptには、レインボーテーブル攻撃を防ぐためのソルトが組み込まれています。 彼はこの論文を引用し、OpenBSDの実装ではbcrypt次のように述べています。 OpenBSDは、カーネルがデバイスタイミングから収集するランダムデータをシードしたarcfour(arc4random(3))キーストリームから128ビットのbcryptソルトを生成します。 これがどのように機能するかわかりません。私の塩の概念では: 保存されているパスワードごとに異なる必要があるため、それぞれに個別のレインボーテーブルを生成する必要があります。 繰り返し使用できるように、どこかに保存する必要があります。ユーザーがログインしようとすると、パスワードの試行が行われ、最初にパスワードを保存したときと同じソルトアンドハッシュ手順を繰り返し、比較します。 Devcrypt(Railsログインマネージャー)をbcryptで使用している場合、データベースにsalt列がないため、混乱しています。ソルトがランダムでどこにも保存されていない場合、ハッシュプロセスを確実に繰り返すにはどうすればよいですか? 要するに、どのようにbcryptは組み込みのソルトを持つことができますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.