はじめまして。26卒新入社員の山口です。
この度、研修の一環として初めてブログを執筆しました。

本ブログは、新卒研修で実施された「情報セキュリティ対策 リテラシー編」および「Pythonプログラミング2 オブジェクト指向編」についての内容となっております。
なお、「Pythonプログラミング2 オブジェクト指向編」についてはタイトルの通りPythonプログラミングの“2″番目の講義となっており、同期の青柳さんが執筆した「Pythonプログラミング基本文法編」を先にご覧いただけると幸いです。

情報セキュリティ対策 リテラシー編

「情報セキュリティ対策 リテラシー編」では、“情報セキュリティの脅威”、“セキュリティの基本”、“日常での対策”、“組織でのマネジメント”の流れで講義が行われました。

以下、講義で学び重要だと感じたことを記載いたします。

情報セキュリティの脅威

  • ランサムウェア

ランサムウェア=身代金要求型マルウェア。
メールのランサムウェア付き添付ファイルや悪意あるWebサイトのリンクなどから感染。感染するとファイルが暗号化され、復元のために身代金を要求されてしまう。感染したPCだけでなく組織ネットワーク上のサーバーにまで被害が拡大する場合もある。

  • ソーシャルエンジニアリング

高度なIT技術を利用せず、人間の心理的な隙や行動ミスにつけこみ、情報を収集すること。
“システム管理者や捜査機関を名乗り機密情報を聞き出す”、“組織の関係者と親しくなり機密情報を聞き出す”、“ゴミ箱をあさる・覗き見・盗み聞き”など、人間の行動や心理を利用して情報を盗まれてしまう。

  • 過失・ミスによる情報漏洩

悪意のない過失やミスが招く情報漏洩。
“業務によりUSBにデータを入れて社外に持ち出したが、出先や移動中にUSBを紛失してしまった”など、わざとやったわけではない情報漏洩。


セキュリティの基本

情報セキュリティとは、“情報資産を安全に守ること”

  • 情報セキュリティのCIA

・Confidentiality(機密性)・・・情報が漏洩しないこと
・Integrity(完全性)・・・情報が改ざんされないこと
・Availability(可用性)・・・情報が必要なときに利用できること

  • セキュリティ対策

情報資産(“個人情報”、“顧客情報”、“製品情報”、“企業イメージ”など)を安全に守るための施策であり、組織のメンバー全員が取り組まなければならない。


日常での対策

  • 環境における対策

・クリアスクリーン、クリアデスク
・電話、会話の内容に気をつける
・書類を放置しない

  • パスワード

・組織のパスワードポリシーを遵守する
・パスワードは長めの文字列にし、様々な文字種を組み合わせる
・推測されやすい単語は避ける
・多要素認証、多段階認証を取り入れる

  • ソフトウェア利用の注意点

・適切なアップデートやセキュリティパッチの適用を行う
・便利でもサポートの終了したソフトウェアは使わない
・便利でも業務上許可されていないソフトウェアはインストールしない


組織でのマネジメント

経営者はセキュリティを経営課題として認識する必要がある。

  • 情報セキュリティマネジメントシステム(ISMS)

情報セキュリティを確保、維持するための組織的な取り組み。
Plan(計画)、Do(実行)、Check(点検)、Act(処置)のサイクルを回すことで継続的改善を図る必要がある。

  • インシデントハンドリング

トラブルが発生した際に取るべき対応。
“検知、連絡受付”→“トリアージ”→“インシデントレスポンス”→“報告、情報公開”
・検知、連絡受付・・・機器からのアラート、サービスや従業員からの連絡など
・トリアージ・・・緊急度や重大度の評価および優先順位の決定など
・インシデントレスポンス・・・事象の分析や影響範囲の調査、対応計画策定および対応実施など
・報告、情報公開・・・メディアや一般に向けた情報公開、監督官庁への報告など

情報セキュリティまとめ

