5/1(金)〜4(月) の学習ログです(主にvue.jsとセキュリティ)

こんばんは。

家の中で過ごす時間が増えに増え、宅配サービスを利用していたら、外食ばかりだった頃より美味しくて良いものを食べられていることに気づき、自粛が終わってからもこの食生活を手放せなくなりそうな安藤です。

 

最近、ファイナルファンタジー4を始めたのですが、ゲームを進めていて「あ!ここはランダム関数を使って実装したんだな」「ここは、if文を使ってるな」とかプログラミングの視点からゲームの世界を見れて面白いです。

 

さて、学習のログです。

 

5/1(金)

◎Vue.js
<算出プロパティについて>
●算出プロパティ(Computed)の基本
関数によって算出したデータを返すことができるプロパティ
 
●算出プロパティとメソッドの比較
3つ違い
違い①
・computed…プロパティ→ ()不要
・methods…メソッド→ ()必要
違い②
・computed…getter と setter 両方定義できる
・methods…getter のみ定義できる
違い③
・computed…キャッシュされる
・methods…キャッシュされない
巨大な配列を使う際などにパフォーマンスに影響する。
キャッシュされていれば、関数の処理は毎回行う必要はない。
 
◎セキュリティについて
●情報セキュリティの基礎
情報セキュリティとは、情報及びインフラ環境が健全で情報やサービスといった情報資産が盗難・改ざん・破壊といった事象の可能性が低い、もしくは許容範囲内であるもの。
 
●セキュリティの3大要件
・Confidentiality 機密性…第三者から見られないこと
・Integrity 完全性…改ざんされないことを保証すること
・Availability 可用性…正当なユーザーがきちんと使えること
EX) 宝箱には鍵がかかり鍵がないと開けられない(機密性)
中身を入れ替えられていない(完全性)
鍵があればちゃんと開く(可用性)
 
この3大要件を満たすことがセキュリティ要件を満たすこと
その手法は、
・認証
・暗号化
・認可
PKI公開鍵暗号基盤 )など
PKI(Public Key Infrastructure)とは、公開鍵と秘密鍵のキーペアからなる「公開鍵暗号方式」という技術を利用し、インターネット上で安全に情報のやりとりを行うセキュリティのインフラのこと。
 
●セキュリティを構成する要素
・情報資産
・人
・物理
・ネットワーク
・ホスト
・アプリケーション
 
組織が情報セキュリティのために何を行うかを明確にし、またそれぞれの構成要素が、何をどのように、どこまで行うか、といった要件とルールを文書化したもの。
セキュリティポリシーは国の法律・規制に則っていなければならない。
順序) 法律→規制→ポリシー →基準・規格→実践・手順ガイドライン
 
●日本におけるセキュリティ関連の法律(総務省情報セキュリティ関連の法律)
・刑法(第161条の2:電磁的記録不正作出および併用など)
・サイバーセキュリティ基本法
電子署名等に係る地方公共団体情報システム機構の認証業務に関する法律
・電波法
不正アクセス行為の禁止等に係る法律
・有線電気通信法
 
●海外におけるセキュリティ関連の法律・規格
・ISO/IEC27XXX(セキュリティに関する国際規格)
PCI-DSS(クレジットカード業界のセキュリティ規格)
・HIPPA(医療に関するセキュリティの規格)
・Sarbanes Oxley Act (SOX法)
 
セキュリティポリシーを実現するために文書化し、全関係者に公開し、納得させ適切なトレーニングを行うことが大事。
そして、適切にセキュリティレベルが保たれているか定期的に検証し評価しなければならない。
 
●セキュリティの検証と評価
・リスク→情報資産に被害が及ぶ可能性
・脅威→情報資産を危険にさらす事象
脆弱性→情報資産を危険にさらす欠陥
この3つの項目を適切に把握し管理することが大事。
 
式にすると、
・リスク=脅威 +脆弱性+影響度
・脅威 =脆弱性+攻撃
脆弱性を正確に検証・評価することがセキュリティにおいて不可欠なこと。
 
 

5/2(土)

◎Vue.js
●算出プロパティgetter,setterについて
算出プロパティで、getとsetを設定する
次に、テンプレート側で双方向データバインディングを設定する
※parseInt → 整数を返す関数
※Math.ceil → 小数点以下を切り上げる関数
 
●算出プロパティのキャッシュについて
 
 
◎セキュリティについて
●情報セキュリティの防御
3つのフェーズがある
・予防フェーズ → 初期準備およびフィードバックによる設定変更など
・運用フェーズ → 通常運転時におけるセキュリティレベルの維持
・対処フェーズ → インシデント発生時の対応方法
 
