Thursday, December 13, 2018

HTTP/2と並列転送/ストリームの多重化

大容量ファイルのダウンロードが帯域を食いつぶし、他の通信を妨害してしまうことをコントロールする。
  • クライアント側のブラウザのほとんどがHTTP/2に対応済み。
  • サーバ側がHTTP/2に対応しているかどうかは、”HTTP/2 and SPDY indicator”というプラグインをクライアント側のブラウザに導入し、サーバのサイトにアクセスすれば右上に青色表示される。未対応なら色なし。
  • サーバーとブラウザの間の通信を、HTTPS による SSL/TLS 通信にする必要がある(ブラウザ側の事情による)。
使用するデフォルトのポート番号はhttpの場合80番、httpsの場合443番。

・HTTP/2の特徴
https://blog.redbox.ne.jp/http2-cdn.html
・HTTP/2 とは?
https://dc.cybertrust.co.jp/ssl/http2.html
・HTTP/2 の概要
https://developers.google.com/web/fundamentals/performance/http2/?hl=ja
・HTTP/2とは(SKY NOTE、2015)
http://skymouse.hatenablog.com/entry/20150221/1424486687
・普及が進む「HTTP/2」の仕組みとメリットとは 2017
https://knowledge.sakura.ad.jp/7734/
https://knowledge.sakura.ad.jp/7735/
・そろそろ知っておきたいHTTP/2の話 2018
https://qiita.com/uutarou10/items/7698ee3336c70a482843

Monday, December 10, 2018

インジェクション攻撃

ウィキペディア

  • 適切に利用すれば任意の文字入力に対してセキュアであるようなAPIを用いる。
  • 型システムにより言語間の分離を強制する。
  • 既知の適切な値のみをホワイトリスト化するなどの入力バリデーションを行う。
  • 危険な文字をエスケープするなど、入力のエンコーディングを行う。
  • 出力をエンコーディングし、ウェブサイトの訪問者へのクロスサイトスクリプティング(XSS)攻撃を防ぐ。
  • HttpOnlyフラグを立てるとクライアントサイドのスクリプトはHTTP cookieの情報にアクセスできなくなり、ある種のXSS攻撃を防ぐことができる。
  • シェルのモジュールをカーネルから分離する。
  • SQLインジェクションについては、パラメータ化クエリ、ストアドプロシージャ、ホワイトリスト入力バリデーションなどにより、コードインジェクションの問題を緩和することができる。
  • ランタイムイメージのハッシュ検査 - メモリに読み込まれた実行可能イメージの全部または一部のハッシュを生成し、予め記憶済みの期待されるハッシュ値と比較する。
  • NXビット - 全てのユーザデータを実行ができないようにした特別な記憶領域に保存する。
  • カナリア - スタックにランダムに値を配置する。実行時、関数が値を返す際にカナリアの値が確認される。
  • (C言語における) Code Pointer Masking (CPM) - (変更が加えられる可能性のある)コードへのポインタをレジスタに読み込んだ後に、ポインタにマスクをすることで、ポインタが指し示すアドレスを効果的に隠すことが出来る。

インジェクション攻撃は3種類ある 2018
https://blog.ohgaki.net/there-are-3-types-of-injection-attack-vulnerability
 コードのインジェクション

  • SQLインジェクション
  • JavaScriptインジェクション
  • OSコマンドインジェクション

 データのインジェクション
 リクエストのインジェクション

インジェクション攻撃(通信用語の基礎知識)2008

Monday, December 3, 2018

JavaScript

ウィキペディア

Javaとは全く別物。スクリプト言語。ウェブブラウザ上で動作する。サーバーサイド実行環境や各種ライブラリも充実している。
主要ウェブブラウザの大半でサポートされている唯一の言語。

JavaScriptとは何なのか!初心者向けに徹底解説
https://techacademy.jp/magazine/8801

独学で身につく!入門向けのJavaScript学習サイト20選
https://techacademy.jp/magazine/10372


https://developer.mozilla.org/ja/docs/Learn/JavaScript/First_steps/What_is_JavaScript
・HTML:マークアップ言語
・CSS:スタイリング規則の言語
・JavaScript:スクリプト言語