サイバー攻撃などの外部からの悪意ある攻撃に備えることは必要でありとても重要ですが、それと同じくらい組織に属する1人1人がルールを守ることも重要です。“便利だから”、“楽だから”がリスクになることを理解しなければいけません。
ルールを守るという点に関して、「社外での会話にも気をつけること」など一見情報セキュリティとは直接関係ないように感じるかもしれません。私も情報セキュリティというと「サイバー攻撃に対する備え」だと思っていましたが、今回の研修を通して人の言動にも情報漏洩の危険性が潜むことを理解することが出来ました。

配属後、自分自身の言動一つひとつに責任を持ち、セキュリティ意識を高く持って業務に取り組んでいきます!

Pythonプログラミング2 オブジェクト指向編

「Pythonプログラミング2 オブジェクト指向編」では、Pythonのオブジェクト指向について“クラス・インスタンス”、“継承”、“モジュール”の流れで講義が行われました。

こちらについても、講義で学び重要だと感じたことを記載いたします。

クラス・インスタンス

  • オブジェクト指向

オブジェクト=モノをさしており、モノを中心に考えるシステムの作り方のこと。
“属性(データ)”と“操作(何かしらの処理)”で表現され、利用するにはクラスから作成する。

  • クラス

クラスはオブジェクトの定義=オブジェクトの設計図やテンプレートのようなもの。
あくまで設計図であり、具体的な値などは持っておらず、関数のように処理を行うわけでもない。

  • インスタンス

インスタンス=クラス(設計図)を元に生成されたオブジェクトのこと。
こちらは具体的な値を持っている。
生成するには[ 変数 = コンストラクタ(引数, 引数. . .) ]のようにコーディングする。※コンストラクタ=クラス名

  • メソッド

メソッド=インスタンスのできること(機能)。
関数と同じくdef文で定義する。
メソッドを利用するには[ インスタンス名.メソッド名(実引数) ]のようにコーディングする。


継承

  • 継承

継承=あるクラスが持つ属性やメソッドを他のクラスが受け継ぐこと。
継承元になるクラスをスーパークラス、継承先のクラスをサブクラスという。イメージとしては、自動車(スーパークラス)というくくりの中で普通車(サブクラス)やバイク(サブクラス)、トラック(サブクラス)、パトカー(サブクラス)のようなより具体的な機能でくくられているような感じだ。

  • オーバーライド

オーバーライドはスーパークラスから継承したメソッドをサブクラス側で再定義(メソッドの処理を書き換える)すること。イメージとしては自動車クラス(スーパークラス)では“クラクションを鳴らす”というメソッドを定義していたが、パトカークラス(サブクラス)で自動車クラスの“クラクションを鳴らす”と同じメソッド名で“サイレンを鳴らす”というメソッドを定義するといった感じだ。


モジュール

モジュールは関数やクラスなどの定義や文が入ったファイルのことである。
Pythonでは作成したプログラムをファイルに保存しておいて他のプログラムから利用できる。これによってプログラムの可読性や保守性を維持することができる。
Pythonでは「.py」テキストファイルにプログラムを保存するだけでモジュール化できる(モジュール名はファイル名から「.py」を取ったもの)。
利用するには先に[ import モジュール名 ]のようにコーディングし、中の関数などを使用するには[ モジュール名.関数名(引数) ]のようにコーディングする。


Pythonプログラミング2 オブジェクト指向まとめ

プログラミング初心者にとっては複雑で難しいように感じるかもしれません。私も初めは理解が追いつかず困惑しました。確かに使用する関数や変数などをその都度定義してコーディングすることもできます。ですがコードが長くなり、労力もミスも増えるかもしれません。オブジェクト指向を用いて“使えるものは使い回して”効率化することも大切だと思います。

最後に

「情報セキュリティ対策 リテラシー編」および「Pythonプログラミング2 オブジェクト指向編」は、社会人として、エンジニアとして、とても重要な内容だったと思います。
しかし、一度の研修で全てを覚えるのは難しく、覚えても時間が経つと頭から抜けてしまうこともあると思います。
ここで大切なのは“忘れたら調べて思い出す”ことだと考えています。私もこのマインドでこれからの業務に励んでまいります!!

以上、ご覧いただきまして、ありがとうございました!