エンジニアが1年で学ぶ13個のこと後半です
⑩Webセキュリティ
セキュリティに関する事件が増えているため研修として取り入れる企業が多い。
ハッキングとは
コンピューターシステムへ不正にアクセスし、データの改ざんや個人情報の入手などを行うこと
クラッキングとは
企業のシステムなどに不正侵入し、情報を盗み出したり、データを改ざんしたり、システムを破壊すること
攻撃手法
XSS(クロスサイトスクリプティング)
・Webサイトの脆弱性を利用し、記述言語であるHTMLに悪質なスクリプトを埋め込む攻撃のこと
・サイトに設置されたフォームにユーザーが情報を入力・送信する際に、埋められた悪質なHTMLスクリプトが実行され、入力された情報に加えCookie情報なども攻撃者に送られる
<攻撃手法>
①攻撃者は、入力フォームにスクリプト付のリンクを含む内容を入力してWebアプリケーションに罠を仕掛ける(例:掲示板サイト)
②訪問者が該当のWebアプリケーションを利用
③リンクをクリックしてスクリプトが実行されると、別のWebサイトに遷移(クロスする)して悪意のある内容(スクリプト)が実行される
CSRF(クロスサイトリクエストフォージェリ)
・Webアプリケーションの「セッション管理」機能に潜む、セキュリティ上の欠陥を狙ったサイバー攻撃の一種
・ユーザーのログインしたセッションIDを悪用し、当人になりすまして不正リクエストを送信
・Webアプリケーション上で不正な操作を行う
<攻撃手法>
①ユーザーがWebアプリケーションに通常通りログインする
②Webアプリケーション側が、ユーザーがログインした状態でセッションIDを発行
③ユーザーは、ログアウトせずWebアプリケーションを閉じる(ログイン状態を維持)。攻撃者は「あらかじめ用意した罠サイト」へ、メールやSMSなどを使って、ユーザーを誘導
④ユーザーが罠サイトにアクセスしてしまう
⑤罠サイトでリンクのクリックなどを行うことにより、攻撃者の仕込んだ「不正なリクエスト」がWebアプリケーションに送信される
⑥Webアプリケーション側は不正なリクエストを処理してしまい、ユーザーが意図しない処理(不正送金や購入など)が実行されてしまう
SQLインジェクション
・WebサイトやWebアプリケーションの脆弱性(=弱点)につけこみ「SQL(データベースを操作するための言語)」を用いて、不正なSQL文を「データベース」より、個人情報の窃取やデータ改ざんなどを行うサイバー攻撃手法
<攻撃手法>
①攻撃者が、脆弱性を含むWebアプリケーション・システムを「選定」する
②Webアプリケーション上の入力フォームに「不正なSQL文」を入力し、送信する
③「データベース」へ不正なSQL文が送られ、実行される
④データベースからWebサイトへ、SQLの実行結果が返却される(例:会員すべての登録データを開示してください)
⑤実行結果を悪用し、攻撃者はデータベースに登録された会員情報を窃取をしたり、情報の改ざん・削除などを行うことができる
セキュリティ対策
WAF(Web Application Firewall)
・Webアプリケーションの脆弱性を突いた攻撃へ対するセキュリティ対策方法
・Webアプリケーション内に直接実装するものではなく、Webアプリケーションの前面やネットワークに配置し、脆弱性を悪用した攻撃を検出・低減
・WAFの形態によっては、複数のWebアプリケーションに対する攻撃をまとめて防御することも可能
・WAFは直接管理・改修することができないWebアプリケーションに対策を施したい場合や、Webアプリケーションの脆弱性を修正することが難しい場合に有効
⑪リモートワークマインド
コロナ以降リモートワークを導入する企業が増えたことで、リモートワークのマインド研修を行う企業が増加。
特に新卒の場合は、入社後即リモートワークのため、コミュニケーションの取り方や、情報発信の仕方など、リモートワークマインドの研修の重要性が高い。
逆に採用面接においても、リモートワークへの考え方が問われるケースも。
”リモートワーク、ラッキー!”なだけでは、人柄や仕事におけるスタンスに疑問符がついてしまう可能性あり。
⑫ETL
社内に点在しているデータを統合してBIツールで分析しやすくする考え方が重要。
ETL周辺のツール・製品をAWSの製品群で選定、使い方を理解することが求められる。
ETLとは
・ETLとは
Extract(抽出)
Transform(変換)
Load(格納)
の略で、データ統合時に発生する各プロセスの頭文字をとったもの。
・現在では主にビジネス・インテリジェンス(BI)のために作成されるDWHを構築する時に発生するプロセスとして認知されている
※ビジネス・インテリジェンス(BI)とは
ビジネス分析やデータマイニング、データビジュアライゼーション、データツールやインフラストラクチャ、またベストプラクティスなどを組み合わせて、組織がよりデータに基づいた意思決定を行えるように支援すること
※DWH(Data Ware House)とは
・データを保管しておくデータベース(Database)のこと
・意志決定のため、目的別に編成され、統合された時系列で、削除や更新しないデータの集合体
⑬チーム開発
スクラムを用いてプロダクトを作る手法のこと
※スクラムとは
・アジャイル開発手法の1つで、「アジャイル開発のミニマムセット」と呼ばれるコンパクトなアジャイル開発フレームワーク
・スプリントという一定の期間毎に動くソフトウェアを作る
・要求はプロダクトバックログという優先順位付けされた一覧表に保管される
・各スプリントにおいてその時点での優先順位の高いバックログ項目を基本に、開発チームがスプリント内で開発できる目標を設定する
・スプリント毎にバックログへの項目の追加や優先順位付け、動くソフトウェアの評価はプロダクトオーナーという役割の人が行う
前半・中盤・後半と、だいぶ長くなってしまいました。。
エンジニア採用をする上での知識習得が目的だったので概要だけでしたが、
実務的に覚えるにはもっとたくさんの時間とエネルギーがかかると思うと、
エンジニアはとても大変だな、と
でも改めて、ITの重要性を実感しました
引き続きコツコツと勉強していきたいと思います。