1)予防フェーズ
情報資産の選定とラベリング、リスク評価、防御方法の検討
機器が必要ならば、選定・導入、構築・設定
(1)情報資産の選定とラベリング
・守るべき情報資産の基準
・つけるべきラベル
これらは、セキュリティポリシーによって決まっているはず。
Ex) 機密レベル【関係者外秘(開示範囲を明示)、社外秘、その他】
(2)リスク評価
・リスクのレベルを設定する
・リスク要素によるマトリックスでリスクを判断し対応を決める
リスクの構成要素
リスク=脅威+脆弱性+影響
(3)防御方法の検討
リスクを軽減するための方法を検討
・機器の導入
・手順の策定
・人員の検討
・外部委託
・多層防御となっているか(人→物理→ネットワーク→ホスト→アプリケーション→情報資産)
 
人:セキュリティポリシー、手順など
物理:物理ロック、監視カメラなど
ネットワーク:ルータ、F/W(ファイアーウォール)、NIDS(ネットワーク型のIDS)など
※IDS:侵入検知システム(IDS:Intrusion Detection System)
ホスト:OSの設定、パッチ、HIDS(ホスト型のIDS)など
アプリケーション:セキュアプログラムなど
情報資産:暗号化、データ損失防止など
 
防御機器
・ネットワークファイアーウォール
・IPS/IDS
・UTM
・WAF
 
ネットワークファイアーウォール
・ネットワーク境界で出入りする通信情報を管理する
・判断基準はパケットヘッダの情報となる
・あらかじめ定めたルールにおいて制御する
 
IDS/IPS
・IDS ( Intrusion Detection System )
・IPS ( Intrusion Prevention System )
・IDSは侵入の検出のみ、IPSは侵入を検知し防止する。
・ネットワーク監視型とホスト監視型がある
 
UTM(Unified Threat Management)
・複数のセキュリティ検知技術を統合管理する概念、また、その機能を持ったシステム・アプライアンス製品のこと
 
WAF(Web Application Firewall
・Webアプリケーション攻撃検知に特化
・基本的にHTTPリクエストを監視
シグネチャー(署名)ベースが主だが、最近はインテリジェンス(知識)型や学習型もある
 
・攻撃しやすいサーバをあらかじめ設置し攻撃者に攻撃させる
→攻撃の誘い込み、攻撃者の追跡、攻撃者の手法解析、学習機能へのフェードバック
 
2)運用フェーズ
監視、分析、レポーティング、定期的な評価・検証、フィードバック
(1)監視
・インシデントの兆候(アラート・ログ)
・ネットワークに限らない(物理的アクセス)
(2)分析
・誤検知や見落としの排除
・セキュリティレベルの維持
(3)レポーティング
監視、分析をレポーティングする
(4)評価・検証
脆弱性の検証(新たな攻撃、設定不備、新たしい機能の追加)
 
3)対処フェーズ
IH&R( Incident Handling and Response )
・迅速かつ効率的にセキュリティインシデントを特定し、阻止し、回復することが目的
・対応手順または対応するための組織は予め定められていなければならない。
<手順>
(1)対応チームの編成とトレーニン
(2)検出と分析
(3)分類と優先順位付け
(4)通知
(5)封じ込め、根絶と復旧、フォレンジック(法医学の)調査
(6)事後処理
 
5/3(日)
◎Vue.js
●監視プロパティ
監視プロパティは、「ウォッチャ」とも呼ばれる。
特定のデータまたは、算出プロパティの状態を監視して、変化があった時に登録した処理を自動的に実行できるもの。
例えば、検索フォームの値が変わったタイミングで自動的にAjax通信を行って結果を一覧表示するなど。
 
 
◎セキュリティについて
●ハッキングの手順
CEHにおけるハッキングフェーズの区分
※Certified Ethical Hacker : 認定ホワイトハッカー
1)偵察…事前準備
・公開されている情報を中心に収集する。
2)スキャニング…事前準備
・偵察フェーズで得られた情報を元にネットワークやサーバに直接アクセスして情報を収集する。
3)アクセス権の取得…攻撃
・ターゲットのサーバにアクセスをする。脆弱性を攻撃したり、外部への認証機能を利用する。権限昇格もこのフェーズに含まれる。
4)アクセスの維持…攻撃
・サーバに自由にアクセスできるようにする。
5)痕跡の消去…事後処理
・侵入した痕跡を消去し後からの遺跡を困難にする。
 
●攻撃の手法と目的
動機によって目的は変わる
<攻撃のターゲット>
・ホスト → サーバへの攻撃、後処理、マルウェア
・ネットワーク → Dos攻撃、ネットワーク盗聴
・アプリケーション → Webアプリケーション攻撃
 
●ホワイトハッキングの活用
・ホワイトハッカーの持つ知識と技術はセキュリティのあらゆる局面で活用できる。
・注目されるポイントとしては、やはり攻撃者と同等のスキルを持っていること。
・そのスキルが一番活かされるのは脆弱性評価。
脆弱性のフェーズ>
検出→資産の優先順位付け→評価→レポート→軽減・改善→検証
1)検出
・ネットワーク機器の特定
・特定された機器のフットプリンティング
※フットプリンティングとは、攻撃者が攻撃を行う前に攻撃対象となるコンピュータやネットワークに対して弱点や攻撃の足掛かりを得るために行う事前調査のこと。
2)資産の優先順位付け
・検出された機器を識別し優先順位をつける
・検出された機器のリストアップが必要
3)評価
・セキュリティの脆弱性を調査
・攻撃に対する脅威となるか
・新しい攻撃手法に対して
・新しく追加された機能に対して
4)レポート
・検出された脆弱性を報告
5)軽減と改善
・検出された脆弱性に対して、改善するのがベスト、できない場合はリスクを軽減する
6)検証
・検出された脆弱性が解決しているか確認
・検証は評価時と同じ手順(つまり、もう一度攻撃してみる)
 
5/4(月) 
◎Vue.js
●算出プロパティと監視プロパティの比較
どちらも実装できる場合、基本的には、算出プロパティの利用が推奨されている。
理由は、算出プロパティの方がシンプルに記述できるため。
テンプレートの記述は算出プロパティも監視プロパティも共通。
 
●監視プロパティのオプション
・deep … ネストされたオブジェクトも監視
・immediate(即座に、という意味) … 初期読み込み時にも呼び出す
 
 
◎セキュリティについて
●情報収集の手法の分類
1)受動的情報収集
・ターゲットが提供している情報を収集。多くの場合、合法。
2)能動的情報収集
・ターゲットに直接コマンド等を打ち込む。状況によっては、非合法。
 
<偵察>
公開されている情報を中心に収集する
・URL
・ネットワーク情報(IPアドレス、使用しているIP範囲、DNSなど)
・ホームページ
・所在地
・電話番号
・役員名簿
・株式情報
・公開されているメールアドレス
・社員のブログやSNS など
 
<スキャニング>
偵察フェーズで得られた情報を元にネットワークやサーバに直接アクセスして情報を収集する
・ネットワーク内で稼働しているサーバ
・サーバが提供しているサービス
・認証機能の有無
・有効なアカウント
 
●列挙 (Enumeration)
収集した情報の中から攻撃に有効なものを分類してリストアップすること。
<列挙すべき項目>
・生きているIPアドレス
・有効なユーザーアカウント など
 
ex)「ユーザー名が違います」など、不適切なエラーメッセージによって有効なユーザーアカウントが列挙される問題がある。
これは、ユーザー名が違った場合とパスワードが違った場合で表示されるエラーメッセージが違うケース。
このエラーメッセージは「親切なエラーメッセージ」「饒舌なエラーメッセージ」とも呼ばれている。
Webアプリの検査時には、指摘事項となる。
 
さらなるテクニックとしては、有効なアカウントが見つかったら、その有効なアカウントを検索エンジンで検索してみる。
すると、その人のブログやSNSが発見できる可能性がある。そのプロフィール情報から色々な情報を取得することができる。
生年月日や趣味、車のナンバー、出身学校など。
このような情報はパスワードに使われたり、パスワードリマインダー(秘密の質問)に使われていたりする。
 
・これらの情報を、パスワードクラック用の辞書に追加
・有効なメールアドレスの列挙。メールアドレスの「@ドメイン」前はシステムのログインアカウントである可能性が高い。
 
 
5/5(水)0:21 このブログを書き終え、これから投稿です。
どんなことも続けていくことって大変だな、と思います。
一つずつ積み重ねていくと道は開けると信じて引き続き頑張ります。
頑張るよ!
 

学習教材①

Udemy

Vue JS入門決定版!jQueryを使わないWeb開発

中村祐太さん

 

学習教材②

Udemy

情報セキュリティEthical Hacking

阿部ひろゆきさん